Standardit & ohjeet tärkeimpiä standardeja Tietoturvan huomioiminen sovellusprojektissa



Samankaltaiset tiedostot
Tutkimus web-palveluista (1996)

Sertifioinnin rooli tietoturvallisuudessa. atbusiness tietoturvatorstai Client-server, n-tier, web-sovellus

Data Security 2003, Tieturi

atbusiness Tietoturvatorstai

T Hypermediadokumentin laatiminen. Sisältö. Tavoitteet. Mitä on www-ohjelmointi? Arkkitehtuuri (yleisesti) Interaktiivisuuden keinot

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Miten PKI-projekti onnistuu? AtBusiness Tietoturvatorstai

Käyttäjähallinta liiketoiminnan selkärankana. Ratkaisuna LDAP-hakemistot

anna minun kertoa let me tell you

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

HSMT J2EE & EJB & SOAP &...

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

ISACA Finland OWASP The OWASP Foundation. Timo Meriläinen Antti Laulajainen.

Security server v6 installation requirements

F-SECURE TOTAL. Pysy turvassa verkossa. Suojaa yksityisyytesi. Tietoturva ja VPN kaikille laitteille. f-secure.com/total

Uusi Ajatus Löytyy Luonnosta 4 (käsikirja) (Finnish Edition)

Järjestelmäarkkitehtuuri (TK081702) Järjestelmäarkkitehtuuri. Järjestelmäarkkitehtuuri

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Potilastiedot ja tietoturvallisuus Käyttäjähallinta ja tietoturva kertakirjautumisella

Järjestelmäarkkitehtuuri (TK081702)

Harri Kaukovuo Senior Sales Consultant Technology Sales Oracle Finland Oy

HOJ J2EE & EJB & SOAP &...

in condition monitoring

Paikkatietorajapinnat IT arkkitehtuurin näkökulmasta

Security server v6 installation requirements


Sovellusarkkitehtuurit

Yritysturvallisuuden perusteet. 11. Luento Tietotekninen turvallisuus

HELIA TIKO ICT03D Tieto ja tiedon varastointi T.Mikkola, O.Virkki. Tietoturva tiedon varastoinnissa

Tikon Ostolaskujenkäsittely versio SP1

FinFamily Installation and importing data ( ) FinFamily Asennus / Installation

PKI AtBusiness. Kokonaisprojektit Konsultointi CP/CPS Sovelluskehitys Mobile PKI RSA, Baltimore, iplanet, W2K Hakemistot

Tietoverkkojen turvallisuus. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2012

Information on preparing Presentation

Automaatiojärjestelmän hankinnassa huomioitavat tietoturva-asiat

Lisensointikuulumisia - Kustannustehokkuus Oracle lisensoinnissa

Web Service torilla tavataan!

Tietoturvallisia sovelluksia

Hyökkäysten havainnoinnin tulevaisuus?

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

Tietoturvallisuuden ja tietoturvaammattilaisen

Results on the new polydrug use questions in the Finnish TDI data

Yritysturvallisuuden perusteet

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.4.0

Kattava tietoturva kerralla

SecGo. Sähköinen allekirjoitus ja sen käyttö. Ari-Pekka Paananen, SecGo VE Oy Director,technology

Tikon Ostolaskujenkäsittely versio 6.2.0

Tapahtuipa Testaajalle...

Verkkosovellusten tietoturvastrategia

Integrointi. Ohjelmistotekniikka kevät 2003

IT-OSAAJA, TIETOJENKÄSITTELYN ERIKOISTUMISOPINNOT

Tech Conference Office 365 tietoturvan heikoin #TechConfFI

Salasanan vaihto uuteen / How to change password

Choose Finland-Helsinki Valitse Finland-Helsinki

Yritysturvallisuuden perusteet

Helpottuuko sovellusten välinen integraatio XML:n avulla - kokemuksia ja ratkaisuja, teknologiajohtaja Sauli Tujunen, atbusiness Communications Oyj

Matkustaminen Majoittuminen

Kyberturvallisuus kiinteistöautomaatiossa

Matkustaminen Majoittuminen

Directory Information Tree

Verkottunut suunnittelu

Sisällysluettelo. Esipuhe Johdanto Tietoturvallisuuden rooli yritystoiminnassa... 17

Tässä ohjeessa käydään läpi sosiaalisen median verkkopalveluiden lisätoimintojen lisääminen verkkosivuillesi.

1. Liikkuvat määreet

Novell Access Manager ja Novell Cloud Security Service Pekka Lindqvist Markku Wallgren

