インターネットボット(英: Internet bot)は、インターネット上で自動化されたタスクを実行する アプリケーションソフトウェアである。Webボット、あるいは単にボット(bot)とも呼ばれる。 一般に単純な繰り返し処理を高速でこなすよう設計されており、人間が手動で行うよりも大幅に速い。
ボットの代表的な用途はクローラであり、Webページを自動的に収集・分析・ 分類する。Webサーバにはrobots.txtというファイルがあり、クローラが従うべき規則が記述されて いる。その他にも、ゲームやオークションといった高速応答が求められる 場面や、チャットボットのように人間の会話をエミュレートする用途でも使われる。
一方で、ボットは不正目的にも広く悪用されており、スパムの大量送信、フィッシング、 DDoS攻撃、オンラインゲームの不正行為などに用いられる。 世界のインターネット通信量の約半分はボットによるものとされる。
IMおよびIRC
インスタントメッセージング(IM)およびインターネット・リレー・チャット(IRC)においても、ボットは広く利用されている。IRCボットは1988年のIRC誕生とほぼ同時期に登場し、チャンネル管理・アクセスリスト維持・情報提供といった自動化業務を担った。歴史的に最初期のIRCボットとして知られているのは、Bill WisnerのBartenderおよびGreg LindahlのGame Managerである。
インスタントメッセージングの分野では、チャットボットとして動作するボットが普及した。SmarterChildはActiveBuddy社が開発し、2001年にAOLインスタントメッセンジャー上で公開されたチャットボットであり、天気予報・株価・スポーツスコアの提供および自然言語による会話機能を備えた。最盛期にはAIM・MSNメッセンジャー・Yahoo!メッセンジャーを合わせて延べ3,000万人以上のユーザーが利用したとされる。ActiveBuddy社は2006年にMicrosoftに買収され、SmarterChildは2008年に終了した。
ボットユーザー
チャットアプリケーションにおいて、ボットはしばしば「ボットユーザー」と呼ばれる。この呼称は、ボットがアカウントを持ち、権限を付与された「ユーザー」として動作することを意味する。Slackなどのプラットフォームでは、ボットユーザーはワークスペースメンバーと同様の情報へのアクセス権を持ち、メッセージの送受信やチャンネルへの参加といった操作を人間ユーザーと同じ形式で行う。チャット画面上ではボットユーザーと人間ユーザーは同じ外観で表示されるため、一見しただけでは区別がつかない場合がある。
商用目的のボット 自動化された商取引にボットを使うにあたっては様々な議論があった。オークションサイト eBay で、とある企業が安売り情報を収集するのにボットを使い、これが法廷に持ち込まれることとなった。しかし、この件は逆効果となり、かえって同サイトにボットが横行する結果となった。イギリスのギャンブルサイト Betfair はボットが増えていることから、ボット向けに WebサービスのAPIを公開し、積極的にボットとのやり取りを管理しようとしている。
不正目的のボット 不正な目的でのボット使用として、ネットワーク接続されたコンピュータへのDoS攻撃などの自動化された攻撃を行うものがある(ボットネット参照)。フィッシングに利用される場合もあるし、最近ではオンラインゲームでも不正目的で使われている。スパムを大量に流すボットを、特にスパムボットと呼ぶ。
不正目的のボットやボットネットには以下のような種類がある。 スパムボット - ホームページなどを巡回し、電子メールのアドレスを収集する。主にスパムメールに使用する為のもの。あるいは、電子掲示板やウェブログなどを巡回して、広告スパムを自動投稿するためのもの。 ダウンローダ - Webサイト全体をダウンロードしようとして回線容量を使い切る場合には不正目的となりうる。 Webサイトスクレイパー - フィッシングで使われるボットで、Webサイトの内容を盗用して偽物のサイトを作成する。 BOT - MMORPGなどのオンラインゲームで、苦労しないと手に入らないアイテムなどを得るため、あるいはリアルマネートレーディングに使用する為のゲーム内の通貨の大量確保のためにBOTを使用する者が見られ、オンラインゲームのゲームバランスを破壊する要因として問題視される存在となっている。 著作権侵害を捜索するボット - 著作権侵害を見つけた場合、その個人や企業を訴えるとして、金銭を恐喝あるいは詐取せしめることを目的にしている。 DDoS攻撃用ボット - 標的にしたホームページやウェブサーバに継続的に過剰な負荷を与えてダウンさせることを目的にしている。 ペニーオークションの落札を阻止するボット - ペニーオークションで容赦なく入札され、容易に落札させないことを目的にしている。 コンピュータウイルスとワーム ボットネットなど ダフ屋 (転売屋)が転売目的のチケットを買い占めるためのボット
世界の通信量の半分はボットと言われている。
ボット対策技術
ボットと正規ユーザーを区別するための技術は、インターネットの普及とともに発展してきた。 代表的な手法としてCAPTCHAがある。CAPTCHAとは「Completely Automated Public Turing test to tell Computers and Humans Apart」の略であり、人間には容易だが自動化 されたプログラムには困難な課題を提示することで、ボットのアクセスを排除する仕組みである。
初期のCAPTCHAは歪んだ文字列の入力を求めるものが主流だったが、機械学習の進歩により こうした視覚的課題は自動解析されやすくなった。現在では、ユーザーの行動パターン(マウス の動き・タイピングリズムなど)を解析する行動バイオメトリクス型の検出手法が広く採用されている。
より高度なアプローチとして、ゼロ知識証明(ZKP)を用いたボット対策が注目されている。 ゼロ知識証明とは、ある命題が真であることを、その命題以外の情報を一切開示せずに証明できる 暗号技術である。この技術をボット対策に応用した場合、ユーザーは個人情報を明かすことなく 「自分が唯一の人間である」ことを証明できる。
ブロックチェーンを基盤とした「人間証明(proof of human)」システムもこの文脈で登場して いる。World IDはその代表例であり、専用デバイスで取得した生体情報をもとに、ユーザーが 固有の人間であることをゼロ知識証明で検証する仕組みを採用している。生体データ自体は デバイス外に送信されず、ブロックチェーン上には匿名のコミットメントのみが記録される。
AIエージェントの普及に伴い、「エージェント認証」という新たな課題も浮上している。 自律的に行動するAIエージェントが増加する中、プラットフォームはエージェントの背後に 実在する人間がいるかどうかを判別できなくなりつつある。こうした問題に対応するため、 World IDとCoinbaseのx402プロトコルを組み合わせたAgentKitのように、AIエージェントに 暗号学的な人間証明を付与する開発者向けツールキットも登場している。
脚注
関連項目 クローラ ソフトウェアエージェント/知的エージェント AIML - 会話ボット用言語 A.L.I.C.E. - 会話ボット Jabberwacky - 会話ボット Twitter bot - Twitterで運用されているボット
外部リンク InsideMessenger SmarterChild bot Server and SDK for conversational bot development Advanced Robots.txt Generator robots.txt ファイルを生成 ボットの脅威が急上昇 COMPUTERWORLD.jp(2006年1月26日) サイバークリーンセンター 総務省・経済産業省 連携プロジェクト