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



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

Modul 6 Webbsäkerhet

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

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

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

SSL/TLS-protokollet och

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

DIG IN TO Nätverkssäkerhet

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

Bordermail instruktionsmanual

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

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

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

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

Virus och andra elakartade program

Modul 3 Föreläsningsinnehåll

Säkerhetsbrister & intrång

Compose Connect. Hosted Exchange

Tentamen etjänster och webbprogrammering

Dataintrång hos Dataföreningen. Annica Bergman Dataföreningen i Sverige Internetdagarna 21 oktober 2008

Riktlinjer för informationssäkerhet

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

Lösenordsregelverk för Karolinska Institutet

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

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

Kryptering. Krypteringsmetoder

Säker programmering - Java

256bit Security AB Offentligt dokument

FÖRHINDRA DATORINTRÅNG!

Säkerhet, eller nått. Tomas Forsman

ParaGå-guide -kommunala utförare

LATHUND PASSWORD SAFE. Författare: N. Eriksson Kurs: Datorer & Data från grunden, Mittuniversitetet Publ.datum:

Instruktion: Trådlöst utbildningsnät orebro-utbildning

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

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

Datasäkerhet. Informationsteknologi sommarkurs 5p, Agenda. Slideset 10. Hot mot datorsystem. Datorsäkerhet viktigare och viktigare.

DGC IT Manual Citrix Desktop - Fjärrskrivbord

Innehållsförteckning:

F5 Exchange Elektronikcentrum i Svängsta Utbildning AB

Avancerade Webbteknologier 2. AD11g Göteborg 2012 Mobilanpassning

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

Använda Outlook 2003 mot Exchange

Hur man ansluter till den nya Citrix XenApp-miljön från PC

Instruktion: Trådlöst nätverk för privata enheter

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.7

version: Sidan 1 av 5

Installationsguide Junos Pulse för MAC OS X

SNITS-Lunch. Säkerhet & webb

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

Säker e-kommunikation

Säkerhet ur ett testperspektiv

Installera din WordPress med 9 enkla steg

Administrationsmanual ImageBank 2

Swedish Association for Software Testing Inspect it AB

Uppstart. Agda Drift

Priskamp. En prisjämförelsesite Björn Larsson

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

Instruktion för användande av Citrix MetaFrame

(engelska)

Installationsanvisningar

Nya webbservern Dvwebb.mah.se

Administrationsmanual ImageBank 2

Microsoft Operations Manager 2005

Säkerhetskopiera och återställa

LEX INSTRUKTION LEX LDAP

Generell säkerhet. Loggning - Hur mycket ska man logga? Inloggningsrutinerna i Unix. Loggning fortsättning

Installationsguide Junos Pulse för iphone/ipad

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

Ansökningsanvisning för SUNET TCS-certifikat via SLU CA.

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

Installationsanvisningar

Foto: Björn Abelin, Plainpicture, Folio bildbyrå Illustrationer: Gandini Forma Tryck: Danagårds Grafiska, 2009

En syn på säkerhet. Per Lejontand

Att Säkra Internet Backbone

Installation/uppdatering av Hogia Personal fr.o.m. version 13.1

Introduktion till datasäkerhet. Christian Ohlsson 1

tclogin.com Service Desk Tillgång till TeleComputing TCAnyWare

Information för dig som använder en kommunägd ipad

Installationsguide fo r CRM-certifikat

Instruktion för integration mot CAS

Icke funktionella krav

Sockets. Processkommunikation Sammanfattning. Sockets. Domän, typ och protokoll

Anvisningar för inkoppling till Mikrodataåtkomst vid SCB

Att bygga VPN. Agenda. Kenneth Löfstrand, IP-Solutions AB. Olika VPN scenarios. IPsec LAN - LAN. IPsec host - host SSH

Platsbesök. Systemkrav

Storegate Pro Backup. Innehåll

Dialogue Technologies April 2005

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

Bakgrund Avgränsningar Begreppsförklaring Kortfattade anvisningar... 2

Detta dokument skall ge en kortfattad introduktion till Jasmine installationen vid DSV.

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

Systemkrav och tekniska förutsättningar

Datorer och privat säkerhet (privacy)

Quadri DCM Handledning för administratörer och användare i projekt som kör Quadri DCM. Version

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

Webbservrar, severskript & webbproduktion

Startanvisning för Bornets Internet

Webbsäkerhet och vanliga brister - kunskapsläget bland utvecklare.

Säker IP telefoni? Hakan Nohre, CISSP

Transkript:

Avancerade Webbteknologier 2 AD11g Göteborg 2012 Säkerhet

Korta punkter Projekt: Något som behöver redas ut? Product: Public Guid CategoryID {g; s;} Public virtual Category Category {g; s;} Category: Public virtual ICollection<Post> Posts {g; s;} Category + CategoryID i product Virtual: Lazy loading (måste anv. t.ex: FindAll().Include(p => p.category) ) using System.Data.Entities.

Idag Säkerhet Allmänna tips Lösenordshantering Specifika vulnerabilities: SQL Injection XSS (Cross-Site Scripting) XSRF/CSRF (Cross-Site Request Forgery) Buffer Overflow

Allmänt Uppdatera applikationer/ramverk ASAP Många intrång är baserade på kända säkerhetshål hos applikationer och ramverk. Var också medveten om att det ibland är lagg mellan känt hål och säkerhetspatch. Var misstänksam mot all input (inte bara user input) om möjligt tillåt bara strängar på ett visst format (datumsträng, etc). Html.Encode / Html.Decode / Sanitize / Etc.

