Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Design av sikre web-applikasjoner Vidar Kongsli, Bekk Consulting AS Tekna - Risiko og sikkerhet i IKT-systemer – 12. mars 2008.

Liknende presentasjoner


Presentasjon om: "Design av sikre web-applikasjoner Vidar Kongsli, Bekk Consulting AS Tekna - Risiko og sikkerhet i IKT-systemer – 12. mars 2008."— Utskrift av presentasjonen:

1 Design av sikre web-applikasjoner Vidar Kongsli, Bekk Consulting AS Tekna - Risiko og sikkerhet i IKT-systemer – 12. mars 2008

2 Vidar Kongsli  Manager i BEKK  Før : Fagleder for sikkerhet  Etter : Fagleder for kvalitet og testing  Risiko og sikkerhet i IKT-systemer 2008 Side 2

3 Design av sikre web-applikasjoner  Hva er en ’sikker’ web-applikasjon?  Fins det en ’sikker’ web-applikasjon?  ”Design av tilstrekkelig sikre web-applikasjoner” Risiko og sikkerhet i IKT-systemer 2008 Side 3

4 OWASP – 10 mest kritiske sikkerhetsfeil  Cross Site Scripting (XSS)  Injection Flaws  Malicious Code Execution  Insecure Direct Object Reference  Cross Site Request Forgery  Information Leakage and Improper Error Handling  Broken Authentication and Session Management  Insecure Cryptographic Storage  Insecure Communications  Failure to Restrict URL Access Risiko og sikkerhet i IKT-systemer 2008 Side 4  Cross Site Scripting (XSS)  Injection Flaws  Malicious Code Execution  Insecure Direct Object Reference  Cross Site Request Forgery  Information Leakage and Improper Error Handling  Broken Authentication and Session Management  Insecure Cryptographic Storage  Insecure Communications  Failure to Restrict URL Access

5 Tre kritiske spørsmål  Hva er gyldige data?  Hvor befinner dataene seg?  Hva er data og hva er eksekverbar kode? Risiko og sikkerhet i IKT-systemer 2008 Side 5

6 En typisk web-arkitektur Risiko og sikkerhet i IKT-systemer 2008 Side 6 Web-server Back end/Database Sluttbruker Web-server Sluttbruker

7 Sikkerhetsbarrieren  Data som sendes til klient –Åpent for lesing –Åpent for endring –Kan komme på avveie  Gjelder for eksempel cookies eller skjulte HTML felter  Unngå å måtte stole på data som kommer fra klienten Risiko og sikkerhet i IKT-systemer 2008 Side 7

8 Hva er gyldige data?  Valider data som kommer fra utsiden av sikkerhetsbarriæren  White-listing istedenfor black-listing Risiko og sikkerhet i IKT-systemer 2008 Side 8 Web-applikasjon Input validating

9 Data på avveie - Feilhåndtering Risiko og sikkerhet i IKT-systemer 2008 Side 9

10 Data på avveie – feilhåndtering – hvor i arkitekturen? Risiko og sikkerhet i IKT-systemer 2008 Side 10 Web-applikasjon Output filter • Vis en generisk feilside • Logg feil/stacktrace etc.

11 Data på avveie - handlevognen  Brukeren kan manipulere data: –Salgssummen i handlekurven sendes til nettleseren i en cookie eller som et skjult HTML-felt –Brukeren setter salgssummen til 1 kr og gjennomfører kjøpet  Ikke stol på data fra klienten –Salgssummen lagres på serveren (i brukerens sesjon) –Lag en saltet hash av salgssummen for å validere dataenes integritet Risiko og sikkerhet i IKT-systemer 2008 Side 11

12 Data på avveie – interne referanser  Referanser til interne ressurser blir sendt til nettleseren –Filnavn, primærnøkler i databasen, brukernavn, kontonummer –Eksempel: –Eksempel: Risiko og sikkerhet i IKT-systemer 2008 Side 12

13 Interne referanser – mottrekk – hvor i arkitekturen? Risiko og sikkerhet i IKT-systemer 2008 Side 13 Web-applikasjon Ref.Original …file/log.txt …file/leg.txt Original  Ref. Ref  Original

14  Applikasjon klarer ikke å skille hva som er data og hva som er kode  Ondsinnet bruker injiserer eksekverbar kode der applikasjonen forventer data  Eksempler: –SELECT * FROM User WHERE Username=”test” AND Password=”123” –SELECT * FROM User WHERE Username=”Test” --” AND Password=””  Mottrekk: –”Metacharacter escaping” – data sendt til subsystem –Principle of least privilege – begrense rettigheter i subsystem Hva er eksekverbar kode? – Command/SQL injection Risiko og sikkerhet i IKT-systemer 2008 Side 14 Test” -- [xkcd.com]

15 SQL Injection – mottrekk – hvor i arkitekturen? Risiko og sikkerhet i IKT-systemer 2008 Side 15 Web-applikasjon Output escaping • SQL tolker ’ og % som kontrolltegn • Output escaping • Prepared statements, stored procedures

16 Hva er eksekverbar kode? – Cross site scripting  Applikasjonen klarer ikke å skille hva som er data og hva som er kode  Ondsinnet bruker injiserer eksekverbar kode der applikasjonen forventer data  Også kjent som XSS og HTML-injection  Utnytter metategn i HTML og/eller javascript Risiko og sikkerhet i IKT-systemer 2008 Side 16

17 Hva er eksekverbar kode? – Cross site scripting (2) Risiko og sikkerhet i IKT-systemer 2008 Side 17 Web-server Sluttbruker Ondsinnet bruker Ekstern server

18 Cross site scripting - Eksempel Risiko og sikkerhet i IKT-systemer 2008 Side 18  Søkefelt  Bruker søker på: test  HTML:  Bruker søker på: test”  HTML:  Bruker søker på: test”> alert(”XSS”); <”  HTML:... alert("XSS");... Test””XSS”); <”Test

19 Cross site scripting – mottrekk – hvor i arkitekturen? Risiko og sikkerhet i IKT-systemer 2008 Side 19 Web-applikasjon Output escaping  HTML-escaping av data før den sendes til nettleseren  Benytt rammeverk

20 Hva er eksekverbar kode? - Cross site request forgery Risiko og sikkerhet i IKT-systemer 2008 Side 20 Web-server Back end/Database Sluttbruker Web-server Sluttbruker

21 Crosss site request forgery - mottrekk  Legg et unikt tall (nonce) i siden som sendes til klient  Sjekk at verdien er den samme når siden postes tilbake  ”De-luxe” versjonen: spør om sikkerhetskode for hver transaksjon –Nettbanker Risiko og sikkerhet i IKT-systemer 2008 Side 21

22 Tre kritiske spørsmål – om igjen  Hva er gyldige data? –Input validation  Hvor befinner dataene seg? –Indirekte objektreferanser –Ikke send unødvendig data til nettleseren –Ikke send unødvendig feilinformasjon til nettleseren/brukeren  Hva er data og hva er eksekverbar kode? –JavaScript-eksekvering er kilde til XSS og XSRF –Metacharacter escaping –Håndter kontrolltegn for ulike subsystemer – databaser, nettlesere Risiko og sikkerhet i IKT-systemer 2008 Side 22


Laste ned ppt "Design av sikre web-applikasjoner Vidar Kongsli, Bekk Consulting AS Tekna - Risiko og sikkerhet i IKT-systemer – 12. mars 2008."

Liknende presentasjoner


Annonser fra Google