Siirry työpakettikuvaukseen.

Versio
 
1Tietoturvavaatimukset luotu (2013-07-03 PK)
2Lisätty JHS 129:tä poimittuja vaatimuksia (2013-08-09 PK)
3Jaoteltu järjestelmätason vaatimuksia kategorioihin (2013-12-09 IS)
4Poistettu järjestelmän ylläpitovaiheeseen liittyviä vaatimuksia (2013-12-11 PK)
5Vaatimuksia päivitetty (2013-12-18 PK)

Järjestelmän tietoturvavaatimukset on jaettu yleisiin periaatteisiin, yleisiin toteuttamisvaatimuksiin, järjestelmän toteuttamisvaatimuksiin ja järjestelmäympäristön vaatimuksiin. Yleiset vaatimukset -osioon on koottu yleisiä periaatteita, joista muita tietoturvavaatimuksia voidaan johtaa. Yleiset toteuttamisvaatimukset -osioon on puolestaan koottu yleisen tason suunnitteluperiaatteita, joita järjestelmän suunnittelussa tulisi pyrkiä noudattamaan. Järjestelmän toteuttamisvaatimukset ja järjestelmäympäristön vaatimukset -osiot puolestaan sisältävät konkreettisia ohjelmisto- ja järjestelmävaatimuksia.

IDVaatimusLähde/Viite
 Yleiset periaatteet

 

1Järjestelmästä ei voi lukea tietoa ilman valtuuksia.

Luotettavuus (Confidentiality)

