Rule

Thiết lập quy tắc phát hiện cảnh báo theo ngưỡng (Threshold rule)

Các bước tạo Threshold rule

Bước 1: Truy cập tính năng Rule

  1. Từ thanh menu trái, chọn Detections → Rule.
  2. Trên giao diện màn Rules, nhấn button "Create Rule" → "Correlation rule"
  3. Hệ thống hiển thị popup, người dùng chọn "Threshold rule"

Bước 2: Cấu hình Rule

Điền thông tin cơ bản

TrườngBắt buộcMô tả
TitleTên của rule
DescriptionMô tả ngắn gọn về mục đích của rule
Product sourceXác định rule thuộc log source nào. Hệ thống hiển thị danh sách log source sẵn có trong Project
LevelMức độ nghiêm trọng của cảnh báo khi rule được kích hoạt: Low (mặc định), Medium, High, Critical.
Select Tactic & Technique (MITRE ATT&CK)Cho phép ánh xạ rule với 1 hoặc nhiều cặp Tactic – Technique trong thư viện MITRE ATT&CK.

Cấu hình Tactic & Technique (MITRE ATT&CK):
1. Tick checkbox "Select Tactic & Technique from MITRE ATT&CK".
2. Chọn ATT&CK Library:
- Enterprise (Doanh nghiệp)
- Mobile (Thiết bị di động)
3. Chọn Tactic ID từ danh sách.
4. Sau khi chọn Tactic, hệ thống sẽ tự động lọc và hiển thị các Technique ID tương ứng.
5. Chọn Technique phù hợp để tạo một cặp Tactic – Technique

Thao tác:
- Nhấn button "Add Mapping" để thêm cặp ATT&CK
- Nhấn biểu tượng thùng rác 🗑️ để xóa.

Giới hạn: Có thể thêm tối đa 10 cặp Tactic & Technique trong một rule.
Sigma's StatusTrạng thái sẵn sàng sử dụng của rule:
- Experimental (mặc định)
- Test
- Stable
- Deprecated
- Unsupported
ReferencesĐường dẫn tham khảo hoặc tài liệu bên ngoài liên quan đến rule.
False Positive DescriptionGiải thích ngắn gọn về trường hợp cảnh báo sai (false positive).

Bước 3: Tạo điều kiện phát hiện cảnh báo

1. Xây dựng bộ quy tắc phát hiện cảnh báo (Detection)

Phần này cho phép người dùng định nghĩa logic phát hiện (Detection Logic). Khi các sự kiện (event) thỏa mãn điều kiện đã cấu hình, hệ thống sẽ tự động sinh cảnh báo (Alert).

Cấu trúc của một Rule:

  • Mỗi rule gồm một hoặc nhiều Selection.
  • Mỗi Selection bao gồm một hoặc nhiều Condition.
  • Các Condition trong cùng một Selection được kết hợp với nhau bằng toán tử AND.
  • Các Selection được kết hợp với nhau bằng các toán tử logic (AND, OR, AND NOT, OR NOT).

Cách để tạo 1 condition?

TrườngBắt buộcMô tả
SelectionĐặt tên nhóm điều kiện (Selection)
Không được chứa khoảng trắng hoặc ký tự đặc biệt.
FieldHệ thống hiển thị danh sách trường dữ liệu (CSM field) sau khi log được parse thành công.
Ví dụ: host.name, event.category, …
OperatorChọn toán tử phù hợp từ danh sách cho sẵn
Hệ thống hiện tại đang hỗ trợ các toán tử sau:
Kiểu dữ liệuToán tửMô tả
Nếu type = Scalar và Field = StringEqualGiá trị là đoạn text được input
ContainsGiá trị có chứa đoạn text xác định.
Starts withBắt đầu bằng giá trị xác định.
Ends withKết thúc bằng giá trị xác định.
RegexSo khớp theo biểu thức chính quy (regex).
Nếu type = Scalar và Field = NumberEqualGiá trị bằng đúng giá trị số được input
Greater thanGiá trị lớn hơn giá trị số được input
Greater than or equalGiá trị lớn hơn hoặc bằng giá trị số được input
Less thanGiá trị nhỏ hơn giá trị số được input
Less than or equalGiá trị nhỏ hơn hoặc bằng giá trị số được input
Nếu type = ArrayInGiá trị trường nằm trong danh sách giá trị được cung cấp.
TrườngBắt buộcMô tả
ValueNgười dùng nhập các giá trị thực để hệ thống so sánh với trường dữ liệu.

Type = Scalar:
- Chỉ cho phép nhập một giá trị duy nhất.

