Lausunto Sovelluskehityksen tietoturvaohjeluonnoksesta

Samankaltaiset tiedostot
Tietoturvallisuuden hallintajärjestelmä pähkinänkuoressa

Tietoturvallisuuden kokonaisvaltainen hallinta Heikki O. Penttinen Castilsec Oy.

Sähköi sen pal l tietototurvatason arviointi

Opas verkkopalvelun tietoturvan varmentamiseen

Turvallisen sovelluskehityksen käsikirja. Antti Vähä-Sipilä, F-Secure

Suomi.fi - Tietoturvallisuus sovelluskehityksessä. VAHTI sähköisen asioinnin tietoturvaseminaari

VERKKOPALVELUN TIETOTURVAN VARMENTAMINEN

Sovellustietoturvallisuus Petteri Arola OWASP Chapter Leader Nixu Oy OWASP The OWASP Foundation

Case VRK: tietosuojan työkirjat osa 2. JUDO Työpaja #4 - tietosuoja Noora Kallio

VIRTU ja tietoturvatasot

Onnistunut SAP-projekti laadunvarmistuksen keinoin

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Laatua ja tehoa toimintaan

Tietoturvan ja -etosuojan suhde sovelluskehityksessä. An6 Vähä- Sipilä Tietoturva ry SFS:n seminaari

Ohjelmiston toteutussuunnitelma

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

Standardien PCI DSS 3.0 ja Katakri II vertailu

Luonnos - VAHTI-ohje 2/2016 Toiminnan jatkuvuuden hallinta

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

TIETOTURVALLISUUDEN UUDET ULOTTOVUUDET TOIMITILOISSA

HAAVOITTUVUUKSIEN HALLINTA RAJOITA HYÖKKÄYSPINTA-ALAASI

Muutoshistoria Versio Laatija Päiväys Muutokset Hyväksynyt 0.9 Juuso Mikkonen

Ohje arviointikriteeristöjen tulkinnasta

Lausunto Ohjausvaikutusten parantamiseksi julkisen hallinnon yhteisten arkkitehtuurilinjausten laatukriteerejä ovat mm:

Verkkosovellusten tietoturvastrategia

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Tietoturvapolitiikka

Digital by Default varautumisessa huomioitavaa

Salasanojen hallinta. Salasanojen hallintaopas RESTAURANT ENTERPRISE SOLUTION

JHS XXX ICT-palvelujen kehittäminen: Laadunvarmistus Liite 6: Katselmointi

Julkisen hallinnon linjaukset tiedon sijainnista ja hallinnasta. Yhteenveto. Taustaa linjauksille. Linjausten tavoitteet

Sähköiseen säilytykseen liittyvät organisaation auditoinnit

Ohjelmistotekniikan menetelmät, käyttötapauksiin perustuva vaatimusmäärittely

Miten varmennan ICT:n kriittisessä toimintaympäristössä?

Julkisen hallinnon linjaukset tiedon sijainnista ja hallinnasta. Yhteenveto. Taustaa linjauksille. Linjausten tavoitteet

Omahoitopolut.fi Toteutuksen tilannekatsaus

Julkisen hallinnon linjaukset tiedon sijainnista ja hallinnasta. Yhteenveto. Taustaa linjauksille. Linjausten tavoitteet. Lausunto

Master data tietojen ja kriteeristön sekä hallintamallin määrittely ja suunnittelu TRE:933/ /2011

Kertomusluonnoksesta annetut lausunnot 20/2018 Valtionhallinnon riskienhallinta ja toimintojen jatkuvuus 263/54/2017

Aloite Onko asioiden esittämistapa riittävän selkeä ja kieleltään ymmärrettävä?

SFS-ISO/IEC 27002:2014 Tietoturvallisuuden hallintakeinojen menettelyohjeet

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Suunnitteluvaihe prosessissa

Lohtu-projekti. Testaussuunnitelma

TAPAS - puheenvuoro - TAPAS-päätösseminaari Tommi Oikarinen, VM / JulkICT

