Skip to main content
QUICK REVIEW

[論文レビュー] Improving Web Content Blocking With Event-Loop-Turn Granularity JavaScript Signatures

Quan Chen, Peter Snyder|arXiv (Cornell University)|May 25, 2020
Advanced Malware Detection Techniques参考文献 22被引用数 5
ひとこと要約

本稿では、URLベースのコンテンツブロッカーの限界を克服するため、JavaScriptの動作の細粒度な、イベントループターン単位の署名を生成する新規システムを提案する。BlinkおよびV8ランタイムをインターセプトすることで、既存のフィルターリストがURLの変更やコードバンドリングなどの回避技術により検出できないにもかかわらず、3,589件の以前に発見されていなかった悪意あるコードを内包するスクリプトを同定した。これは12.48%のウェブサイトに影響を及ぼした。

ABSTRACT

Content blocking is an important part of a performant, user-serving, privacy respecting web. Most content blockers build trust labels over URLs. While useful, this approach has well understood shortcomings. Attackers may avoid detection by changing URLs or domains, bundling unwanted code with benign code, or inlining code in pages. The common flaw in existing approaches is that they evaluate code based on its delivery mechanism, not its behavior. In this work we address this problem with a system for generating signatures of the privacy-and-security relevant behavior of executed JavaScript. Our system considers script behavior during each turn on the JavaScript event loop. Focusing on event loop turns allows us to build signatures that are robust against code obfuscation, code bundling, URL modification, and other common evasions, as well as handle unique aspects of web applications. This work makes the following contributions to improving content blocking: First, implement a novel system to build per-event-loop-turn signatures of JavaScript code by instrumenting the Blink and V8 runtimes. Second, we apply these signatures to measure filter list evasion, by using EasyList and EasyPrivacy as ground truth and finding other code that behaves identically. We build ~2m signatures of privacy-and-security behaviors from 11,212 unique scripts blocked by filter lists, and find 3,589 more unique scripts including the same harmful code, affecting 12.48% of websites measured. Third, we taxonomize common filter list evasion techniques. Finally, we present defenses; filter list additions where possible, and a proposed, signature based system in other cases. We share the implementation of our signature-generation system, the dataset from applying our system to the Alexa 100K, and 586 AdBlock Plus compatible filter list rules to block instances of currently blocked code being moved to new URLs.

研究の動機と目的

  • URL やドメインに基づくブロッキングに依存する現在のコンテンツブロッカーの根本的欠陥に対処する。これは、スクリプトがオブスクリュケートされたりバンドルされたり、インライン化された場合に悪意あるコードを検出できないことによる。
  • 特に、EasyList や EasyPrivacy のような人気フィルターリストがどれほど多くの悪意あるスクリプトを逃しているかを特定し、Webコンテンツブロッキングにおける回避の実態を測定する。
  • コードのオブスクリュケーション、URLの変更、コードバンドリングといった一般的な回避技術に対して耐性を持つ、動作ベースの検出メカニズムを開発する。
  • 新たなフィルターリストルールの生成と、将来のコンテンツブロッカー向けの署名ベースの検出システムの提言を通じて、実用的な防御を提供する。
  • 配信メカニズムではなく実行時動作に焦点を当てることで、Web互換性がありプライバシーに配慮したコンテンツブロッキングの基盤を構築する。

提案手法

  • ChromiumのBlinkレンダリングエンジンおよびV8 JavaScriptエンジンをインターセプトし、JavaScript実行の深層的かつ帯域外のランタイムインストルメンテーションを実施する。
  • 各JavaScriptイベントループターン単位で、DOM、API(例:Date、cookie、ストレージ)およびネットワークリクエストとの相互作用を捉える、動作署名を抽出する。
  • 各イベントループターン中の観察された動作のシーケンスからグラフベースの署名を構築し、一意性を保ちつつ誤検出を減らすために最小グラフサイズを設定する。
  • EasyListおよびEasyPrivacyからの既知の悪意あるスクリプトを基準として、署名生成プロセスのトレーニングおよび検証に使用する。
  • 生成された署名をAlexa 100Kに適用し、異なるURLを持つが同一の悪意ある動作を示す以前に検出されていなかったスクリプトを同定する。
  • 回避技術に対抗するための新しいフィルターリストルールおよび署名ベースの検出システムの提案・実装を行う。

実験結果

リサーチクエスチョン

  • RQ1悪意あるスクリプトがURLを変更したり、コードをバンドルしたり、インライン化したりする場合、現在のURLベースのコンテンツブロッカーはどの程度回避可能か?
  • RQ2イベントループターンレベルの動作分析は、多様なWebアプリケーションにおいてプライバシーおよびセキュリティを損なうJavaScript動作をどれほど効果的に特定できるか?
  • RQ3トラッカーが既存のコンテンツブロッカーを回避するために使用する主な技術は何か? また、それらはどの程度頻発するか?
  • RQ4イベントループターンレベルで生成された動作ベースの署名は、従来のフィルターリストが見逃した既知の悪意あるスクリプトを検出できるか?
  • RQ5これらの署名を活用して、サイトの機能を損なわず、Webプライバシーとセキュリティを向上させる実用的防御を構築できるか?

主な発見

  • EasyListおよびEasyPrivacyがブロックした11,212件のスクリプトから、1,995,444個のユニークな署名が生成され、プライバシーおよびセキュリティ関連の動作を捉えた。
  • 既存のフィルターリストが見逃していた、既知の悪意あるコードを内包するスクリプトが合計3,589件検出され、Alexa 100Kの12.48%のウェブサイトに影響を及えた。
  • 最も一般的な回避技術には、URLの変更(例:一時的URL)、良性の機能を併せ持つコードバンドリング、およびHTML内へのスクリプトのインライン化がある。
  • イベントループターンレベルの署名の高い粒度にもかかわらず、良性と悪意あるスクリプトの動作が重複するため、誤検出の可能性は残っているが、最小グラフサイズのしきい値によってこれを緩和している。
  • 本研究では、現在のコンテンツブロッカーが配信メカニズムに基づいた検出に依存しているため、悪意あるスクリプトの大部分が見逃されていることが判明し、動作ベースの代替手法の必要性が浮き彫りになった。
  • 本研究の結果を実用的応用するために、586個のAdBlock Plus互換のフィルターリストルールを公開し、新たなURLにホスティングされた既知の悪意あるスクリプトをブロック可能にした。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。