Chrome Extensions: Threat Analysis and Countermeasures



Similar documents
Chrome Extensions: Threat Analysis and Countermeasures

Architectural Design Patterns. Design and Use Cases for OWASP. Wei Zhang & Marco Morana OWASP Cincinnati, U.S.A.

Thomas Röthlisberger IT Security Analyst

(WAPT) Web Application Penetration Testing

Where every interaction matters.

Detecting and Exploiting XSS with Xenotix XSS Exploit Framework

Method of control. Lots of ways to architect C&C: Star topology; hierarchical; peer-to-peer Encrypted/stealthy communication.

The Top Web Application Attacks: Are you vulnerable?

Cloudy with a chance of 0-day

Adobe Flash Player and Adobe AIR security

Hacking Web Apps. Detecting and Preventing Web Application Security Problems. Jorge Blanco Alcover. Mike Shema. Technical Editor SYNGRESS

ArcGIS Server Security Threats & Best Practices David Cordes Michael Young

Portal Instructions for Mac

Web Application Report

Criteria for web application security check. Version

Cloud-Security: Show-Stopper or Enabling Technology?

WEB SECURITY CONCERNS THAT WEB VULNERABILITY SCANNING CAN IDENTIFY

CSRF: Attack and Defense

How to break in. Tecniche avanzate di pen testing in ambito Web Application, Internal Network and Social Engineering

NaviCell Data Visualization Python API

A Server and Browser-Transparent CSRF Defense for Web 2.0 Applications. Slides by Connor Schnaith

RTC-Web Security Considerations

QuickBooks Online: Security & Infrastructure

Trend Micro Worry- Free Business Security st time setup Tips & Tricks

CougarTrack Troubleshooting - Internet Explorer 8

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet

The evolution of virtual endpoint security. Comparing vsentry with traditional endpoint virtualization security solutions

Windmill. Automated Testing for Web Applications

National Information Security Group The Top Web Application Hack Attacks. Danny Allan Director, Security Research

Web-Application Security

Attacks on WebView in the Android System

ADAM 5.5. System Requirements

Web application security

The Sandbox Roulette: are you ready to gamble? Rafal Wojtczuk Rahul Kashyap

Cyber Security Presentation Cyber Security Month Curtis McNay, Director of IT Security

Web Application Worms & Browser Insecurity

Sitefinity Security and Best Practices

Recent Advances in Web Application Security

Security challenges for internet technologies on mobile devices

Web Application Security. Vulnerabilities, Weakness and Countermeasures. Massimo Cotelli CISSP. Secure

Lectures 9 Advanced Operating Systems Fundamental Security. Computer Systems Administration TE2003

Studying Security Weaknesses of Android System

Relax Everybody: HTML5 Is Securer Than You Think

Security Testing with Selenium

Download and Launch Instructions for WLC Client App Program

NGASI Shared-Runtime Manager Administration and User Guide WebAppShowcase DBA NGASI

HTML5. Eoin Keary CTO BCC Risk Advisory.

Project Ideas. Semester long projects of medium scope. TAs presenting project ideas today. Students can submit their own ideas

SmartGrant Web Browser Set-Up

THE SMARTEST WAY TO PROTECT WEBSITES AND WEB APPS FROM ATTACKS

Remote Desktop Web Access. Using Remote Desktop Web Access

MacScan. MacScan User Guide. Detect, Isolate and Remove Spyware

An Evaluation of the Google Chrome Extension Security Architecture

Rational AppScan & Ounce Products

Threat Modeling. Frank Piessens ) KATHOLIEKE UNIVERSITEIT LEUVEN

Web Application Security

Cloud Security:Threats & Mitgations

Using Rackspace Webmail

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats

SpringCM Troubleshooting Guide for Salesforce

WEB ATTACKS AND COUNTERMEASURES

LMS 365 Learning Module Builder Add-in Installation Guide VERSION x

Next Generation Clickjacking

Unity web- player issues in browsers & in client system

Using Foundstone CookieDigger to Analyze Web Session Management

What is Web Security? Motivation

Web Application Vulnerability Testing with Nessus

Quick Start Guide Mobile Entrée 4

Get Started Guide - PC Tools Internet Security

Security Model for the Client-Side Web Application Environments

Workday Mobile Security FAQ

Creating Stronger, Safer, Web Facing Code. JPL IT Security Mary Rivera June 17, 2011