Tietoturvapalvelut valtionhallinnolle

Virtu tietoturvallisuus. Virtu seminaari

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Omakannan Omatietovaranto palvelun asiakastestaus

Tietojärjestelmän osat

Miksi auditoidaan? Pirkko Puranen FT, Ylitarkastaja

Luonnos hallituksen esitykseksi eduskunnalle laiksi julkisen hallinnon tiedonhallinnasta sekä eräiksi siihen liittyviksi laeiksi

Tietoturvan huomioon ottaminen tietojärjestelmähankinnassa

IoT-järjestelmän ja ulkovalaistuksen ohjauksen hankinta -markkinavuoropuhelutilaisuus

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen

Tietoturvapolitiikka

Tietoturvallisuuden huoneentaulu mitä jokaisen on hyvä muistaa

TIETOTURVA LIIKETOIMINNAN MAHDOLLISTAJANA

Arviointiraportti. Patenttitoimisto Jaakko Väisänen

Toimintaohjeistus. Tietoturvallisuusohjeistus TIETOTURVASUUNNITELMAT

Miten suojautua nykyisiltä tieto- ja kyberuhilta? Petri Vilander, Kyberturvallisuuspäällikkö, Elisa Oyj

T Yritysturvallisuuden seminaari. Kappaleet 15-16: Operational Risk Management Assurance Management

Arkkitehtuuri muutosagenttina

Tapahtuipa Testaajalle...

Tietoturvakonsulttina työskentely KPMG:llä

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

UCOT-Sovellusprojekti. Testausraportti

TUTKI OMAT TIETOTURVA-AUKKOSI. ENNEN KUIN JOKU MUU TEKEE SEN PUOLESTASI. F-Secure Radar Ville Korhonen

Julkisen hallinnon linjaukset tiedon sijainnista ja hallinnasta. Yhteenveto. Taustaa linjauksille. Linjausten tavoitteet

Tietoturvallisuuden ja tietoturvaammattilaisen

Pikaopas. Tietoturva, GDPR ja NIS. Version 3.0

Käyttöönottosuunnitelma Virtu-kotiorganisaatiolle

Ohjelmiston testaus ja laatu. Testaustasot

ISO 9001:2015 JÄRJESTELMÄ- JA PROSESSIAUDITOIN- NIN KYSYMYKSIÄ

Junaliikenteen häiriötilannetietojen tuottaminen ja tiedotus

Uutisjärjestelmä. Vaatimusmäärittely. Web-palvelujen kehittäminen. Versio 1.3

Miten 333 organisaatiota voi kehittää yhtä yhteistä digitaalista palvelua ja vielä kuunnella kaikkien asiakkaita?

Yrityksen jatkuvuussuunnitelma

Toimitilojen tietoturva

Consultor Finland Oy. Paasitorni / Markus Andersson Toimitusjohtaja

Eläketurvakeskuksen tietosuojapolitiikka

Julkisen hallinnon linjaukset tiedon sijainnista ja hallinnasta. Yhteenveto. Taustaa linjauksille. Linjausten tavoitteet

Esityksen sisältö Määrittelyjen mukaisuudesta varmistuminen - PlugIT-leima

Julkisen hallinnon linjaukset tiedon sijainnista ja hallinnasta. Yhteenveto. Taustaa linjauksille. Linjausten tavoitteet

TIE Ohjelmistojen testaus 2016 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

Määrittelyvaihe. Projektinhallinta

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI

Testaussuunnitelma. Pizzeria - Pitseria HAAGA-HELIA ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma. WebPizza

Julkisen hallinnon linjaukset tiedon sijainnista ja hallinnasta. Yhteenveto. CSC-Tieteen tietotekniikan keskus Oy. Lausunto

JHS Avoimen tietoaineiston käyttölupa

OLENNAISET TOIMINNALLISET VAATIMUKSET - PÄIVITETTY LUOKITUS JA JÄRJESTELMÄLOMAKE Kela toimittajayhteistyökokous 26.4.

