Modul 6 Webbsäkerhet



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

Systemkrav och tekniska förutsättningar

Statistik från webbplatser

Webbservrar, severskript & webbproduktion

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

SSL/TLS-protokollet och

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

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

Säkrare hemsida med.se

Practical WLAN Security

Datum: Version: Författare: Christina Danielsson Senast ändrad:

IP-baserade program. Telnet

SSL. Kristoffer Silverhav Robin Silverhav

Webbprogrammering - 725G54 PHP. Foreläsning II

Webbprogrammering. Sahand Sadjadee

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

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

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

Grundläggande datavetenskap, 4p

F5 Exchange Elektronikcentrum i Svängsta Utbildning AB

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011

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

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

Icke funktionella krav

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011

Modul 8 Hantering av indata

Statistik från webbplatser

Extern åtkomst till Sociala system

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

Spanning Tree Network Management Säkerhet. Spanning Tree. Spanning Tree Protocol, Varför? Jens A Andersson

Uniform Resource Locator (URL) JavaServer Pages - JSP. Webbklienter. Webbserver. Hypertext Transfer Protocol (HTTP) HTTP Request

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

Objektorienterad Programkonstruktion. Föreläsning 10 7 dec 2015

SQUID. och andra cachelösningar

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

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

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, Internet började med ARPANET

GEOSECMA - SYSTEMÖVERGRIPANDE...

Din guide till IP RFID. Intertex Nu ännu starkare säkerhet för SIP. Snom - marknadens säkraste IP-telefon. Ur innehållet TALK TELECOM

Datakommunika,on på Internet

EXTERN ÅTKOMST TILL SOCIALA SYSTEM FÖR UTFÖRARE INOM ÄLDREOMSORGEN OCH OMSORGEN OM FUNKTIONSHINDRADE

Installationsguide Junos Pulse för MAC OS X

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

WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP

Hur Internet fungerar?

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

Föreläsningens innehåll. Säker kommunikation - Nivå. IPSec. IPSec - VPN. IPSec - Implementation. IPSec - Består av vad?

Biometria Violweb. Installation kundportalaccess - för IT-administratörer. Mars 2019

Tentamen etjänster och webbprogrammering

Anvisningar för inkoppling till Mikrodataåtkomst vid SCB

Icke funktionella krav

Surfning. Webbklienter och webbservrar. Specialskrivna webbservrar. Kommunikation med sockets

Systemkrav. Åtkomst till Pascal

Föreläsning 1. På klientsidan... Allmänt. På serversidan... Och dessutom... DD1389 Internetprogrammering 6 hp

Chaos VPN - Installera Cisco AnyConnect Windows 7

Heartbleed. Lite smått och gott om heartbleedbuggen. Robert Malmgren

Datorer och privat säkerhet (privacy)

Webbsidor och webbservrar

LABORATIONSRAPPORT Säkerhet & Sårbarhet VPN

Platsbesök. Systemkrav

Instruktion. Datum (12) Coverage Dokument id Rev Status? Godkänd. Tillhör objekt -

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011

Teknisk handledning för Dator-Dator kommunikation

Föreläsning 5 Meddelandesändning med TCP

Säkerhet, eller nått. Tomas Forsman

Sessionskapning i webbaserade inloggningssystem en utredning av angrepp, försvar och kakor

"HTML5 och relaterade API:er"

F8 Webbteknologier 1. Dynamiska webbsidor

IT för personligt arbete F2

Installationsanvisningar

Compose Connect. Hosted Exchange

TDP013. Webbprogrammering och interaktivitet. AJAX, CORS & jquery. Marcus Bendtsen Institutionen för Datavetenskap (IDA)

Microsoft.NET Version Http Activation MapGuide Open source (installerad på en webbserver, tillgänglig utanför brandväggen) Web Deploy 3.

DIG IN TO Nätverkssäkerhet

Systemkrav WinServ II Edition Release 2 (R2)

Säkra trådlösa nät - praktiska råd och erfarenheter

Uppgiftskravstjänsten Teknisk anslutning för att hämta uppgiftskrav som öppna data. Version 1.0

Hja lp till Mina sidor

Stockholm Skolwebb. Information kring säkerhet och e-legitimation för Stockholm Skolwebb. skolwebb.stockholm.se

ANVÄNDARMANUAL ANSLUTA TILL REGION HALLAND VIA CITRIX

