Programvaresikkerhet i nukleære, romfarts og jernbane anvendelser
Presentasjon på NONSTOPP seminaret
"Sikker bruk av Programmerbare Systemer"
Halden, 28.-29. september 2000

Odd Nordland
SINTEF Tele og data
Systemutvikling og telematikk
NO-7465 Trondheim

E-mail: Odd.Nordland@informatics.sintef.no
URL: www.informatics.sintef.no/~nordland

  1. Innledning
  2. Hva har vel kjernekraft, romfart og jernbane felles? De har "samme" farepotensial!

    Dette kan virke litt overraskende på mange, når man tenker på hvor omstridt for eksempel kjernekraft er og sammenlikner med jernbanen, så påstanden må begrunnes. Det finnes forskjellige muligheter å klassifisere farepotensialer (eller omvendt: sikkerhetsklasser) på, men de bygger på omtrent de samme tankegangene, så vi tar utgangspunkt i den modellen som er skissert i IEC 61508, anneks D.5. Der bruker man en risikograf for å identifisere sikkerhetsklasser:

    Den viser hvordan forskjellige kombinasjoner av konsekvenser av en hendelse, eksponeringstid og mulighet for å komme i sikkerhet fører til forskjellige sikkerhetsklasser. De vesentlige kriteriene for den høyeste sikkerhetsklassifiseringen er, litt forenklet:
    La oss nå se på de tre så ulike teknologiene.
     
    1. Kjernekraft
    2. Hvis det skjer noe med et kjernekraftverk kan flere tusen mennesker bli drept. Etter Tsjernobyl ulykken regner man i de påfølgende 30 år med ca 30000 dødstilfeller som direkte konsekvens av strålingen.

      Eksponeringstida er lang: mennesker som bor i nærheten av et kraftverk tilbringer mesteparten av livet der!

      Hvis man regner en omkrets på ca 50 km rundt et kraftverk som faresonen, gjelder det å komme lengre unna før strålingen kan bli dødelig. Dersom man har ingen trafikk kork, gode veier og en rask bil kan man klare å komme ut i en halv time, men det kan være for seint. Og det forutsetter at man setter i gang så snart noe skjer. Med andre ord, menneskene som bor i nærheten av et kjernekraftverk har faktisk ingen mulighet å komme ut av faresonen i tide.

      At kjernekraft har høyeste sikkerhetsklassifisering er altså helt klart.
       

    3. Romfart
    4. Allerede i dag finnes det flere romstasjoner med et varierende antall mennesker ombord. For den Internasjonale romstasjonen ISS regner man med en besetning på opptil 40 personer. Det er klart at hvis noe går galt kan hele besetningen bli drept, det være under oppskyting, opphold i romstasjonen, eller under landingen.

      Eksponeringstida er lang: turen til romstasjonen tar flere timer, og besetningene tilbringer opp til flere måneder i romstasjonen. For den Internasjonale romstasjonen planlegger man med 3 måneders lange opphold for en besetning.

      Det er klart at man ikke bare kan hoppe ut i verdensrommet hvis noe skjer. I Challenger ulykken hadde man ingen mulighet for å skyte besetningen ut av romferja, fordi man gikk ut fra at hvis det skulle bli nødvendig, ville besetningen være så høyt oppe at de ikke ville overleve allikevel.

      Altså kan romfart stilles i samme sikkerhetsklasse som kjernekraft.
       

    5. Jernbane
    6. At togulykker kan føre til at flere mennesker kan bli drept har vi fått et meget uhyggelig bevis på her i Norge. Og eksponeringstida - den er i utgangspunkt oppholdstida på et kjørende tog - er også lang: det finnes togruter som tar opp til flere døgn (Trans Sibir, Trans Australica). Og selv når det ikke er snakk om høyhastighetstog med en fart på over 200 km/h, er også 80 km/h en fart hvor man neppe overlever å hoppe av.

      Og dermed havner jernbanen i samme sikkerhetsklasse som kjernekraft, romfart og andre "høyrisiko" teknologier!
       

  3. Regelverk/standarder
  4. Det er ikke mange land som har kjernekraft, og enkelte som har den vil bli kvitt den. Det er altså ikke overraskende at internasjonale standarder som definerer hvordan man skal produsere sikre programmerbare systemer for nukleære anvendelser kom først etter 20 års erfaring med kraftverksdrift. IEC 61508 blir gjerne brukt, men i tillegg har man en del nasjonale regler og forskrifter som varierer fra land til land. Enkelte land krever at man må bevise et systems sikkerhetsegenskaper før man tar det i drift, andre opererer med prøvedriftsperioder for å "bevise" at systemet er tilstrekkelig. I tillegg kan det også være militære organisasjoner og myndigheter som er involvert, og de kan påvirke kravene.

    I romfart finnes det bare noen få land som har egne, nasjonale romfartsaktiviteter. Disse aktivitetene er underlagt egne, nasjonale regler. I tillegg ser vi en økende internasjonal og interkontinental kooperasjon, i Europa gjennom den europeiske romfartsagenturen ESA, som i sin tur samarbeider med den amerikanske NASA, med russerne og andre ikke europeiske romfartsnasjoner.

    De regler som gjelder for programmerbare systemer er da også regler som agenturene selv har definert, og de er ofte derivert fra tilsvarende prosesser for militære anvendelser. Her refererer man også gjerne til MIL standarder.

    Jernbane er et område hvor de militære ikke er direkte involvert, og som er sterkt påvirket av det som skjer i andre land. Det er da ikke overraskende at det finnes i hvert fall europeiske standarder for programmerbare systemer i jernbane applikasjoner, CENELEC standardene, som i sin tur henviser til og baserer seg på IEC 61508. Selv om disse standardene er til dels ennå prestandarder, er det en økende tendens til å bruke dem allerede nå. Og det sies at amerikanerne vurderer å akseptere dem, slik at de kan bli ISO standarder.
     

  5. Innsatsområder
  6. Det var en bevist provokasjon å bruke ordet "farepotensial" istedenfor "sikkerhetsklasse" i innledningen. Det gjør tydelig at målet ved sikkerhetsarbeidet er å redusere farepotensialet, slik at vedkommende teknologi kan brukes uten å true menneskeliv. I alle de nevnte områdene, og ikke bare der, forsøker man å ivareta sikkerhet med hjelp av bl.a. datastyrte sikkerhetssystemer, om enn i ulik grad. Med andre ord, selv om sikkerhetsklassifiseringen er den samme, tyr man til litt andre midler for å nå målet.

    En av forskjellene består i nettopp den ulike graden av bruk av datastyrte systemer. Datastyrte systemer bruker programvare, og det er vanskelig å "bevise" egenskapene til programvare. Derfor er det en viss preferanse for å bruke "klassiske" elektromekaniske eller mekaniske løsninger så lenge disse er tilstrekkelige.

    For kjernekraftverk kan mange, om ikke alle, styringer realiseres med reléer, og ellers bruker man mekaniske sperrer, tykke vegger o.l. De er meget pålitelige men mindre fleksible enn programmerbare systemer. Men det finnes i hvert fall ett område hvor datamaskiner er uunngåelige. De nukleære beregningene, som avgjør hvordan man bør styre kraftverket, kan neppe kjøres uten programmerbare systemer. Her kan man tolerere at systemet krasjer en gang i blant, så lenge resultatene er å stole på.

    I romfart har vi meget komplekse styringer som simpelthen ikke lar seg realisere på en annen måte enn med programvare. Dette skyldes ikke bare kompleksiteten av styringene, men også vekten en ikke databasert styring ville ha! Og siden systemet vanskelig kan oppgraderes eller repareres når det først er tatt i drift (det kan jo være flere millioner kilometer borte), stiller man høye krav til robusthet, feiltoleranse eller selvkorrigerende egenskaper.

    På den andre siden kan mange av systemene testes i ekte drifts situasjoner uten at mennesker er ombord, slik at man kan tolerere feil i de første versjonene og fjerne feil i systemene før man bruker dem i sammenheng med mennesker.

    For jernbane er det hovedsakelig trafikkstyring hvor datamaskiner er aktuelle, selv om det finnes en del databaserte styringer ombord. For togframføring kan man tolerere en viss unøyaktighet i resultatene (dvs systemet kan f.eks. gi en lavere hastighet en nødvendig), men systemet må være oppegående hele tida.
     

  7. Konklusjon
  8. De forutgående paragrafene gir et meget sterkt forenklet bilde av situasjonen. Poenget er at de forskjellige områdene legger størst vekt på hver sin aspekt av sikkerhet for programmerbare systemer. Selvfølgelig er de andre aspektene viktige også, men i hvert område har man utviklet prosesser og prosedyrer som er optimert for det man vektlegger mest. Dette gjelder ikke bare for de omtalte områdene, men også for andre områder som f.eks. luftfart, kjemi o.s.v.

    Alle områder vil profitere fra en synergi som samler spesialisert kunnskap fra hver bransje. Å identifisere og samle disse spesialiseringer er utfordringen for NONSTOPP.