19
Teollisuusautomaatiojärjestelmän tietoturvan testaaminen ja käytännön kokemuksia TITAN Loppuseminaari 09.11.2010 Sami Noponen, VTT

Teollisuusautomaatiojärjestelmän tietoturvan testaaminen ... · PDF fileLokivaihtoehdot ovat kattavat (txt, xml, html, docx). Automatisointi Testitapaukset ajetaan automaattisesti

  • Upload
    lyphuc

  • View
    224

  • Download
    1

Embed Size (px)

Citation preview

Teollisuusautomaatiojärjestelmän tietoturvan testaaminen ja käytännön kokemuksia

TITAN Loppuseminaari 09.11.2010Sami Noponen, VTT

224.11.2010

Teollisuusautomaation tietoturvatestaus – Johdanto

1990-luvulla tehdasjärjestelmiä alettiin liittää samaan lähiverkkoon toimistoverkon kanssa. Internetin yleistymisen myötä toimistoverkko liitettiin internetiin, jonka myötä internetin uhkat (hakkerit, virukset, verkkomadot) kohdistuivat suoraan teollisuusautomaatioon.Automaatiojärjestelmän asiakkaat voivat vaatia etäyhteyttä tehtaalle. Automaatiojärjestelmän toimittajat voivat valvoa etäyhteydellä, ettäjärjestelmää käytetään oikein. Teollisuusautomaatiojärjestelmissä on usein vanhoja laitteita, ohjelmistoja ja päivittämättömiä käyttöjärjestelmiä

-> paljon heikkouksia ja haavoittuvuuksia

Onnistunut verkkohyökkäys teollisuusautomaatiojärjestelmää vastaan voi aiheuttaa suuria rahallisia tai aineellisia menetyksiä, ympäristötuhoja, loukkaantumisia tai kuolemantapauksia.

324.11.2010

Teollisuusautomaation tietoturvatestaus – Johdanto

Esimerkkitapauksia2000: Queensland Australia. 48-vuotias mies murtautuu useita kertoja jätteidenkäsittelylaitoksen järjestelmiin ja aiheuttaa mittavia tuhoja vapauttamalla miljoona litraa jätevettä paikallisiin puistoihin ja vesistöihin. 2003: Ohio, USA: Slammer-mato pääsi ydinvoimalan sisäiseen verkkoon ja sammutti monitorointijärjestelmän viideksi tunniksi.2006: Kioto, Japani: Voimalaitosten turvallisuutta koskeva aineisto päätyi viruksen tartuttamasta työasemasta internetiin. Tiedoista selviää mm. voimalaitosten pohjapiirrokset, henkilökunnan ja vartijoiden henkilötiedot. 2008: New Orleans, USA. Hakkerit murtautuivat sähköverkon ohjausjärjestelmiin ja aiheuttivat sähkökatkoja useissa osavaltioissa. 2010: Harvinaisen edistynyt haittaohjelma Stuxnet leviää ympäri maailmaa usb-muistitikkujen välityksellä.

424.11.2010

Teollisuusautomaation tietoturvatestaus

Testisuunnitelma tehdään riskianalyysin pohjaltaKohdejärjestelmän kartoitus, rajapinnat ja mahdolliset hyökkäyskohteet.Testijärjestelyn toteuttaminen (testiympäristö)Työkalujen valintaAikataulun laatiminen

Tietoturvan testausmenetelmät: PenetraatiotestausHaavoittuvuusskannausHaavoittuvuuksien hyväksikäytön testaaminenRobustness-testausLähdekoodianalyysiTestikohteen monitorointi (suorituskyvyn mittaus testauksen aikana)

524.11.2010

Esimerkki: kohteen monitorointi testauksen aikana

Paketin numero

Aika (s)

624.11.2010

Huomioonotettavat asiat testauksessa

Tuotantoverkossa testaaminen on riski. Automaatiolaitteet voivatreagoida yllättävällä tavalla yksinkertaisiinkin testeihin, esim. Ping-viestiin. Testiympäristön tulee kuitenkin olla mahdollisimman lähellä tuotantoverkon konfiguraatiota. Todennäköisimmät uhkat teollisuusautomaatioympäristössä ovat vahingossa tapahtuvat sattumukset ja sisäisesti tapahtuva vahingonteko (työntekijät, organisaation sidosryhmät), joskin eniten vahinkoa aikaan saavat kohdennetut hyökkäykset kohteeseen.Testauksen apuna apuna kannattaa hyödyntää olemassa olevia referenssejä. Esimerkiksi:

