荒らしプログラム(あらしプログラム)とは、インターネットにおける掲示板及びチャット等、Webに設置されたコミュニティを破壊し、機能不全に陥れる荒らし行為目的に開発された、ウィルスよりも脅威が小さなプログラムを指す。
日本国外においては荒らし自体が少ないため、こういったプログラムが作成されたケースはあまりない[1]。
また、これらのプログラムの使用は、「お遊び」的な要素が強いため通常サイバーテロとは呼ばれない。
俗称DUKE。またDoS攻撃は、方法に応じてF5アタックや田代と呼ばれる事もある。
概要
通常、荒らし行為は一般的な掲示板投稿と同じように、Webブラウザを用いて行われる。投稿者名、題名、内容欄に適当な文字列を入力し投稿ボタンを押すことの繰り返し作業をする事が一般的である。この単純作業を、人力を用いずプログラムで自動的に行えるようにしたものが荒らしプログラムである。現在では、対象サイトのセキュリティ回避のために追加機能を持つものも多い。
俗称であるDUKEの由来は、掲示板荒らしの権化とも呼ばれたアリス・リデルの昔のハンドルネームであるという説や、WinNUKEと呼ばれるDoSアタックプログラムを捩ったものという説がある。
仕組み
簡単な荒らしプログラムはWebブラウザに自動投稿機能を付加したもの、と言ってよい。実際にはその目的が荒らしであるため、内容表示や投稿ボタン、ブックマーク機能、URL表示、などのインタフェースは搭載されない場合が多い。使用されるコンピュータ言語はPerlが用いられる事が多い。また、ブラウザの機能を使用するタイプの荒らしプログラムにはJScript、VBScript、JavaScriptが用いられることが多い。
Perlで書かれたものは、ソケットプロセスを用いてブラウザのデータ通信と同等の内容を連続して行えるよう設計されている。
一般的に掲示板荒らしは己の身元を隠すため、プロキシサーバを経由したアクセスを行うが、荒らしプログラムにおいても同等の機能が付随する事が多い。
被害
- 連続投稿タイプ
- 一般的に荒らしプログラムは、掲示板等への連続投稿によって、既存の投稿を流してしまう事で荒らし行為を行っている。連続投稿の速度は1秒間に1~5回程度という場合が多く、300件のログを保存出来る掲示板であれば、5分以内にはすべて流れてしまう事になる。これは既存のWeb掲示板のほとんどが、一定量のログが貯まると古いものから、順に削除していく仕組みとなっているのを悪用している。
- しかしながらこの方法では、ログを自動的に外部ファイルに保存していくようなタイプの掲示板に対しては、効果が薄い。また、「投稿間隔制限を設けている掲示板」でも同様である。これは、連続投稿タイプの場合、1秒以内に瞬時に投稿が行われる事を逆手にとって、5秒以内の投稿を禁止するようプログラムされた掲示板である。
- 念仏タイプ
- そのような「掲示板に対抗するタイプ」の荒らしプログラムとして、念仏タイプが挙げられる。これは投稿数自体が1~10分間に1度と少ないものの、所定のアルゴリズムに沿って「自動生成された文章」を投稿するもので、他の利用者が荒らしとは気づかない場合もある。
- 自動生成された文章も見た目は普通の投稿であるから、他の利用者たちは、その投稿の内容を読んだりレスを付けたりする。一般に掲示板での書き込みは、他の利用者たちへの返答を行う形で形成される場合が多く、自動生成された文章が投稿されれば、そこで会話が成立しなくなる可能性が高い。
- 田代砲などと呼ばれるHTTP経由によるDoSアタックプログラムには、一部の例外を除き(下記:2つ以上の機能を有するものを参照)このような機能は搭載されていないため、万人が行える手法ではないが、念仏プログラム自体はIRCなどで使用する目的で、Perlによって書かれたものなどが出回っており、Perlで書かれた荒らしプログラムにこれを実装するのは、さして難しくはない。
種類(DUKE)
イメタグ
- HTMLの<img>タグに、外部掲示板にGETメソッドでアクセスし書き込む形式のスクリプトを埋め込んだ、クロスサイトスクリプティングを悪用したHTMLタグ。タグをサポートしていた旧形式の掲示板などにスクリプトごと貼り付けられ、読み込んだ第三者がターゲットをアタックする仕組みだった。この方法は、クロスサイトスクリプティングの実用例として初めてのものであった。(作者:アリス・リデル、但し原型はMAGI)
- 厨房でゅーく1号
- HTMLの<form>タグで上記の<img>タグの連続投稿版。自分で投稿する。(作者:厨房 MotherFucker)
- 厨房でゅーく2号
- 上記の1号を改造した物。1号より投稿数が早く、ページの簡素化と高速化がなされている。(作者:pikapikara)
連続投稿ツール
GIF・X BitMap(XBM)コード対応型
- ひみこーど対応型PerlDUKE
- MSNのアカウント取得で使用されていたCaptchaのイメージ数字を解析するタイプのPerlDUKE。(作者:VVSおじさん)
- Storm
- パラメータ自動生成型荒らしツールで自動でfrom解析をしてアタックするJavaアプリケーション。一部でstromの改良版が出回っており連結GIFタイプのひみこーども突破できる事が確認されている。GabriDukeからの世代交代となり、操作が簡単だったために悪用された。(作者:Storm)
- RIXY Phaser
- XBM生成型のひみこーどを解析可能なタイプのPerl製Duke。
- himidecode.pmなる独自のひみこーど解析用Perlモジュールが付属していた。(作者:TEAM RIXY)
踏み台型
- RouterDuke
- WarDrivingなどの手法で発見したセキュリティロックが掛かっていない無線LANルータに、DoS実行コードを含んだファームウェアを登録し踏み台として使うDuke。一種のバックドアだが、攻撃者のアクセスはWAN経由ではないためプロバイダ等のログには残らず、攻撃者を特定する事が非常に困難である。ポートスキャンにてルータの脆弱性を突くタイプのものも存在する。(作者:不明)
ウィルス・ワーム型
- WinnyDuke
- Winny等のP2Pファイル共有ソフトで流通するファイルに感染するタイプのウィルス型DUKE。Antinnyの一種とされることもある。感染したPCが直接攻撃するため、DSBLを採用する2ちゃんねるなどにも攻撃出来るとされる。目的が荒らしというだけで、中身はDoSアタックプログラムと変わらない。(作者:VVSおじさん)
汎PerlDUKE
以下に示すPerldukeについては、様々な作者による機能付加、派生型が存在する。以下にその改造元と派生型の一例を示す。
- PerlDUKE
- Perlで記述され、Webサーバで実行する事によりターゲット掲示板をアタックする事が可能なスクリプト。広帯域を持つサーバで実行されるため、高効率。世界初の実用的な荒らしプログラム。(作者:アリス・リデル)
- PHASER
- 投稿コード発行型の掲示板において、一度掲示板を読み込む事で投稿コードを取り出し、また解析することで以降投稿コードを読み込む手間を省くタイプのPerlDUKE。(作者:アリス・リデル)
- CoinDuke
- お絵かき掲示板対応型のPerl製Duke。画像添付が可能で主に画像掲示板等のアタックに使用されていた。(作者:瑞穂)
- ChannalDuke
- ターゲット掲示板のローカル変数を取り込む事で、設定変更を不要にしたPerlDUKE。(作者:VVSおじさん)
- PerlDukeExplorer
- ターゲット掲示板と同一サーバ内同一権限内で実行する事で、掲示板ログを直接書き換えてしまう迷惑スクリプト。(作者:アリス・リデル)
- ICQ-Spam
- ICQ上において、ランダムなターゲットのユーザーインターフェースナンバーにspamメッセージを送り付ける念仏タイプのPerlDUKE。投稿間隔を指定できる。送り付けるメッセージのタイプは、通常のメッセージとURL付きメッセージの2種類が選択可能である。(作者:kurea・他数名)
- ChiririDuke
- Perlモジュールを多用し、様々な状況に対応したローカル実行向きのPerlDUKE。(作者:VVSおじさん)
- ChiririDuke2
- ChiririDukeの弱点、スレッドのメモリ使用量を改善するために、スレッド発行数自体は少なくし空いたプロセスが次の処理を行えるようにパイプライン化したもの。また任意のロジックを組み立てられる構成になっており、多段階の操作が必要な掲示板等にも対応している。(作者:VVSおじさん)
- ドールリカ
- ブラウザで読み込む事で、ローカル環境で実行可能な荒らし目的のPerlモジュール。名前の由来は、テレビアニメ スーパードール★リカちゃんに登場する同名の人形、ドールリカから。実際にドールリカの圧縮ファイルセットには、オープニングテーマソングのMIDIと同人形のJPEG画像が添付されている。これらのセットを別の曲や画像に置き換えて投稿することも可能。(作者:RIKA)
- 2ch Phaser
- 2ちゃんねるの単一スレッドへの投稿を目的としたPerlDUKE。
- 派生版としてmegabbsを攻撃対象とした物も配布されていた。(作者:不明)
- あゆ板抹殺セット
- 配布当時、Warez界隈で広く用いられていたあゆ板への攻撃を目的としたPerlDUKE。
- あゆ板を模したインターフェイスや豊富な投稿用テンプレートが特徴。(作者:mido)
- 茶碗フェイザー
- teacup掲示板への投稿を目的としたPerlDUKE。(作者:不明)
- OtdBbsDuke
- OTDBBSへの投稿を目的としたPerlDUKE。(作者:厭己)
その他
- fjmaruお掃除スクリプト
- 1997年頃、無料レンタル掲示板の「県人会」(管理者:とめ)において、規約違反内容が書き込まれた場合にログを流す目的で開発されたJavaScript。(作者:とめ)
- IronDUKE
- 読み込んだ第三者がターゲットをアタックするように仕組まれたJavaアプレット。<img>タグより高度な点として、CGI環境変数のHTTP_REFERERを任意の値にする事が可能で、該当変数により外部フォーム投稿を規制していた掲示板をアタック出来た。HTMLやマクロを除外すれば、事実上世界初の荒らしプログラムとなる。(作者:ガブリエル狂子)
- GabriDuke
- Javaアプリケーションで作られたDuke。環境変数偽装プログラムのGabrienaiにDuke機能を追加したもので、複数のプロキシをランダムに選択する事が可能。(作者:弥太郎)
- KururuDuke
- 独自マクロ言語を用い、スクリプトを組むことができるDuke。荒らし目的ではなく、Webメールやゲームアカウントの自動取得のために作られた。(作者:VVSおじさん)
- age2ch.pl
- 2ちゃんねるのスレッド更新保守用Perlスクリプトであるが、度々荒らし目的に使用されていた。
- 2ch厨房板で配布されていた初期のage2ch.plは、スレッド容量オーバーを目的とした機能等、攻撃用スクリプトとしての性格を明確にした仕様であった。(作者:不明)
文献
- ばるぼら『教科書が教えないニッポンのインターネットの歴史教科書』、翔泳社、2008年。ISBN 4798106577。
- Dukeを含む掲示板荒らしプログラムの歴史がまとめられている(「第2章 インターネットブームの光と影 【アンダーグラウンド考古学(僕らはみんな厨房だった)】」 145―151頁)。]
種類(田代砲)
元々は、人気投票に対して一度に大量の多重投票を行うためのスクリプト。JavaScriptで記述されていてブラウザ上で動かすものが多いが、実行ファイル形式のプログラムも存在する。高速で大量に投票するため、サーバに負荷がかかる。最近ではサーバに負荷をかけることを目的に使用されることもあり、負荷をかけることに特化したプログラムも田代砲と呼ばれている。負荷をかける目的とは主に、通常ではありえない速度(例えば1分間あたり1000回以上もの速さ)でのリクエストをサーバーに送る事でダウンさせることである。Windowsでの「ページ再読込」機能を割り当てられたファンクションキーの名前から、「F5アタック」と呼ばれることもある。ただし、これはDoS攻撃一般に言える。
下記に示す初代田代砲は、田代祭と呼ばれる一連の投票騒動の中で最初に作られた最初の田代砲である。このスクリプトを原型として複数の改良型が製作され、田代砲がプログラムの一種として確立するきっかけとなったが、このスクリプト自体は非常に簡素かつ稚拙な代物であった。なお、該当する投票騒動に関する詳細な経緯については、田代祭および田代まさしを参照されたい。
<html>
<head>
<meta http-equiv="refresh" content="0">
</head>
<body>
<iframe height=500 width=500 src="http://--------------------">
</iframe>
</body>
</html>
ブラウザ依存型
草創期
- 初代田代砲
- 上記のソースコードを参照。ハイフン部に対象となるURLを入力して上書き保存。それをローカルで実行して直接攻撃する。自動停止などの制御機能は一切持っていない。
- 軽量田代砲
- 初代田代砲の改良版。「訪問先のアドレス」の部分には、http://---------------と同じく対象となるURLを記入して上書き保存する。FRAMEを4つ作ることによって攻撃力を4倍にしようというものである。しかし、単純に1回の更新で同時に4回のアクセスが可能となるわけではない。
- 多連装田代砲
- 初代田代砲の改良版。軽量田代砲と同じくFRAMEを横に4つ並べることによって攻撃力を上げる仕組み。
- レーザービーム田代砲
- 初代田代砲の改良版。機能的には下記の超田代砲と殆ど大差ない。別名、ソーラレイ田代砲。
- スナイパー田代砲
- 初代田代砲の改良版。こちらも超田代砲と殆ど機能面は同じである。
超田代シリーズ
- 超田代砲
- 初代田代砲の改良版。自称「田代の叔父」が開発した。HTMLを開いただけでは攻撃が開始しないよう修正されているが、停止機能がなかったり、ソースを開いてhttp://---------------のハイフン部を上書き保存しなければならなかったりする点は初代と同じ。なお、このバージョンから初めてJavaScriptと、発射間隔(アクセスのインターバル設定)が実装された。純粋な多重投票ツールとして、30分で5万アクセス以上を実現したが、TIME誌サーバーに負荷がかかりすぎて一時ダウンした(DoS攻撃)。この時から、田代砲がサーバに負荷をかけるスクリプトとしても考えられるようになった。
- 超田代砲改
- 超田代砲の改良版。超田代砲からの変更点は、発射間隔に加えて、新たに発射弾数を指定できるように改良されたこと。これはあらかじめ連続アクセスする回数を指定することによって、指定された回数に達したらアクセスを停止できる機能である。ただし、指定回数に達していない間はブラウザを閉じない限りアクセスが続く。また、ハイフン部を上書き保存しなければならない点も上記2作と同じである。
- 超田代砲改 Ver.1.2
- 超田代砲改の改良版。上書き保存式であるhttpハイフンが廃止され、代わりに入力ボックスに直接URLを記入できるよう改良されている。インターバルの初期設定値は2*1000ミリ秒(=2秒間)だが、この値を極端に低い値(例えば50ミリ秒といったよう)に変更することができ、DoS攻撃用に用いられることも多い。
- 超田代砲改 Ver.1.2 プチ改造大東亜共栄砲
- 超田代砲改 Ver.1.2からの改良版。今までの田代砲には実装されていなかった「途中で停止できる機能」を盛り込んだ初の砲台。これにより、途中でアクセスを停止し、その後再アクセスしたい場合に、わざわざブラウザを開いて最初から設定を入力しなおす手間がなくなり、気軽に停止できるようになった。
- あゆ砲
- 葉鍵板で開発された砲台。投票ターゲットが月宮あゆになっていること以外、超田代砲と同じと言って差し支えない。
メガ粒子シリーズ
- メガ粒子田代砲unlimited
- メガ式田代弾投下装置
- 25連打田代砲
- 田代ファンネルver1.1
- 連射改造用TASHIRO Ver1.1
- ショットガンTASHIRO Ver1.1
- 真田代砲R
- 小窓式メガ粒子田代砲
- Attacked
- 田代砲 ブラスターキャノン
- テラダブルダブル田代砲
トルネードシリーズ
- トルネード田代砲
- トルネード田代砲改
- トルネード一式
- トルネード二式・甲
- トルネード二式・乙
- トルネード三式・甲
- トルネード三式・乙
- トルネードZERO
雷禅シリーズ
boonシリーズ
97式シリーズ
単発作品
- 海外製
- 방법(方法) 2004
- 日本名、南鮮式田代砲。ハングルが示すとおり韓国生まれの田代砲。韓国ネチズンが2ちゃんねるのサーバに一斉負荷攻撃をかけた際に使われた砲台。性能面においては超田代砲とほぼ同じである。田代砲と同じく、多くの亜種が存在する。
GUI型
コマンドライン型
存在が不明確な砲台
テンプレート:未検証 田代祭りの際に出現した田代砲。いずれも公開されなかったため、名前だけが伝えられている。4つとも初出は「【すべては】田代戦争 21【神のために】」(過去ログ)。レス番はこのスレッドのもの。
- マルチキャノン田代
- 初出は909。レーザービーム田代を超える兵器として白兵戦用田代ギロチンと共に作り出された。作者が公開自粛したため、存在は不明。
- 拡散田代砲
- 同じく公開されなかった田代砲。田代祭の際に開発された。初出は916。作者によるレスが2つしか無く、情報が極めて少ない。[2]
- 白兵戦用田代ギロチン
- 903がレーザービーム田代を超える兵器として作り出した田代砲。心の中に封印するとしていたが、923で作者が「悪魔の兵器」とコメント。公開はされなかった。950で作者自身が述べているところによると、完璧に作動して1秒間に50票の投票が可能だったらしい。
- サテライトキャノン -TASHIRO-
- 933で登場し、1秒間に1000以上の投票を実現した。レーザービーム田代級の田代兵器を凌駕する連続アクセス力を持つが、12個のプロキシのうち8個をダウンさせることが作者の実験で判明し、公表されなかった。万一田代まさしが投票の選択肢から消された場合には公開する意図があったらしい。
種類(2つ以上の機能を有するもの・およびその他)
田代砲+DUKE
- 田代砲 ブラスターキャノンMk-II・[VIPPER Script Duke]
- その名が示すとおり、田代砲とDUKE双方の機能を併せ持ったVIP板発のスクリプト。特徴として、JScriptとCSSを併用している。さまざまな攻撃形式に対応しており、田代砲としてDoS攻撃に使えるほか、DUKEとして使う場合は設定次第で簡体字やハングルのほかアスキーアートも投稿できる。初出は2006年7月頃。なお、初代“Mk-I”は田代砲のみの機能しか持っていない。(作者:スノ・$2)
田代砲+Pingアタック
- Microsoft Web Application Stress Tool
- マイクロソフト社のサーバ負荷試験ツール。俗称ゲイツ砲。これを模したものとしてゲイツ砲改・ゲイツ砲改マルチ・ゲイツ砲改マルチトルネードがある。
対処
基本的には掲示板荒らしの対処措置と変わらないが、一般的な荒らしの多くが手書きで短時間であるのに対し、荒らしプログラムによるものは自動で長時間、さらにイタズラではなく攻撃目的であるため、しっかりした対処策を講じなければならない。
現在まで様々な策が考え出されたが、もっとも効果を挙げたのはDSBLだとされる。荒らしプログラムのほとんどはプロキシサーバを経由する仕組みのため、それら攻撃の踏み台として使われるプロキシサーバをあらかじめ規制しておけば、攻撃は出来ないことになる。
ただ、WinnyDukeなど一部の荒らしプログラムに対しての根本的な対策は今のところ存在せず、URLを変える、また攻撃を仕掛けたホストのIPアドレスを弾くなどの対症療法が限度とされる。
脚注
- ↑ 2ちゃんねるサーバーが韓国からと思われる(IPアドレスで)DDoS攻撃を受けたこともあり、あながち無いとも言えない。またその逆の攻撃もあり、様相はサイバー戦争だとも評されることがある。
- ↑ 拡散田代砲の呼称には2種類あり、ひとつはオリジナルである公開されなかった田代砲[1]、もうひとつはGabriDukeの別名[2]である。ただし前者・後者ともその出典に関する資料が非常に少なく、前者の場合はその砲台を実際に見た人物が作者本人以外誰もいない、後者の場合は誰が最初にGabriDukeの別名としてそう定義したのか判然としない。事実上どちらもインターネット上で一般に入手できる資料でしか確認する手段がなく、詳細は依然として闇の中である。
関連項目
- スクリプトキディ - 他人が興味本位で作成したプログラムを使い、周囲に迷惑を掛けてみたがる傾向が強い者たちの総称。荒らしプログラムも、彼らによって利用されることが少なくはないが、このプログラムを使うことをもってクラッカーを自称するケースもある。
- コンピュータウィルス
- サイバーテロ
- ワーム (コンピュータ)
- ボットネット
- コンピュータセキュリティ
- スパイウェア
- プロキシ
- ハニーポット
- SQLインジェクション
- 田代祭
- DoS攻撃
- Ping of death - GUI形式の田代砲の中には、連続してPingパケットを送りつけること(Ping砲・もしくはパケットアタック)によってサーバに高負荷を与えられる種類のものも存在する。
- ひみこーど
- LOIC
外部リンク
- ちりりDuke(リンク切れ)
- iRCが開発したプログラム(リンク切れ)
- ゲスッが使っていたとされるプログラム(リンク切れ)
- ゲスッ(リンク切れ)
- 田代砲の解説
- Anti-PHASER(リンク切れ)
- 田代砲の保管庫(リンク切れ)