Webbsäkerhet. för IT-tekniker VT2013. Johan Leitet johan.leitet.se

Relevanta dokument
Webbsäkerhet för IT-tekniker VT2014 Johan Leitet Nätverkssäkerhet, 1DV425 johan.leitet.se twitter.com/leitet facebook.

Säkerhet. Säkerhet. Johan Leitet twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449

Säkerhet. Föreläsning 6 Säkerhet. Johan Leitet twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449

E11 "Protection" Föreläsning 11, HT2014 Säkerhet, tillgänglighet. Johan Leitet. Kurs: 1dv403 Webbteknik I

Webbprogrammering - 725G54 PHP. Foreläsning II

Webbprogrammering. Sahand Sadjadee

Avancerade Webbteknologier 2. AD11g Göteborg 2012 Säkerhet

Essential Php Security Författare: Shiflett, Chris Antal sidor: 124 Förlag: O'Reilly

Modul 6 Webbsäkerhet

OWASP Topp De 10 allvarligaste riskerna i webbapplikationer OWASP East Sweden: Uppstartsmöte

Säkerhet i applikationslagret och slaget om webben. John Wilander, Omegapoint, Rätt säkerhet, maj 2010

F5 Exchange Elektronikcentrum i Svängsta Utbildning AB

Webbservrar, severskript & webbproduktion

Krypteringteknologier. Sidorna ( ) i boken

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Webmail instruktioner

MVC med Javascript och Ajax. Filip Ekberg

INLOGGNING 1 (6) Det finns två sätt att logga in i Privera: Med engångslösenord till mobiltelefon Med engångslösenord till e-post

Tentamen etjänster och webbprogrammering

En lösenordsfri värld utopi eller verklighet

Datorer och privat säkerhet (privacy)

Instruktion för integration mot CAS

OBS! Figuren visar inte alla aspekter och objekt som är inblandade i säkerhetssystemet.

Registrering i EU login

ITS Selfservice portal. Logga in utanför kontoret. Kontaktinformation:

Vis it. jquery jquery används lite överallt i appen på olika sätt. Det främsta användningsområdet är vid selektering och manipulering av HTML element.

"HTML5 och relaterade API:er"

Introduktion till datasäkerhet. Christian Ohlsson 1

Microsoft Internet Information Services 7 / 7.5

Statistik från webbplatser

SÄKERHET KUNSKAPER OM SÄKERHET OCH FÖRMÅGA ATT IDENTIFIERA OCH MOTARBETA ATTACKER

Switch- och WAN- teknik. F7: ACL och Teleworker Services

Försöksnomineringssystem 2013

Lösenordsregelverk för Karolinska Institutet

Swedish Association for Software Testing Inspect it AB

Hemsideutveckling för Anjool AB

Modul 8 Hantering av indata

Abstract. 1. Inledning

Att använda kryptering. Nyckelhantering och protokoll som bygger på kryptering

Innehåll. Dokumentet gäller från och med version

Cipher Suites. Rekommendationer om transportkryptering i e-tjänster

ANVÄNDARMANUAL HUR INSTALLERAR JAG MOBILEPASS PÅ MIN TELEFON ELLER DATOR

Distansåtkomst via webaccess

WordPress och säkerhet inom tillägg från tredje parter

Kryptering. Krypteringsmetoder

Cookies på Audiovideo.se

Många företag och myndigheter sköter sina betalningar till Plusoch

Säkra webbapplikationer. John Wilander, Omegapoint, KTH maj 2010

WP-Edit. Robin Larsson Martin Davik. Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet

ASP.NET MVC. Copyright Mahmud Al Hakim Innehåll

Kapitel 10 , 11 o 12: Nätdrift, Säkerhet

SSL/TLS-protokollet och

Teknisk plattform för version 3.7

Nya webbservern Dvwebb.mah.se

Dokumentation för VLDIT AB. Online classroom

Riktlinjer för informationssäkerhet

WEBSOCKETS OCH SÄKERHET I STARTUPBOLAG En studie i säkerhet kring WebSockets

Filleveranser till VINN och KRITA

Säkerhet. Säker kommunikation - Nivå. Secure . Alice wants to send secret message, m, to Bob.

Datasäkerhet. Petter Ericson

Statistik från webbplatser

Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem

ANVÄNDARMANUAL HUR INSTALLERAR JAG MOBILEPASS PÅ MIN TELEFON ELLER DATOR

INTERNET-BASERAT GRÄNSSNITT FÖR DATABASHANTERING I ETT PORTALSYSTEM

Java Secure Sockets Extension JSSE. F5 Secure Sockets EDA095 Nätverksprogrammering! Roger Henriksson Datavetenskap Lunds universitet

Lagring i molnet. Per Hellqvist Senior Security Specialist Symantec Nordic AB

Fr om version använder vi HogiaID en ny inloggning för dig som använder Hogia einvoice eller Hogia Approval Compact Edition

2D1395 Datasäkerhet Lösningar till tentamen

Asp.net mvc intro PER KVARNBRINK,

