先把 IDS 的判斷結果跟實際情況比對,分成四類,再代入兩個公式。理想的 IDS 是高偵測率、低誤報率。
每一筆流量都會落在下面四格中的其中一格。
| IDS 判為「攻擊」(發出告警) | IDS 判為「正常」(沒有告警) | |
|---|---|---|
| 實際是攻擊 | TPTrue Positive 真陽性:正確抓到攻擊 |
FNFalse Negative 假陰性:漏報 |
| 實際是正常 | FPFalse Positive 假陽性:誤報 |
TNTrue Negative 真陰性:正確放行 |
記法:第二個字母 P / N 是 IDS 的判斷(有沒有告警),第一個字母 T / F 是這個判斷對不對。
| 指標 | 公式 | 意義 | 希望 |
|---|---|---|---|
| 偵測率 Detection Rate |
TP ÷ (TP + FN) | 所有攻擊中,被偵測出來的比例 | 越高越好 |
| 誤報率 False Alarm Rate |
FP ÷ (FP + TN) | 所有正常行為中,被誤報的比例 | 越低越好 |
分母不一樣:偵測率的分母是「全部攻擊」(TP + FN),誤報率的分母是「全部正常流量」(FP + TN)。
某校一天的流量共 10,000 筆,人工標記後得知其中 100 筆是攻擊、9,900 筆是正常流量。IDS 的判斷結果如下:
| IDS 判為攻擊 | IDS 判為正常 | 合計 | |
|---|---|---|---|
| 實際是攻擊 | TP 90 | FN 10 | 100 |
| 實際是正常 | FP 198 | TN 9,702 | 9,900 |
| 步驟 | 偵測率 | 誤報率 |
|---|---|---|
| 1. 寫公式 | TP ÷ (TP + FN) | FP ÷ (FP + TN) |
| 2. 代入數字 | 90 ÷ (90 + 10) | 198 ÷ (198 + 9,702) |
| 3. 計算 | 90 ÷ 100 = 0.90 | 198 ÷ 9,900 = 0.02 |
| 4. 結果 | 90% | 2% |
解讀:100 次攻擊抓到 90 次,漏掉 10 次。9,900 筆正常流量中,有 198 筆被誤報。
同一份流量用三種規則設定測試。調低門檻會抓到更多攻擊,但誤報也會跟著變多。
| 設定 | TP | FN | FP | TN | 偵測率 | 誤報率 | 評語 |
|---|---|---|---|---|---|---|---|
| A 預設規則 | 90 | 10 | 198 | 9,702 | 90% | 2% | 兩者平衡 |
| B 門檻調低 | 98 | 2 | 990 | 8,910 | 98% | 10% | 幾乎不會漏抓,但誤報太多 |
| C 門檻調高 | 70 | 30 | 10 | 9,890 | 70% | 0.1% | 很少誤報,但漏掉 3 成攻擊 |
C 的誤報率 10 ÷ 9,900 ≈ 0.101%,表中四捨五入為 0.1%。
輸入四個數字,下方會即時算出結果與算式。預設值是第三節的範例。