© Anders Ingeborn 08-662 10 70 www.ixsecurity.com Säkerhetsbrister & intrång KTH DSV Kista maj 2001.

Slides:



Advertisements
Liknande presentationer
Snabbguide och tips.
Advertisements

Kanske är vi goda vänner i ett år...
Talsyntes, läs och skrivhjälp
Ett webbaserat rekryteringsverktyg för alla branscher!
system för handläggarstöd
Några moln tillgängliga gratis på Internet
LANTMÄTERIFÖRV. VÄSTERÅS STAD
Flexicon – Din systempartner
Connecting To The Internet (Internetanslutningar)
Frågor Allmän IT-kunskap avsnitt 1 kapitel 1 Repetition 4
Mjukvara och nätverk Vad är det?.
Programmering B PHP Lektion 4
Programmering B PHP Lektion 1
Utveckling av Er IT-miljö Hjälp med datorproblem Allmän IT-support.
© Anders Ingeborn 2002 Säkerhetsanalys av applikationer Internet Security Summit 2002.
”Ett sätt att distribuera Business Objects via webben”
Välkommna! till kursen HI1024 Programmering, grundkurs 8,0 hp
Programmeringsteknik K och Media
Säkerhet i praktiken – med Windows Server 2003 och XP! Marcus Thorén, MCT, MCSE+Security Security Consultant Nexus Security Consultants Technology Nexus.
Next previous Lite mer om CGI-programmering Innehåll Vad är CGI? Vad är Forms? Vad är Perl? Forms, CGI och Perl Internetprogrammering F 14 Läs också: Kursboken.
Databaser i B2KUNO Johan Eklund. Hur går jag vidare? Avancerade tillämpningar:  Analysera data  Generera information Utveckla följande färdigheter:
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Kapitel 13: I/O-system.
Pekare och speciell programstruktur i inbyggda system
Programmering B PHP Lektion 1 Mahmud Al Hakim Folkuniversitetet
Pointers. int a=5; int f(int b) { a--; b++; return b; } int main() { int a=3; printf("%d,",f(a)); printf("%d",a); return 0; }
© Anders Ingeborn 2002 ”Utblick verkligheten” Gästföreläsning Kryptografins grunder KTH 2002.
© Anders Ingeborn, Infosec 2000 Säkerhetsbrister hos svenska företag Falu Elverk 30 augusti 2000.
© Anders Ingeborn Säkerhet i trådlösa LAN Älvsjö april 2001.
Spam/virus-kontroll 1 Spam/virus-kontroll vid Lunds universitet.
OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 9 – Vecka
Deklarera en struct som kan användas för att representera en rät linje Använd den I main för att deklarera en variabel som du initierar så att den representerar.
William Sandqvist C:s minnesmodell.
MEOS på två datorer Motionsorientering. TävlingUngdom Korsad nätverkskabel Server Lägg upp tävlingen på denna Används som anmälan Extra batteri Startas.
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 8: Underprogram Underprogram Räckvidd Parameteröverföring.
Programspråk Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande program och kompilerande program. Python är ett interpreterande.
© Anders Ingeborn Säkerhetsbrister och intrång.
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
NETinfo Magnus Persson Johan Silverup Epost: Telefon: 046 –
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Operating Systems Networking for Home and Small Businesses – Chapter.
Uppdaterad januari 2015 Webbanmälan till högskolestudier ht 2015 Material för studie- och yrkesvägledare.
PEPPOL – en infrastruktur för effektivare e-kommunikation.
1969 – Bell Labs Multics utvecklas men läggs ner Thompson & Ritchie skapar Unics (senare Unix) för att spela Space Traveler.
IT-säkerhet Gästföreläsning av Christian Ohlsson 2011.
© Anders Ingeborn IT-säkerhetsprojekt Vinnande strategier.
© Anders Ingeborn, Infosec 2000 Penetrationstester Att bryta sig in i andras datorer.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Microsoft Small Business Specialist. Microsoft har lanserat ett initiativ för partners som arbetar med småföretag. Fördelar för dig som partner är att.
© Anders Ingeborn Säkerhetsbrister & intrång Internetdagarna 2001.
INTRODUKTION TILL PROGRAMMERING
Datorer och privat säkerhet (privacy). Innehåll Handel på internet Risker som en användare utsätt för på internet Hur man skyddar sig från attacker Hur.
SUSEC/Kalmar 26 april 061 BOF - Nätsäkerhet -Segmentering av nät/firewall/exponering -Autenticering -Avlyssning/kryptering – kom vi inte att prata mycket.
Välkommen till årets andra nätverksträff Sundsvall 30 maj, 2006 Funda Denizhan och Magnus Burell Verva, Nätverket 24-timmarswebben.
Network Services (Nätverkstjänster) Client/Servers And Their Interaction (Client/Server och deras interaktion)
Informationsteknologi - Lektion 2 Trådlöst nätverk (WLAN) Trådlöst nätverk (WLAN) Filarkivet: Filarkivet:
Välkommna! till kursen HI1024 Programmering, grundkurs 8,0 hp
1.1. TechNet Security Summit 2004 Security Framework ”Introduktion av ”Security in Depth” Marcus Murray.
Handelsbankens Internet- och Mobiltjänster
© Anders Ingeborn 2000 ”Utblick verkligheten” Gästföreläsning Kryptografins grunder KTH 2000.
NÄTVERKSPROTOKOLL Föreläsning INNEHÅLL - DHCP (Dynamic Host Configuration Protocol)‏
William Sandqvist PIC-programmeringsmiljön i skolan Datorerna i skolans labsalar är centralt underhållna. Du har inte rättigheter att installera.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 2: Variabler och datatyper Variabler Bindning Typkontroll Några viktiga datatyper.
1 Jan Lundström OV’s Hemsida Utbildning Ledare. 2 Jan Lundström OV’s Hemsida Standard Lagrum.
Lennart Edblom & Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 2: Variabler och datatyper Variabler Bindning Typkontroll Några viktiga datatyper.
Makron. Vad är Makron? Ett makro är en samling kommandon som du kan köra med en enkel musklickning. Makron kan användas för att automatisera praktiskt.
Windows Live Messenger. MSN. Vad är Windows Live Messenger ? Ett klient program för direktmeddelanden, dvs ett program som laddas ned från Internet och.
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( ) Innehåll: -Exekveringstrådar.
Nätverk.
Anders Sjögren Funktioner något in och något annat ut.
Datasäkerhet 1.Skydda informationen – Ändra, förstöras eller kopieras 2.Säkerställa driften – Se till att program, datorer, servrar, nätverk och kommunikation.
Python.
Presentationens avskrift:

