深夜、何気なくネットを見ていたら突然画面が真っ赤になって「ウイルスに感染しました!今すぐ電話を!」という警告が出た経験はありませんか。心当たりのある方、正直に挙手してください。誰も見ていないので大丈夫です。
あの警告、実はほぼ偽物です。インフラエンジニアとして言わせてもらうと、あれは技術的にかなりよくできた「脅し」であって、ウイルスとは無関係です。今回はエンジニア目線でその仕組みと、そもそも被害に遭わないための対策まで解説します。
そもそもJavaScriptとは何か
まず前提知識として、JavaScriptについて簡単に説明します。JavaScriptはウェブページを動かすためのプログラミング言語です。ボタンを押したら何かが動く、スクロールしたらアニメーションが出る、といった動きはほぼJavaScriptで作られています。
普段私たちが見ているウェブページは、HTML(骨格)、CSS(見た目)、JavaScript(動き)の3つで構成されています。このうちJavaScriptはブラウザ上でリアルタイムに動作するため、ユーザーの操作に応じて画面を自由に書き換えることができます。
そしてここが重要なのですが、JavaScriptはサーバーに何かを送信しなくても、ブラウザの画面だけを操作できます。つまり「あなたのデバイスにアクセスしています」という警告文も、実際には何もアクセスしていないのに表示できてしまいます。
// こんな感じのコードで全画面の警告を出せる
document.body.innerHTML = `
<div style="background:red; color:white; font-size:40px;">
⚠️ ウイルスを検出しました!今すぐ電話してください!
電話番号:0120-XXX-XXX
</div>
`;
上のコードを見てください。たったこれだけで真っ赤な警告画面が作れます。サーバーへの通信も、ウイルスも、何も関係ありません。ブラウザの画面を書き換えているだけです。
なぜこういう画面が出るのか:広告配信の仕組み
「でもなんでそんなものが表示されるの?」という疑問が出てくると思います。答えは広告の仕組みにあります。
現代のウェブ広告は、広告主がGoogleやその他の広告ネットワークにお金を払って、様々なサイトに広告を掲載する仕組みです。ウェブサイト運営者は広告を掲載することで収益を得られます。問題はこの広告ネットワークに悪意のある広告が紛れ込むケースがある点です。
これをマルバタイジング(Malvertising)と呼びます。正規の広告ネットワークを通じて悪意のある広告を配信する手法で、有名サイトでも被害が出ることがあります。アダルトサイトはこういった広告が特に多い傾向にあります。理由はシンプルで、広告審査が厳しくないネットワークを使っているケースが多いからです。
収益面の話をすると、偽警告を表示して電話させる「サポート詐欺」は1件あたり数万円から数十万円を騙し取るケースもあります。手間の割に利益率が高いため、残念ながら世界中でビジネスとして成立してしまっています。
対処法とやってはいけないこと
正しい対処法はシンプルです。ブラウザを閉じるだけでOKです。
なぜブラウザを閉じるだけで良いかというと、先ほど説明した通りあれはJavaScriptで画面を書き換えているだけだからです。ブラウザを閉じれば表示も消えます。デバイスには何も残りません。
Macであれば Command + Q、Windowsであれば Alt + F4 でブラウザを強制終了できます。画面が固まって動かない場合はタスクマネージャーからブラウザを終了してください。
一方、絶対にやってはいけないことはこちらです。
- 画面内のボタンをクリックする:「閉じる」「キャンセル」のように見えても、クリックすることで悪意のあるソフトウェアのダウンロードが始まる場合があります。
- 電話番号に電話する:電話した時点でサポート詐欺の被害者になります。オペレーターが巧みに誘導してリモートアクセスソフトをインストールさせ、そこから個人情報や銀行情報を抜き取るケースが多いです。
- 個人情報やクレジットカード情報を入力する:これは言わずもがなです。入力した瞬間に情報が盗まれます。
- 焦って変なソフトをインストールする:「ウイルス除去ソフト」と書かれていても、それ自体がウイルスである場合がほとんどです。
要するに「何もしない・閉じるだけ」が正解です。焦らせて判断力を奪うのがこの手口の本質なので、深呼吸してブラウザを閉じてください。
実際に個人情報は抜かれているのか
「警告が出た時点で情報が盗まれているのでは?」と心配になる方も多いと思います。結論から言うと、警告が表示されただけでは個人情報は抜かれていません。
技術的な理由を説明すると、ブラウザはサンドボックスという隔離された環境で動いています。JavaScriptがブラウザの画面を操作できても、デバイス内のファイルやパスワードにはアクセスできない仕組みになっています。表示されているIPアドレスや「あなたのデバイス情報を取得しました」という文言も、実際に取得しているのはブラウザから取れる最低限の情報(おおよそのIPアドレス程度)だけです。
では何が怖いのかというと、心理的な攻撃です。ソーシャルエンジニアリングと呼ばれる手法で、人間の恐怖心や焦りを利用して判断力を奪います。具体的にはこういった手口が使われています。
- カウントダウンタイマーで焦らせる(「残り60秒でデータが消えます」)
- 警告音を鳴らし続けて心理的プレッシャーをかける
- 画面を操作できなくして「詰んだ」と思わせる
- 公的機関(警察・IPA)を装って信頼させる
技術的には大したことをしていないのに、心理的な圧力で人を動かすのがこの手口の巧妙なところです。エンジニアとしてコードを見れば「ただのJavaScriptじゃないか」で終わる話ですが、知識がないと本当に怖く見えます。
そもそも被害に遭わないための対策:VPNの活用
対処法を知っておくことも大切ですが、そもそもこういったサイトに誘導されないようにする「予防」の方がより重要です。ここではエンジニアが実際に使っているセキュリティ対策を紹介します。
VPN(Virtual Private Network)は通信を暗号化してインターネットに接続する仕組みですが、実はセキュリティ対策としても非常に有効です。信頼できる有料VPNには以下のような機能が備わっています。
- 悪意あるサイトへのアクセスをブロック:マルウェアやフィッシングサイトへの接続を自動的に遮断してくれます
- 通信の暗号化:第三者に通信内容を傍受されるリスクが大幅に下がります
- IPアドレスの匿名化:本来のIPアドレスが表示されないため、偽警告に表示されるIPアドレスも実際のものではなくなります
- 広告トラッカーのブロック:マルバタイジングの入口となる悪意ある広告をブロックできます
特に信頼できる有料VPNを選ぶことが重要です。無料VPNは逆に通信ログを収集して広告業者に売るケースがあるので避けてください。
有料VPNの中でもExpressVPNはAES-256の高レベル暗号化・ノーログポリシーの第三者監査済み・悪意あるサイトのブロック機能を備えており、セキュリティ対策として非常におすすめです。スマホ・PC・タブレットなど複数デバイスで使え、設定も簡単です。30日間返金保証があるのでまず試してみるのもありです。
セキュリティ的に何が危険で何が危険でないか
最後に整理しておきます。
危険でないこと:
- 警告画面が表示されただけ
- 画面が固まって動かなくなった
- 警告音が鳴り続けている
- IPアドレスや使用OSが表示された
危険なこと(すぐに対処が必要):
- 画面内のボタンをクリックしてしまった
- 表示された電話番号に電話してしまった
- 個人情報やクレジットカード情報を入力してしまった
- 案内されたソフトウェアをインストールしてしまった
- リモートアクセスを許可してしまった
もし上記の「危険なこと」に該当する操作をしてしまった場合は、すぐにデバイスをネットワークから切断して、クレジットカード会社や銀行に連絡してください。インストールしたソフトはアンインストールするだけでなく、セキュリティソフトでフルスキャンを実施することをおすすめします。
まとめ
アダルトサイトのウイルス警告はほぼ全て偽物で、JavaScriptでブラウザの画面を書き換えているだけです。対処法はブラウザを閉じるだけで十分です。焦って電話したり、変なソフトをインストールしたりするのが一番危険です。
また、そのようなサイト自体を開かない・閲覧しないことが一番の対策です。それでも万が一に備えて、VPNを導入しておくことで悪意あるサイトへの誘導やトラッキングをブロックできます。インターネットの世界では「焦らせて判断力を奪う」手口が非常に多いです。落ち着いて「これは本当に危険なのか?」と考える習慣をつけることが、セキュリティ対策の第一歩です。
日頃のセキュリティ対策として、ExpressVPNの導入を検討してみてください。悪意あるサイトのブロック・通信の暗号化・複数デバイス対応と、一つ入れておくだけで安心感が大きく変わります。