ブラウザクラッシャー

ブラウザクラッシャーとは、ウェブブラウザやオペレーティングシステム (OS) の仕様・バグを悪用するスクリプト言語または HTML 文書を記述したウェブページのこと。
概要.
ウェブブラウザで当該ページにアクセスすることにより、ウェブブラウザや OS の動作に異常を発生させる。「クラッシャー」はソフトウェアをクラッシュさせる動作を意味している。ソフトウェアの構成やハードウェアに直接の破壊的な影響を及ぼす場合もある（FDDアタックなど）。
日本語では「ブラクラ」と略称されることもある。
HTML 記述型.
HTML を不正な形で記述することによってブラウザに不具合を起こさせる。JavaScript が動作しない環境でも動作するため脅威となる。
ウィンドウ無限表示型.
このタイプのブラクラが最も有名なブラクラであるといえる。このブラクラは「JS_SPAWN.A」と呼ばれ、該当のページにアクセスすると、新しいウィンドウを無限に開き続けることで、メモリの使用量が爆発的に増加し、最悪の場合フリーズする。
ユーザーがウィンドウを一つでも閉じると、ウインドウがねずみ算式に開かれる様になっている場合がほとんどである。トロイの木馬として分類されている場合があるが、ファイルやレジストリなどの改変を行わないものが大半である。しかし、悪質なものになると単にブラクラとして動作するだけでなく、ウイルスをダウンロードさせるなどの二次災害を引き起こすサイトもある。
対応策
mailto ストーム（メイルトゥストーム）.
上記と似たタイプのブラクラである。mailtoスキームを悪用して電子メールの作成画面を起動するマークアップを大量に記述し、メール作成画面を大量に開かせる。結果、閲覧者のコンピュータやブラウザを過度のリソース消費によりフリーズさせる。タグでメール新規作成画面を開かせる際、codice_1と書き、このリンクをクリックすると、ブラウザに設定されたメールクライアントが起動する。これがmailtoストームの名前の由来である。
防御策
電子メールクライアント側で対策（メール作成画面に上限を設けるなど）されていることも多い。
mailtoストームに類似する誤作動
FDD アタック・CD-ROM アタック.
fileスキームを悪用してフロッピーディスクドライブ (FDD) へのアクセスを繰り返す、CD-ROMドライブが開閉を繰り返すなど、周辺機器にアクセスさせるマークアップを多数記述し、ブラウザの反応を遅くする。場合によっては周辺機器に物理的影響を与える。特にフロッピーディスクは機器への負担が大きい。
通常Aドライブであるフロッピーディスクドライブがガチャガチャと動く。
防御策
もっとも、Windows XP以降の市販パソコンではフロッピーディスクドライブがレガシーデバイスと化し、別売のオプション扱いとするものが出てきている。このようなパソコンにはAドライブが存在しないため、フロッピーディスクドライブアタックは効かない（やむなく使用する必要がある場合、USB接続の外付けドライブなどで代用する）。なお、Windows以外のプラットフォームは影響を受けない。
テーブルネスト.
codice_12 タグの中に codice_12 タグを入れ、さらにその中に codice_12 タグを入れ、これを故意に深くネスティングさせたもの。古いブラウザ、特にバージョンの古い Netscape Navigator（4.x あたりまで）ではフリーズしてしまう。 意図しなくてもページレイアウトのために codice_12 タグを多用した場合、同じことが起こりうる。
防御策
concon クラッシャー.
concon バグと呼ばれるバグを利用したもの。Windows の予約デバイスに関する不具合を持つファイル名やフォルダ名にアクセスさせ、OS を停止させる。CON, AUX, NUL などが該当。
防御策
Telnet ストーム.
サーバとの通信に使われるtelnetサービスを悪用してDOS画面に似たプロンプトを開く。
防御策
JavaScript 記述型.
クライアントサイドのスクリプトである JavaScript を悪用したもの。HTML 記述型と複合させたものもある。JavaScript の動作しない環境では作動しない。そのため、JavaScript 型は全て JavaScript を無効にすることによって回避することができる。
JavaScriptループ型.
JavaScript を使用している場合、処理をループさせている場合が多い。それは、HTML 記述型の場合、有限回しか実行させることができず、さらにソースも長くなるのに対し、JavaScript を使用すれば数行で何回でも実行させることができるからである。
本項では、無限にループさせるものとして記述する。
JavaScript の無限ループ.
スクリプトが永久ループすると、CPU の使用率が 100% になりパソコンの動作が非常に鈍くなる。場合によっては、フリーズする。
防御策
ウィンドウ無限表示型.
上記のHTML 記述型と効果はほぼ同じ。最近のブラウザには標準でポップアップブロックが装備されているものが多いので、実行されにくくなってきた。
ウィンドウストーム
mailtoストーム
その他の例
mailto ストームのように、HTML 型の脅威を JavaScript の反復処理によって記述される危険性がある。FDDアタック、ソースストーム、ftpストームなどが代表例。
防御策
上記のHTML 記述型と同じ
無限アラート.
アラートを多数回または無限に開かせる。一部のウェブブラウザではアラートはダイアログボックスで実装され警告を促すため最前面に表示されるようになっているため、メッセージボックスが表示されている間は操作できない。このブラクラではアラートを閉じると次のステップでまたアラートを表示する。したがって、アラートがダイアログボックスであるブラウザではアラートが終了するか、プロセスを終了しない限り操作が何もできなくなる。
防御策
×ストーム.
画像を表示できなかった時の×マークを大量に表示させ、フリーズさせる。無限に指定するものや、多くの数を指定してフリーズさせるものなどがある。
防御策
フルスクリーン化.
ブラウザをツールバーなしの全画面表示にしてしまう。
防御策
ブラウザによっては、標準でポップアップブロックに対応しているため、実行されにくくなっている。
ゾンビウィンドウ.
何度閉じても、ゾンビのごとく復活するウィンドウのことをいう。消した数よりも開くウィンドウが多い場合もある。この場合、ウィンドウがねずみ算式に増えることになる。悪質なポップアップ広告にしばしば使われている。
防御策
JavaScript実装のバグをついたもの.
特定のブラウザーのJavaScript実装のバグをつくタイプ。
防御策
WindowsのNTFSのバグを利用したもの.
Windows Vistaから8.1まででChromium系ブラウザ以外が対象。NTFSのバグを使ってブラウザやシステムを停止させる。ドライブやOSは弄らないので、再起動させたら元に戻る(2017/06/02現在は対策なし)。
防御策
I'm Feeling Lucky ブラクラ.
I'm Feeling Lucky ブラクラとは、Google のトップページの、「検索」ボタンの横にある「I'm Feeling Lucky」ボタンを悪用したブラクラのことである。I'm Feeling Lucky とは、Google の機能の一つで、検索結果の一覧を表示せずに直接検索結果のトップに挙がったウェブページにジャンプする機能のことだが、その機能を利用して、ブラクラサイトが検索結果のトップに表示されるような検索語をリンク先の URL に仕掛けるとクリックした者をブラクラに誘導することが可能になる。
掲示板などにリンクが貼られていた場合、普段は多少怪しいと思うようなリンク先であっても、I'm Feeling Lucky を使った URL の場合、codice_19 というような URL になり、ドメインが Google であることから安心してクリックしてしまい、ひっかかりやすいとされている。
また、codice_20 の部分は省略でき、さらに btnI は codice_21 と URL エンコードもできるため、codice_22 となる。このように、偽装が容易である。
防御策
ブラクラを踏まないようにするための対策.
ブラクラを踏まないようにするためにも、次のような対策を行うべきである。
精神的ブラクラ.
派生した用語として「精神的ブラクラ」がある。これは、閲覧者に精神的な不快感を与えさせるグロ系や恐怖系の画像・音声・動画（死体の写真や動画など）にそれと気づかないようにアクセスさせることである。
単なる画像や動画の表示のみであるため、ブラウザやコンピュータ自体にはなんら影響はないものの、悪意を持って対象のURLをクリックさせることがブラクラと共通しているためこう名付けられた。「マインドクラッシャー」「マイクラ」とも呼ばれる。
外部リンク.
http//okumuralab.org/~okumura/javascript/