Penetrační testování desktopových aplikací

Proč se zaměřit na bezpečnost nativních aplikací

desktopove aplikace

Desktopový klient bývá poslední „míle“ podnikové bezpečnosti. Je spouštěn s oprávněními uživatele (v některých případech i administrátora), pracuje s citlivými certifikáty, komunikuje s backendem a jeho kompromitace umožňuje:

Lokální eskalaci oprávnění a získání přístupu k doménovým přihlašovacím údajům

Laterální pohyb v prostředí

Manipulaci business procesů skrze uživatelské rozhraní

Využití důvěryhodného podpisu při šíření malwaru v dodavatelském řetězci

Hlavní cíle testu

01

Odhalit zranitelnosti v binárním kódu a konfiguraci - buffer overflows, DLL hijacking, nekontrolované načítání knihoven, chyby v IPC.

02

Prověřit mechanismus aktualizací - integrita balíčků, kontroly podpisů, downgrade útoky.

03

Posoudit úroveň zabezpečení OS a EDR - jestli dokáže zablokovat injekční techniky a post exploitační nástroje.

04

Změřit dopad na odolnost organizace - schopnost SOC detekovat a kontrolovat incident, rychlost nápravy.

Fáze penetračního testu desktopové aplikace

1. Sběr informací

Zjišťujeme základní informace o aplikaci - jak je distribuována, jaké používá knihovny a odkud se aktualizuje.

2. Analýza aplikace

Provádíme rozbor, jak aplikace funguje uvnitř, a sledujeme její chování při spuštění. Cílem je pochopit její strukturu a chování.

3. Hledání slabých míst

Testujeme různé vstupy, abychom zjistili, zda aplikace správně reaguje. Tím můžeme objevit chyby, které by mohly být zneužity.

4. Ověření zranitelností

Zjišťujeme, zda je možné chyby skutečně zneužít, například k obejití bezpečnostních omezení nebo získání vyšších oprávnění.

5. Udržení přístupu a další testy

Zkoušíme, jestli je možné v systému zůstat i po restartu a jaké další kroky by mohl útočník podniknout (např. získání přístupů jiných uživatelů).

6. Simulace pohybu v síti

Simulujeme, jak by se útočník mohl pohybovat uvnitř firemní sítě po získání prvního přístupu - např. jak by se mohl dostat k dalším počítačům.

7. Závěrečná zpráva a doporučení

Výstupem je podrobná zpráva s technickým i manažerským shrnutím, hodnocením závažnosti chyb a návrhem, jak je opravit. Po opravách test opakujeme.

Typické zranitelnosti desktopových klientů


  • Nezabezpečené aktualizace – Aplikace stahuje aktualizace bez šifrování nebo ověření původu. Útočník tak může podstrčit upravený instalační balíček se škodlivým obsahem.
  • Nechráněné načítání knihoven – Program načítá důležité soubory z nesprávného nebo nezabezpečeného místa, což může umožnit spuštění škodlivého kódu.
  • Nebezpečná práce s nastavením – Aplikace nesprávně zpracovává konfigurační soubory, což může vést k tomu, že se spustí kód, který tam vložil útočník.
  • Slabá izolace částí aplikace – U aplikací postavených na webových technologiích (např. Electron) nejsou jednotlivé části správně odděleny, což může útočník zneužít k průniku do systému.
  • Přístupové údaje v kódu – Důležité přihlašovací údaje nebo klíče jsou pevně uložené v aplikaci, a útočník je může snadno najít a zneužít.

Regulace a souvislosti s DORA


  • Podle čl. 25 DORA spadají penetrační testy desktopových aplikací do povinného basic testing pro systémy podporující zásadní či důležité obchodní funkce.
  • Frekvence: nejméně 1× ročně pro subjekty spadající pod regulaci, případně před každým nasazením nové hlavní verze.
  • Výstupem musí být dokumentované zranitelnosti, plán nápravy a ověření odstranění; výsledky z kritických aplikací mohou být předmětem kontroly dohledu.

Požadavky na testovací tým


  • Reverse engineering expertise – Windows internals, PE struktura, paměťové chyby.
  • Certifikace – např. OSCP, CEH, CRTP nebo eCPPTv2 potvrzující praxi v exploitaci klientských aplikací.
  • Nezávislost – interní tým musí být organizačně oddělen od vývoje; externí musí splňovat kritéria pojištění odpovědnosti a důvěrnosti.

Přínosy pro organizaci


  • Snížení rizika supply chain útoků – proaktivní testování kanálu aktualizací.
  • Posílení obrany na endpointu – ladění konfigurace EDR pro maximalizaci šance odhalení reálných technik, taktik a procedur (TTPs).
  • Zlepšení secure coding procesů – vývoj získá PoCs k identifikovaným zranitelnostem a vzory záplat pro daný typ zranitelností.
  • Plnění regulatorních očekávání – pro banky a pojišťovny jasný důkaz „security by design“ před dozorovými orgány.

Proč spolupracovat s BDO?


BDO poskytuje penetrační testování desktopových aplikací jako součást širší strategie zabezpečení softwarových řešení a ochrany kritických business funkcí. Testy realizujeme v souladu s požadavky evropské regulace DORA, doporučeními NIS2 i osvědčenými bezpečnostními standardy, jako jsou OWASP MASVS, NIST SP 800-115 nebo OSSTMM.

01 Znalost regulatorního rámce

Rozumíme požadavkům DORA i NIS2 a umíme testy přizpůsobit tak, aby výstupy byly využitelné při dohledu i auditu. Pomáháme nastavit testovací strategii a zajišťujeme její soulady s ostatními typy testování (TLPT, penetrační testy).

02  Nezávislost a důvěryhodnost

Jako nezávislá poradenská společnost nabízíme objektivní a důvěryhodné výsledky. Naše práce je signálem kvality pro regulátory i interní vedení klienta.

03  Certifikovaný tým s expertní praxí

Náš tým má hluboké zkušenosti s reverzním inženýrstvím, analýzou binárního kódu a testováním klientských aplikací v prostředí Windows. Využíváme špičkové nástroje jako IDA, Ghidra, Burp Suite, WinDbg či fuzzery (např. AFL++, libFuzzer). Naši specialisté vlastní certifikace OSCP, CRTP, eCPPT, BSCP, CEH, CRT, CPSA, CISSP, CCISO a další. Mají zkušenosti s testováním velkých bank, pojišťoven i ICT poskytovatelů a mají praxi s testováním aplikací pro banky, pojišťovny i poskytovatele e-government služeb.

Hlavní kontaktní osoby

Martin Hořický

Martin Hořický

Partner • Digital Services
View bio
kovalcik

Marek Kovalčík

Chief Information Security Officer • Digital Services
View bio