Catalog

Brandefense Threat Intelligence

Pack cung cấp connector kéo IOC feed từ Brandefense Threat Intelligence về enrichment store của SecOps.
Pack nameBrandefense Threat Intelligence
Version1.0.0
VendorBrandefense
CapabilitiesConnector (pull · enrichment)
CategoriesThreat Intelligence · Security

Yêu cầu trước khi cài đặt

Yêu cầuChi tiết
Tài khoản BrandefenseGói dịch vụ có module Threat Intelligence
API tokenTạo tại avatar góc trên phải → API Management → Create. Cần quyền Administrator để thấy menu này
Scope & ModuleKhi tạo token phải chọn cả hai: scope read module Threat Intelligence. Thiếu module → API trả 403 permission_denied
Kết nối mạngSecOps collector phải ra được Internet tới https://api.brandefense.io (HTTPS/443)
Quyền platformRole Content Pack Manager để cài pack, Log Source Manager để tạo connector

⚠️ Token chỉ hiển thị đúng một lần khi tạo. Lưu lại ngay, không có cách xem lại.

⚠️ Token phải đặt Expiration Date. Ghi lại ngày hết hạn — khi token hết hiệu lực, connector fail toàn bộ với lỗi 401.

Ví dụ bản ghi IOC do API trả về

{
  "id": "77ce2d58-3896-40b9-8826-fb28682e1f4d",
  "data": "192.0.2.45",
  "type": "ip_address",
  "category": "botnet_ip_addresses",
  "module": "dataplane",
  "severity": "LOW",
  "first_seen": "2026-08-03T17:34:34+00:00",
  "last_seen": "2026-08-23T23:09:13.434000+00:00",
  "data_type": "ipv4_address"
}
{
  "id": "11111111-1111-1111-1111-111111111111",
  "data": "secure-login.example-bank.net",
  "type": "domain",
  "category": "phishing_domains",
  "module": "cert_polska",
  "severity": "HIGH",
  "first_seen": "2026-08-01T03:00:00+00:00",
  "last_seen": "2026-11-15T00:00:00+00:00",
  "data_type": "domain"
}

📌 Trường last_seen của Brandefense mang ngày trong tương lai — đây thực chất là thời điểm IOC hết hiệu lực, không phải lần nhìn thấy gần nhất. Connector map nó thành valid_until.


Cài đặt

  1. Vào Marketplace → tìm "Brandefense Threat Intelligence"Install
  2. Vào Data CollectionData ConnectorsAdd Connection → chọn connector type brandefense-ti
  3. Điền cấu hình (bảng bên dưới) → Test ConnectionSave
  4. Kiểm tra Enrichment → Threat Indicators sau chu kỳ poll đầu tiên

Cấu hình connector

FieldKeyKiểuBắt buộcMô tả
Brandefense API URLapi_urlstringMặc định https://api.brandefense.io. Chỉ đổi khi Brandefense cấp endpoint riêng
Brandefense API Tokenapi_tokenpasswordToken tạo ở API Management (gửi dạng Authorization: Bearer <token>)
IOC Time WindowperiodstringCửa sổ lấy IOC. Chỉ nhận 24h, 7d, 30d. Mặc định 24h
IOC Typesioc_typesstringDanh sách phân tách bằng dấu phẩy. Hợp lệ: ip_address, domain, url, hash. Mặc định lấy cả 4
Max Pages Per IOC Typemax_pages_per_typeintTrần số trang cho mỗi loại IOC. Hợp lệ 1–5000, mặc định 500
Poll Interval (minutes)time_intervalintChu kỳ đồng bộ, khuyến nghị 60 phút

API Brandefense bỏ qua tham số page_size và luôn trả 10 bản ghi mỗi trang. Vì vậy max_pages_per_type chính là công cụ khống chế khối lượng: 500 trang × 10 = 5.000 IOC cho mỗi loại.

Khi đẩy cấu hình qua API, kiểu dữ liệu phải khớp chính xác: api_url / api_token / period / ioc_typeschuỗi có nháy, max_pages_per_type / time_intervalsố không nháy.

{
  "api_url": "https://api.brandefense.io",
  "api_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "period": "24h",
  "ioc_types": "ip_address,domain,url,hash",
  "max_pages_per_type": 500,
  "time_interval": 60
}

Cách connector hoạt động

Mỗi chu kỳ poll, connector lặp qua từng ioc_type được chọn:

BướcHành động
1Gọi GET /api/v1/threat-intelligence/iocs?ioc_type=<type>&period=<period>
2Đọc mảng results (10 bản ghi), map từng bản ghi sang entity threat_indicator
3Đi tiếp theo URL tuyệt đối ở trường next (đã kèm cursor search_after)
4Dừng khi next rỗng, results rỗng, hoặc chạm max_pages_per_type
  • idem_key{instance_id}:ti:{ioc_id} → IOC được cập nhật thay vì nhân bản qua các lần đồng bộ
  • IOC trùng id giữa các ioc_type được khử trùng lặp trong cùng một lần chạy
  • Không gọi watermark.set() — đúng mô hình data_kind: enrichment, mỗi lần poll là một lần đồng bộ đầy đủ
  • Lỗi HTTP ở một ioc_type chỉ dừng loại đó và ghi cảnh báo, các loại còn lại vẫn chạy tiếp

