セキュリティ これは悪意のあるAndroidアプリの潜在的な治療法ですか?

これは悪意のあるAndroidアプリの潜在的な治療法ですか?

目次:

Anonim

Androidアプリケーション市場は、ユーザーがアプリを入手するのに便利な方法です。 市場は、悪者がマルウェアを配信する便利な方法でもあります。 マーケットプレイスの所有者は、Google Bouncerなどのセキュリティ対策を使用して、悪意のあるアプリを探し出します。 悲しいことに、ほとんどの-バウンサーを含めて-タスク次第ではありません。 悪者はほとんどすぐに、エミュレーション環境であるBouncerがコードをテストしていることを知る方法を見つけました。 以前のインタビューで、Duo Securityの共同設立者であり、Googleに問題を通知した人物であるJon Oberheide氏は次のように説明しました。


「バウンサーを効果的にするには、実際のユーザーのモバイルデバイスと見分けがつかない必要があります。そうしないと、悪意のあるアプリケーションは、バウンサーで実行されていると判断でき、悪意のあるペイロードを実行できません。」


悪者がバウンサーをだます別の方法は、論理爆弾を使用することです。 歴史を通じて、論理爆弾はコンピューティングデバイスに大混乱をもたらしました。 この場合、悪意のあるアプリが実際のモバイルデバイスにインストールされるまで、バウンサーがペイロードをアクティブにできないのと同様に、ロジックボムコードはマルウェアチェッカーを静かに阻止します。


要するに、Androidアプリ市場は、アプリ内のマルウェアペイロードの検出が効率化されない限り、実際にはマルウェアの主要な配信システムであるということです。

古いアプローチへの新しいねじれ

ノースカロライナ州立大学の研究チーム、ツン・スアン・ホー、ダニエル・ディーン、シャオホイ・グ、ウィリアム・エンクは、解決策を見つけたかもしれません。 彼らの論文PREC:Androidデバイスの実用的なルートエクスプロイトコンテインメントで、研究チームは異常検出スキームのバージョンを紹介しました。 PRECは2つのコンポーネントで構成されています。1つはアプリストアのマルウェア検出器で動作し、もう1つはアプリケーションと共にモバイルデバイスにダウンロードされます。


アプリストアコンポーネントは、研究者が「分類されたシステムコールモニタリング」と呼ぶものを採用しているという点でユニークです。 このアプローチにより、サードパーティライブラリ(Androidシステムには含まれていないが、ダウンロードされたアプリケーションに付属しているライブラリ)などのリスクの高いコンポーネントからのシステムコールを動的に識別できます。 ここでのロジックは、多くの悪意のあるアプリが独自のライブラリを使用するということです。


この監視から取得した高リスクのサードパーティコードからのシステムコールに加えて、アプリストア検出プロセスから取得したデータにより、PRECは通常の動作モデルを作成できます。 模倣攻撃に対する精度、オーバーヘッド、および堅牢性のために、既存のモデルと比較して、モデルがPRECサービスにアップロードされます。


更新されたモデルは、アプリストアにアクセスする誰かからアプリが要求されるたびに、アプリケーションと共にダウンロードする準備ができています。


これは監視フェーズと見なされます。 PRECモデルとアプリケーションがAndroidデバイスにダウンロードされると、PRECは強制段階に入ります。つまり、異常検出とマルウェアの封じ込めです。

異常検出

アプリとPRECモデルがAndroidデバイスで確認されると、PRECはサードパーティコード、特にシステムコールを監視します。 システムコールシーケンスがアプリストアで監視されているシーケンスと異なる場合、PRECは異常な動作が悪用である可能性を判断します。 アクティビティが悪意があるとPRECが判断すると、マルウェア抑制モードに移行します。

マルウェアの封じ込め

正しく理解されていれば、マルウェアの抑制により、Androidのマルウェア対策に関してPRECがユニークになります。 Androidオペレーティングシステムの性質により、Androidマルウェア対策アプリケーションはすべてのアプリケーションがサンドボックスに存在するため、マルウェアを削除したり、隔離することはできません。 つまり、ユーザーはまずデバイスのシステムマネージャーの[アプリケーション]セクションでマルウェアを見つけてから、マルウェアアプリの統計ページを開き、[アンインストール]をタップして、悪意のあるアプリを手動で削除する必要があります。


PRECのユニークな点は、研究者が「遅延ベースのきめ細かい封じ込めメカニズム」と呼ぶものです。 一般的な考え方は、別個のスレッドのプールを使用して、疑わしいシステムコールを遅くすることです。 これにより、エクスプロイトがタイムアウトになり、アプリが最終的にAndroidオペレーティングシステムによってシャットダウンされる「アプリケーションが応答していません」ステータスになります。


PRECはシステムコールスレッドを強制終了するようにプログラムできますが、異常検出器が間違えた場合、通常のアプリケーション操作が中断する可能性があります。 リスクを冒すのではなく、研究者はスレッドの実行中に遅延を挿入します。


「私たちの実験は、悪意のあるネイティブスレッドを特定のポイントにスローダウンした後、ほとんどのルートエクスプロイトが無効になることを示しています。遅延ベースのアプローチは、一時的なfalseにより、良性のアプリケーションがクラッシュしたり終了したりしないため、falseアラームをより適切に処理できますアラーム」と紙は説明します。

試験結果

PRECを評価するために、研究者はプロトタイプを構築し、140個のアプリ(ネイティブコード付き80個とネイティブコードなし60個)に加えて、10個のアプリ(Malware Genomeプロジェクトの4つの既知のルートエクスプロイトアプリケーション、および6つの再パッケージ化されたルートエクスプロイトアプリケーション)に対してテストしました-マルウェアが含まれていた。 マルウェアには、DroidDream、DroidKungFu、GingerMaster、RATC、ZimperLich、GingerBreakのバージョンが含まれていました。


結果:

  • PRECは、テストされたすべてのルートエクスプロイトを正常に検出して停止しました。
  • ネイティブコードを使用せずに、良性のアプリケーションでゼロアラームを生成しました。 (従来のスキームでは、アプリごとの誤報が67〜92%発生します。)
  • PRECは、ネイティブコードを使用して、従来の異常検出アルゴリズムと比較して、良性アプリケーションの誤警報率を1桁以上削減しました。
詳細なテスト結果は、PRECの研究論文に記載されています。

PRECの利点

テストでうまく機能し、Androidマルウェアを封じ込めるための実行可能な方法を転送することに加えて、PRECは誤検知やパフォーマンスの低下に関して明らかに優れた数値を示しました。 パフォーマンスに関しては、PRECの「分類された監視スキームによるオーバーヘッドは1%未満、SOM異常検出アルゴリズムによるオーバーヘッドは最大2%です。全体として、PRECは軽量であり、スマートフォンデバイスに実用的です」と述べています。


アプリストアで使用されている現在のマルウェア検出システムは効果がありません。 PRECは、高度な検出精度、低い割合の誤報、およびマルウェアの封じ込めを提供します。これは現在存在しません。

チャレンジ

PRECを機能させるための鍵は、アプリ市場からの賛同です。 アプリケーションの正常な動作を説明するデータベースを作成するだけです。 PRECは、それを実現するために使用できるツールの1つです。 次に、ユーザーが目的のアプリケーションをダウンロードすると、パフォーマンス情報(PRECプロファイル)がアプリとともに使用され、Androidデバイスにインストールされている間のアプリの動作のベースラインとして使用されます。

これは悪意のあるAndroidアプリの潜在的な治療法ですか?