Suojattu flash-muisti tarjoaa verkkoon liitetyille laitteille ja järjestelmille laitteistopohjaisen suojauskerroksen ja täyttää NIST SP800-193 -ohjeistuksen mukaiset häiriönsietovaatimukset. Muistipiireihin erikoistuneen Winbondin kehittämä suojattu flash-piiri on myös suoraan korvaava ja täysin yhteensopiva tavanomaisten NOR-flash-piirien kanssa.
Termi ’esineiden internet’ eli IoT syntyi noin parikymmentä vuotta sitten internetin vahvassa nousuvaiheessa. Tuolloin asiantuntijat kuvittelivat, että jokainen järjestelmä tai laite tulisi olemaan älykäs ja varustettu jonkin tason internetyhteydellä, joka tarjoaisi paljon edistyksellisiä ominaisuuksia. Termi keksittiin pääasiassa erottamaan itsenäisesti verkottuvat laitteet perinteisistä tietokoneista ja palvelimista, joissa säännöllinen manuaalinen huolto oli normikäytäntö.
Tuohon aikaan kyberturvallisuutta tarkasteltiin vain tietokoneiden ja palvelimien yhteydessä, ja muuntyyppisten laitteiden kohdalla käsite oli harvoin käytetty tai edes ymmärretty. Käytettävyys ja innovaatiot sen sijaan olivat nousemassa keskeiseen asemaan.
Ajan myötä nettiin liitettiin yhä enemmän laitteita: mobiililaitteita, teollisuuden ohjausjärjestelmiä, kodinkoneita ja jatkuvasti verkkoyhteydessä olevia tietokoneita. Koska yleistä ohjeistusta ei ollut, jokaisella toimittajalla oli omat toimintatapansa tietoturvan tai sen puutteen suhteen.
Yhteyksien lisääntyessä kasvoivat myös kyberturvariskit, ja tehokkaat nettiin kytketyt laitteet tulivat myös etähakkereiden kohteiksi. Nämä tunkeutujat pyrkivät hyödyntämään laitteiden ominaisuuksia omiin tarpeisiinsa. Tavoitteena saattoi olla verkkoon kytketyn järjestelmän väärinkäyttö, sen käyttäminen hyökkäysvektorina monimutkaisemmassa hyökkäyksessä tai bottiverkon muodostaminen myöhemmin toteutettavaa laajamittaista kyberhyökkäystä varten.
Nettiin kytkettyjen laitteiden kehittyessä talouselämästä on tullut yhä riippuvaisempi niiden toiminnasta. Se, mikä ennen oli uutta, on nykyään modernin yhteiskunnan tärkeä tukipilari. Infrastruktuurit, yleishyödylliset palvelut, kotitaloudet ja valtion virastot ovat kaikki riippuvaisia verkkoon kytkettyjen laitteiden moitteettomasta toiminnasta vakaan arjen ylläpitämiseksi.
Tämä johti siihen, että Yhdysvaltain National Institute of Standards and Technology NIST julkaisi toukokuussa 2018 laitealustojen laiteohjelmistojen häiriönsietoa koskevan NIST SP800-193 Platform Firmware Resiliency Guidelines -ohjeistuksen. Julkaisu koskee kaikkia verkkoon liitettyjä laitteita, joissa käytetään jonkinlaista laiteohjelmistoa, suurista ja monimutkaisista palvelimista pieniin sulautettuihin ohjaimiin.
NIST SP800-193 käsittelee häiriönsietokykyä eli sitä, miten järjestelmä tai alusta saadaan kestämään haitallisten hyökkäysten tai tahattomien virheiden aiheuttamia toimintahäiriöitä. Häiriönsietokyvyn perustana on kolme tukipilaria:

