Co je etický hacking a proč na něm záleží
Etický hacking je systematické a povolené testování bezpečnosti systémů za účelem identifikace zranitelností a jejich zodpovědného nahlášení. Na rozdíl od škodlivého hackingu má jasný mandát, definovaný rozsah a pravidla chování. Cílem je snížení rizika a zlepšení odolnosti – nikoliv senzace či reputační tlak. Klíčovým prvkem je zodpovědné oznamování zranitelností (CVD – Coordinated Vulnerability Disclosure), které nastavuje férová očekávání mezi výzkumníkem, provozovatelem a případně koordinátorem (např. CSIRT/CERT).
Etické a právní pilíře: co odlišuje výzkum od útoku
- Autorizace a souhlas: Testování probíhá na základě explicitního souhlasu nebo VDP (Vulnerability Disclosure Policy) s safe harbor doložkou.
- Nejmenší dopad: „Do no harm“ – minimalizovat riziko výpadku, integritu dat a soukromí uživatelů.
- Proporcionalita: Dokazovat existenci zranitelnosti s nejnižší nutnou intenzitou (žádné zbytečné eskalace nebo exfiltrace).
- Transparentnost a dokazatelnost: Přesná dokumentace kroků, času, prostředí a artefaktů.
- Zachování důvěrnosti: Detaily zranitelnosti se nezveřejňují před opravou nebo před uplynutím dohodnuté lhůty.
VDP, bug bounty a CVD: jak se to liší
- VDP (Vulnerability Disclosure Policy): veřejná politika organizace, jak přijímá hlášení. Nepodmiňuje odměnu, ale obsahuje kontakty, rozsah a „safe harbor“.
- Bug bounty program: motivuje finanční odměnou, stanovuje kvalifikační kritéria, často probíhá na platformě. Není to nárokovatelné právo; pravidla jsou závazná.
- CVD (Coordinated Vulnerability Disclosure): koordinovaný proces mezi výzkumníkem, organizací a případně koordinátorem (CSIRT), včetně časové osy a způsobu zveřejnění.
Rozsah a pravidla hry: před testem, během, po testu
- Před testem: identifikujte cíl, ověřte VDP/ToS, vyžádejte písemný souhlas, dohodněte okna (maintenance windows), zakážete techniky s vysokým dopadem (DoS, volumetrie, sociální inženýrství, fyzický průnik), pokud nejsou explicitně povolené.
- Během testu: logujte čas, IP, nástroje a vysoce rizikové akce; nepoužívejte reálná osobní data; nepokoušejte se o perzistenci ani laterální pohyb mimo dohodnutý rozsah.
- Po testu: zajistěte důvěrné předání nálezů, zničte dočasná data, poskytněte reprodukovatelné kroky a návrhy nápravy.
Minimalistický důkaz konceptu: jak ukázat problém bez škody
PoC má být dostatečný pro reprodukci, ale neškodný. Místo exfiltrace reálných databází použijte:
- čtení neškodného systémového artefaktu (např. verze aplikace),
- vytvoření izolovaného testovacího záznamu s náhodným identifikátorem,
- „echo“ nebo „time“ akce místo spouštění škodlivé logiky.
Při chybě typu IDOR například prokažte přístup k vlastnímu testovacímu záznamu s modifikovaným identifikátorem – bez stahování cizích dat.
Citlivá data a soukromí: červené linie
- Ne shromažďovat PII, zdravotní, finanční a autentifikační tajemství; pokud se náhodně objeví, okamžitě zastavit a nešířit.
- Žádné účty zákazníků pro testování – používejte vlastní testovací identity nebo anonymizované sandboxy.
- Šifrované úložiště a krátké retenční lhůty pro dočasné artefakty; preferujte hashované důkazy (screenshoty bez citlivých polí).
Hodnocení závažnosti: společný jazyk pro prioritu
Pro priorizaci nápravy se používá standardizované skórování (např. CVSS) a klasifikace dopadu:
- Dopad: důvěrnost (C), integrita (I), dostupnost (A), případně soukromí, finanční nebo regulatorní dopad.
- Využitelnost: lokální vs. vzdálený, bez interakce vs. vyžaduje interakci, potřeba autentizace.
- Rozsah: ovlivňuje pouze část systému nebo umožňuje průnik do jiných domén.
Výstupem je srozumitelné odůvodnění, proč je riziko vysoké/střední/nízké a jaké je doporučené „fix window“.
Koordinace a časové osy: jak nastavit očekávání
- Potvrzení přijetí: do 3–7 dní od nahlášení.
- Předběžné zhodnocení: do 14 dnů – kvalifikace, zda je problém reprodukovatelný a v rozsahu.
- Oprava a validace: typicky do 30–90 dní dle dopadu; při aktivním zneužívání rychlejší proces a dočasné mitigace.
- Koordinované zveřejnění: po nasazení opravy, s atribucí výzkumníka a technickým advisory, případně přidělenými identifikátory (CVE).
Komunikační protokol: od prvního emailu po advisory
Kontaktujte security@domena, adresu z VDP nebo formulář. Zpráva má být stručená, faktická, bez sdílení exploitačních detailů přes nešifrované kanály. Vhodná struktura:
- Předmět: „Zodpovědné hlášení zranitelnosti – [název systému] – [krátký popis]“
- Úvod: kdo jste, odkaz na VDP a potvrzení, že respektujete pravidla.
- Stručný popis: kategorie chyby, odhad dopadu, podmínky (autentizace, interakce).
- Kroky reprodukce (stručně): prostředí, endpoint/funkce, minimální PoC (bez citlivých údajů).
- Navrhované mitigace: doporučení na konfiguraci, validaci vstupů, přístupové politiky.
- Kontakty a PGP: preferovaný šifrovaný kanál pro detaily.
Úloha koordinátorů (CSIRT/CERT) a jak pomáhají
Když dodavatel nereaguje nebo jde o vícestranný problém, do procesu vstupuje koordinační tým. Pomáhá s triage, validací, koordinací termínů, případně s publikací advisory. Cílem je udržet rovnováhu mezi zájmem veřejnosti a bezpečným oknem pro opravu.
Bezpečnostní doporučení pro organizace s VDP
- Jasný VDP na vlastní doméně: rozsahy, zakázané techniky, kontakty, PGP klíč, SLA na reakce.
- Safe harbor klauzule: závazek nepostihovat dobrou víru, pokud byl dodržen VDP a výzkumník nezpůsobil škodu.
- Interní triage proces: kdo přijímá hlášení, jak se přiřazují, jak se validují a jak se komunikuje zpět.
- Oceňování: veřejná „hall of fame“, případně odměny; transparentní kritéria kvalifikace.
- Redakce a logování: všechny interní artefakty anonymizujte; chraňte důvěrnost reportu a metadat.
Co do reportu patří a co ne
- Patří: přesný popis problému, dopad, minimální kroky reprodukce, prostředí (verze, konfigurace), důkazy bez PII, návrhy mitigace.
- Nepatří: skeny celé infrastruktury bez souhlasu, dumpy databází, sdílení hesel/tokenů, neověřené hypotézy, marketing nebo podmiňování zveřejněním.
Právní a reputační rizika: jak se jim vyhnout
- Žádné vydírání („pay or publish“). Zveřejnění se koordinuje, nikoliv obchoduje.
- Dodržování zákonů o neoprávněném přístupu a ochraně dat; testujte pouze to, co je povoleno VDP/souhlasem.
- Důkaz dobré víry: úplná dokumentace, šetrný PoC, včasná notifikace, spolupráce při validaci opravy.
Typické třídy zranitelností (bez návodu na zneužití)
- Kontrola přístupu (IDOR, chybějící ABAC/RBAC): přístup k cizím zdrojům bez autorizace.
- Vstupní validace (injekce, nebezpečné deserializace): nekontrolované vykonávání nebo únik dat.
- Konfigurace (tajemství v repozitáři, slabé CORS, veřejné buckety): uniklá klíče, otevřená data.
- Autentifikace (slabé resetovací mechanismy, chybějící rate-limity): převzetí účtů.
- Dodavatelský řetězec (zranitelné knihovny, CI/CD expozice): transitivní rizika.
Proces zveřejnění: technický advisory bez citlivostí
- Obsah: popis problému, postižené verze, vektor, dopad, mitigace, chronologie, atribuce, referenční identifikátory.
- Bezpečnostní bulletin: krátká verze pro administrátory (co aktualizovat, jaké konfigurační kroky provést).
- Embargo: sdílení s partnery (např. výrobci AV/WAF) v omezeném režimu pro přípravu signatur.
Správa důkazů a dohledový řetězec
- Časové razítka, kontrolní součty, podpisy – dokazatelnost bez úniku obsahu.
- Oddělená úložiště pro citlivé a necitlivé artefakty; přístup dle rolí a „need-to-know“.
- Likvidace dočasných dat po ukončení případu; auditní logy přístupu k reportu.
Když dodavatel nereaguje: eskalace bez senzace
- Zdvořilý follow-up a připomenutí VDP lhůty.
- Koordinátor (národní CSIRT/CERT) – nezávislé posouzení a facilitace.
- Informování uživatelů po přiměřené době s praktickými mitigacemi (konfigurace, firewall, vypnutí funkce), stále bez exploitačních detailů, pokud fix neexistuje.
Checklist pro výzkumníka
- Ověřil jsem VDP a mám souhlas/mandát k testování v definovaném rozsahu.
- PoC je minimální a bez zbytečného přístupu k uživatelským datům.
- Dokumentuji kroky, časy, IP a prostředí; ukládám pouze nezbytná metadata.
- Report je strukturovaný, šifrovaný při přenosu a bez PII.
- Respektuji dohodnutou časovou osu a komunikuji profesionálně.
Checklist pro organizaci
- Publikovaný VDP s kontakty, PGP a safe harbor.
- Definovaný triage, SLA na reakce a odpovědnosti (produkt, bezpečnost, právní).
- Bezpečný kanál pro přílohy a PoC (šifrovaná pošta, upload portál).
- Proces patch managementu a komunikace advisory zákazníkům.
- Transparentní oceňování výzkumníků (atribuce, hall of fame, případně bounty).
KPI a metriky kvality zodpovědného oznamování
- MTTA/MTTR: čas do potvrzení a čas do opravy.
- Podíl reprodukovatelných reportů vs. šum; počet odmítnutých pro „out-of-scope“.
- Komunikační disciplína: dodržování SLA, počet eskalací ke koordinátorovi.
- Bezpečnostní dopad: počet incidentů po nasazení advisory vs. před.
90denní plán zavedení programu zodpovědného oznamování
- Dny 1–30: vytvořit a publikovat VDP (rozsahy, safe harbor, kontakty, PGP); nastavit interní triage a šablony odpovědí.
- Dny 31–60: zřídit bezpečný kanál pro reporty, definovat scoring a priority, připravit veřejný formát advisory.
- Dny 61–90: pilotní testy, cvičná simulace příjmu a opravy, spuštění „hall of fame“ a retrospektiva metrik MTTA/MTTR.
Zodpovědné oznamování jako společenská dohoda
Etický hacking funguje jen tehdy, když výzkumníci, organizace a koordinátoři dodržují společná pravidla – jasný mandát, minimální dopad, důvěrnost a koordinované zveřejnění. Správně nastavený proces CVD buduje důvěru, zkracuje dobu do opravy a zvyšuje bezpečnost celého ekosystému bez nutnosti „hrdinských“ kroků či veřejného tlaku.