[NIST-SP800-42] [NIST-SP800-82 (draft)]

724.11.2010

Tietoturvatestaustyökalujen evaluoinnin yhteenveto

824.11.2010

Tietoturvatestaustyökalujen evaluoinnin yhteenveto

924.11.2010

Achilles Satellite

Skannaukset: Palvelujen haku porttiskannauksella. Storms: Kuormituksen testaus eri pakettimäärillä. Tason määritys, kuinka paljon paketteja kohde jaksaa käsitellä.

Grammars: Generoi valideja ja invalideja viestejä testatakseen protokollatoteutusta tai

protokollapinon toimintaa.Satellite sisältää testit vähintään seuraaville protokollille:: ARP, BOOTP, CIP, DCOM,

DHCP, DNP3, Ethernet/IP, FTP, HTTP, ICCP, ICMP IGMP, IPv4, LLDP/LLDP-MED, MODBUS/RTU, MODBUS/TCP, MMS, NTP, RPC, SNMPv1, SNMPv2c, SNMPv3, TACACS+, TCP, Telnet, UDP ja Vnet/IP.

Achilles-testaus myydään yleensä asiakkaalle palveluna. Satellite- testien läpäisyvaaditaan Achilles Cyber Security sertifikaattia varten.

Muuta

Helppokäyttöinen graafinen käyttöliittymä, hyvin dokumentoitu. Helppokäyttöisyys

Suunniteltu erityisesti ICS-testaukseen. Tukee useita teollisuusautomaatioprotokollia.Soveltuvuus ICS-ympäristöön

Generoi pdf-raporttejaRaportointi

Erittäin automatisoituAutomatisointi

EiUhkien vaikutuksenvähentäminen

Erilliset protokollatesteritLaajennukset

TeollisuusautomaatiojärjestelmätTestikohde

Sisältää oman laitteiston ja windows-pohjaisen asiakasohjelmistonAlusta

Kehitetty useita vuosia, käytössä useissa yrityksissäKypsyystaso

MaksullinenMaksullisuus

Monikäyttöinen työkalu erityisesti ICS-ympäristöjä varten.Protokolla- ja fuzz-testaus, verkkohyökkäyssimulointi,porttiskannaus, monitorointi.

Luokitus

1024.11.2010

1124.11.2010

1224.11.2010

Codenomicon Defensics

Sisältää työkaluja noin 130 eri protokollalle, jotka myydään itsenäisesti.Codenomiconin työkalut on tarkoitettu robustness-testaukseenja etsimään vikoja

protokollatoteutuksista. Myös tiedostomuodon toteutuksien testaamiseen löytyy työkaluja. Työkalut pyrkivät löytämään virheitä kohdejärjestelmästä syöttämällä sekoitettuja (fuzzed) protokollaviestejä tai viestinpätkiä kohdejärjestelmään.

Ympäristön ja kohteen mukaan testaus voi viedä melkoisesti aikaa. Testeistä aiheutuva kohdejärjestelmän kaatuminen tai hidastuminen yleensä vaikeuttaa tai pitkittää testityötä.

Notes

Työkalu on helppo käyttää ja ajaa. Työkalun pääominaisuuksien oppiminen vie vain muutamantunnin. Sekä komentorivi, ettägraafinen käyttöliittymäversio ovat saatavilla.

Helppokäyttöisyys

