最近、サポート詐欺の相談を受ける機会が増えてきました1。とくに高齢の方から「画面が閉じられなくて怖かった」という話を聞くと、防災訓練のように安全な環境で練習しておく必要性を感じます。閉じにくい画面の仕組みを理解しておけば、いざというときに落ち着けるはずです。
そこで、自分で“閉じにくいサポート詐欺風の訓練ページ”を作り、実際に動かしてみました。

ちなみに、このような訓練ページは、独立行政法人情報処理推進機構セキュリティセンターでも公開されています2。
- 「偽セキュリティ警告(サポート詐欺)画面の閉じ方体験サイト」https://www.ipa.go.jp/security/anshin/measures/fa-experience.html
1. 訓練ページの仕組み
「閉じられない画面」の裏側はどう動いているのでしょうか。
サポート詐欺ページは、×ボタンが効かないように見えたり、画面が全画面化して戻れなくなったり、警告音まで鳴らすことがあります。
これらの仕組みは、ブラウザの正規の機能の組み合わせで実行されています。
しかし、実際の詐欺ページを触るのは危険です。
そこで、ブラウザがどう反応するのか確認するために、教育用途の安全なダミーページを自作することにしました。
高齢者向け講習などで、この訓練ページは役に立つと思いました。実際の詐欺ページに近い見た目と挙動を体験しておくと、「閉じられない=壊れた」ではなく「閉じられない=ブラウザ内の挙動」と理解できます。タスクマネージャーで閉じる練習にも使えます。
1.1. ウィンドウ風の偽警告
まずは、シンプルな白い背景から始まるページを用意しました。
訓練を開始すると、背景色が深い赤に切り替わり、いかにも“不穏な画面”に見えるようにしています。
切り替えボタンを押したあとに、仕掛けが順番に動すようにしています。
実際の詐欺画面に寄せるため、上部バーと×ボタンをつけた“ウィンドウ風の箱”を作りました。
×ボタンに見えるだけで、押しても閉じません。訓練でこの動きを知っておくと、実際の詐欺画面を落ち着いて見られるようになります。
番号がじわっと縮むアニメーションを入れています。意味はありませんが、視線が吸い寄せられるので「見た瞬間に電話番号が目に入る」という詐欺ページの心理的演出の再現になります。
1.2. 全画面化を試みる(Fullscreen API)
Fullscreen APIを使い、全画面表示をリクエストします3。
ブラウザや設定によっては拒否されることもありますが、成功するとブラウザの枠が消えるので、「閉じる」ボタンは使えなくなります。
1.3. 右クリックを無効化する(contextmenu)
右クリックでメニューを開けると脱出のヒントを与えてしまうので、contextmenu を無効化します4。
1.4. タブを閉じにくくする(onbeforeunload)
onbeforeunload という仕組みを使うと、タブを閉じようとしたときに「本当に閉じますか?」と警告を出すことができます5。
ブラウザでは文言が固定化されていますが、それでも心理的には “押しにくい” と感じます。
1.5. 警告音を鳴らす(自動再生はブラウザ依存)
ループ再生の警告音を鳴らす自動再生機能は、練習では音が出たり出なかったりします。
Chromeなどではブロックされる場合があり、このあたりの挙動はブラウザ依存です6。
2. 実際に動かしてみて気づいたこと
ただ、タブを閉じるだけだとChromeの動作が少し不安定になることがありました。
どうもFullscreenの解除処理やonbeforeunloadの挙動が完全には同期しないことが理由のようです。
Chromeを再起動すると落ち着くので、ここは訓練時の注意点だと感じました。
閉じにくいサポート詐欺画面を自分で作ってみると、一つ一つの機能は技術的には単純なことがわかります。
でも、心理的には十分なインパクトがあります。
仕組みを体験しておくと、騙されないための心構えにもつながります。
- IPAの情報セキュリティ安心相談窓口における「偽セキュリティ警告(サポート詐欺)」の月間相談件数は、2023年10月に過去最高の519件を記録しました。 – サポート詐欺の「偽セキュリティ警告画面の閉じ方体験サイト」を公開
- IPAの体験サイトでは、ESCキーを長押しして全画面表示を解除する操作を体験できます。体験サイトは約2分で自動終了する仕様になっており、初心者でも安全に練習できます。 – 偽セキュリティ警告(サポート詐欺)対策特集ページ
- Fullscreen APIは、特定の要素を全画面モードで表示するためのWeb標準APIです。
element.requestFullscreen()メソッドを呼び出すことで全画面化し、document.exitFullscreen()で解除できます。ブラウザのUIを完全に隠すことができるため、動画プレーヤーやゲームなどでも広く使用されています。 – 全画面 API のガイド - JavaScriptの
contextmenuイベントでpreventDefault()を実行することで、右クリック時のコンテキストメニュー表示を無効化できます。ただし、ブラウザの開発者ツールから簡単に解除できるため、セキュリティ対策としての効果は限定的です。 – JavaScriptによる右クリックの禁止・禁止を解除する方法 beforeunloadイベントは、ページがアンロードされる直前に発生するイベントです。かつては独自のメッセージを表示できましたが、悪用を防ぐため、現在のブラウザでは標準的な確認ダイアログのみが表示されます。また、ユーザーの操作がないページでは警告が表示されない場合もあります。 – Window: beforeunload イベント- 多くの現代ブラウザは、ユーザーの操作なしでの音声自動再生をブロックします。これは、望まない音声による迷惑を防ぐためのセキュリティポリシーです。IPAの体験サイトでも、音声が流れることを事前に警告し、ボリューム調整を促しています。 – 「偽セキュリティ警告体験サイト」IPAが公開