Nếu log xuất hiện cảnh báo hit max_pages_per_type, nghĩa là feed bị cắt cụt. Hoặc tăng max_pages_per_type, hoặc rút period xuống 24h để giảm khối lượng.


Enrichment Entity — threat_indicator

FieldNguồn BrandefenseMô tả
ididUUID của IOC
observable_valuedataGiá trị IOC thuần (IP / domain / URL / hash) — field dùng để đối chiếu log
indicator_typedata_typeIPv4-Addr, IPv6-Addr, Domain-Name, Url, StixFile
patternDerivedPattern STIX dựng từ data, ví dụ [ipv4-addr:value = '192.0.2.45']
pattern_typeLuôn là stix
threat_typeDerived từ category + moduleKhớp từ khóa theo thứ tự: botnetphishingc2 (gồm ssl_blacklist) → ransomwaremalwarescanningbrute-forceexploitspamanonymization; fallback malicious-activity
indicator_typesDerivedMảng một phần tử chứa threat_type
scoreseverityCRITICAL→95, HIGH→80, MEDIUM→60, LOW→40, INFO→20; mặc định 50
confidenceCố định 75 (feed đã được Brandefense curate, API không trả confidence riêng)
valid_from / first_seenfirst_seenThời điểm IOC được đưa vào feed
valid_untillast_seenThời điểm IOC hết hiệu lực (Brandefense trả ngày tương lai)
modifiedfirst_seenAPI không có trường cập nhật riêng
descriptionDerivedBrandefense <indicator_type> indicator | category: <category> | feed: <module>
labelscategory, module, data_type, ioc_typeNhãn phân loại, đã khử trùng lặp
detectionLuôn true
revokedLuôn false (IOC hết hạn không còn nằm trong period)
markings / malware_family / mitre_tactics / mitre_techniquesRỗng — API IOC feed không cung cấp

Nguồn feed đã quan sát được

categorymodulethreat_type map ra
botnet_ip_addressesdataplanebotnet
phishing_domainscert_polskaphishing
malicious_urlsAbuse.ch URLhausmalware
ssl_blacklistabusech_sslblacklistc2

IOC thuộc ssl_blacklistSHA-1 fingerprint của chứng chỉ SSL dùng bởi hạ tầng C2, không phải hash của file. Chúng được map là StixFile theo phân loại hash của Brandefense — cần lưu ý khi viết rule đối chiếu.


Troubleshooting

Triệu chứngNguyên nhânCách xử lý
Test Connection fail, log báo 401Token sai hoặc đã hết hạnTạo token mới ở API Management, cập nhật lại cấu hình connector
Test Connection fail, log báo 403 permission_deniedToken thiếu module Threat IntelligenceTạo lại token và tick module Threat Intelligence, không chỉ scope
Save bị chặn: Period must be one of: 24h, 7d, 30dNhập giá trị khácChỉ dùng đúng 3 giá trị này — API từ chối mọi giá trị khác
Save bị chặn: Unknown IOC type(s): ...Sai tên loại IOCDùng đúng ip_address, domain, url, hash
Save bị chặn: Max pages per type must be...Giá trị ngoài 1–5000 hoặc không phải sốNhập số nguyên trong khoảng, hoặc để trống để dùng mặc định 500
Đồng bộ 0 recordKhông có IOC mới trong cửa sổ periodTăng period lên 7d để kiểm chứng
Log cảnh báo hit max_pages_per_typeFeed lớn hơn trần đang đặtTăng max_pages_per_type, hoặc giảm period, hoặc bớt ioc_types
Sync chậmAPI trả cố định 10 record/trang, không đổi đượcGiảm ioc_types xuống loại thực sự cần, tăng time_interval lên 60–120 phút
IOC cũ vẫn còn trong enrichment storeBản ghi cũ chưa bị dọnIOC ngoài cửa sổ period sẽ không được làm mới; dựa vào valid_until để lọc khi đối chiếu

Checklist sau khi cài:

  • Connector type brandefense-ti xuất hiện trong danh sách Log Source
  • Test Connection trả về thành công
  • Sau 1 chu kỳ poll, Enrichment → Threat Indicators có dữ liệu
  • observable_value của record mẫu đúng định dạng IOC mong đợi
  • Log connector không có cảnh báo hit max_pages_per_type

Hỗ trợ

  • Lỗi platform/Góp ý pack: Dùng tính năng feedback trên trang Marketplace

Last updated: 2026-08-11 · Vendor: Brandefense · Author: secops-team