Ipinaliwanag ng kapaki-pakinabang na threat model kung ano ang pinoprotektahan mo, sino o ano ang makakaapekto nito, saan nagbabago ang tiwala at paano mo babawasan at susubukan ang pinakamahalagang panganib. Magsimula sa aktwal na proyekto sa halip na pangkalahatang listahan ng mga tool.
Tukuyin ang saklaw na sapat na maliit para pag-isipan
Magsimula sa isang gumaganang serbisyo: portal ng customer, publishing site o panloob na application. Isulat ang mga bahaging pinapatakbo mo at ang mga panlabas na sistemang ginagamit mo. Dapat gawing nakikita ng threat model ang mga palagay, hindi magmungkahi na nalutas na ang bawat posibleng pag-atake. Panatilihing sapat na maliit ang unang bersyon para maipaliwanag ito ng mga nagde-deploy ng application nang walang hiwalay na consultant na magpapaliwanag ng diagram.
Ilista ang mahahalagang resulta at asset. Maaaring kabilang dito ang data ng customer, access ng administrasyon, estado ng payment, nai-publish na nilalaman at kakayahang ibalik ang serbisyo. Ang availability ay maaaring maging asset kahit pampubliko ang impormasyon. Magpasya kung aling mga failure ang magiging abala lamang at alin ang makakasira sa mga tao o organisasyon. Nakakatulong ang pagkakaibang iyon para unahin ang mga kontrol sa halip na ituring na pantay ang bawat babala.
Iguhit ang mga lugar kung saan nagbabago ang tiwala
Gumagamit ang gabay sa threat-model ng OWASP ng mga data flow at trust boundary para maging nauunawaan ang disenyo. Para sa maliit na naka-host na application, iguhit ang browser, web process, database, administrator, destinasyon ng backup at panlabas na integration. Markahan ang impormasyong gumagalaw sa pagitan ng mga ito. Ang request na tumatawid mula sa hindi pinagkakatiwalaang client patungo sa privileged na operasyon ng server ay nararapat sa tahasang validation at authorisation.
Huwag ipagpalagay na ang pagiging nasa loob ng parehong makina ay ginagawang pantay ang tiwala sa bawat bahagi. Ang pampublikong proseso ng upload ay hindi dapat magkaroon ng parehong pahintulot sa administrasyon ng database. Ang trabaho ng backup ay maaaring mangailangan ng read access nang walang kakayahang baguhin ang live na record ng application. Ang paghihiwalay ng mga tungkuling iyon ay nagpapadali sa pagpigil sa epekto ng na-compromise na bahagi at sa pagsusuri ng kinakailangang pahintulot.
Pumili ng konkretong senaryo ng failure
Gumamit ng ilang makatwirang pangyayari para hamunin ang disenyo. Ninakaw ng attacker ang password ng administrator; humiling ang user ng record ng ibang user; napuno ng upload ang disk; naglantad ang deployment ng configuration file; hindi ma-restore ang kopya para sa recovery. Ilarawan ang panimulang kalagayan, ang apektadong bahagi at ang kahihinatnan. Ang partikular na senaryo ay mas madaling subukan kaysa sa malawak na tagubilin na pagbutihin ang seguridad.
Isama ang mga pagkakamali at pag-abuso sa lehitimong workflow gayundin ang panlabas na intrusion. Ang retry ay maaaring lumikha ng dalawang mahalagang operasyon, o dalawang request ay maaaring mag-unahan para baguhin ang parehong object. Itinatampok ng gabay sa business-logic ng OWASP ang mga palagay na ito sa proseso. Suriin kung sino ang pinapayagang maglipat ng workflow sa susunod na estado at kung ang pag-uulit o muling pag-aayos ng request ay hindi inaasahang nagbabago ng resulta.
| Senaryo | Kontrol na iimbestigahan | Ebidensyang kokolektahin |
|---|---|---|
| Ninakaw na credential ng administrasyon | Pinaghihigpitang access at second factor kung sinusuportahan | Hindi makakumpleto ang hindi awtorisadong login |
| Hiniling ang object ng ibang user | Server-side na authorisation ng object | Nakabalik ang denied na resulta sa nakahiwalay na test |
| Naubos ang disk dahil sa mga upload | Mga kontrol sa laki, quota at retention | Ipinapatupad ang limitasyon bago mabigo ang serbisyo |
| Dobleng request sa workflow | Idempotency at hangganan ng transaksyon | Isang resulta ang nalilikha ng paulit-ulit na request |
Unahin batay sa epekto at kapani-paniwalang landas
Para sa bawat senaryo, itala ang potensyal na epekto at ang mga kundisyong kailangan para mangyari ito. Iwasang ipalagay na ang hinulaang numerical score ay tumpak na probabilidad. Maaari mo pa ring makilala ang internet-exposed na mahinang password mula sa lubos na kondisyonal na lokal na pangyayari. Magtalaga ng may-ari at praktikal na susunod na hakbang sa mahahalagang panganib para makalikha ang modelo ng gawaing aktwal na matatapos ng isang tao.
Isaalang-alang ang lifecycle ng impormasyon gayundin ang compromise ng application. Ang diagnostic export ay maaaring maglantad ng hindi kinakailangang data sa normal na operasyon. Ang napanatiling field ng account ay maaaring lumikha ng pagkakalantad matagal pagkatapos ng layunin nito. Ang privacy review ay maaaring magtanggal ng impormasyon o magpaikli ng retention, habang ang security review ay naghihigpit ng access sa natitira. Kapwa pagbabago ay nabibilang sa modelo kapag pinoprotektahan nila ang proyekto.
Subukan ang mga kontrol sa awtorisadong environment
Gumawa ng staging environment na may representative na mga pahintulot at gawa-gawang mga rekord. Subukan ang tinanggihang access, mga limitasyon sa kahilingan, mga retry ng workflow at pagbawi. Huwag gumamit ng tunay na data ng customer kapag ang synthetic data ay makapagpapakita ng gawi. Ang layunin ay i-verify ang kontrol, hindi upang makabuo ng kahanga-hangang attack traffic. Manatili sa loob ng mga sistemang pagmamay-ari mo o tahasang pinahintulutan kang suriin.
Itala kung ano ang pumasa, ano ang nabigo at ano ang nananatiling hindi alam. Ang resulta ng scanner ay maaaring mag-ambag ng ebidensya ngunit hindi nito pinapalitan ang pagsubok sa mga patakaran ng negosyo ng aplikasyon. Gayundin, ang opsyon sa proteksyon ng network ay hindi nagbe-verify ng object authorisation o paghawak ng secret-file. Ikabit ang mga kapaki-pakinabang na resulta sa senaryo upang maunawaan ng mga susunod na maintainer kung bakit umiiral ang isang partikular na kontrol.
Panatilihing konektado ang modelo sa pagbabago
Suriin ang mga kaugnay na bahagi kapag nagdagdag ka ng integration, naglantad ng bagong endpoint, nagbago ng pribilehiyo o naglipat ng data sa ibang destinasyon. Hindi mo kailangang i-redraw ang buong arkitektura para sa isang maliit na pagbabago sa teksto. Ang trigger ay isang nabagong palagay tungkol sa access, impormasyon o gawi ng sistema. Panatilihin ang modelo sa tabi ng deployment at recovery documentation sa halip na iwanan ito bilang one-time workshop output.
Ang SwissOctet ay nagbibigay ng katalogo ng mga pagpipilian sa imprastraktura, hindi isang kumpletong application threat model. Piliin ang configuration at mga opsyon na sumusuporta sa iyong mga kontrol, pagkatapos ay i-verify ang deployment na iyong binuo. Ang isang maliit, pinapanatili na modelo na may nasubok na mga aksyon ay mas kapaki-pakinabang kaysa sa isang malaking koleksyon ng mga security product na walang malinaw na paliwanag ng mga panganib na tinutugunan nila.
Ang iyong praktikal na checklist.
- Ilista ang mga asset at mga kahihinatnan ng pagkabigo.
- Gumuhit ng mga data flow at trust boundary.
- Pumili ng mga partikular na senaryo ng intrusion, pagkakamali at workflow.
- Magtalaga ng mga kontrol at may-ari sa mahahalagang panganib.
- Subukan gamit ang synthetic data sa isang awtorisadong kapaligiran.
- Suriin ang modelo kapag nagbago ang isang kaugnay na palagay.
Ang mga detalyeng mahalaga.
Kailangan ko ba ng pormal na framework upang magsimula?+
Hindi. Ang isang maliit na diagram at isang dokumentadong hanay ng mga senaryo ay maaaring maging kapaki-pakinabang. Ang isang framework ay tumutulong upang matiyak na patuloy mong sinusuri ang mga panganib.
Pinapalitan ba ng vulnerability scanner ang threat modelling?+
Hindi. Ang mga scanner ay maaaring makahanap ng mga teknikal na kahinaan, habang ang isang threat model ay sumusuri rin ng mga palagay sa disenyo, mga pahintulot at mga workflow ng negosyo.
Gaano kadalas ko dapat i-update ang modelo?+
I-update ang mga apektadong bahagi kapag nagbago ang mga data flow, integration, pribilehiyo o nailantad na functionality, at regular na suriin ang mga hindi pa nalutas na panganib.
Pumunta sa pinagmulan.
Sinusuportahan ng mga sangguniang ito ang mga teknikal na konsepto sa gabay na ito. Sundin ang kasalukuyang dokumentasyon bago baguhin ang isang production system.
- OWASP: Threat Modeling Cheat Sheet cheatsheetseries.owasp.org
- OWASP: Threat modelling in practice devguide.owasp.org
- OWASP: Business Logic Security cheatsheetseries.owasp.org
Editorial guidance ni SwissOctet. Ang mga halimbawa ay ilustratibo. Ang service specifications, available options at contractual conditions ay dapat beripikahin nang hiwalay.