Nuku hyvin, pieni susi -????????????,?????????????????. Kaksikielinen satukirja (suomi - venäjä) ( (Finnish Edition)

Selvitysraportti. MySQL serverin asennus Windows ympäristöön

You can check above like this: Start->Control Panel->Programs->find if Microsoft Lync or Microsoft Lync Attendeed is listed

Kuljetus- ja sovelluskerroksen tietoturvaratkaisut. Transport Layer Security (TLS) TLS:n suojaama sähköposti

ENE-C2001 Käytännön energiatekniikkaa. Aloitustapaaminen Osa II: Projekti- ja tiimityö

Varmennepalvelu - testipenkki. Kansallisen tulorekisterin perustamishanke

LAURA TM -rekrytointijärjestelmän tietoturva. Markku Ekblom Teknologiajohtaja Uranus Oy

Mobiilin ekosysteemin muutos - kuoleeko tietoturva pilveen?

- Jarjestelmaasiantuntija Markku Jaatinen

myynti-insinööri Miikka Lintusaari Instrumentointi Oy

Tikon Ostolaskujenkäsittely/Web-myyntilaskutus versio 6.3.0

Tietorakenteet ja algoritmit

Katsaus museoiden kokoelmahallintajärjestelmiin

Network to Get Work. Tehtäviä opiskelijoille Assignments for students.

Tietoverkkojen turvallisuus. Tuomas Aura T Johdatus tietoliikenteeseen kevät 2011

Lab SBS3.FARM_Hyper-V - Navigating a SharePoint site

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

Digitaalinen haavoittuvuus MATINE Tampere

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Operatioanalyysi 2011, Harjoitus 3, viikko 39

FuturaPlan. Järjestelmävaatimukset

Tietoturvan Perusteet Yksittäisen tietokoneen turva

7.4 Variability management

GPRS-lisäpalvelu INTERNET-ASETUKSET

Web-palvelukonsepti tarjoaa yhden tavan toteuttaa SOA. Tämä tapa perustuu Web-palvelustandardien käyttöön: palvelut kuvataan WSDL-kielen avulla ja

Sisältö - pohdiskelua kysymyksiin

Visma Nova Webservice Versio 1.1 /

IPv6 käyttöönoton mahdollistajat operaattorin näkemys

HITSAUKSEN TUOTTAVUUSRATKAISUT

Lääkinnällisten ja taloteknisten tietoverkkojen eriyttäminen Sairaalatekniikan päivät Hämeenlinnassa

Ohjelmiston testaus ja laatu. Testaustasot

Group 2 - Dentego PTH Korvake. Peer Testing Report

Älykäs verkottuminen ja käyttäjänhallinta. Pekka Töytäri TeliaSonera Finland

Tietoturvallinen liikkuva työ. Juha Tschokkinen

Lab A1.FARM_Hyper-V.v3

Transkriptio:

Tietoturvallisuuden huomioiminen sovelluskehityksessä Data Security Conference 2002 24.10.2002 Jari.Pirhonen@atbusiness.com Senior Security Consultant, CISSP, CISA AtBusiness Communications Oyj www.atbusiness.com www.iki.fi/japi/ Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 1 Sisältö Tietoturva sovelluksissa tietoturvahaasteita sovelluksille tietoturvatavoitteet vs. sovellusprojektin tavoitteet Sovelluskehityksen haasteet web-sovelluksen koostumus tietoturvahaasteet sovelluskehityksessä Standardit & ohjeet tärkeimpiä standardeja Tietoturvan huomioiminen sovellusprojektissa määrittely suunnittelu arkkitehtuurit toteutus testaus käyttöönotto ylläpito Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 2 1

Sisältö Uusia haasteita Web Services XML Esimerkkejä sovellusongelmista tunnettuja ongelmia puskuriylivuoto SQL injection Format String Attack Cross-site scripting vastuun siirto käyttäjälle Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 3 Sisältö Tietoturva sovelluksissa Sovelluskehityksen haasteet Standardit & ohjeet Tietoturvan huomioiminen sovellusprojektissa Uusia haasteita Esimerkkejä sovellusongelmista If J. Random Websurfer clicks on a button that promises dancing pigs on his computer monitor, and instead gets a hortatory message describing the potential dangers of the applet - he's going to choose dancing pigs over computer security any day." Bruce Schneier Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 4 2

Turvallista? Palvelumme tietoturva perustuu www-selaimien ominaisuuksiin, asiakastunnuksiin sekä niitä täydentäviin tunnisteisiin. Näiden lisäksi käytämme alan kehittyneimpiä palomuuri- ym. sisäisiä tietoturva- ja varmistusratkaisuja, jotka ovat asiakkaillemme näkymättömiä. Turvallisuus perustuu SSL-turvatekniikkaan, joka salakirjoittaa koko tietoliikenteen jatkuvasti vaihtuvilla avaimilla. Ulkopuolisten ei ole mahdollista muuttaa tai lukea siirrettävää tietoa. Järjestelmää voivat käyttää vain sopimuksen tehneen organisaation nimeämät käyttäjät. Selaimen ja järjestelmän välinen tietoliikenne on salattu. Palvelussa on nykyaikainen palomuuriratkaisu. "At the core of HYDRA's security features is a biomorphic technology based on a field of mathematics called 'Chaotic Dynamics.' Using Chaos Theory, HYDRA can generate special groups of characters called Bodacions. Bodacions are impossible to guess, and never repeat. Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 5 Tietoturva Luottamuksellisuus Eheys Käytettävyys Tunnistus Valtuutus Auditointi Kiistämättömyys Oikeellisuus Ajantasaisuus Yksityisyys Anonymiteetti Monitoroitavuus Jäljitettävyys Todistettavuus Hallittavuus Uskottavuus Toimivuus Laadukkuus Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 6 3

Miksi turvaratkaisuja tarvitaan? Hyvät turvaratkaisut mahdollistavat tietoverkkoja hyödyntävän liiketoiminnan. Mitä enemmän tietoverkkoja käytetään kriittiseen liiketoimintaan, sitä parempia ja varmempia turvaratkaisuja halutaan. Turvatoimet ovat riskien hallintaa Tietoturva parantaa sovellusten laatua Ei käyttäjätunnistusta tunnus + salasana kertakäyttöiset salasanat fyysinen laite + kertakäyttöiset salasanat PKI, biometria Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 7 Haasteita Verkottuminen yrityksen järjestelmät avataan maailmalle yhteydet sovelluksiin saatava kaikkialta laillisten käyttäjien pääsyn helpottaminen avaa ovia myös väärinkäyttäjille Laajennettavuus päivitykset verkon yli automaattisesti plug-init: käyttäjän ohjelmisto muuttuu lennossa mobile code: client-sovellus luovutetaan käyttäjän armoille Monimutkaisuus laajat, hajautetut järjestelmät, useille päätelaitteille, aina saatavilla paljon valmiskomponentteja, protokollia, middleware-ohjelmistoja, rajapintoja, Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 8 4

Maailma muuttuu Ympäristö keskitetty, rajattu => globaali, rajoittamaton Tietojärjestelmä kuin linnake => tori Tapahtumat ennustettavissa => yllätyksellisiä Vastuu keskitetty => jaettu Tietoturva rajoite => mahdollisuus Lähtökohtana komponettien suojaus => riskien hallinta Pääasia turvallisuus => selviytyminen Turvallisuusajattelu => laatu Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 9 ja monimutkaistuu miljoon aa koodiriviä 45,0 40,0 35,0 30,0 25,0 20,0 15,0 10,0 5, 0 0, 0 Linux Kernel (RH 6.2) Linux Kernel (RH 7.1) Windows 3.1 B oeing 777 Avaruussukkula Windows 95 Redhat 6.2 Netscape Windows 98 Redhat 7.1 Windows 2000 Windows XP Avaruusasema Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 10 5

Turvallisuus on kompromissi Tietoturvatavoitteet käytettävyys (availability) käyttökatkosten välttäminen eheys (integrity) tiedot ja järjestelmät luottamuksellisuus (confidentiality) tiedot vain oikeille henkilöille jäljitettävyys (accountability) kuka teki mitä ja milloin? luotettavuus (assurance) mistä tiedän riittävän turvallisuuden tason toteutuvan? Sovellusprojektin tavoitteet toiminnallisuus (functionality) usein tärkein (ainoa) kriteeri käytettävyys (usability) tietoturva vaikeuttaa tehokkuus (efficiency) tietoturva hidastaa ja maksaa oikea-aikaisuus (time-to-market) kiire, kiire missä oikaistaan yksinkertaisuus (simplicity) hyvä! Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 11 Tutkimus 45 sovelluksesta tietoturvaongelman luokka tietoturvaongelma löytyi sovelluksista suunnitteluvirheiden osuus vakavien suunnitteluvirheiden osuus hallintaliittymä 31% 57% 36% tunnistus/valtuutus 62% 89% 64% konfiguroinnin hallinta 42% 41% 16% salausal gori tm it 33% 93% 61% tiedon keräys 47% 51% 20% syötteen tarkistus 71% 50% 32% parametrien manipulointi 33% 81% 73% luottamuksell isen tiedon käsittely 33% 70% 41% istunnon hallinta 40% 94% 79% ht tp: //www.atstake. com/research/reports/atstake_app_unequal.pdf Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 12 6

Löydetyt tietoturvaongelmat Top 10 istunnon kaappaus/uudelleen ajo salasanakontrollit puskuriylivuodot haavoittuvien tiedostojen ja sovellusten haku heikko salaus salasanojen kuuntelu keksien (cookies) manipulointi ylläpitomekanismit lokit virhekoodit ht tp: //www.atstake. com/research/reports/atstake_app_unequal.pdf Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 13 Sisältö Tietoturva sovelluksissa Sovelluskehityksen haasteet Standardit & ohjeet Tietoturvan huomioiminen sovellusprojektissa Uusia haasteita Esimerkkejä sovellusongelmista Even if you trust a man not to play certain cards, there's no point in dealing them to him. Andrew Vachss Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 14 7

Verkkosovelluksen uhkia Ei tietoturvapolitiikkaa Selain Java/ActiveX Pluginit Tiukka tietoturvapolitiikka Protokollat Reititys Sovellukset Käyttöjärjestelmät Henkilöllisyyden väärentäminen Istunnon kaappaus Viestien väärentäminen Viestien kuuntelu Palvelujen kuormitus Palvelun kaappaus (MITM) Puolueeton alue (DMZ) WWW Asennukset Hallinta Päivitykset Komponentit Tuotteet Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 15 Ratkaistavaa mm. Käyttäjätunnistus Käyttäjävaltuutus Viestien salaus Viestien muuttumattomuus Viestien aitous Sähköiset allekirjoitukset Istunnon suojaaminen Verkkokomponenttien suojaaminen Liitynnät operatiivisiin järjestelmiin Loki- ja seurantatietojen keräys Palvelujen saatavuus Virhetilanteista toipuminen Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 16 8

Sovellusnäkökulma Java, JavaScript, VBScript, ActiveX, plugins... Cobol, Java, C, C++, C#, XML, Tuxedo, Oracle, Informix, SQL Server,... HTTP, SSL, RMI, DCOM, IIOP, SOAP, FTP, SMTP,... HTML, XML, Corba, CGI, COM, PHP, JSP, ASP, VB, Servlets, Perl, EJB, J2EE... WWW RMI, DCOM, IIOP, MQ, ODBC, JDBC, LDAP, SQL, PAM, GSS-API,... Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 17 Sovelluskehityksen haasteet Kiire, kiire, kiire release now, fix it later Kilpailevat standardit Välineiden ja protokollien runsaus, nopea kehitys Ympäristön vaikeus: hajautettu oliomalli, uudet tekniikat Valmiskomponentit järjestelmä turvallisemmaksi kuin komponenttiensa summa? Sovellusten koon kasvaessa turvaongelmien määrä lisääntyy eksponentiaalisesti Murphy s computer (safety) vs. Satan s computer (security) Sovelluksista testataan toiminnallisuutta eikä tietoturvaa => toimiva sovellus ei välttämättä ole turvallinen Tietoturva koetaan jälkikäteen lisättävänä piirteenä Tietoturva ei ole hauskaa? Tietoturvaosaamisen puute Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 18 9

The Mythical Man-Month Ohjelma 1 aikayksikkö 3x 3x 9x Ohjelmistokomponentti määritellyt rajapinnat integrointi yhteistoiminta Ohjelmistotuote testaus dokumentaatio yleiskäyttöisyys ylläpito Tuotteistettu, turvallinen, laadukas ohjelmistokomponentti Frederick P. Brooks Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 19 Sisältö Tietoturva sovelluksissa Sovelluskehityksen haasteet Standardit & ohjeet Tietoturvan huomioiminen sovellusprojektissa Uusia haasteita Esimerkkejä sovellusongelmista What would be the point of cyphering messages that very clever enemies couldn't break? You'd end up not knowing what they thought you thought they were thinking Terry Pratchett Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 20 10

Standardeja, ohjeita TCSEC, ITSEC Common Criteria BS7799, ISO 17799 SSE-CMM COBIT ISF Standard of Good Practice GASSP The Open Web Application Security Project, www.owasp.org Valtionhallinnon suositukset, www.vm.fi tietojärjestelmäkehityksen tietoturvallisuussuositus (2000) i tietotekniikkahankintojen tietoturvallisuuden tarkistuslista (2001) Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 21 TCSEC / ITSEC (Käyttö)järjestelmän turvavaatimusten luokitus TCSEC (Orange Book): D, C1, C2, B1, B2, B3, A1 ITSEC (Red Book): E0-E6 Evaluoinnin kohteena koko järjestelmä laitteineen Käytössä lähinnä käyttöjärjestelmätoimittajilla kuvaamassa turvatasoa. Normaalit järjestelmät (NT, W2K, Unix) tyypillisesti nostettavissa C2-tasolle. (erikois) Unix-versioita esim. Trusted Solaris, HP Trusted Linux, Argus PitBull Standardista ei juurikaan apua sovellusprojekteille, korkeamman turvatason valmispaketeista kylläkin esim. HP VirtualVault Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 22 11

BS7799 / ISO 17799 BS7799-1 ja ISO 17799-1: Code of Practice for Information Security Management BS7799-2: Specification for Information Security Management Systems Tarkistuslista, BS7799 evaluoinnin perusta Ei vastaavaa ISO-standardia Keskittyy tietoturvan hallintaan, ei sovelluskehitykseen tietoturvapolitiikka organisaatio tietojen luokittelu jatkuvuusssuunnittelu jne. Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 23 Common Criteria Järjestelmän/tuotteen turvatason luokitus Evaluation Assurance Levels: EAL1-EAL6 EAL4: menetelmällisesti suunniteltu, testattu ja katselmoitu Termejä TOE, Target of Evaluation (kohde) ST, Security Target (tavoite) Assurance Documents (todistelu) Muodostetaan turvaprofiili (protection profile), joka kuvaa järjestelmän tietoturvallisuusvaatimukset Turvaprofiilin muodostaminen hyödyllistä sovellusprojektia ajatellen tavoitteet, vaatimukset, kontrollit, EAL standardi kuvaustapa, tarkistuslista auditointi Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 24 12

SSE-CMM Systems Security Engineering Capability Maturity Model Hyväksytty ISO standardiksi Ei kuvaa yhtä prosessia, vaan yleisesti hyväksi havaittuja käytäntöjä Laaja kehitys, operointi koko organisaatio ohjelmisto, laitteet, ihmiset, ympäristö sidosryhmät, hankinnat, hallinta Auttaa koko prosessin evaluoinnissa ja mittaamisessa Sisältää ohjeistuksen prosessien kypsyyden arvioimiseksi Isoille organisaatioille, turvatuotteita kehittäville? Osaamista huonosti saatavilla Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 25 Standardit - yhteenveto Standardit lähestyvät tietoturvaa eri näkökohdista Ei ole yhtä hyvää ohjetta/standardia, jonka mukaan sovellusprojektin saisi kuntoon tietoturvan huomioimisen osalta Käytä standardeja ja ohjeita soveltuvin osin luo oma standardi CC, jos tarvitset tuotteelle virallisen turvasertifioinnin tai haluat määritellä tuotteen turvatavoitteen SSE-CMM suunnattu sovellus-/tuotekehitykseen Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 26 13

Sisältö Tietoturva sovelluksissa Sovelluskehityksen haasteet Standardit & ohjeet Tietoturvan huomioiminen sovellusprojektissa Uusia haasteita Esimerkkejä sovellusongelmista The coding cowboy's day is done. There was a time when everyone admired the brilliant programmer who worked in self -imposed isolation, creating powerful functions and elegant user interfaces, ingratiating himself with the user community while ignoring his colleagues and his project manager. He had t he panache of a rock star and the vanity of a prima donna. Unfortunately, when he rode off into the sunset his code turned out to be undocumented, unextendable, and unmaintainable. Patricia Ensworth Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 27 Vesiputousmalli Tarkista Määrittely Tarkista Suunnittelu Tarkista Tarkenna Tarkista Ohjelmoi Toteutus & komponenttitestaus Rakenna Käyttöönotto & järjestelmätestaus Käytä Ylläpito & operointi T I E T O T U R V A Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 28 14

Määrittely Määrittely Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 29 Turvallisuus on kompromissi Mihin halutaan panostaa? Toiminnallisuus mitä sovelluksen pitää tehdä? mitä pitää suojata? Mekanismi kuinka toiminnot toteutetaan? kuinka suojaukset toteutetaan? valitut/annetut komponentit, algoritmit, middleware,? Toteutus oikea, luotettava, testattu, aikataulussa? Käytettävyys tietoturva vs. helppokäyttöisyys? Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 30 15

Määrittely ja tietoturva Suojattavat tiedot Tietojen omistajat Tietojen arvo Riskit, uhka-analyysi Olemassa olevat tietoturva-ohjeistukset ja välineet Turvallisuusvaatimukset Tietosuojavaatimukset Kustannusarviot Paras, helpoin ja halvin vaihe tehdä tietoturvaratkaisut Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 31 Riskien hallinta Riskien (tietomurrot, käyttökatkokset) toteutumisesta johtuvat seuraamukset selvitettävä ei-teknisesti: rahan tai maineen menetys, markkinoiden menetys, kilpailukyvyn heikentyminen, Esim. reititin tai sovellus altis hyökkäykselle, mitä se oikeasti tarkoittaa yritystoiminnalle? Uhka-analyysin kautta suojaukset kohdennetaan oikein ja järkevällä tasolla ei arvauksiin perustuen Riskitaulukot Riski = haavoittuvuus * uhka haavoittuvuus, kustannukset riskin toteutuessa, todennäköisyys, suojaus, suojauksen kustannukset Hyökkäyspuut (attack trees) ehdot hyökkäyksen tavoitteen toteutumiseksi AND/OR, vaikeus, kustannukset Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 32 16

Tietoturva & tietosuoja Hyödyllisyys Turvallisuus Yksityisyys Tietoturva: suojaus eheys saatavuus Tietosuoja: tiedotus käsittely tarkistus käyttö Tietosuojavaatimukset ohjaavat parempiin tietoturvaratkaisuihin Lait ja ohjeet eivät anna teknisiä vaatimuksia tiedot eivät saa paljastua asiattomille Tietoturva on kompromissi tietosuoja ehdoton? Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 33 Suunnittelu Määrittely Tarkenna Suunnittelu Tarkista Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 34 17

Suunnittelu ja tietoturva Suunnittelijoiden koulutus Turvakeinojen valinta Tietoturva-arkkitehtuuri Verkkoarkkitehtuuri Sovellusarkkitehtuuri Ohjelmointikielten, työkalujen ja tuotteiden tietoturvaominaisuudet (tai puutteet) Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 35 Perusohjeet suunnittelussa Suojaa heikoin kohta ensin Rakenna useita puolustuslinjoja Turvaa virhetilanteet Anna sovellukselle mahdollisimman vähän oikeuksia Erottele toiminnallisuudet turvatiloihin KISS Huolehdi yksityisyyden suojasta Salaisuuksien pitäminen on vaikeaa Luota säästeliäästi Käytä testattuja välineitä ja komponentteja kerää ja jaa kokemuksia Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 36 18

Lisävinkkejä Huomioi tietoturvanäkökohdat alusta pitäen Tietoturva-asiantuntijoita mukaan projektiin Perustellut vaihtoehdot tilaajalle: halpa optimaalinen erittäin turvallinen Tee sovelluksista joustavia ja siirrettäviä Eri ohjelmointikielet vaativat erilaista paneutumista turvallisuuteen Turvallisuus on prosessi, ei tarkistuslista Muista koulutus, tiedostaminen, ohjeistaminen, motivointi Koodikatselmointi tietoturvanäkökulmasta Koodari siivotkoon jälkensä (fix your own bugs) Tietoturvallisuus on laatukriteeri! Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 37 Arkkitehtuurit stand-alone Internet DMZ julkinen intranet web-sovellus operatiiviset järj + Ei yhteyksiä sisäverkkoon - Tietokanta haavoittuva - Ei sovellu operatiivisia tietokantoja käyttäville sovelluksille Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 38 19

Arkkitehtuurit tietokanta sisäverkossa Internet DMZ julkinen intranet web-sovellus operatiiviset järj + Operatiiviset tietokannat käytettävissä - Tietokanta haavoittuva - Tietokantayhteyttä voidaan käyttää sisäverkkoon tunkeutumiseen Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 39 Arkkitehtuurit erillinen tietokanta Internet DMZ julkinen DMZ palvelut intranet web-sovellus sovellustietokanta operatiiviset järj. + Ei yhteyksiä sisäverkkoon - Tietokanta paremmin suojattu, mutta haavoittuva - Ei sovellu operatiivisia tietokantoja käyttäville sovelluksille Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 40 20

Arkkitehtuurit replikoitu tietokanta Internet DMZ julkinen DMZ palvelut intranet web-sovellus tietokantareplika operatiiviset järj + Ei yhteyksiä sisäverkkoon (replikointi ulospäin) - Tietokanta tuplattu - Monimutkainen - Ei sovellus reaaliaikaiselle tiedolle tai suurille tietomassoille Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 41 Arkkitehtuurit monitasoarkkitehtuuri Internet DMZ julkinen DMZ sovellus DMZ palvelut intranet web-palvelin sovellus palvelut operatiiviset järj + Operatiiviset tietokannat käytettävissä + Turvallinen - Monimutkainen Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 42 21

Arkkitehtuurit todellisuus Internet DMZ julkinen DMZ sovellus DMZ palvelut intranet kuormantasaus, web-palvelimet sovellus, middleware FE hakemisto slave, middleware BE hakemisto master, tietokannat Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 43 Sovellusten tietoturvapalvelut Sovellusarkkitehtuuria tukevien ja suojaavien taustapalvelujen rakentaminen vaatii usein oman (laajan) projektinsa: hakemisto PKI-järjestelmä Single Sign-On VPN keskitetty käyttöoikeuksien hallinta/valtuutus, roolit Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 44 22

Arkkitehtuurit turvattu todellisuus Internet DMZ julkinen DMZ sovellus DMZ palvelut intranet IDS Roolit SSO Palomuurit DNS Hallinta Aikapalvelut PKI VPN Hakemisto Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 45 The Fundamental (design) Truths RFC 1925 It Has To Work. No matter how hard you push and no matter what the priority, you can't increase the speed of light. With sufficient thrust, pigs fly just fine. Some things in life can never be fully appreciated nor understood unless experienced firsthand. It is always possible to agglutinate multiple separate problems into a single complex interdependent solution. In most cases this is a bad idea. It is easier to move a problem around than it is to solve it. Good, Fast, Cheap: Pick any two It is more complicated than you think. For all resources, whatever it is, you need more. One size never fits all. Every old idea will be proposed again with a different name and a different presentation, regardless of whether it works. In design, perfection has been reached not when there is nothing left to add, but when there is nothing left to take away. Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 46 23

Toteutus Määrittely Tarkenna Tarkista Tarkista Suunnittelu Toteutus & komponenttitestaus Ohjelmoi Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 47 Toteutus ja tietoturva Ohjelmoijien ja testaajien koulutus Turvanäkökohdat ohjelmoinnissa Valmiskomponentit Lokit Koodikatselmoinnit Tietoturvallisuuden testaus Kehitys- ja testiympäristön turvallisuus C vs. C++ vs. Perl vs. Java Komponenttien allekirjoitus Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 48 24

Ohjelmointikielistä C Brian Kernighan: C is a fine scalpel, fit for a surgeon, although, in the hands of the incompetent, it can create a bloody mess. It s easy to shoot yourself in the foot C++ You accidentally create a dozen instances of yourself and shoot them all in the foot. Providing emergency medical assistance is impossible since you can't tell which are bitwise copies and which are just pointing at others and saying, That's me, over there. " Perl tainted-moodi: ei salli syöttötietojen käyttöä vaarallisissa funktioissa ilman tarkistusta Java sandbox-toteutus, tietoturva suunnittelukriteeri monimutkainen tietoturvamalli turvallisuus riippuu JVM-toteutuksesta mikä Java: J2SE, J2EE, J2ME, JavaCard,? tietoturvalaajennoksia: JAAS, JCE, JSSE Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 49 Windows 2000 lisenssi NOTE ON JAVA SUPPORT THE SOFTWARE PRODUCT MAY CONTAIN SUPPORT FOR PROGRAMS WRITTEN IN JAVA. JAVA TECHNOLOGY IS NOT FAULT TOLERANT AND IS NOT DESIGNED, MANUFACTURED, OR INTENDED FOR USE OR RESALE AS ON-LINE CONTROL EQUIPMENT IN HAZARDOUS ENVIRONMENTS REQUIRING FAIL-SAFE PERFORMANCE, SUCH AS IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF JAVA TECHNOLOGY COULD LEAD DIRECTLY TO DEATH, PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE. Sun Microsystems, Inc. has contractually obligated Microsoft to make this disclaimer Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 50 25

Vinkkejä koodareille Tarkista aina sovelluksen/komponentin ulkopuolelta tulevat tiedot Älä luota käyttäjään Älä luota client tai server-sovellukseen Älä luota alla olev aan järjestelmään Älä luota systeemin tilaan Älä pidä luottamuksellista tietoa salaamattomana tiedostoissa tai puskureissa (esim. salasanat) Tekeehän ohjelma vain ja vain sen mitä pitää? Mieti itse, kuinka sovelluksen voisi rikkoa Aseta aina turvalliset oletusarvot! Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 51 Testauksesta Testattavuus huomioitava sovellusta kehitettäessä Koodikatselmointi Arvioi komponenttien rajapintoihin liittyvät riskit Arvioi suunnittelijan/koodaajan olettamukset ja riko ne Käytä omaa testi-clientia (perl) Testaa normaalia sovellusrajapintaa alemmalla tasolla Huijaa Käytä aputyökaluja mm. vaarallisten funktioiden löytämiseksi, satunnaissyötteen generoimiseksi, virhetilanteiden aiheuttamiseksi, Testisovellusten tulee olla laadukkaita Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 52 26

Lähdekoodin analysointi Flawfinder (www.dwheeler.com/flawfinder) C/C++ RATS (www.securesw.com/rats/) C, C++, Python, Perl and PHP ITS4 (www.cigital.com/its4/) C & C++ Man Machine System (www.mmsindia.com) ( ) "Automated Java Testing and Quality Assurance Tools for the Serious Java Professional!" Rational Purify (www.rational.com) ( ) Java & C/C++ Jtest (www.parasoft.com) ( ) Java Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 53 Sovellustason analysointi/testaus Perl Netcat (http://www.atstake.com/research/tools) curl(http://curl.haxx.se/) Nessus (www.nessus.org) Ethereal (www.ethereal.org) Nessus (www.nessus.org) Nikto (www.cirt.net/code/nikto.shtml) HTTPush (www.sourceforge.net/projects/httpush/) Spike (www.immunitysec.com/spike.html) WebProxy (http://www.atstake.com/research/tools) WebSleuth (http://www.geocities.com/dzzie/sleuth) Sanctum AppScan (www.sanctuminc.com) ( ) spidynamics WebInspect (www.spidynamics.com) ( ) Hailstorm (www.cenzic.com) ( ) Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 54 27

Käyttöönotto Määrittely Tarkenna Suunnittelu Ohjelmoi Tarkista Tarkista Toteutus & komponenttitestaus Tarkista Käyttöönotto & järjestelmätestaus Rakenna Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 55 Käyttöönotto ja tietoturva Verkko- ja järjestelmäasiantuntijoiden koulutus Asennussuunnitelmat ja dokumentit Turvalliset asennukset Liittymäkomponenttien konfigurointi Järjestelmän auditointi Käyttöönottokoulutus Kokonaisuuden testaus suorituskyky vikasietoisuus Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 56 28

Tietoturvatason mittaaminen Hankalaa sovellusten tietoturvatarpeet vaihtelevat riskinsietokyky vaihtelee tekniset vs. hallinnolliset ratkaisut Koodikatselmoinnit Auditoinnit speksit arkkitehtuuri asennukset koodi Kuinka verrata eri projektien tietoturvatasoa? Kannattaa keskittyä omien prosessien ja menetelmien virittämiseen ja virheistä oppimiseen Arviointi suhteessa määritykseen Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 57 Ylläpito Määrittely Tarkenna Tarkista Tarkista Suunnittelu Toteutus & komponenttitestaus Tarkista Ohjelmoi Integrointi & järjestelmätestaus Rakenna Käytä Tarkista Ylläpito & operointi Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 58 29

Ylläpito ja tietoturva Ylläpidon ja tukihenkilöiden koulutus Järjestelmän turvallisuuden seuranta Turvakorjaukset Sovelluspäivitykset Muutoshistoria Lokien seuranta, hälytykset Suojaa Reagointi Toimi Huomaa Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 59 Tietoturvan liittäminen sovelluskehitysprosessiin Vastuu tietoturvasta kaikilla: projektipäällikkö, suunnittelija, speksaaja, koodaaja, testaaja, asentaja, ylläpitäjä, tukihenkilö tietysti johdon tukemana. Nimitä tietoturvaan erikoistuva henkilö joka osa-alueelle Kouluta Pienin askelin eteenpäin Aloita määrittelystä, testauksesta ja turvallisista asennuksista Aluksi mukaan yleisesti tunnetut ja käytössä olevat turvaratkaisut Poimi standardeista ja ohjeista sopivat kohdat sovella Vuosien työ Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 60 30

Sisältö Tietoturva sovelluksissa Sovelluskehityksen haasteet Standardit & ohjeet Tietoturvan huomioiminen sovellusprojektissa Uusia haasteita Esimerkkejä sovellusongelmista "Now, here, you see, it takes all the running you can do just to stay in the same place." Red Queen in Alice in the Wonderland Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 61 Web Services 1/3 2. Hae UDDI 3. Kytkeydy Yritys C WSDL kuvaus Sovellus Yritys A: palvelu 1 Yritys A: palvelu 2 Yritys B: palvelu 1 Yritys C: palvelu 1 4. Käytä API 1. Julkaise Web Service Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 62 31

Web Services 2/3 1. Käytä A / palvelu 1 4. vastaus Yritys A Web Service Sovellus Sovellus Sovellus 2. Käyttää C / palvelu 1 Sovellus Sovellus Sovellus Yritys C Web Service 3. Vastaus UDDI Yritys A: palvelu 1 Yritys A: palvelu 2 Yritys B: palvelu 1 Yritys C: palvelu 1 Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 63 Web-services 3/3 SOAP XML-pohjainen viestinvälitys HTTP, SSL WSDL XML-pohjainen verkkopalvelujen kuvaustapa UDDI Web-palvelujen mainostus ja hakuprotokolla DISCO Web-palvelujen (helppo, MS-spesifi) julkaisutapa Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 64 32

Web Services tietoturva 1/3 Asiakas Luotettava kommunikointi SOAP, XML-allekirjoitus, XML-salaus Valtuutus SAML, XACML Palvelu Palvelurekisteri UDDI Luottamus XKMS, WSDL Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 65 Web-services tietoturva 2/3 XML-allekirjoitus XML dokumentin tai sen osan digitaalinen allekirjoitus dokumenttiin linkitetyn tiedon allekirjoitus XML-muoto vs. käyttäjälle esitetty muoto kanonisen (canonical) XML:n allekirjoitus XML-salaus XML dokumentin tai sen osan salaus XACML XML-pohjainen pääsylista (ACL) tekijä, kohde, toiminto (luku, kirjoitus, luonti, tuhoaminen) kohde jopa XML-dokumentin yksi elementti Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 66 33

Web-services tietoturva 3/3 SAML tunnistus, valtuutus, oikeudet sovellusten ja yritysten välinen oikeustietojen välitys XKMS XML-pohjainen PKI X-KRSS: XML Key Registration Service Specification XKISS: XML Key Information Service Specification palvelut: avainten generointi, salaus, allekirjoitus, varmenteen haku ja käsittely, luottamusketjun käsittely, PKIX, SPKI, PGP Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 67 Muuta mielenkiintoista Open Source.NET Biometria Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 68 34

Sisältö Tietoturva sovelluksissa Sovelluskehityksen haasteet Standardit & ohjeet Tietoturvan huomioiminen sovellusprojektissa Uusia haasteita Esimerkkejä sovellusongelmista Today s computer and network security mechanisms are like the walls, moats, and drawbridges of medieval times. At one point, effective for defending against isolated attacks, mounted on horseback. Unfortunately, today s attackers have access to airplanes and laserguided bombs!" Gary McGraw Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 69 Tunnettuja ongelmia Puskuriylivuodot Ajoitusongelmat (race condition, TOCTOU) Satunnaisuuden luominen Salausprotokollat Luottamussuhteet Cross-site scripting (XSS) SQL injection Istunnon kaappaus HTML piilotetut kentät salaamattomat cookiet Vanhojen tai backup-versioiden unohtaminen Paljastavat virheilmoitukset Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 70 35

Tunnettuja ongelmia Parametrien manipulointi Luottamuksellista tietoa vuodetaan Kirjoittamalla lokiin (HTTP GET) SSI-tiedostoissa Web-palvelimen tiedostoissa ja tiedostojen näkymistä ei ole estetty HTML-sivun kommenteissa ASP- tai JSP-sivuilla http://www.my.com/page.asp. http://www.my.com/page.asp::$data http://www.my.com/page.jsp (WebLogic, WepSphere) Linkkien luova käyttö htt p://h ost/so methi ng.ph p=<b>h i%20m om%20 I'm%20 Bold! </b> htt p://h ost/sc ripts /some thing. asp=../../ WINNT/ syste m32/c md.exe?dir+ e:\ htt p://h ost/fi les.a sp%00.jpg UTF8-merkistön tai %-merkistön unohtaminen htt p://f oo.com /cgi? file= %2F%65 %74%6 3%2F% 70%61% 73%73 %77%6 4 Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 71 Puskuriylivuoto Erittäin yleinen ongelma Cert-varoituksista lähes puolet Tiedolle on varattu säilytystilaa, mutta talletettavan tiedon määrää ei tarkisteta Pinon (stack) tai kasan (heap) ylivuoto Pinon ylivuoto helpompi toteuttaa Oireet Sovellus käyttäytyy oudosti Sovellus kaatuu Ei mitään (vaikea löytää testauksessa) Seuraukset Kriittisen (esim. tietoturvaan liittyvän) tiedon ylikirjoitus Ylimääräisen ohjelmakoodin suoritus Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 72 36

Puskuriylivuoto X86 arkkitehtuurin ohjelmapino pieni paikalliset muuttujat kutsujan kehysosoitin paluuosoite kutsuparametrit suuri pino-osoitin kehysosoitin Paikallisten muuttujien ylivuoto mahdollistaa Paluuosoitteen ylikirjoituksen, joka mahdollistaa Ohjelmasuorituksen jatkumisen halutusta paikasta, joten Voidaan suorittaa ylivuodon sisältämä ohjelmakoodi Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 73 Puskuriylivuoto Sovelluksessa : char str[10]; strcpy ( str, argv[1] ); Ajetaan ohjelma siten, että argv[1] =NNNNNNNNNNNNSSSSSSSSSRRRRRRRRRRRRRRRR N = NOP S = Shellcode (haluttu murtokoodi ) R = Shellcode aloituskohta tai jonkin NOP-komennon osoite; R-osion pitää ylikirjoittaa funktion paluukoodi Korjaus: strncpy(str,agv[1],10); Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 74 37

Format String Attack Oikein: printf(format, str); Väärin: printf(str); Väärässä tavassa voidaan mahdollisesti syöttää sovellukselle merkkijono, joka sisältää myös (vääriä) formaatteja (%n) Ylikirjoitetaan (korvataan) ohjelman suorittama komento Ylikirjoitetaan paluuosoitteen tilalle haluttu (väärä) osoite Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 75 Cross-site Scripting (XSS) Mahdollista, jos web-palvelu antaa käyttäjän syöttää dataa muiden käyttäjien katsottavaksi Käyttäjä syöttääkin tekstikenttään esim. skriptin Tietoa katsovan käyttäjän selain suorittaa skriptin Haitallisen skriptin suorittaminen käyttäjän selaimessa Identiteetin (cookie) kaappaus Käyttäjän yhteyden siirtäminen väärään osoitteeseen www.site.com/search.pl?text=security www.site.com/search.pl?text=<script>alert(document.cookie)</script> Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 76 38

Cross-site Scripting identiteetin kaappaus käyttäjän selain kaappaus skripti 1. Luo sivun, jossa kaappausskripti oikea palvelin kaapparin palvelin 2. Menee kaappaussivulle 3. HTML + skripti latautuu 4. Skripti suoritetaan 5. Kaappaa cookiet 6. Ohjaa yhteyden kaapparin palvelimelle 7. Lähettää käyttäjän cookiet 8. Käytä kaapattua identiteettiä (cookiet) Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 77 SQL Injection Haetaan tietokannasta käyttäjän hakuehdolla: Set myrecordset = myconnection.execute ("SELECT * FROM mytable WHERE sometext ='" & request.form("inputdata") & "'") Käyttäjä antaakin hakuehdoksi : 'exec master..xp_cmdshell 'net user test testpass /ADD' -- Ja koodissa käykin näin: SELECT * FROM mytable WHERE sometext ='' exec master..xp_cmdshell 'net user test testpass /ADD'--' Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 78 39

Vastuu siirtyy käyttäjälle? Voidaanko käyttäjän vastuulle antaa tietoturvapäätösten tekeminen? Koodin lataus työasemaan? Palvelinvarmenteen hyväksyminen? Allekirjoituksen hyväksyminen? Salausalgorimin valinta? Sormenjälkitietojen tarkistus? Käyttäjältä ei pidä edellyttää tietoturva-asiantuntemusta! Kuinka moni tietoturvaexpertti (saati sovelluskehittäjä) oikeasti ymmärtää esim. HTTP-protokollan toiminnan SSL:n toiminnan? Salausalgoritmien erot? Sähköisen allekirjoituksen vaatimukset? XML:n Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 79 Tietoturva on laatua Turvallinen Laadukas Luotettava Copyr ight 2 002 AtBusine ss Commu nication s Oyj / Jar i Pir hone n 17.10.2 002 Pag e: 80 40