サービスに関するお問い合わせ

緊急対応 専用窓口

セキュリティの緊急事態が発生したらご遠慮なくお問い合わせください。ご相談は無料です。

セキュリティの
学び場

SHIFT SECURITY セキュリティの学び場 技術や仕組み アンチオートメーションの必要性と方法

アンチオートメーションの必要性と方法

アンチオートメーションの必要性と方法
目次
  • アンチオートメーションとは
  • アンチオートメーションの必要性
  • アンチオートメーションの実施例

アンチオートメーションとは

アンチオートメーション(Anti-automation)とは、自動化・機械化されたアクセスを防止する仕組みです。

自動化・機械化された例として「ボット(Bot)」などが一般的に知られています。Webサイトのクロール、ユーザとのチャットなど様々な機能として使用され、特定の動作を自動化するように作成されています。

例えば、WEBアプリケーションの認証機能を攻撃するボットを作成した場合、ブルートフォース攻撃を実現することも可能です。

アンチオートメーションの必要性

それでは、自動化・機械化された攻撃の代表的な例を見てみましょう

① 認証機能における攻撃
ログインなどの認証機能の場合、ブルートフォース攻撃やパスワードリスト攻撃といった自動化された攻撃を受ける可能性があります。攻撃が成功するとユーザアカウントの認証を突破され、なりすましを受けます。

② アカウント作成における攻撃
新規アカウント作成の場合、不正使用するための複数のアカウントを攻撃者に作成される恐れがあります。

③ DoS攻撃によるリソース枯渇
長い処理時間の機能に対して、複数回実行することでファイルシステム、メモリ、プロセスなどのリソースの枯渇につながる恐れがあります。

いずれの攻撃もアンチオートメーションを実施することで、攻撃を軽減することが可能です。

アンチオートメーションの実施例

アンチオートメーションを実施するには、以下に記載する対策のいずれか、もしくはその組み合わせが必要です。

① 試行回数による制約
一定の試行回数を基準として定め、基準回数を超えた場合にロックします。
例えば、認証機能の場合にアカウントをロックし、一定時間使用できないように制限します。

② 試行頻度による制約
一定の間隔を基準として定め、基準間隔より短い場合にロックします。
例えば、直近の試行時間から再試行された間隔が短い場合に、一定時間使用できないように制限します。

①、②については、永続的なロックをすると、意図的なアカウントロックによるDoSを引き起こされる恐れがあります。そのため、時間経過による解除や、(認証の場合)パスワードの再発行による復旧等の対策も検討が必要です 。

ロックによるアクセス制御については、「IPアドレス単位」や「ユーザアカウント単位」などシステムの要件に合わせて検討する必要があります。

また、ロックまでの試行回数や頻度についても、要件やシステムの利便性を加味した上で定めることが必要です。一方で「ロックまでの試行回数が多すぎる」など、制約が十分でないと効果が得られない場合もあります。

③ CAPTCHAの設置
画像認証やパズル認証といったCAPTCHA機能によりボットを識別してブロックします。
これにより、試行されている内容が人為的であることが証明されます。
有名なものでは、Googleが提供するreCAPTCHAがあります。

あなたの疑問を一緒に解決します!

解説してほしい用語や技術、仕組みについての疑問、
みなさまのクラウドセキュリティのお悩みに関して技術者が記事にして回答します!
ぜひご気軽にご投稿ください。

クラウドの脆弱性診断にご興味があるかたはこちら

この記事の著者 田中 翔太

前職では主にWebアプリケーションのシステム開発と運用保守業務に従事。
2018年よりグループ会社である株式会社クラフに入社しセキュリティ業界に足を踏み入れ、Webアプリケーション診断・負荷試験の業務を経験後、2019年より株式会社SHIFT SECURITYに入社。
Webアプリケーション診断の標準化エンジニアとして、標準化やツール開発に携わる。
趣味はギター演奏。

\ 記事をシェアする /

サービスに関するお問い合わせ