Suojauksessa (Protection) on kysymys alustalle sijoitetun koodin ja datan eheyden varmistamisesta. Eheys ei tarkoita sitä, ettei sisältöä olisi muokattu, vaan sitä, että se on tilassa, joka mahdollistaa toimittajan, käyttäjän ja infrastruktuurin vaatimusten mukaisen toiminnan. Koodin osalta tämä tarkoittaa, että järjestelmää suorittaa varmennettu ja luotettu versio koodista. Datan osalta se tarkoittaa, että tietoja ovat muokanneet ainoastaan valtuutetut tahot ja prosessit.
Havaitseminen (Detection) tarkoittaa alustan kykyä tunnistaa koodin ja kriittisen datan vioittuminen ja hälyttää siitä. Havaitsemisen on oltava erillisen tason vastuulla, koska vaarantuneen koodin ei voida luottaa tarkistavan itseään tai siihen liittyvää dataa.
Palautuminen (Recovery) on järjestelmän kyky palauttaa koodi ja kriittinen data oikeaan toimintatilaan.
Kun suojaus, havaitseminen ja palautuminen toteutetaan oikein, järjestelmän voidaan luottaa jatkavan toimintaansa kyberhyökkäyksistä ja erilaisista tahattomista virheistä huolimatta.
SP800-193-ohjeistus kattaa ainoastaan laiteohjelmiston ja kriittisen datan häiriönsietokyvyn. Se ei kata muiden tietojen menetystä tai vioittumista eikä järjestelmän laitteiston fyysisiä vaurioita.
Winbondin suojattu flash -ratkaisu
Seuraavassa esitellään, kuinka muistipiireihin erikoistuneen taiwanilaisen Winbond-yhtiön TrustME-tuoteperheen suojatut flash-piirit käytännössä toteuttavat NIST SP800-193 -ohjeistuksen mukaista häiriönsietokykyä.
Winbondin suojatut flash-piirit on suunniteltu häiriönsietokykyä silmällä pitäen. Ne vastaavat SP800-193-ohjeistuksen kolmeen tukipilariin logiikalla, joka on rakennettu suoraan flash-piirin laitteistoon. Näin häiriönsietotoiminnoille muodostuu tarvittava erillinen suojauskerros.
Suojauksen perusteet
1. Luottamusjuuri
Laiteohjelmiston säilyttäminen eheänä mahdollistaa sen käyttämisen luottamusjuurena (Root of Trust). Käyttäjä ja infrastruktuuri voivat luottaa laiteohjelmiston toimintaan järjestelmän ohjaamisessa sekä siihen, että se varmentaa laiteohjelmiston muiden osien aitouden ja eheyden ennen niiden suorittamista.
2. Kryptografinen kirjoitussuojaus
Winbondin suojatut flash-piirit hyödyntävät kryptografista kirjoitussuojausta (CWP) järjestelmän laiteohjelmiston ja kriittisen datan eheyden säilyttämiseksi. CWP:n avulla alustan suunnittelija voi suojata flash-muistin osia pyyhkimiseltä tai ohjelmoinnilta.
Näihin osiin voidaan kirjoittaa tai niitä voidaan pyyhkiä ainoastaan kryptografisen todennusprosessin kautta. Todennus edellyttää kryptografisia avaimia, jotka on tallennettu turvallisesti flash-piirin ulkopuolelta saavuttamattomaan osaan.
Hyökkääjä ei tunne avaimia, koska niitä ei säilytetä järjestelmässä selväkielisinä. Avaimet ovat lisäksi järjestelmäkohtaisia, mikä estää yhden laitteen murtamisen johtamasta muiden järjestelmien laajamittaiseen vaarantumiseen.
3. Todennettu päivitysmekanismi
SP800-193-ohjeistus edellyttää, että järjestelmän laiteohjelmisto päivitetään oikea-aikaisesti tietoturvahaavoittuvuuksien korjaamiseksi. Päivitys on tehtävä todennetun päivitysmekanismin kautta, joka varmistaa, että päivitys on aito eli peräisin oikeasta lähteestä sekä eheä eli täydellinen ja muokkaamaton.
Laiteohjelmiston päivitykseen on siksi liitettävä allekirjoitettu tiiviste, jonka avulla järjestelmä voi varmistaa, että päivityskoodi on aito, täydellinen ja muokkaamaton.
Tämä synnyttää kuitenkin muna vai kana -ongelman: entä jos itse päivitysmekanismi on haavoittuvainen ja se pitää korjata? Jos päivitysmekanismin haavoittuvuus antaa hyökkääjälle mahdollisuuden ladata vaarantuneen laiteohjelmiston, miten mekanismiin voidaan luottaa?
Tämän ratkaisemiseksi Winbondin suojatussa flash-piirissä on sisäinen mekanismi, joka huolehtii laiteohjelmistopäivitysten todennuksesta ja eheyden suojauksesta. Lisäksi päivitysmekanismi suojaa vanhempaan ohjelmistoversioon palauttamiselta ja toteuttaa päivityksen atomisesti eli siten, ettei järjestelmä jää osittain päivitettyyn tilaan.
Päivitysmekanismi mahdollistaa uuden laiteohjelmistokuvan kirjoittamisen flash-piiriin pala kerrallaan, mikä helpottaa päivittämistä hitaiden tai epäluotettavien verkkoyhteyksien kautta. Kun koko päivityskuva on kirjoitettu, suojattu flash-piiri todentaa uuden kuvan ja tarkistaa, että se on eheä ja aito ja että sen versionumero on flash-muistissa olevaa versiota uudempi.
Jos tarkistukset onnistuvat, suojattu flash-piiri vaihtaa uuden ohjelmistokuvan vanhan tilalle, jolloin järjestelmä saa käyttöönsä aidon ja päivitetyn laiteohjelmiston. Koko prosessi on vikasietoinen, mikä parantaa alustan häiriönsietokykyä ja estää järjestelmää jäämästä toimintakyvyttömään tilaan, jos päivityksen aikana tapahtuu virhe.
Havaitseminen
SP800-193 edellyttää, että järjestelmä havaitsee laiteohjelmiston ja kriittisen datan luvattomat muutokset ennen niiden suorittamista tai käyttöä. Kun muutos havaitaan, järjestelmä voi käynnistää palautusprosessin.
1. Eheyden automaattinen tarkistus
Winbondin suojattu flash käynnistää laiteohjelmisto-osion eheyden tarkistuksen automaattisesti järjestelmän virrankytkennän yhteydessä sekä käyttäjän pyynnöstä. Eheystarkistus käy läpi koko laiteohjelmisto-osion ja etsii luvattomia muutoksia. Jos niitä havaitaan, suojattu flash käynnistää jäljempänä kuvatun palautusprosessin.
Automaattinen eheystarkistus toteutetaan kokonaan flash-piirin laitteistossa, joten se muodostaa erillisen lisäsuojakerroksen.
2. Laiteohjelmiston käynnistämä datan todennus
Kriittisen datan todentamiseksi Winbondin suojattu flash tukee erillistä laitteistopohjaista todennusmekanismia. Laiteohjelmisto voi käynnistää mekanismin tarvittaessa varmistaakseen, ettei kriittinen data ole vioittunut.
Mekanismi perustuu sisäiseen SHA-256-moottoriin, joka mahdollistaa suurten datajoukkojen erittäin nopean todentamisen ilman, että tietoja tarvitsee siirtää flash-muistista työmuistiin.
Palautuminen
Palautusmekanismin tehtävänä on palauttaa alustan laiteohjelmisto ja kriittinen data kelvolliseen ja hyväksyttyyn tilaan, jos niiden havaitaan vioittuneen.
1. Laiteohjelmiston automaattinen varaversio
Automaattista laiteohjelmiston palautusta varten Winbondin suojatuissa flash-piireissä on varaosio. Se sisältää vaihtoehtoisen laiteohjelmiston, joka otetaan automaattisesti vioittuneen laiteohjelmiston tilalle, jos vioittuminen havaitaan.
Vaihtoehtoinen laiteohjelmisto voi olla joko aito kopio alkuperäisestä laiteohjelmistosta tai järjestelmän palauttamiseen tarkoitettu erityinen laiteohjelmistoversio.
Laiteohjelmiston automaattinen varatoiminto toimii yhdessä automaattisen eheystarkistuksen kanssa. Järjestelmän käynnistyksen yhteydessä flash-piiri tarkistaa laiteohjelmiston eheyden sisäisesti. Järjestelmä pidetään tämän lyhyen ajan nollaustilassa. Jos eheystarkistus epäonnistuu, flash-piiri ottaa varaosion automaattisesti vioittuneen laiteohjelmisto-osion tilalle ja antaa järjestelmän käynnistää varalla olevan laiteohjelmiston.
Varaohjelmisto voi olla kopio aidosta järjestelmäohjelmistosta, tai se voi mahdollistaa laiteohjelmiston palauttamisen joko paikallisesti tallennetusta kopiosta tai etätallennuksesta.
Varaohjelmisto on suojattu kryptografisella kirjoitussuojauksella, jossa käytetään kyseiselle osiolle tarkoitettua yksilöllistä avainta. Näin muiden osioiden avainten vaarantuminen ei vaaranna varaohjelmistoa. Tämä vastaa SP800-193-ohjeistuksen vaatimuksiin palautusmekanismin eheydestä.
2. Kriittisen datan palauttaminen
Winbondin suojattu flash mahdollistaa erilaiset suojausmenetelmät eri osioille. Kriittiset tiedot voidaan tallentaa kahteen erilliseen osioon, joilla kummallakin on oma yksilöllinen avain. Näin kriittistä dataa voidaan suojata vioittumiselta ja haitallisilta hyökkäyksiltä.
Tiedoista voidaan siis säilyttää paikallisesti suojattu kopio, jota voidaan käyttää alkuperäisen datan vioittuessa.
Päivitys NIST-ohjeistuksen mukaiseksi vaivatonta
NIST SP800-193 määrittelee järjestelmälle asetettavat vaatimukset, joiden avulla se voidaan suojata laiteohjelmiston ja kriittisen datan vioittumiselta haitallisten hyökkäysten tai toimintahäiriöiden seurauksena. Vaatimusten täyttäminen edellyttää erillistä suojauskerrosta. Tällainen suojauskerros perustuu muuttumattomaan koodiin, jonka toteuttaminen on vaikeaa.
Winbondin suojattu flash tarjoaa tämän suojauskerroksen laitteistossa ja vastaa NIST SP800-193 -ohjeistuksen häiriönsietovaatimuksiin. Suojattu flash on suoraan korvaava ja täysin yhteensopiva tavanomaisten NOR-flash-piirien kanssa. Näin järjestelmä voidaan muuttaa NIST SP800-193 -ohjeistuksen mukaiseksi vähäisin muutoksin.
Lisätietoja on saatavissa Winbondin Secure Flash -sivuilta.




















