Presentation laddar. Vänta.

Presentation laddar. Vänta.

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

Liknande presentationer


En presentation över ämnet: "© Anders Ingeborn 08-662 10 70 www.ixsecurity.com Säkerhetsbrister & intrång KTH DSV Kista maj 2001."— Presentationens avskrift:

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

2 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com 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

3 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com 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

4 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com 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

5 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com 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)

6 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com 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

7 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com 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

8 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com Hur fungerar det? • Ett funktionsanrop • Returadress sparas på stacken • Lokala variabler reserveras på stacken • Stackminnet är sekvensiellt

9 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com Exempel •A•A •B•B •C•C •D•D • code • IP • DI • SI • FLAG • SP • BP • stack • IP

10 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com ”Buffer Overflow” 00 12 FF 00 00 12 FF 04 00 12 FF 08 00 12 FF 0C 00 12 FF 10 00 12 FF 14

11 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com 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!

12 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com Vart hoppar vi? 00 12 FF 00 00 12 FF 04 00 12 FF 08 00 12 FF 0C 00 12 FF 10 00 12 FF 14

13 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com Alternativ för mer data 00 12 FF 00 00 12 FF 04 00 12 FF 08 00 12 FF 0C 00 12 FF 10 00 12 FF 14 00 12 FF 18 00 12 FF 1C 00 12 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..

14 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com 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

15 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com 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

16 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com 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”

17 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com Exempel från verkligheten • Microsoft • ”ASP-buggen”, dec 2000 • ”Printerbuggen”, apr 2001 GET null.printer HTTP/1.1 Host: ############################

18 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com 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

19 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com 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.

20 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com 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!

21 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com Var får man information? • BugTraq – www.securityfocus.com • CERT – www.cert.org • Företag – Eeye, NAI Covert Labs – iXsecurity :-)

22 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com 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)

23 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com Frågor ingeborn@ixsecurity.com

24 © Anders Ingeborn 08-662 10 70 www.ixsecurity.com Bonusbild vid tid över • Styrning – Direkthopp – Registerhopp – NOP-sled • Kod – XOR-”kryptering” skydd mot \00 – LoadLibrary & GetProcAddress


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

Liknande presentationer


Google-annonser