本サイトは、快適にご利用いただくためにクッキー(Cookie)を使用しております。
Cookieの使用に同意いただける場合は「同意する」ボタンを押してください。
なお本サイトのCookie使用については、「個人情報保護方針」をご覧ください。
以前の記事で、HTTP(S)のリクエスト時に使用されるHostヘッダに着目して傾向を分析しましたが、今回はUser-Agentヘッダに着目してみました。
セキュリティに直接関わっているというわけではない方でも、Webサーバのアクセスログの分析等で、特殊なUser-Agentを見かけて気になったことがある方はいらっしゃるのではないかと思います。SOCでアラート分析していても、とても気になります。
そこで、MBSD-SOCで観測したアラートについて、User-Agentの観点から分析し、どのような不正アクセスが来ているのか、どのような対策が考えられるかについて見ていきたいと思います。
User-Agentとは
クライアントはWebサーバにリクエストを送る際に、クライアントアプリケーションの情報をUser-Agentヘッダーとして送信します。通常はブラウザやクライアントアプリを識別する情報が入ります。ブラウザの場合は、以下のような形式となります。
Chrome(Windows)の例
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36
しかしながら、Webサーバのアクセスログを見てみると、実際には他にも様々なUser-Agentからのリクエストがあります。 検索エンジンのクローラや調査機関からのリクエスト等、問題ないものもありますが、不正アクセスと思われるようなUser-Agentのリクエストも多くあります。また、User-Agentは偽装することも可能です。
図1.リクエストのUser-Agent例
アラートの集計
2022年8月のある期間に、MBSD-SOCで観測したHTTP(S)リクエストのUser-Agentを集計しました。
今回はどのような不正アクセスが来ているのかのご紹介を目的としてるため、以下のような簡易的な条件で集計しています。
・不正アクセスでないもの、ぱっと見でWebブラウザのように見えるもの、固有の環境要因のもの等は除外
・バージョンが異なるものや内容が同じものは集約
・WAFとIPSの検知アラート(検知傾向が多少異なるもの)を混在
そのため、各件数は、絶対値にはあまり意味がありませんが、他との相対でご参考情報として見て頂ければと思います。
集計は3つの観点から傾向を出してみました。そのうち、上位10件をご紹介します。
図2. User-Agentの集計
各集計結果の上位には、大まかに以下のような傾向がありました。
- 検知件数が多い順
一回ツールを回すと多くのリクエストを投げるスキャンツールやスクリプト - ユニークな送信元IPアドレスが多い順
ボットの感染活動 - ユニークなリクエスト先が多い順
ツールによる広域スキャン、公開から日が浅い脆弱性を狙ったもの
続いて、各User-Agentについて、どのようなものか、どのような不正アクセスがあるのかをご紹介します。
- BaiduSpider
検索サイトのクローラを装った名前だが、SQLインジェクションの攻撃を観測。
一つのパラメータに様々なパターンで試行するため検知数が多い。 - Mozilla/5.0 zgrab/0.x、Mozilla/5.0 [en] (X11, U; OpenVAS-xxx)
それぞれZGrab、OpenVASというオープンソースの脆弱性スキャンツールによるアクセス。
複数のバージョンあり。 - Hello, world
MVPower製DVR(Digital Video Recorder)等の脆弱性を狙った攻撃を観測。 - Hello, World
Dasan GPON home routerの脆弱性(CVE-2018-10561/ CVE-2018-10562)を狙った攻撃を観測 - python-requests/x.xx.x(複数バージョンあり)
以下を狙ったアクセスを観測。
設定ファイル(.env)等の公開すべきでないファイルへのアクセス
PHPUnitの脆弱性(CVE-2017-9841)
WordPressのプラグイン「File Manager」の脆弱性(CVE-2020-25213)
Movable Typeの脆弱性(CVE-2021-20837/CVE-2021-20850)
Log4Shell(CVE-2021-44228)
その他様々な不正アクセス - curl/7.xx.x(複数バージョンあり)
以下を狙ったアクセスを観測。
Apacheのserver-status や設定ファイル(.ini)、PHPイースターエッグ等の公開すべきでないページへのアクセス
VMware vCenter Serverの脆弱性(CVE-2021-21985)
Microsoft Exchange Serverの脆弱性(CVE-2021-34473)
F5 BIG-IPの脆弱性(CVE-2020-5902)
Fortinet FortiOSの脆弱性(CVE-2018-13379)
その他様々な不正アクセス - Mozila/5.0
ブラウザにしてはUser-Agentが短く、スペルも異なる。
以下を狙ったアクセスを観測。
D-Linkのルータの脆弱性
NAS、CCTV-DVR、ルータ、IPカメラ等のIoTデバイスに対する攻撃 - Python-urllib/x.xx.x(複数バージョンあり)
以下を狙ったアクセスを観測。
/.git/HEAD等の公開すべきでないページへのアクセス
Fortinet FortiOSの脆弱性(CVE-2018-13379) - masscan/1.x (複数バージョンあり)
オープンソースのポートスキャンツール。 - Go-http-client/1.1
以下を狙ったアクセスを観測。
/.git/config、.env、.DS_Store等の公開すべきでないページへのアクセス
PHPUnitの脆弱性(CVE-2017-9841)
ZTE製ケーブルモデムの脆弱性(CVE-2014-2321)
Netlink GPON Routerの脆弱性(CVE-2020-8958)
Vacron NVR (ネットワークビデオレコーダ)の脆弱性 - [ShellShock Code]
Bashの脆弱性「Shellshock」(CVE-2014-6271等)の攻撃コードがUser-Agentに埋め込まれた攻撃を観測。 - [Log4Shell Code]
Apache log4jの脆弱性「Log4Shell」(CVE-2021-44228等)の攻撃コードがUser-Agentに埋め込まれた攻撃を観測。 - Lkx-xxx
“Lkx-Apache2449TraversalPlugin/0.0.1”、“Lkx-TraversalHttpPlugin/0.0.1”といったバージョンあり。
Apache HTTP Serverのディレクトリトラバーサル脆弱性(CVE-2021-41773, CVE-2021-42013)を狙った攻撃を観測。 - Anan mal 123
VMware製品の脆弱性(CVE-2022-22954)を狙った攻撃を観測。
「2022年8月度 MBSD-SOCの検知傾向トピックス」でもご紹介。
その他、集計が難しいものとして、SQLインジェクションやOSコマンドインジェクション等のコードがUser-Agentに挿入されたものも多くありました。
集計結果から分かること
これらの結果から、以下のようなことが分かります。
- 攻撃者は様々なツール/スクリプトを使っている。不正アクセス目的で作られたものだけでなく、オープンソースのスキャナー等も使われる。
- アラートを検知しているのは大半がWebサイトの環境であるにもかかわらず、様々な製品の脆弱性を狙ってきている。攻撃できる対象を手当たり次第探索していると推測される。
- 新しい脆弱性だけでなく、数年前の古い脆弱性についても探索している(攻撃者にとってはその価値がある)。
- 上記でCVEを記載しているものは、認証回避&リモートコード実行の脆弱性が多い。また、ほとんどがCISAの「Known Exploited Vulnerabilities Catalog」に含まれており、危険な脆弱性を狙った攻撃が飛び交っている。
- 脆弱性だけでなく、設定不備で公開されてしまっているようなものも探索している。侵入に必要な情報を収集するためと推測される。
攻撃の目的や対象の分類としては、大まかに以下のようなものが推測されます。
- リクエスト先Webサイトへの攻撃
Webアプリケーションの脆弱性、ミドルウェア製品の脆弱性、ファイルアクセスを狙ったもの - ボットネットの拡大
脆弱性があるIoT機器を狙ったもの - 組織への侵入(ランサムウェア攻撃等のため)
その他、脆弱性があるアプライアンス製品等を狙ったもの
尚、今回は時間の推移での集計までは出せていませんが、9月や10月で集計すると、別の脆弱性を狙うUser-Agent名も上位に確認できます。攻撃者側も新しく公開された脆弱性に対応する等によってその時により傾向は変化します。「MBSD-SOCの検知傾向トピックス」でも毎月の傾向を掲載させて頂いていますが、脆弱性によっては、近年は公開から攻撃開始までの期間が非常に短いもの(数日や数時間)が多くあります。例えば10月であれば、 FortiGateの認証バイパスの脆弱性(CVE-2022-40684)を狙ったものは、攻撃コード公開からすぐに、” Report Runner”といったUser-Agent名で観測されています。
対策
これらの傾向を踏まえて、ありきたりではありますが、以下のような基本的な対策が重要だと再認識させられます。
- 公開範囲(アクセス元IPアドレス、閲覧権限)は最小限にする。特に管理コンソールは基本的にインターネットには公開しない。
- 外部公開する前に、最新バージョンにしてから公開する。また、診断等により問題ないことを確認してから公開する。
- パッチ適用はできる限り早く対応する。
- 公開されているシステムを適切に把握し管理する(アタックサーフェス管理)。
先日、当社からもCAAVというサービスをリリースしました。
また、今回ご紹介した不正アクセスの中で、Webサイト環境への対策としては、以下のようなものも挙げられます。
①Webサーバの設定やWAF/IPSでブロック
User-Agentからの観点においては、今後も様々な脆弱性を狙ってきそうなUser-Agentはあらかじめ拒否しておくことができます。Webサーバでの対策であればconfで設定できます。また、毎度のご紹介となってしまいますが、WAFやIPSでは様々な攻撃を検知できるシグネチャが提供されており、User-Agentを検知条件としたシグネチャが提供されているケースもあります。MBSD-SOCでもUser-Agentを検知条件としたカスタムシグネチャも作成しています。尚、curlやpythonのライブラリ等は本来は攻撃に特化したものではないため、拒否設定に当たっては事前に影響確認が必要です。
②WAAP(Web Application and API Protection)製品でブロック
今回挙げたようなUser-Agentからの不正アクセスは、機械的に不特定多数にリクエストを投げるものが多くあります。そのようなものは、WAAP製品等に含まれるIPレピュテーション値やボット対策等の機能が有効です。WAF/IPSのシグネチャマッチングでは検知・ブロックできないアクセスもブロックできる可能性もあります。攻撃が複雑化する中で、多層防御の中の一つの層の中でも複数のアプローチで対策すると効果的です。
また、各製品メーカから特色ある機能も提供されています。例えばF5社のXC WAAPに含まれているThreat Campaignという機能は、その時に流行りの不正アクセスをブロックできるもので、上記「アラートの集計」でご紹介した不正アクセスにも多く対応しており、かつ検知精度も非常に高いです。
図3.WAAP製品でのブロック
まとめ
今回は、攻撃者が利用するツール名という、興味本位的な要素もある切り口から分析してみました。そのため、不正アクセスの全体感が分かるようなものではありませんが、それでも色々な種類の攻撃が広く行われていることが分かります。
上記で"基本的な対策が重要"と記載してしまいましたが、それを完璧に行うことは実際にはなかなか難しいかとは思います。ではどこまでやったらいいのかについて、不正アクセスの実態の面から、何かご参考になれば幸いです。
MBSD-SOC
おすすめ記事