この種の攻撃は、普段、怪しげな見た目のアプリから行われるものではありません。攻撃者が利用者にそう信じさせようとしているだけです。多くの場合、攻撃者は信頼のおけるアプリの脆弱性を利用します。なぜなら、こうしたサイトに利用者を誘導しやすいためです。
さらに、これらの攻撃は被害者の知らないうちにインストールされ、時にはアプリの管理者でさえ気づかないことがあります。ある場合には、必要な修正や作り話の対策を装って危険なコードが仕込まれ、利用者はその見せかけに騙され攻撃者の狙いに晒されるのです。
主にドライブバイ攻撃は以下の目的で行われます。
- 信頼されるアプリに侵入し、結果として利用者の端末にアクセスする。
- 罠にかかった被害者の端末を乗っ取る。
- 非常に重要な利用者データを監視・盗み出し、場合によっては利用者になりすます。
- 収集した情報を利用して、被害者に損害を与える。
この攻撃の仕組みを正しく理解するため、技術的な側面だけでなく、そうでない側面も見ていく。
ドライブバイ攻撃の仕組み
簡単に言うと、ドライブバイ攻撃は次の方法で行われます。
- ウェブサイトの各入口から危険な要素を注入する。例えば、JavaScriptの脆弱性を突くなど。
- 狙ったアプリの設計上の隙をつく。
- オリジナルサービスの隙間にマルウェアを忍ばせる。これは、基本的なソーシャルエンジニアリング攻撃と似た手口です。例えば、利用者に無料のPDFなどを提供する場合がある。
- 利用者がおとりにかかり、マルウェアをダウンロードすると同時に端末の全面的な侵入口が開かれる。
- 被害者の個人データを遠隔で乗っ取る。
- 取得したデータを利用して、より大きく複雑な他のターゲットに攻撃を仕掛ける。
前述の通り、攻撃者は以下の2つの大きな手法で利用者の端末に侵入します。
- 利用者が、警告なしに許可を与える。こうした攻撃は、作り話の修正などのおとりを使って行われる。
- 利用者がマルウェアの存在に全く気づかず、通知もされない。この手法がドライブバイ攻撃の主要な運用方法である。
これを実現するため、ハッカーは一連の操作を行います。操作内容はハッカーの好む手法によって異なりますが、以下に2つのケースを示す。
事前に知らずに許可されたダウンロード
この手法では、
- ハッカーはマルウェアを届けるための手段を作ります。広告やソフトなどを用いて、信頼されるサイトにマルウェアを忍ばせ、ソーシャルエンジニアリングで利用者をおびき寄せます。利用者は、バンドルウェア、ポップアップ、広告、セキュリティチェックの通知などに気づかず、実質的にマルウェアへのアクセスを許可してしまいます。バンドルウェアは、利用者が本来ダウンロードしたいソフトに付随する外部プログラムで、マルウェアを隠す役割を果たします。場合によっては、バンドルウェア自体が改ざんされていることもあります。これらは、利用者がマルウェアのダウンロードを拒む選択肢をほとんど持たないように配置されています。
また、ハッカーはクリックベイトや偽メッセージ、セキュリティ警告、報酬サイトなどのフィッシング手法を使い、利用者をマルウェアダウンロードのサイトに誘導します。すべてが信頼できるよう装われています。
- その後、ハッカーは被害者のすべてのデータ、端末の制御、及び情報の流れを乗っ取ります。利用者がマルウェアに接触し、(意識的にであれ無意識的にであれ)端末へのアクセスを許すと、マルウェアは即時にインストールされ、ハッカーは自動的に個人データへアクセスできます。巧妙なハッカーは、利用者や管理者に不審感を抱かせないよう細心の注意を払います。
完全に不正なマルウェアダウンロード
この手法では、
- ハッカーは、サイトのセキュリティ上の隙を突き、マルウェアを仕込みます。多くの場合、開発者が書いた元のコードを編集する方法で行われます。誰もが知っているように、開発技術には欠陥があり、ハッカーはアプリ固有の脆弱性を見つけて、その隙におとりを仕込みます。
- 高度なハッキングでは、攻撃者はエクスプロイトキットと呼ばれるソフトを使用します。これは、アプリの極小な欠陥を見つけ出し、その隙を使って新たなマルウェアコードを忍ばせるものです。
このキットは、開発技術がどれほど進んでいても回避が難しいことがあります。開発者が使う技術には、必然的に生じるセキュリティホールもあり、これをゼロエクスプロイトと呼びます。完全に修正は難しいですが、管理することで攻撃リスクを低減できます。もちろん、全ての脆弱性が設計上予測されたものではなく、既知のエクスプロイトはサイバーセキュリティの現状に基づいた修正策が存在します。 - この場合、ハッカーはアプリに侵入するだけで十分です。利用者は、侵害されたサイトのURLにアクセスするだけで、マルウェアに晒され、ハッカーは被害者のデータを乗っ取り、目的に応じた行動を取ります。
ドライブバイ攻撃の種類
これらは、アプリや利用者に対する脅威のレベルに応じて分類されます。具体的には、以下の種類がある。
- 不要なプログラム系 – この種の攻撃は利用者に深刻な脅威を与えることは少なく、比較的稀であり、開発者によって扱われる。最悪の場合、アドウェアとなる可能性もある。
- マルウェアを含む攻撃
ドライブバイ攻撃で運ばれるペイロードの種類
これらの攻撃は、被害者のパソコンに様々なマルウェアを忍ばせるために使われます。具体的には、以下のものが含まれる。
- ドロッパー – 後続のマルウェアを仕込むために設計されている。
- トロイの木馬 – 利用者のデータを遠隔操縦するため。
- 中間者攻撃ツール – 利用者とそのやり取りする相手との通信を盗み聞きするため。
- キーロガー – 特にパスワードや暗証番号などの重要情報を記録するため。
- ランサムウェア – 攻撃者が遠隔で被害者のデータを破壊または暗号化するため。
- ボットネット – 主にDDOS攻撃や横展開に利用され、スパムメールや不正トラフィックを通して他のサイトやネットワーク、コンピュータ、サーバを狙うため。
これらの攻撃を避ける方法
この種のサイバー攻撃から守るためには、アプリの開発者・管理者と利用者双方が対策を講じる必要がある。
アプリの開発者や管理者は、次のことを確認してください。
- 外部からの改ざんの入口となる可能性がある機能やコンポーネント(例:プラグイン、テーマなど)を更新する。
- 機能していない、または古くなったコンポーネントは削除する。サイトの進化に伴い不要になったものは管理者として削除する。
- 管理者アカウントのパスワードが強固であり、漏洩しないよう注意する。
- サイト上のデータの流れや動きを監視できるセキュリティソフトを利用し、バックエンドの悪用を防ぐためにファイアウォールも併用する。
- 広告の表示とそれが利用者のプライバシーに与える影響に注意する。セキュリティは、広告管理において特に重要である。
利用者は、次の点に留意してください。
- 端末のOSやウェブブラウザを定期的に更新する。更新にはセキュリティパッチや脆弱性修正が含まれている場合が多い。
- プラグインや外部のソフトを必要以上に保持しない。数が多いほど攻撃に対して脆弱になる。
- コンピュータの管理者アカウントでのみソフトをインストールする。これにより、知らずに不正なアプリを入れるリスクが減る。
- ウェブブラウザのセキュリティソフトを利用する。これにより、マルウェアが自動で検出され、警告や除去が行われる。
- ウェブ上で承認するセキュリティメッセージの条件をよく読み、その意味を理解する。不明な点があれば、ポップアップをクリックしないようにする。
- 不要な広告をブロックできる広告ブロッカーを利用する。
結論
これらの攻撃は、サイバー犯罪者に利用者の端末を完全に乗っ取らせるため、非常に危険です。アプリの開発者や管理者は、全体としてセキュリティ対策を真剣に考える必要があります。結局、従来のサイトの脆弱性を突く手法で行われるものですから、利用者と管理者双方の注意が肝要です。