Design av sikre web-applikasjoner

Slides:



Advertisements
Liknende presentasjoner
Hans Olav Norheim
Advertisements

Høgskolen i Oslo Webprogrammering Tilstandsbevaring Sessions og cookies.
Hvordan etablere nettbutikk med GoOnline Commerce
GoOnline publisering Hvordan komme i gang med GoOnline. Denne presentasjonen tar deg steg for steg gjennom oppsett av nettsted med bruk av GoOnline Proffesional.
So you think you can scale? Oracle Coherence i praksis OUGN vårseminar, april 2010, Øyvind Brusevold.
Progress Brukerforening Tormod Sveli
Webprogrammering (LO113A) 1 Kom i gang med PHP. Webprogrammering (LO113A) 2 Mål  Installere Apache og PHP  Konfigurasjon av Apache og PHP  Forstå samspillet.
IKT ressurser for e-læring NVU-konferansen 2005 Olav Skundberg HiST, AITeL
Programmering i ActionScript - hva er det, og hvordan undervise?
Sikkerhet og smidig IASA, 17. mars 2010.
STATOIL VEDLIKEHOLDSSTYRING.
Sikkerhet - bakgrunn og introduksjon til kryptosystemer
Begrenset redigering “Klubbjournalister” For web ansvarlig klubb.
MS kap 61 Nye trender  Vi skal se på  Virtualisering  ”Cloud computing”
Statusrapport Web og informatikk 2008 Teknisk nivå Mariann Stageberg.
Java Server Faces (JSF) en introduksjon Frode Eika Sandnes.
Gruppe 9 Design evaluering og validering.
Grunnleggende testteori
Sikkerhet og internett Kan vi være vi trygge? Kan vi beskytte oss? Bør vi slå av nettet …
Hovedprosjekt 44 Webrapporteringssystem med ASP
Datalagrings- og databehandlingsarkitekturer
Bruk av PHP. Nyttige funksjoner Tidsfunksjoner –Time(), date(), checkdate(), mktime() Tabellfunksjoner –Navigasjon current(), key(), next(), prev(), end(),
Trådløst karantenenett
Løsning hos RSH Norge En gjennomgang av løsning hos Reitan Servicehandel Norge Edvard Gundersen – ProfitBase AS Løsningsarkitekt.
Entity Framework Andreas Knudsen, Bekk Consulting AS 31/
ASP.Net Fremover (Asp.Net 3.5 Extensions) Andreas Knudsen, Bekk Consulting AS 31/
SQLHiA Transaksjoner. SQLHiA TransaksjonDefinisjon En transaksjon er en serie av en eller flere SQL-statement som til sammen danner en logisk enhet. Med.
NEWS Et uvurdelig hjelpemiddel i hverdagen. Hva skal vi gjennom i dag Hva er news? Hva brukes news til? Programmer og grupper Noen ord og uttrykk Noen.
Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik.
Flash og ActionScript - Nye muligheter Jostein Nordengen.
Fra SMS til WMS Posisjonsdata på nett i tilnærmet sann tid Frank Hanssen GIS- koordinator.
1 Organisering av kode (Kapittel 5). 2 Mål ● Forstå inkludering er og hvilken gevinst det gir ● Lære å utvikle egne funksjoner ● Forstå variablenes virkemåte.
Høgskolen i Oslo Webprogrammering Filbehandling i PHP.
Høgskolen i Oslo Web-programmering Feilhåndtering i PHP.
Høgskolen i Oslo Webprogrammering Ajax og PHP. I dag l Hvordan få en bedre brukeropplevelse via Ajax- script l Gjennomgang av kode l Oppgaveløsning på.
Høgskolen i Oslo Webprogrammering Java-scripting 2 Klientvalidering.
Nettskjema v3.0 Oppsummering for allmøte med USIT og Lokal IT torsdag 15.des 2011 Av Dagfinn Bergsager, USIT.
Publisering på verdensveven Kursdag 1 VÅFF, våren 2002.
Skjema/Forms HTML II IT og læring 2/20 november 2001.
Databasen II Sesjoner, stored procedures, error handling.
Med hånda i kakeboksen. Oblig 4, cookies, sesjoner, stored procedures, error handling.
PARLAY/OSA Referanser: Referanser Foredraget er i all hovedsak basert på to artikler. Disse kan finnes på:
Andre funksjoner. Her kommer en beskrivelse av søkefunksjoner, knapper og annen funksjonalitet. 2.
Standarder, innhold og ePortfolio Helge Hannisdal Product Manager it’s:learning
1 Hvordan lage websider Med Interkodex AS. 2 Innledende Å lage profesjonelle webløsninger kan gjøres veldig enkelt og rimelig. Du trenger ikke kunne webdesign.
1 Interkodex forhandler MARS Del 1 Nyheter, praktiskinfo, trender.
RSS og Alerts JDD 21. mai Ting jeg skal si litt om RSS Alerts (TOC) Hvordan fungerer disse funksjonene? Hva kan de brukes til?
Eziz Annagurban Veiledere: Sven-Olai Høyland Carsten Helgesen
1 Oppgave gjennomgang Kap. 1 og 2. 2 Oppgaver -Kap 1: 5, 6, 7, 10, 12, 16, 22 og 25 -Kap 2: 2, 6, 10, 12, 13, 14 og 20.
Innsamling av ekstremt sensitive data til forskning
Kontinuerlig kvalitetskontroll. Hvordan komme helt i mål.
Overvåking Feilhåndtering
HTML. Dagens gang SQL opgaver fra sidst HTML Opgave i HTML Indhold i analyse dokument Tilbage melding på Systemdefinitioner Links HTML editor:
Tekniske valg i applikasjonen Mine studier USITs allmøte 9.oktober 2014.
1 Java Database Connectivity (JDBC) Norvald H. Ryeng
1 GeoPortal – Rammeverk Introduksjon. 2 Teknisk rammeverk - Interoperabilitet Interoperabilitet evne til å kommunisere, kjøre programmer, eller overføre.
J2ME- og Web-basert Instant Messaging System. Oppgavebeskrivelse Selvstendig system J2ME- og Web-basert Internasjonalisering.
YXD-Kurdistan Om oss Asad Fattahi Samarbeidet i flere andre prosjekter
Kerberos System som kan brukes til å sette opp en sikker forbindelse med en server Bruker delte hemmelige nøkler Basert på Needham-Schroeder autentifikasjonsprotokoll.
INF-1400 Obligatorisk Oppgave 2
Trondheim Lytte- og Læresenter. Sammendrag Prosjektet ble iverksatt fordi Trondheim Lytte- og Læresenter så behovet i å ha et elektronisk kundearkiv i.
HPR 56 - Cross Platform Gaming Server Av Bjørn Haugen, og Hans Kristian Hovland.
DRI 1002 Våren 2004 Oppsummering Overblikk over kurset : Mål og innhold Forelesningene Obligatoriske oppgaver 2.Litt om eksamen 3.Evaluering.
Upload av bildefiler Utdrag fra ImageIn Ved Kirsten Klæbo Tirsdag 25/11-03.
© UNIVERSITETETS SENTER FOR INFORMASJONSTEKNOLOGI UNIVERSITETET I OSLO USIT Side 1 Sikkerhet – hvordan ser en hacket maskin ut? Elisabeth Høidal Strøm.
© USIT/SAPP/GT, Bård Jakobsen UNIVERSITETET I OSLO USIT :34 Side 1 FEIDE – BAS – Cerebrum v/Bård H.M. Jakobsen GT/SAPP/USIT, UiO.
DRI IKT og informasjonssøking 2. Forelesning og seminar uke 4
Nettskjema.no –sikker datainnsamling på nett
EPiServer Connect for CRM
Utskrift av presentasjonen:

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

