Modelovanie hrozieb (threat modeling)

Aktualizované Sep 18, 2026

Modelovanie hrozieb je štruktúrovaná analýza toho, čo musí systém chrániť, kde údaje prekračujú hranice dôvery, ako môže dôjsť k zneužitiu a aké kontrolné mechanizmy mu bránia. Pri audite vibe-coded softvéru vytvára z neznámej codebase súbor overiteľných bezpečnostných otázok zoradených podľa priority.

Modelovanie hrozieb poskytuje bezpečnostnej kontrole mapu. Identifikuje cenné údaje a operácie, aktérov, ktorí k nim môžu pristupovať, hranice, na ktorých sa mení dôvera, a nežiaduce výsledky, ktorým musí systém zabrániť. Výsledok smeruje kontrolu a testovanie k dôsledkom namiesto toho, aby sa každý súbor považoval za rovnako dôležitý.

Vytvorenie modelu z pracovného kódu

Vyspelý systém môže mať schémy architektúry a bezpečnostné požiadavky. Vibe-coded produkt nemusí mať ani jedno ani druhé, takže audit rekonštruuje model z trás, dátových úložísk, konfigurácie nasadenia, integrácií a správania pri behu. Kód ukazuje, čomu systém v súčasnosti dôveruje, aj keď toto rozhodnutie nebolo nikdy zdokumentované.

Model má hodnotu iba vtedy, keď zostáva prepojený s implementáciou. Audit vibe-coded softvéru porovnáva každú deklarovanú hranicu s kódom, ktorý ju má presadzovať, a zaznamenáva rozdiely medzi zamýšľaným návrhom a reálne nasadeným systémom.

Prvok modeluOtázka audituDôkaz v kóde
AktívumAké údaje alebo akcie potrebujú ochranu?Modely, skladovanie, kritické operácie
AktérKto alebo čo s tým môže interagovať?Používatelia, služby, správcovia
Vstupný bodAko sa môže aktér dostať do systému?Trasy, úlohy, importy, webhooky
Hranica dôveryKde sa mení dôvera?Identita, sieť, účet, prostredie
KontrolaČo bráni nechcenej akcii?Kontroly, validácia, izolácia, testy

Od hraníc ku konkrétnym kontrolám

Model premieňa všeobecné obavy na overiteľné otázky. Ak treba chrániť záznamy zákazníkov, audit zisťuje, ktoré API endpointy ich čítajú, ako sa identifikuje volajúci, kde sa overuje vlastníctvo a čo sa pri prístupe zaznamená. Tak sa návrh systému prepája s konkrétnymi kontrolami autorizácie v kóde.

Prvý prechod zvyčajne prebieha podľa pevnej sekvencie:

  1. Inventarizujte aktíva: Uveďte citlivé údaje, privilegované operácie, poverenia a služby kritické z hľadiska dostupnosti.
  2. Zmapujte aktérov a vstupné body: Zahrňte externých používateľov, interné nástroje, integrácie, úlohy a identity strojov.
  3. Vyznačte hranice dôvery: Označte, kde údaje menia vlastníka, prostredie, oprávnenie alebo stav overenia.
  4. Popíšte nechcené výsledky: Uveďte, čo sa nesmie čítať, meniť, spúšťať ani prerušovať.
  5. Umiestnite kontrolné mechanizmy: Prepojte každý výsledok s kódom, konfiguráciou a testami, ktoré znižujú riziko.
  6. Zaznamenajte nepokryté cesty: Uprednostňujte medzery podľa následkov a dosiahnuteľnosti.

Prečo generované systémy potrebujú rekonštrukciu

Jednotlivé vygenerované funkcie môžu samy osebe dávať zmysel, no spoliehať sa na odlišné predpoklady. Jeden endpoint dôveruje relácii z frameworku, druhý prijíma podpísaný callback a úloha na pozadí číta záznamy pomocou širokých servisných oprávnení. Žiadny z týchto prístupov nemusí byť chybný. Riziko vzniká na nepreskúmaných hraniciach medzi nimi.

Validácia vstupov ukazuje toto prepojenie v praxi. Model určí, ktoré vstupy prekračujú hranicu dôvery a čo môžu ovplyvniť. Kontrola kódu potom overí mechanizmy použité ešte predtým, než údaje spôsobia daný účinok. Všeobecný checklist tak nenahrádza posúdenie konkrétneho systému.

Výstup auditu

Výstupom je živá mapa spojená so zisteniami a dôkazmi. Zaznamenáva aktíva, aktérov, hranice, nechcené výsledky, aktuálne kontroly a chýbajúce kontroly. Poskytuje tiež odkaz na neskoršie zmeny: nová integračná alebo administratívna akcia môže byť umiestnená na tej istej mape pred odoslaním.

Táto disciplína patrí k rozdielom medzi prototypom a technickým postupom určeným pre produkciu. Modelovanie hrozieb nepredpovedá každý nedostatok. Zviditeľňuje rozhodnutia systému o dôvere, aby kontrolóri mohli testovať miesta, kde by chyba mala najväčší dosah.