Mitä varautumissuunnitelmilta odotetaan? Tarvo Siukola

Sovelto Oyj JULKINEN

Standardit tietoturvan arviointimenetelmät

Case VRK: tietosuojan työkirjat. JUDO Työpaja #2 - tietosuoja Noora Kallio

Case-esimerkki: Miten Valtori hallitsee riskejä? Tommi Simula Riskienhallintapäällikkö

Luku 8 Rakennusvaihe. Detailed Design. Programming. Moduulisuunnittelu. Ohjelmointi

Tietoturvapolitiikka Porvoon Kaupunki

Aineistosiirron testauksen aloituksen ohje Trafin sopimuskumppaneille

Hyvin määritelty on puoliksi tehty kuinka vältetään turha tekeminen jo alussa

Transkriptio:

Lausunto 1 (7) Ari-Pekka Lehtonen Tulli Dnro 14/930/12 VM Dnro 047:14/2007 Valtiovarainministeriö Julkisen hallinnon ICT-toiminto PL 28 00230 VALTIONEUVOSTO valtiovarainministerio@vm.fi Tullihallituksen lausunto lausuntopyyntöön dnro 14/930/12 (VM dnro 047:14/2007) Lausunto Sovelluskehityksen tietoturvaohjeluonnoksesta Johdanto Tullihallituksen lausunto sovelluskehityksen tietoturvaohjeluonnoksesta on Tullilaitoksen tietohallinnossa laadittu lausunto, jonka valmisteluun ovat osallistuneet Arkkitehtuurit-ryhmän tietoturva-arkkitehti, sovelluskehityksen tietoturva-asiantuntija, tietoturva-asiantuntija ja Tullin turvallisuuspäällikkö. Tullin tietohallinto vastaa Tullin teknisestä IT-tietoturvasta, jonka yhtenä osa-alueena on järjestelmäkehityksen tietoturvallisuuden varmistaminen. Tullihallitus katsoo sovelluskehityksen tietoturvaohjeen antamisen olevan tarpeellista, jotta organisaatioiden sovelluskehityksen tietoturvallisuuden varmistamista voidaan yhdenmukaistaa ja ohjata hyvien käytäntöjen mukaisiksi. Yleistä sovelluskehityksen tietoturvaohjeesta Sovelluskehityksen tietoturvaohje on odotettu ja erittäin tarpeellinen hallinnonalojen toimijoiden järjestelmäkehityksen tietoturvallisuuden varmistamiselle hyvien käytäntöjen mukaisesti. Sovelluskehityksen tietoturvaohje arvioidaan hyödylliseksi ja hyvin toimivaksi käsikirjaksi, johon on koottu keskeiset hyvät käytännöt. Ohjeessa käytetty sovelluskehitysmalli ja sen vaiheisiin liitetyt tietoturvallisuuden varmistamisen tehtävät vastaavat hyvin pitkälle Tullissa käytössä olevaa systeemityömallia. Näkemyksemme mukaan ohje voisi hyvin täydentää Tullin olemassa olevaa ohjeistusta. Vaatimusten esittäminen tietoturvatasoittain on hyvä asia, joka auttaa konkretisoimaan tietoturvatasojen merkitystä sovelluskehityksen eri vaiheissa ja tuotoksissa. Viittaukset Kansallisen turvallisuusauditointikriteeristön vaatimuksiin ovat tervetulleita, koska ne on suositeltavaa vähintäänkin tiedostaa tietoturvatasovaatimusten lisäksi. Konkreettisempia KATAKRI-vaatimuksia on usein helpompi toteuttaa hankkeissa, koska ne eivät vaadi niin paljon tulkintaa kuin tietoturvatasojen vaatimukset. Vaatimusten velvoittavuus ei kuitenkaan käy selkeästi ilmi ohjeesta, mutta tieto on usein löydettävissä viitatusta lähdedokumentista. Postiosoite Puhelin Faksi Sähköposti PL 512 00101 HELSINKI (09) 6141 020 492 2852 kirmo@tulli.fi

