1     Standardien keskinäiset suhteet

Standardi IEC 61511 sisältää paljon viittauksia ylemmän tason standardiin eli IEC 61508:aan. IEC 61508 käsittelee kaikkien sähköisten-, elektronisten- ja ohjelmoitavien turva-järjestelmien turvallisuusratkaisuja, ei pelkästään prosessiteollisuuden järjestelmiä. Tämän lisäksi ohjelmistojen turvallisuutta suunniteltaessa, tulee huomioida myös IEC 62443 eli teollisuuden verkkoja, tiedonsiirtoa ja näiden tietoturvallisuutta käsittelevä standardi. Koska IEC 61508 on toiminnallisen turvallisuuden standardi, se ei käsittele tietoturvaa vaan viittaa näiltä osin standardiin IEC 62443. Yhdessä nämä kolme muodostavat keskeiset vaatimukset, jotka kansainvälinen sähköalan standardointiorganisaatio IEC on määritellyt turva-automaation ohjelmille [5].

 

2     Automaation ohjelmien erikoisvaatimukset

Automaation ohjelmistot eroavat perustavanlaatuisesti yleisistä tietokoneohjelmistoista, sillä näillä on lähes poikkeuksetta erityisvaatimuksia esimerkiksi reaaliaikaisuuden ja käytettävyyden kannalta, joista vaikkapa tavallisessa toimistoverkossa ei tarvitse huolehtia. Erityisesti turva-automaatiossa viiveiden tulee olla minimissään. Mittaustiedon tulee olla reaaliaikaista, etenkin jos prosessi on epävakaa ja sen tila saattaa muuttua nopeasti.

 

Koska tuotanto usein pyörii jatkuvasti, tulee ohjelmistojen kannalta huomioida, että ohjelman päivittäminen ei välttämättä ole mahdollista pitkiin aikoihin, sillä prosessia ei voida pysäyttää ilman tuotannon alasajoa ja siitä seurautuvia huomattavia kustannuksia. Toisaalta tältä osin tilanne on hiukan parantumassa, sillä valmistajat ovat tuoneet tai ovat tuomassa SoftPLC-ratkaisuja, joissa logiikkaa pyörittävä tietokone voidaan käynnistää uudelleen ilman logiikan häiriintymistä [5].

 

Tämän lisäksi automaation ohjelmistopuolella tulee ottaa huomioon kaikki ulkoiset järjestelmät, jotka liittyvät automaation ohjelmistoihin. Automaation järjestelmään saattaa liittyä jopa kymmeniä erilaisia yhteyksiä esimerkiksi huoltoa varten (paikallinen ja etäyhteydellä), etävalvomot, ERP- ja MES-järjestelmät jne. Useat erityyppiset yhteydet, varsinkin puutteellisesti konfiguroituina, aiheuttavat tietoturvariskin. Tietoturva tulee ottaa huomioon erityisen vakavasti turva-automaatiota tehdessä, sillä haittaohjelmat voivat monissa tapauksissa estää turvajärjestelmien toiminnan täysin. [2]

 

3     Standardin vaatimukset

3.1   Lähtökohdat

 

Ohjelmistojen turvallisuuden tulee lähteä samoista peruslähtökohdista kuin laitteiden turvallisuuden. Standardin mukaan, lähdettäessä rakentamaan turva-järjestelyjä, tulee suorittaa asianmukainen riskianalyysi, jonka pohjalta päätetään tarvittavat luokitusvaatimukset ja määritellään, mitkä asiat vaativat erityistä huomiota turvallisuuden kannalta. Järjestelmällisellä lähestymistavalla saadaan parhaat tulokset ja kaikki turvallisuuspuutteet tulevat huomioitua. Riskianalyysiä tehdessä on hyvä käyttää asianmukaisia työkaluja kuten esimerkiksi vikapuu-analyysiä. Kuten kaikilla muillakin turva-automaation osa-alueilla tulee järjestelmän suunnittelijan olla pätevä.

 

Elinkaarimallia käytetään myös turva-automaation ohjelmien suunnittelussa ja tämä tulee integroida osaksi koko järjestelmän elinkaarimallia. Mikäli johonkin elinkaarimallin vaiheeseen tarvitsee tehdä muutoksia vielä jälkikäteen, tulee kaikki sitä seuraavat vaiheet tarkastaa ja hyväksyä uudelleen.

[1]

 

3.2   Standardin vaatimuksia ja suosituksia ohjelman kehitykseen

 

