「良いボット」と「悪いボット」の見分け方 ~進化する悪性ボットに対抗するWebセキュリティ~

「良いボット」と「悪いボット」の見分け方 ~進化する悪性ボットに対抗するWebセキュリティ~

「悪いボット(bad bot)」の近年の進化は目覚ましく、その攻撃はますます巧みに、強力になってきています。

今回は、WebサイトやWebアプリケーションを守るために必要なボットに関する基礎知識と、おすすめのボット対策についてご紹介します。

ボット対策は、Webサイトを守るために不可欠であり、その重要性は年々増しています。近年の「悪いボット(bad bot)」の進化は目覚ましく、その攻撃はますます巧みに、強力になってきているからです。

WebサイトやWebアプリケーションを守るために、どのようなボット対策が必要なのでしょうか。今回は、ボットに関する基礎知識と、おすすめのボット対策についてご紹介します。

botのイメージ

ボットとは?

ボット(bot)とは、人間に代わって作業を自動化するプログラムを指します。

ボットという名称は、一説にはロボット(robot)から転じていると言われています。 身近な例を挙げると、世界中のWebサイトの情報を収集して回る、クローラーと呼ばれるプログラムはボットの一種です。

クローラーがWebサイトの情報を自動的に収集して検索エンジンのデータベースに登録することで、Googleなどの検索結果にサイトが表示されるようになります。  

ボットには「良いボット」と「悪いボット」がある

クローラーのように、人の役に立つ良いボットがある一方、「作業を自動化する」という点を利用した「悪いボット」があることも事実です。

例えば、インターネットバンクの口座に不正ログインを何度も試みたり、Webサイトの脆弱性を探るために様々なアクセスを試みたりすることに利用されるボットがあります。

他にも、本物のサイトとそっくりな詐欺サイトを作るために、サイトのすべてのコンテンツを吸い上げたり、WebサイトのAPIに対して攻撃し、Webサイトを乗っ取ったりする例もあります。

また、ライブのチケットや航空券、人気のある商品などを買い占めて転売するような場合にも、ボットが多く使われます。

ボット対策は、Webサイトの安全を守るために不可欠

Webサイトセキュリティにおいては、様々な悪事を働く「悪いボット」に対して対策を講じることがますます重要になっています。

なぜなら、Webサイトを攻撃する手法は急速に進化しており、その手法はすぐに悪いボットに適用されて、あっという間に世界中に広がるからです。さらに、攻撃性の高い悪いボットは、ダークウェブ(非合法な情報やマルウェアなどが取引されるWebサイト)で誰でも買える攻撃ツールになっています。

もはやWebサイトセキュリティを高めるには、Webサイトへのアクセスの内容を確認して攻撃をブロックするだけではなく、Webサイトへのアクセスが人間なのかボットなのか、さらにボットであればそれが良いボットなのか、悪いボットなのかを判断して、悪いボットだけをブロックするという対策を講じることが必要になっているのです。

米Imperva社は、2019年の全インターネット通信の24.1%が、悪いボットによるものであると分析しています(*1)。また、悪いボットによる通信の割合は2018年と比較して18.1%上昇し、過去最悪になっていると報告しています。  

悪いボット (bad bot)を識別する方法

それでは、最新のWebサイトセキュリティでは、どのように悪いボットを識別しているのでしょうか?人間/良いボット/悪いボットの識別は、大別して3つの方法があります。

①アクセス元からのリクエストの内容からボットを識別

WebブラウザからWebサイトへアクセスするときの通信で使われる情報を利用して、悪いボットかどうかを識別する方法です。

WebブラウザからWebサイトにアクセスする際のリクエストには、画面に表示される情報以外にもたくさんの情報が詰め込まれています。ブラウザや良いボットは、リクエストの情報に自分が何者であるかを設定して通信しています。悪いボットもほとんどがGoogle Chromeブラウザを名乗るため、これだけでは判断できませんが、一つの材料にはなります。

また、セキュリティベンダが蓄積した悪いボットに特徴的なデータや、インターネットで共有されている悪いボットのIPリストなども利用して、悪いボットからのアクセスかどうかを判断します。

②CookieやCAPTCHAなどを利用してアクセス元の反応からボットを識別

Cookieは単なるセッションの管理だけではなく、アクセス元を判断する重要な情報源になります。

またCAPTCHAとは、「いびつな文字を読み取らせてその文字を入力させるように促すこと」でボットをあぶり出す対策です。

③Webサーバの応答にJavaScriptプログラムを仕込み、アクセス元の情報を取得してボットを識別

JavaScriptによって取得できるアクセス元の情報は、ブラウザ/デバイスフィンガープリントと呼ばれることもあります。アクセス元のCPUコア数やインストールしているアプリケーションのバージョン、果てはキーボードの文字入力速度/マウスの動かす速度なども分かります。

JavaScriptによって収集した情報から、人間ではありえない情報を持つものをボットと判断することができるのです。例えば、マウスの動きにしても、人間とボットとでは明確な違いがあります。

しかし、最新の悪いボットは、JavaScriptを平然と受け入れ、人間の動作と同じマウス操作を再現させることができます。

そのため、最新のWebセキュリティでは、アクセス元から取得できる複数の要素を組み合わせることで、個々のアクセス元を識別してボットの対策を実施しています。200以上の要素を利用して、悪いボットを判別しているセキュリティベンダもあります。 複数の要素を組み合わせて判断することで、攻撃者がボット攻撃ツールを別のものに変えても、同じ攻撃者からのボットアクセスだと識別できるようになります。

もちろん、悪いボットも見破られないようにするために、上記のボット対策を何とかして欺こうと進化を続けています。そのため、Webサイトセキュリティでは悪いボットを識別するための精度を常に更新する必要があるのです。

ボット攻撃からWebサイトやWebアプリケーションを守る、TrustShelter/WAF

NTTテクノクロスのTrustShelter/WAFは、WAF(Web Application Firewall)機能だけではなくWebサイトセキュリティとして、ボット対策を重視したクラウドWAFサービスです。

無料トライアルで、御社のWebサイトにどれだけの悪いボットによるアクセスがあるのか、確認してみませんか?ボットのアクセス数の多さと、悪いボットの割合に驚かれると思います。悪いボットによって御社のWebサイトやWebアプリケーションが攻撃される前に、ぜひお試しください。

(参照) (*1) Bad Bot Report 2020: Bad Bots Strike Back ※Freepik.comのリソースを使用しています。