Lausunto 2 (7) Olisi silti toivottavaa, että kaikki valtion organisaatioiden tietoturvallisuutta koskevat ohjeet voitaisiin paketoida yhdeksi vaatimuskokonaisuudeksi, josta on poistettu päällekkäisyydet. Tietoturvatasojen ja KATAKRIn vaatimusten yhdistäminen olisi näkemyksemme mukaan toivottavaa. Viittausten käytössä olisi toivottavaa, että lukija voisi tekstin ulkoasusta päätellä mikä on lainattua tekstiä (esim. lainattu vaatimuslause kursiivilla) ja mikä on tämän ohjeen omaa sisältöä. Kun viittauksia käytetään tekstissä kappaleiden lopussa olevissa taulukoissa, niin olisi toivottavaa että viittaus tarkennettaisiin osoittamaan lähdedokumentin lukuun tai vaatimuskorttiin. Joiltain osin viittauksia ulkoisiin ohjeisiin on hyvin runsaasti, mm. lokitietojen käsittelyn osalta. Näitä voisi kenties tiivistää jossain määrin. Tekstin joukossa olevat viittaustaulukot heikentävät jossain määrin ohjeen luettavuutta, mutta ovat toisaalta tarpeellisia. Viittauksiin olisi suositeltavaa kattavuuden varmistamiseksi lisätä OWASP Top 10 ohjeet. On myös huomattava, että vaatimusten ja ohjeiden kopioiminen lähdedokumenteista on ylläpidettävyyden kannalta haasteellinen ratkaisu, silloin kun lukuisat viitatut dokumentit päivitetään uudempaan versioon. Ohjeen jaottelussa voisi vielä selkeämmin jakaa omiin lukuihinsa organisaation yleisen sovelluskehityksen tietoturvallisuuden hallinnan ja hankekohtaisesti noudatettavat ohjeet, jotta eri kohderyhmät löytäisivät tarvitsemansa tiedot helposti. Uhka-analyysin ja muidenkin tehtävien kuvaukset tuntuvat toistuvan useammassa kohdassa ohjetta, tätä olisi hyvä selkiyttää mahdollisuuksien mukaan. Ohjeessa olisi lisäksi hyvä painottaa organisaation sisällä toimivan ohjeita ja konsultointia tarjoavan sovelluskehityksen tietoturvallisuuden asiantuntijatahon merkitystä toiminnalle. Tällaista suositellaan mm. BSIMM3-mallissa. Sisältökohtaiset kommentit Kpl 1.1, toinen kappale: sovelluksen avulla käsiteltävät luottamukselliset tiedot pitäisi olla salassa pidettävät? Kpl 1.2, sivu 6 Tehtävät ja vaatimukset voisi jakaa kahteen pääosaan: organisaatiotason tietoturvallisuuden hallinta ja projekti tietoturvallisuuden hallinta. Lisäksi vaihe Uhkien mallintaminen on yhden projektin vaiheen tehtävä, kun taas muut esitetyt kohdat ovat projektin vaiheita. Se tulisi poistaa luettelosta? Kpl 2.2, sivu 9 Haasteita sovelluskehityksen tietoturvassa luettelo voisi sisältää myös kohdat defensiivinen ohjelmointi, virheiden sietokyky (robustness), ennalta määrittelemättömiin tilanteisiin varautuminen ja niistä suoriutuminen turvallisesti. Kpl 2.3, sivu 11 Ketterien sovelluskehitysmenetelmien viittaukset tulisi muuttaa esitysmuotoon, jossa on selväkielinen nimi ohjeiden julkaisijaan ja sen lisäksi linkki (URL) esim. alaviitteenä. Kpl 2.4, kuva 3 Esitutkimusvaihe: emme pidä ulkoisen auditoijan käyttämistä esitutkimusvaiheessa olennaisena. Katselmointi on yleensä riittävä keino. Lisäksi auditoijan käyttö on merkitty Käyttöönotto-vaiheeseen, mutta näkisimme sen kuuluvan jo edeltävään Testaus-vaiheeseen. Vasta auditoinnin hyväksytyn läpimenon ja

