Penetrační test desktopové aplikace
Penetrační test desktopové aplikace hledá nedostatky, které mohou způsobit ohrožení bezpečnosti koncové stanice i serverů, se kterými aplikace komunikuje. Máme zkušenosti s platformami Windows, Linux i macOS.
Přínosy
Desktopové aplikace, někdy také nazývané tlustí klienti
, stále plní v organizacích klíčovou roli. Jedná se nejčastěji o systémy typu ERP, CRM, účetní aplikace, správu dokumentů a spisové služby.
Bohužel zabezpečení těchto aplikací je často naprosto nevyhovující. Architektura mnoha z nich byla navržena před desítkami let a není tak výjimkou setkat se s řízením přístupu na klientské straně, přímým přístupem k databázovému serveru pod sdíleným technickým účtem, nešifrovanými komunikačními protokoly, zcela nefunkčními autentizačními mechanismy (SSO) a podobně. Tyto nedostatky se bohužel nevyskytují pouze v interně vyvíjených platformách, ale i v komerčně dostupném software.
Mezitímco u webové aplikace by podobné kritické nedostatky odhalil téměř libovolný penetrační test, obecná úroveň metodologie pro testování desktopových aplikací je mnohem nižší. Vzhledem k využití proprietárních komponent a protokolů (narozdíl od otevřených platforem jako je web) je pro posouzení bezpečnosti klíčové reverzní inženýrství.
Penetrační test desktopové aplikace doporučujeme provádět minimálně u všech aplikací, kde by byla testována ekvivalentní webová nebo mobilní aplikace.
Průběh testů
Je možné testovat aplikace pro Windows, Linux i macOS.
Předpokladem pro testování je běžný (uživatelský) přístup k instanci desktopové aplikace. To zahrnuje poskytnutí samotné klientské aplikace a síťovou dostupnost serverů, se kterými komunikuje. Pro kvalitu výsledků je klíčové moci podrobit klientskou aplikaci reverznímu inženýrství (lokálně nebo pomocí nástrojů nainstalovaných na poskytnutém operačním systému).
Za těchto podmínek probíhají například následující testy:
Analýza použitého komunikačního protokolu (WCF, SOAP, přímé databázové spojení) se speciálním zaměřením na zranitelnosti vyplývající z deserializace.
Validace autentizačních procesů, zejména v případě implementace SSO.
Prověření metod řízení přístupu a možností jejich obejití.
Vyhledávání
zadrátovaných
(hardcoded) šifrovacích klíčů, přístupových tokenů a jiných tajemství v klientské aplikaci.Hledání zranitelností ve zpracování uživatelského vstupu na straně serveru (injection).
Testování komponent klientské aplikace, které běží s vyššími oprávněními, s ohledem na možnosti lokální eskalace oprávnění.
Analýza implementace serverové strany, je-li k dispozici.
Další typy testů
Desktopová aplikace je často součástí většího systému. Může proto být vhodné zároveň testovat související webové aplikace, mobilní aplikace a API.
Vedle výše popsaných testů poskytujeme našim klientům také mnoho jiných typů penetračních testů – viz Penetrační testování – přehled.
Závěrečná zpráva
Výstupem penetračního testu je závěrečná zpráva, která obsahuje podrobnosti o průběhu testu, popis a klasifikaci nalezených zranitelností a doporučení ke snížení rizika. Zprávu předáváme bezpečně ve formátech MS Word a PDF a výsledky lze prezentovat formou manažerské prezentace nebo technického workshopu.

Vzorová zpráva
Ukázka výstupu pro lepší představu o kvalitě naší práce.
Máte otázky?
Pokud Vás zajímá více detailů, prosím kontaktujte nás.