© Anders Ingeborn Säkerhetsbrister & intrång KTH DSV Kista maj 2001

© Anders Ingeborn Vem är Anders Ingeborn? • Civ.ing. KTH Datateknik 2000 • Teknisk säkerhetskonsult iXsecurity – Penetrationstester, sårbarhetsanalyser – Banker, kärnkraftverk, mediebolag mm. • Frilansskribent – Nätverk&Kommunikation – Säkerhet&Sekretess

© Anders Ingeborn Dagens föreläsning! • Säkerhetsbrister och intrång • Buffer overflow-brister, röd tråd: – Vad är det? – Varför intressant? – Hur fungerar det? – Exempel från verkligheten

© Anders Ingeborn Vad är det? • Vad är ett program (Turing?) – Maskinkodsinstruktioner i minnet • Brister som leder till att en angripare kan ändra dessa instruktioner – Full kontroll över programmet – Samma rättigheter som programmet

© Anders Ingeborn Varför är detta intressant? • Otroligt effektiva och fräcka attacker – Ofta total kontroll över en server • 25-30% av rapporterade brister – Morris Worm 1988 (fingerd & sendmail) – MS Internet Information Server 2001 • Kommer att finnas så länge program- merare sköter minneshantering (C)

© Anders Ingeborn Vad är det exakt? • En angripare lyckas lura ett program att skriva utanför reserverat minne – ”Buffer overflow” – Styr om datorns instruktionspekare • Programmeringsfel – Ingen kontroll av buffertstorlekar vid kopiering av minnesblock