Det finns olika typer av Cookies och pixlar

Kapitel 10, 11 o 12: Nätdrift, Säkerhet. Publika telenätet. Informationsöverföring. Jens A Andersson. Telenäten är digitala.

Manual för din hemsida

Ekonomiportalen Sa kommer du iga ng

För att öppna galleriet, ange adressen

Installationsguide fo r CRM-certifikat

JAVASCRIPT. Beteende

Uppstart Agda PS Hosting

Practical WLAN Security

Instruktioner för att skapa konton i MV-login

Åtkomst till Landstingets nät via Internet

Starta en webbläsare (t ex Internet Explorer, Mozilla Firefox, Safari) Skriv in nedan adress:

Guide för Fanhultstvättens Webbportal. Innehållsförteckning. Inloggning

Kom igång med Windows Phone

Attacker och skyddsmöjligheter Situationen i dagens datormiljö

Fr om version ser inloggningen med HogiaID lite annorlunda ut i Hogias Ekonomisystem

Webbprogrammering, grundkurs 725G54

Projektplatser & Samarbetsplatser: inloggning

Hja lp till Mina sidor

Skapa e-postkonto för Gmail

API:er/Mashup. Föreläsning 4 API:er och Mashups. Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449

Uppstart. Agda Drift

Icke funktionella krav

JavaScript in SharePoint and not just for Apps. Wictor Wilén

Säkrare hemsida med.se

version: Sidan 1 av 5

FÖRHINDRA DATORINTRÅNG!

Fraktjakt manual för registrering av Transportföretag och användare

Boss installationsmanual förberedelser

Installations- och bruksanvisning för Gree Smart app: Hansolserien luftvärmepump med WiFi

Transkript:

Webbsäkerhet för IT-tekniker VT2013 Johan Leitet johan.leitet.se

Dagens agenda Klient/server-arkitektur, attackvektorer HTTPS Attackvektorer, klientsida - Cross-site-scripting - Session-hijacking - CSRF - Vikten av validering - Phishing - Privacy Attackvektorer, serversida - SQL-injections - Lösenordshantering - SPAM

Klient-/serverarkitekturen Klient Webbserver

Serverarkitekturen, Attackvektorer Externa servrar Webbserver Databas

Klientarkitekturen, Attackvektorer Övriga risker: Fysisk säkerhet Plugin

HTTPS :80 Hallå Kalle! Läget???? :443 % SD 236! 3&"#4 6 " Hela HTTPmeddelandet krypteras

Symmetrisk kryptering "Ett hemligt meddelande" Kryptering Sessionsnyckel "SF%&## fgd)(=09643774" Dekryptering Sessionsnyckel "Ett hemligt meddelande"

Asymmetrisk kryptering "Ett hemligt meddelande" Kryptering Publik nyckel "LK/%ds135/&#12 GNBGD" Dekryptering Privat nyckel "Ett hemligt meddelande"

HTTPS, flöde Anrop, https, :443, random:# %RFDG Certifikat med publik nyckel, random: # TFX1 Sessionsnyckel krypterad med publik nyckel Meddelande krypterat med sessionsnyckel Meddelande krypterat med sessionsnyckel...

HTTPS

Klientsideattacker Klient XSS Session hijacking CSRF Privacy attacker Click-jacking Phishing Attacker riktade mot tredjepartsprogramvara...

Klientsideskript (javascript) Skriven kod som talar om för webbläsaren vad den ska göra. Idag: Uteslutande JavaScript Hade förr ryktet om sig att vara enkelt och inte ett riktigt programmeringsspråk Ljud/Video-kontroll Lagra data lokalt på klienten Dynamiskt förändra en webbsida Information om klienten AJAX Canvas Geolocation Reagera på händelser Drag and Drop Kontrollera data innan den skickas till servern

Eventuella problem Koden är publik Utvecklare som förlitar sig på klientsidans kod - Vid validering - Vid inloggningsförfarande - För att stoppa användaren från att genomföra handlingar Ajax-applikationer ökar angreppsytan Nya API:er/ökad komplexitet ökar angreppsytan (HTML5) Luckor i webbläsarimplementationen Denial-of-Service-problem (DOS-attack) Cross-site Scripting (XSS)

XSS Cross Site Scripting XSS går i korthet ut på att en attackerare får sin JavaScript-kod att komma ifrån en av användaren betrodd server.

XSS text = text.replace(/</g, < ).replace(/>/g, > );

XSS Persistent XSS Ickepersistent XSS Din sökning efter "Kalle Anka" resulterade inte i något resultat.

Cookies Cookies (kakor) är små textmeddelanden som sparas på klienten vid besök på webbsidor som väljer att skapa och spara cookies. Det är bara den sajt som skapat cookien som kan läsa ut information från denna.

Sessioner Sessioner används för att webbservern ska kunna minnas dig som användare. Sessions-idn sparas ofta som kakor på klienten för att servern ska kunna hålla reda på besökarna av sidan.

Session hijacking sessionid = a12d sessionid = a12d

