WAF Tech Blog

SaaS型WAF「Scutum(スキュータム)」の開発者/エンジニアによるブログです。
金床“Kanatoko”をはじめとする株式会社ビットフォレストの技術チームが、“WAFを支える技術”をテーマに幅広く、不定期に更新中!

2014年3月

            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
Scutum開発者/エンジニアによる技術ブログ WAF Tech Blog

Ruby on Railsの脆弱性(CVE-2013-0156)を狙った攻撃を観測

脆弱性の公表と攻撃の開始

数日前に公表されたRuby on Railsの脆弱性(CVE-2013-0156)は、リモートからの任意のコード実行が可能なインパクトの大きいものでした。PoCコードがgithubなどにすぐに出回ったため、私たちのSaaS型WAFサービス、Scutum(スキュータム)では大急ぎでシグネチャの作成や検知エンジンの開発を行いました。

以前、PHPをCGIモードで実行している環境について脆弱性が発見されたときには、発表からわずか数日後に実際にExploitコードによる攻撃を観測しました。そのため、今回も同じように、すぐに実際の攻撃が来るだろうと予想していました。

まず2つのリクエストを観測

予想通り、本日まず2つのリクエストを観測しました。以下のようなものです。(Hostフィールドは伏せ字にしてあります。ウェブサーバのIPアドレスが直接指定されていました。)

POST / HTTP/1.1 Host: x.x.x.x User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Content-Type: application/xml Content-Length: 98 <?xml version="1.0" encoding="UTF-8"?> <probe type="yaml"><![CDATA[ --- !ruby/object: ]]></probe> POST / HTTP/1.1 Host: x.x.x.x User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Content-Type: application/xml Content-Length: 105 <?xml version="1.0" encoding="UTF-8"?> <probe type="yaml"><![CDATA[ --- !ruby/object:Time {} ]]></probe>

『probe』と書かれているところが笑いを誘いますが、まさにprobeしている様子で、このリクエスト自体は特に害はないようです。必要最低限のExploitという感じで、通常のHTTPリクエストに比べると、例えばAccept関係のヘッダフィールドがなかったり、POST先のURIが単純に『/』であるなどの不自然さが目立ちます。XMLの中に『yaml』や『!ruby』などの文字列が含まれるなど怪しさ全開なので、WAFで防御するのはそれほど難しくない攻撃です。

すぐに対策を

このように、既に実際の攻撃が始まっています。Ruby on Railsを使っている方でまだバージョンアップをされていない方は、すぐに最新版にしてください。