Melnā, pelēkā un baltā kaste: testēšanas veidi
Testu var veikt ar dažādu informācijas apjomu. Izvēle nemaina to, ko meklē, bet gan to, cik daudz no tā paspēj atrast – un cik ļoti tests atgādina īstu uzbrukumu.
Ko īsti nosaka pieejas izvēle
Informācijas apjoms, ko testētājs saņem pirms darba, nosaka, cik liela laika daļa aiziet izpētei. Melnās kastes testā izpēte var aizņemt lielāko daļu no visa laika; baltās kastes testā tā ir minimāla, un praktiski viss laiks paliek pašai pārbaudei. Tāpēc pie vienāda budžeta dažādas pieejas dod atšķirīgu pārklājumu.
Otrs, retāk pieminēts efekts ir atkārtojamība. Ja testētājs nezina, kas atrodas aiz robežas, viņš arī nevar apliecināt, ka konkrētā sistēmas daļa ir pārbaudīta. Baltās kastes tests dod tieši šo – pārliecību par pārklājumu.
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 | Nevienmērīgs | Labs | Vislielākais |
| Realitātes pakāpe | Visaugstākā | Augsta | Zemāka |
| Ko atrod vislabāk | Ārējo uzbrukuma virsmu | Tiesību un loģikas kļūdas | Kodā slēptas kļūdas, kriptogrāfiju |
| Ko visbiežāk nokavē | Iekšējo funkcionalitāti | Retāk lietotus ceļus | Reālas pamanāmības pārbaudi |
| Tipisks lietojums | Ārējā tīkla tests | Web-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 pilnu informāciju: arhitektūras aprakstu, tiesību modeli, konfigurāciju un bieži arī pirmkodu. Tā ir vienīgā pieeja, kas ļauj sistemātiski pārbaudīt visus ceļus, ieskaitot tos, kurus no ārpuses vienkārši nevar uzminēt – piemēram, administratora funkcijas, retās kļūdu apstrādes zarus vai kriptogrāfijas ieviešanu.
Pretī tiek zaudēta viena lieta: tests vairs neatgādina īstu uzbrukumu un neko nepasaka par to, vai uzbrucēju pamanītu. Ja svarīgs ir tieši pamanīšanas jautājums, tas jārisina 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. Abas ir loģikas kļūdas, ko skeneris neatrod.
- 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
Vienkāršs orientieris plānošanai: melnās kastes tests pie viena un tā paša apjoma parasti prasa vairāk dienu nekā pelēkās kastes tests, jo izpēte ir jāveic no nulles. Baltās kastes tests prasa mazāk testētāja laika, bet vairāk pasūtītāja laika – kāds no komandas sagatavo dokumentāciju, piekļuves un atbild uz jautājumiem.
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, formāli izvēlētā baltā kaste testa gaitā neizbēgami pārtaps pelēkajā – tikai par baltās kastes cenu un ar zaudētām pirmajām testa dienām.
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 Assessment2.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.
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 audits pārbauda kodu kā tekstu. Baltās kastes ielaušanās tests kodu izmanto kā palīglīdzekli, bet atradumus pārbauda darbojošos sistēmā, tāpēc apstiprina reālu izmantojamību.
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