Slideshare.net (beta)

 
Post: 
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons



All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 1 (more)

Web Exploit Finder Presentation

From amiable_indian, 3 months ago

615 views  |  0 comments  |  1 favorite  |  19 downloads  |  1 embed (Stats)
 

Groups/Events

Not added to any group/event

 
 

Privacy InfoNew!

This slideshow is Public

 
Embed in your blog
Embed (wordpress.com)
custom

Slideshow Statistics
Total Views: 615
on Slideshare: 548
from embeds: 67* * Views from embeds since 21 Aug, 07

Slideshow transcript

Slide 1: Web Exploit Finder Detecting Drive-By-Downloads in a virtualized environment Benjamin Mack xnos Internet Services

Slide 2: About Benjamin Mack  Student of „computer science and media“ at the Hochschule der Medien, Stuttgart since 2003  Started xnos Internet Services for Hosting, Security and Web Development in 2006  Finishing my diploma thesis in late 2007  Also involved in TYPO3 core development © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 3: Agenda  The Problem  What are malicious websites?  Our Approach  Features  Architecture  Rootkit  Fast reproduction of virtual clients  Inspecting a website  State & Future Plans © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 4: What is the Web Exploit Finder?  Developed by Thomas Müller, Mehmet Arziman and Benjamin Mack in Summer 06  Student project from the Hochschule der Medien, Stuttgart  Now hosted, developed and supported by xnos Internet Services © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 5: Introduction  A lot of software connects to the internet  Security threats occur through remote code execution after buffer overflows  Can happen to every piece of software © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 6: The Problem  Focus on internet browsers  Both Microsoft Internet Explorer and Mozilla Firefox still include several vulnerabilities  Primary user interfaces to the WWW  Browsers are used most frequently  Many non-technical users © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 7: The Problem  Many users don't install security updates  Even fully patched systems are vulnerable to zero-day exploits  Unknown amount of malicious sites on the web How can we find these malicious websites? © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 8: The Problem  What is „malicious“?  How can we detect malicious web content?  How can we design an adequate system? © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 9: What is malicious?  A website that downloads and installs a malicious software (virus, trojan horse) on the local system without any user interaction.  so-called „Drive-By-Downloads“  No phishing attacks © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 10: How does a hacker achieve this?  Attacker executes his code in the browser through a buffer overflow  Execution code is limited  Only a small „Dropper“ or „Downloader“ is run which retrieves the malicious software  Starts new processes  Modifies the registry  Writes files to the hard drive © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 11: Worst Case  Windows XP Professional w/o Service Packs  No security updates installed  Windows running as an Administrator  Using Microsoft Internet Explorer 6  Scripting and Java both activated © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 12: How can we detect malicious software?  Two techniques  Intrusion Detection Compare the state of the system before and after a visit to a website  Rootkit Monitor suspicious actions in real-time modifying the operating system © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 13: How can we design an adequate system?  The system should be  automatic, require little user interaction  controlled remotely, with a web interface  scalable and extensible  secure, ensuring that the system itself cannot be infected by malicious websites © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 14: System Architecture  Virtualization layer  protect the system  check multiple websites simultaneously VMware Server  Client OS component  modify the operating system  monitor system calls Hand-made Rootkit © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 15: System Architecture  Browser Control  manage the rootkit  control the browser  communicate with the management console Windows MFC Application  Management Console  configure and control the system  monitor system calls JBoss Application Server © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 16: System Architecture Management Console Browser Control Microsoft SOAP Internet WebServices (XFire) SOAP Rootkit IE Explorer Business Client Control Remoting Web-GUI Logic (JSF) DHCP DB (EJB 3.0) Server (MySQL) VMware Manager Rootkit Windows XP (virtualized) Kernel-Mode-Driver Remoting JBoss Application Server Scripts VMware Server Linux Linux © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 17: Rootkit  SSDT-Hooking  Redirects the system call  Access to the protected memory of the kernel  Implemented as a system driver in C © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 18: The Windows API Win32 Applications POSIX Subsystem OS/2 Subsystem Advapi32.dll Kernel32.dll User32.dll Gdi32.dll Application call CreateFile() Ntdll.dll Dispatcher-Stubs NtCreateFile() Method Hooking Real Implementation Windows Kernel (Ntoskrnl.exe) ZwCreateFile() Method © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 19: Kernel Rootkit: SSDT Hooking SSDT SST Before: ServiceTable - CounterTable ZwCreateFile() ServiceLimit - 1 Ntoskrnl.exe ArgumentTable ZwCreateFile() SSDT SST After: ServiceTable - Hook Function 1 <prolog> CounterTable ZwCreateFile() ServiceLimit - CALL(ZwCreateFile()) ArgumentTable <epilog> 2 Ntoskrnl.exe 3 ZwCreateFile() SSDT System Service Descriptor Table SST System Service Table © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 20: VMware Manager  Our virtualized environment needs to...  Create a new virtual machine  Clone from a clean template  Copy the most recent version of the rootkit  Take a snapshot to revert fast  Revert to a clean state  Delete a virtual machine © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 21: Creating a new Virtual Machine Management Console Browser Control Microsoft SOAP Internet WebServices (XFire) SOAP Rootkit IE Explorer Business Client Control Remoting Web-GUI Logic (JSF) DHCP DB (EJB 3.0) Server (MySQL) VMware Manager Rootkit Windows XP (virtualized) Kernel-Mode-Driver Remoting JBoss Application Server Scripts VMware Server Linux Linux © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 22: VMware Control ● cloneVM() Bash Scripts ● revertVM() C Program ● deleteVM() vmware-cmd ● listVMs() Remoting Scripts ● Request new IP Address ● Copy prototype image VMware VMware Manager Server Register the new VM Manage- Create Snapshot C-API ment Copy Rootkit & Console Cloned BrowserControl Windows XP (virtualized) New IP Address © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 23: Browser Control  Communicate with the Management Console  Get URL to check  Tell if website was malicious  use SOAP calls (gSOAP)  Communicate with the Rootkit  Start & Stop Hooking  Configure Rootkit  Request Results After Delay  Run the Browser © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 24: Browser Control Core (Business Logic) ● startIE() ● closeIE() ● goToURL() ● navigate() Microsoft SOAP Internet SOAP Rootkit IE register() Explorer 6 Client Remoting ● ● getFilterList() Control ● getNextUrl() (IOCTL) ● reportResult() ● load Rootkit-Driver ● send filter list ● start and stop hooking ● monitors IE Process ● request result Rootkit Windows XP (virtualized) (Kernel-Mode-Driver) © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 25: Management Console  Web Interface  Display running VMs  Manually add URLs  Create more virtual machines  Manage filters  Web Crawler  Automatically add more URLs to check all of them  Store in database  Database holding all URLs and running VMs  SOAP interface to the VMs © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 26: State of the system  Beta phase  The system works  Rootkit needs some small adjustments  Implementing the crawler  Web interface rewrite  Hook more Windows system calls © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 27: Future Plans  First open-source release in the next weeks  including a complete manual to set the software up  will be available on www.xnos.org  New Features  Try different IE versions  Use Firefox and Opera © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 28: Future Plans contd.  Different virtualization technologies  Xen (for Windows with HVM)  Different operating systems as clients  Windows Vista (32 bit)  Linux  Cooperating with other client honeypot projects for evaluating the malicious software on the websites © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 29: Support wanted  System has a lot of potential  Dutch government and a couple of big companies want to use WEF already  We need developers once the software is released as open-source  We need support  Either by testing the package or  by sponsoring the developers © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 30: Questions Any Questions? © Benjamin Mack, xnos Internet Services, www.xnos.de, June 1st 2007

Slide 31: xnos Internet Services Benjamin Mack Gartenstraße 29 70563 Stuttgart Phone +49 711 508 85 44 22 Fax +49 711 508 85 44 29 mack@xnos.de www.xnos.de