MatriXay WEB Application Vulnerability Scanner V Overview. (DAS- WEBScan ) The best WEB application assessment tool

1. Introduction. 2. Web Application. 3. Components. 4. Common Vulnerabilities. 5. Improving security in Web applications

Web Vulnerability Assessment Report

Checking Browser Settings, and Basic System Requirements for QuestionPoint

Arrow ECS University 2015 Radware Hybrid Cloud WAF Service. 9 Ottobre 2015

What do a banking Trojan, Chrome and a government mail server have in common? Analysis of a piece of Brazilian malware

Web applications. Web security: web basics. HTTP requests. URLs. GET request. Myrto Arapinis School of Informatics University of Edinburgh

Web Application Security

Streaming Media System Requirements and Troubleshooting Assistance

ZNetLive Malware Monitoring

CommonSpot Content Server Version 6.2 Release Notes

WebView addjavascriptinterface Remote Code Execution 23/09/2013

CS 155 Final Exam. CS 155: Spring 2013 June 11, 2013

Check list for web developers

Network that Know. Rasmus Andersen Lead Security Sales Specialist North & RESE

Botnet with Browser Extensions

OWASP Top Ten Tools and Tactics

Document Structure Integrity: A Robust Basis for Cross-Site Scripting Defense

Lepide Active Directory Self Service. Configuration Guide. Follow the simple steps given in this document to start working with

Reference Guide for WebCDM Application 2013 CEICData. All rights reserved.

Support Documentation

Web24 Supported Software

OWASP and OWASP Top 10 (2007 Update) OWASP. The OWASP Foundation. Dave Wichers. The OWASP Foundation. OWASP Conferences Chair

Transcription:

Chrome Extensions: Threat Analysis and Countermeasures Lei Liu, Xinwen Zhang*, Guanhua Yan*, and Songqing Chen George Mason University Huawei R&D Center Los Alamos NaIonal Laboratory NDSS 12 * Does not represent employer s opinion

AOacks via Extensions Extension is the vehicle for increasing aoacks BHO/add- on is the one of the techniques used by many spyware writers in IE. Kida et al 05, CERT 05, Egele 07, Li 07, Guha 11 Abusing of Firefox extensions has been widely recognized and studied in literature Defcon 09, Ter- Louw 08, Dhawan 09, Bandhakav 10, Djeric 10, Guha 11

AOacks via Chrome Extensions Buggy Chrome extensions have been idenified recently 27 out of 100 leak data hop://www.adrienneporterfelt.com/blog/?p=226_ Malicious extensions have appeared

Problem Statement Why Chrome extension? Chrome has built- in security model for browser architecture and extension Is current Chrome extension architecture good enough? ParIcularly with the consideraion of malicious extensions Easy to launch malicious extensions: It is a difficult task to saniize rapidly increasing extensions in Google Chrome Web Store with slow reviewing process Users are free to download/install extensions from many (known/unknown) host servers Strong incenive for aoackers, e.g., harvest sensiive content in web pages Modify web search content Google takes acions against malicious extension developers singup fee for developers Domain verificaion for developers Problem: Can we have a technical soluion? Or improvement of current permission model for beoer security with malware extension?

ContribuIons We demonstrate several aoacks with malicious Chrome extensions through experimental implementaion We do security analysis of the permission model of Chrome extension With the assumpion of malicious extensions We propose security enhanced extension permission model and enforcement mechanism Following the principles of least privilege and separaion of privilege in more strict way

Chrome Extension Architecture Web server Extension gallery installaion Localstorage Cookies JS DOM Render Content Script (java script) Isolated World Process boundary Extension (HTML/Javascript) Process boundary NaIve code

Chrome Extension Security Model Least Privilege Pre- defined permission set (e.g.,. To access web sites, browser tab, bookmarks, history, ) Each extension declares permissions required User authorizes permissions at installaion Ime Privilege SeparaIon Different permissions for different components of extension Content script can interact with web content, not browser modules Extension core has more privileges, but insulated from web pages Strong isolaion Same origin policy Each extension has unique origin Accessing other origins requires cross- site permissions Inject content script requires cross- site permissions Process- level isolaion: extension core runs in separated process from renderer and browser Within a renderer process, content script runs in isolated world from Javascript of web page

