DeepSecurity考察ブログ(C1WSもあるよ!)

DSとかSecurity関連をメインにしたい感。あと豆腐メンタルだから許して・・・・

【DSルール解説】1005402 - Identified Suspicious User Agent In HTTP Request

■ルール名
 1005402 - Identified Suspicious User Agent In HTTP Request

 

■ルールの説明

これは、WebサーバーまたはWebアプリケーションのスキャンと攻撃に使用されるHTTP要求の疑わしいユーザーエージェントヘッダーを識別するヒューリスティックベースのルールです。

注:追加のユーザーエージェントとイベントのアラート頻度を構成するための構成オプションが提供されています。

 


脆弱性

ルール上の説明は以下の通り。

※以下ではWordPressと書いてますが、どちらかいうと特定のUser Agentを拒否するルール。デフォルトでは詳細情報記載のものが対象となります。

 

WordPressは、不特定のマルウェアによるブルートフォース攻撃を受けやすい傾向があります。

 

■詳細情報

ルール上の詳細情報では以下のように説明

 

このDPIルールは、次のユーザーエージェント文字列で着信要求をブロックします。
これらのユーザーエージェントは、さまざまなWebスキャナー、脆弱性スキャナー、または悪意のあるボットによって使用されます。
これらのユーザーエージェント文字列を含むHTTP要求は、Webサーバーでの攻撃またはスキャン試行と見なされます。

 

Havij, dirbuster, SQLninja, Zeus, HTTrack,
JOC Web Spider, |3C|img, |3C|script, DBrowse,
Digger, WinHttp.WinHttpRequest.5, masscan/,
Sucuri Integrity Monitor/, NESSUS::, ScanAlert;,
w3af.sourceforge.net, Netsparker, ZmEu,
SiteLockSpider, Jorgee, WebCopier

 

■ルールにて設定できること。

+20210103_追加情報

今までルール側で設定されているUAを除外などできず、

追加設定のみであったがルールのアップデートにより、

ユーザ側でルールのデフォルト設定にあるUAを除外することができるようなってます。

 

誤検知あるもので、7年前に発売された↓の機種の

かんたんインターネットとかいうブラウザのUAを検知してしまうことがあるので

適宜除外してもいいかも。

原因は「DBrowse」っていうおそらくBOTかな?が↓のUAの文字列に含まてしまっていることが原因。

調べた感じこのUAにはバージョンも含まれるようなので、

手動で「DBrowse 1.」「DBrowse 2.」なり入れるといいかと。

 

SimplifiedBrowser

F-02F (4.2.2)|NTTドコモ 端末・ブラウザスペック

 

 

 

Event Frequency:
Alert always
 →アラートを常に鳴らす。

Alert in every {指定秒数} seconds
 →指定秒数毎にアラート鳴らす。

nter suspicious User Agent string to be blocked (one string per line):
For e.g. “MSIE” to block web client traffic from Microsoft Internet Explorer

 →指定したUser Agentを検知することができる。

  部分一致でもできます。

 

※↑ではblockedで書いてますが、ルール自体の動作モードに準じるので検知と書いてます。

 


■推奨設定の検索対象か否か
非対応
必要に応じてユーザサイドで手動で適用する必要があります。

 

【芋的見解】

このルールは、HTTPリクエストヘッダ上のUser Agentにかかれている内容をチェックします。

 

使い方の例ですが、

マイナーなところのCrawlerのリクエストが邪魔な場合は、

このルール自体の動作モードを防御モードにしたうえで、

そのCrawlerのUser Agentをリストに加えDSで遮断してしまうのもあり。

 

あとは、OpenVASなどOSSのスキャンツールの簡易的な対策として、

リストに追加するのも一つです。

 

とはいえ、

攻撃することを前提にしたスキャンについては、ルールで対象のスキャンツールのUser Agentを検知するように設定したとしても、クライアント側で簡単に変更可能なものになりことから一時対処としては、一定の効果は見込めますが簡単に変更可能な情報ですので、過度な期待は禁物です。

 

検索サイト系のCrawlerであれば、User Agentの名前はそこまで変わらないと考えますので、こちらは有効的かと考えます。