Mis on Secure by Design?
Secure by Design (SbD) on tarkvaraarenduse metoodika ja filosoofia, mille kohaselt turvalisus ei ole mitte hilisem lisand (mida kontrollitakse lõpus), vaid tarkvara fundamentaalne osa, mis ehitatakse süsteemi sisse juba esimesest planeerimise hetkest.
Põhimõte: Selle asemel, et turvaauke hiljem lappida ("Patch Tuesday"), disainitakse süsteem nii, et teatud tüüpi rünnakud oleksid eos võimatud või väga keerulised.
Mis etapid seal on?
Secure by Design järgib tavalist tarkvaraarenduse elutsüklit (SDLC), kuid igas etapis on spetsiifilised turvategevused:
- 1. Nõuete analüüs (Requirements): Turvanõuete määratlemine ja riskianalüüs. Otsustatakse, millised on "turvalisuse eesmärgid" (nt GDPR nõuded).
- 2. Disain (Design): Arhitektuuri loomine ja Threat Modeling (ohumudeldamine). Siin analüüsitakse, kuidas ründaja võiks süsteemi murda, enne kui koodi kirjutatakse.
- 3. Arendus (Development): Turvalise koodi kirjutamine (Secure Coding Guidelines) ja staatiline koodianalüüs (SAST) tööriistade abil.
- 4. Testimine (Verification): Dünaamiline testimine (DAST), läbistustestid (Pentesting) ja haavatavuste skaneerimine.
- 5. Juurutamine ja hooldus (Release & Maintenance): Turvaline konfigureerimine, intsidentidele reageerimise plaan ja regulaarne turvauuenduste paigaldamine.
Alamvariandid ja seotud mudelid
Secure by Design ise on pigem filosoofia, kuid seda rakendatakse erinevates konkreetsetes mudelites:
- Microsoft SDL (Security Development Lifecycle): Üks vanimaid ja tuntumaid formaliseeritud mudeleid, mida Microsoft kasutab Windowsi arenduses.
- DevSecOps: Kaasaegne variant, kus turvalisus on integreeritud automaatselt CI/CD torudesse (pidev integratsioon/pidev tarne).
- OWASP SAMM: Mudel organisatsiooni tarkvara turvalisuse küpsuse hindamiseks ja parandamiseks.
Arendusmudel joonisena
Visuaalselt kujutatakse seda sageli tsüklina või lineaarse protsessina, kus igas etapis on "turvavärav". Allpool on kontseptuaalne joonis:
1. Planeerimine
Riskianalüüs
2. Disain
Ohumudel (Threat Model)
3. Arendus
Turvaline kood
4. Testimine
Pentest & SAST/DAST
5. Avalikustamine
Turvapaigad
Tähtsaim omadus ja miks
Ennetamine (Proactivity) / "Shift Left"
Kõige olulisem omadus on turvalisuse nihutamine vasakule (Shift Left). See tähendab turvalisusega tegelemist protsessi alguses, mitte paremal (lõpus).
Miks see on tähtsaim?
- Hind: IBM-i ja NIST-i uuringute kohaselt on vea parandamine disainifaasis kuni 100 korda odavam kui sama vea parandamine, kui toode on juba klientide käes.
- Mainekahju: Ennetamine väldib andmelekkeid, mis võivad hävitada ettevõtte usaldusväärsuse.
Head ja Vead (Pros & Cons)
| Head (Pros) |
Vead (Cons) |
|
Vähem turvaauke: Toode on vaikimisi turvalisem ja rünnakutele vastupidavam.
|
Esialgne ajakulu: Arenduse algfaas võib venida pikemaks, kuna tuleb teha ohumudeldamist ja riskianalüüsi.
|
|
Odavam pikas plaanis: Vähem kulutusi hilisematele parandustele ja trahvidele (nt andmekaitse).
|
Vajab koolitust: Arendajad peavad tundma turvalise koodi põhimõtteid; see nõuab investeeringut haridusse.
|
|
Vastavus regulatsioonidele: Lihtsam täita standardeid nagu ISO 27001 või GDPR.
|
Kultuuriline takistus: Arendajad võivad tunda, et turvalisus "pidurdab" innovatsiooni ja kiirust.
|
Viited ja lisalugemist
Info on koondatud järgmiste rahvusvaheliste standardite ja organisatsioonide materjalidest:
CISA: Secure by Design
OWASP SAMM
NIST SSDF