BLOG NO.11 OWASP CRSの概要

BLOG NO.11 OWASP CRSの概要

OWASP CRSWAF(Web Application Firewall)のオープンソースであるModsecurityで動作するルールセットで無償で提供されています。多くのWAFベンダーやWAFを実装するセキュリティ機器ベンダーではOWASP CRSをベースにしたシグネチャの提供を行っています。

一般的なWAFはシグネチャと呼ばれる攻撃の識別情報を持っており、通信パケットとマッチングを行い攻撃かどうかを判断しています。一方OWASP CRSは通信パケットの構造をベースに攻撃パターンを判断します。この判断にはシグネチャ情報も含まれますが、構文解析などのアルゴリズムで攻撃の構造を判別して高度な攻撃検知を実現しています。また、各ルールには「Severity Level」(脅威の判定)と「paranoia-level」(プロテクション強度)の設定ができ、サイトで提供するサービスの重要度や対象とするユーザに応じてセキュリティレベルの設定を可能にしています。 

OWASP CRSには、2つの拡張子(.conf .data)を持つファイル群で構成されています。.confファイルはプロテクションのためのアルゴリズムが定義されており、.dataは攻撃パターンをマッチングするためのデータで、従来のWAFのシグネチャーに相当するものです。更に、.confファイルはリクエストルールとレスポンスルールがあり、リクエストルールでは攻撃別にファイルが分けられています。レスポンスルールは攻撃を防ぐためではなく、情報漏えいを防止するものです。リクエストルールには攻撃パターンに応じて複数ファイルがあり、各ファイルは攻撃に応じたルールが複数収納されています。つまり、アプリケーションの脆弱性が発見できた場合、その脆弱性への攻撃パターンファイルを特定し、その中から対策に有効なルールをインストールすることで、WAFが正しく機能することになります。

もう一つ、OWASP CRSには特徴的なルールセットがあります。ファイル名にEXCLUSIONという文字があるルールです。EXCLUSIONは「除外する」という意味で、誤検知の対策に用意されたものです。過度に反応するルールに対して、その反応を和らげる効果があるようです。実績ベースでのルールですので、セキュリティレベルが低下する心配は無いようです。ただし、このルールは、すべての誤検知を対策するものではなく、特定アプリケーション向けに対策を施したものです。特定アプリケーションにはWORDPRESS等が含まれています。

 以下にOWASP CRSのファイル構成をリストします。

 

 

In/out ファイル略名 説明
リクエストルール 903.9001-DRUPAL-EXCLUSION-RULES Drupalを使ったCMSの誤検知対策
903.9002-WORDPRESS-EXCLUSION-RULES WordPressを使ったサービスの誤検知対策
903.9003-NEXTCLOUD-EXCLUSION-RULES Nextcloudを使ったサービスの誤検知対策
903.9004-DOKUWIKI-EXCLUSION-RULES DokuWikiを使ったサービスの誤検知対策
903.9005-CPANEL-EXCLUSION-RULES cPanelを使ったサービスの誤検知対策
903.9006-XENFORO-EXCLUSION-RULES XenForoコミュニティ の誤検知対策
905-COMMON-EXCEPTIONS 一般的な誤検知対策
910-IP-REPUTATION 悪意のある通信で使われるIPアドレスを排除
911-METHOD-ENFORCEMENT 問題のあるHTTPメソッドをブロック
912-DOS-PROTECTION DOS攻撃の検知とブロック
913-SCANNER-DETECTION スキャナーやBOT等の自動化ツール攻撃の対策
920-PROTOCOL-ENFORCEMENT HTTPプロトコル違反の検知
921-PROTOCOL-ATTACK プロトコルベースの攻撃を検知
922-MULTIPART-ATTACK マルチパートリクエスト攻撃の検知
930-APPLICATION-ATTACK-LFI ローカルファイルインクルージョン攻撃の対策
931-APPLICATION-ATTACK-RFI リモートファイルインクルージョン攻撃の対策
932-APPLICATION-ATTACK-RCE リモートコード実行攻撃の対策
933-APPLICATION-ATTACK-PHP PHPコードインジェクション攻撃の対策
934-APPLICATION-ATTACK-NODEJS Node.JSの脆弱性対策
941-APPLICATION-ATTACK-XSS クロスサイトスクリプティング攻撃の対策
942-APPLICATION-ATTACK-SQLI SQLインジェクション攻撃の対策
943-APPLICATION-ATTACK-SESSION-FIXATION セッションID攻撃の対策
944-APPLICATION-ATTACK-JAVA JAVAの脆弱性対策
949-BLOCKING-EVALUATION anomaly score レベルの誤検知対策
レスポンスルール 950-DATA-LEAKAGES エラーメッセージの情報漏えい対策
951-DATA-LEAKAGES-SQL SQLの情報漏えい対策
952-DATA-LEAKAGES-JAVA JAVAの情報漏えい対策
953-DATA-LEAKAGES-PHP PHPの情報漏えい対策
954-DATA-LEAKAGES-IIS IISの情報漏えい対策
959-BLOCKING-EVALUATION anomaly score レベル漏えい対策
980-CORRELATION.conf インバウンド/アウトバウンドの関連付け

 

 By ADC Engineers

 

ブログに戻る

お問い合わせフォーム

1 3