Introduction to Honeypot, Denial-ofService, and Rootkit Cliff C. Zou CAP6135 Spring, 2011 1 Acknowledgement Some contents on honeypot are from http://staff.washington.edu/dittrich/talks/arohoneynets.ppt Some figures on DDoS are from http://www.cisco.com/web/IT/events/pdf/iin2005/dist ributed_denial.pdf 2 What Is a Honeypot? Abstract definition: “A honeypot is an information system resource whose value lies in unauthorized or illicit use of that resource.” (Lance Spitzner) Concrete definition: “A honeypot is a faked vulnerable system used for the purpose of being attacked, probed, exploited and compromised.” 3 Example of a Simple Honeypot Install vulnerable OS and software on a machine Install monitor or IDS software Connect to the Internet (with global IP) Wait & monitor being scanned, attacked, compromised Finish analysis, clean the machine 4 Benefit of Deploying Honeypots Risk mitigation: Lure an attacker away from the real production systems (“easy target“). IDS-like functionality: Since no legitimate traffic should take place to or from the honeypot, any traffic appearing is evil and can initiate further actions. 5 Benefit of Deploying Honeypots Attack analysis: Find out reasons, and strategies why and how you are attacked. Binary and behavior analysis of capture malicious code Evidence: Once the attacker is identified, all data captured may be used in a legal procedure. Increased knowledge 6 Honeypot Classification High-interaction honeypots A full and working OS is provided for being attacked VMware virtual environment Low-interaction honeypots Only emulate specific network services No real interaction or OS Several VMware virtual hosts in one physical machine Honeyd Honeynet/honeyfarm A network of honeypots 7 Low-Interaction Honeypots Pros: Easy to install (simple program) No risk (no vulnerable software to be attacked) One machine supports hundreds of honeypots, covers hundreds of IP addresses Can distinguish most attacks on the same port Cons: No real interaction to be captured Limited logging/monitor function Hard to detect unknown attacks; hard to generate filters Easily detectable by attackers 8 Emulation of Services QUIT* ) echo -e "221 Goodbye.\r" exit 0;; SYST* ) echo -e "215 UNIX Type: L8\r" ;; HELP* ) echo -e "214-The following commands are recognized (* =>'s unimplemented).\r" echo -e " USER PORT STOR MSAM* RNTO NLST MKD CDUP\r" echo -e " PASS PASV APPE MRSQ* ABOR SITE XMKD XCUP\r" echo -e " ACCT* TYPE MLFL* MRCP* DELE SYST RMD STOU\r" echo -e " SMNT* STRU MAIL* ALLO CWD STAT XRMD SIZE\r" echo -e " REIN* MODE MSND* REST XCWD HELP PWD MDTM\r" echo -e " QUIT RETR MSOM* RNFR LIST NOOP XPWD\r" echo -e "214 Direct comments to ftp@$domain.\r" ;; USER* ) 9 High-Interaction Honeypots Pros: Real OS, capture all attack traffic/actions Can discover unknown attacks/vulnerabilites Can capture and anlayze code behavior Cons: Time-consuming to build/maintain Time-consuming to analysis attack Risk of being used as stepping stone High computer resource requirement 10 Honeynet A network of honeypots High-interaction honeynet A distributed network composing many honeypots Low-interaction honeynet Emulate a virtual network in one physical machine Example: honeyd 11 Gen II Honeynet 12 Data Control Prevent a honeypot being used by attackers to attack others (legal/ethnical issues) 13 Honeypot-Aware Botnet [Zou’07] Honeypot is widely used by defenders Ability to detect unknown attacks Ability to monitor attacker actions (e.g., botnet C&C) Botnet attackers will adapt to honeypot defense When they feel the real threat from honeypot We need to think one step ahead 14 Honeypot Detection Principles Hardware/software specific honeypot detection Detect virtual environment via specific code E.g., time response, memory address Detect faculty honeypot program Case by case detection Detection based on fundamental difference Honeypot defenders are liable for attacks sending out Liability law will become mature It’s a moral issue as well Real attackers bear no liability 15 Check whether a bot can send out malicious traffic or not Detection of Honeypot Bot bot 1 malicious traffic Sensor (secret) C&C Infection traffic Real liability to defenders No exposure issue: a bot needs to do this regardless Other honeypot detection traffic Port scanning, email spam, web request (DoS?) 16 Two-stage Reconnaissance to Detect Honeypot in Constructing P2P Botnets 1 Host A spearhead 3 Host B 2 spearhead request main-force Fully distributed No central sensor is used Could be fooled by double-honeypot Counterattack is presented in our paper Lightweighted spearhead code 17 Infect + honeypot detection Speedup UDP-based infection Host C Defense against Honeypot-Aware Attacks Permit dedicated honeypot detection systems to send out malicious traffic Redirect outgoing traffic to a second honeypot Not effective for sensor-based honeypot detection Figure out what outgoing traffic is for honeypot detection, and then allow it Need law and strict policy It could be very hard Neverthless, honeypot is still a valuable monitoring and detection/defense tool 18 Distributed Denial of Service (DDoS) Attack Send large amount of traffic to a server so that the server has no resource to serve normal users Attacking format: Consume target memory/CPU resource SYN flood (backscatter paper presented before) Database query… Congest target Internet connection Many sources attack traffic overwhelm target link Very hard to defend 19 Why hard to defined DDoS attack? Internet IP protocol has no built-in security No authentication of source IP SYN flood with faked source IP However, IP is true after connection is setup Servers are supposed to accept unsolicited service requests Lack of collaboration ways among Internet community How can you ask an ISP in another country to block certain traffic for you? 20 DDoS Defenses Increase servers capacity Use Internet web caching service Cluster of machine, Multi-CPUs, larger Internet access E.g., Akamai Defense Methods (many in research stage) SYN cookies (http://en.wikipedia.org/wiki/SYN_cookies) SOS IP traceback 21 22 23 SYN Cookies SYN flood attack Fill up server’s SYN queue Property: attacker does not respond to SYN/ACK from victim. Defense Fact: normal client responds to SYN/ACK Remove initial SYN queue Server encode info in TCP seq. number Use it to reconstruct the initial SYN 24 DoS spoofed attack defense: IP traceback Suppose a victim can call ISPs upstream to block certain traffic SYN flood: which traffic to block? IP traceback: Find out the real attacking host for SYN flood Based on large amount of attacking packets Need a little help from routers (packet marking) 25 SOS: Secure Overlay Service Central Idea: Use many TCP connection respondent machines Only setup connections relay to server Identity of server is secrete 26 The Evolution of Malware Malware, including spyware, adware and viruses want to be hard to detect and/or hard to remove Rootkits are a fast evolving technology to achieve these goals Cloaking technology applied to malware Not malware by itself Example rootkit-based viruses: W32.Maslan.A@mm, W32.Opasa@mm Rootkit history Appeared as stealth viruses One of the first known PC viruses, Brain, was stealth First “rootkit” appeared on SunOS in 1994 Replacement of core system utilities (ls, ps, etc.) to hide malware processes Cloaking Modern rootkits can cloak: Several major rootkit technologies Processes Services TCP/IP ports Files Registry keys User accounts User-mode API filtering Kernel-mode API filtering Kernel-mode data structure manipulation Process hijacking Visit www.rootkit.com for tools and information User-Mode API Filtering Attack user-mode system query APIs Taskmgr.exe Explorer.exe, Winlogon.exe Ntdll.dll Rootkit user mode kernel mode Explorer.exe, Malware.exe, Winlogon.exe Con: can be bypassed by going directly to kernelmode APIs Pro: can infect unprivileged user accounts Examples: HackerDefender, Afx Kernel-Mode API Filtering Attack kernel-mode system query APIs Taskmgr.exe Explorer.exe, Winlogon.exe Ntdll.dll user mode kernel mode Explorer.exe, Winlogon.exe Explorer.exe, Malware.exe, Winlogon.exe Cons: Requires admin privilege to install Difficult to write Pro: very thorough cloak Example: NT Rootkit Rootkit Kernel-Mode Data Structure Manipulation Also called Direct Kernel Object Manipulation (DKOM) Attacks active process data structure Query API doesn’t see the process Kernel still schedules process’ threads Active Processes Malware.exe Cons: Explorer.exe Requires admin privilege to install Can cause crashes Detection already developed Pro: more advanced variations possible Example: FU Winlogon.exe Process Hijacking Hide inside a legitimate process Explorer.exe Malware Con: doesn’t survive reboot Pro: extremely hard to detect Example: Code Red Detecting Rootkits All cloaks have holes Leave some APIs unfiltered Have detectable side effects Can’t cloak when OS is offline Rootkit detection attacks holes Cat-and-mouse game Several examples Microsoft Research Strider/Ghostbuster RKDetect Sysinternals RootkitRevealer F-Secure BlackLight Simple Rootkit Detection Perform a directory listing online and compare with secure alternate OS boot (see http://research.microsoft.com/rootkit/ ) Offline OS is Windows PE, ERD Commander, BartPE dir /s /ah * > dirscan.txt windiff dirscanon.txt dirscanoff.txt This won’t detect non-persistent rootkits that save to disk during shutdown RootkitRevealer RootkitRevealer (RKR) runs online RKR tries to bypass rootkit to uncover cloaked objects All detectors listed do the same RKR scans HKLM\Software, HKLM\System and the file system Performs Windows API scan and compares with raw data structure scan RootkitRevealer Filtered Windows API omits malware files and keys Rootkit Windows API Raw file system, Raw Registry hive Malware files and keys are visible in raw scan Demo HackerDefender HackerDefender before and after view of file system Detecting HackerDefender with RootkitRevealer Dealing with Rootkits Unless you have specific uninstall instructions from an authoritative source: Reformat the system and reinstall Windows! Don’t rely on “rename” functionality offered by some rootkit detectors It might not have detected all a rootkit’s components The rename might not be effective