Chromium
  • LANGS
  • README
  • en
    • See Also: Source code in design document
    • SUMMARY
    • Building
      • GYP_the_build_script_generation_tool.
      • IDL_build
      • IDL_compiler
    • Feature-Specific
      • Accessibility
      • Auto-Throttled_Screen_Capture_and_Mirroring
      • Browser_Window
      • Chromium_Print_Proxy
      • Constrained_Popup_Windows
      • DNS_Prefetching
      • Desktop_Notifications
      • DirectWrite_Font_Cache_for_Chrome_on_Windows
      • Embedding_Flash_Fullscreen_in_the_Browser_Window
      • Extensions_Design_documents_and_proposed_APIs.
      • Find_Bar
      • Form_Autofill
      • Geolocation
      • IDN_in_Google_Chrome
      • IndexedDB__early_draft_
      • Info_Bars
      • Installer
      • Instant
      • Isolated_Sites
      • Linux_Resources_and_Localized_Strings
      • Media_Router_&_Web_Presentation_API
      • Memory_Usage_Backgrounder
      • Mouse_Lock
      • Omnibox_IME_Coordination
      • Ozone_Porting_Abstraction
      • Password_Generation
      • Pepper_plugin_implementation
      • Plugin_Power_Saver
      • Preferences
      • Prerender
      • Print_Preview
      • Printing
      • Rect-based_event_targeting_in_views
      • Replace_the_modal_cookie_prompt
      • SafeSearch
      • Sane_Time
      • Secure_Web_Proxy
      • Service_Processes
      • Site_Isolation
      • Software_Updates_Courgette
      • Sync
      • Tab_Helpers
      • Tab_to_search
      • Tabtastic2_Requirements
      • Temporary_downloads
      • TimeTicks
      • Time_Sources
      • UI_Localization
      • UI_Mirroring_Infrastructure
      • User_scripts
      • Video
      • WebNavigation_API_internals
      • WebSocket
      • Web_MIDI
      • aboutconflicts
      • HistoryQuickProvider
        • JNI_Bindings
    • General Architecture
      • Conventions and patterns for multi-platform development
      • Web Security Research
      • HW Video Acceleration in Chrom{e,ium}{,OS}
      • Inter-process Communication (IPC)
      • JavaScript_engine
      • Multi-process Resource Loading(need update)
      • OSX Sandboxing Design
      • Plugin Architecture
      • Process Models
      • Profile Architecture
      • Safe Browsing
      • Sandbox
      • Sandbox FAQ
      • The Security Architecture of the Chromium Browser
      • Startup
      • Threading
    • Graphics
      • ANGLE_architecture_presentation
      • Compositing_in_Blink_WebCore
      • Compositor_Thread_Architecture
      • GPU_Accelerated_Compositing_in_Chrome
      • GPU_Command_Buffer
      • GPU_Feature_Status_Dashboard
      • GPU_Program_Caching
      • Graphics_and_Skia
      • Impl-side_Painting
      • Overview
      • RenderText_and_Chrome_UI_text_drawing
      • Rendering_Architecture_Diagrams
      • Rendering_Benchmarks
      • Video_Playback_and_Compositor
    • Input
      • chromium_input
    • Network_stack
      • Cookie_storage_and_retrieval
      • Crypto
      • Debugging_network_proxy_problems
      • Disk_Cache
      • HTTP_Authentication
      • HTTP_Cache
      • Make_the_web_faster_with_SPDY_pages
      • Network_Stack_Objectives
      • Out_of_Process_Proxy_Resolving_Draft_[unimplemented]
      • Overview
      • Proxy_Settings_and_Fallback
      • View_network_internals_tool
      • _the_web_even_faster_with_QUIC_pages
    • OS-Specific
      • Android
        • Chrome_OS
        • Java Resources on Android
        • WebView_code_organization
      • Chrome_OS_design_documents_section.
        • Mac_OS_X
      • AppleScript_Support
        • BrowserWindowController_Object_Ownership
        • Confirm_to_Quit
        • Mac_App_Mode__Draft_
        • Mac_Fullscreen_Mode__Draft_
        • Mac_NPAPI_Plugin_Hosting
        • Mac_specific_notes_on_UI_Localization
        • Menus_Hotkeys_&_Command_Dispatch
        • Notes_from_meeting_on_IOSurface_usage_and_semantics
        • OS_X_Interprocess_Communication__Obsolete_
        • Password_Manager_Keychain_Integration
        • Sandboxing_Design
        • Tab_Strip_Design__Includes_tab_layout_and_tab_dragging_
        • Wrench_Menu_Buttons
        • Omnibox_Autocomplete
    • Other
      • 64-bit_Support
      • Browser_Components___Layered_Components
      • Closure_Compiling_Chrome_Code
      • Design_docs_that_still_need_to_be_written__wiki_
      • In_progress_refactoring_of_key_browser-process_architecture_for_porting
      • Network_Experiments
      • Transitioning_InlineBoxes_from_floats_to_LayoutUnits
      • content_module___content_API
    • Rendering
      • Blink_Coordinate_Spaces
      • Multi-column_layout
      • Style_Invalidation_in_Blink
    • Security
      • Chaps_Technical_Design
      • Encrypted_Partition_Recovery
      • Per-page_Suborigins
      • Protecting_Cached_User_Data
      • Security_Overview
      • System_Hardening
      • TPM_Usage
    • Start_Here_Background_Reading
      • How Chromium Displays Web Pages
      • Multi-process Architecture
    • Testing
      • Generic_theme_for_Test_Shell
      • Layout_test_results_dashboard
      • Moving_LayoutTests_fully_upstream
    • UI_Framework
      • Aura
      • NativeControls
      • UI_Development_Practices
      • Views_framework
      • views_Windowing_system
  • zh
    • See Also: 源代码中的设计文档
    • SUMMARY
    • Building
      • GYP_the_build_script_generation_tool.
      • IDL_build
      • IDL_compiler
    • Feature-Specific
      • Accessibility
      • Auto-Throttled_Screen_Capture_and_Mirroring
      • Browser_Window
      • Chromium_Print_Proxy
      • Constrained_Popup_Windows
      • DNS_Prefetching
      • Desktop_Notifications
      • DirectWrite_Font_Cache_for_Chrome_on_Windows
      • Embedding_Flash_Fullscreen_in_the_Browser_Window
      • Extensions_Design_documents_and_proposed_APIs.
      • Find_Bar
      • Form_Autofill
      • Geolocation
      • IDN_in_Google_Chrome
      • IndexedDB__early_draft_
      • Info_Bars
      • Installer
      • Instant
      • Isolated_Sites
      • Linux_Resources_and_Localized_Strings
      • Media_Router_&_Web_Presentation_API
      • Memory_Usage_Backgrounder
      • Mouse_Lock
      • Omnibox_IME_Coordination
      • Ozone_Porting_Abstraction
      • Password_Generation
      • Pepper_plugin_implementation
      • Plugin_Power_Saver
      • Preferences
      • Prerender
      • Print_Preview
      • Printing
      • Rect-based_event_targeting_in_views
      • Replace_the_modal_cookie_prompt
      • SafeSearch
      • Sane_Time
      • Secure_Web_Proxy
      • Service_Processes
      • Site_Isolation
      • Software_Updates_Courgette
      • Sync
      • Tab_Helpers
      • Tab_to_search
      • Tabtastic2_Requirements
      • Temporary_downloads
      • TimeTicks
      • Time_Sources
      • UI_Localization
      • UI_Mirroring_Infrastructure
      • User_scripts
      • Video
      • WebNavigation_API_internals
      • WebSocket
      • Web_MIDI
      • aboutconflicts
      • HistoryQuickProvider
        • Chrome_OS_design_documents_section.
    • General_Architecture
      • 跨平台开发的约定与模式
      • Web安全研究
      • Chrom{e,ium}{,OS}中的硬件视频加速
      • 跨进程通信 (IPC)
      • JavaScript_engine
      • 多进程资源加载(需要更新)
      • OS X 沙箱设计
      • 插件架构
      • 进程模型
      • Profile架构
      • 安全浏览
      • 沙箱
      • 沙箱FAQ
      • Chromium浏览器安全架构
      • 启动
      • 线程
    • Graphics
      • ANGLE_architecture_presentation
      • Compositing_in_Blink_WebCore
      • Compositor_Thread_Architecture
      • GPU_Accelerated_Compositing_in_Chrome
      • GPU_Command_Buffer
      • GPU_Feature_Status_Dashboard
      • GPU_Program_Caching
      • Graphics_and_Skia
      • Impl-side_Painting
      • Overview
      • RenderText_and_Chrome_UI_text_drawing
      • Rendering_Architecture_Diagrams
      • Rendering_Benchmarks
      • Video_Playback_and_Compositor
    • Input
      • chromium_input
    • Network_stack
      • Cookie_storage_and_retrieval
      • Crypto
      • Debugging_network_proxy_problems
      • Disk_Cache
      • HTTP_Authentication
      • HTTP_Cache
      • Make_the_web_faster_with_SPDY_pages
      • Network_Stack_Objectives
      • Out_of_Process_Proxy_Resolving_Draft_[unimplemented]
      • Overview
      • Proxy_Settings_and_Fallback
      • View_network_internals_tool
      • _the_web_even_faster_with_QUIC_pages
    • OS-Specific
      • Android
        • JNI on Chromium for Android
        • Android上的Java资源
        • Android WebView代码组织
      • Chrome_OS
        • Mac_OS_X
      • AppleScript_Support
        • BrowserWindowController_Object_Ownership
        • Confirm_to_Quit
        • Mac_App_Mode__Draft_
        • Mac_Fullscreen_Mode__Draft_
        • Mac_NPAPI_Plugin_Hosting
        • Mac_specific_notes_on_UI_Localization
        • Menus_Hotkeys_&_Command_Dispatch
        • Notes_from_meeting_on_IOSurface_usage_and_semantics
        • OS_X_Interprocess_Communication__Obsolete_
        • Password_Manager_Keychain_Integration
        • Sandboxing_Design
        • Tab_Strip_Design__Includes_tab_layout_and_tab_dragging_
        • Wrench_Menu_Buttons
        • Wrench_Menu_Buttons
    • Other
      • 64-bit_Support
      • Browser_Components___Layered_Components
      • Closure_Compiling_Chrome_Code
      • Design_docs_that_still_need_to_be_written__wiki_
      • In_progress_refactoring_of_key_browser-process_architecture_for_porting
      • Network_Experiments
      • Transitioning_InlineBoxes_from_floats_to_LayoutUnits
      • content_module___content_API
    • Rendering
      • Blink_Coordinate_Spaces
      • Multi-column_layout
      • Style_Invalidation_in_Blink
    • Security
      • Chaps_Technical_Design
      • Encrypted_Partition_Recovery
      • Per-page_Suborigins
      • Protecting_Cached_User_Data
      • Security_Overview
      • System_Hardening
      • TPM_Usage
    • Start_Here_Background_Reading
      • Blink如何工作
      • Chromium如何展示网页
      • 多进程架构
    • Generic_theme_for_Test_Shell
      • Layout_test_results_dashboard
      • Moving_LayoutTests_fully_upstream
      • UI_Framework
    • Aura
      • NativeControls
      • UI_Development_Practices
      • Views_framework
      • views_Windowing_system
      • Omnibox_Autocomplete