Testiryhmät soveltuvat erinomaisesti ICS-ympäristölle. Modbus on ainoa testiryhmistä löytyvä”puhdas” ICS-protokolla, mutta muita yleisiä protokollia käytetään laajalti ICS-ympäristössä(erityisesti IPv4 (TCP, UDP, IPv4, ICMP, IGMP, ARP), HTTP Server (verkkolaitekonfigurointiin) sekä SNMPv1/2c/3.

SoveltuvuusICS-ympäristöön

Työkalu generoi testilokit ja yhteenvedon. Lokivaihtoehdot ovat kattavat (txt, xml, html, docx).Raportointi

Testitapaukset ajetaan automaattisesti. Automatisointi

Käyttäjä voi tarkastella jokaisen testitapauksen sisältöä. Kun kohdejärjestelmässä havaitaan epäilyttävää käyttäytymistä, ei-läpimenneet testitapaukset merkitään selvästi lokeihin.

Uhkien vaikutuksenvähentäminen

ProtokollarajapinnatTestikohde

Linux, Windows, OS XAlusta

Työkaluja on kehitetty noin 10 vuoden ajan.Kypsyystaso

Maksullinen, hinnoittelu tapauskohtaista.Maksullisuus

Toteutus, testaus, käyttöönotto, ylläpito.Kehitysvaihekäyttö

Mallipohjainen fuzz-testaus.Luokitus

Codenomicon DefensicsTyökalu

1324.11.2010

Testikohteena ohjelmoitava logiikkaohjain

• Ohjelmoitava logiikkaohjain lainattiin OAMK:ltaensimmäiseksi testikohteeksi.

• Yksinkertainen esimerkki teollisuusautomaatiojärjestelmän tietoturvatestauksesta

• Testausta varten laitteelle oli ohjelmoitu sovellus, joka avaa ja sulkee laitteen I/O-kanavia

1424.11.2010

Testikohteena ohjelmoitava logiikkaohjain

• IP-osoiteavaruuden selvittäminen Netstat-työkalulla (193.167.101.0)

• IP-osoitteen selvittäminen Nmap pingsweepin avulla (193.167.101.239)

•Porttiskannaus Nmap-työkalulla. Avoimet tcp- portit:

7 echo13 daytime17 qotd19 chargen80 http991 unknown

1524.11.2010

Havaintoja ohjelmoitavan logiikan testaamisesta

Palvelujen tunnistamisen jälkeen tehtiin google-hakuja logiikkaohjaimen nimellä ja mallilla, ja löydettiin laitteen käyttöohjeet. Telnet-yhteydelläporttiin 991 pystyimme esimerkiksi syöttämään komennon S <enter>, joka pysäyttää laitteessa ajettavan sovelluksen (ja tässä tapauksessa sammutti led-valot). Telnet yhteydellä pääsimme muokkaamaan mm. www-palvelimen sivuja.Verkkohyökkäysten kokeileminen jumiutti laitteen resurssit välittömästi. Jo vähäinenkin liikenne testilaitteen verkkorajapintaan sai laitteen verkkorajapinnan ja sovellukset pysähtymään. Yhteenvetona voidaan sanoa, että murtautuminen testikohteelle on hyvin helppoa. Laitteessa ei ole turvamekanismeja, ja sillä on hyvin rajallinen suorituskapasiteetti. Laitteen tietoturvaa lisäisi merkittävästi pääsynvalvonnan (varmenteet, käyttäjätunnus ja salasana) turvallinen toteutus.

1624.11.2010

Testikohteena MetsoDNA CR

1724.11.2010

Testikohteena MetsoDNA CR

Testiympäristössä käytettiin useita testaustyökaluja (Nmap, Codenomicon, Achilles Satellite, Wireshark, Nethawk iPro, Metasploit, CPPCheck, Nessus, Nikto, Netwox)

Verkkoon murtautumista testattiin myös päivän ajan Tampereen Metsolla järjestelmätestausympäristössä. Verkko oli konfiguroituasianmukaisesti, joten sisäänpääsy verkkoon ei onnistunut, eikähäiriöitä onnistuttu aiheuttamaan.

Valvomo PC:n näkymä

1824.11.2010

Johtopäätökset

• Teollisuusautomaatiossa käytössä paljon kaupallisia suljettuja protokollia, joille ei löydy testaustyökaluja -> testaaminen haastavaa

• Kaupalliset työkalut helppokäyttöisiä ja hyvin dokumentoituja. OpenSource testityökalut ovat ominaisuuksiltaan usein vaatimattomampia ja työläitä käyttää.

• Teollisuusautomaation tietoturvatestaus vaatii paljon manuaalista työtä ja valvontaa, kuten perinteinenkin tietoturvatestaus.

• Defense in depth-periaatetta noudattaen myös automaatioverkon laitteet tulee testata, vaikka hyökkääjän järjestelmään murtautumisen todennäköisyys olisikin pieni. Automaatiolaitteet voivat olla hyvin herkkiäerilaisille hyökkäyksille.

• Pelkkä tietoturvatestaaminen ei riitä. Huolellisella verkkoarkkitehtuurisuunnittelulla ja politiikkojen noudattamisella on tärkeäosa kokonaisuuden turvaamisessa.

1924.11.2010

VTT luo teknologiasta liiketoimintaa