tietoturvatestaus - jyväskylän...

37
© Qentinel Oy 2008 Tietoturvatestaus 24.3.2010 Teemu Vesala

Upload: others

Post on 15-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Tietoturvatestaus

24.3.2010

Teemu Vesala

Page 2: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Aluksi

• Saa keskeyttää

• Saa kysyä

• Saa olla eri mieltä

2

Page 3: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Minä

• Teemu Vesala, 35-wee, nörtti, perheellinen

[email protected]

• Laatukonsultti, Qentinel, 1.1.2007-

– Tekninen asiantuntija

• Aikaisemmin koodaajana

– C/C++ (Serveri-softaa, NT kernel, web, Windows, *nix),

J2EE, Perl, PHP

• Harrastukset

– Kirjoittaminen, lukeminen, oppiminen, D&D Pathfinder,

nörtteily

3

Page 4: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Qentinel

• Erikoistunut ohjelmistojen testaukseen ja projektien

laadunvarmistukseen

• Riippumaton asiantuntija-organisaatio

• Alan aktiivinen kehittäjä

• Yksityisomistuksessa

• N. 60 työntekijää

4

Page 5: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Rakenne

• Mitä tietoturva on

• Mitä tarkoitetaan turvallisella ohjelmistolla

• Mitä tietoturvan testaus on

• Käytännössä

5

Page 6: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Miksi testata?

• Varastetut luottokortti nro:t

• Palvelin levittää haittaohjelmia

• Phishing

• Tietoa katoaa

• Palvelu on poissa käytöstä

• Imago kärsii

• ....

=> Rahan menetys

6

Page 7: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Miksi murretaan

• Taloudellinen hyöty

• Poliittinen motiivi

• Ilkeily

• Kilpailu

7

Page 8: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Todellista

Laudalta hakkeroimaan, se oli kyttä jutun alkuu, toiset selvis, toiset ei käyttänytkää

proxyy

Et taida tietää mitä demareissa tapahtu, miltä näytti ku Urpilaisen saitti oli haxattu

Entä se ku jonne raidissa pärisi, proxyttomalle sivuilla onnettomuus tapahtu

Raavittiin kasaan, accoja, passuja, poliisit keräs hies, laudalta IPeitä

Kyberterroristi säädöistä rikosrekisteri, uudet päiväsakot, ihan vitun jepa

Viljamin veli osaa pari hyvää hakkeri kikkaa, sata paskoi meemuja, Iltalehti flippaa

nyymijengis passut kiersi ringis, vanhahomoista kukaan niit ei sendis

Urpilaisen sivuilla lapoa ja ES, Heinäluoman sivuilla avaruuskulttuuri on jo täällä

Esan kanssa Vauva.fi rölläsin, nyt hakkeroin demareita ja esa onki poliisi

Uutiset tuli ja alko feimii olla, KEULIN HAKEE ES MAKEN MOPOLLA XXXX--DDDD

gr33tzit 80k paasun & urpilaisen & heinäluoman häkkereille<3Anonyymi: awfsnad.txt

8

Page 9: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Ja mitä sai aikaan?

• Otsikoita 22.-23.3.2010

• 127000 tunnus-nimi-sähköposti-salasana-riviä

• Salasanat kryptaamatta

• Sanoman tappiot?

• Ihmisten työt salasanojen vaihtamiseen?

• Mahdollisesti muita tietomurtoja (mm. Kapsin ssh-palvelin?)

9

Page 10: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Mitä tietoturva on?

• Luottamuksellisuus

• Eheys

• Vastuullisuus

• Kiistämättömyys

• Autenttisuus

• Saavutettavuus

• Yksityisyys?

10

Page 11: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

TUPAS-tunnistautuminen

• Pankkien tarjoama vahva tunnistautuminen

• Turvallisuus

• Yksityisyyden suoja

– https://munpalvelu.com/return/nordea/return?=&....B02K_CU

STNAME=NORDEA+%2F+DEMO&B02K_KEYVERS=0001

&B02K_ALG=01&B02K_CUSTID=010100-123D&....

11

Page 12: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

PCI-DSS:n näkymä

• Luottokorttifirmojen vaatima standardi

• Suojaa

• Rajoita

• Valvo

• Testaa

12

Page 13: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Tietoturvan eri tasot

• Ihmiset, ohjeet, säännöt

• Infrastruktuuri

• Sovellus

13

Page 14: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Turvallinen ohjelmisto

• (secure) software must be able to resist most attacks,

tolerate as many as possible of those attacks it

cannot resist, and contain the damage and recover to

a normal level of operation as soon as possible after

any attacks it is unable to resist or tolerate.– Goertzel et al: Software security assurance: State of the art (SOAR), IATAC, 2007

14

Page 15: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Muodostuminen

• Ei vain testauksesta

• Läpi koko elinkaaren

– Microsoftin Secure Development Lifecycle

• Uhkien mallintaminen

• Suunnittelu ja hyökkäyspinta-alan pienentäminen

• Koulutus

• Katselmointi

• Testaus

• Jälkihuolto

15

Page 16: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Testauksen kannalta

