ielaušanās tests

Melnā, pelēkā un baltā kaste: testēšanas veidi

Atjaunināts 6 min lasīšanai

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ā

Melnā, pelēkā un baltā kaste
KritērijsMelnā kastePelēkā kasteBaltā kaste
Sākotnējā informācijaNekāda vai tikai domēnsLietotāja konts un pamataprakstsPilna dokumentācija, bieži pirmkods
Laiks izpēteiLielsVidējsMazs
PārklājumsAtkarī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ākumpunktsUzbrucējs bez iekšējas informācijasPersona ar konkrētu piekļuvi un zināšanāmPersona ar plašu informāciju par sistēmu
Ko atrod vislabākĀrējo uzbrukuma virsmuTiesību un loģikas kļūdasKodā slēptas kļūdas, kriptogrāfiju
IerobežojumsGrūti sasniedzamas iekšējas funkcijasFunkcijas ārpus piešķirtajām lomāmNepilnīga vai novecojusi dokumentācija var radīt iztrūkumus
Tipisks lietojumsĀrējā tīkla testsTīmekļa lietotņu un API testsKritiska lietotne pirms izlaišanas
Pieejas nav savstarpēji izslēdzošas – tās bieži kombinē vienā projektā, sākot ar melno kasti un turpinot ar pelēko.

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

  1. 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”.
  2. Ja atbilde ir pirmā – melnā kaste; ja otrā – pelēkā; ja trešā – baltā.
  3. Salīdzini ar budžetu: jo mazāk informācijas, jo lielāka laika daļa aiziet izpētei, nevis pārbaudei.
  4. Izlem atsevišķi, vai aizsardzības komandai jāzina par testu – tas ir cits jautājums nekā informācijas apjoms.
  5. 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

  1. SP 800-115: Technical Guide to Information Security Testing and Assessment NIST · 2008 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.
  2. Web Security Testing Guide (stable) OWASP 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.

Datus izmantojam tikai atbildei uz šo pieprasījumu. Privātuma politika

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.