Penetraatiotestistä maksetaan päivien mukaan. Jokainen päivä, jonka testaajat kuluttavat odottamalla käyttäjätunnusta, arvailemalla, miten jokin toiminto on tarkoitettu toimimaan, tai oman palomuurisi estäminä, on pois haavoittuvuuksien etsimisestä. Suurimman osan tästä odottelusta voi poistaa ennen aloitusta.
Päätä
Mikä on kysymys? ”Voiko uuden maksuprosessin julkaista turvallisesti” ja ”mitä kuka tahansa internetissä voi tehdä meille” johtavat eri testeihin. Kirjoita kysymys muistiin yhdellä virkkeellä: laajuus seuraa siitä.
Mikä kuuluu testauksen piiriin ja mikä ei? Luettele sovellukset, osoitteet ja ympäristöt. Luettele myös rajaukset: maksupalveluntarjoaja, emoyhtiön järjestelmät, vanha palvelu, joka kaatuu, kun sitä katsotaan.
Mikä ympäristö? Kannattaa valita testiympäristö, joka vastaa tuotantoa: testaajat voivat olla perusteellisia, eikä mitään todellista ole vaakalaudalla. Jos käytössä on vain tuotantoympäristö, sovi testausajat ja tekniikat, jotka ovat kiellettyjä.
Kuinka paljon testaajat tietävät? Testaus käyttäjätunnuksilla ja dokumentaation kanssa löytää päivässä enemmän kuin sokkotestaus. Sokkotestaus vastaa yhteen kapeaan kysymykseen: mitä ulkopuolinen saa aikaan ilman mitään tietoja. Päätä, kummasta maksat.
Valmistele
Käyttäjätunnukset. Yksi jokaista roolia kohden ja kahdessa erillisessä asiakasympäristössä, jos tuote jakautuu asiakasympäristöihin: asiakkaiden välistä pääsynhallintaa ei voi testata yhdellä asiakkaalla. Luo tunnukset ennen aloitusta, kirjaudu kullakin kerran sisään ja tarkista, että niissä on realistista dataa.
Dokumentaatio. API-määrittelyt, arkkitehtuurikaavio, kuvaus rooleista ja tärkeimmistä työnkuluista. Puutteelliset dokumentit ovat parempia kuin ei mitään.
Pääsy. Jos testiympäristö on VPN:n tai sallittujen osoitteiden listan takana, järjestä pääsy etukäteen ja testaa se. Päätä, pysyykö sovelluspalomuuri päällä. Jos testin kohde on sovellus, päästä testaajat palomuurin läpi; jos kohde on palomuuri, jätä se päälle ja kerro siitä.
Data. Täytä testiympäristö datalla, joka muistuttaa oikeaa rakenteeltaan mutta ei sisällöltään. Oikeat henkilötiedot testiympäristössä ovat havainto, jo ennen kuin testi on alkanut.
Varmuuskopiot. Varmista, että testattava ympäristö voidaan palauttaa. Testaajat ovat huolellisia; varmuuskopiot ovat sitä tilannetta varten, jossa huolellisuus ei riittänyt.
Ilmoita
Ylläpitotiimi ja valvontatiimi, ellei testin tarkoitus ole testata niitä. Anna niille testaajien lähdeosoitteet ja päivämäärät. Muuten ensimmäinen päivä päättyy siihen, että testaajat on estetty ja tietoturvapoikkeama on kirjattu.
Hosting- tai pilvipalveluntarjoaja, jos sen käytäntö sitä edellyttää. Suuret pilvipalveluntarjoajat eivät edellytä ilmoitusta, kun testaat omia resurssejasi niiden julkaisemien sääntöjen puitteissa; pienemmät hosting-yritykset edellyttävät usein.
Toimittajat, joiden järjestelmiä testaus koskee. Niiden suostumus tarvitaan kirjallisena.
Yksi yhteyshenkilö, joka on tavoitettavissa testausaikoina ja jolla on valtuudet tehdä päätöksiä: pidentää tunnuksen voimassaoloa, käynnistää palvelu uudelleen, keskeyttää testi.
Allekirjoita
- salassapitosopimus, ennen kuin mitään edellä mainituista luovutetaan;
- sopimus;
- kirjallinen testauslupa ja testauksen säännöt.
Mihin kutakin niistä tarvitaan, kerrotaan artikkelissa ”Mikä tekee penetraatiotestistä laillisen”.
Testauksen aikana
- Älä julkaise muutoksia testattavaan ympäristöön kertomatta testaajille. Yön aikana kadonnut havainto maksaa päivän selvittelyä.
- Älä korjaa havaintoja kesken testauksen, paitsi kriittisiä. Jos korjaat jonkin, kerro siitä.
- Vastaa kysymyksiin nopeasti. Testaaja, joka kysyy, miten jokin toiminto on tarkoitettu toimimaan, on yleensä löytänyt jotain.
- Odota kiireellisiä havaintoja heti. Kriittisestä haavoittuvuudesta ilmoitetaan, kun se on vahvistettu, eikä vasta loppuraportissa.
Testauksen jälkeen
- Käy yhteenveto läpi johdon kanssa ja havainnot kehittäjien kanssa. Ne on kirjoitettu eri lukijoille.
- Osallistu tulosten läpikäyntiin. Se on toimeksiannon edullisin tunti.
- Suunnittele korjaukset tärkeysjärjestyksessä ja kerro testaajille, kun ne on otettu käyttöön.
- Hyödynnä uusintatestaus. Korjaus, jota ei ole varmistettu, on oletus.
- Pidä raportti luottamuksellisena. Siihen asti, kunnes korjaukset on tehty, se on ohje sinuun hyökkäämiseen. Asiakkaita ja auditoijia varten on testaustodistus.
Tarkistuslista
| Ennen aloitusta | Tehty |
|---|---|
| Kysymys ja laajuus kirjattu, rajaukset mukaan lukien | |
| Ympäristö valittu, testausikkunat sovittu | |
| Tunnukset luotu jokaiselle roolille, kahteen asiakasympäristöön, jos tuotteessa on asiakasympäristöjä | |
| Dokumentaatio luovutettu | |
| Verkkoyhteydet järjestetty ja testattu | |
| Testidata paikallaan, ei oikeita henkilötietoja | |
| Varmuuskopiot tarkistettu | |
| Ylläpidolle, valvonnalle ja palveluntarjoajille ilmoitettu | |
| Yhteyshenkilö nimetty | |
| NDA, sopimus, kirjallinen testauslupa ja testauksen säännöt allekirjoitettu |
Kunkin palvelun sivulla kerrotaan, mitä juuri kyseinen testi edellyttää sinulta.