
SlopAds」と名付けられた大規模なアンドロイド広告詐欺キャンペーンは、Google Play上の224の悪意のあるアプリケーションが1日あたり23億の広告リクエストを生成するために使用された後、中断された。
この広告詐欺キャンペーンはHUMANのSatori Threat Intelligenceチームによって発見され、同チームは、アプリが3800万回以上ダウンロードされ、Googleやセキュリティツールから悪意のある動作を隠すために難読化とステガノグラフィーを使用していたことを報告した。
このキャンペーンは世界的なもので、ユーザーは228の国と地域からアプリをインストールし、SlopAdsのトラフィックは毎日23億の入札リクエストを占めていた。広告インプレッションは米国(30%)が最も多く、インド(10%)、ブラジル(7%)が続いた。
HUMANは、「研究者たちは、この脅威に関連するアプリが“AI slop“のように大量生産されているように見えることから、また、脅威行為者のC2サーバーにホストされているAIをテーマにしたアプリケーションやサービスのコレクションを指すことから、この活動を “SlopAds “と名付けました」と説明している。

ソースはこちら:HUMAN Satori
SlopAds広告詐欺キャンペーン
広告詐欺には、グーグルのアプリ審査プロセスやセキュリティ・ソフトウェアによる検出を回避するための、複数のレベルの回避戦術が含まれていた。
ユーザーがキャンペーンの広告からではなく、Playストアを通じてSlopAdsアプリをオーガニックにインストールした場合、そのアプリは通常のアプリとして動作し、通常通り広告された機能を実行します。

ソースはこちら:ヒューマン・サトリ
しかし、脅威行為者の広告キャンペーンのいずれかを経由して到着したアプリをユーザーがクリックすることでインストールされたと判断された場合、このソフトウェアはFirebase Remote Configを使用して、広告詐欺マルウェアモジュール、キャッシュアウトサーバー、JavaScriptペイロードのURLを含む暗号化された設定ファイルをダウンロードします。
その後、アプリはリサーチャーやセキュリティ・ソフトウェアに分析されるのではなく、正規ユーザーのデバイスにインストールされているかどうかを判断する。
アプリがこれらのチェックをパスすると、ステガノグラフィを利用して悪意のあるAPKの一部を隠す4つのPNG画像をダウンロードし、広告詐欺キャンペーンに使用される。

ソースはこちら:HUMAN Satori
ダウンロードされた画像は復号化され、デバイス上で再アセンブルされ、広告詐欺に使用される完全なマルウェア「FatModule」を形成する。
FatModuleが起動すると、隠されたWebViewを使ってデバイスとブラウザの情報を収集し、攻撃者が管理する広告詐欺(キャッシュアウト)ドメインに移動する。
これらのドメインは、ゲームや新しいサイトになりすまし、隠されたWebView画面を通じて継続的に広告を配信し、1日あたり20億回以上の不正な広告インプレッションとクリックを生み出し、攻撃者に収益をもたらした。
HUMANによると、このキャンペーンのインフラには多数のコマンド・アンド・コントロール・サーバーと300以上の関連プロモーション・ドメインが含まれており、脅威行為者は最初に特定された224のアプリを越えて拡大する予定であったことを示唆している。
Googleはその後、既知のSlopAdsアプリをすべてPlayストアから削除し、AndroidのGoogle Playプロテクトは、デバイス上で発見されたものをアンインストールするようユーザーに警告するよう更新された。
しかしHUMANは、広告詐欺キャンペーンが巧妙であることから、脅威行為者は今後の攻撃でもスキームを変更して再挑戦する可能性が高いと警告している。
.ia_ad { background-color:#width: 95%; max-width: 800px; margin: 15px auto; border-radius: 8px; border:1px solid #d6ddee; display: flex; align-items: stretch; padding: 0; overflow: hidden; }:0; overflow: hidden; } .ia_lef { flex: 1; max-width: 200px; height: auto; display: flex; align-items: stretch; } .ia_lef a { display: flex; width: 100%; height: 100%; } .ia_lef a img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px 0 0 8px; margin: 0; display: block; } .ia_rig { flex: 2; padding:display: flex; flex-direction: column; justify-content: center; } .ia_rig h2 { font-size: 17px !important; font-weight: 700; color:#line-height: 1.4; font-family:margin: 0 0 14px 0; } .ia_rig p { font-weight: bold; font-size: 14px; margin: 0 0 clamp(6px, 2vw, 14px) 0; } .ia_button { background-color:#border:1px solid #3b59aa; color: black; text-align: center; text-decoration: none; border-radius: 8px; display: inline-block; font-size: 16px; font-weight: bold; cursor: pointer; padding:width: fit-content; } .ia_button a { text-decoration: none; color: inherit; display: block; } @media (max-width: 600px) { .ia_ad { flex-direction: column; align-items: center; } .ia_lef { max-width: 100%; } .ia_lef a img { border-radius: 8px 8px 0 0; } .ia_rig { padding:15px;
width: 100%;
}
.ia_button {
width: 100%;
margin: 0px auto;
}
}




Comments