Chrome Extension Trust Model The main trust model of Chrome extension assumes trusted but buggy extensions But malicious web pages Therefore the security objecives are mainly for restricing web pages to access browser resources via extensions And confine the damage propagaion if possible

Experimental AOacks We develop a malicious extension as a bot from Chrome 7 to the latest does email spamming, DDoS, and phishing aoacks easily Through aoacking web pages Receive commands from bot master with built- in update mechanism of Chrome extension No security check for update

Email Spamming Upload update update site POST Webmail server POST Browser download update Extension manipulate

Password Sniffing

DDoS AOack

Security Analysis Trust Model: We assume browser kernel and pulgins are trustworthy Sandbox mechanism provided by OS works well NaIve code for extensions is sandboxed Web apps are trusted Threat model: malicious extensions Extension core Content scripts

Cross- site Forgery with Content Script Web server A content script injected into web page can arbitrary access the origin of the page All user credenials associated with the origin can be included in an HTTP req Since the origin of the content script is usually not that of the web page This is a Cross- site Forgery Req The email spamming aoack leverages this Default privileges of content script are not least Localstorage Cookies JS DOM Render Content Script (java script) Isolated World Process boundary Extension (HTML/Javascript)

Cross- site Requests with Extension Core Web server Cross- site reqs via content scripts through extension core The extension core can file cross- site HTTP reqs to muliple origins Cross- site permissions are authorized in order to inject content scripts. Default privileges of extension core are not least No differeniated permission of extension core and content script Inject scripts vs. cross- site reqs Render Content Script (java script) Isolated World Process boundary Extension (HTML/Javascript) Process boundary Content Script (java script) Isolated World

Cross- site Requests with Content Scripts Without cross- site permission, a running content script can only make HTTP reqs to the origin of the tab page Web server However, since content script has full privileges of DOM, it can file unlimited cross- site HTTP reqs to arbitrary origin, e.g., Insert iframe Load img Modify src of DOM objects With user credenials included in the req Loading of new DOM objects results in cross- site reqs DOM Privilege to access DOM is not least for content script Localstorage Cookies JS Render Content Script (java script) Isolated World Process boundary Extension (HTML/Javascript)

UndifferenIated Permissions Web server An extension may inject content script to many origins It does not need to file HTTP reqs to all origins But only to a dedicated one, e.g., a translaion web service When an origin is assigned to extension, all components get the full privileges Extension core can file cross- site reqs freely Content script can arbitrarily modify the DOM, and file cross- sit reqs Privilege separaion is not fine- grained enough DOM Localstorage Cookies JS Render Content Script (java script) Isolated World Process boundary Extension (HTML/Javascript) permissions : [ hop://*/ * ] 19 out of 30 most popular extensions have this type of over privileges

Security Enhanced Chrome Extensions Micro- privilege management DifferenIate DOM elements with sensiivity

Micro- privilege Management More fine- grained permission definiion and enforcement Fine- grained permission differeniaion for extension core and content script Permission specs are separated from different components Least default privileges Content script cannot introduce new origin to DOM no HTTP req to tab origin

Example Permission Spec Permissions for a translaion extension:

DifferenIaIng DOM Elements To further reduce possible sensiive data leakage by content script, DOM elements can be differeniated with sensiivity levels A web app developer can idenify sensiive informaion in a web page, e.g., High level data: only can flow to web origin Medium level: may flow to authorized origins Low level (default): can flow to any origin An extension developer can specify permissions accordingly: E.g., HIGH for username/pw, MEDIUM for other user info

ImplementaIon We have implemented the micro- privilege management and spec. For DOM sensiivity, we develop a helper extension (trusted): To idenify and label sensiive DOM elements Re- write DOM element properies According to configurable dicionary Chrome enforces permission check based on extension manifest Explicitly mark sensiive info by web app developer is not pracical right now

EvaluaIons

EvaluaIon We selected 30 most popular extensions from Google extension gallery 24 of them have granted network access 19 of them request higher privileges than necessary (hop://*/*) Our implementaion easily changes their spec to reduce privileges

EvaluaIon Our implementaion blocks all experimental aoacks on the bot extension.

Conclusions Demonstrated spamming, phishing, and DDoS aoacks with implemented Chrome extensions Analyzed the permissions model that causes these problems Proposed security enhanced permission model and enforcement for Chrome extension architecture Micro- privileged permission management and spec DifferenIate content script s permission with DOM sensiivity levels

Thank You! Q&A