Thomas

Thomas

The author works at and owns Mint Security, a mean and lean security company founded in 2015. No fuzz (literally - we do not fuzz, there are companies better equipped to do that).
Share on facebook
Share on twitter
Share on linkedin
Share on xing
Share on whatsapp

Käsitteet

Yleinen web-sovelluksen tietoturvan arviointiin käytetty työkalu on tunkeutumistestaus. Rakkaalla lapsella on monta nimeä, ja tunkeutumistestaus tunnetaan myös nimellä pentest eli englanniksi penetration testing. Kyseessä on luvallinen simuloitu hyökkäys, jolla pyritään käyttämään sovellusta siten, että se voi olla vahingollista joko järjestelmälle, järjestelmässä olevalle tiedolle tai järjestelmää kättäville henkilöille.

Tavoitteet

Auditointi - kenelle se on tarkoitettu?

Testin tarkoituksena on pyrkiä simuloimaan pahantahtoisen hyökkääjän aikeita ja todentaa sovelluksen toiminta poikkeuksellisessa tilanteessa. Tavoitteeksi asetetaan useimmiten yleisimpien virheiden löytäminen sovelluksesta. Tämä on erittäin hyvä lähestymistapa varsinkin silloin, jos sovellusta tai järjestelmää ollaan ensimmäistä kertaa testaamassa.

Testauksen kriteeristönä käytetään tunnettuja ja yleisesti hyväksyttyjä, erityisesti web-sovellusten tietoturvan arviointiin luotuja standardeja ja tarkistuslistoja, joista käytetyin on OWASP top-10. OWASP top-10 kattaa yleisimmät web-sovelluksissa esiintyvät virheet ja tätä tarkistuslistaa ylläpidetään ja tarkistetaan säännöllisesti. Siksi voidaankin aina oletusarvoisesti luottaa siihen, että noudattamalla OWASP top-10 ensisijaisena testauskriteerinä, ollaan testaamassa oikeita asioita.

Muita testauskriteereitä voivat olla esim. SANS 25 tai jokin toimialakohtainen testausviitekehys kuten PCI-DSS.

Tunkeutumistestauksen tukena saatetaan myös käyttää lähdekooditarkastusta. Useimmiten lähdekooditarkastusta käytetään tukemaan tunkeutumistestausta eikä lähdekoodia lueta rivi riviltä. Jos lähdekoodia päädytään tarkistamaan tarkemmin, käytetään useasti apuna OWASP ASVS-viitekehystä.

Skannaus tukee testausta

Verkko- ja palvelinskannauksella luodaan sovelluksen elinympäristöstä tilannekuva ja varmistetaan, että sovelluksen taustainfrastruktuurissa ei ole sellaisia aukkoja, joita hyödyntämällä mahdollinen hyökkääjä voisi ohittaa käytetyt suojaukset. Samalla löydetään mahdollisia kohteita varsinaiseen tunkeutumistestaukseen. Skannaus voidaan ympäristöstä riippuen tehdä sekä sisäisen että ulkoisen hyökkääjän näkökulmasta.

Kohteet

Sovelluksilla on useimmiten sekä asiakasrajapinta – sovelluksen normaali käyttöliittymä – ja lisäksi jonkinlainen sisäinen käyttöliittymää. Jälkimmäistä käytetään yleensä yrityksen toimihenkilöiden toimesta. Tämän lisäksi on usein hyvä tunnistaa erilaiset API-rajapinnat joiden testaaminen voi olla perusteltua myös muutoin kuin sovelluksia käyttämällä.

Testaus suoritetaan suurimmalla mahdollisella varovaisuudella, noudattaen periaatetta, jossa tietoisesti vältetään esim. tuhoisien tietokantasyötteiden käyttämistä testauksen aikana. Syötteet voivat testauksen aikana olla virheellisiä ja rikkinäisiä, mutta esim. tietokantoihin kirjoittavia tai tietokantoja tuhoavia (DROP) testisyötteitä ei käytetä. Tämä mahdollistaa sen, että testaus suoritetaan täysin tilanteesta riippuen joko tuotantoympäristössä tai testiympäristössä.

OWASP Top-10 Application Risk
Lähde: OWASP Top-10 2017

Erityiset tarkistuspisteet

Testeissä kiinnitetään usein huomiota valtuuksien ristiinkäyttöön, esim. korkean tason käyttöoikeuksien ja normaalikäyttäjän valtuuksien korottaminen ja väärinkäyttäminen. Muita tarkistuspisteitä OWASP top-10 ulkopuolella sovitaan aina erikseen asiakkaan kanssa. On hyvä nostaa esille myös yksittäisiä huolenaiheita.

Huomioitavia asioita

Jos järjestelmän suojana on teknisiä kontrolleja jotka estävät tunkeutumistestauksen suorittamisen (IDS/IPS, WAF sovelluspalomuuri, Ratelimiter, Autoban-järjestelmä, blacklistoja, …) on nämä syytä kytkeä pois päältä jotta tunkeutumistestaus voidaan suorittaa onnistuneesti loppuun. Mainitut tekniset kontrollit estävät tehokkaasti tunkeutumistestauksen suorittamisen – näiden teknisten kontrollien testaus on suoritettava erikseen jos tilanne ja scope niin vaatii.

Vaikka testaus suoritetaan suurimmalla mahdollisella varovaisuudella ja hyviä ammattieettisiä toimintatapoja noudattaen, on mahdollista että järjestelmät vahingoittuvat tai toiminta keskeytyy testauksen aikana. Tilaajan vastuulla on huolehtia varautumisesta. Auditoija pitää aina asiakkaan ajan tasalla mahdollisissa ongelmatilanteissa.

Testaus voidaan aina suorittaa tietyistä ip-osoitteista, jolloin nämä ip-osoitteet voidaan whitelistata testien ajaksi.

Lopuksi

Tunkeutumistestaus eli pentestaus on tietoturvan perustyökalu. Testaus kannattaa suorittaa siten, että kehitystiimit ovat mukana ja saavat raportin lisäksi mahdollisuuden kysyä suoraan auditoijalta tarkennuksia ja vihjeitä ongelmien korjaamiseksi.

Kehitystiimien avuksi voidaan myös järjestää tietoturvahackathon, jossa kehittäjät itse pääsevät kokeilemaan pentestausta.

Thomas

Auditointi

Auditointi Auditointi lyhyesti Auditointi tarkoittaa monia asioita. Meille se tarkoittaa asiakkaalle räätälöityä järjestelmä-, ympäristö sekä prosessitarkistusta. Sen lisäksi että kuuntelemme mistä asiakas on kiinnostunut, kerromme

Read More »
Thomas

Thomas

The author works at and owns Mint Security, a mean and lean security company founded in 2015. No fuzz (literally - we do not fuzz, there are companies better equipped to do that).
Share on facebook
Share on twitter
Share on linkedin
Share on xing
Share on whatsapp

ota yhteyttä

Pyydä rohkeasti lisätietoa. Vastaamme todennäköisesti nopeammin kuin osasit kuvitella.