Struts2が危険である理由 - WAF Tech Blog | クラウド型 WAFサービス Scutum 【スキュータム】

(情報元のブックマーク数

ScutumでStruts2の対応とか色々。今後も。

しかしS2-045では、これまで対策を行っていた入力パラメータに対するチェックや関数呼び出しのチェックなどとは全く関係のない経路に、OGNL式として扱われる文字列にユーザ入力が入り込んでしまう部分があり、そこでRCEが行われました。 今回とりあえず該当箇所は(当然ですが)修正されふさがれましたが、他にまだ誰も気づいていない意外な箇所でOGNLへの入り口が開いているかもしれません。また、今後追加されるコードもOGNLを活用していくことが当然あり得るでしょうから、いつの時点でまたRCEが可能となる脆弱性が混入してもまったく不思議ではありません。このような理由から、もはやStruts2が「安心できる状態」になることは今後ないと考えます。

Struts2が危険である理由 - WAF Tech Blog | クラウド型 WAFサービス Scutum 【スキュータム】

アップデートが出てからの対応では、間に合わない時代。

既にStruts2を利用しているサイトもあるかと思います。この場合、今後どのようにStruts2脆弱性と向き合っていくべきでしょうか。 「新しいバージョンが出たらすぐにバージョンアップしましょう」というのは既に定説となっているかと思いますが、私たちがScutumの運用・監視を通じて感じている感触としては、「もはやStrutsのアップデートのアナウンスが出てからバージョンアップしても間に合わないかもしれない」という気がします。 Struts2オープンソースであり、リリース前の投票が公開されたメーリングリスト上で行われています。この投票はおそらく24時間程度の時間を要するため、攻撃者は正式なリリースのアナウンスが出る前に、次にリリースされるであろうバージョンを入手することができます。また、若干わかりにくくやってはいるようですが、脆弱性の修正もバージョン管理システムできちんと管理されているため、投票中のタイミングでリリースノートやソースコードの差分を解析すれば、攻撃者はそれほど苦労することなくRCEのPoCを完成させることができると考えられます。

Struts2が危険である理由 - WAF Tech Blog | クラウド型 WAFサービス Scutum 【スキュータム】

Scutumは、OGNL対応の防御機能を開発予定とのこと

例えばS2-045については止めることが出来ていました(ゼロデイでも防ぐことが出来ていました)が、S2-046についてはギリギリ、わずか数時間の差で先にScutum側の防御機能のアップデートが間に合いました。これを受けて今後、より力を入れてStruts2のOGNLインジェクションに特化したゼロデイを想定した防御機能を開発する予定ですが、それはさておき一般的なサーバ管理者がStruts2をアップデートするよりは早めに防御できていると思います。個人的に、WAFは自信を持っておすすめできるStruts2における対策の一つです。 また、攻撃者と同じようにStruts2メーリングリストを常に見ておくのも非常に良いでしょう。リリースが出る前に投票段階で導入してしまったり、あるいは数日ウェブサイトを停止して様子を見るという運用も有効かもしれません。

Struts2が危険である理由 - WAF Tech Blog | クラウド型 WAFサービス Scutum 【スキュータム】

screenshot