© Anders Ingeborn När kopieras minnesblock? • En serverappl. tolkar ett kommando – Läser inmatad info från angripare – Använder strcpy() • Angriparen styr mängden data som kopieras – Bättre: strncpy() • Programmeraren styr den maximala mängden data som kopieras

© Anders Ingeborn Hur fungerar det? • Ett funktionsanrop • Returadress sparas på stacken • Lokala variabler reserveras på stacken • Stackminnet är sekvensiellt

© Anders Ingeborn Exempel •A•A •B•B •C•C •D•D • code • IP • DI • SI • FLAG • SP • BP • stack • IP

© Anders Ingeborn ”Buffer Overflow” FF FF FF FF 0C FF FF 14

© Anders Ingeborn Vi skriver över returadressen! • När anropade funktionen är klar – Deallokera de lokala variablerna • Lägg tillbaka gamla ESP • POP ESP – Gör RET till den anropande funktionen • Lägg tillbaka gamla EIP • RET, POP EIP • Vårt värde skrivs till EIP!

© Anders Ingeborn Vart hoppar vi? FF FF FF FF 0C FF FF 14

© Anders Ingeborn Alternativ för mer data FF FF FF FF 0C FF FF FF FF 1C FF 20 PUSH ESP RET 77 F8 E3 A8 ESP EIP aa bb cc dd fkn1 fkn2 Applikation Kernel32.dll Lokal variabel Strcpy 77 F8..

© Anders Ingeborn Vilken kod skickar vi? • ”Statiska instruktioner” – Förstöra information – Lägga till användare – Virus • Mer dynamiskt – Ladda ner ett program och starta det – InternetOpenURL, InternetReadFile

© Anders Ingeborn Helt dynamiskt • Kommandoskal över nätverket! – Öppna en socket – Loop • Lyssna på inmatning från angripare • Lägg på egen stackarea • Anropa systemfunktion, typ WinExec() – Bind cmd.exe till socket

© Anders Ingeborn Kom ihåg • Samma rättigheter som det attackerade programmet! – Kanske en del av operativsystemet? • Erfarenhet: – Många serverapplikationer körs med administratörsrättigheter – Gäller även ”viktiga företag”

© Anders Ingeborn Exempel från verkligheten • Microsoft • ”ASP-buggen”, dec 2000 • ”Printerbuggen”, apr 2001 GET null.printer HTTP/1.1 Host: ############################

© Anders Ingeborn Mer exempel • DNS – BIND-TSIG, feb 2001 – BIND-NXT, jan 2000(?) • FTP-GLOB, mar 2001 • NTP, apr 2001 • Oracle AS, apr 2001 – HTTP-anrop via iPlanet webbserver

© Anders Ingeborn Attack mot ett vanligt företag • Buffer overflow-brist i externt tillgänglig internet-tjänst – DNS, FTP, HTTP etc. • Kommandoskal över internet – Plattform för vidare attack in mot applikationsservrar, databasservrar etc.

© Anders Ingeborn Men brandväggar då? • Använd samma portar som tillåtna applikationer • Brandväggen kanske tillåter anslutningar inifrån och ut? – Låt servern ansluta till dig istället!

© Anders Ingeborn Var får man information? • BugTraq – • CERT – • Företag – Eeye, NAI Covert Labs – iXsecurity :-)

© Anders Ingeborn Lästips • Hack proofing your network, av Greg Höglund m.fl. • Smashing the stack for fun and profit av ”Aleph One” • Win32 Buffer Overflows av ”Barnaby Jack” • (Cuckoo’s Egg av Clifford Stoll)

© Anders Ingeborn Frågor

© Anders Ingeborn Bonusbild vid tid över • Styrning – Direkthopp – Registerhopp – NOP-sled • Kod – XOR-”kryptering” skydd mot \00 – LoadLibrary & GetProcAddress