2Järjestelmän tietoja ei voi muuttaa ilman valtuuksia.Eheys (Integrity)
3Järjestelmän tiedot ovat aina saatavilla.Saatavuus (Availability)
4Järjestelmän tietojen muutoksen tekijät on kirjattava lokiin.Jäljitettävyys (Accountability)
5Yhden osajärjestelmien turvallisuuden rikkoutuminen ei riko koko järjestelmän turvallisuutta.Lokeroituvuus
 Yleiset toteutusvaatimukset 
 Yleisesti käytössä olevia ja hyväksyttyjä standardeja käytetään aina, kun se on mahdollista.Vahti 1/2013 (SNT-002)
 Sovellus ei ole riippuvainen tietyistä ohjelmistoversioista, kuten JRE-versiosta. Järjestelmä ei saa olla riippuvainen käytetyn komponentin ominaisuudesta, joka löytyy vain komponentin tietystä versiosta.Vahti 1/2013 (SNT-002)
 Salausratkaisuja ei koskaan tule toteuttaa itse, vaan tulee käyttää tunnettuja toteutuksia (esimerkiksi OpenSSL, KeyCzar, jne.).Vahti 1/2013 (SNT-013)
 Salausratkaisuiden tulee olla tunnettuja, julkisia ja käyttötarkoitukseen nähden riittävän vahvoiksi todettuja. Tällaisia ovat esimerkiksi AES ja RSA julkisen avaimen kryptografiaan sekä SHA-256 tiivisteiden laskemiseen.Vahti 1/2013 (SNT-013)
 Käytetyt kolmansien osapuolien ohjelmistokomponentit on audioitava ja päivityksien saatavuus varmistettava 
 Järjestelmän oletusasetukset ovat turvallisia (oletus: kiellä, ei salli) 
 Poikkeus- ja virhetilanteiden käsittely tulee suunnitella ja toteuttaa siten, että virhetilanteet eivät johda sovelluksen tietoturvallisuuden vaarantumiseen.Vahti 1/2013 (TOT-001)
 Lokien on noudatettava VAHTI-määrityksiä: Lokiohje (Vahti 3/2009). 
 Kaikki konfiguraatiot on toteutettava muuttujina, joiden arvot asetetaan keskitetysti. Konfiguraatioarvoja ei kovakoodata. 
 Käyttöliittymiin sekä ulkoisiin rajapintoihin syötettävien tietojen oletusarvojen on oltava turvallisia. 
 Järjestelmässä on oltava rooliperustainen käyttövaltuuksien hallinta. 
 Järjestelmän toteutusvaatimukset 
 Selainkäytössä täytyy käyttää HTTPS-protokollaa aina kun liikutellaan luottamuksellista tietoa.Vahti 1/2013 (SNT-013), JHS 129 (Confidentiality)
 Selainkäytössä sivuilla, joissa käytetään HTTPS-protokollaa, ei saa sotkea elementtejä HTTP-lähteestä(Confidentiality, Integrity)
 Sovelluksen tulee säilyttää vain sellainen luottamuksellinen data, jota se tarvitsee, eli ei siis varmuuden vuoksi.Vahti 1/2013 (SNT-013) (Confidentiality)
 Istunnon tunnuksen täytyy olla sellainen, ettei sitä voi kaapata (ks. http://en.wikipedia.org/wiki/Session_hijacking)Vahti 1/2013 (TOT-006)(Confidentiality, Integrity)
 Istunnon tunnuksen täytyy vanheta uloskirjauduttaessa, selaimen sulkemisen jälkeen tai aikakatkaisun jälkeenVahti 1/2013 (TOT-006 (Confidentiality, Integrity)
 Uloskirjautunut käyttäjä ei saa päästä takaisin sisäänkirjautuneena sekaimen takaisin-painikkeella.(Confidentiality)
 Tietoaineistoihin kohdistuvien luottamuksellisuusvaatimusten täytyy säilyä nimetyllä käyttäjäryhmällä tai rooleilla.(Confidentiality)
 Käyttäjäryhmät tai roolit eivät voi saada ylimääräisiä oikeuksia (no privilege escalation).(Confidentiality)
 Käyttäjäryhmät tai roolit pääsevät käsiksi vain sellaiseen tietoon, johon niillä on oikeus.(Confidentiality)
 Eri käyttäjäryhmillä tai rooleilla on voitava olla erilaiset oikeudet tietoihin ja toimintoihin.(Confidentiality)
 Käyttöoikeuksia on voitava myöntää määräaikaiseksi.(Confidentiality)
 Järjestelmän tulee pitää tapahtumalokia, johon kirjataan kaikki järjestelmän ja käyttäjien suorittamat tärkeät operaatiot.(Accountability)
 Valtuuksien puuttumiseen kaatuneet toimenpiteet on kirjattava lokiin (kirjautumiset yms.).Vahti 1/2013 (TOT-002) (Accountability)
 Tapahtumalokista täytyy voida selvittää järjestelmää käyttäneet käyttäjät ja heidän roolinsa, käytön ajankohta, muutoksen kohde, tapahtumatyyppi, uusi arvo ja vanha arvo (audit trail). Tapahtumiksi lasketaan sellaiset toimenpiteet, joilla muutetaan tietovarastoihin tallennettuja tietoja. Poikkeuksen muodostavat asiakastiedot, joiden tapauksessa myös tietojen haku ja katselu on kirjattava tapahtumalokiin.(Accountability)
 Kaikki syöte ja tiedonsiirto on validoitava, ja sellaiset merkit suodatettava pois, jotka voivat aiheuttaa syötteen tulkitsemisen ja suorittamisen ohjelmakoodiksi. Käyttäjän syötettä ei saa sellaisenaan käyttää suoritettavan ohjelmakoodin osana.(Integrity)
 Järjestelmäympäristön vaatimukset 
 Käyttöjärjestelmä- ja muista päivityksistä täytyy huolehtia säännöllisesti.CIAA
 Tapahtumalokin tietojen muuttumattomuus ja luottamuksellisuus täytyy olla varmistettu.(Confidentiality, Integrity)
 Tapahtumalokin säilytysaika on voitava määritellä. 
 Sovelluksen käsittelemät tiedot ja sovelluksen konfiguraatiot on varmuuskopioitava säännöllisesti.Vahti 1/2013 (YLP-008) (Availability)
 Järjestelmä on pystyttävä palauttamaan helposti varmuuskopionnista uudestaan käyttöön.(Availability)
 Järjestelmä täytyy suojata mahdolliselta palvelunestohyökkäykseltä (esim. ylläpitämällä varajärjestelmää tai mahdollistamalla järjestelmän migraatiomahdollisuus).(Availability)
  • No labels