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).

Me myymme monenlaista tietoturvaskanneria ja skannausta. Vaikka yritämme tehdä erittäinkin selväksi, mitä skannerit milloinkin tekee, kohtaamme kuitenkin aika ajoin toteamuksen ”mutta meillä on jo skanneri”. Tätä on vaikea lähteä kumoamaan kuulostamatta pikkutärkeältä nippelisaivartelijalta joka vain haluaa myydä toisen valmistajan, mutta toiminnallisuuksiltaan pääasiallisesti identtisen tuotteen. Asiantuntijaroolissa tunnen aina tässä kohtaa suurta tarvetta selittää, myyntiroolissa selittely ei välttämättä tuota suuria voittoja. Siispä blog to the rescue.

Skannaamisen sietämätön keveys

Puretaan ensin skannerit omiin kategorioihinsa. Tässä blogissa käsittelemme seuraavilla tasoilla olevia skannereita:

Code

Koodi

Skannaa koodia ohjelmistokehityksen hyvin varhaisessa vaiheessa

Web applications

Sovellus

Skannaa sovelluksia ohjelmistokehityksen QA- ja tuotantovaiheissa

Network

Verkko

Skannaa infrastruktuuria, verkkoja ja verkkojen laitteita ulkoapäin

Server

Palvelin

Skannaa palvelinta ja käyttöjärjestelmää sisältäpäin yksityiskohtaisesti

Jokaisella skannerilla on omat hyvät puolensa. Huonoja puolia ei varsinaisesti ole – eri skannerit vain tekevät hyvin eri asioita. Kattavalla skannauksella voidaan saavuttaa kattava näkyvyys sovellus- ja ohjelmistokehityksen tietoturvaan, palvelimien ja laitteiden konfigurointeihin, vaatimustenmukaisuuteen sekä tuotannon jatkuvaan eheyteen. Tulokset palvelevat uhkien- ja riskienhallintaa.

Erilaiset skannerit ja näiden toiminta-ajatus

Scanners - Overview of different scanners
Erilaiset skannerit kokonaisympäristössä. Kuvassa ohjelmistokehitys alkaa vasemmalla ja kulkee oikealle. Tämä ei kuitenkaan ole täydellinen aikajana,sillä asioita tehdään toimintaympäristöstä riippuen jatkuvasti, kertaluontoisesti, tapauskohtaisesti - tai pahimmillaan ei ollenkaan.

1. Staattinen koodin tietoturvaskannaus - SAST

Sovellus- tai ohjelmistokehityksen alkupäässä skannataan koodia – lähdekoodia tai käännettyjä binääreitä. Tämä on SAST – static application security testing eli staattinen koodin tietoturvaskannaus tai analysointi. Tämä skannaus tapahtuu joko kehittäjän omassa ympäristössä, suoraan versiohallintajärjestelmästä tai jossain kohden CI/CD pipelinea.

Tämän skannauksen rooli on tuoda havainnointikykyä paljon ennen kuin koodi menee edes ensimmäisen kerran integraatio- tai muuhun testiympäristöön. Siksi että skannaus kohdistuu koodiin ja käytettyihin kirjastoihin, löydetään myös piileviä ongelmia jotka eivät välttämättä helposti löydy muissa myöhemmissä skannauksissa. Mitä aikaisemmin ohjelmistovirheet löytyvät, sitä vähemmän kustannuksia niiden korjaamiseksi tarvitaan.


Tässä kategoriassa on esimerkiksi edustamamme Veracode.

Automatisointi

Suositeltava

Kategoria

Koodi

Englanniksi

SAST

2. Webskannaus

Webskannauksessa kohteena on käytännössä yksi portti tai palvelu jossa pyörii web-applikaatio. Tarkoitus on löytää itse sovelluksesta tietoturvaongelmia, kuten injektiohaavoittuvuuksia. Joskus skannataan myös tietokantaa joka on sovelluksen takana. Automatisoitu webskannaus toimii parhaiten valmisohjelmistoille kuten WordPress, vastaavasti kertaluokkia huonoimmat tulokset saadaan kustomoiduilla sovelluksilla joissa on ”monipuolinen” tunnistus. Webskannauksen tukena käytetään yleensä pentestausta, joka on manuaalinen toimenpide jossa voidaan osittain käyttää aputyökaluna tätä webskanneria.

Skannaus tehdään yleensä muutosten yhteydessä tai ajastetusti kerran viikossa tai kuussa. Kohdistuu ohjelmistotasoon.

