A Hybrid Framework to Analyze Web and OS Malware Vitor M. Afonso, Dario S. Fernandes Filho, André R. A. Grégio1, PauloL.de Geus, Mario Jino.

Slides:



Advertisements
Similar presentations
Mobile Code Security Yurii Kuzmin. What is Mobile Code? Term used to describe general-purpose executables that run in remote locations. Web browsers come.
Advertisements

Thank you to IT Training at Indiana University Computer Malware.
Reporter: Jing Chiu Advisor: Yuh-Jye Lee /7/181Data Mining & Machine Learning Lab.
Building web applications on top of encrypted data using Mylar Presented by Tenglu Liang Tai Liu.
Operating System Security : David Phillips A Study of Windows Rootkits.
Mobile Code Security Aviel D. Rubin, Daniel E. Geer, Jr. MOBILE CODE SECURITY, IEEE Internet Computing, 1998 Minkyu Lee
Automated Web Patrol with Strider Honey Monkeys: Finding Web Sites That Exploit Browser Vulnerabilities AUTHORS: Yi-Min Wang, Doug Beck, Xuxian Jiang,
1 Detection of Injected, Dynamically Generated, and Obfuscated Malicious Code (DOME) Subha Ramanathan & Arun Krishnamurthy Nov 15, 2005.
19.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 19: Security The Security Problem Authentication Program Threats.
Introduction to Web Database Processing
Computer Security and Penetration Testing
Prophiler: A fast filter for the large-scale detection of malicious web pages Reporter : 鄭志欣 Advisor: Hsing-Kuo Pao Date : 2011/03/31 1.
An introduction to honeyclient technologies Christian Seifert Angelo Dell'Aera.
Automated Malware Analysis
D ATABASE S ECURITY Proposed by Abdulrahman Aldekhelallah University of Scranton – CS521 Spring2015.
1 Introduction to Web Development. Web Basics The Web consists of computers on the Internet connected to each other in a specific way Used in all levels.
Jarhead Analysis and Detection of Malicious Java Applets Johannes Schlumberger, Christopher Kruegel, Giovanni Vigna University of California Annual Computer.
Automated malware classification based on network behavior
Presentation by Kathleen Stoeckle All Your iFRAMEs Point to Us 17th USENIX Security Symposium (Security'08), San Jose, CA, 2008 Google Technical Report.
INTRODUCTION TO WEB DATABASE PROGRAMMING
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
Disclaimer The Content, Demonstration, Source Code and Programs presented here is "AS IS" without any warranty or conditions.
WARNINGBIRD: A Near Real-time Detection System for Suspicious URLs in Twitter Stream.
Prevent Cross-Site Scripting (XSS) attack
Presented by: Kushal Mehta University of Central Florida Michael Spreitzenbarth, Felix Freiling Friedrich-Alexander- University Erlangen, Germany michael.spreitzenbart,
Speaker:Chiang Hong-Ren Botnet Detection by Monitoring Group Activities in DNS Traffic.
Reporter: Li, Fong Ruei National Taiwan University of Science and Technology 9/19/2015Slide 1 (of 32)
Behavior-based Spyware Detection By Engin Kirda and Christopher Kruegel Secure Systems Lab Technical University Vienna Greg Banks, Giovanni Vigna, and.
Honeypot and Intrusion Detection System
3-Protecting Systems Dr. John P. Abraham Professor UTPA.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Ether: Malware Analysis via Hardware Virtualization Extensions Author: Artem Dinaburg, Paul Royal, Monirul Sharif, Wenke Lee Presenter: Yi Yang Presenter:
CSCE 201 Web Browser Security Fall CSCE Farkas2 Web Evolution Web Evolution Past: Human usage – HTTP – Static Web pages (HTML) Current: Human.
Interception and Analysis Framework for Win32 Scripts (not for public release) Tim Hollebeek, Ph.D.
Defending Browsers against Drive-by Downloads:Mitigating Heap-Spraying Code Injection Attacks Authors:Manuel Egele, Peter Wurzinger, Christopher Kruegel,
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.
Christopher Kruegel University of California Engin Kirda Institute Eurecom Clemens Kolbitsch Thorsten Holz Secure Systems Lab Vienna University of Technology.
MICHALIS POLYCHRONAKIS(COLUMBIA UNIVERSITY,USA), KOSTAS G. ANAGNOSTAKIS(NIOMETRICS, SINGAPORE), EVANGELOS P. MARKATOS(FORTH-ICS, GREECE) ACSAC,2010 Comprehensive.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
VMM Based Rootkit Detection on Android Class Presentation Pete Bohman, Adam Kunk, Erik Shaw.
By Gianluca Stringhini, Christopher Kruegel and Giovanni Vigna Presented By Awrad Mohammed Ali 1.
Introduction to JavaScript CS101 Introduction to Computing.
Protecting Browsers from Extension Vulnerabilities Paper by: Adam Barth, Adrienne Porter Felt, Prateek Saxena at University of California, Berkeley and.
Trends and Lessons from Three Years Fighting Malicious Extensions Nav Jagpal, Eric Dingle, Jean-Philippe, Gravel Panayiotis, Mavrommatis Niels, Provos.
© Copyright 2009 SSLPost 01. © Copyright 2009 SSLPost 02 a recipient is sent an encrypted that contains data specific to that recipient the data.
WebWatcher A Lightweight Tool for Analyzing Web Server Logs Hervé DEBAR IBM Zurich Research Laboratory Global Security Analysis Laboratory
Shasta Console Operations February 2010 Tony Caleb.
VMM Based Rootkit Detection on Android
Lecture 5 Rootkits Hoglund/Butler (Chapters 1-3).
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,
By Collin Donaldson. Hacking is only legal under the following circumstances: 1.You hack (penetration test) a device/network you own. 2.You gain explicit,
Unveiling Zeus Automated Classification of Malware Samples Abedelaziz Mohaisen Omar Alrawi Verisign Inc, VA, USA Verisign Labs, VA, USA
Powerpoint presentation on Drive-by download attack -By Yogita Goyal.
Heat-seeking Honeypots: Design and Experience John P. John, Fang Yu, Yinglian Xie, Arvind Krishnamurthy and Martin Abadi WWW 2011 Presented by Elias P.
Windows Vista Configuration MCTS : Internet Explorer 7.0.
Cosc 4765 Antivirus Approaches. In a Perfect world The best solution to viruses and worms to prevent infected the system –Generally considered impossible.
1 Chapter 1 INTRODUCTION TO WEB. 2 Objectives In this chapter, you will: Become familiar with the architecture of the World Wide Web Learn about communication.
Applications Active Web Documents Active Web Documents.
BUILD SECURE PRODUCTS AND SERVICES
TriggerScope: Towards Detecting Logic Bombs in Android Applications
Chapter 7: Identifying Advanced Attacks
Malware Reverse Engineering Process
Malware Reverse Engineering Process
Presented by Xiaohui (Amy) Lin
BotCatch: A Behavior and Signature Correlated Bot Detection Approach
PHP / MySQL Introduction
Exploring DOM-Based Cross Site Attacks
When Machine Learning Meets Security – Secure ML or Use ML to Secure sth.? ECE 693.
Web Application Development Using PHP
Presentation transcript:

A Hybrid Framework to Analyze Web and OS Malware Vitor M. Afonso, Dario S. Fernandes Filho, André R. A. Grégio1, PauloL.de Geus, Mario Jino

Contents Introduction Related work System Description Tests Results Conclusion And Future Work

Introduction Malicious programs, such as  trojans  worms  javascript exploits are a great threat to computer security. Currently, the Web is the main vector to install malware in attacked systems. So what is Web Malware????

Introduction(Contd) Two methods are often used to have the victims browser load malicious content, 1. By injecting malicious codes in benign pages and waiting for users to unwittingly access it 2. By sending phishing messages containing malicious files or links. So how are these Infecting benign pages and sending phishing messages performed?

Introduction(Contd) To develop and improve protection mechanisms deployed on the client-side, it is necessary to study and more deeply understand malicious pages and programs. There are several systems that perform this kind of analysis, but they are focused either on Web or operating system (OS) malware. One of the major problems toward malware analysis is the use of obfuscation techniques through packers.

Introduction(Contd) In this article, we propose a framework that obtains URLs and files from spam crawlers and malware collectors, and transparently analyzes them. The main contributions of this article are:  We present a hybrid framework to analyze both Web and OS-based malware;  Our tests show that our analysis of Web malware produce better detection rates than existing systems;  The deployed OS behavioral monitor can operate in emulated, virtual or real environments, allowing our framework to correctly analyze samples that detect virtual or emulated environments

Related Work There are several analysis systems designed to monitor the behavior of Web or OS malware. However, each of them focus solely on one of the mentioned malware types. we present the main systems and techniques that are used to analyze malware, to produce informative reports about them and, in the case of Web malware analyzers, to tell if the analyzed matter is malicious or benign.

OS Malware Analysis What is Malware Behavior?? What is Malware Analysis?? Malware analysis can be performed in 2 ways 1.Static way, i.e. without executing the sample. 2.Dynamically, by monitoring its execution. But use of packers makes static analysis a quite difficult and slow process. Common techniques to dynamically extract malware behavior are:  Virtual Machine Introspection (VMI)  System Service Dispatch Table (SSDT) Hooking and  Application Programming Interface (API) Hooking

Virtual Machine Introspection In the case of VMI, a virtual environment is used to execute the malware and restore the system after the analysis. Monitoring is performed in an intermediary layer, called Virtual Machine Monitor (VMM), which is interposed between the virtual system and the real one. Allows the extraction of low-level information, such as system calls and the state of memory VMI is used by the Anubis system.

System Service Dispatch Table Hooking SSDT is a Windows kernel structure that contains the addresses of native functions. SSDT hooking is performed at kernel level by a specially crafted driver that modifies some of the SSDT addresses to point to functions inside this driver This technique can be used either in virtual, emulated or real environments as its flexibility is linked to the driver’s mobility. Issues----As they also operate at the kernel level and possess the same privileges of the monitoring driver.

Application Programming Interface Hooking It modifies the binary under analysis to force the execution of certain functions that are in the monitoring program before calling selected system APIs. As this technique is deployed at a level that is closer to the analyzed sample, it is possible to easily obtain higher-level information. However, this feature also makes it easy for a malware sample to detect the monitoring through integrity checking. This approach is used by CWSandbox.

Web Malware Analysis Web malware analysis is usually performed through a component located in the operating system or in the browser. In both cases, the monitoring system verifies whether the analyzed Web page contains malicious codes or not and also provides some information about the captured behavior. The three most used systems are 1.JSand, 2.PhoneyC 3.Capture-HPC,

Jsand JSand is a low-interaction honeyclient that uses a browser emulator to obtain the behavior of the JavaScript code present in a Web page. Then, the system extracts some features from the obtained behavior and applies machine learning techniques to classify the analyzed page as benign, suspicious or malicious. Main problems related to this approach are its limitation to JavaScript-only analysis and its inability to detect attacks that steal information from the browser.

PhoneyC PhoneyC is another low-interaction honey client that uses a browser emulator to process the analyzed Web page and is able to analyze JavaScript and VBScript codes. Limitations----- same of JSand’s, except for the added VBScript analysis.

Capture-HPC Capture-HPC is a high-interaction honey client that uses a full-featured browser and a kernel driver inside a virtual environment to extract the system calls performed by the browser as it accesses the analyzed page. It performs a classification step (benign or malicious) based on these system calls. Capture-HPC can detect attacks independently of the script language that is used, but only those that generate anomalous system calls.

System Description

Collection Apart from manual insertion, malicious content is obtained by spam crawlers and malware collectors. The spam crawlers periodically fetch s from purposely created accounts on collaborating sites. When a crawler finds a link or an attached file, it sends such file to Selector

OS Module The OS module is based on a Windows kernel driver and contains a pool of emulated and real environments. The SSDT hooking technique is used to monitor system calls performed by the analyzed sample and its children-processes. The captured actions are related to file, registry, sync, process, memory, driver loading and network operations. When it detects the use of some packer that is known to cause problems in emulated environments or when the analysis in the emulated environment finishes with error, the sample is sent to analysis on a real system, i.e. neither emulated nor virtual

Parser The Parser processes the behavior extracted by the OS module and selects only relevant actions to feed into the analysis report. An action is considered relevant if it either causes a modification in the system state or incurs in sensitive data leakage.

Web Module The Web module performs its monitoring process through a Windows library (DLL - Dynamic Link Library) that hooks some functions from libraries that are required by the Internet Explorer browser. When one of the monitored functions is called, the execution flow is changed to a function inside the monitoring DLL. It then logs all the needed information and redirects the execution flow back to the original function. The actions that the Web module captures are then sent to the four detection modules available, each one responsible for one type of detection.

General Classifier Classification is performed in four steps: 1.Anomaly detection of JavaScript behavior, 2.Shellcode detection 3.JavaScript and 4.System call signatures matching

Anomaly Detection We extract eight features from the JavaScript behavior and use machine learning techniques to find malicious patterns. They are:  The number and size of string definitions and strings inserted into arrays  The number of dynamic code execution calls and DOM modifications  The size of dynamically executed code  The number and size of possible shellcodes  The number of ActiveX objects created and the size of parameters passed to ActiveX functions.

Anomaly Detection(Contd) We use the Weka framework —the meta classifier Threshold Selection and the Random Forest classifier algorithm—to generate the anomaly detection classifier. This classifier, when used as a detection mechanism, can detect most of the attacks performed using the JavaScript language, even when the attack is not successful

Shellcode Detection The results of JavaScript string operations, the strings embedded in array objects and the strings returned from decoding operations are verified by their mime-type. The ones with a mime-type that does not contain the string text are considered possible shellcodes. These possible shellcodes are verified using the libemu tool ( and, if positive, the page is considered malicious.

JavaScript Signatures JavaScript signatures are sets of regular expressions used to detect certain JavaScript operations and parameters. These signatures are used to detect known patterns of malicious actions. In the current version of our system they are only used to detect information stealing attacks, such as navigation history information

System call signatures System call signatures are used to match actions that should not be performed without the user’s consent. As the dynamic analysis is performed in an automated way, without any human interaction, all system calls that should require user confirmation are considered malicious. These signatures are formed by regular expressions that ultimately define whether a system call is considered allowed or not. This verification can detect successful attacks that result in malware installation, regardless of the script language used to carry the attack.

Tests and results 1.OS Module test For our tests we used 1,744 malware samples obtained from the collection mechanisms described earlier. We normalized the reports to a common format so we could compare them, as each system formats its results in a different way. Our module was compared to Anubis and CWSandbox. We chose those systems because: 1.Use different monitoring techniques, 2.Have a public submission interface 3.Among the most used and referenced systems for dynamic malware analysis.

OS Malware test(contd)

Web Malware Tests We compared our Web module to three of the most widely used and publicly available honeyclients—JSand, PhoneyC and Capture-HPC— so as to demonstrate its effectiveness. In this test, we used 1,400 malicious HTML files and 6,781 benign URLs. We obtained the malicious files from domains hosting Web malware lists and from the VxHeaven database. The benign URLs were obtained from the Alexa ( site. Furthermore, we sent the benign URLs to Google’s safe browsing service and those reported as malicious were removed from the dataset.

Web Malware Tests(Contd) We divided the malicious and benign datasets into “training” and “testing”. The ten-fold cross-validation of the training dataset resulted in 1.08% of false- positives (benign samples classified as malicious) and 22.83% of false-negatives (malicious samples classified as benign). As it is hard to evaluate the systems based solely on the false-positive, false- negative, true-positive and true-negative rates, we also calculated the harmonic mean for quality measuring purposes.

Web Malware Tests(Contd) Harmonic Mean considers ---precision and recall of the results. Precision Recall Harmonic Mean

Conclusion And Future Work The analysis of Web and OS malware is very important to a better understanding of these threats and to the development of counter-measures. In this article, we proposed a framework that is able to analyze both traditional OS-based and Web based malware, whose test results show the effectiveness of the approach against existing systems over the same malware samples. We plan to expand the Web module to monitor other script languages, such as VBScript, and also to expand the OS module to analyze rootkits in a more adequate fashion.