Verkkosovellusten tietoturvastrategia Information Security konferenssi 20.4.2010 Jari Pirhonen Turvallisuusjohtaja Samlink Sisältö Nykyaikaisten verkkosovellusten tietoturvaaminen on haastavampaa kuin luuletkaan. Tietoturva on huomioitava kattavasti sovelluskehityksen kaikissa vaiheissa. Käytännön etenemismalli ja havaittuja haasteita It is not enough to do your best; you must know what to do, and then do your best. -- W. Edwards Deming 1
Vuosisadan suunnitteluhaasteet Lähde: http://www.engineeringchallenges.org/ Vuosisadan suunnitteluhaasteet Laitteiden, sovellusten, tiedon ja käyttäjien vahva todentaminen Turvallisten sovellusten tuottaminen ja todentaminen Tietoliikenteen aitouden ja oikeellisuuden varmistaminen Tietoturvaratkaisujen helppokäyttöisyys Kokonaisuuksien turvaaminen Lähde: http://www.engineeringchallenges.org/ 2
Perinteiset lähestymistavat sovellusten turvaamiseen 1. Yritetään kovemmin Luottamus sovelluskehittäjien henkilökohtaiseen osaamiseen Älkää tehkö virheitä Kaikista ei saa tietoturva-asiantuntijaa 2. Korjataan myöhemmin Tietoturvasta ei huolehdita sovelluskehityksen aikana Rakennetaan parempi palomuuri ja laitetaan salaus päälle sovelluspalomuuri, IDS/IPS, SSL, 3. Tarkastetaan lopputulos Palkataan asiantuntija etsimään valmiin sovelluksen tietoturvavirheet Laatua ei saa pelkästään testaamalla/tarkastamalla Nämä tavat eivät toimi! Lähde: http://www.secappdev.org/handouts/2010/matias%20madou/staticanalysis.pdf Tietoturva on huomioitava kokonaisvaltaisesti 3
Tietoturva on huomioitava kokonaisvaltaisesti Käyttäjän tunnistaminen Tapahtumien vahvistus Helppokäyttöisyys ei tietoturvapäätöksiä käyttäjälle Palvelun tunnistaminen Käyttövaltuudet Tietojen oikeellisuuden varmistaminen Tapahtumien kiistämättömyys Sähköinen allekirjoittaminen Häiriöttömyyden varmistaminen Tietoturvatapahtumien seuranta Osapuolten tunnistaminen Käyttäjäidentiteetin ja valtuuksien välitys Tietojen välitys käyttötarpeiden ja valtuuksien mukaisesti Tietojen säilytys luottamuksellisena ja muuttumattomana Tietojen salaus käyttäjältä tietokantaan, tapahtumien aukoton jäljitettävyys koko palveluketjussa, yhteiset tietoturvaperiaatteet, tietoturvallisiksi suunnitellut ja testatut palvelut, tietoturvallisuuden toteutumisen osoittaminen Tietoturva on integroitava systeemityöhön Standardit ja toimialavaatimukset edellyttävät tietoturvan huomioimista systeemityön kaikissa vaiheissa Valmiit mallit/metodologiat keskittyvät toiminnallisuuteen ja kustannustehokkuuteen tietoturva heikosti huomioitu Apua ja ohjeita löytyy jo: BSIMM, SAMM, MS SDL, OWASP, Vältä tietoturvan perisynti tuotelähtöinen suojausajattelu Luo fiksut toimintamallit sen sijaan, että syydät rahaa sovelluksen turvakuorrutukseen Hakkerointi on helppoa, kovat tyypit koodaavat laadukasta softaa Tietoturvahaasteet lisääntyvät entisestään Monimutkaisuus, verkottuminen, ketteryys, uudet ohjelmointikielet ja tekniikat, Tasalaatua keskivertokoodareilla Internet-kupla pilasi ohjelmoijasukupolven Sovelluksen turvallisuus on osoitettava Hyvä menetelmä ja jäljet sen jalkautumisesta Riskiarviot, dokumentit, raportit/mittarit 4
Ensimmäiset askeleet 1. Teetä tietoturvatarkastus Jos et osaa, hanki apua pahimpien virheiden löytämiseksi Optimitilanteessa tarkastuksen tuloksia käytetään oman toiminnan parantamiseen 2. Kouluta sovellustietoturvaa Siis tekemään hyviä sovelluksia, ei hakkerointia Kuinka moni on nähnyt sovelluksesi koodirivit? Ongelmista puolet implementointivirheitä, puolet suunnittelu- tai arkkitehtuurivirheitä 3. Selvitä tietoturvavaatimukset Hyvin suunniteltu on puoliksi tehty Tietoturvariskianalyysi avuksi 4. Tietoturvakatselmoinnit Parantaa tekijöiden asennetta, osaamista ja lopputuloksen laatua 5. Sovellustietoturvaryhmän perustaminen Yhteinen kieli ja sovelluskehityksen ymmärtäminen Lähde: Systeemityö lehti, http://koti.welho.com/jpirhone/docs/sytyke_2010.pdf Case 5
Käytännössä havaittuja haasteita Osaamisen ja asenteiden kehittäminen kaikilla tasoilla Johto, projektipäälliköt, arkkitehdit, sovelluskehittäjät, testaajat, tietoturva-asiantuntijat, Tietoturvavastuu, riskiajattelu, omien ratkaisujen arviointi Systeemityömallin käyttökuri Tietoturva täytyy sisällyttää toimintamalleihin ja mallia on noudatettava Tietoturva-asiantuntija syndrooma Tietoturva ulkoistetaan asiantuntijoille Harva sovellus aloitetaan tyhjältä pöydältä Tukeudutaan olemassa oleviin ratkaisuihin liian helposti Tarkistuslistafetissi Halutaan tarkistuslistoja - jääkö tilaa omalle ajattelulle? Yhteenveto Nykyaikaisten verkkosovellusten tietoturvaaminen on haastavampaa kuin luuletkaan. Tarvitaan kokonaisarkkitehtuurinäkemystä, monipuolista osaamista ja tietoturvaspesifistä osaamista. Tietoturva on huomioitava kattavasti sovelluskehityksen kaikissa vaiheissa. Tämä vaatii merkittäviä ponnistuksia ja yrityksen sitoutumista. Kulttuurimuutosta. Hyviä käytäntöjä löytyy tueksi, mutta ne on sovitettava omaan yrityksen toimintatapoihin. Käytännön etenemismalli ja havaittuja haasteita Älä haukkaa liikaa kerralla, hae pikavoitot ja suurimmat hyödyt. Vaadi tietoturvajälkiä. 6