• Ei-toiminnallinen ominaisuus

• Ääääääääääääääääääääääääääääääääh

• EKSTRA-TOIMINNALLISUUS

16

Page 17: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Testattava sovellus

17

Toivottu tulos Toteutunut tulos

Page 18: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Testausta

18

http://cartoontester.blogspot.com/

Page 19: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Monitasoisuus

19

Sivun reiätSQL Palvelimen

Aukot

Selaimen riskitLiitännäisten

virheet

Käyttöjärjestelmän

riskit

Page 20: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Ei voida täysin testata

• Ympäristön muutos

– Tänään turvallinen

– Huomenna – onko sittenkään?

– Esim. Windowsin Event handling 80-90-lukujen vaihteesta

• Rajallinen aika – rajaton määrä tiloja

20

Page 21: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Ristiriitaisuuksia

• Laatuvaatimukset voivat olla ristiriitaisia

• Käytettävyys vs. Tietoturva?

• Tietoturva vs. yksityisyys? (TUPAS aiemmin)

21

Page 22: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Erilaiset testaukset

• Työpöytäsovellukset

– Tietoa voidaan usein ladata netistä

• Serveri-sovellukset (IMAP, DNS jne.)

• Web-sovellukset

22

Page 23: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Haasteet

• Kasvava monimutkaisuus

• Laajennettavuus

• Hajautetut järjestelmät

– Cloud

– Service Oriented Architecture

23

Page 24: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Web-sovellusten testaus

• OWASP Security testing

• Selain

• Skannerit

24

Page 25: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Testaajan palaset

• Ystävällinen viestintä

• Ilkeä viestintä

• Tekninen osaaminen

• Ääretön uteliaisuus

• Kaheli mielikuvitus

25

Page 26: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Esimerkkejä tarvittavasta

• SQL ja tietokannat

• Koodaus

• Koneen sisusten tuntemus

• Salauksen ja algoritmien ymmärrys

• Muu matemaattinen ymmärrys

• Protokollien hallinta

26

Page 27: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Esimerkki – Ympäristö

• Testlink 1.8.5 - opensource

• Käyttöjärjestelmänä Ubuntu 9.04

• Testattu loppuvuodesta 2009

– Niin infra- kuin sovellusvirheitä

• Raportoitu kehittäjille

27

Page 28: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Tietoturvavaatimukset

• ”Salainen projekti”

– Erittäin salainen, sisältää sotilasteknologiaa

– Sopimus kieltää ulkomaisen testauksen

• Turha Web-projekti

– Asiakkaana Acme Hammers Inc

– Testaus mahdollisimman halvalla -> ulkoistettu Islantiin

• Admin – myös testipäällikkö molemmissa

projekteissa

• Ulkomainen testaaja

– Oikeus vain Turha Web-projektiin

– Tarve ryövätä teknologiaa Islannin uudelle armeijalle

28

Page 29: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Esimerkkien luonne

• Kevyestä kohti tuhoavaa

• XSS

• Evästeet

• XSS+Evästeet

• Cross site request forgery

• SQL injection

• Ja jotain muuta vielä pahempaa

29

Page 30: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

XSS

• Cross site scripting

• Ajetaan kohdedomainin oikeuksilla Javascriptia

selaajan koneessa

• Voidaan mm.

– Tanssittaa Rick Astleytä Tiedon rekrytointisivuilla

– Varastaa sessio-eväitä

– Muuttaa sessio-eväitä

30

Page 31: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Heikko sessioiden käsittely

• Huono satunnaisuus tai liian lyhyt

• Kierrätetään

• Luotetaan liikaa selaimelta tulevaan

31

Page 32: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

XSS+Evästeet

• Kahden aukon yhdistäminen

-> katastrofaalinen virhe

32

Page 33: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Cross site request forgery

• Väärennetään kysely näyttämään toisen oikeuksilla

tulevalta

33

Page 34: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

SQL Injection

• Ajetaan muuta SQL:ää kuin koodaaja tarkoitti

• Kesä 2008 - yli 20000 sivua saastutettu

– Levittivät haittaohjelmia

– Toteutettiin ”sokeasti”

• Saadaan järjestelmä dumppaan mitä lystää

34

Page 35: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Infrastruktuurivirhe

• Ubuntu 9.04 antaa listata tiedostot

• Latasimme c99.php –shellin serverille

• Uudelleen nimeäminen ei auttanut – löytyi

klikkaamalla

• Pystyttäisiin etsimään jopa SQL injektiolla

35

Page 36: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 2008

Linkkejä

• OWASP http://www.owasp.org/

– Webin tietoturva

• Security Focus http://www.securityfocus.com/

– Yleinen tietoturva

36

Page 37: Tietoturvatestaus - Jyväskylän yliopistousers.jyu.fi/~samiayr/testaus2010/Tietoturvatestaus-2010-03-24.pdf · • (secure) software must be able to resist most attacks, tolerate

© Qentinel Oy 200837

Yhteystiedot:

[email protected]

Qentinel Oy

Tekniikantie 14, 02150 Espoo

www.qentinel.com

LET THERE BE QUALITY