Moni sulautettu laite on suojattu ohjelmistopohjaisella ratkaisulla. Usein parempi tapa olisi toteuttaa samaa laitteistolla. Vaikkapa FPGA-piirillä, kuten Intelin Ryan Kenny kertoo artikkelissaan.
Artikkelin on kirjoittanut Intelin Programmable Solutions Groupin Ryan Kenny. Hän aloitti uransa suunnittelijana Lockheed Martinilla vuonna 2000. Vuonna 2007 Ryan siirtyi FPGA-valmistaja Alteran palvelukseen markkinointipäälliköksi. Yrityskaupan jälkeen joulukuussa 2015 Ryan on työskennellyt Intelin ohjelmoitavien piiriein divisioonan teknisessä markkinoinnissa. |
Lukuisat julkaisut ja artikkelit kertovat meille päivittäin, että tietoturva on internetin kasvun ja informaatiotalouden seuraavan sukupolven uusin haaste. Olemme myös tietoisia nousevista uhkista ja hyökkäyksistä, jotka yksinkertaisesti ohittavat tämän hetken tietoturvatuotteet. Mutta mitä voimme tehdä tämän korjaamiseksi? Ja mikä tärkeämpää, vaatiiko se merkittävää paradigman muutosta siinä, miten kehitämme tietoturvaratkaisuja? Kuten Albert Einstein on sanonut: ”Se ajattelu, joka on johtanut ongelmaan ei voi tuottaa ratkaisua.”
Ilmoittaessaan McAfee Corporationin ostamisesta Intelin silloinen pääjohtaja Paul Otellini sanoi vuonna 2010 kuuluisasti, että ”tietoturvasta on tullut tietotekniikan kolmas pilari”. Mikä tärkeämpää, tietoturvasta tulee osana liiketoimintaa patisi tekninen myös poliittinen ja taloudellinen kysymys. Ponemon Institute mittaa joka vuosi tämän kybermurtautumisen kustannuksia liiketoiminnalle ja yhtä verkkotunkeutumista kohti kustannukset on arvoitu 3,8 miljoonaksi dollariksi. Globaalille taloudelle aiheutuu vuosittain jopa 450 miljardin dollarin menetykset.
Käyttämällä palomuureja ja testaushiekkalaatikkoja esimerkkeinä verkon turvallisuusratkaisuista huomataan, että valtaosa ratkaisuista on ohjelmistopohjaisia ja hyödyntävät virtuaalikoneita ja -ympäristöjä. Syitä tähän ovat ketteryys, siirrettävyys/liikuteltavuus, sekä taloudelliset kysymykset (ohjelmistopohjaisiin tuotteisiin tarvitaan tyypillisesti hyvin vähän alkupääomaa). Tärkeintä on tietenkin kyky päivittää ja paikata tuotteita, kun uusia haavoittuvuuksia ja uhkatekijöitä löydetään. Yksi nousevista trendeistä on uudelleenkonfiguroitavan laitteiston kuten FPGA-pirien käyttö. Nämä piirit tuovat merkittäviä etuja verkon turvallisuussovelluksiin (mitä kuvataan kahdessa seuraavassa osiossa) ja lsäksi ne tarjoava saman päivitettävyyden ja ketteryyden kuin ohjelmistot FPGA-järjestelmäpiirien muodossa, uusina suunnittelumalleina kuten OpenCL ja virtualisointitukena sekä ARM A9- että ARM A53-prosessoripohjaisissa alijärjestelmissä.
Kaistanleveys ja uudelleenkonfiguroitavan laitteiston nopeus ovat myös merkittävä tietoturvaetu. Laitteisto voi antaa verkon monitoroida kaikkea aktiivisuutta. Prosessoriin ja ohjelmistoon perustuva ratkaisu voi monitoroida liikennettä vain osittain kunnes rinnakkaisesta mallista tulee liian rasittava (ks. kuva 1).
Kuva 1. Murtautumisen havaitseminen
Oikein suunniteltuna, kun FPGA-bittitiedostot autentikoidaan laitteistolla, FPGA-piirejä ei voi muuttaa huomaamatta. Piiristöön kajoaminen ja sen estävien toimintojen muuttaminen edellyttää fyysistä pääsyä laitteeseen. Tämä mahdollistetaan autentikoidun osittaisen uudelleen konfiguroinnin sekä OpenCL- ja korkean tason synteesiohjelmointimallien avulla, jotka kuvaillaan jatkossa. Lisäksi avaintoiminto, jota ohjelmistopohjainen turvallisuusratkaisu ei mahdollista, on vikasietotoiminta. Mikäli suojatussa tuotteessa on looginen tai fyysinen virhe (komponentin pettäminen, teholähdepiikki, tunnistamattamia virheitä, jne.) tuote ajetaan vikatilaan. Tämä varmistaa, ettei tuote jatka toimintaa viallisessa tai puutteellisessa tilassa.
Myöskään FPGA-pohjaisia verkkolaitteita ei voi muuttaa verkkoliitännän yli (ns. etuovihyökkäys). Jos suunnittelua yritetään muuttaa, joko kajoamisen estävä (anti-tamper) mekanismi tai vikasietotila tunnistaa tämän ja sammuttaa laitteen.
FPGA-piireihin sisäänrakennetut turvatoiminnot tarjoavat merkittäviä etuja järjestelmissä, joissa luottamus perustuu rautaan. Näihin kuuluvat suojattu avainten tallennus, hämäännyttäminen (obfuscation) ja anti-tamper -tekniikat, sekä väärennösten estäminen ja asymmetriset salaustoiminnot kuten PUF (Physically Unclonable Function) ja erilliset elliptisiin käyriin perustuvat salauskiihdyttimet (accelerators). Kaikkea tätä auttaa ARM:n Trustzone-toiminnallisuus, joka on käytettävissä ARM A9- ja A53-prosessoriin pohjautuvissa järjestelmissä.
Yksi verkkoturvallisuussovelluksissa käytettävän ohjelmoitavan logiikan tutkimusalueista on räätälöidyt RISC-prosessorit (Reduced Instruction Set Computing) tarkkaan määritellyille verkon turvatoiminnoille, jotka toteutetaan FPGA-piireillä. Erityisesti pitää mainita Cambridgen yliopistossa kehitetty CHERI (Capability Hardware Enhanced RISC Instructions), jossa käytetään räätälöityjä muistinhallintayksiköitä (MMU, Memory Management Units) ja muistiliitäntöjä korjaamaan yleisiä ja tiedettyjä puutteita C-pohjaisissa ohjelmointikielissä. Tämän avulla ohjelmoitavaan logiikkaan perustuviin turvatuotteisiin voidaan valita uhkaympäristöön tai hyökkäystapaan räätälöityjä ”softaprosessoreita”.
Monet prosessorivalmistajat kuten Intel ja Freescale ovat ollee tmukana määrittelemässä TPM-moduulia (Trusted Platform Module) esimerkkinä laitetason suojauksesta parantaakseen käyttöjärjestelmän ja sovellusten tietoturvaa tietotekniikassa. Intel on lisäksi kheittänyt omaa TXT-tekniikkaanssa (Trusted Execution Technology), joka on osa heidän moderneja CPU-arkkitehtuureita.
ARM-tuotteet eivät luontaisesti tarjoa laitetason tietoturvaratkaisuja vaikka jotkut ARM-ekosysteemiin kuuluvat yritykset tarjoavat kehyksiä, joissa laitetason suojauksia voidaan hyödyntää.
NIST eli National Institute of Standards and Technology on yksi monista ryhmittymistä, jotka haluavat siirtää luottamuksen lähteen (root of trust) ohjelmistosta firmware-ohjelmistoon, käynnistysohjelmistoon ja laitteistoon mobiililaitteissa ja IoT-teknologioissa. Heidän ja monien muiden dokumentaatiossa lähdetään liikkeelle siitä, että ohjelmistopohjainen tietoturva on ongelmallista, firmware on parempaa, mutta prosessointilaitteistoon sisäänrakennettu suojaus on ihanteellinen.
Ohjelmoitavan logiikan komponentit tuovat mahdollisuuden integroida erilaisia laitetason suojauksia, kuten metallointiavaimia (metal keys) ja sulakeavaimia tukineen, sekä autentikoitua ohjelmoitavaan logiikkaan VHDL-kielellä toteutettua turvaa. Tällöin suojaus on myös ohjelmoitavissa ja päivitettävissä autentikoitujen päivitysmekanismien kautta.
Tietoturvatuotteet ovat perusluonteeltaan reaktiivisia. Tämä viittaa prosessiin, ossa uhkia identifioidaan, luokitellaan, niistä viestitetään, testataan päivityksiä ja korjauksia, ja lopulta ajetaan uhkamäärityksiä ja päivityksiä laitteisiin. Suurin murros tietoturva-ajattelussa tämän hetken tutkimuksessa on kyky ennakoida uhkia ja mallintaa hyökkääjien käyttäytymistä, jotta voidaan ennakoida uusia hyökkäysvektoreita. Nämä suurteholaskennan mahdollistamat muutokset saavat merkittävästi lisätehoa ohjelmoitavasta laitteistosta.
Yksi tekniikka hahmojen, kuvien ja puheen tunnistamiseen on konvoluutioneuroverkkojen (CNN, convolutional neural networks) mobiili käyttö. Tämän prosessointimenetelmän käyttöä on tutkittu ja demonstroitu grafiikkaprosessoreilla ja FPGA-piireillä useissa akateemisissa ja teollisuuden tutkimuslaboratorioissa. Ne ohjelmoidaan OpenCL:llä ja koodielementit kovakoodataan FPGA-piirin kiihdytyslohkoihin. Tekniikkaa voidaan hyödyntää myös uhkien havaitsemiseen ja haavoittuvuuksien arviointiin. Katso kuvaa 2 esimerkkinä FPGA-pohjaisesta pakettienkäsittelijästä.
Kuva 2. Pakettien käsittelijä
Mooren lain jatkumisen edellyttämän massiivisen rinnakkaisen ohjelmointimallin toteutusta on lähestytty kolmella eri tavalla viimeisen vuosikymmenen aikana: moniydinprosessoreilla ja ohjelmointimalleilla, virtuaalikoneiden hallinnalla ja rinnakkaisilla säikeillä sekä uudelleenkonfiguroitavalla logiikalla ja FPGA-piireillä. Tässä keskitymme vain viimeksi mainittuun.
FPGA-laitteisto on ainoa näistä kolmesta toteutustavasta, joka mahdollistaa tietoturvedut suhteessa julkistettuihin koodin haavoittuvuuksiin ja laitetason suojaukseen. Stratix 10 -piirin massiivinen ohjelmoitavan logiikan lisäys – ja pian markkinoille tuleva tiukasti integroitu Intel-prosessorien ja FPGA-toiminnallisuuksien yhdistelmä – tuo tämän kyvykkyyden tietoturvajärjestelmien kehittäjien käyttöön.
Heterogeeniset laskentamallit, kuten yllä kuvatut konvoluutioneuroverkot tai tiukasti liitetyt FPGA-mikroprosessorit vaativat, että heterogeenisesta ohjelmoinnista tulee käytännöllistä. Muutama nimekäs yritys tarjoaa nyt perinteisten verkko- ja kotitietoturvan elementtejä, joihin sisältyy virustentorjunta, palomuurit ja IDS/IPS. Vakiintuneet tuotteet, tukisopimukset, koodikannat ja koodattu uhkien mallintaminen muodostavat työkalupakin, jolla IT-ammattilaiset yrittävät rakentaa yritystason tietoturvaa, mutta ne voivat myös toimia esteenä innovaatioille, jotka veisivät kohti rekonfiguroitavaa laitteistoa ja massiivisesti rinnakkaista uhkien havaitsemista ja ennustamista.
Tämä ”keksijän dilemma” on myös myös mahdollisuus tietoturva-alan uusille pelureille, niin suurille kuin pienille. Ne voivat tarjota muista erottuvia tietoturvatuotteita, jotka perustuvat FPGA-piireihin ja niitä tukeviin heterogeenisiin laskentamalleihin.