Lausunto 3 (7) mahdollisten puutteiden korjauksen ja niiden uudelleen testaamisen ja tarkistamisen jälkeen voidaan edetä käyttöönottoon. Taulukossa olisi hyvä olla mukana roolina Sisäinen tarkastus / tietojärjestelmätarkastus, joka on esitetty taulukkoa seuraavassa tekstikuvauksessa. Rooleihin voitaisiin lisätä organisaation tietoturvaryhmä tai vastaava toimielin, jonka tehtävänä on hyväksyä keskeisten vaiheiden tietoturvatuotokset (katselmointi), vrt. BSIMM3 SSG, Sofware Security Group. Kpl 2.6, sivu 15 Tietoturvaryhmän asiantuntijatuki ja yhteisesti hyväksytyt tietoturva-arkkitehtuurit, linjaukset ja standardit olisi hyvä huomioida, (vrt. BSIMM3 standards and requirements). Kpl 2.7, sivu 15 Tietoturva-arkkitehtuuri tulee ottaa huomioon, erityisesti se, kuinka laajasti toteutus nojautuu organisaation hyväksyttyyn arkkitehtuuriratkaisuun ja yhteisiin teknisiin komponentteihin (BSIMM3: Security Features and Design). Kpl 2.8, sivu 16 Noudatettavat standardit (sisäisetkin) on listattava, liittyen toteutukseen, suunnitteluun, testaukseen jne. (BSIMM3: Standards and Requirements, level 2) Kpl 2.10, sivu 17 SaaS-palvelussa täytyy varmistua siitä, että auditoinnin lisäksi järjestelmän tietoturvan taso voidaan varmistaa myös arkkitehtuuritasolla, ts. että saadaan riittävä selvitys tietoturvaarkkitehtuurista (esim. autentikointiratkaisut ja tietosisällön tekniset suojaukset). Kpl 3.1.1, STR-002 Riskienhallinnassa olisi syytä kiinnittää huomiota liiketoiminnalle merkityksellisiin riskeihin. Esimerkiksi reverse engineering ei ole riski vaan tekninen hyökkäystapa, johon voi liittyä liiketoimintariskiä (esim. IPR-rikkomus). Sellaisenaan se ei itse ole riski. Kpl 3.1.2, POL-006 Lokipolitiikka on irrallinen asia, jonka rinnalle voisi mainita monta muutakin politiikkaa (esim. Open Source -komponenttien käyttöpolitiikka). Tämä lienee tosin ainoa, johon on suora VAHTI-ohjeistus olemassa. Kpl 3.1.3, OSK-001 Koulutuksen uusiminen samoille henkilöille vähintään vuoden välein on käytännössä liian usein. Koulutus on tarpeen uusille henkilöille tai kun tekninen ympäristö muuttuu suuresti. Kpl 3.1.3, OSK-003 Henkilöille tulee esitellä tietoturvaryhmä tai muu taho, jolta saa apua tarvittaessa tietoturvaratkaisujen laatimisessa. Kpl 3.1.3, OSK-006 Tämä on enemmänkin perustason vaatimus. Security coachin (tai security groupin) tulee olla tiiviissä yhteydessä arkkitehtuurin kehittämiseen ja käytännön sovelluskehitystyöhön. OSK-007 ja OSK-008 ovat varsin yleisellä tasolla esitettyjä.