Vikten av validering/filtrering Det stora problemet vid session hijacking-attacken i demot är att formuläret är oskyddat. Inskickad data valideras inte och utdata filtreras inte. Validate input, filter output!

http://www.val.se/val/val2010/statistik/index.html#handskrivna

Samy is my hero <div id=mycode style="background: url('java script:eval(document.all.mycode.expr)')" expr="var B=String.fromCharCode(34);var A=String.fromCharCode(39);function g(){var C;try{var D=document.body.createTextRange();C=D.htmlText}catch(e){}if (C){return C}else

White listing vs. Black listing Validera all indata och filtrera utdata! Black listing-filter: Undvik att ersätta farliga tecken. Det finns alltid vägar runt detta. /^[^ ]$/ White listing-filter: Tala explicit om vilka tecken som får anges. Mycket bättre /^[0-9A-ZÅÄÖa-zåäö_]$/ Validering av indata på klienten spelar ingen roll. Detta måste göras på servern. Filtrering av utdata kan man eventuellt tänka sig göra på klienten.

CSRF Cross-Site Request Forgery Få användaren att göra något på en annan site utan att veta om det. Ändra admininställningar på sin blogg Inloggad mot din router? Boka resor Påverka e-handlares "Rekommenderat för dig" Påverka sökhistoriken...

Klientvalidering / Servervalidering KLIENT SERVER skicka Behandla data Ett klientskript validerar FEL! OK OK Servern validerar

Privacy https://panopticlick.eff.org/

Phishing Webbmailanvandare Ditt konto har blivit matt. For att ateraktivera ditt konto maste du aktivera ditt konto pa adressen http://lnuaktivera.fulsite.com/?key=12f45sd543 Halsningar Administratoren

Serverattacker Webbserver SQL-injections (D)DoS-attacker...

SQL-injections

SQL-injections select * from users where username= INMATAT VÄRDE select * from users where username= ; drop table users; Hur undvika? 1) Använd inte inline-sql. Använd istället: Lagrade procedurer Parametriserade frågor 2) Om du måste använda inline-sql. Validera, validera, validera

Egen autentisiering? 1) Behöver du ha egen inlogging? Räcker det kanske med Facebook, Google, Twitter? Om du måste ha inloggning: 1) Tala om för användaren hur uppgifterna hanteras! 2) Tvinga inte användaren att utforma lösenordet på ett speciellt sätt, men informera gärna om vikten av ett starkt lösenord. (Man kan tänka sig minsta längd, typ 6 tecken.) 3) Tillåt specialtecken och lååååånga lösenord. 4) Var noggrann vid implementationen. Ditt lösenord

Lösenordshantering Om olyckan mot förmodan är framme. Ha ryggen fri. Se till att bara spara hashade, saltade lösenord. Spara aldrig användarens lösenord så att detta går att återge.

Rainbow tables (ordböcker) Lösenord super123 996 Förekomst per 92084 hejsan 141 123456 118 111 hejhej 102 bajskorv 96 sommar 93 hemligt 69 blomma 60 bloggtoppen 60

Registrering Användaren registrerar lösenord (sommar) En slumpad salt skapas. Exempelvis: hj234klsd Hasha resultatet hj234klsdsommar 2d86c4246f3c0eb516628bf324d6b9a Addera användarens lösenord till saltet. hj234klsdsommar Spara hashen + saltet i databasen

Inloggning Användaren anger användarnamn och lösenord Slå upp saltet som används för användaren Hasha resultatet Addera det lösenord användaren angav till saltet. Kontrollera om resultatet är samma som det som står i databasen

Gör världen lite säkrare " Kära webbplatsägare Nyligen registrerade jag ett konto på er tjänst. Det verkar dock inte bättre än att ni sparat mitt lösenord i klartext vilket gör att dessa uppgifter kan komma på vift om någon illasinnad hittar en säkerhetslucka i ert system. Att spara lösenord på detta sätt bryter i alla avseende mot god sed och det är definitivt något ni bör se över så fort som möjligt. Om du som läser detta mail inte har direkt insyn i hur systemet är utvecklat så vänligen vidarebefordra detta mail till de som har denna insyn. Vänliga hälsningar / Ellen Nu

Behövs lösenord? http://notes.xoxco.com/post/27999787765/is-it-time-for-password-less-login

Skydda dig själv Använd aldrig samma lösenord på mer än en sajt! Se över säkerheten på viktiga sajter så som Google, Facebook etc. Använd tvåstegsautentiseringar.

2-stegsverifiering (multifaktorverifiering) Något man vet Något man har

SPAM Webbsidor är en perfekt rekryteringsplats där spambots kan rekrytera mailadresser. <a href= mailto:johan.leitet@lnu.se >Mailadress till Johan</a> Maila Johan på: johan.leitet[snabel-a här]lnu.se Eller använd ett kontaktformulär johan.leitet@lnu.se

SPAM via webbsidan Captcha Completely Automated Public Turing test to tell Computers and Humans Apart Effektivt sätt att stoppa agenter från att registrera sig på din sajt eller kommentera i din blogg.