[[Kategorie:Themenabend]] {{Themenabend| TITEL= Buffer Overflows | UNTERTITEL= | TERMIN= | ORT= | THEMA= | REFERENTEN= [[Benutzer: Sven | Sven]], [[Carsten Grohmann]] und [[Benutzer:Caldrin | Caldrin ]] | C3D2WEB= | TOPIC= siehe unten | SLIDES= | }} == Gliederung == * Speicherlayout * Klassische stackbasierte Angriffe * Framepointer overwrite * BSS-Overflow * Heap-Overflow ==Link-Sammlung (Allgemein)== * [http://www.heise.de/security/artikel/37958/0 Buffer-Overflows und andere Sollbruchstellen] * [http://krecher.p15153225.pureserver.info/bufferoverflows.pdf Vortrag über Buffer Overflows von Stefan Krecher]] ==Audit-Tools== * [http://lclint.cs.virginia.edu/ Splint (C)] * [http://www.securesoftware.com/download_rats.htm RATS Rough Auditing Tool for Security (C, C++, PHP, Perl & Python)] * [http://www.dwheeler.com/flawfinder/ Flawfinder (C/C++)] * [http://www.cigital.com/its4/ ITS4 (C/C++)] * [http://www.striker.ottawa.on.ca/~aland/pscan/ PScan (C)] * [http://perens.com/FreeSoftware/ ElectricFence - malloc() debugger] * [http://www.parasoft.com/products/wizard/ CodeWizard (commercial)] == Exploit-Programmierung== * [http://phrack.org/show.php?p=49&a=14 Smashing the Stack for fun and Profit] * [http://www.w00w00.org/files/articles/heaptut.txt w00w00 on Heap Overflows] * [http://www.jikos.cz/jikos/remotesploits.html How to write remote exploits] * [http://www.nextgenss.com/papers/non-stack-bo-windows.pdf Non-Stack Overflows on Windows] * [http://www.nextgenss.com/papers/defeating-w2k3-stack-protection.pdf Defeating Microsoft Windows 2003 Stack Protection] * [http://www.nextgenss.com/papers/exploitvariation.pdf Variations in Exploit methods between Linux and Windows] * [http://www.nextgenss.com/papers/unicodebo.pdf Exploitation of UNICODE Buffer Overflows] * [http://www.nextgenss.com/papers/win32format.doc Windows 2000 Format String Vulnerabilities] * [http://www.nextgenss.com/papers/sparc.zip Buffer Overflows on SPARC Architecture] * [http://www.nextgenss.com/papers/bufferoverflowpaper.rtf Buffer Overflows for Beginner] * [http://www.phrack.org/show.php?p=55&a=8 Frame Pointer Overwrite] * [http://www.phrack.org/show.php?p=56&a=14 Exploiting Non-adjacent Memory Spaces] * [http://www.mindsec.com/files/remotefmt-howto.txt Howto remotely and automatically exploit a format bug] * [http://www.phrack.org/show.php?p=61&a=6 Advanced Doug Lea's malloc exploits] * [http://www.phrack.org/phrack/56/p56-0x05 Bypassing Stackguard and Stackshield] * [http://www.cs.ucsb.edu/~jzhou/security/formats-teso.html Exploiting Format String Vulnerabilities] * [http://www.phrack.org/phrack/57/p57-0x09 Once upon a free()...] * [http://www.phrack.org/phrack/58/p58-0x04 The advanced return-into-lib(c) exploits] * [http://www.securiteam.com/exploits/alpha-bof.txt Buffer overflow exploit in the alpha linux] * [http://www.insecure.org/stf/mudge_buffer_overflow_tutorial.html Howto write Buffer Overflows] ==Protection== * Static Analysis ** [http://citeseer.nj.nec.com/wagner00first.html A first step towards automated detection of buffer overrun vulnerabilities] ** [http://citeseer.nj.nec.com/dor01cleanness.html Cleanness Checking of String Manipulations in C Programs via Integer Analysis] ** [http://lclint.cs.virginia.edu/usenix01.pdf Statically detecting likely buffer overflow vulnerabilities] ** [http://www.research.att.com/~christof/papers/preprint-SRDS2001.pdf Detecting heap smashing attacks through fault containment wrappers] ** [http://www.infosys.tuwien.ac.at/Staff/chris/doc/2002_08.ps Accurate Buffer Overflow Detection via Abstract Payload Execution] ** [http://www.ida.liu.se/~johwi/research_publications/paper_nordsec2002_john_wilander.pdf A Comparison of Publicly Available Tools for Static Intrusion Prevention] ** [http://www.cs.tau.ac.il/~msagiv/cssv.pdf CSSV: Towards a Realistic Tool for Statically Detecting All Buffer Overflows in C] ** [http://www.cs.wisc.edu/wpis/papers/fse03.ps Protecting C Programs from Attacks via Invalid Pointer Dereferences] ** [http://www.ecsl.cs.sunysb.edu/brew.htm A Binary Rewriting Defense Against Stack-based Buffer Overflow Attacks] ** [http://www.cs.wisc.edu/wisa/papers/safeTR1467/cj03.pdf Static Analysis of Executables to Detect Malicious Patterns] ** [http://seclab.cs.sunysb.edu/addr_obfs/docs/ao.pdf Address Obfuscation: An Approach to Combat Buffer Overflows, Format-String Attacks, and More] * Compiler Patches ** [http://www.cs.ubc.ca/local/reading/proceedings/spe91-95/spe/vol22/issue4/spe757js.pdf Adding run-time checking to the portable c compiler] ** [http://www.trl.ibm.com/projects/security/ssp/main.html Protecting from stack smashing attacks] ** [http://www.doc.ic.ac.uk/~phjk/BoundsChecking.html Bounds Checking for C] ** [http://www.immunix.org/stackguard.html StackGuard: Automatic adaptive detection and prevention of buffer overflowattacks] ** [http://www.angelfire.com/sk/stackshield/ Stack Shield: A "stack smashing" technique protection tool for linux] ** [http://www.cc.gatech.edu/classes/AY2002/cs8803d_spring/papers/RAD.pdf Rad: A compiletime solution to buffer overflow attacks] ** [http://www.trl.ibm.com/projects/security/ssp/ GCC extension for protecting applications from stack-smashing attacks] ** [http://www.cse.ogi.edu/~crispin/pointguard_usenix_security2003.pdf Protecting pointers from buffer overflow vulnerabilities] * C Library Patches ** [ftp://ftp.lucky.net/pub/unix/local/libc-letter FreeBSD Stack Integrity Patch] ** [http://www.usenix.org/publications/library/proceedings/usenix2000/general/full_papers/baratloo/baratloo.pdf Transparent run-time defense against stack smashing attacks (Libsafe - Libverify)] ** [http://www.immunix.org/formatguard.pdf FormatGuard: Automatic Protection From printf Format String Vulnerabilities] ** [http://www.zork.org/safestr/ Safe C String Library] ** [http://www.lexa.ru/snar/libparanoia/ Libparanoia] * Kernel / OS Patches ** [http://www.openwall.com/linux Non-executable user stack] ** [http://stackghost.cerias.purdue.edu/ StackGhost: Hardware Facilitated Stack Protection] ** [http://pax.grsecurity.net/ PaX] ** [http://www.cs.berkeley.edu/~mmc/papers/tr.pdf Mitigating Buffer Overflows by Operating System Randomization] ** [http://www.crhc.uiuc.edu/~junxu/Papers/TechReport_TRR_UILU-ENG-03-2207.pdf Transparent runtime randomization for security] ==Shellcode== * [http://www.phrack.org/show.php?p=61&a=9 Polymorphic Shellcode Engine] * [http://www.mindsec.com/files/art-shellcode.txt The Art of Writing Shellcode] * [http://www.enderunix.org/documents/en/sc-en.txt Designing Shellcode Demystified] * [http://www.phrack.org/show.php?p=61&a=11 Building IA32 'Unicode-Proof' Shellcodes] ==Vulnerabilities== * [http://online.securityfocus.com/archive/1/71598 JPEG COM Marker Processing Vulnerability in Netscape Browsers]