measures ssdlc
Spoznajte različne varnostne ukrepe za varno SDLC ali SSDLC:
Ker tehnologija hitro raste, so se temu primerno povečale tudi nevarnosti vdora in kraje zavarovanih podatkov, povezane z varnostjo. Nobenega dvoma ni, da tehnološka rast postavlja izzive proizvajalcem programske opreme, da bi zagotovila, da je njihova programska oprema močna in trdna proti varnostnim grožnjam in ranljivostim.
Programskega izdelka ni mogoče izdati, tudi če deluje popolnoma v skladu s predvideno funkcionalnostjo, razen če se izkaže, da je zelo zavarovan in izpolnjuje določene in urejene varnostne in zasebne standarde, zlasti v sektorjih, kot so obramba, finance in zdravstvo, ki vključujejo osebne in finančne podatke .
Ne moremo si privoščiti varnostne napake na izdelku, ko je nameščen, naj bo to visoke ali srednje resnosti. Zato je zelo pomembno zaščititi programsko opremo in podatke pred kakršnimi koli napadi, zlonamernimi grožnjami, ranljivostmi in zagotoviti zanesljivost programske opreme do končnega uporabnika.
V primerjavi z našim tradicionalnim razvojem programske opreme testiranje v zadnji fazi po razvoju celotne programske opreme ni več učinkovito. Z izvajanjem konceptov Agile, DevOps in ShiftLeft je bistvenega pomena, da se testiranje izvede tako zgodaj kot v vsaki fazi življenjskega cikla aplikacije.
Kljub temu varnosti programske opreme ni mogoče zgraditi ali celo preizkusiti na zadnji stopnji, zato jo je treba graditi v vsaki fazi, da se zagotovi popolna varnost programske opreme.
Kaj se boste naučili:
Varnostni ukrepi za SSDLC
Spodaj so navedeni različni načini ukrepov, povezanih z varnostjo, ki jih je mogoče izvajati v celotnem življenjskem ciklu razvoja programske opreme, da bi zagotovili varno SDLC ali SSDLC in kolikor je le mogoče, napake ne smejo prenašati v naslednjo fazo.
Različne varnostne analize in ocene, pri katerih je treba varnost graditi v fazah SDLC, so.
- Faza zahtev
- Faza načrtovanja
- Faza arhitekture in oblikovanja: Ocena varnostnega tveganja na podlagi zasnove.
- Razvojna faza: Analiza varne kode, statična analiza kode zaradi varnosti.
- Faza izvajanja: Dinamična analiza kode, testiranje varnosti aplikacije.
- Testiranje - faza uvajanja: Testiranje penetracije in analiza ranljivosti.
# 1) Faza zahtev
- Da bi zagotovili, da so v programsko opremo vgrajeni potrebni varnostni ukrepi, Posebne zahteve, povezane z varnostjo je treba med fazo zahtev jasno zajeti z dovolj podrobnostmi in pričakovanimi rezultati.
- Med prepoznavanjem tipičnih primerov uporabe in poslovnih scenarijev je treba jasno določiti Primeri in scenariji uporabe, povezani z varnostjo za namene preverjanja je treba identificirati, da se zajamejo varnostne značilnosti in oblikujejo scenariji varnostnih preskusov.
Spodaj je nekaj vzorčnih primerov, ki ponazarjajo izrecne varnostne zahteve, ki jih je mogoče zajeti.
Sec-Req-01: Sistem mora imeti vzpostavljene ukrepe za preverjanje pristnosti na vseh prehodih in vstopnih točkah.
Sec-Req-02: Sistem mora izvajati preverjanje pristnosti prek varnega zaslona za prijavo.
Sec-Req-03: Osebni podatki se šifrirajo v mirovanju.
# 2) Faza načrtovanja
Na visoki ravni, vendar ne le na te, je treba v fazi načrtovanja poskrbeti za naslednje točke.
tehnična vprašanja in odgovori na službe za pomoč uporabnikom
- Močan, Namenska varnostna skupina , ki deluje zunaj PMO (pisarne za vodenje projektov) programske skupine, ki jo sestavljajo Varnostnik, varnostni arhitekti, varnostni preizkuševalci da se oblikuje za nepristransko izvajanje in upravljanje vseh dejavnosti programa, povezanih z varnostjo. Za vsako od teh vlog so opredeljeni jasni RnR (vloge in odgovornosti) in RACI.
- Kaj stopnjevanja, nejasnosti v zvezi z varnostnimi vprašanji mora obravnavati PSO (Product Security Officer), da bo varnostna skupina nemoteno delovala in pomagala pri sprejemanju pravih odločitev.
- Robusten Strategija preskušanja varnosti opredeliti, kako izvajati varnostne zahteve, kako, kdaj in kaj preizkusiti, katera orodja je treba uporabiti na vsaki stopnji.
- Obvezna je vključitev Varnostna kontaktna točka za vse tehnične razgovore / preglede, povezane s programom, tako da je varnostna skupina seznanjena z vsemi spremembami programa.
# 3) Faza arhitekture in oblikovanja
Zvečanje pozornosti varnostnim vidikom v zgodnji fazi načrtovanja bo pomagalo preprečiti varnostna tveganja in zmanjšati znatna prizadevanja pri spremembah zasnove pozneje v SDLC.
Med načrtovanjem programske opreme in infrastrukture, na kateri bo gostovala, je vse mogoče Izvedbe varnostnega oblikovanja dobro zasnovan z vključitvijo varnostnih arhitektov.
Vse dvoumnosti in konflikte med funkcionalnimi in nefunkcionalnimi vidiki oblikovanja in arhitekture je treba odpraviti s sejami možganskih napadov, ki vključujejo prave zainteresirane strani.
V tej fazi se izdela podrobna ocena tveganja za varnost izdelka, ki se včasih imenuje tudi 'Statična ocena' mora opraviti varnostna skupina strokovnjakov.
Ocena varnostnega tveganja vključuje pregled programov z vidika varnosti v fazi predhodnega načrtovanja / arhitekture, da bi z vidika oblikovanja opredelil varnostne pomanjkljivosti in v skladu s tem dvignil izdelek Varnostna tveganja projektni skupini, da jih nagovori in se izogne vstopu v naslednjo fazo.
Te ocene se izvajajo na podlagi smernic, standardov in kontrol organizacijske / industrijske varnosti, opisanih v teh dokumentih. Npr. UXW 00320, UXW 030017
Med oceno tveganja za varnost izdelka:
- Zahteve, lastnosti, uporabniške zgodbe in njihovi projektni dokumenti se pregledajo na podlagi podrobnosti, artefaktov, ki jih je dala projektna skupina, Npr. Projektni dokumenti (HLDD in LLDD). Ocene vključujejo tudi razgovore z ustreznimi člani projektne skupine v primeru odsotnosti dokumentov ali razjasnitev morebitnih dvomov.
- Vrzeli se ugotovijo pri preslikavi varnostnih zahtev programa glede na zastavljene standarde in druge najboljše prakse. Včasih se na podlagi ugotovljenih vrzeli razvijejo tudi modeli groženj.
- Te vrzeli so opredeljene kot potencialna varnostna tveganja, vključno s predlogi za možne blažitve izvajanja, ki se dvigujejo in upravljajo.
- Ko projektna skupina izvede ta ublažitev, se preveri, ali je zaprt, z ustreznimi testnimi primeri, ki jih je oblikovala ekipa za sistemske preskuse.
- Matrika upravljanja tveganj, ki zagotavlja sledljivost, je pripravljena slediti tem tveganjem. Odobritev in odjava s preostalim tveganjem bosta sprejela varnostni arhitekt in PSO.
Tipični vzorci groženj, ki so prepoznani v fazi načrtovanja, so povezani s preverjanjem vnosa, nadzorom / upravljanjem dnevnikov, konfiguracijami in šifriranji. Prepoznavanje tveganj vključuje napade na ranljivosti, kot so šibka gesla, preprosti napadi brutalne sile itd.,
Tipični pregledi vključujejo tveganja, povezana z dostopom do osebnih podatkov, dostopom do revizijskih poti, subjekti, ki uvrščajo na črne sezname, dejavnost čiščenja in brisanja podatkov.
Vzorčni testni scenariji vključujejo:
- Ranljivost prelivanja medpomnilnika: Da bi zagotovili, da z ročnim mešanjem parametrov ne bi smelo biti mogoče upočasniti strežnika in prisiliti strežnika, da se ne odzove (zavrnitev storitve).
- Sanitizacija podatkov: Zagotoviti, da se za vsak vhod in izhod izvede ustrezna razkuževanje podatkov, tako da napadalec ne more vbrizgati in shraniti zlonamerne vsebine v sistem.
# 4) Faza razvoja
Analiza varne kode je Ocena statične kode metoda, ki se uporablja za oceno Varna koda različnih funkcij programske opreme z uporabo avtomatiziranega orodja za skeniranje. Primer: Utrdite.
Ta analiza se izvede pri vsaki prijavi / gradnji kode za skeniranje generirane kode za varnostne grožnje. Ta ocena se običajno opravi na ravni uporabniške zgodbe.
- Okrepljene preglede prek vtičnikov je treba namestiti na stroje razvijalca.
- Fortify je treba integrirati s predlogo gradnje.
- Vsakodnevno se bo v vseh gradnjah izvajalo samodejno skeniranje.
- Rezultat skeniranja bo varnostna skupina analizirala glede lažnih pozitivnih rezultatov.
- Napake, ugotovljene s to oceno, se dvignejo in obvladujejo do zapiranja, tako da je pronicanje minimizirano / ničelno na naslednjo stopnjo.
Vzorčni testni scenariji vključujejo:
- Da zagotovimo, da se med prenosom podatkov občutljivi podatki ne pošiljajo v golem besedilu.
- Da bi zagotovili varen prenos podatkov, je treba API-je, usmerjene v zunanjost, razporediti na kanalu HTTPS.
# 5) Faza izvajanja
Dinamična analiza kode ni nič drugega kot testiranje varnosti aplikacij, ki se imenuje tudi testiranje OWASP (Open Web Application Security Project). Analizo ranljivosti in testiranje penetracije (VAPT) je treba opraviti v fazi izvajanja / testiranja.
Ta analiza oceni binarne datoteke in nekatere konfiguracije okolja ter dodatno okrepi kodo za varnostne zahteve.
Kot del te analize je Dinamično vedenje ali funkcionalnost različnih funkcij programov se analizira glede varnostnih ranljivosti. Za izvedbo dinamične analize kode se uporabljajo tudi predpisani primeri uporabe in poslovni scenariji.
Ta dejavnost se izvaja na Testne gradnje z uporabo različnih varnostnih orodij z avtomatiziranim in ročnim pristopom.
katero je najboljše brezplačno orodje za odstranjevanje zlonamerne programske opreme
- Orodja HP WebInspect, Burp Suite, ZAP in SOAP UI se običajno uporabljajo za preverjanje ranljivosti glede na standardne zbirke podatkov o ranljivosti ( Primer: OWASP Top 10 )
- Ta dejavnost je v glavnem avtomatizirana, zaradi nekaterih omejitev orodij bo morda potrebno nekaj ročnega dela za preskus lažnih pozitivnih rezultatov.
- To je najbolje storiti v ločenem okolju (System Testing Environment), kjer je nameščena programska oprema, pripravljena za testiranje.
- S predlaganimi omilitvami je treba povečati ranljivosti in jih odpraviti.
Tipični vzorci groženj, ugotovljeni med to analizo, so povezani s preverjanjem vnosa, zlomljeno avtentikacijo in upravljanjem sej, izpostavljenostjo občutljivih podatkov, XSS in upravljanjem gesel.
Vzorčni testni scenariji vključujejo,
- Upravljanje gesel: Da zagotovite, da gesla niso shranjena v navadnem besedilu v nastavitvenih datotekah ali kjer koli v sistemu.
- Puščanje sistemskih informacij: Za zagotovitev, da sistemske informacije v nobenem trenutku ne bodo uhajale, lahko informacije, ki jih razkrije printStackTrace, pomagajo nasprotniku pri načrtu napada.
# 6) Preskušanje - faza pred uvedbo
Testiranje penetracije , Pen test na kratko in Infra VAPT (Analiza ranljivosti in testiranje penetracije) , je celovit celostni test z popolna rešitev in konfiguracije (vključno z omrežjem), kar je najbolje izvesti v predhodnem ali produkcijskem okolju.
To se v glavnem izvaja za prepoznavanje ranljivosti DB in ranljivosti strežnika, skupaj z drugimi ranljivostmi. To je zadnja faza varnostnega testiranja, ki bi se izvedla. Zato to vključuje tudi preverjanje predhodno prijavljenih napak in tveganj.
- Orodja, kot so Nessus, Nmap, HP Web Inspect, Burp Suite, ZAP, ki so na voljo na trgu, se uporabljajo za testiranje pisala.
- Med tem testiranjem se opravi skeniranje spletnih aplikacij z uporabo avtomatiziranih orodij in izkoriščanje za nadaljnje preverjanje. Testiranje se izvaja za simulacijo vedenja resničnega napadalca, zato lahko vključuje tudi nekaj negativnih testov.
- Ranljivost infrastrukture ocena vključuje pregledovanje, analizo in pregled varnostne konfiguracije infrastrukture (omrežij, sistemov in strežnikov) za prepoznavanje ranljivosti in preverjanje odpornosti proti usmerjenim napadom.
- To se izvede v predprodukcijskem ali produkcijskem okolju, kjer se preskusi programska oprema, ki je pripravljena za uvedbo, in tako simulira okolje v realnem času.
- Ranljivosti se ugotovijo tako z optičnimi bralniki kot z ročnimi tehnikami za odpravo lažnih pozitivnih rezultatov. Prav tako se bodo med ročnim testiranjem izvajali poslovni scenariji v realnem času.
- Pripravljeno bo končno poročilo o celotni varnostni analizi, ki se izvede za celoten program, v katerem bo poudarjeno stanje elementov z visokim tveganjem, če obstajajo.
Vzorčni testni scenariji vključujejo,
- Da zagotovite, da ranljive metode HTTP niso omogočene.
- Da zagotovite, da občutljivi podatki drugih uporabnikov v omrežju niso vidni v jasnem besedilu.
- Da se zagotovi preverjanje veljavnosti za nalaganje datotek, se izvaja, da se prepreči nalaganje zlonamerne datoteke.
Tabelarični povzetek za SSDLC
Spodnja tabela povzema različne vidike varnostne analize, ki so opisani zgoraj.
Faza SDLC | Končana analiza ključev | Kaj natančno se naredi pri teh ocenah | Vhod | Uporabljena orodja | Izhod |
---|---|---|---|---|---|
Zahteve | Za zagotovitev učinkovitega zajema varnostnih zahtev. | Zahteve se analizirajo. | Zahtevani dokumenti / uporabniške zgodbe / funkcije | Priročnik | Varnostne zahteve so vgrajene v specifikacije zahtev. |
Načrtovanje | Vzpostavitev varnostne skupine Pripravljena strategija testiranja varnosti. | Skupina je bila identificirana in postavljena. Strategija, pripravljena, pregledana in odobrena z zainteresiranimi stranmi. | Nič | Priročnik | Nastavitev varnostne ekipe z definiranima RnR in RACI. Odjavljen dokument Strategije preizkusa varnosti. |
Oblikovanje | Ocena varnostnega tveganja | Pregled dokumentov, povezanih s programom, da ugotovite varnostne pomanjkljivosti. Pogovor z ekipo. Ugotovljena so tveganja in predlagane so ublažitve. | Dokumenti, povezani s projektom: HLDD, LLDD. | Ročni pregled | Ugotovljena projektna tveganja. Matrika upravljanja tveganj s predlaganimi blažitvami. |
Razvoj | Analiza varne kode (statična ocena) | Varnostni skenerji so priključeni na stroje razvijalca. Varnostno orodje, integrirano s predlogo gradnje. | Razvita koda | Avtomatizirajte optične bralnike (Fortify). Ročna triaža lažno pozitivnih rezultatov. | Napake varne kode. Matrika upravljanja tveganj z ublažitvami. |
Izvajanje | Dinamična analiza kode (dinamična ocena) | Končano testiranje varnosti aplikacij. | Preizkušena enota Namensko preskusno okolje | Orodja za preskušanje varnosti (HP WebInspect, Apartma Burp, ZAP Ročna triaža lažno pozitivnih rezultatov. | Napake pri dinamični analizi kode. Matrika upravljanja tveganj z ublažitvami. |
Testiranje / pred uvedbo | Test peresa, Infra VAPT | Testiranje penetracije in Infra VAPT z uporabo scenarijev v realnem času. Preverjanje predhodno sporočenih tveganj / napak. | Pripravljen za uvedbo gradnje. Pre-Prod ali proizvodnja, kot je okolje. | Orodja za preskušanje varnosti (Nessus, NMAP, HP WebInspect) Ročna triaža lažno pozitivnih rezultatov. | Matrika upravljanja tveganj z ublažitvami. Končno poročilo o varnostnem preskusu s stanjem tveganja. |
Zaključek
Tako z izvajanjem vseh teh vidikov, povezanih z varnostjo, integriranih v različnih fazah SDLC, pomaga organizaciji prepoznati varnostne napake na začetku cikla in ji omogoči, da izvede ustrezne blažitve, s čimer se izogne Varnostne napake z visokim tveganjem v sistemu Live.
Študija tudi kaže, da je večina varnostnih napak v programski opremi v fazi razvoja, tj Faza kodiranja , pri čemer kodiranje iz kakršnih koli razlogov ni zadostno poskrbelo za vse varnostne vidike.
V idealnem primeru noben razvijalec ne bi želel napisati slabe kode, ki ogroža varnost. Prihodnja vadnica tako zajema razvijalce, kako napisati varno programsko opremo Najboljše prakse in smernice za kodiranje za razvijalce, da se zagotovi boljša varnost programske opreme.
Upamo, da je bila ta vadnica o varnem SDLC ali SSDLC v pomoč !!
Priporočeno branje
- Faze, metodologije, procesi in modeli SDLC (življenjski cikel razvoja programske opreme)
- 10 najboljših orodij za testiranje varnosti mobilnih aplikacij v letu 2021
- 19 Zmogljiva orodja za preizkušanje penetracije, ki so jih leta 2021 uporabili profesionalci
- Smernice za testiranje varnosti mobilnih aplikacij
- Testiranje omrežne varnosti in najboljša orodja za omrežno varnost
- Testiranje varnosti (popoln vodnik)
- Najboljša 4 odprtokodna orodja za testiranje varnosti za preizkušanje spletne aplikacije
- Vodič za preizkušanje varnosti spletnih aplikacij