1つのボットが、1,325通りの名乗りを使い分けていた
私たちが解析したログの中に、一つのまとまった攻撃元が、1,325種類ものUser-Agentを使い分けているケースがありました。
※ WAF等の対策が十分でないECサイトにおける、約30日間の実分析に基づく事例値です。
User-Agentというのは、「私はChromeです」「私はiPhoneのSafariです」といった、ブラウザやアプリの自己申告です。問題は、これがあくまで自己申告にすぎない点です。
名乗りは、いくらでも書き換えられる
ボットは、この名乗りを簡単に書き換えられます。正規のブラウザのふりをするのも、検索エンジンのクローラー(Googlebotなど)になりすますのも、難しくありません。1,325通りに切り替えられてしまうと、「このUser-Agentは怪しいから弾く」という単純なフィルタは、ほとんど意味をなさなくなります。
最近は、こうした動きをより人間らしく見せる工夫も進んでいます。アクセスの間隔をわざとばらつかせたり、正規の利用者のような順序でページを回ったり。見た目のうえで機械らしさを消してきます。
一件では分からない、並べると分かる
では、どう見分けるか。名乗りや、一件ごとのアクセスだけを見ても限界があります。効くのは、動き方をまとめて見ることです。同じ相手が、短時間にどれだけのページを、どんな順番で、どんな速さで見ているか。名乗りを1,325通りに変えても、この動き全体のパターンまでは、なかなか隠せません。これはログに残ります。
運営者にも、代行の方にも
「うちはUser-Agentやアクセス元で弾いているから大丈夫」という設計は、いまのボットには通用しにくくなっています。運営者の方も、顧客のサイトを見ている代行の方も、単発のフィルタではなく、動き方で見る視点に切り替える価値があります。
ボットの見分けは、名乗りより動き方を見るほうが確実です。一度、ログで確かめてみてください。
User-Agentやアクセス元での判定だけで、いまのボットを見分けられるのか?そんな疑問に対する答えは、こちらにまとめています。
動き方からボットを見つける — ミツケル
