読者です 読者をやめる 読者になる 読者になる

内角540°

セキュリティ。SIEMとかIPSとか統計とかクラウドとか。数学以外で。

Snortルールの危険度設定/Classificationとは

Snortのルールには直接危険度を設定するオプションは無いのです...

でも、検知ログには[Priority :1]とか書かれてますよね?
f:id:gokaxtukei:20151230143411p:plain

どのように設定するの?

秘密はClassificationにありです。

Classificationとは

ルールテキストにはclasstype:のオプションがあって、これが危険度を指し示してるのです!

alert tcp $HOME_NET 443 -> $EXTERNAL_NET any 
(msg:"SERVER-OTHER TLSv1.1 large heartbeat response - possible ssl heartbleed attempt"
 flow:to_client,established
 content:"|18 03 02|"
 depth:3
 byte_test:2,>,128,0,relative
 detection_filter:track by_dst, count 5, seconds 60
 metadata:policy balanced-ips drop, policy security-ips drop, service ssl
 reference:cve,2014-0160
 ★classtype:attempted-recon
 sid:30516
 rev:3
 )

Classification一覧

classificationは攻撃の分類を示していて、下の表のような種類があるのです(・o・)

Classification名 説明 危険度
not-suspicious 不審ではないトラフィック Low
unknown 不明なトラフィック Low
bad-unknown 有害な可能性のあるトラフィック Medium
attempted-recon 情報漏えいが試行された Medium
successful-recon-limited 情報漏えいが発生 Medium
successful-recon-largescale 大規模な情報漏えい Medium
attempted-dos サービス拒否が試行された Medium
successful-dos サービス拒否が発生 Medium
attempted-user ユーザ特権の獲得が試行された High
unsuccessful-user ユーザ特権の獲得が失敗した High
successful-user ユーザ特権の獲得に成功 High
attempted-admin 管理者特権の獲得が試行された High
successful-admin 管理者特権の獲得に成功 High
rpc-portmap-decode RPC クエリのデコード Medium
shellcode-detect 実行可能コードが検出された High
string-detect 疑わしい文字列が検出された Low
suspicious-filename-detect 疑わしいファイル名が検出された Medium
suspicious-login 疑わしいユーザ名を使用したログイン試行が検出された Medium
system-call-detect システム コールが検出された Medium
tcp-connection TCP 接続が検出された Very Low
trojan-activity ネットワーク トロイの木馬が検出された High
unusual-client-port-connection 通常とは異なるポートをクライアントが使用していた Medium
network-scan ネットワーク スキャンの検出 Low
denial-of-service サービス拒否攻撃の検出 Medium
non-standard-protocol 標準的でないプロトコルまたはイベントの検出 Medium
protocol-command-decode 一般的なプロトコル コマンド デコード Low
web-application-activity 脆弱な可能性のある Web アプリケーションへのアクセス Medium
web-application-attack Web アプリケーション攻撃 High
misc-activity その他のアクティビティ Low
misc-attack その他の攻撃 Medium
icmp-event 一般的な ICMP イベント Low
inappropriate-content 不適切な内容が検出された High
policy-violation 企業プライバシー侵害の可能性 High
default-login-attempt デフォルトのユーザ名とパスワードによるログイン試行 Medium
sdf 機密データ Medium
file-format 既知の有害ファイルまたはファイル ベースの exploit High
malware-cnc 既知のマルウェア コマンドと制御トラフィック High
client-side-exploit 既知のクライアント側 exploit 試行 High

※説明はCisco FirePOWER公式ユーザガイドよりお借りしてます。
FireSIGHT システム ユーザ ガイド バージョン 5.3.1 - 侵入ルールの概要と作成 - Cisco Systems

また、ログにはHigh,Medium,Lowの表示がされず、数字で表示です

危険度 表示
High 1
Medium 2
Low 3
Very Low 4

Classificationの作成

ルールに任意の危険度を設定するためには…
適切なClassificationを設定すればいいのだけどー

適切な分類がない…!

そんな時は、適切な分類を
/etc/snort/classification.config 
に上書きしてあげればOKです!

例:危険度HighのClassification設定

config classification: Original-High,original classification HIGH,1
alert tcp $HOME_NET 443 -> $EXTERNAL_NET any 
(msg:"SERVER-OTHER TLSv1.1 large heartbeat response - possible ssl heartbleed attempt"
 flow:to_client,established
 content:"|18 03 02|"
 depth:3
 byte_test:2,>,128,0,relative
 detection_filter:track by_dst, count 5, seconds 60
 metadata:policy balanced-ips drop, policy security-ips drop, service ssl
 reference:cve,2014-0160
 ★classtype:Original-High
 sid:30516
 rev:3