IEC 61511 listaa tarkasti kaikki vaatimukset, joita ohjelmille asetetaan. Huomion arvoista on, että johtuen ohjelmistojen turvallisuuden erilaisista vaatimuksista, ei SIL-luokkien 1-3 välillä tehdä standardissa eroa. Kaikille luokille on siis asetettu samat vaatimukset. Vaatimuksista ensimmäisenä tulee ottaa huomioon, että käytettävän ohjelmointikielen tulee olla FPL- tai LVL-tyyppistä. Näiden ohjelmointikielien määritelmät löytyvät tarkemmin standardista IEC 61508. Suomennettuna tämä tarkoittaa, että standardin mukaan turva-automaatiossa tulee käyttää ”yksinkertaisempia” ohjelmointikieliä, kuten esimerkiksi tikapuu-ohjelmointia, jotka ovatkin käytössä yleisimmissä logiikoissa [4]. SIL 4 tason vaatimukset ohjelmistoille määritellään suoraan IEC 61508 standardissa.

 

Standardin mukaan jokaisessa ohjelman kehityksen vaiheessa tulisi pyrkiä:

  • Minimoimaan riski tehdä ohjelmointivirhe
  • Paljastaa ja poistaa ohjelmointivirheet
  • Varmistaa etteivät virheet ohjelmassa johda lopputulokseen, jota ei voida sallia
  • Varmistaa, että ohjelman pidetään ajan tasalla kaikissa sen elinkaaren vaiheissa
  • Verifioida, että ohjelma täyttää kaikki vaatimukset

 

Suosituksia, joilla päästään tarvittavaan laadulliseen lopputulokseen turva-automaation ohjelman kehityksessä:

  • Mahdollisimman yksinkertainen ohjelma
  • Kommentoitu siten että ohjelmaa on helppo ymmärtää
  • Ohjelma on jaettu järkevästi osioihin
  • Toimivuus ja yhteensopivuus on testattu perusteellisesti
  • Kaikki nämä on raportoitu ja verifioitavissa¨
  • Laitevalmistajien ohjeistusten käyttö

[1]

3.3   Tiedonsiirto ja tietoturva

 

Tietojärjestelmissä käytetään usein niin sanottua CIA-mallia, joka antaa tiedolle kolme perusvaatimusta:

  1. Luottamuksellisuus
  2. Eheys
  3. Saatavuus

Teollisuudessa kuitenkaan nämä vaatimukset eivät ole riittäviä, ja niiden prioriteetti on erilainen. Tärkeintä on tiedon saatavuus, eheys ja luottamuksellisuus tulevat vasta sen jälkeen. Näiden lisäksi on otettava huomioon muun muassa käytön ja pääsyn valvonta sekä jo ensimmäisessä kappaleessa mainitut vaatimukset reaaliaikaisuudesta. Jotta nämä tavoitteet saavutetaan, suositellaan standardissa IEC 62443 käyttämään syvyyssuuntaista puolustusta. Puolustus siis rakennetaan kerroksittain, jotta yhden puolustuskeinon pettäminen ei vaaranna koko järjestelmää. Muita hyviä käytäntöjä ovat tietoturvalliset oletusasetukset ohjelmissa, käyttöoikeuksien rajoittaminen minimiin, avoin suunnittelu, käytön valvonta loggaamalla ja yksinkertaisuus [3].

 

Turva-toimintojen tiedonsiirrossa tärkeimpinä huomioitavina asioina ovat vikaantumismitta, viive ja erilaiset lähetysvirheet. Kun nämä on otettu huomioon standardin IEC 61508 hyväksymällä tavalla, puhutaan niin sanotusta ”valkoisesta kanavasta”. Mikäli tiedonsiirto kanava ei ole vaatimusten mukainen tulee vaatimusten täyttymisestä huolehtia kanavan kummassakin päässä. [2]

 

4     Lähteet

[1] IEC 61511 (1-3)

[2] pdf-materiaali

[3] Jari Seppälä, pdf-luentomateriaali kurssilta Automaation Seminaari, 1.4.2014

[4] http://www.cs.york.ac.uk/hise/safety-critical-archive/2003/0231.html Luettu 3.12.2014

[5] IEC-verkkosivusto, http://www.iec.ch/about/?ref=menu luettu 3.12.2014

[6] Turva-automaatio-kurssin luennot 12. ja 13. lokakuuta 2014

  • No labels
You must log in to comment.