[IT-Security-2] 入侵偵測 Intrusion Detection

Intrusion Detection


Notes from RWTH Aachen University course 
“IT security 2” Wintersemester 2019/20
professor: Meyer, Ulrike Michaela

Typical attack methodology

  • 取得資訊
  • 取得權限
  • 權限提升
  • 取得系統資訊
  • 維持權限
  • 掩蓋蹤跡

:cactus: What is Intrusion Detection

  • :droplet: Security Intrusion
    • 一個安全事件,未經過authorization,取得或嘗試取得access to a system(or resource)
  • :droplet: Intrusion Detection
    • 一安全服務,監視系統事件以real-time通知入侵行為

:cactus: Components of a Intrusion Detection System (IDS)

  • Sensors 紀錄行為、蒐集資料
  • Analyzers 根據資料分析、決定
  • User Interface 輸出結果

:cactus: Detection rate

  • :droplet: 因為intruder和authorized user行為有overlap,detection有可能偵測錯誤
  • :alarm_clock: \(\text{Detection rate = Recall = }\frac{TP}{TP+FN}\)
    \(TP=\text{True Positive (攻擊導致alarm)}\)
    \(FN=\text{False Negative (攻擊沒有導致alarm)}\)
    越大越好
  • :alarm_clock: \(\text{False alarm rate = False Positive rate = }\frac{FP}{FP+TN}\)
    \(FP=\text{導致alarm的良性行為}\)
    \(TN=\text{沒有alarm的良性行為}\)
    越小越好

:cactus: Base Rate Fallacy

  • 難以達到detection rate越大、false alarm rate越小
  • 因為攻擊機率低,若有alarm,則低機率是attack
  • :droplet: Bayes Theorem
    \[Pr(A|B)=\frac{Pr(A\cap B)}{Pr(B)}\]\[Pr(B|A)=\frac{Pr(A|B)P(B)}{Pr(A)}\]

:cactus: IDS Approaches

  • :droplet: Anomaly Detection
    • 蒐集資料
    • 建立model
    • 檢查與model不符的行為

    false alarm rates可能很高

    • 方法
      • Statistical univariate, multivariate, time-series
      • Knowledge-based expert system 提供的 rules
      • Machine-learning Bayesian networks, Markov models, fuzzy logic, clustering…
  • :droplet: Signature or Heuristic detection (Misuse Detection)
    • 惡意的data pattern(signatures)
      • Signature越大越能減少false alarm rate
      • low cost
    • attack rules(heuristics)
      • 利用 rules 辨別可疑行為 (針對各OS, machine)
      • 經過分析
      • eg. SNORT 是rule-based IDS
      • rules:
        • buffer overflow (eg. setuid program產生特定的arguments)
        • SYN flooding (eg. 有很多SYN packets但沒有ACK)
    • 只能檢查已知的attack
  • Extracting Misuse Signatures
    • attack不變的特徵
    • Honeypots
  • :droplet: Host-based IDS (HIDS)
    • 在特定的host觀察
    • 只提供local view
    • 只有在被攻擊時能偵測
    • 可觀察的資料:
      • System call
        • 看誰呼叫system call
        • 但Windows的DLL使用會隱藏誰呼叫
      • Audit recored(log files)
        • 攻擊者也可能修改log file或不紀錄
      • File integrity checksums
        • 用MAC計算checksums
      • Registry access
        • 檢查registry
  • :droplet: Network-based IDS (NIDS)
    • network中選定的一群節點
    • 通常包含如firewall
    • 越少節點能包含完整網路越好
    • Sensor
      • Inline sensor: traffic必須通過
      • Passive sensor: 複製traffic
    • Sensor Placement
      • with external firewall
      • DMZ
      • with internal firewall
      • internal

可偵測的攻擊

  • :droplet: Anomaly detection
    • DoS
    • scanning attack
    • worm
    • bot
  • :droplet: Misuse-based detection
    • application layer attack (DHCP, DNS, FTP, IMAP…)
    • Transport layer attack (SYN floods)
    • Network layer (IPv4, IPv6…)
    • host running SMTP server
  • :droplet: Distributed IDS
    • 結合 HIDS及NIDS
    • 溝通並交換資訊
    • Intrusion Detection Exchange Protocol (IDXP)
      • 如何交換資訊的protocol
        

:cactus: Snort


  • Highly configurable host-based/network-based IDS

  • packet/ protocol/ content

  • 針對 TCP/ UDP/ ICMP

  • based on rules

  • inline/ passive

  • :droplet: Architecture

    • Decoder 識別並隔離(isolate)封包 (各layer的header)
    • Detection Engine 根據rules分析,找第一個對應的rule
    • Logger 儲存packet
    • Alerter 通知file/ UNIX socket/ database
  • :droplet: Rules

    • simple, flexible rule definition language
    • headeroption
    Headerdescriptionexample
    Actionwhat to doalert/ log/ pass/ drop/ reject
    ProtocolTCP/ UDP/ ICMP/ IP
    Source IP address
    Source port
    Directionunidirectional/ bidirectional
    Destination IP address and port
    Options
    keyword
    arguments
    • Categories of rule options
      • Metadata
      • Payload
      • Non-payload
      • Post-detection

    Snort 有 remote buffer overflow 的漏洞
    會執行 remote code
    之後被修正了

:cactus: Attacking and Evading NIDS

  • :droplet: Overload NIDS
    • 用大量資料overload,以入侵NIDS
    • Solution: watchdog timer
  • :droplet: Encrypt
  • :droplet: split packets
  • :droplet: 偵測困難
    • scanning (可能split封包)
    • recording (可能reorder封包)
    • fully reassembly of TCP state (用TCP tricks)
    • 都不夠

Readings
Stallings and Brown: Computer Security, 2015 
    §Chapter 8: Intrusion Detection Systems
Matt Bishop: Introduction to Computer Security, 2004 
    §Chapter 22: Intrusion Detection

留言

這個網誌中的熱門文章