Threat Modeling
Threat Modeling
Dobrodošli u sveobuhvatan vodič HackTricks-a o modelovanju pretnji! Krenite u istraživanje ovog kritičnog aspekta sajber bezbednosti, gde identifikujemo, razumemo i strategizujemo protiv potencijalnih ranjivosti u sistemu. Ova tema služi kao vodič korak po korak, ispunjen stvarnim primerima, korisnim softverom i lako razumljivim objašnjenjima. Idealno za novajlije i iskusne praktičare koji žele da ojačaju svoju sajber bezbednost.
Commonly Used Scenarios
Razvoj softvera: Kao deo Sigurnog životnog ciklusa razvoja softvera (SSDLC), modelovanje pretnji pomaže u identifikaciji potencijalnih izvora ranjivosti u ranim fazama razvoja.
Pentesting: Standard izvršenja testiranja penetracije (PTES) zahteva modelovanje pretnji kako bi se razumele ranjivosti sistema pre nego što se izvrši test.
Threat Model in a Nutshell
Model pretnji se obično prikazuje kao dijagram, slika ili neki drugi oblik vizuelne ilustracije koji prikazuje planiranu arhitekturu ili postojeću izgradnju aplikacije. Podseća na dijagram toka podataka, ali ključna razlika leži u njegovom dizajnu orijentisanom na bezbednost.
Modeli pretnji često sadrže elemente označene crvenom bojom, simbolizujući potencijalne ranjivosti, rizike ili prepreke. Da bi se pojednostavio proces identifikacije rizika, koristi se CIA (Poverljivost, Integritet, Dostupnost) trojka, koja čini osnovu mnogih metodologija modelovanja pretnji, pri čemu je STRIDE jedna od najčešćih. Međutim, odabrana metodologija može varirati u zavisnosti od specifičnog konteksta i zahteva.
The CIA Triad
CIA trojka je široko prepoznat model u oblasti informacione bezbednosti, koji se odnosi na Poverljivost, Integritet i Dostupnost. Ove tri stuba čine osnovu na kojoj se grade mnoge mere i politike bezbednosti, uključujući metodologije modelovanja pretnji.
Poverljivost: Osiguranje da podaci ili sistem nisu dostupni neovlašćenim osobama. Ovo je centralni aspekt bezbednosti, koji zahteva odgovarajuće kontrole pristupa, enkripciju i druge mere za sprečavanje curenja podataka.
Integritet: Tačnost, doslednost i pouzdanost podataka tokom njihovog životnog ciklusa. Ova načela osiguravaju da podaci nisu izmenjeni ili kompromitovani od strane neovlašćenih strana. Često uključuje kontrolne sume, heširanje i druge metode verifikacije podataka.
Dostupnost: Ovo osigurava da su podaci i usluge dostupni ovlašćenim korisnicima kada su potrebni. Ovo često uključuje redundanciju, otpornost na greške i konfiguracije visoke dostupnosti kako bi se sistemi održavali u radu čak i u slučaju prekida.
Threat Modeling Methodlogies
STRIDE: Razvijen od strane Microsoft-a, STRIDE je akronim za Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, and Elevation of Privilege. Svaka kategorija predstavlja tip pretnje, a ova metodologija se obično koristi u fazi dizajniranja programa ili sistema za identifikaciju potencijalnih pretnji.
DREAD: Ovo je još jedna metodologija iz Microsoft-a koja se koristi za procenu rizika identifikovanih pretnji. DREAD se odnosi na Damage potential, Reproducibility, Exploitability, Affected users, and Discoverability. Svaki od ovih faktora se boduje, a rezultat se koristi za prioritizaciju identifikovanih pretnji.
PASTA (Process for Attack Simulation and Threat Analysis): Ovo je metodologija zasnovana na riziku, koja se sastoji od sedam koraka. Uključuje definisanje i identifikaciju bezbednosnih ciljeva, kreiranje tehničkog okvira, dekompoziciju aplikacije, analizu pretnji, analizu ranjivosti i procenu rizika/triage.
Trike: Ovo je metodologija zasnovana na riziku koja se fokusira na zaštitu sredstava. Počinje iz perspektive upravljanja rizikom i gleda na pretnje i ranjivosti u tom kontekstu.
VAST (Visual, Agile, and Simple Threat modeling): Ovaj pristup ima za cilj da bude pristupačniji i integriše se u Agile razvojne okruženja. Kombinuje elemente iz drugih metodologija i fokusira se na vizuelne prikaze pretnji.
OCTAVE (Operationally Critical Threat, Asset, and Vulnerability Evaluation): Razvijen od strane CERT Koordinacionog centra, ovaj okvir je usmeren ka organizacionoj proceni rizika umesto na specifične sisteme ili softver.
Tools
Postoji nekoliko alata i softverskih rešenja dostupnih koja mogu pomoći u kreiranju i upravljanju modelima pretnji. Evo nekoliko koje možete razmotriti.
Napredni cross-platform i multi-feature GUI web spider/crawler za profesionalce u sajber bezbednosti. Spider Suite se može koristiti za mapiranje i analizu površine napada.
Usage
Izaberite URL i Crawlujte
Prikaz grafika
Projekat otvorenog koda iz OWASP-a, Threat Dragon je i web i desktop aplikacija koja uključuje dijagramiranje sistema kao i pravilo za automatsko generisanje pretnji/mitigacija.
Usage
Kreirajte novi projekat
Ponekad može izgledati ovako:
Pokrenite novi projekat
Sačuvajte novi projekat
Kreirajte svoj model
Možete koristiti alate kao što je SpiderSuite Crawler da vam daju inspiraciju, osnovni model bi izgledao ovako
Samo malo objašnjenja o entitetima:
Proces (Sam entitet kao što je Webserver ili web funkcionalnost)
Akter (Osoba kao što je posetilac veb sajta, korisnik ili administrator)
Linija toka podataka (Pokazatelj interakcije)
Granica poverenja (Različiti mrežni segmenti ili opsezi.)
Skladište (Stvari gde se podaci čuvaju kao što su baze podataka)
Kreirajte pretnju (Korak 1)
Prvo morate izabrati sloj kojem želite dodati pretnju
Sada možete kreirati pretnju
Imajte na umu da postoji razlika između pretnji aktera i pretnji procesa. Ako biste dodali pretnju akteru, tada ćete moći da izaberete samo "Spoofing" i "Repudiation". Međutim, u našem primeru dodajemo pretnju entitetu procesa, tako da ćemo ovo videti u okviru za kreiranje pretnje:
Gotovo
Sada bi vaš završeni model trebao izgledati ovako. I ovako pravite jednostavan model pretnji sa OWASP Threat Dragon.
Ovo je besplatan alat od Microsoft-a koji pomaže u pronalaženju pretnji u fazi dizajniranja softverskih projekata. Koristi STRIDE metodologiju i posebno je pogodan za one koji razvijaju na Microsoft-ovom skupu alata.
Last updated