Tässä kategoriassa ovat automatisoidut skannerit kuten Holm Security, Veracode DAST (Dynamic Application Security Testing)​, Qualys tai Nessus tai manuaalinen skannaus kuten Burp ja erilaiset erikoistuneet sovelluskohtaiset skannerit kuten wp-scan tai sqlmap.

Automatisointi

Mahdollinen

Kategoria

Sovellus

Englanniksi

Web Application Scanning / DAST

3. Haavoittuvuusskannaus & verkkoskannaus

Haavoittuvuusskannaus kohdistuu verkossa tai aliverkossa olevien kaikkien palvelimien ja aktiivilaitteiden kaikkiin portteihin. Tässä skannauksessa syntyy myös verkon sisäinen inventaario. Skannauksessa löydetään haavoittuvuudet esim. fingerprinteillä, joka tarkoittaa että löydökset perustuvat tunnettuihin haavoittuvuuksiin. Skannauksen tarkoitus on lähinnä valvoa palveluissa olevia tunnettuja haavoittuvuuksia jotta ne voidaan korjata ajoissa, tai jotta näistä haavoittuvuuksista realisoituvia uhkia voidaan hallita tai mitigoida. Skannaus on yleensä ajastettu kerran viikossa tai kuukaudessa. Skanneri tarvitsee täysimääräisen pääsyn skannattaviin verkkoihin jotta kattavuus olisi hyvä.

Tässä kategoriassa ovat automatisoidut skannerit kuten Holm Security, Qualys tai Nessus.

Automatisointi

Ehdoton

Kategoria

Verkko

Englanniksi

Vulnerability Scanning

4. Käyttöjärjestelmä- tai serveriskannaus

Käyttöjärjestelmäskannaus kohdistuu palvelimen sisällä oleviin palveluihin, kuuntelijoihin/portteihin ja konfiguraatioihin. Tarkoitus on löytää heikkouksia palvelimen sisältä tai valvoa asetettujen konfiguraatioiden tai tietoturvakontrollien pysyvyys, eli vaatimustenmukaisuus. Skannaus on yleensä ajastettu kerran viikossa tai kuukaudessa. Skanneri tarvitsee käytännössä pääkäyttäjätunnukset jokaiselle käytettävälle palvelimelle ja skannaukseen liittyviä asioita ajetaan suoraan palvelimella.

Tässä kategoriassa ovat automatisoidut skannerit kuten Holm Security, Nessus, Qualys tai jokin erikoistyökalu kuten CIS-CAT.

Automatisointi

Suositeltava

Kategoria

Palvelin

Englanniksi

Vulnerability Scanning

5. Sovelluspalomuuri

Ensin on todettava että sovelluspalomuuri ei ole varsinainen skanneri siinä merkityksessa kuin muut tässä blogissa esitellyt skannerit. Sovelluspalomuuri analysoi – eli käytännössä skannaa – jokaisen webpalveluun kohdistuvan pyynnön ja estää aktiivisesti haitalliset pyynnöt. Tässä ei skannata palvelua kokonaisuudessaan. Ääriesimerkki – jos kukaan ei käytä palvelua, ei ole yhtään pyyntöä mitä skannata. Tämä on viimeisiä suojauskeinoja mitä sovellushallinnassa on käytössä ja sovelluspalomuureilla rakennetaan yleensä hätälaastareita kunnes itse sovellukseen saadaan oikea korjaus. Sovelluspalomuuri toimii reaaliaikaisesti ja vaatii laajasti konfiguraatiota.

Tässä kategoriassa on esimerkiksi F5 ASM.

Automatisointi

Reaaliaikainen

Kategoria

Sovellus

Englanniksi

Web Application Firewall

Mitä nyt valitsen ja kuinka perustelen valintani

Hyvä valinta mitä skannata, milloin ja millä työkalulla perustuu uhka- ja riskianalyysiin. Edelliset luvut, 1-5, yrittävät kertoa, että yksi valinta ei poissulje toista, vaan valinnat tuovat lisää kattavuutta. Jotkut uhka-analyysit ja tulokset ovat suoraviivaisia helppoja – no brainer -tasoa ”ilman tätä yrityksemme ei uskalla olla”. Joidenkin kohdalla taas kannattaa sekä tarvetta että käyttöönottoa suunnitella hyvin.  Jos yrityksellä ei ole mitään omaa sovelluskehitystä, ei koodiskanneria tarvita. Jos yrityksellä taas ei ole mitään omaa infraa, ei haavoittuvuusskanneria tarvita.

Lopuksi lopullinen totuus:

Huonoin laite on se jota ei koskaan hankittu. Toiseksi huonoin on se, joka hankittiin, mutta jota ei koskaan otettu kunnolla käyttöön.

Scanners - Overview of different scanners
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).

ota yhteyttä

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