検索
特集

無償かつ高機能な「ModSecurity」をもっと活用しよう!OWASP AppSec USA 2013 レポート(後編)(1/2 ページ)

前編に続き、講演内容を中心に、Webアプリケーションのセキュリティに関する国際的なカンファレンス「OWASP AppSec USA 2013」の模様をお伝えします。

Share
Tweet
LINE
Hatena

 2013年11月18日から11月21日の4日間にわたり、米国ニューヨークでWebアプリケーションのセキュリティに関する国際的なカンファレンスである「OWASP AppSec USA 2013」が開催されました。前回の記事に続き、そのトレーニングや講演の模様を紹介していきます。

注目すべきModSecurityの機能とは

 筆者らが受講した2つ目のトレーニングは、「Web Application Defender’s Cookbook: LIVE」です。このコースはModSecurityを利用していかに攻撃を防ぐかについてのレクチャーです。

 「ModSecurity」はオープンソースで開発されているWeb Application Firewall(WAF)の1つです。2002年に最初のバージョンがリリースされ、2011年より、トラストウェイブ(Turstwave)のスパイダーラボ(SpiderLabs)が開発を行っています。

 ModSecurityでは、攻撃を検知するための基本的なルールセットが準備されており、「Core Rule Set」(CRS)と呼ばれています。現在はOWASPがCRSをメンテナンスしています。

 トレーニングはハンズオン形式で行われました。まず、講師が典型的なWebアプリケーションへの攻撃手法を解説し、その後ModSecurityを使い、解説した攻撃をどう検知するかについての演習を行いました。ハンズオンではOWASPが開発した脆弱なアプリケーションをインストールした仮想マシン、「OWASP Broken Web Applications」を利用しました。

 講師は2012年に出版された「Application Defender's Cookbook: Battling Hackers and Protecting Users」の著者でもある、トラストウェイブのライアン・バーネット氏で、トレーニングもこの本に沿って進められました。

 ModSecurityは前述の通りオープンソースとして開発されてきており、ユーザーからのフィードバックが直接開発者に届きやすいこともあって、WAF製品の中でも機能が充実している部類に入ります。また、無償であるため、セキュリティ対策にコストを掛けにくい中小企業や個人にとっては導入しやすいといえます。

 しかし、日本語の文献が少ないこと、また、高機能であるが故に攻撃を検知するルールが複雑でメンテナンスにはスキルを要することから、特に国内のユーザーにとっては導入のハードルが高いように思えます。

 WAFとしての基本的な機能については、IPAの「WAF読本」などを参照していただくこととして、ここでは、比較的新しい機能として3つの機能をピックアップして紹介したいと思います。

Real-time Application Profilingを利用したアノマリ検知

 この機能は、サーバーへのリクエストに含まれるパラメーターの値を学習しておき、通常パラメーターが取るべき値と異なる値が来た場合、アラートを上げる機能です。

 例えば、以下のようなパラメーター「id」を受け取るWebアプリケーションがあったとします。

http://localhost/index.php?id=0001

 Real-time Application Profilingでは、まず通常のアクセスパターンを学習する必要があります。ここでは例として、以下のようなアクセスを通常のものとして学習させたとします。

http://localhost/index.php?id=0001
http://localhost/index.php?id=0002
http://localhost/index.php?id=0003
……

 これにより、ModSecurityは「idの正常な文字列長は4であること」を学習します。この状態で、このアプリケーションに対して

http://localhost/index.php?id=<script>alert(1);</script>

というアクセスをすると、idに入る文字列の長さが26であるため、異常として検知し、以下のようなログを出力します。

ModSecurity: Warning. Match “.*” at TX:ARGS:id_max_length_violation. [msg "Invalid Parameter Length ? Value is Above Normal Range"] [data "Normal Maximum Length for Parameter (ARGS:id): 4 and Current Length: 26"] [tag "POLICY/PARAMETER_VIOLATION"] [uri "/index.php"]

 msg欄には「Invalid Parameter Length」と出力されており、通常のアクセスに比べてパラメーター値の文字列長に異常があることが分かります。また、data欄には異常に関する詳細として、(文字列長が)通常は最大でも4であるにもかかわらず、26であるようなアクセスが生じたことが出力されています。

 このルールではパラメーター値の長さを特徴として検知しましたが、他にも「パラメーターの名前の重複」「パラメーターの個数」「パラメーター値のタイプ(数値、アルファベット、メールアドレスなど)」についての異常を検知してアラートを上げるルールもあります。

 通常ならば、管理者が手動でWAFに設定を加え、サーバーに対する各リクエストの各パラメーターのルールを追加しなければ異常を検知できません。しかし、このReal-time Application Profiling機能ではそういった設定も必要もなく、非常に容易にパラメーター異常を検知できるようになります。

設定情報漏えい検知機能

 この機能は、Webサーバーが出力するデータをチェックして、Webサーバーやデータベースなどの設定が漏えいしていないかどうかを調べることができます。

 例えば、SQLインジェクション攻撃によってデータベースの情報が出力された場合、ログには以下のようなアラートが出力されます。

[msg "SQL Information Leakage"] [data "Matched Data: You have an error in your SQL syntax found within RESPONSE_BODY: <pre>You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''''' at line 1</pre>"] [tag "OWASP_CRS/LEAKAGE/ERRORS_SQL"] 

 msg欄とdata欄から、MySQLへのアクセスで発生したSQLシンタックスエラーの発生がそのままWebアプリケーションの外部に漏えいしていることが分かります。

外部データとの連携

 現在のModSecurityでは、「IPブラックリスト」と連携し、クライアントのIPアドレスがブラックリストに含まれているか確認し、その結果に応じてアクセスを拒否したり、ログに記録したりすることが可能になっています。その他にも、「GeoIPデータ」(IPアドレスの地理情報)と連携して、同一セッション中におけるIPアドレスの地理情報の変化から異常を検知することも可能です。

 このように高度な機能を多く備えたModSecurityですが、使いこなすにはかなりのスキルを必要とします。まずは、シンプルな設定で利用可能なReal-time Application Profilingから試してみてはいかがでしょうか。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ

Security & Trust 記事ランキング

  1. 「SMSは認証に使わないで」 米CISA、モバイル通信を保護する8つのベストプラクティスを公開
  2. 2025年に押さえるべきセキュリティの重要論点をガートナーが発表 新しいリスク、脅威、環境の変化、法規制などの動きを把握する指標に使える
  3. 経営層の約7割が「セキュリティ対策は十分」一方で6割以上がインシデントを経験、1位の要因は?
  4. “ゼロトラスト”とトラスト(信頼性)ゼロを分かつものとは――情報セキュリティ啓発アニメ「こうしす!」監督が中小企業目線で語る
  5. よく聞く「複雑化するサイバー攻撃」は具体的にどう複雑なのか? 一例を医療系企業のランサム事例とともに解説
  6. 終わらせましょう。複雑過ぎるKubernetes/クラウドネイティブが生む心理的安全性の低下を――無料でクラウドセキュリティの勘所が分かる130ページの電子書籍
  7. 3割程度のSaaS事業者が標準的なセキュリティ対策をしていない アシュアードがSaaS事業者を調査
  8. 中小企業の20%の経営層は「自社はサイバー攻撃に遭わない」と信じている バラクーダネットワークス調査
  9. 「このままゼロトラストへ進んでいいの?」と迷う企業やこれから入門する企業も必見、ゼロトラストの本質、始め方/進め方が分かる無料の電子書籍
  10. 増える標的型ランサムウェア被害、現場支援から見えてきた実態と、脆弱性対応が「限界」の理由
ページトップに戻る