Uusimmalla älyelektroniikalla, piireillä ja sulautetuilla suorittimilla voidaan toteuttaa verkkoon uudenlaisia laitteita joiden tietoturvasta ja suojauksista on pidettävä myös entistä parempaa huolta. Tässä elektroniikkasuunnittelun viidennessä osassa annetaan kokonaiskuvan lisäksi suunnitteluvinkit ja listataan palveluita, joiden avulla voidaan varmistaa laitteiden toiminta, luotettavuus ja tietoturvasuojaukset.
PLUS +++
- Osa1. Tutki ja selvitä markkinoista piiri- ja ohjelmistovalintoihin, julkaistu 28.2.2023 (LINKKI)
- Osa 2. Kohti protoa piireistä moduuleihin ja ohjelmointiin, julkaistu 5.4.2023 (LINKKI)
- Osa 3. Kotelointi, laitekokoonpano ja sertifioinnit, julkaistu 8.5.2023 (LINKKI)
- Osa 4. Sulautetut ohjain- ja FPGA-ratkaisut työkaluineen, julkaistu 1.11.2023 (LINKKI)
- Osa 5. Sulautetun ratkaisujen tietoturva – verkko ja IoT, julkaistu 11.11.2023
- Nykyelektroniikan suunnittelukoulu, e-lehtenä, osat 1-3 pdf- ja issuu-muodossa, ilmestyi toukokuussa 2023 (LINKKI).
- Nykyelektroniikan suunnittelukoulu+++ -e-lehtenä, mukana myös laajennusosat 4. ja 5 pdf- ja issuu-muodossa, ilmestyy 2023/2024
Kirjoittaja Tomi Engdahl, kuvat valmistajat
Kaikki sulautetut järjestelmät ovat alttiita erilaisille tietoturvariskeille, jotka voivat pahimmillaan aiheuttaa vakavia seurauksia sekä käyttäjille että ympäristölle. Siksi tietoturva kannattaa ottaa jo lähtökohtaisesti huomioon jo laitteen tai järjestelmän suunnitteluvaiheesta aina ylläpitovaiheeseen ja käytöstä poistamiseen ratkaisun elinkaaren päättyessä. Varsinkin kun esineiden Internet voi muodostaa turvattomille laitteille huomattavan riskin koko digitaaliselle toimintaympäristölle.
Ja kun verkko on jo läsnä kaikkialla, jokainen IoT-laite on hyökkäyksille alttiina. Nykyisin laitteisiin hyökkääjät ovat hyvin kokeneita ja tietoja eri laitteiden haavoittuvuuksista on paljon tarjolla. IoT-ratkaisuihin kohdistuvan hyökkäyksen tavoitteena voi olla esimerkiksi järjestelmän toiminnan häiritseminen, laitteessa olevien tietojen varastaminen, laitteen käyttö hyökkäysreittinä pääsyyn yrityksen sisäverkkoon tai laitteen liittäminen osaksi hyökkäyksiin käytettävää botti-verkkoa.
Toimiva turvallisuus varmistaa
Pyrkimys kestävän turvallisuuden aikaan saamiseksi tulee olla tavoitteena. Tietoturvallinen toiminta on oltava toimivaa jo tuotteen lähtiessä tehtaalta ja sitä on pidettävä yllä ohjelmistopäivityksin.
Sulautettujen järjestelmien suunnittelijoiden on omaksuttava turvallisuus ensin -lähestymistapa varmistaakseen, että heidän suunnittelemansa järjestelmät ovat suojattuja tietoturvariskeiltä. Siksi verkkoturvallisuus, ohjelmistoturvallisuus ja fyysinen suojaus ovat tärkeitä IoT-laitteissa.
Ja samalla kaikki suunnittelun ja toteutuksien yksityiskohdat on otettava huomioon, jotta ratkaisut pysyvät turvallisina ja suojattuina. Varsinkin kun sulautettujen ja IoT-laitteiden tietoturvan toteuttaminen on erilaista kuin toimistotietokoneiden. Niissä ei ole useinkaan sisäänrakennettuja IT-maailman turvajärjestelmiä, kuten ns. täysmittaisia tietoturvaohjelmistoja.
IoT-laitteiden suunnittelijoiden onkin pysyttävä koko ajan tasalla laitteessa käytössä olevista ohjelmistokomponenteista, ja niistä mahdollisesti löytyneistä haavoittuvuuksista. Suojaus on vain niin vahva kuin sen heikoin lenkki, joten asia on erittäin tärkeä tiedostaa.
Sulautettujen IoT-ratkaisujen haavoittuvuuksien ymmärtäminen ja testaus on usein monimutkaista ja vaatii erikoisosaamista. Siksi monet yritykset ja organisaatiot turvautuvat hyödyntämään niiden toteuttamisessa ja analysoinnissa ulkoisia tietoturva-asiantuntijoita tai yrityksiä. Niitä on listattu tämän artikkeliosuuden linkkipankkiosuuteen.
Arvioi riskit ennen suunnittelua
Ennen mitään suunnittelun aloittamista tulee aina suorittaa riskien arviointi, jossa nostetaan esille mahdolliset tuotteeseen liittyvät tuoteturvallisuuden ja tietoturvaan liittyvät riskit. Tietoturvariskit kun voivat olla yhteydessä myös tuotteen yleiseen tuoteturvallisuuteen, joissa ohjelmiston virhetoiminta voi aiheuttaa myös fyysisen vaaratilanteen.
Hyvin tehty tietoturvariskien ja niiden vaikutuksien arvioiminen auttaa määrittämään myös turvallisuusominaisuudet ja suojaustoimenpiteet. Riskien arviointivaiheessa onkin syytä tutustua tuotetta koskevien standardien vaatimuksiin, laitetta mahdollisesti koskeviin tietoturvastandardeihin sekä yrityksen omiin ohjeisiin tuoteturvallisuuden osalta.
Dokumentoi käyttämäsi ohjelmistokomponentit, niin itse kehitetyt, kuin kaupallisesti myytävät ja avoimen lähdekoodin osuudet. Erityisen tärkeää on dokumentoida jokaisesta ohjelmistokomponentista nimi, ja lähde sekä miten sen turvallisuus on varmistettu ja käytössä oleva komponentin versio. Ajan tasalla oleva listaa tarvitaan tietoturvahaavoittuvuuksien seuraamisessa.
Tietoturvastandardeja sovellettaessa on usein hyvä tehdä standardin vaatimuskohdista Excel-taulukko, johon täytät tiedot kuten täyttääkö laite kyseisen vaatimuksen vai ei ja millä tavalla vaatimus täytetään tai miksi ei täyty.
Suunnittele myös, miten pystyt jatkossa täyttämään puuttuvat vaatimukset tai perustelemaan että miksi niitä ei tarvitse täyttää. Kyseinen lista tulee auttamaan laitekehityksen suunnittelussa, mutta myös auttamaan tietoturva-auditoinneissa. Eli kun asiat on dokumentoitu kunnolla, niin vaikeisiin tietoturvakysymyksiin on helpompi vastata sekä antaa oikeita arvioita työmääristä mitä vaaditaan laitteen turvallisuustason nostamiseksi.
Varmista ohjelmiston oikeellisuus
Ohjelmiston alkuperäisyyden varmistaminen on sulautetussa kriittisen tärkeää tietoturvan ja laitteen luotettavuuden kannalta. Tavoitteena on varmistaa ennen ohjelmakoodin suorittamista, että ohjelmisto on peräisin luotetusta lähteestä eikä sitä ole muutettu tai vahingoitettu.
Ohjelmiston alkuperäisyyden varmistaminen sulautetussa ympäristössä vaatii kokonaisvaltaisen lähestymistavan, joka sisältää sekä laitteistoon että ohjelmistoon liittyviä turvatoimia. Luotettava käynnistysprosessi varmistaa, että vain hyväksytyt ja allekirjoitetut ohjelmistot ladataan ja käynnistetään laitteessa. Eheydenvalvonnan avulla voidaan havaita, jos laitteiston tiedostojärjestelmässä olevia tärkeitä tiedostoja yritetään muuttaa.
Tyypillisesti valmistaja allekirjoittaa ohjelmistonsa digitaalisesti avaimella ja moderni tietoturvaominaisuuksilla varustettu laite varmistaa allekirjoituksen julkisen avaimen avulla. Tämä allekirjoitus varmistaa, että ohjelmisto on peräisin luotetusta lähteestä ja että se ei ole muuttunut sen jälkeen, kun se on julkaistu.
Laiteohjelmiston sisällön salaamiseksi uteliailta allekirjoitusprosessi voidaan usein yhdistää symmetriseen salausalgoritmiin, kuten AES. Näitä menetelmiä voidaan soveltaa niin ulkoisesta muistipiiristä ladattavan koodin, ohjelmistopäivitysten kuin verkosta ladatun koodin suojaamiseen.
Monessa moderneilla tietoturvaominaisuuksilla varustetussa mikro-ohjaimessa ulkoisesta muistipiiristä ladatun laiteohjelmiston alkuperäisyys voidaan varmistaa laiteohjelmiston allekirjoituksen avulla. Mikro-ohjaimissa, joissa ohjelmakoodi on talletettuna prosessoripiirin sisään, voidaan koodia pitää turvassa muistialuekohtaisten luku- ja kirjoitussuojauksien avulla.
FPGA-piireissä yksi yleisimmistä ja tehokkaimmista tavoista varmistaa turvallisuus on salata piirin konfiguraation määrittävä ulkoiseen muistipiiriin tallennettu FPGA-bittivirta. Esimerkiksi Xilinxin ja Intelin FPGA-piiriperheet ja niiden kehitystyökalut tukevat piirin konfiguraatiotiedostojen salaamista.
Hyökkäyspinta-ala
Hyökkäyspinta-ala (Attack Surface) tarkoittaa tietoturvaterminä kaikkia niitä kohtia tai osia järjestelmässä, sovelluksessa tai verkossa, jotka voivat olla alttiina hyökkäyksille tai uhille. Mitä suurempi hyökkäyspinta-ala on, sitä enemmän potentiaalisia kohteita on hyökkääjälle. IoT-laitteita ostavat yritykset haluavat tuotteita, jotka eivät tarpeettomasti kasvata heidän järjestelmäkokonaisuuksien hyökkäyspinta-alaa.
Hyökkäyspinta-alaa pyritään pienentämään tekemällä seuraavia toimenpiteitä: Poistamalla tarpeettomat palvelut ja tietoliikenneportit, päivittämällä ja suojaamalla ohjelmistoja, käyttämällä vahvoja käyttäjätunnistus- ja salasanastrategioita, hallinnoimalla käyttäjien ja eri järjestelmän osien oikeuksia. Lisäksi seurataan ja analysoidaan järjestelmän toimintaa mahdollisten hyökkäysten tunnistamiseksi. Myös verkkojen suunnittelu ja rakenne voivat vaikuttaa hyökkäyspinta-alaan.
Perusperiaatteena voidaan pitää, että mitä vähemmän ja yksinkertaisempia ohjelmistokomponentteja laitteessa on, sitä vähemmän mahdollisia haavoittuvaisuuksia. Erityisesti suoraan Internetiin yhteydessä olevien ohjelmistokomponenttien määrä tulee pitää pienenä, ja niiden tietoturvasta pitää huolehtia erityisen tarkasti.
Linuxia käyttävissä laitteissa tämä tarkoittaa usein, että ainoastaan välttämättä tarvittavat verkkopalvelut käynnistetään, ne on konfiguroitu oikein ja laitteessa käytetään tarkoitukseen sopivia palomuuriasetuksia. Verkkoliikennöinnistä huolehtivat ohjelmistokomponentit tulee pitää ajan tasalla, koska haavoittuvuuksia löytyy jatkuvasti.
Modulaarisuus auttaa
Suunnittele sulautettujen ratkaisujen ohjelmistot modulaarisesti, jotta voit eristää eri toiminnot toisistaan. Hyvin toteutettu modulaarisuus auttaa estämään myös haavoittuvuuksien leviämisen järjestelmän eri osien välillä. Eri toimintojen eristämiseen toisistaan voi hyödyntää muistisuojauksella erotettuja eri prosesseja, virtualisointitekniikoita sekä eri toimintojen suorittamista eri prosessoriytimillä.
Esimerkiksi Linuxia käyttävissä IoT-laiteissa verkkoliikennöinnistä huolehtivat komponentit sekä laitteen muut toiminnot kannattaa pitää omina erillisinä prosesseina.
Kriittisissä teollisuusautomaation laitteissa on ollut jo pitkään tapana toteuttaa laitteet niin, että yksi prosessori huolehtii kriittisistä toiminnoista ja toinen erillinen prosessori verkkoliikenteestä. Nykyisin suuntaus on kohti yhden piirin ratkaisuita, joissa eri toiminnot erotetaan toisistaan erilaisilla virtualisointitekniikoilla.
Ohjelmistokontit ovat vakiintunut tekniikka ohjelmistojen pakkaamiseen ja toimittamiseen, ja ne ovat saaneet suosiota pilviteknologioiden lisäksi jopa sulautetuissa Linux-järjestelmissä. Docker-tyyppisten ohjelmistokonttien käyttö voi helpottaa useiden eri ohjelmistotoimittajien osien integroimista turvallisesti yhteen laitteeseen.
Ohjelmistokonttien turvallisuus on tärkeä huomioitava tekijä, koska ohjelmistokonttien väärinkäyttö tai huonosti suunnitellut tai vanhentuneita ohjelmistoja sisältävät kontit voivat aiheuttaa tietoturvauhkia. Varmista, että konttien välinen viestintä on rajoitettu ja turvattu.
Vahva pääsynhallinta
Heikot salasanat ja liian laajat käyttöoikeudet lisäävät riskejä. Perinteinen laitteen paikallinen käyttäjätunnus ja salasana on osoittautunut haavoittuvaksi. Vahva pääsynhallinta on tietoturvakäytäntö, joka keskittyy varmistamaan, että vain oikeutetut käyttäjät tai järjestelmät voivat saada pääsyn tiettyihin resursseihin tai tietoihin.
Vahvan pääsynhallinnan perustana on tarkka käyttöoikeuksien hallinta. Roolipohjaisessa pääsynhallinnassa käyttäjät tai järjestelmät saavat vain ne oikeudet ja resurssit, joita ne tarvitsevat työtehtäviensä suorittamiseen, eikä enempää.
Vaadi vahvaa käyttäjän tunnistamista ja toteuta tehokas pääsynhallinta mielellään niin että se tukee roolipohjaisuutta sekä monivaiheista todennusta (MFA). Monivaiheisessa tunnistuksessa tunnistustietoja voivat olla esimerkiksi salasana, tietoturvasertifikaatti, fyysinen kortti tai tunnistussovellus matkapuhelimessa.
Mieti tulisiko pääsynhallinasta huolehtia paikallisesti, keskitetysti tai näiden yhdistelmänä. Vahva pääsynhallinta sisältää aina suunnitelman hätätilanteiden varalta. Huolehdi että laitteet ovat yksilöllisesti tunnistettavissa ja niiden identiteetti on turvallisesti todistettavissa. Pilveen kytkettäessä IoT-laitteen tulisi pystyä varmistamaan, että se kytkeytyy varmasti oikeaan pilveen.
Pilven tulisi olla varma, että siihen kytkeytyvä IoT-laite on oikeasti se, mikä väittää olevansa. Trusted Platform Module (TPM) voi auttaa laitetta todentamaan itsensä verkon toisille laitteille tai palvelimille sekä tarjoaa turvallisen tallennustilan, jossa se voi säilyttää salausavaimia.
Varaudu siihen, että asiakkaasi saattaa vaatia jossain vaiheessa, että laitteesi toimii yhteen roolipohjaisen pääsynhallinnan ja Zero Trust -mallin kanssa. Roolipohjaisessa pääsynhallinnassa (RBAC) oikeudet perustuvat käyttäjän tai järjestelmän rooliin organisaatiossa.
Zero trust -malli (Zero Trust Model) on tietoturvakonsepti, joka lähtee oletuksesta, että verkossa oleviin resursseihin, oli kyseessä sitten käyttäjät, laitteet tai sovellukset, ei pidä luottaa automaattisesti. Sen sijaan jokainen tietoturvatapahtuma ja -pyyntö pitäisi tarkistaa ja varmentaa.
Salaus suojaa tiedot
Selvitä mitä tietoa laite tuottaa sekä miten sitä tulee käsitellä. Käytä vahvaa salausta sekä tietoliikenteen että tallennetun arkaluotoisen datan suojaamiseen.
Tietoliikenteessä pitää pystyä varmistumaan, että tiedot eivät pääse muuttumaan IoT-laitteen ja pilvipalvelun välillä. Erityisesti sovelluksissa, joissa IoT-laite ohjaa jotain fyysistä laitetta ja voi saada ohjauskomentoja pilvipalvelulta, pitää tietoturvasta huolehtia erityisen luotettavasti.
On suositeltavaa käyttää teollisuuden hyväksymiä ja avoimia salausstandardeja ja -algoritmeja. Esimerkkejä tällaisista verkkoprotokollista ovat SSH, IPSec, TLS ja DTLS. Pelkkä turvallisen protokollan valinta ei takaa turvallisuutta, vaan valittua protokollaa pitää osata myös käyttää oikein ja käytössä pitää olla riittävän uusi versio.
Kaikki liitäntärajapinnat on syytä salata ja varmentaa aina käytön aikana riippumatta niiden käyttötarkoituksesta. Älä käytä turvattomia salaamattomia protokollia, kuten FTP tai Telnet, verkon yli liikennöintiin.
Valmistaudu siihen, että salausalgoritmeja voi olla tarpeen tulevaisuudessa päivittää tai vaihtaa täysin uusiin. Useista salausalgoritmeista on vuosien varrella löytynyt heikkouksia. On ennustettu, että lähivuosina kvanttitietokoneet voivat kehittyä niin paljon, että monet tällä hetkellä käytössä olevista salaustekniikoista voidaan murtaa kohtuullisen helposti.
Varaudu siihen, että salaustekniikoita pitää vaihtaa jossain vaiheessa tulevaisuutta uusiin kvanttiturvallisiin salaustekniikoihin.
Laitteiden kellonajan hallinta on tärkeää monien tietoliikennesalauksien kanssa. Monet turvalliset salatut tietoliikenneprotokollat vaativat toimiakseen, että yhteyden kummassakin päässä olevissa laitteissa pitää olla päivä/kellonaika asetukset suunnilleen oikeassa ajassa.
Tietoturvastandardeja
- ETSI EN 303 645 on maailmanlaajuisesti sovellettava standardi kuluttajien IoT-kyberturvallisuuteen. Se kattaa kaikki kuluttajien IoT-laitteet ja luo samalla hyvän tietoturvan perustan. Standardi on otettu laajasti käyttöön EU:n jäsenvaltioissa. Traficomin tietoturvamerkki ja RED radiolaitedirektiivi vaativat tämän standardin täyttämistä.
- IEC 62443 standardi on erikoistunut teollisuuden automaatio- ja ohjausjärjestelmien tietoturvaan. Standardi on sovellettavissa moniin teollisen ympäristöjen IoT-järjestelmiin.
- ISO/IEC 27001 on yleinen tietoturvastandardi, jota voidaan soveltaa toimisto-ICT-järjestelmien lisäksi myös IoT-ympäristöissä. Se määrittelee tietoturvallisuuden hallintajärjestelmän vaatimukset ja ohjeet.
- ISO/IEC 27002 standardi tarjoaa yksityiskohtaisempia ohjeita tietoturvallisuuden hallintajärjestelmän toteuttamiseksi. Se sisältää laajan valikoiman tietoturvatoimenpiteitä, joita voidaan soveltaa myös IoT-ympäristöissä.
- NIST Cybersecurity Framework on Yhdysvaltain Kansallinen standardeja ja teknologiaa koskeva instituuttin (NIST) on kehittämä kyberturvallisuuskehys, joka tarjoaa ohjeita ja suosituksia kyberturvallisuuden parantamiseksi, mukaan lukien IoT-ympäristöissä.
- IoT Security Foundation (IoTSF) organisaatio on kehittänyt useita IoT-tietoturvaa koskevia ohjeita ja suosituksia. Heidän ”IoT Security Compliance Framework” ja ”IoT Security Best Practice” -asiakirjat tarjoavat käytännön neuvoja ja ohjeita IoT-tietoturvan parantamiseksi.
- Euroopan unionin kyberturvallisuusvirasto ENISA (European Union Agency for Cybersecurity) on laatinut useita ohjeita ja suosituksia IoT-tietoturvan parantamiseksi. ”Baseline Security Recommendations for IoT” -ohjeisto on erityisen hyödyllinen.
- PSA Certified IoT Security Framework tarjoaa puitteet ARM-prosessoria käyttävien kytkettyjen laitteiden suojaamiseen analyysistä turvallisuusarviointiin ja sertifiointiin.
- SESIP-standardi (Security Evaluation Standard for IoT Platforms) määrittelee luettelon suojaustoiminnallisista vaatimuksista (SFR), joita tuotekehittäjä voi käyttää rakentamaan suojatun laitteen skaalaamalla asianmukaisesti heidän valitsemilleen uhkamalleille ja käyttötapauksiin.
- CIS Benchmarks on yhdysvaltalaisen Center for Internet Security organisaation laatima kokoelma konfigurointiohjeita erilaisille ICT-järjestelmille. Kokoelmasta löytyy yksityiskohtaisia tietoturvan varmistusohjeita monelle Linux-jakelulle
Tietoturvaominaisuuksia piireissä
Käyttämällä erikoistuneita tietoturvasiruja voit lisätä tietoturvaa elektronisissa laitteissa, erityisesti IoT-laitteissa. Turvamoduuli piirillä (Security Module on a Chip, SoC) on erityinen piirityyppi, joka on suunniteltu tarjoamaan laitteille vahvaa tietoturvaa ja suojaamaan niitä erilaisilta tietoturvauhilta. Turvamoduuli piirit tarjoavat tyypillisesti vahvaa salausta tietojen suojaamiseksi, suojatun tallennustilan, tunnistautumista ja pääsynhallintaa sekä tukea turvallista verkkoyhteyttä. Turvamoduuli piirejä käytetään laajasti erilaisissa laitteissa, kuten älypuhelimissa, Windows 11 yhteensopivissa tietokoneissa, IoT-laitteissa ja älykorteissa.
Turvallinen käynnistys piiri pystyy varmistamaan, että laite käynnistyy turvallisesti ja että käyttöjärjestelmä ja ohjelmistot ovat alkuperäisiä ja eheitä. Turvallinen käynnistys varmistus on sisään rakennettu monessa uudessa IoT-järjestelmäpiirissä. Siksi monessa ARM-piiristä löytyy jo TrustZone-ominaisuudet, joka tarjoaa normaalista prosessorista eristetyn tietoturvamoduulin piirin sisällä.
Salausta voi toteuttaa sulautetuissa laitteissa niin ohjelmallisesti kuin laitteistokiihdytettynä. Ohjelmallisesti toteutettu on helposti muutettavissa, mutta ohjelmallisesti toteutetut salaustoiminnot kuluttavat usein huomattavan paljon laskentaresursseja, mikä tyypillisesti hidastaa vähemmän prosessoritehoa sisältävän laitteen toimintaa ja kuluttaa paljon energiaa.
Laitteistokiihdytyksellä voidaan salauksen käsittelyä tehdä usein sekä nopeammin ja energiatehokkaammin, kunhan valitaan käyttöön sellainen salausalgoritmi, jolle käytettävässä laitteistossa löytyy laitteistokiihdytystuki.
Varaudu verkkohäiriöihin
Sulautetut laitteet, kuten IoT-laitteet ovat alttiita monille verkkoon liittyville uhille, koska ne ovat usein kytkettyjä verkkoon ja käsittelevät tietoja tai suorittavat toimintoja.
Sulautettujen laitteiden ohjelmisto voi olla altis haavoittuvuuksille, kuten puskurin ylivuodoille tai tietoturvavirheille. Hyökkääjät voivat pyrkiä hyödyntämään näitä haavoittuvuuksia saadakseen pääsyn laitteeseen tai sen tietoihin. Haittaohjelmat voivat vahingoittaa laitetta, varastaa tietoja tai ottaa sen hallintaansa.
Jos sulautetut laitteet luottavat keskitettyihin palveluihin, ne voivat olla haavoittuvia, jos näitä palveluita vastaan hyökätään. Varaudu tilanteeseen, jossa verkko ei aina toimi ollenkaan, luotettavasti tai riittävän nopeasti. Huolehdi myös virhetilanteista niin että laite ei mene jumii, jos verkko ei toimikaan niin hyvin kuin on oletettu. Lisäksi huolehdi verkkokatkoksen aikana tulevien tapahtumien puskuroinnista ja puskurin tietojen käsittelystä, kun yhteys lähtee toimimaan.
Varaudu myös siihen, että erikoistilanteissa verkkoliikenteellä voidaan pyrkiä häiritsemään laitteen toimintaa. Hyökkääjät voivat esimerkiksi pyrkiä ylikuormittamaan laitteen resurssit DoS-hyökkäyksen avulla ja estää näin normaalin toiminnan. Suunnittele laitteesi siksi niin, että sen välttämättömät ja turvakriittiset toiminnallisuudet eivät häiriintyä liian verkkokuormituksen takia.
IoT-laiteen verkkoliikenteeseen liittyivien asetusten, kuten esimerkiksi käytetyn tietoliikenneyhteyden määritykset ja mihin palvelimeen otetaan yhteyttä, olisi hyvä olla tarvittaessa muutettavissa myös ilman verkkoyhteyttä. Tämä voidaan toteutaa esimerkiksi paikallisverkosta saavutettavan luotettavasti autentikoidun web-käyttöliittymän tai konsoliportin kautta.
Toinen tapa asetusten muuttamiseen on tehdä se USB-tikulta tai SD-kortilta ladattavan mahdollisesti allekirjoitetun konfiguraatiotiedoston kautta.
Käyttöönotto ja valmistus
Luo turvallinen käyttöönottosuunnitelma, joka ottaa huomioon kaikki tietoturvavaatimukset ja varmistaa, että laitteet ovat turvallisia heti asennuksen jälkeen.
Käyttöönottoprosessin suunnittelu on oleellisen tärkeää, koska ero helpon ja turvallisen sekä työlään ja ei kovin turvallisen välillä voi olla tekijä, joka ratkaisee voiko muuten hyvästä tuotteesta tulla myyntimenestys vai valitsevatko potentiaaliset asiakkaat mieluummin kilpailijan tuotteen.
Huolehdi laitteeseen liittyvien tietoturva-avaimien luonnista ja jakelusta turvallisesti. Älä missään nimessä laita samoja oletussalasanoja ja tietoturva-avaimia laitteeseen ladattavan ohjelmiston mukana. Jokaisella laitteella tulee olla yksilölliset tietoturvatunnisteet ja salausavaimet, jotka on voitu asettaa tehtaalla tai luodaan laitteen käyttöönottovaiheessa.
Laitteen käyttöönoton lisäksi tulee pohtia, mitä laitteelle pitää tehdä, kun se poistetaan käytöstä tai siirretään uudelle omistajalle. Huolehdi että laitteeseen talletetut tiedot on mahdollista poistaa helposti.
Lokitukset tärkeää
Kerää tietoja laitteen toiminnasta ja tapahtumista. Lokitus (englanniksi ”logging”) on tärkeä käytäntö IoT (Internet of Things) -laitteissa tietoturvan, vianmäärityksen ja toiminnan seurannan kannalta. Lokitukseen sisältyy tietojen kerääminen ja tallentaminen laitteiden toiminnasta ja tapahtumista. IoT-laitteissa on hyvä käyttää erilaisia lokitasoja, kuten vianmääritys-, tietoturva- ja toimintalokit.
Lokitietoja ei tulisi tallentaa vain laitteelle, vaan ne tulisi siirtää laitteelta pitkäaikaistallennukseen lokienhallintajärjestelmään, jossa niitä voidaan analysoida.
Lokitietoja on suojattava asianmukaisesti, jotta ne eivät joudu väärän käsiin. IoT-laitteiden lokitusten on noudatettava paikallisia ja kansainvälisiä tietosuoja- ja turvallisuusstandardeja sekä säädöksiä, kuten GDPR (Yleinen tietosuoja-asetus).
Järjestelmän testaaminen
Testausprosessin ensimmäinen vaihe on tunnistaa ja arvioida IoT-laitteiston kokonaishaavoittuvuudet. Tämä voi sisältää laitteen ohjelmiston ja laitteiston tarkastelun sekä mahdollisten haavoittuvuuksien tunnistamisen. Testaus tulisi sisältää tarkastus siitä, miten henkilötietoja käsitellään ja suojataan.
Myös IoT-laitteiden laiteohjelmisto, käyttöjärjestelmä, itse kirjoitetut sovellukset, kolmannen osapuolen ohjelmistokomponentit sekä laitteeseen liittyvät pilvipalvelut tulee arvioida turvallisuuden osalta. Tässä työssä voi käyttää koodin analysointiohjelmia, koodikatselmuksia sekä ohjelman toimintaa analysoivia työkaluja.
Kannattaa käyttää tietoturvaohjelmistoja, kuten haavoittuvuustestausvälineitä ja staattista koodianalyysiä, tunnistaaksesi mahdolliset turvallisuusongelmat ohjelmassasi. Jos IoT-laitteeseen liittyy mobiilisovellus tai web-sovellus, niiden tietoturva tulisi myös arvioida. On tärkeää testata, miten IoT-laitteet toimivat verkkoympäristössä. Tämä voi sisältää verkkoliikenteen seurantaa ja mahdollisten hyökkäysten simulointia.
Järjestelmässä kannattaa toteuttaa säännöllisiä tietoturva-auditointeja ja haavoittuvuustarkastuksia. Testaa järjestelmän tietoturva säännöllisesti, mukaan lukien penetraatiotestaus ja haavoittuvuusarvioinnit. Tämä auttaa havaitsemaan ja korjaamaan mahdolliset haavoittuvuudet mahdollisesti ennen kuin ne aiheuttavat vahinkoa.
IoT-haavoittuvuuksien testaus on monimutkaista ja vaatii erikoisosaamista. Siksi monet yritykset ja organisaatiot turvautuvat ulkoisiin tietoturva-asiantuntijoihin tai yrityksiin suorittamaan tällaisia testejä. Kaikki löydetyt haavoittuvuudet tulisi käsitellä, dokumentoida ja raportoida tarkoituksenmukaisesti. Jos paljastunut haavoittuvuus on kriittinen, voi olla tarpeen pidättäytyä julkaisemasta tietoa siitä julkisesti ennen kuin korjaus on saatavilla.
IoT-laitteiden turvallinen ja helppo päivittäminen on oltava jo lähtökohtana. Kannattaa mahdollisuuksien mukaan ottaa käyttöön automaattiset päivitykset, jotta laite voi ladata ja asentaa uudet ohjelmistopäivitykset ilman käyttäjän toimia. Tämä auttaa varmistamaan, että laite pysyy ajan tasalla tietoturvan suhteen.
Varmista, että päivitykset siirretään laitteelle turvallisesti niin että kolmannet osapuolet eivät pysty muuttamaan päivityksiä tai sieppaamaan niiden mukana välitettäviä tietoja. Tyypillisesti ohjelmistopakettien jakelussa ohjelmistopaketit allekirjoitetaan sähköisesti turvakoodilla.
Fyysinen suojaus
Suljetun laitteen ohjelmiston autenttisuus liittyy myös laitteen fyysiseen eheyteen. IoT (Internet of Things) -laitteiden fyysinen suojaus on tärkeä osa niiden turvallisuuden varmistamista.
Fyysinen suojaus koskee laitteen fyysistä ympäristöä ja sen komponentteja, ja sen tarkoituksena on estää ei-toivottua pääsyä, manipulointia tai vahingoittumista. Jos laite on avattu tai muutettu, se voi vaarantaa ohjelmiston autenttisuuden ja turvallisuuden.
IoT-laitteet tulee sijoittaa asianmukaiseen suojakoteloon tai -rakenteeseen, joka estää pääsyn laitteen sisäosiin ja suojaa niitä ympäristön vaikutuksilta.
Monet teollisuusautomaation laitteet sijoitetaan lukittaviin kaappeihin asianmukaisilla lukitusmekanismeilla. IoT-laitteen koteloon voi integroida hälytysjärjestelmiä, jotka laukeavat, jos laitetta yritetään avata tai vahingoittaa.
Tunkeutumisyrityksen tulisi tarpeen mukaan johtaa hälytykseen, laitteen toiminnan loppumiseen tai laitteessa olevien tietojen tuhoutumiseen. Sulautetun laitteen fyysisessä suojauksessa tulee huolehtia, että laitteessa oleviin huolto- ja tuotekehitysaikaisiin liitäntöihin, kuten sarjakonsoli ja JTAG, ei pääse kentällä olevassa laitteessa helposti käsiksi.
Parasta olisi, että kriittiset huoltoliitännät on kytketty pois toiminnasta tuotantolaitteissa piiritasolta, ja ovat käytössä vain tuotekehityslaitteissa. Myös piirien väliset liitännät, kuten SPI ja I2C, voivat olla hyökkäyksen kohteena jos osaava hyökkääjä pääsee käsiksi laitteen piirilevyyn.
Koulutus on tärkeä osa tietoturvaa
Tietoturvan ylläpitäminen on jatkuva prosessi, ja päivitysten säännöllinen tarkistaminen ja asentaminen ovat keskeinen osa tätä prosessia. Myyjille, käyttäjille ja ylläpitohenkilöstölle tulisi tarjota koulutusta ja ohjeita järjestelmän turvallisesta käytöstä. Myös sähköinen asiointikanava on tärkeä.
Takuukäytäntöjen tapaan myös suojaustoimenpiteiden toimitukset päättyvät jossain vaiheessa, ja käyttäjille tulee kertoa, miten pitkään laitteita tuetaan ja voi turvallisesti käyttää. Kun IoT-laite poistetaan käytöstä, sen oikeanlainen turvallinen hävittäminen on tärkeää, jotta siitä ei tule turvallisuusuhkaa.
Artikkelin kirjoittaja Tomi Engdahl toimii Netcontrol Oy:ssä tuotekehitysinsinöörinä. Hänellä on pitkä kokemus sulautettujen ja IoT-ratkaisujen tietoturvaratkaisuista.
Uusiteknologian 2/2023 Nykyelektroniikan suunnittelukoulu+ -numeron verkkosivulla olevasta linkkipankista löydät jutussa esitellyt standardi- ja yrityslinkit. Mukana on IoT-tietoturvaa tarjoavien yritykset sekä linkit aiemmin Uusiteknologia-lehdessä julkaistuihin artikkeleihin ja uutisjuttuihin.
Designing modern electronics+ information security
With the latest smart electronics and embedded microprocessors, devices connected to the network can be implemented even better, but even better care must be taken of their data security and protections.
This Designing modern electronics article gives information for the information security protection of modern electronics. Embedded systems are prone to various information security risks, which in the worst case can cause serious consequences for both users and the environment.
That is why information security should be taken into account from the outset, from the design phase of the device or system to the maintenance phase and decommissioning at the end of the solution’s life cycle.
An insecure Internet of Things can pose a significant risk to the entire digital operating environment. And since the Internet is already ubiquitous, every IoT device is vulnerable to attack.
Although the goal should always be to achieve sustainable security, information security operations must be functional already when the product leaves the factory and must be maintained with software updates.
Designers of embedded systems must adopt a security-first approach to ensure that the systems they design are protected from security risks. Therefore, network security, software security and physical security are important in IoT devices.
This article has provided a basic understanding of information security in embedded systems and provides a guide for designers to create reliable and secure systems that are safe for both users and the environment.
Always remember to update your knowledge of the latest security methods and techniques to ensure your systems are up-to-date and protected against ever-evolving threats. Understand that perfect data security is not possible, so preparedness and quick response are important parts of a data security strategy.
Aloituskuva/Main photo: Shutterstock
Päivitetty 13.11.2023