Type = Array:
- Cho phép nhập nhiều giá trị.
- Mỗi giá trị được ngăn cách bằng phím Enter.
- Tối đa 10 giá trị khác nhau tại một thời điểm.

Cách tạo nhiều Selection?

  1. Nhấn button "Add Selection" để thêm nhóm điều kiện mới.
  2. Một selection sẽ hiển thị lên để người dùng cấu hình
  3. Để xóa một nhóm không cần thiết → nhấn biểu tượng "x".

Note: Có thể tạo tối đa 10 Selection trong một rule.

Cách để kết hợp nhiều Selection?

  1. Sau khi tạo ít nhất 1 Selection, nhấn Add Selection ở phần Condition để cấu hình
  2. Hệ thống sẽ mặc định dùng toán tử AND để kết hợp.
  3. Bạn có thể thay đổi sang các toán tử khác:
    • AND NOT – Cả 2 điều kiện đúng và sai xen kẽ.
    • OR – Chỉ cần 1 điều kiện đúng.
    • OR NOT – Một điều kiện đúng, điều kiện kia sai.

2. Thiết lập quy tắc ngưỡng (Threshold)

Group result by (Bắt buộc)
TrườngBắt buộcMô tả
FieldPhần này dùng để nhóm kết quả sự kiện theo một hoặc nhiều trường dữ liệu.
VD:
- Group theo source.ip
- Group theo user.name
- Group theo host.name + user.name
OperatorSau khi group dữ liệu, người dùng thiết lập điều kiện ngưỡng để xác định khi nào rule được kích hoạt.
Các toán tử hệ thống hỗ trợ:
- Greater than (default)
- Greater than or equal
ValueNhập giá trị ngưỡng (số nguyên).
Count unique value (Tùy chọn)

Cho phép bật/tắt chế độ đếm số lượng giá trị duy nhất (unique value) thay vì đếm tổng số sự kiện. Khi bật tính năng này, hệ thống sẽ đếm số lượng giá trị khác nhau của một trường dữ liệu trong mỗi group.

TrườngBắt buộcMô tả
Target fieldChọn trường dữ liệu cần đếm giá trị duy nhất.
Chỉ Count unique theo 1 trường duy nhất.
OperatorChọn toán tử so sánh cho số lượng giá trị duy nhất.
Các toán tử hệ thống hỗ trợ:
- Greater than (default)
- Greater than or equal
ValueNhập giá trị ngưỡng (số nguyên).

3. Preview KQL

  1. Nhấn nút 'Generate KQL' để hệ thống tự động gen cú pháp truy vấn dựa trên các điều kiện đã cấu hình.
  2. Nhấn nút 'Test' để kiểm tra tính chính xác và xem trước kết quả dữ liệu trả về từ câu lệnh.

Bước 4: Cấu hình thời gian

1. Tần suất (Frequency)

Xác định chu kỳ rule được thực thi. Rule sẽ chạy lại sau mỗi khoảng thời gian được cấu hình.

TrườngBắt buộcMô tả
Period of timeĐiền thời gian mà rule chạy lại (số nguyên)
Giá trị mặc định: 5
UnitĐơn vị thời gian để rule chạy lại.
Hệ thống hỗ trợ các đơn vị:
- Minutes (mặc định)
- Hours
- Days

2. Thời gian rule query (Look back time window)

Xác định thời gian rule query mỗi lần chạy

TrườngBắt buộcMô tả
Period of timeĐiền thời gian mà rule query mỗi lần chạy (số nguyên)
Giá trị mặc định: 5
UnitĐơn vị thời gian để rule query lại
Hệ thống hỗ trợ các đơn vị:
- Minutes (mặc định)
- Hours
- Days

3. Thời gian rule bắt đầu chạy (Start running time)

Có 2 cấu hình cho người dùng chọn:

  • Now (default): Khi chọn option này thì Rule sẽ bắt đầu chạy ngay khi Rule tạo thành công.
  • Specific time: Khi chọn option này, người dùng được phép chọn 1 khoảng thời gian bất kỳ trong tương lai để Rule chạy.

4. Giảm độ nhiễu (Suppresion)

Xác định khoảng thời gian mà rule không đẩy alert.

TrườngBắt buộcMô tả
Period of timeĐiền thời gian rule chạy nhưng không sinh alert
Giá trị mặc định: 0
UnitĐơn vị thời gian để rule không sinh alert
Hệ thống hỗ trợ các đơn vị:
- Minutes (mặc định)
- Hours
- Days

logo
CMC Telecom
Aspire to Inspire the Digital World