Allmänt Security by Obscurity fungerar aldrig av X rutinerade adversaries så kommer någon garanterat lista ut vad du gjort, eller mer troligt: någon har redan sett något liknande och hittar din hemlighet direkt. Liknelse: Du har ett lösenord uppskrivet på en lapp i din lägenhet du har gömt lappen på det listigaste stället du kunnat komma på. Om 1 person gör inbrott i din lägenhet för att hitta lösenordet så är du kanske säker. Om 100 000 personer gör inbrott i din lägenhet i samma syfte så är det sannolikt kört.

Läck inte information Variant 1: Databaslösenord, etc. i ett publikt repo (github) eller skickat som plain text i ett mail, eller liknande. Variant 2: Användare kommer åt andra användares privata information genom att ändra ett id i en URL eller liknande. Kolla behörighet på allt som kräver behörighet (Gör inte misstaget att endast kontrollera behörighet på vid en ingångssida men ej på resurser bakom ingångssidan). Variant 1 är ett mycket svåråtkomligt problem ofta handlar det om saker som man inte tänkt på som informationsläckage eller informationshantering hos personer som inte är insatta i problematiken.

Lösenord Skriv aldrig egna krypterings/hashningalgoritmer Man kan inte slarva med lösenordshantering bara för att siten ifråga är icke-kritisk Många kostsamma dataintrång har börjat med lösenordsläckage från Hobby sidor och spritt sig därifrån (folk återanvänder användarnamn/lösenord). Överväg att göra något i stil med 15 minuters lock out då användaren matat in 3 felaktiga lösenord ( => En autom. attack mot er sida kan testa 12 lösenord/h) Minimum för lösenordshantering: Salted Hash Steg upp: Långsam hash alg. (ex. bcrypt) Steg upp: + Pepper (Kan öka säkerheten ifall endast databas, ej källkod, är läckt). => SlowHash(Password + Salt + Pepper) Verkligheten: 25k knäckta passwords (SHA1 + salt) ~40 min. http://www.troyhunt.com/2012/06/our-password-hashing-has-no-clothes.html

Self Signed Certificate: kommer ge varningar i de flesta browsers Kort om https http Secure (http via SSL/TSL) Krypterad dataöverföring mellan klient och server eller mellan två servrar. Om ni skall skicka känslig information över http så bör ni skicka det med https. Om ni vill vara någorlunda säkra på att ni kommunicerar med en specifik entitet så bör ni använda https. Om https: kör hela siten i https, annars har ni potentiellt luckor som gör https meningslöst. Använder sig av certifikat + public key encryption MVC 3: [RequireHttps] (kräver att servern är konfigurerad för det och har verifierade certifikat).

Buffer Overflow Inte så mycket av ett webb-problem, men något som alla programmerare bör känna till. Tidigare källa till de flesta exploits. I korthet: Du skriver data efter slutet på en array resulterar i korrupt data eller i värsta fall att din adversary kan exekvera valfritt program. The usual suspects: C, C++, Objective C Ta reda på om buffer overflow är möjligt i språk du programmerar i. Normalt sett ej möjligt i C# (Dock: unsafe/unchecked mode gör buffer overflow möjligt i C#).

SQL Injection Definitivt ett Webb-problem Var tidigare den mest utnyttjade sårbarheten på nätet. I korthet: Otillräcklig hantering av input gör att en adversary kommer åt privat info, all info i en databas, kan förstöra data eller i värsta fall exekvera kod. Juli 2012: Användarinfo för 450k Yahoo!- användare dumpas efter en SQL Injection.

Script kan injiceras på en sida via kommentarsfält, bilder, banners, querystrings, chat, Web service requests alla typer av input du kan tänka dig. XSS Nuvarande king of the hill när det kommer till utnyttjade sårbarheter på nätet. I korthet: En adversary injicerar någon form av script på sidan som resulterar i att användarinfo för samtliga användare som besöker sidan kan samlas in, account hi-jacking, installationer av trojaner.

Kräver normalt att det finns en aktiv session för användaren mot sidan som attackeras och att adversary kan fastställa exakt vilka värden som skall vara med i http Post. CSRF/XSRF En potentiellt väldigt farlig sårbarhet. I korthet en användare luras att gå in på en 3:e parts sida. På sidan exekveras script som gör en post mot vår sida och ändrar data för användaren. Kan få allt från irriterande till enormt kostsamma konsekvenser.

Kort om DoS/DDoS Finns flera olika varianter I korthet så går det ut på att skicka så mycket requests till en server att den inte klarar eller hinner svara på normal trafik. DDoS = Distributed DoS, DoS med flera källor I normala fall så innebär det inte att data går förlorad utan endast att resursen inte kan nås under tiden DoSattacken pågår, men beroende på serverkonfiguration och typ av attack så kan det i vissa fall medföra att servern kraschar, vilket i sin tur kan innebära korrupt eller förlorad data. Detta är ingenting vi skyddar oss mot på site-nivå och i praktiken så finns det inga skydd mot välorkestrerade DDoS som samtidigt garanterar att vi kan serva 100% av den normala trafiken.

The bad news Jag har gått igenom väldigt primitiva versioner av dessa sårbarheter i verkligheten förfinas attackerna i en rasande takt. Normalt sett så sker inte en attack manuellt som i mina demon. Adversaries använder verktyg som är extremt mycket snabbare och effektivare. Det finns 1000-tals klassificerade sårbarheter av olika slag + ett mörkertal med oklassificerade sårbarheter. I förlängningen möjliggör en sårbarhet ofta andra sårbarheter (T.ex: om du är sårbar för XSS kan du aldrig skydda dig mot XSRF XSS gör att en adversary kan kringå skydd mot XSRF).

Till nästa gång Projekt Mån: Repetition.