Vidar Kongsli Manager i BEKK Før 1.1.2008: Fagleder for sikkerhet Etter 1.1.2008: Fagleder for kvalitet og testing http://www.kongsli.net/blog.cgi Risiko og sikkerhet i IKT-systemer 2008

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

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 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

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

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

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 Viewstate har vanligvis en mac Viewstate kan være kryptert Risiko og sikkerhet i IKT-systemer 2008

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

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

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

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

Data på avveie – interne referanser Referanser til interne ressurser blir sendt til nettleseren Filnavn, primærnøkler i databasen, brukernavn, kontonummer Eksempel: http://www.foo.bar/readfile?file=store/log-2008-03-07-1.txt Eksempel: http://www.foo.bar/transaction?toAccount=4444.11.55555 Risiko og sikkerhet i IKT-systemer 2008

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

Hva er eksekverbar kode? – Command/SQL injection 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 [xkcd.com] Test” -- Risiko og sikkerhet i IKT-systemer 2008

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

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

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

Cross site scripting - Eksempel Søkefelt Bruker søker på: test HTML: ...<input type="text" value="test">... Bruker søker på: test” HTML: ...<input type="text" value="test"">... Bruker søker på: test”><script>alert(”XSS”);</script><” HTML: ...<input type="text" value="test"><script>alert("XSS");</script><"">... Test Test” ”XSS”);</script><” Risiko og sikkerhet i IKT-systemer 2008

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

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

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

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