Melnā, pelēkā un baltā kaste: testēšanas veidi
Testu var veikt ar dažādu informācijas apjomu. Pieeja ietekmē izpēti un pārklājumu; to saskaņo ar testa mērķi un modelējamo uzbrucēja piekļuvi.
Ko īsti nosaka pieejas izvēle
Sākotnējā informācija ietekmē izpētes darbu un iespējamo pārklājumu. Dokumentācija un konti var palīdzēt ātrāk piekļūt svarīgām funkcijām, taču arī pirmkoda un arhitektūras izvērtēšanai vajadzīgs laiks. Pieeju izvēlas pēc testa mērķa, nevis pieņemot, ka viena vienmēr ir labāka. Ja pats jēdziens vēl nav skaidrs, sāc ar ceļvedi par to, kas ir ielaušanās tests.
Pieejamā dokumentācija palīdz plānot un pierādāmi aprakstīt pārklājumu. Baltās kastes pieeja dod vairāk informācijas, taču jebkurā pieejā ziņojumā jānorāda, kas faktiski pārbaudīts un kas palicis ārpus tvēruma.
Trīs pieejas salīdzinājumā
| Kritērijs | Melnā kaste | Pelēkā kaste | Baltā kaste |
|---|---|---|---|
| Sākotnējā informācija | Nekāda vai tikai domēns | Lietotāja konts un pamatapraksts | Pilna dokumentācija, bieži pirmkods |
| Laiks izpētei | Liels | Vidējs | Mazs |
| Pārklājums | Atkarīgs no publiski atrodamā un testa laika | Ļauj pārbaudīt saskaņotās lietotāja lomas | Ļauj mērķtiecīgi pārbaudīt arī iekšējo uzbūvi |
| Modelētais sākumpunkts | Uzbrucējs bez iekšējas informācijas | Persona ar konkrētu piekļuvi un zināšanām | Persona ar plašu informāciju par sistēmu |
| Ko atrod vislabāk | Ārējo uzbrukuma virsmu | Tiesību un loģikas kļūdas | Kodā slēptas kļūdas, kriptogrāfiju |
| Ierobežojums | Grūti sasniedzamas iekšējas funkcijas | Funkcijas ārpus piešķirtajām lomām | Nepilnīga vai novecojusi dokumentācija var radīt iztrūkumus |
| Tipisks lietojums | Ārējā tīkla tests | Tīmekļa lietotņu un API tests | Kritiska lietotne pirms izlaišanas |
Melnā kaste
Testētājs sāk no tā, ko var atrast jebkurš cilvēks internetā: domēnu vārdiem, publiskiem reģistriem, sertifikātu žurnāliem, darbinieku profiliem un noplūdušām parolēm. Tas visprecīzāk atbild uz jautājumu “kas ir redzams no ārpuses”, un bieži tieši šeit atklājas aizmirstas testa vides vai apakšdomēni, par kuriem neviens vairs neatbild.
Trūkums ir laika sadalījums. Ja divas dienas aizņem uzbrukuma virsmas kartēšana, tās vairs nav pieejamas pašai pārbaudei. Tāpēc melnā kaste ir spēcīga ārējiem testiem, bet neefektīva sarežģītām iekšējām lietotnēm.
Pelēkā kaste
Testētājs saņem parasta lietotāja kontu un pamatinformāciju par sistēmu. Tas atbilst visbiežāk sastopamajam reālajam scenārijam: uzbrucējs jau ir ieguvis vienu paroli vai vienu darbinieka piekļuvi. No šejienes tiek pārbaudīts tas, kas praksē salūst visbiežāk – vai lietotājs var redzēt svešus datus, vai var izpildīt darbības, kurām nav tiesību, un vai var paaugstināt savas tiesības.
Baltā kaste
Testētājs saņem plašu informāciju: arhitektūras aprakstu, tiesību modeli, konfigurāciju un bieži pirmkodu. Tas palīdz sistemātiski pārbaudīt arī grūti sasniedzamas funkcijas un ieviešanas detaļas. Pilns pārklājums tomēr nav garantēts: to ierobežo tvērums, laiks un izvēlētās pārbaudes.
Plaša sākotnējā informācija samazina vajadzību atkārtot ārēja uzbrucēja izpēti. Tomēr tā pati par sevi nenosaka, vai aizsardzības komanda zina par testu un vai tiek mērīta atklāšana. Šos mērķus un informēšanas kārtību saskaņo atsevišķi.
Divi citi dalījumi, kurus bieži sajauc
Informācijas apjoms nav vienīgā ass. NIST SP 800-115 nošķir arī ārējo un iekšējo testēšanu: ārējā sākas no interneta, iekšējā – no vietas tīkla iekšienē, jau aiz perimetra aizsardzības. Ja tiek veikti abi, ārējais parasti notiek pirmais.
Otrs dalījums ir atklāts un slēpts tests. Atklātā (angļu val. overt) testā IT komanda zina, ka tests notiek, un sadarbojas; slēptā (covert) testā to zina tikai daži cilvēki, un mērķis ir pārbaudīt arī pamanīšanu un reaģēšanu. NIST norāda, ka atklāta testēšana ir lētāka, ar mazāku risku un tāpēc biežāk izmantota, savukārt slēptā ir laikietilpīga un dārgāka, bet parāda reālo uzbrukuma ietekmi.
Piemērs: viena lietotne, trīs pieejas
Iedomāsimies tipisku e-komercijas lietotni ar klientu kontiem, pasūtījumiem, atlaižu kodiem un administratora paneli. Vienāds piecu dienu budžets trijās pieejās dod trīs atšķirīgus rezultātus.
- Melnā kaste. Divas dienas aiziet apakšdomēnu un pakalpojumu kartēšanai. Rezultātā atklājas aizmirsts testa serveris ar veco lietotnes versiju un publiski pieejams administratora paneļa pieteikšanās logs. Pašai lietotnei paliek trīs dienas, un pārbaudīta tiek galvenokārt neautentificētā daļa.
- Pelēkā kaste. Testētājs sāk ar diviem klientu kontiem. Atklājas, ka viena klienta pasūtījumu var atvērt ar cita klienta sesiju, mainot identifikatoru, un ka atlaides kodu var izmantot atkārtoti, sūtot pieprasījumus paralēli. Tās ir tiesību un darbību secības kļūdas, kuru pārbaudei vajadzīgs lietotnes konteksts.
- Baltā kaste. Ar pirmkodu un tiesību modeli atklājas tas pats, kas pelēkajā kastē, un papildus – ka atlaižu kodus ģenerē paredzams algoritms un ka paroļu atjaunošanas žetons neizbeidzas. Toties nekas netiek pateikts par aizmirsto testa serveri, jo tas nebija apjomā.
Secinājums ir praktisks: melnā kaste atrada infrastruktūras problēmu, pelēkā – tiesību problēmu, baltā – ieviešanas problēmu. Neviena no tām nav “pareizākā”; katra atbild uz citu jautājumu, un tieši tāpēc lielākās vides testē vairākos ciklos ar dažādām pieejām.
Kā pieeja ietekmē ilgumu
Informācijas trūkums var palielināt izpētes laiku. Savukārt pirmkoda un arhitektūras pārbaude pati var būt apjomīga, tāpēc baltās kastes tests nav automātiski īsāks. Ilgumu nosaka mērķis, tvērums, sarežģītība un vajadzīgais pārklājums; paredzi arī organizācijas laiku jautājumiem un piekļuves sagatavošanai.
Tāpēc pasūtītāja sagatavošanās izmaksas ir jāieskaita kopējā rēķinā. Ja neviens uzņēmuma pusē nespēj veltīt laiku dokumentācijai, kontiem un jautājumiem, plānotais pārklājums var samazināties vai darbs aizkavēties. Piekļuves un dokumentācijas trūkumus saskaņo pirms testa sākuma. Pārējie faktori, kas maina cilvēkdienu skaitu un kalendāro ilgumu, ir apkopoti sadaļā par testa cenu un ilgumu.
Kā izvēlēties
- Sāc ar jautājumu, uz ko tests atbild: “kas redzams no ārpuses”, “ko paveiktu viens uzlauzts konts” vai “vai šī lietotne ir droša pirms izlaišanas”.
- Ja atbilde ir pirmā – melnā kaste; ja otrā – pelēkā; ja trešā – baltā.
- Salīdzini ar budžetu: jo mazāk informācijas, jo lielāka laika daļa aiziet izpētei, nevis pārbaudei.
- Izlem atsevišķi, vai aizsardzības komandai jāzina par testu – tas ir cits jautājums nekā informācijas apjoms.
- Fiksē izvēli rakstiski kopā ar apjomu un noteikumiem; kā to izdarīt, aprakstīts ceļvedī kā sagatavoties ielaušanās testam.
Vēl viens praktisks solis: vienojies jau iepriekš, ko darīt, ja testētājs pelēkās kastes testā iegūst administratora tiesības jau pirmajā dienā. Vai tests turpinās ar jauniem, ierobežotiem kontiem, vai pāriet uz dziļāku izpēti ar iegūtajām tiesībām? Bez šīs vienošanās vērtīgākā testa daļa var aiziet sarakstei.
Biežākās kļūdas
- Melnā kaste izvēlēta “reālisma dēļ” ar mazu budžetu. Rezultāts – samaksāts par izpēti, nevis par atradumiem.
- Testētājam nedod kontus pelēkās kastes testā. Kontu izveide testa vidū parasti aizņem dienas un samazina pārbaudes laiku.
- Baltās kastes tests bez pirmkoda. Ja koda nav, tā praksē ir pelēkā kaste ar labāku dokumentāciju.
- Pieejas maiņa testa vidū. Tas parasti nozīmē, ka mērķis nebija skaidrs jau sākumā.
Avoti
- SP 800-115: Technical Guide to Information Security Testing and Assessment 2.4. nodaļa – ārējā un iekšējā, kā arī atklātā (overt) un slēptā (covert) testēšana un to izmaksu salīdzinājums.
- Web Security Testing Guide (stable) Metodika, kas nosaka konkrētas pārbaudes neatkarīgi no izvēlētās informācijas pieejas.
Plāno ielaušanās testu?
Atstāj e-pastu – OffSeq atbildēs par tavu sistēmu un testa tvērumu.
Paldies, pieprasījums saņemts.
Atbildēsim uz norādīto e-pasta adresi.
Pieprasījumu neizdevās nosūtīt. Mēģini vēlreiz vai raksti uz support@offseq.com.
Biežāk uzdotie jautājumi
Saistītie jautājumi
Kura pieeja ir labākā?
Nav vienas labākās – tas atkarīgs no mērķa. Pelēkā kaste ir biežākā lietotņu testos, jo līdzsvaro realitāti un pārklājumu; ārējiem testiem biežāk der melnā kaste.
Vai melnā kaste ir drošāka?
Tā ir realistiskāka, bet ne visaptverošāka. Ierobežotā laikā liela daļa jaudas aiziet izpētei, tāpēc daļa vājo vietu var palikt neatklāta.
Ar ko baltā kaste atšķiras no koda audita?
Koda pārskatīšanā galvenais pierādījumu avots ir pirmkods, taču to var papildināt ar izpildes pārbaudēm. Baltās kastes ielaušanās testā dokumentāciju un kodu izmanto arī praktisku uzbrukuma scenāriju pārbaudei. Precīzas metodes un nodevumus nosaka tvērums.
Vai vienā projektā var apvienot vairākas pieejas?
Jā, un bieži tā ir efektīvākā izvēle: sākt ar melno kasti, lai redzētu ārējo ainu, pēc noteikta laika saņemt kontus un turpināt kā pelēkās kastes testu.
Turpini lasīt
Citi ceļveži
-
Kas ir ielaušanās tests? Veidi un ieguvumi
Ielaušanās tests ir atļauts uzbrukums savām sistēmām. Kā tas atšķiras no skenēšanas un kādi ir veidi.
Lasīt ceļvedi -
Kā sagatavoties ielaušanās testam
Laba sagatavošanās padara testu noderīgāku. Kā noteikt mērķus, apjomu, noteikumus un ko darīt ar atradumiem.
Lasīt ceļvedi