Skip to main content
QUICK REVIEW

[論文レビュー] JSForce: A Forced Execution Engine for Malicious JavaScript Detection

Xunchao Hu, Yao Cheng|arXiv (Cornell University)|Jan 26, 2017
Advanced Malware Detection Techniques参考文献 23被引用数 6
ひとこと要約

JSForce は、入力や環境設定を必要とせず、完全なコードカバレッジを実現するとともに、悪意ある JavaScript の検出を強力に行うための強制実行エンジンである。実行時例外を許容するための型推論とパス探索を用いることで、悪意ある JavaScript の検出を 206.29% 向上させつつ、誤検出の増加は最小限に抑えられ、動的解析の有効性が顕著に向上する。

ABSTRACT

The drastic increase of JavaScript exploitation attacks has led to a strong interest in developing techniques to enable malicious JavaScript analysis. Existing analysis tech- niques fall into two general categories: static analysis and dynamic analysis. Static analysis tends to produce inaccurate results (both false positive and false negative) and is vulnerable to a wide series of obfuscation techniques. Thus, dynamic analysis is constantly gaining popularity for exposing the typical features of malicious JavaScript. However, existing dynamic analysis techniques possess limitations such as limited code coverage and incomplete environment setup, leaving a broad attack surface for evading the detection. To overcome these limitations, we present the design and implementation of a novel JavaScript forced execution engine named JSForce which drives an arbitrary JavaScript snippet to execute along different paths without any input or environment setup. We evaluate JSForce using 220,587 HTML and 23,509 PDF real- world samples. Experimental results show that by adopting our forced execution engine, the malicious JavaScript detection rate can be substantially boosted by 206.29% using same detection policy without any noticeable false positive increase. We also make JSForce publicly available as an online service and will release the source code to the security community upon the acceptance for publication.

研究の動機と目的

  • 悪意ある JavaScript を検出する際、従来の動的解析手法がコードカバレッジが限定的で、実行時環境のセットアップが不完全であるという限界を是正すること。
  • オブスクリューションに脆弱で、高い誤検出率および見逃し率を生じる静的解析の課題を克服すること。
  • 入力や環境設定を必要とせず、任意の JavaScript スニペットをすべての実行可能なパスに沿って実行する強制実行エンジンを設計すること。
  • コードカバレッジの向上と無効なオブジェクトアクセスに対する耐性を高めることで、既存の動的解析システムの検出精度を向上させること。

提案手法

  • JSForce は、実行制御と例外処理の低レベル制御を可能にするために、V8 JavaScript エンジンの上に実装されている。
  • 型推論モデルを用いて例外を検出し、回復可能にすることで、無効なオブジェクトアクセスが発生しても実行を継続できる。
  • 実行時条件に依存するパスを含め、JavaScript コード内のすべての実行可能なパスを体系的に走査するためのパス探索アルゴリズムが設計されている。
  • 制御フローやオブジェクト状態を操作することで、通常の実行では到達不可能なパスにまで到達するように強制的に実行を誘導している。
  • 事前に定義された環境プロファイルやフル機能のブラウザ/PDFリーダーに依存しないため、軽量かつポータブルである。
  • 既存の動的解析パイプラインに、検出ロジックを変更せずに統合可能に設計されている。

実験結果

リサーチクエスチョン

  • RQ1入力や環境設定を必要とせず、高いコードカバレッジを達成する JavaScript 用の強制実行エンジンを構築できるか?
  • RQ2無効なオブジェクトアクセスによる実行時例外をどのように処理すれば、実行の早期終了を防げるか?
  • RQ3強制実行は、実世界の HTML および PDF サンプルにおける悪意ある JavaScript の検出率をどの程度向上できるか?
  • RQ4このようなシステムを最小限のパフォーマンスオーバーヘッドで、独立したサービスとしてデプロイ可能か?
  • RQ5強制実行は、従来の動的解析手法と比較して、耐障害性および検出能力の面で優れているか?

主な発見

  • JSForce を同じ検出ポリシーで使用した場合、悪意ある JavaScript の検出率が 206.29% 向上した。これは、有効性の顕著な向上を示している。
  • この向上は、誤検出の顕著な増加なしに達成され、検出の信頼性が維持された。
  • JSForce のパフォーマンスオーバーヘッドは一般的に無視できるほど小さく、実世界の分析パイプラインへの統合に適している。
  • エンジンは、HTML や PDF ファイルに埋め込まれたスクリプトを含む、多様な環境で JavaScript スニペットを正常に実行した。
  • 型推論を用いて例外から回復し、実行を継続することで、無効なオブジェクトアクセスに対しても耐性を示した。
  • 220,587 件の HTML および 23,509 件の PDF サンプルを対象とした評価により、実世界のシナリオにおけるアプローチのスケーラビリティと耐性が確認された。

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

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

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

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