Powered by GitBook
On this page
  1. en
  2. General Architecture

Web Security Research

PreviousConventions and patterns for multi-platform developmentNextHW Video Acceleration in Chrom{e,ium}{,OS}

Last updated 1 year ago

CtrlK
  • Protecting Browsers from Extension Vulnerabilities
  • Abstract

Protecting Browsers from Extension Vulnerabilities

Protecting Browsers from Extension Vulnerabilities

Adam Barth, Adrienne Porter Felt, Prateek Saxena, and Aaron Boodman

EECS Department. University of California, Berkeley. Technical Report No. UCB/EECS-2009-185

Abstract

Browser extensions are remarkably popular, with one in three Firefox users running at least one extension. Although well-intentioned, extension developers are often not security experts and write buggy code that can be exploited by malicious web site operators. In the Firefox extension system, these exploits are dangerous because extensions run with the user's full privileges and can read and write arbitrary files and launch new processes. In this paper, we analyze 25 popular Firefox extensions and find that 88% of these extensions need less than the full set of available privileges. Additionally, we find that 76% of these extensions use unnecessarily powerful APIs, making it difficult to reduce their privileges. We propose a new browser extension system that improves security by using least privilege, privilege separation, and strong isolation. Our system limits the misdeeds an attacker can perform through an extension vulnerability. Our design has been adopted as the Google Chrome extension system.

An extended version of this paper will appear at Proc. of the 17th Network and Distributed System Security Symposium (NDSS 2010).

More Berkeley web security research >>