Network Management Säkerhet Performance QoS Köteori. Jens A Andersson

Spanning Tree Network Management Säkerhet. Jens A Andersson

Filleveranser till VINN och KRITA

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

Utförande: I exemplet så kommer vi att utgå från att man gör laborationen i en Virtuell miljö (Virtualbox).

Chaos VPN - Installera Cisco AnyConnect Windows 8

F5 Meddelandesändning med TCP

Quick Start CABAS. Generella systemkrav CABAS / CAB Plan. Kommunikation. Säkerhet

Webbprogrammering grunder

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

Microsoft Internet Information Services 7 / 7.5

Om du misstänker att värdens privata nyckel har manipulerats kan du skapa en ny genom att utföra följande steg:

256bit Security AB Offentligt dokument

Förra gången. Dagens föreläsning. Digitala Certifikat. Vilka man litar på! X.509. Nyckeldistribution. Säkerhetsprotokoll

idportalen - Stockholms stads Identifieringsportal

Webmail instruktioner

Certifikatbaserad inloggning via SITHS, tillämpningsexempel

Dataskyddsförklaring

Uppdatering av MONITOR Mobile 8.0

Säkerhetsbrister & intrång

Transkript:

Modul 6 Webbsäkerhet

Serverskript & Säkerhet Webbservrar & serverskript exponerar möjlighet för fjärranvändare att skicka data och köra kod vilket medför risker. Man ska aldrig lita på att alla vill göra rätt för sig Validering av input data Kryptering SQL Injection Felmeddelande XSS (Cross Site Scripting) 2

Men vi har ju en brandvägg! Vi har en brandvägg Vi krypterar all trafik till webbservern med HTTPS Vi uppdaterar all vår programvara automatiskt och ofta Varför är inte våra webbapplikationer säkra? 3

Därför räcker inte detta! 4

Webbserverbuggar Buggar i webbservrarna kan ge obehöriga tillträde till serverfiler, även källkoden på servern Om webbserver-programmerarna kan göra idiotiska misstag kan antagligen webbapplikationsprogrammerarna också göra det 5

Buggar i kod är vanligt Enligt en undersökning från Universitetet i Bergen 2005: Minst 72% av 245 E-myndigheter är sårbara för cross-site-scripting Minst 58% är sårbara för SQL Injection På 53 olika E-myndighetssajter i Europa var 91% sårbara av antingen cross-site-scripting eller SQL Injection http://computersweden.idg.se/2.2683/1.20957 5/ibm-sql-injektioner-popularast 6

Grunderna HTTP Sessioner HTTPS 7

HTTP Hypertext Transfer Protocol (RFC 2616) Sköter hur webbnoder utbyter data Förbindelselös client/server-lösning Klienten alltid initierar 8

Client/server 9

GET vs. POST Använd aldrig GET för känslig data Med GET frågar klienten webbservern efter information Med POST bidrar klienten med information till webbservern POST kan inte köras utan tillstånd från klienten. 10

HTTP Get Request http://tor.ei.hv.se/~will/courses/ira120/webbsakerhet/get.php GET /~will/courses/ira120/webbsakerhet/get.php?txtvalue=test+av +get&btnsubmit=submit HTTP/1.1 Host: tor.ei.hv.se User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-us; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q =0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://tor.ei.hv.se/~will/courses/ira120/webbsakerhet/get.p hp?txtvalue=test+av+get&btnsubmit=submit 11

HTTP Response http://tor.ei.hv.se/~will/courses/ira120/webbsakerhet/get.php HTTP/1.x 200 OK Date: Fri, 17 Apr 2009 09:07:52 GMT Server: Apache/2.2.2 (Fedora) X-Powered-By: PHP/5.1.6 Content-Length: 570 Connection: close Content-Type: text/html; charset=iso-8859-1 12

HTTP POST Request http://tor.ei.hv.se/~will/courses/ira120/webbsakerhet/post.php POST /~will/courses/ira120/webbsakerhet/post.php HTTP/1.1 Host: tor.ei.hv.se User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-us; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://tor.ei.hv.se/~will/courses/ira120/webbsakerhet/post.ph p Content-Type: application/x-www-form-urlencoded Content-Length: 38 txtvalue=test+av+post&btnsubmit=submit 13

