第1回 Azureへのウェブ攻撃の実態

PaaS/IaaS市場でのAzureの急伸

 AWS、Azure、Googleを始めたとした主要なパブリッククラウドは、常に、攻撃者のターゲットである。それらの背景には、市場のシェアが関係している。 2019年第3四半期での世界のPaaS/IaaS市場は、AWS、Azure、Google、Alibabaの4社で72%を占めており、攻撃者が、効率よくターゲットを探し攻撃を仕掛けているのもうなずける。

CIS Q319

 Synergy Research Groupのレポートを見るとAWSが、40%のシェアを取り、変わらずトップであるが、横ばいで伸びていない。一方でAzureは、順調な伸びを見せており、数年後にはAWSに追いつきそうだ。AWSの伸びが止まっているように見えるが、 IaaS/PaaSの市場自体が急激に伸びている中での現状維持は、いまでも、市場を強くけん引しているといってもよい。そういう意味では、Azureが市場の伸びを大幅に上回る速度でキャッチアップしている。実際、機能/使い勝手/コスト/教育/情報量など、企業が利用するための土壌は整っている。

 ここでは、多くの企業が注目しているAzureに絞って、クラウドへのウェブアプリへの攻撃を可視化していきたい。どこのクラウド事業者でもそうだが、ウェブアプリのセキュリティは、クラウドの利用者が対処するべき範囲だ。クラウドを利用しているからといって全部お任せとまではいかない。可視化することで、どのような対策が必要かを理解し、クラウドをより安全に使っていただきたいと考える。

 ウェブアプリとしては、世界で最も使われているCMSであるWordPressをAzureのIaaS環境にセットアップし、どのような攻撃がウェブサイトへやってるくるか、しばらく様子をみた。

IaaSにWordPressを構築後、わずか8分で攻撃襲来

 2020年3月8日午前1時55分にWordPressのセットアップ完了後、コスタリカから同日2時3分に最初の攻撃が襲来した。HTTP1.1のリクエスト( GET / HTTP/1.1)には、HOSTヘッダもなく、明らかなプロトコル違反であった。単に、インターネット上にあるウェブサイトを探すだけの非常に原始的なクローラーだ。

 準備したウェブサイトは、DNSに登録済みであったが、ホスト名ではなく、IPアドレスでアクセスが来ていた。これは、攻撃者はDNSのレコード情報からウェブサイトだと判断してアクセスしてきたのではなく、マイクロソフトが所有するIPアドレス群に対して、クローラーで巡回していただけだろう。つまり、ウェブサイトの所有者の企業規模が小さくとも、検索サイトの順位が低くとも、攻撃のターゲットとなってしまうということだ。その場合の攻撃者の目的は、個人情報や機密情報を盗むことではなく、他へ攻撃するための踏み台とするためだ。攻撃が成功し、他のサイトを攻撃してしまった場合には、ウェブサイトを所有する企業のブランドイメージを損なう恐れがある。

約5日間で417件の攻撃を観測

 2020年3月8日1時55分~3月13日8時50分で、417件の攻撃が観測できた。下図は、攻撃元のヒートマップを表している。中国、アメリカからの攻撃が多いことが分かる。攻撃元の傾向は、変わることがあるので、一概に、特定の国からのアクセスを拒否するというのは難しい。しかし、ウェブサイトが、BtoBサイトで、海外向けのコンテンツではない場合には、国別でのアクセス制限を実施することも効果的だろう。

攻撃元のヒートマップ  2020年3月8日1時55分~13日8時50分

 下図は、攻撃カテゴリの統計だ。インジェクション攻撃が多いことが分かる。セキュリティ製品を掻い潜るために難読化されたインジェクション攻撃は、ファイアウォールでも防ぐことができない。Web Application Firewall(WAF)を導入するなど、対策が必要だ。

攻撃カテゴリ統計 2020年3月8日1時55分~13日8時50分

攻撃の具体例

以下の実際の攻撃をもとに解説していく。

  • 送信元IP: 106.13.235.81 ( 中国)
  • プロトコル:HTTP
  • URL: /index.php
  • メソッド:GET
  • クエリ文字列: s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
  • ユーザエージェント: Mozilla/5.0 (Windows; U; Windows NT 6.0;en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6)

 送信元のIPアドレスから、 106.13.235.81 は、中国からのアクセスであることが分かる。そして、このIPアドレスをCleanTalkのサイトを利用して、さらに詳しく調べたみた。  CleanTalkとは、WordPressなどのCMSへのコメントスパムを防止するためのプラグイン提供、およびスパムで使われたIPアドレスを公開している。

  106.13.235.81 は、中国Baidu.comのホスティングサービスのIPアドレスだと判明した。そして、このIPアドレスから過去に、18のウェブサイトへのスパム行為が報告されていた。 詳細は、以下のURLを確認願いたい。

https://cleantalk.org/blacklists/106.13.234.210

 クエリ文字列に含まれるパラメータが、実際の攻撃コードだ。これは、2018年12月、「ThinkPHPフレームワークの invokeFunctionメソッド の脆弱性」の 概念実証エクスプロイトが公開されたことを機に、急増した攻撃だ。リモートから任意のコードを実行できる脆弱性で、多くのサイトが被害にあった。この脆弱性を悪用したマルウェアが、他のサイトを攻撃して、踏み台となるボットを増殖していった。

 これらのことから、106.13.235.81のIPアドレスのサイト は、ThinkPHPのフレームワークの脆弱性を攻撃され、すでにボットとなり、今回準備したウェブサイトをボットとするために攻撃してきたと推測できる。

 そのほか、非常に多かった攻撃としては、WordPressを利用していることを把握したうえで、管理者アクセスを試みようとしたり、プラグインへの攻撃だった。

まとめ

 ウェブサイトに利用しているフレームワークやCMSに脆弱性が発見されれば、世界中から攻撃が始まる。 ウェブサイトは常に攻撃されているものとして考えておく必要があるだろう。では、どのように対策を取ればよいのだろうか。

  ウェブアプリへの攻撃は、Web Application Firewall(WAF)で防御するのが一般的とされている。しかし、WAFの導入はハードルが高いと思われがちだ。確かに数年前までは、そうだったかもしれない。新たにウェブサイトを公開するならパブリッククラウドを利用するのが当たり前となった今では、PaaS/IaaSに適したWAFとしてクラウド型WAFの選択肢もある。導入および運用をすべてお任せできるフルマネージド型で、お手頃価格の月額課金型のクラウドWAF、Barracuda WAF-as-a-Service SMAC Editionがお勧めだ。

参考

統計データ 2020年3月16日6時 時点