RAT-based APT Detection for Provenance Graph Analytics

Slides:



Advertisements
Similar presentations
The development of Internet A cow was lost in Jan 14th If you know where it is, please contact with me. My QQ number is QQ is one of the.
Advertisements

CHAPTER 2 KNOW YOUR VILLAINS. Who writes it: Malware writers vary in age, income level, location, social/peer interaction, education level, likes, dislikes.
Trojan Horse Program Presented by : Lori Agrawal.
 What is a botnet?  How are botnets created?  How are they controlled?  How are bots acquired?  What type of attacks are they responsible for? 
CS Nathan Digangi.  Secret, undocumented routine embedded within a useful program  Execution of the program results in execution of secret code.
Detecting Botnets Using Hidden Markov Models on Network Traces Wade Gobel Bio-Grid, Summer 2008.
SMS Mobile Botnet Detection Using A Multi-Agent System Abdullah Alzahrani, Natalia Stakhanova, and Ali A. Ghorbani Faculty of Computer Science, University.
INTRUSION DETECTION SYSTEMS Tristan Walters Rayce West.
2009/9/151 Rishi : Identify Bot Contaminated Hosts By IRC Nickname Evaluation Reporter : Fong-Ruei, Li Machine Learning and Bioinformatics Lab In Proceedings.
Automated Malware Analysis
BOTNETS & TARGETED MALWARE Fernando Uribe. INTRODUCTION  Fernando Uribe   IT trainer and Consultant for over 15 years specializing.
Trojan Horse Implementation and Prevention By Pallavi Dharmadhikari Sirisha Bollineni VijayaLakshmi Jothiram Vasanthi Madala.
Internet Safety CSA September 21, Internet Threats Malware (viruses) Spyware Spam Hackers Cyber-criminals.
11 The Ghost In The Browser Analysis of Web-based Malware Reporter: 林佳宜 Advisor: Chun-Ying Huang /3/29.
IT-security in the Ubiquitous Computing World Chris Kuo, CISSP, CISA Acer eDC (e-Enabling Data Center) Acer Inc. 2007/3/27.
Securing Windows 7 Lesson 10. Objectives Understand authentication and authorization Configure password policies Secure Windows 7 using the Action Center.
1 Chap 10 Malicious Software. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on.
Disclaimer The Content, Demonstration, Source Code and Programs presented here is "AS IS" without any warranty or conditions.
BotNet Detection Techniques By Shreyas Sali
Malware  Viruses  Virus  Worms  Trojan Horses  Spyware –Keystroke Loggers  Adware.
Speaker:Chiang Hong-Ren Botnet Detection by Monitoring Group Activities in DNS Traffic.
Spyware, Viruses and Malware What the fuss is all about.
Click to edit Master title style Click to edit Master text styles Second level Third level Fourth level Fifth level June 10 th, 2009Event details (title,
1 Chap 10 Virus. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on an ever increasing.
Ether: Malware Analysis via Hardware Virtualization Extensions Author: Artem Dinaburg, Paul Royal, Monirul Sharif, Wenke Lee Presenter: Yi Yang Presenter:
Here is a list of viruses Adware- or advertising-supported software-, is any software package which automatically plays, displays, or downloads advertisements.
Hacker’s Strategies Revealed WEST CHESTER UNIVERSITY Computer Science Department Yuchen Zhou March 22, 2002.
Trojan Virus By Forbes and Mark. What is a Trojan virus Trojans are malicious programs that perform actions that have not been authorised by the user.
Interception and Analysis Framework for Win32 Scripts (not for public release) Tim Hollebeek, Ph.D.
HIPS Host-Based Intrusion Prevention System By Ali Adlavaran & Mahdi Mohamad Pour (M.A. Team) Life’s Live in Code Life.
Week 10-11c Attacks and Malware III. Remote Control Facility distinguishes a bot from a worm distinguishes a bot from a worm worm propagates itself and.
1 Figure 4-1: Targeted System Penetration (Break-In Attacks) Host Scanning  Ping often is blocked by firewalls  Send TCP SYN/ACK to generate RST segments.
Presented by: Akbar Saidov Authors: M. Polychronakis, K. G. Anagnostakis, E. P. Markatos.
Computer Systems Security Part I ET4085 Keamanan Jaringan Telekomunikasi Tutun Juhana School of Electrical Engineering and Informatics Institut Teknologi.
1 HoneyNets. 2 Introduction Definition of a Honeynet Concept of Data Capture and Data Control Generation I vs. Generation II Honeynets Description of.
Advanced Persistent Threats (APT) Sasha Browning.
Malicious Software.
Module  Introduction Introduction  Techniques and tools used to commit computer crimes Techniques and tools used to commit computer crimes.
Trojans Daniel Bartsch CPSC 420 April 19,2007. What is a Trojan? Trojans are malware Named after Odysseus’s mythical trick Embedded in a program Cause.
Digital Forensics Dr. Bhavani Thuraisingham The University of Texas at Dallas Network Forensics - III November 3, 2008.
Computer virus Speaker : 蔡尚倫.  Introduction  Infection target  Infection techniques Outline.
Computer Security Threats CLICKTECHSOLUTION.COM. Computer Security Confidentiality –Data confidentiality –Privacy Integrity –Data integrity –System integrity.
Speaker:Chiang Hong-Ren An Investigation and Implementation of Botnet Detection Schemes.
Role Of Network IDS in Network Perimeter Defense.
1 3 Computing System Fundamentals 3.7 Utility Software.
Page 1 Viruses. Page 2 What Is a Virus A virus is basically a computer program that has been written to perform a specific set of tasks. Unfortunately,
 Mal icious soft ware  Programs that violate one (or more) of the IA pillars  Does not (generally) refer to unintentional program bugs that violate.
Mac OS X backdoor Trojan, now in beta? 報告人:劉旭哲. Introduction It targets users of Mac OS X As even the malware itself admits, it is not yet finished. It.
1 Botnets Group 28: Sean Caulfield and Fredrick Young ECE 4112 Internetwork Security Prof. Henry Owen.
Week-14 (Lecture-1) Malicious software and antivirus: 1. Malware A user can be tricked or forced into downloading malware comes in many forms, Ex. viruses,
Antivirus Software Technology By Mitchell Zell. Intro  Computers are vulnerable to attack  Most common type of attack is Malware  Short for malicious.
Logging and Monitoring. Motivation Attacks are common (see David's talk) – Sophisticated – hard to reveal, (still) quite limited in our environment –
Botnets A collection of compromised machines
Malware Reverse Engineering Process
Instructor Materials Chapter 7 Network Security
Backdoor Attacks.
Various Types of Malware
To Catch a Ratter: Monitoring the Behavior of Amateur DarkComet RAT Operators in the Wild By Jun Hao Xu Authors: Brown Farinholt, Mohammad Rezaeiradt,
Malware Reverse Engineering Process
TOPIC 8 ADVANCED PERSISTENT THREAT (APT) 進階持續性滲透攻擊
To Catch a Ratter: Monitoring the Behavior of
Conquering all phases of the attack lifecycle
Rootkit A rootkit is a set of tools which take the ability to access a computer or computer network at administrator level. Generally, hackers install.
Botnets A collection of compromised machines
Xutong Chen and Yan Chen
Yan Chen Detecting Missing RAT Attacks with Semantics on Windows
Forensics Week 12.
Chapter 4: Protecting the Organization
Motivation and Problem Statement
What is keystroke logging?
Presentation transcript:

RAT-based APT Detection for Provenance Graph Analytics Northwestern University Jan. 15, 2016

Internal reconnaissance Motivation ~300 APT White Papers [1] Most APTs are on Windows and involves malicious RATs Malicious RAT Plant RAT on Victim’s Machine APT lifecycle [2] ~300 white papers about APT attacks suggest that a RAT is leveraged in nearly every APT attack against Microsoft Windows systems. Thus, we focus on identifying the existence of malicious RATs in the system for APT detection.  A piece of software that allows a remote "operator" to control a system as if he has physical access to that system. Initial compromise Establish foothold Escalate privileges Internal reconnaissance Move laterally Maintain presence Complete mission [1] https://github.com/kbandla/APTnotes. [2] APT1: Exposing One of China‘s Cyber Espionage Units, Mandiant, 2013. 2 2

What is a RAT? RAT stands for Remote Administration Tool, a piece of software that allows a remote "operator" to control a system. Interpreted as remote administration Trojan in some white papers. A malicious RAT is a backdoored spying horse zombie, in essence. Trojan - Disguises its identity as legitimate program. Backdoor – Enables remote control and receives commands. Spyware – Gathers information stealthily and sends back to master. Zombie – Behaves like a zombie (allows its master to perform operation through it). Malicious RAT is equivalent to Remote Administration Trojan. But with a covert effect 3 3

First malicious RAT and Today Back Orifice is one of the first RATs, released in 1998. It includes a GUI control panel. Spawn/kill processes, play audio files and capture videos. Malicious RAT Today An abundance of different RATs: NetBus, iControl, Sub Seven, Beast Trojan, Bifrost, Blackshades, DarkComet, LANfiltrator, Win32.HsIdir, Optix Pro, … RAT has become a service available to people without much computer knowledge. Back Orifice was designed with a client–server architecture. 4 4

Architecture of a malicious RAT Client/Server architecture Server program installed on victim’s machine Client program with GUI installed on C&C server Server program is remotely controlled by Client program RAT Server (unobtrusive) RAT Client (GUI) Control Back Orifice was designed with a client–server architecture. Response C&C Server Victim’s Machine 5 5

Typical Features of a malicious RAT VM detection Antivirus tool detection/disabling File/registry/process manipulating Shell control Credential stealing Webcam/microphone access Keystroke logging Screen capture Network monitoring ... Features of DarkComet www.darkcomet-rat.com 6 6

Malicious RAT vs Bot Targeted attack vs. random attack APT are targeted attacks with reconnaissance while most botnets are kind of random attacks, relying on port scan for victim discovery. Human manual operation (w/ vs w/o) RAT is much more complex and powerful, and must require human operation, while bots are usually automatic programs without requiring human-driven activities. Attack Intention RATs are mainly used for spying on victims while bots are typically harvested for orchestrated attacks. Add some survey results (reference), enterprise RAT, what the industry do with RAT detection. So RAT usually does not automatically discovery victims. Bots usually contains exploits and is able to infect victim by itself, while RAT is usually downloaded to the victim after a successful exploitation 7 7

Malicious RAT vs. Legitimate Program Malicious RAT vs Enterprise/Commercial RAT They resemble each other, except a few features such as VM detection and antivirus tool detection/disabling. Malicious RAT vs other Legitimate Program Malicious RATs have many distinct features that legitimate programs do not have: Keystroke logging Network connection monitoring File/registry/process manipulating Etc. RATs always stay hidden while legitimate programs typically interact with users and show itself by displaying windows, buttons, dialog boxes and so on. Base on behavior and other characteristics. Focus on these features . Differentiate the malicious from other programs using these features. 8 8

Related Work Very few academic works related to RAT detection Z. Chen, P. Wei, and A. Delis. Catching Remote Administration Trojans (RATs). In Software Practice and Experience, 2008. K. T. Gardåsen. Detecting Remote Administration Trojans through Dynamic Analysis using Finite-State Machines. Master thesis, 2014. Industrial efforts on APT detection Redline [1], a memory forensics tool designed by FireEye, provides host investigative capabilities to identify malicious activities through memory and file analysis. Volatility [2] - an open source memory forensics framework for incident response and malware analysis -> bullets, add industry efforts on RAT detection, Zhongqiang et al. in 2008 performed packet inspection, tracked network connections, and leveraged proprietary communication features of the known RATs and heuristic rules for RAT detection. One major weakness is that their method cannot be used to capture new families of RATs. One recent work is a 2014 master thesis. The author considered the behavior of surreptitiously monitoring the webcam, microphone, and keystrokes without user interactive as an indicator of the presence of a RAT, and proposed to use finite state machine for detecting malicious behavior by modeling the triggered API calls. However, it is too absolute to determine a RAT based on only three kinds of behaviors.  Redline is the only industrial tool we found which is designed for APT detection. 9 [1] Redline: https://www.fireeye.com/services/freeware/redline.html [2] Volatility: https://github.com/volatilityfoundation/volatility 9

Our Detection Observations: We perform RAT-based APT detection by API calls reveal the behavior of a RAT no matter how it disguises itself and how its code is obfuscated. API calls are stable for a specific behavior most of the time. Similar behavior triggers similar API calls. We perform RAT-based APT detection by modeling the behavior of RATs by the API calls creating the provenance graph based on the API call traces developing signature-based and statistics-based methods for spotting suspicious behaviors Detecting RATs is very difficult due to the fact that they resemble commercial remote administration software. Monitoring system processes to detect the execution of malicious activity has proven to be an effective approach for sniffing out a rat. A set of API calls statically correspond to a specific behavior most of the time, which makes identifying malicious behaviors based on API calls possible. 10 10

Trace Collection Experiment Setup Windows VM Windows VM RAT victim RAT controller (C&C server) Control Response process RAT API capture tool Our API calls were captured using two Windows 7 x64 virtual machines which were connected through a virtual network, with one being the RAT controller and the other the victim. WinAPIOverride ApiOverride.dll RAT Code kernel32.dll, ntdll.dll, … ApiCapture dll Inject dll into RAT

Trace analysis: Screen Capture DarkComet WSARecv(0x00000000000048BC, …) // Get Instruction from C&C server (attacker). CreateDC(…) GetDeviceCaps(…) CreateCompatibleDC(…) CreateCompatibleBitmap(…) GetDC() SelectObject() Share the same socket descriptor ReleaseDC() DeleteDC() // send all the collected information back to the attacker Send(0x00000000000048BC, …) WinAPI tracing: Attacking flow of DarkComet (RAT) 12 12

Trace analysis: Screen Capture Pandora WSARecv(0x0000000000005B14, …) // Get Instruction from C&C server (attacker). GetDC(…) Different RATs share similar API call patterns in similar behavior. GetDeviceCaps(…) CreateCompatibleDC(…) SelectObject() Pandora (RAT): Screen capture (Remote desktop) ReleaseDC() Share the same socket descriptor DeleteDC() // send all the collected information back to the attacker Send(0x0000000000005B14, …) WinAPI tracing: Attacking flow of Pandora (RAT) 13 13

RAT Behavior Detection Generate signature for RAT’s screen capture behavior: Signature-based detection: We generate signature based on our trace analysis. WSARecv(fd, …) GetDC() / CreateDC() GetDeviceCaps() CreateCompatibleDC … Send() WSARecv(fd, …) Critical WinAPI Calls Send(fd, …) Identify critical path Graph signature based detection 14 14

RAT Behavior Detection (cont’d) Statistics-based detection: Single feature/behavior cannot alone differentiate malicious RATs from enterprise RATs. However, they typically differ in terms of characteristics of API calls such as the frequency and the time interval between API calls. With traces of API calls collected from real-world malicious RATs, enterprise RATs, and other legitimate programs, we develop statistics-based detection. 15 15

Conclusion We identify that malicious RATs are used in most APT attacks on Windows systems. We propose signature-based and statistics-based method to detect malicious RATs for APT detection for provenance graph analytics. Detecting RATs is very difficult due to the fact that they resemble commercial remote administration software. Monitoring system processes to detect the execution of malicious activity has proven to be an effective approach for sniffing out a rat. 16 16

Thanks! Questions? 17 17

Trace analysis: Get OS Information DarkComet WSARecv(0x00000000000048BC, …) // Get Instruction from C&C server (attacker). GlobalMemoryStatus(…) // Get global memory status. NtQuerySystemInformation(0x0, …) // Get detailed system information by classes, the 1st parameter indicate a unique “class” of system information NtQuerySystemInformation(0x3, …) Share the same socket descriptor NtQuerySystemInformation(0x2, …) Send(0x00000000000048BC, …) // send all the collected information back to the attacker WinAPI tracing: Attacking flow of DarkComet (RAT) 18 18

Trace analysis: Get OS Information DarkComet WSARecv(0x00000000000048BC, …) WSARecv(fd, …) GlobalMemoryStatus(…) Critical WinAPI Calls Graph signature based detection NtQuerySystemInformation(0x0, …) NtQuerySystemInformation(0x3, …) NtQuerySystemInformation(0x2, …) Send(0x00000000000048BC, …) Send(fd, …) 19 19