Skip to main content
QUICK REVIEW

[論文レビュー] Understanding Android Obfuscation Techniques: A Large-Scale Investigation in the Wild

Shuaike Dong, Menghao Li|arXiv (Cornell University)|Jan 5, 2018
Advanced Malware Detection Techniques参考文献 28被引用数 39
ひとこと要約

本論文は、Google Play、サードパーティ市場、マルウェアデータベースから収集した114,560個の実際のAPKを対象として、軽量で機械学習ベースの検出器を用いて、Androidコードのオブスカリティ技術—識別子のリネーム、文字列暗号化、Javaリフレクション、パッケージング—に関する大規模な実証的研究を提示する。主な発見は、マルウェア作成者が文字列暗号化のような高度なオブスカリティをより頻繁に使用している一方で、サードパーティアプリはGoogle Playアプリよりも高いパッケージング率を示しており、アプリエコシステム全体におけるオブスカリティのパターンに顕著な差が存在することを明らかにしている。

ABSTRACT

In this paper, we seek to better understand Android obfuscation and depict a holistic view of the usage of obfuscation through a large-scale investigation in the wild. In particular, we focus on four popular obfuscation approaches: identifier renaming, string encryption, Java reflection, and packing. To obtain the meaningful statistical results, we designed efficient and lightweight detection models for each obfuscation technique and applied them to our massive APK datasets (collected from Google Play, multiple third-party markets, and malware databases). We have learned several interesting facts from the result. For example, malware authors use string encryption more frequently, and more apps on third-party markets than Google Play are packed. We are also interested in the explanation of each finding. Therefore we carry out in-depth code analysis on some Android apps after sampling. We believe our study will help developers select the most suitable obfuscation approach, and in the meantime help researchers improve code analysis systems in the right direction.

研究の動機と目的

  • 理論的またはツール特有の研究にとどまらない、実世界におけるAndroidオブスカリティ技術の展開を理解すること。
  • 識別子のリネーム、文字列暗号化、Javaリフレクション、パッケージングの4つの主要なオブスカリティ技術の分布と普及状況を、多様なアプリ市場において特定すること。
  • 正当な開発者とマルウェア作成者の間でのオブスカリティの使用法に関する実証的知見を提供すること。
  • 開発者が効果的なオブスカリティ戦略を選択できるようにし、研究者が静的解析ツールを改善できるようにすること。

提案手法

  • 逆オブスカリティを必要とせず、オブスカリティパターンを同定できるように、機械学習とシグネチャマッチングを用いた軽量で効率的な検出モデルを設計した。
  • 識別子のリネーム、文字列暗号化、Javaリフレクション、パッケージングの4つの主要なオブスカリティ技術の検出器を構築した。
  • 高精度と高効率を確保するため、検証用の真値データセットを用いて検出器を検証した。
  • Google Play、サードパーティ市場、マルウェアリポジトリから収集した114,560個のAPKのデータセットに対して、スケールアップして検出器を適用した。
  • 統計的発見を説明するために、サンプルアプリの詳細なコード解析を実施した。
  • 逆オブスカリティに依存せずに、コードパターンと特徴に基づく統計的分析およびクラスタリングを用いてオブスカリティを検出した。

実験結果

リサーチクエスチョン

  • RQ1実世界のアプリにおいて、識別子のリネーム、文字列暗号化、Javaリフレクション、パッケージングの4つの主要なAndroidオブスカリティ技術はどれほど広く使われているか?
  • RQ2Google Play、サードパーティ市場、マルウェアソースからのアプリにおいて、オブスカリティの使用にどのような差があるか?
  • RQ3マルウェア作成者は、正当な開発者と比較して、どのオブスカリティ技術を最も頻繁に使用しているか?
  • RQ4アプリのカテゴリーや市場ごとに、オブスカリティ技術の有効性と採用パターンはどのように変化するか?
  • RQ5これらのオブスカリティパターンは、静的コード解析およびマルウェア検出にどのようなインパクトを与えるか?

主な発見

  • マルウェア作成者は、正当なアプリ開発者よりも文字列暗号化を著しく頻繁に使用しており、これは静的解析を回避する目的で使われていることを示唆している。
  • サードパーティ市場のアプリは、Google Playのアプリよりも2倍以上もパッケージングされている可能性が高く、非公式な市場ではより強い逆解析対策が講じられている可能性がある。
  • 識別子のリネームは、マルウェアよりもサードパーティアプリでより広く使われており、攻撃者が主にオブスカリティに使用するとされるという仮定に反する。
  • 識別子のリネームのような基本的なオブスカリティは、健全なアプリに広く使われている一方で、文字列暗号化やパッケージングのような高度な技術は主にマルウェアで使われている。
  • 本研究は、健全なアプリは軽量な技術を好むのに対し、マルウェアはより洗練され、解析に強い手法を採用しているという明確なオブスカリティ戦略の差を明らかにした。
  • 結果から、現在のコード解析ツールは識別子のリネームよりも文字列暗号化やパッケージングに対してより大きな課題を抱えていることが示され、今後のツール設計の優先順位に影響を与える。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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