Lausunto 4 (7) Kpl 3.1.4, STA-001 Ulkoisten kirjastojen luokittelu ei ole käytännössä mahdollista muuten kuin sitä kautta, mitkä sovellukset niitä käyttävät. (Edellyttää komponenttien mäppäämistä sovelluksiin.) Komponenttien osalta luokittelu ei ole perustason vaatimus, vaan se tulisi edellyttää jollakin ylemmällä tasolla. Kpl 3.1.5 Komponenttikirjastot tulee säilyttää paikallisena kopiona repositoryssä, ja repositoryn päivittäminen kirjastojen kehittäjiltä tulee hoitaa hallitusti (jolloin mm. kirjastoversioiden ja niiden eheyden hallinta tulee hoidettua). Kehittäjien ei tule käyttää ulkoisia repositoryjä. Käytetyistä ulkoisista komponenteista ja niiden versioista tulee pitää kirjaa, sekä tietoa siitä, missä sovelluksissa tai muissa arkkitehtuurin komponenteissa niitä on käytetty. Tämä mahdollistaa mm. komponenttihaavoittuvuuksien hallinnan. Kpl 3.3 Uhkien mallintaminen ei kronologisesti tapahdu ennen vaatimusmäärittelyä, vaan vaatimusmäärittelyn ja suunnittelun aikana (ks. edellisen sivun kuva!) Suositeltavaa olisi suorittaa uhkien hallinta näin: - vaikutusanalyysi esitutkimuksessa (business impact analysis) - ns. liiketoimintauhkien (worst-case scenarioiden) kartoitus vaatimusmäärittelyvaiheessa - uhkapuun laatiminen/täydentäminen suunnitteluvaiheessa (jossa huomioidaan myös tekniset ratkaisut) Tämä soveltuu myös ketterään malliin. Kpl 3.3.1 BIA (business impact analysis) / tietoriskien arviointi ja järjestelmän luokittelu tulisi toteuttaa esitutkimusvaiheessa. Se luo pohjan seuraavien vaiheiden tietoturvatyölle. Kpl 3.3.2 Varsinkin vaatimusmäärittelyvaiheessa on järkevää keskittyä liiketoimintauhkiin teknisten uhkien sijasta. Tekniset uhkat voidaan tunnistaa vasta, kun teknologia on määritetty. Käytännössä järkevää olisi edellyttää, että järjestelmän liiketoimintauhkat saataisiin listattua, ilman vaatimusta että niille pitää kyetä löytämään esiehdot. Uhka-analyysi tulisi tehdä suunnitteluvaiheessa. Kpl 3.3.3, VTM-001 Viitataan esisuunnitteluvaiheeseen, pitäisi olla esitutkimusvaihe? Mitä tarkkaan ottaen ohjeessa kuvatun analyysin tuotteena saadaan? Eikö nuo korkean tason sovelluksen tietoturvavaatimukset ole jo se mitä esitutkimuksessa on laadittu? Pitäisikö tässä listata, että analyysi tuottaa tietoa järjestelmän suojattavista kohteista C/I/Anäkökulmasta, tai jotain muuta? VTM-003 Olennaisesti sama tehtävä kuin UHM-001? VTM-004: Tietoturvavaatimusten määrityksessä tulisi hyödyntää uhka-analyysiä mahdollisimman paljon, jotta vaatimusten jäljitettävyys todellisiin liiketoimintauhkiin toteutuu. Sikäli kun