Referrer Header Innehåller hela URL till dokumentet där requesten gjordes Skickas av webbläsare då: Man klickar på en länk En bild finns inkluderad på sidan En applet eller annat objekt finns inkluderat på sidan Dessa kan läcka säkerhetsrelaterad info till tredje part! 14

Att ha hemligheter i URL er Besökta hemsidor kan dyka upp överallt: De finns i webbläsarens historik Problematiskt på delade datorer De finns i loggfiler på proxyservrar De finns på tredje-parts sajter i form av Referrer-headers Skicka aldrig hemligheter i URL s! Använd POST istället för GET när informationen är känslig 15

Cookies: Gör HTTP förbindelseorienterat En liten textfil som sparas på webbklienten Överförs med HTTP headers Skickas av webbservern med response headers Skickas tillbaka till webbservern vid varje request Dock endast från korrekt domän! 16

Exempel på cookies http://tor.ei.hv.se/~will/courses/ira120/webbsakerhet/cookies.php Response header som sätter en cookie Set-Cookie: TimeOfLastView=April+17%2C+2009%2C+11%3A3 8+am; expires=fri, 17-Apr-2009 10:38:13 GMT Set-Cookie: NumberOfVisits=6; expires=fri, 17- Apr-2009 10:38:13 GMT Request header hämtar tillbaka en cookie Cookie: Visited=1; NumberOfVisits=5; TimeOfLastView=April+17%2C+2009%2C+11%3A3 7+am 17

Sessioner: Samla data på servern En påse på server-sidan som sparar information om varje besökande klient Knyts till varje klient med hjälp av ett sessions-id Måste skickas med varje request Cookie-baserad URL-baserad 18

Sessioner 19

Session hijacking En attackerare får access till en annan användares sessions-id Genom gissning eller intelligent trial and error Genom referrer header Sniffa paket Cross-site-scripting (XSS) Attackeraren visar upp det stulna sessions-id för webbservern Webbservern tror att attakeraren är offret 20

Session hijacking: Motmedel Sessions-ID måste hållas hemligt Skall ej kunna gissas, fullständigt slumpmässigt Får ej kunna läcka Ej skickas i URL Skyddas med kryptering (HTTPS) Ej nåbart genom cross-site-scripting 21

Andra motmedel Knyt sessionen till en IP-adress Stoppar ej besökare bakom samma proxy! Knyt sessionen till request-headern Kan enkelt förfalskas av en attackerare Byt sessions-id för varje response Attackeraren kan dock få den första för att sedan blockera offret 22

HTTPS Vanlig HTTP genom en säker tunnel TLS: Transport Layer Security SSL: Secure Socket Layer Hur skapas en säker uppkoppling Klienten tar kontakt med server Klient och server gör handskakning Bestämmer algoritmer för kryptering och hash Klient får och verifierar server-certifikatet Startar krypterad kommunikation Kontrollen skickas tillbaka till HTTP 23

Fördelar med HTTPS Om allt fungerar som det ska, HTTPS: Skyddar mot paketsniffning Skyddar mot Man in the Middle -attacker Även modifiering av data när den överförs Autentiserar webbservern mot klienten Kan även autentisera servern mot klienten Senaste versionerna av TLS och SSL anses säkra, men 24

Nackdelar med HTTPS HTTPS skyddar inte mot: Användare som struntar i varningar från webbläsaren Webbläsare som tillåter användare att strunta i varningarna Användare som faller för billiga trick: mega-bank.com istället för megabank.com En CA som delar ut falska certifikat VeriSign gjorde detta 2001 Webbläsare som har en dålig SSL/TLS-implementation Allt ovanstående har hänt! 25

Summering HTTP är ett enkelt textbaserat client/serverprotokoll Cookies används för att kunna hålla en förbindelse mellan klient och server Sesioner används för att spara data mellan olika requests Använd aldrig GET för känslig data HTTPS löser inte alla problem Och hur bra det är beror på många faktorer 26

Mer information Absolut bästa källan om HTTP är dess RFC2616 http://www.ietf.org/rfc/rfc2616.txt Allt om HTTPS, SSL och TLS finns i Eric Rescorla's bok SSL and TLS: Designing and Building Secure Systems Mer om Man in the Middle mot SSL finns i Peter Burkholder's artikel "SSL Man-in-the- Middle Attacks http://www.sans.org/reading_room/whitepapers/ threats/480.php 27