Hulk: Eliciting Malicious Behavior in Browser Extensions

Slides:



Advertisements
Similar presentations
Providing protection from potential security threats that exist for any internet-connected computer is termed e- security. It is important to be able to.
Advertisements

The Internet and the Web
What is code injection? Code injection is the exploitation of a computer bug that is caused by processing invalid data. Code injection can be used by.
WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
Georgios Kontaxis, Michalis Polychronakis Angelos D. Keromytis, Evangelos P. Markatos Siddhant Ujjain (2009cs10219) Deepak Sharma (2009cs10185)
An Evaluation of the Google Chrome Extension Security Architecture
By Philipp Vogt, Florian Nentwich, Nenad Jovanovic, Engin Kirda, Christopher Kruegel, and Giovanni Vigna Network and Distributed System Security(NDSS ‘07)
Mitigating Malware Collin Jackson CS142 – Winter 2009.
A Crawler-based Study of Spyware on the Web Author: Alexander Moshchuk, Tanya Bragin, Steven D.Gribble, Henry M.Levy Presented At: NDSS, 2006 Prepared.
The Most Dangerous Code in the Browser Stefan Heule, Devon Rifkin, Alejandro Russo, Deian Stefan Stanford University, Chalmers University of Technology.
LittleOrange Internet Security an Endpoint Security Appliance.
1 Web Content Delivery Reading: Section and COS 461: Computer Networks Spring 2007 (MW 1:30-2:50 in Friend 004) Ioannis Avramopoulos Instructor:
Leveraging User Interactions for In-Depth Testing of Web Application Sean McAllister Secure System Lab, Technical University Vienna, Austria Engin Kirda.
Norman SecureSurf Protect your users when surfing the Internet.
D ATABASE S ECURITY Proposed by Abdulrahman Aldekhelallah University of Scranton – CS521 Spring2015.
Presented by…. Group 2 1. Programming language 2Introduction.
Presentation by Kathleen Stoeckle All Your iFRAMEs Point to Us 17th USENIX Security Symposium (Security'08), San Jose, CA, 2008 Google Technical Report.
11 The Ghost In The Browser Analysis of Web-based Malware Reporter: 林佳宜 Advisor: Chun-Ying Huang /3/29.
1 Web Developer & Design Foundations with XHTML Chapter 6 Key Concepts.
Computer Concepts 2014 Chapter 7 The Web and .
Yin, H., Song, D., Egele, M., Kruegel, C., Kirda, E. In Proc. of the 14th ACM conference on Computer and communications security, October /9/31.
Niels Provos and Panayiotis Mavrommatis Google Google Inc. Moheeb Abu Rajab and Fabian Monrose Johns Hopkins University 17 th USENIX Security Symposium.
1 All Your iFRAMEs Point to Us Mike Burry. 2 Drive-by downloads Malicious code (typically Javascript) Downloaded without user interaction (automatic),
All Your iFRAMEs Point to Us Niels provos,Panayiotis mavrommatis - Google Inc Moheeb Abu Rajab, Fabian Monrose - Johns Hopkins University Google Technical.
JavaScript, Fourth Edition
A Crawler-based Study of Spyware on the Web A.Moshchuk, T.Bragin, D.Gribble, M.Levy NDSS, 2006 * Presented by Justin Miller on 3/6/07.
Behavior-based Spyware Detection By Engin Kirda and Christopher Kruegel Secure Systems Lab Technical University Vienna Greg Banks, Giovanni Vigna, and.
CNIT 133 Interactive Web Pags – JavaScript and AJAX JavaScript Environment.
Lecture slides prepared for “Computer Security: Principles and Practice”, 3/e, by William Stallings and Lawrie Brown, Chapter 5 “Database and Cloud Security”.
A Crawler-based Study of Spyware on the Web Authors: Alexander Moshchuk, Tanya Bragin, Steven D.Gribble, and Henry M. Levy University of Washington 13.
Course ILT Internet/intranet support Unit objectives Use the Internet Information Services snap-in to manage IIS, Web sites, virtual directories, and WebDAV.
Cloak and Dagger: Dynamics of Web Search Cloaking David Y. Wang, Stefan Savage, and Geoffrey M. Voelker University of California, San Diego 左昌國 Seminar.
Security Scanners Mark Shtern. Popular attack targets Web – Web platform – Web application Windows OS Mac OS Linux OS Smartphone.
CSCE 201 Web Browser Security Fall CSCE Farkas2 Web Evolution Web Evolution Past: Human usage – HTTP – Static Web pages (HTML) Current: Human.
Defending Browsers against Drive-by Downloads:Mitigating Heap-Spraying Code Injection Attacks Authors:Manuel Egele, Peter Wurzinger, Christopher Kruegel,
All Your iFRAMEs Point to Us Cheng Wei. Acknowledgement This presentation is extended and modified from The presentation by Bruno Virlet All Your iFRAMEs.
Module 5: Configuring Internet Explorer and Supporting Applications.
Securing Internet Access Designing an Internet Acceptable Use Policy Securing Access to the Internet by Private Network Users Restricting Access to Content.
Christopher Kruegel University of California Engin Kirda Institute Eurecom Clemens Kolbitsch Thorsten Holz Secure Systems Lab Vienna University of Technology.
Georgios Kontaxis‡, Michalis Polychronakis‡, Angelos D. Keromytis‡, and Evangelos P.Markatos* ‡Columbia University and *FORTH-ICS USENIX-SEC (August, 2012)
By Gianluca Stringhini, Christopher Kruegel and Giovanni Vigna Presented By Awrad Mohammed Ali 1.
Module 7: Advanced Application and Web Filtering.
Sid Stamm, Zulfikar Ramzan and Markus Jokobsson Erkang Xu.
Protecting Browsers from Extension Vulnerabilities Paper by: Adam Barth, Adrienne Porter Felt, Prateek Saxena at University of California, Berkeley and.
Safe browsing - is an ad-blocker extension enough? AIMILIOS TSOUVELEKAKIS IT-DI-CSO IT LIGHTNING TALK – 12/
Xinyu Xing, Wei Meng, Dan Doozan, Georgia Institute of Technology Alex C. Snoeren, UC San Diego Nick Feamster, and Wenke Lee, Georgia Institute of Technology.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
27.1 Chapter 27 WWW and HTTP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Trends and Lessons from Three Years Fighting Malicious Extensions Nav Jagpal, Eric Dingle, Jean-Philippe, Gravel Panayiotis, Mavrommatis Niels, Provos.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Web Browsing *TAKE NOTES*. Millions of people browse the Web every day for research, shopping, job duties and entertainment. Installing a web browser.
SpyProxy SpyProxy Execution-based Detection of MaliciousWeb Content Execution-based Detection of MaliciousWeb Content Hongjin, Lee.
Introduction Web analysis includes the study of users’ behavior on the web Traffic analysis – Usage analysis Behavior at particular website or across.
Adware and Browser Hijacker – Symptoms and Preventions /killmalware /u/2/b/ /alexwaston14/viru s-removal/ /channel/UC90JNmv0 nAvomcLim5bUmnA.
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,
Unit 2 Personal Cyber Security and Social Engineering Part 2.
Powerpoint presentation on Drive-by download attack -By Yogita Goyal.
What mobile ads know about mobile users
Database and Cloud Security
BUILD SECURE PRODUCTS AND SERVICES
Essential tools for implementing and testing websites
PIWIK JUNIOR TIDAL ASSOCIATE PROF., WEB SERVICES & MULTIMEDIA LIBRARIAN NEW YORK CITY COLLEGE OF TECHNOLOGY, CUNY.
Applied Component I Unit II Introduction of java-script
Ad-blocker circumvention System
Database Driven Websites
Recitation on AdFisher
Exploring DOM-Based Cross Site Attacks
Web Application Development Using PHP
Cross Site Request Forgery (CSRF)
Presentation transcript:

Hulk: Eliciting Malicious Behavior in Browser Extensions Alexandros Kapravelos◊, Chris Grier†*, Neha Chachra‡, Christopher Kruegel◊, Giovanni Vigna◊, Vern Paxson†* ◊UC Santa Barbara, †UC Berkeley, ‡UC San Diego *International Computer Science Institute 23rd USENIX Security Symposium (Aug., 2014)

Outline Introduction Background Architecture Results 2014/5/19 Outline Introduction Background Architecture Results Profiting from maliciousness Recommendations Related work

2014/5/19 Introduction All major web browsers today support broad extension ecosystems that allow third parties to install a wide range of modified behavior or additional functionality. Some browsers have online web stores to distribute extensions to users. In this paper, we examine extensions for Google Chrome that are designed with malicious intent.

2014/5/19 Background Google Chrome supports extensions written in JavaScript and HTML (distributed as a single *.crx zip file). Each extension contains a (mandatory) manifest that describes the permissions the extension uses and the list of resources that the browser should load. The permission system determines which sites an extension can access, the allowed API calls, and the use of binary plugins.

Installing extensions 2014/5/19 Installing extensions Extensions can be installed via the official Chrome web store, by user manually, or sideloaded by third-party programs. Chrome version 25 (Feb.,2013) included changes to prevent silent installation of Chrome extensions, requiring user confirmation. Chrome version 35 (May, 2014) took further steps to prevent sideloading by requiring all installed extensions to be hosted in the Chrome Web Store.

Extension permissions 2014/5/19 Extension permissions Chrome requires extensions to list the permissions needed to access the different parts of the extension API. webRequest: Allows the extension to "observe and analyze traffic and to intercept, block, or modify requests in- flight"

Extension permissions (cont.) 2014/5/19 Extension permissions (cont.) content_scripts: Indicates JavaScript files that will run inside of the web page. background: Allows extensions to run scripts in a background page. content_security_policy: Extensions can use the same syntax to express their CSP in the manifest file. For example, an extension request- ing webRequest permissions may use the background script to attach a listener to read outgoing requests using the chrome.webRequest.onBeforeRequest. addListener() call.

2014/5/19 Architecture Hulk dynamically loads extensions in a monitored environment and observes the interaction of extensions with the loaded web pages. Using a set of heuristics to identify potentially dangerous behavior, it labels extensions as malicious, suspicious, or benign. Automatically install extensions and instrument activity during web browsing using an instrumented browser. 啟發法

2014/5/19 URL extraction Look for URLs in the manifest, and search for URLs in the source code as well. Also, visit a set of popular websites which may targeted by the malicious plugin.

2014/5/19 HoneyPages Some extensions activate based on the content of a web page instead of the URL. HoneyPages contain JavaScript functions that overload built-in functions that query the DOM tree of the web page. If the extension queries an iframe DOM element with the intention to alter it, then the HoneyPage will create an iframe element, inject it in the DOM tree, and return it to the extension.

Event-based execution 2014/5/19 Event-based execution HoneyPages will not trigger callbacks for network events that require special properties, such as a specific URL or HTTP header. By invoking all event callbacks that an extension registers in the chrome.webRequest API with mock event objects and pointing to a background HoneyPage, we can monitor changes extensions attempts to make.

2014/5/19 Monitoring hooks An extension can use the Chrome extension API to perform actions not available to JavaScript running in a web page. We leverage the current logging infrastructure offered by Chrome for monitoring the activity of extensions.

2014/5/19 Content scripts By intercepting all additional code introduced by the extension in the context of the visited page, we can monitor if the extension fetch remote scripts. disables static analysis

Network logging Request URLs may be computed in at runtime. 2014/5/19 Network logging Request URLs may be computed in at runtime. We use a transparent proxy that intercepts all browser HTTP and DNS traffic to log the requests made during extension execution.

Detecting malicious behavior 2014/5/19 Detecting malicious behavior Extension API: Uninstalling other extensions Preventing uninstallation of the current extension (blocking chrome://extensions) Manipulating HTTP headers by eemoving security-related HTTP header, such as Content-Security-Policy or X-Frame-Options is classified as malicious. To prevent uninstallation, malicious extensions interfere with tabs that point to the extension configuration page, chrome://extensions, either by replacing the URL with a different one Cleaners

Detecting malicious behavior 2014/5/19 Detecting malicious behavior Interaction with visited pages: Malicious extensions may perform sensitive information theft using JavaScript. (Example: JavaScript keylogger) Injection of remote JavaScript content is classified as suspicious.

Network level Request errors (suspicious). 2014/5/19 Network level Request errors (suspicious). May be used for drive-by downloads. Modification of HTTP requests (malicious). Common seen on shopping-related extensions. Detect header modification by comparing packets received by the OS and by the browser.

Injected Content Analysis 2014/5/19 Injected Content Analysis The injected script runs in the context of the visited page and thus has full access to its DOM tree. By using HoneyPages, we can understand the injected scripts’ intentions. For example, if the injected code looks for a form field with the name “password,” it is classified as malicious.

Results Two sources of extensions: 2014/5/19 Results Two sources of extensions: The official Chrome Web Store (totaling 47,940 extensions) Extensions sideloaded by binaries. (392 unique extensions)(Anubis) Hulk labeled 130 as malicious and 4,712 as suspicious. Benign extensions do not differ significantly from permissions requested by malicious/suspicious ones.

2014/5/19 Results

2014/5/19 Permissions used Most commonly used permissions:

2014/5/19 Permissions used 18,313 extensions that use host permissions to restrict on which pages the extension can use the privileged chrome.* API. Extensions typically request broad permissions using wildcards in URL patterns.

2014/5/19

2014/5/19 API calls Top 15 Chrome Extension API calls made during by extensions during the experiments.

2014/5/19 Network level Using network activity alone we identified 24 malicious extensions. By removing HTTP response headers like Content- Security-Policy, the malicious extensions can inject JavaScript into pages For example, there are multiple variants of an active extension on the Chrome Web Store called “Cheat in your favorite games” (20k users).

2014/5/19 Extension management Several extensions on the Chrome Web Store prevent uninstallation. “HD Video Player” (7,173 users). “SmartScreen Video Plugin” (11,012 users). “No Tab Left Behind” (only 8 users)(false positive).

2014/5/19 Code injection More than 3,000 extensions that dynamically introduced remotely-retrieved code either through script injections or by evoking eval. An extension named “Bang5TaoShopping assistant” (5.6M users) injects code into every visited page.

Profiting from maliciousness 2014/5/19 Profiting from maliciousness Ad Manipulation: The addition of new ads as well as the replacement of existing ads or identifiers with the same size images. “SimilarSites Pro” (1.8M users), used obfuscated scripts to replace ads (728x90) in popular websites. Other similar scripts, all under a company called “SimilarGroup.”

Profiting from maliciousness 2014/5/19 Profiting from maliciousness Affiliate Fraud: Many major merchant web sites such as amazon.com, godaddy.com, and ebay.com run affiliate programs. Affiliate programs usually associate a cookie with the user’s browser. Malicious extensions do “cookie stuffing” — a technique that causes the user’s browser to visit the merchant URLs without the user clicking on affiliate URLs. “*Split Screen*” (52K users), sets the referrer header for requests. “Give as you Live” (11K users), however, is a charity campaign.

Profiting from maliciousness 2014/5/19 Profiting from maliciousness Information theft Online social network abuse: Extensions use existing authentication data to interact with online social networks. “WhasApp”, an extension spams Facebook and Tumblr, sideloaded by malware.

2014/5/19 Recommendations Extensions should not have the ability to manipulate browser configuration pages, such as chrome://extensions. Extensions should also not be allowed to uninstall other extensions. Extensions should not be allowed to remove HTTP security- related headers. Extensions should not have the ability to hook all keyboard events on a given site.

Limitations Hulk uses dynamic analysis for analyzing extensions. 2014/5/19 Limitations Hulk uses dynamic analysis for analyzing extensions. Can not address cloaking that loads different code based on the client’s location or time. Can not observe behavior that depends on specific targets. Hulk’s HoneyPages do not currently support multistep querying of DOM elements.

Related work Anubis, malware analysis for unknown binaries. 2014/5/19 Related work Anubis, malware analysis for unknown binaries. Further work has examined the success of the Chrome extension architecture at preventing damage and the ability of developers to correctly request privileges for their extensions. Current permission system does not prevent an overtly privileged malicious extension from executing malicious code. Adware vendor may purchase an extension, update it with malicious one.