Lausunto 5 (7) uhka-analyysi ei kata kaikkea, yleisiä käytäntöjä, määräyksiä jne (ks. VTM-005) on syytä hyödyntää. VTM-006 Abuse caset ovat vain yksi tapa tehdä uhka-analyysiä. Myös muut järjestelmälliset tavat tulee sallia. Abuse caset eivät esimerkiksi toimi ei-toiminnallisten vaatimusten kanssa eivätkä välttämättä löydä tapauksia, jotka toistuvat kauttaaltaan sovelluksessa (esim. CSRF, XSS-pohjaiset hyökkäykset). Kpl 3.3.4, SNT-004 Nämä tulisi olla ennemminkin arkkitehtuuri- ja sovelluskehitysohjeistuksessa, ja näitä tulisi katselmoida design- ja koodikatselmoinneissa. SNT-006 Hyökkäyspinta-alan (attack surface) suomenkielinen vastine lienee hyökkäyspinta? Hyökkäyspinta määrittyy niihin kohtiin, joissa osapuolet eivät voi luottaa toisiinsa täysin varauksetta (usein myös esim. sovelluspalvelimen ja tietokannan välille). Toisinaan hyökkäyspintoja on samankin palvelimen sisällä, esimerkiksi jos palvelimella ajetaan useampaa sovellusta. SNT-007 Tietoturvavaatimukset on jo kerätty määrittelyvaiheessa, joten haastatteluja yms. ei tarvita tässä vaiheessa. Arkkitehtuuri pitää katselmoida vaatimuksia vasten (ja mielellään myös toisinpäin). SNT-008 Tulee olla policy, että käytetään yhteisiä hyväksyttyjä tietoturvaratkaisuja. Policyä valvotaan suunnittelukatselmoinneissa ja toteutuksen edetessä koodikatselmoinneissa. SNT-009 Omistajan vastuulla on määritellä tarvittavan tunnistautumisen vahvuus, ei tiettyä tunnistautumismenetelmää (ellei sillä ole muuta varsinaista merkitystä esim. käyttäjäryhmän takia). Erityisesti tulee välttää tilannetta, että sovelluksen omistaja keksii vaatia tarpeettomasti jotain tiettyä tunnistautumistapaa, jolle ei tietoturva-arkkitehtuurista löydy toteutusta, kun yhtä hyvin voisi käyttää toista yhtä vahvaa tapaa, jolle jo löytyy tuettu toteutus. SNT-010 Salasanojen käsittelyä sovelluksissa tulisi välttää; sen sijaan ne pitäisi pitää LDAP:ssa tms, jonne ko. laatuvaatimukset voidaan toteuttaa. SNT-011 Tämä least privilege -periaate pätee myös esimerkiksi tietokantatunnuksiin, jossa esimerkiksi tietokantaskeeman muutokset on usein järkevä estää sovelluksen tunnukselta. SNT-012 Trust boundary on usein sama kuin hyökkäyspinta. SNT-014

Lausunto 6 (7) Rainbow tableja vastaan auttaa ennemminkin vahvempi suola. Brute forceen auttaa moninkertainen hashaus. Salasanalauseiden käyttö tai käyttämättömyys on lähinnä käyttäjäohjeistuksen asia. Testiympäristössä käytetyt salausavaimet pitää ilman muuta vaihtaa tuotantoympäristöön siirryttäessä. SNT-015 Data sourcen käyttö tässä yhteydessä ei avaudu lukijalle. Kpl 3.3.5, TOT-001 Toteutukseen liittyviä ohjeistuksia ja huomioitavia asioita: - defensiivinen ohjelmointi (erittäin tärkeä!) - toteutukseen liittyen code review on syytä mainita - toteutusta tukemaan on syytä olla olemassa turvallisen kehityksen ohjeistus ja/tai referenssisovellus - arkkitehtuuriratkaisujen tulisi toteuttaa mahdollisimman suurelta osin tietoturvatoiminnot, pienentäen sovellusten vastuulla olevien asioiden määrää Joitain teknisiä ohjeita puuttuu, mm.: - injektiohyökkäysten välttäminen (oikea enkoodaus oikeassa kontekstissa, variable binding jne): olennaista tunnistaa sovelluksesta kaikki kontekstit, joissa injektio voi syntyä - XSS-suojautuminen on syytä mainita erikseen, ongelman yleisyyden ja vakavuuden vuoksi - insecure direct object reference - ongelman välttäminen - tiedostojen käsittelyn vaarat (mm. että tiedostopolku täytyy validoida huolellisesti, jos se on saatu käyttäjältä) - em. teknisten ohjeiden osalta järkevintä olisi kai viitata olemassa olevaan ohjeistukseen, esim. OWASP, CERT, SANS jne TOT-002 / TOT-003 Lokiohjeeseen voisi viitata ja vähentää lainauksia? Nämä lokien käsittelyyn ja tuottamiseen liittyvät ohjeet ovat epäsuhdassa sen kanssa, mitä teknisiä toteutusseikkoja tulee ohjelmistokehityksessä huomioida tietoturvan osalta. Erityisesti on syytä huomata, että oikein järjestetty sovellusarkkitehtuuri tarjoaa sovelluksille lokituskomponentin, jossa valtaosa näistä ohjeista voidaan huomioida. Tällöin sovelluskehityksessä asioita ei tarvitse huomioida muuten kuin käyttämällä ko. komponenttia. Olisiko järkevämpää viitata ko. VAHTI-ohjeeseen tai koostaa nämä ohjeet omaksi liitteekseen? Onnistunutta syötteenkäsittelyä harvemmin on järkevää kirjata. Se myös tuottaa valtavat määrät tietoa. Sama voi päteä onnistuneisiin pääsynhallintapäätöksiin. Tässä puhutaan tietoturvalokista, mikä lienee syytä tähdentää (ks. kolmas bullet). TOT-006 Monet istunnon kaappaamisen estävät mekanismit ovat web-palvelimen tai järjestelmän arkkitehtuuriratkaisujen vastuulla, ei sovelluksen. CSRF-hyökkäys on eri asia kuin istunnon kaappaaminen. Siitä olisi järkevä olla oma suosituskohtansa.

