Penetraatiotestaaja tekee saman kuin murtautuja: etsii tien sisään ja käyttää sitä. Useimpien maiden tietoverkkorikoksia koskevat lait eivät kysy aikeista. Ne kysyvät, oliko pääsy luvallinen. Koko ero palvelun ja rikoksen välillä on joukko asiakirjoja, jotka oikea henkilö on allekirjoittanut ennen työn alkua.
Tässä artikkelissa kuvataan nämä asiakirjat. Se ei ole oikeudellista neuvontaa: lainsäädäntö vaihtelee maittain, ja juristisi ratkaisevat, mitä sinuun sovelletaan.
Asiakirjat
Sopimus
Kaupallinen sopimus: mitä tehdään, mihin mennessä, millä hinnalla, millaisella vastuulla ja luottamuksellisuudella. Sopimus ei yksinään ole lupa. Se velvoittaa osapuolet toisiaan kohtaan; se ei itsessään määritä, mihin saa hyökätä.
Kirjallinen testauslupa
Järjestelmien omistajan ilmoitus, jolla hän sallii testin. Siinä tulee nimetä:
- järjestelmät osoitteena, verkkotunnuksena tai muuna yksiselitteisenä tunnisteena;
- ajanjakso, jonka aikana testaus on sallittua;
- henkilöt tai yritys, joilla on lupa testata;
- allekirjoittaja ja se, missä ominaisuudessa hän allekirjoittaa.
Testaajat kantavat sitä mukanaan, kirjaimellisesti tai kuvainnollisesti, koko toimeksiannon ajan. Kun hosting-palveluntarjoaja tai poliisi kysyy, mitä on tekeillä, tämä asiakirja vastaa.
Testauksen säännöt
Tekniset rajat: mitkä tekniikat ovat sallittuja ja mitkä rajattu pois, testausajat, pyyntötiheydet, mitä tapahtuu, kun järjestelmä muuttuu epävakaaksi, kenelle soitetaan yöllä. NIST SP 800-115 pitää testauksen sääntöjä suunnittelun pakollisena osana, ja PTES sijoittaa ne toimeksiantoa edeltävään vaiheeseen samasta syystä: kysymykset, joita ei ratkaista ennen testiä, ratkaistaan tietoturvapoikkeaman aikana.
Laajuuden kuvaus
Luettelo siitä, mikä kuuluu testauksen piiriin ja mikä ei. Rajaukset ovat yhtä tärkeitä kuin se, mitä sisällytetään: kassan takana oleva maksupalveluntarjoaja, hosting-yrityksen jaettu alusta, emoyhtiölle kuuluva kertakirjautumispalvelu.
Luottamuksellisuus ja tietosuoja
Salassapitosopimus, joka allekirjoitetaan, ennen kuin teknisiä yksityiskohtia vaihdetaan. Jos testauksessa voi tulla vastaan henkilötietoja, henkilötietojen käsittelysopimus. Euroopan unionissa tämä seuraa yleisen tietosuoja-asetuksen (GDPR) 28 artiklasta, kun testaaja käsittelee henkilötietoja asiakkaan lukuun.
Kuka saa allekirjoittaa
Lupa on yhtä arvokas kuin sen allekirjoittajan valtuudet.
- Järjestelmän omistaja, ei sen käyttäjä. Yritys ei voi antaa lupaa testata SaaS-tuotetta, jota se käyttää tilauksella.
- Henkilö, jolla on oikeus tehdä sitoumuksia yrityksen puolesta. Kehittäjä, joka tilaa testin työnantajansa tuotantojärjestelmään johdon tietämättä, ei ole antanut lupaa mihinkään.
- Jokainen omistaja, jos niitä on useita. Järjestelmä, jota yksi yritys ylläpitää toisen yrityksen infrastruktuurissa, voi tarvita molempien luvan.
Huolellinen palveluntarjoaja varmentaa tämän: katsoo kaupparekisterin ja verkkotunnusten omistajuuden ja vahvistaa tilauksen yrityksen virallisen kanavan kautta. Jos palveluntarjoaja ei kysy, sen pitäisi huolestuttaa sinua.
Kolmannet osapuolet
Lupasi kattaa sen, mikä on sinun. Sen ympärillä on yleensä järjestelmiä, jotka eivät ole.
Pilvipalveluntarjoajat. Suuret palveluntarjoajat julkaisevat testauskäytäntöjä resursseille, joita asiakkaat ajavat niiden alustoilla. Tätä kirjoitettaessa AWS, Microsoft Azure ja Google Cloud sallivat asiakkaiden testata omia resurssejaan ilman ennakkohyväksyntää niiden sääntöjen rajoissa, jotka kukin niistä julkaisee; AWS luettelee lisäksi palvelut, joita saa testata. Palvelunestotestausta ne kaikki rajoittavat. Käytännöt muuttuvat, joten ne tarkistetaan ennen jokaista toimeksiantoa eikä muisteta edellisestä.
Hosting ja hallinnoidut palvelut. Jaetulla hostingilla, hallinnoiduilla tietokannoilla ja sisällönjakeluverkoilla on omat ehtonsa. Osa edellyttää ilmoitusta, osa kieltää testauksen kokonaan.
Toimittajat ja kumppanit. Integraatio kumppanin kanssa ei laajenna lupaasi integraation kumppanin puoleiseen osaan. Ilman kumppanin kirjallista suostumusta testaus päättyy omaan rajaasi.
Tavalliset puutteet
- Testi on alkanut, testauslupa on yhä ”allekirjoitettavana”.
- Laajuudessa mainitaan verkkotunnus, ja sen takana oleva sovellus siirtyi toiseen osoitteeseen viime kuussa.
- Testausluvan on allekirjoittanut joku, jolla ei ollut valtuuksia allekirjoittaa sitä.
- Tuotantoympäristö kuuluu testauksen piiriin, eikä kukaan kertonut siitä ylläpitotiimille.
- Toisessa maassa toimivaa tytäryhtiötä testataan emoyhtiön antamalla luvalla.
Jokainen niistä muuttaa osan luvallisesta testistä luvattomaksi, eikä yksikään niistä näy teknisellä puolella.
Myös bug bounty on lupa
Bug bounty -ohjelma on julkisesti annettu lupa: ohjelman käytäntö kertoo, mitä saa testata ja miten, ja jokainen, joka noudattaa sitä, toimii omistajan luvalla. Safe harbour -lauseke lisää tähän omistajan sitoumuksen olla ryhtymättä toimiin käytännön rajoissa pysyviä tutkijoita vastaan. Se sitoo vain omistajaa. Se ei muuta rikoslakia eikä sido kolmansia osapuolia, ja siksi käytäntöä on noudatettava tarkasti ja järjestelmä, jolla ei ole ohjelmaa, ei ole kohde.
Lyhyesti
Ennen kuin ensimmäinen paketti lähetetään, pitäisi olla sopimus, kirjallinen testauslupa, jonka on allekirjoittanut siihen oikeutettu henkilö, testauksen säännöt, laajuus rajauksineen ja jokaisen sellaisen kolmannen osapuolen suostumus, jonka järjestelmiä testaus koskee. Miten me hoidamme tämän, kerrotaan tarkemmin sivulla ”Toimeksiannon kulku”.