web-dev-qa-db-ja.com

モバイルデバイス上のマルウェアの広告を監視する方法

アプリケーションの開発者には知られていない、広告を通じてモバイルアプリケーションまたはWebアプリケーションに導入されるマルウェアの人気が高まっていることに気づきました。私は、マルウェアのアプリケーションに導入されている広告を検出または監視するためのツールまたは方法を探していました。私の検索はあまり見つかりませんでした。毎回手動で広告コードを表示できますが、それは面倒で自動化されておらず、解決策が緩いだけです。モバイルアプリケーションでマルウェアの広告を監視することについて、誰かが考えや経験を持っていますか?

6
Henry F

このタイプの問題は、実際には、ユーザー、発行者、およびプログラマーといういくつかの異なるレベルで対処する必要があります。それぞれがある程度の責任を負っており、そのため、あなたの役割に関係なく、あなたは責任があります。個々のコードを検査するというあなたの計画に基づいて、あなたはエンドユーザーであり、プログラマーではないと思います。そのため、私は主にその領域に焦点を当てます。

エンドユーザーとしてのリスクを軽減する方法

エンドユーザーは、広告が悪意のあるものであるかどうかを判断するためにいくつかのことを行うことができます。これには、モバイルAVのインストールなどの基本事項が含まれます( Androidのソフォス など)。現在実行している手順(ペイロードの調査)は、通常、ほとんどのエンドユーザーが実行したいと思うよりもはるかに詳細です。このギャップは、AVおよび場合によってはモバイルIDS/IPS( zIPS など)で簡単に埋めることができます。ホストベースのIPSとAVの境界線は最近非常にぼやけており、重複する可能性があります。重要な点は、IPSが機能するように設計されていることです。システムが侵害されるのを防ぐためですが、AVは事後に侵害をクリーンアップするように機能しています。

通常の広告トランザクションの例:

広告が配信されるまでの手順の例を次に示します。

  1. あなたはアプリを開きます
  2. アプリが開き、X秒間使用できるようになります
  3. 一定の時間制限または特定の基準に達した後(たとえば、ゲームのレベルを完了すると)、アプリは広告を配信することを決定します。
  4. アプリは、含まれているライブラリへのリクエストをトリガーします
  5. 含まれているライブラリは、外部サイトにあなたの情報の一部を含むAPIリクエストを行います
  6. 外部サイトはリクエストを受け入れ、リクエストを処理して、配信するのに最適な広告を決定します
  7. 広告がデバイスに配信されます
  8. 広告が完成した後、別の制約に達するまでアプリを再び使用できます

マルバタイジングの例

  1. リストアイテム
  2. あなたはアプリを開きます
  3. アプリが開き、X秒間使用できるようになります
  4. 一定の時間制限または特定の基準に達した後(たとえば、ゲームのレベルを完了した場合)、アプリは広告を配信することを決定します。
  5. アプリは、含まれているライブラリへのリクエストをトリガーします
  6. 含まれているライブラリは、外部サイトにあなたの情報の一部を含むAPIリクエストを行います
  7. 外部サイトはデータを使用して、特定のエクスプロイトに対して脆弱である可能性があるかどうかを判断します。これは、多くの異なる要因に基づいて決定されます。ほとんどの場合、ユーザーエージェントの検査が含まれますが、JavaScriptチェックなどの要因が含まれる場合もあります。
  8. 最も効果的なエクスプロイトが決定されると、デバイスに送信されるペイロード。これは、デバイスのセキュリティがテストされるポイントです。
  9. ペイロードは、マシン上で実行されるか、実行されてからコンパイルされます。感染が成功した場合、あなたは言うことができないかもしれません。

IPSが行うこと

IPSを使用する利点は、Webサイトが要求されると(あなたの場合は広告)、悪意のあるアクティビティの兆候がないか要求と応答をチェックすることです。マルウェアの一般的な方法は広告で配信されるのは、実際の目的を果たさないベースエンコードおよびデコード式を介したものです。スマートIPSは、ベースエンコード式が多数の異なるインスタンスで使用されていることを検出し、結果を連結してから、ペイロード全体の最終的なデコード。

上記のIPSソリューションの場合、MITM攻撃やその他のさまざまな問題のリスクがある場合にも通知されます。また、AV機能が組み込まれています。これはにフォールバックします。ここで、異なるツール間で線が非常にぼやけていると述べました。

出版社としてのリスクを軽減する方法

パブリッシャーがリスクを軽減する方法のいくつかを次に示します。-コードに重大な脆弱性がないこと、またはエンドユーザーに脆弱性が導入されていないことを確認します。 -広告ネットワークで発生している疑わしい動作を監視します。これは、異常な広告ペイロードと、広告ネットワークが侵害されていることを示す兆候をチェックする必要があります。 -ネットワーク上で配信されている広告のコードレビューを実行します

プログラマーとしてのリスクを軽減する方法

ユーザーに脆弱性が存在し、広告が広告パートナーから配信される場合、リスクを軽減することは非常に困難です。最大のポイントは、選択した広告ネットワークが信頼できるものであることを確認することです。これは通常、法外なPPC(クリック課金)を提供する未知のサードパーティまたはネットワークから離れることを意味します。これらは一般的に警告サインです。さらに、ユーザーに以下を提供する必要があります。

  • アプリケーションで悪意のある広告を報告する方法を提供する
  • 悪意のあるコードに対して独立したチェックを実行します(署名セットは毎日変更されるため、これを維持するのは難しい場合があります)。
  • 配信された広告をログに記録して、広告ネットワークオペレーターにフィードバックを送信します。
  • さまざまなOSバージョンとデバイスタイプの広告を使用して広範なQAを実行し、明らかなマルバタイジングキャンペーンをチェックします。

あらすじ

これは、実際には、階層化された防御戦術を使用してのみ対処できます。チェーン内の単一のリンクのみに依存している場合、それは必然的に壊れます。最近の調査 マディソンアベニューの暗い路地:悪意のある広告を理解する は、広告の最大1%にマルバタイジングコードが含まれていることを示唆していることがわかりました。広告を提供しているサイトの数を考えると、これはかなり信じられないほどの統計です。また、広告のセキュリティを確保するために広告主のみに依存した場合、深刻な問題が発生する可能性があることも強調しています。

1
pr-