Lausunto 7 (7) Kpl 3.3.6 TST-001 Tietoturvatestitapauksia tulee kehittää aiempien löydösten tai insidenttien perusteella. Tietoturvatestitapaukset on järkevä jakaa teknisiin teknologiakohtaisiin testeihin, joissa voidaan käyttää yleistä ohjeistusta (esim. OWASP:lta), sekä sovelluskohtaisiin testitapauksiin, jotka voivat pohjautua esim. misuse caseihin. TST-004 Katselmoinnin tulokset tulee käsitellä samalla tavalla kuin muukin katselmointi: tietoturvakatselmointi on laadunvarmistusta ja -parantamista. Pöytäkirjan sijaan havainnot voidaan syöttää esimerkiksi bugienhallintajärjestelmään, suoraan ohjelmakoodiin, jne., riippuen käyttötarpeesta. Epäformaaleissa coachin tekemissä katselmoinneissa on järkevää välttää erityistä "tarkastusasetelmaa": tarkoitus ei ole tuomita vaan auttaa. Turvallisen sovelluskehityksen menetelmät ovat osa toteutusta, ei testausta. TST-005 Staattinen koodin analysointi, erityisesti riskeinä pidettyjen ohjelmointivirheiden osalta on suositeltavaa (esim. XSS- ja injektiovirheiden löytäminen). Porttiskannerin käyttö kehitysja testausympäristössä on harvoin järkevää. TST-006 Suositeltavaa olisi, että auditointi sisältää myös arkkitehtuuriratkaisujen arvioinnin, sisältäen mm. TST-007:ssa listattuja asioita. TOT-008 alkaen : onko merkinnän alku vahingossa vaihtunut ja pitäisi olla TST-? TOT-011 Voidaan edellyttää esimerkiksi, että kaikki haavoittuvuudet, joiden vakavuus (esim. CVSSarvo) on yli 3, tulee olla korjattuna, ennen kuin julkaisu voidaan tehdä. Kaikkia haavoittuvuuksia ei usein ole järkevää eikä aina mahdollistakaan korjata. Kpl 3.3.7, KTY-001 Tuotantoympäristössä pitäisi olla mekanismi, jolla voidaan reagoida nopeasti yllättäviin tietoturvatilanteisiin, estäen tunnistetun haavoittuvuuden hyväksikäytön. Tällainen mekanismi on esimerkiksi sovelluspalomuuri, joka voi suodattaa HTTP-liikennettä konfiguroitavien sääntöjen mukaisesti. Jos tällaista ei ole, joku muu vastaava mekanismi tulee olla, jolla ongelmaan voidaan reagoida nopeasti (esim. alle 24 h). KTY-021 Lokia ei voi tarkkailla manuaalisesti kuin satunnaisesti, sen pitää olla automaattinen tarkastelu. Ari-Pekka Lehtonen Tietoturva-arkkitehti