Catalog

OpenCTI Threat Intelligence

Pack cung cấp connector kéo threat intelligence indicator từ OpenCTI về enrichment store của SecOps.
Pack nameOpenCTI Threat Intelligence
Version1.0.1
VendorOpenCTI
CapabilitiesConnector (pull · enrichment)
CategoriesThreat Intelligence · Security

Overview

Pack cung cấp connector kéo threat intelligence indicator từ OpenCTI về enrichment store của SecOps, bao gồm:

  • 1 pull connector (opencti-ti) — truy vấn GraphQL API của OpenCTI, đồng bộ indicator theo watermark modified
  • Enrichment entity threat_indicator — IOC dạng IP, domain, URL, file hash kèm score, confidence, MITRE tactic/technique, malware family, TLP marking

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

Yêu cầuChi tiết
OpenCTI 5.12+GraphQL API bật sẵn tại https://<opencti-host>/graphql
API tokenSettings → Security → Users → chọn user → copy Token. User cần quyền đọc Indicators và Stix Core Relationships
Kết nối mạngSecOps collector phải tới được host OpenCTI. Connector đặt allow_private_hosts=True nên hỗ trợ OpenCTI đặt trong mạng nội bộ
Quyền platformRole Content Pack Manager để cài pack, Log Source Manager để tạo connector

⚠️ URL phải trỏ thẳng vào endpoint GraphQL, ví dụ https://opencti.corp.local/graphql. Nhập URL gốc (https://opencti.corp.local) sẽ khiến Test Connection fail.


Cài đặt

  1. Vào Marketplace → tìm "OpenCTI Threat Intelligence"Install
  2. Vào Data CollectionData ConnectorsAdd Connection → chọn connector type opencti-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ả
OpenCTI URLopencti_urlstringEndpoint GraphQL, ví dụ https://opencti.corp.local/graphql
OpenCTI Tokenopencti_tokenpasswordAPI token của user OpenCTI (gửi dạng Authorization: Bearer <token>)
Poll Interval (minutes)time_intervalintChu kỳ đồng bộ, khuyến nghị 15 phút
Lookback Hourslookback_hoursintCửa sổ lấy dữ liệu lần chạy đầu (chưa có watermark). Hợp lệ 1–24, mặc định 24

Khi đẩy cấu hình qua API, kiểu dữ liệu phải khớp chính xác: opencti_url / opencti_tokenchuỗi có nháy, time_interval / lookback_hourssố không nháy.

{
  "opencti_url": "https://opencti.corp.local/graphql",
  "opencti_token": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "time_interval": 15,
  "lookback_hours": 24
}

Cách connector hoạt động

Mỗi chu kỳ poll, connector chạy 3 truy vấn GraphQL rồi hợp nhất kết quả:

#Truy vấnMục đíchBộ lọc
1indicatorsLấy indicator mới tạo hoặc vừa được sửarevoked = false, pattern_type = stix, modified > since — sắp xếp modified asc, phân trang 100 record
2stixCoreRelationshipsTìm quan hệ indicates mới phát sinh (indicator được gắn thêm vào malware / attack pattern)relationship_type = indicates, created_at > since
3indicators theo IDLấy đầy đủ những indicator chỉ xuất hiện ở truy vấn 2 mà chưa có ở truy vấn 1batch 100 ID mỗi lần

Kết quả truy vấn 1 và 3 được merge theo id (ưu tiên bản từ truy vấn 1 vì mới hơn). Sau khi yield hết record, watermark được đẩy về thời điểm bắt đầu job chứ không phải timestamp của record cuối — tránh bỏ sót indicator được sửa trong lúc job đang chạy.

idem_key của mỗi record là {instance_id}:ti:{indicator_id} → indicator được cập nhật thay vì nhân bản qua các lần đồng bộ.

Truy vấn 2 giải quyết trường hợp indicator không đổi nhưng vừa được gắn quan hệ với một malware hoặc technique mới — nếu chỉ dựa vào modified thì thông tin MITRE / malware family sẽ không bao giờ được cập nhật.


Enrichment Entity — threat_indicator

FieldNguồn OpenCTIMô tả
ididSTIX ID của indicator
patternpatternPattern STIX gốc, ví dụ [ipv4-addr:value = '203.0.113.10']
pattern_typepattern_typeLuôn là stix (connector chỉ lấy pattern STIX)
observable_valueTrích từ patternGiá trị IOC thuần (IP / domain / URL / hash) — đây là field dùng để đối chiếu log
indicator_typex_opencti_main_observable_typeIPv4-Addr, Domain-Name, Url, StixFile
indicator_typesindicator_typesDanh sách phân loại STIX gốc
threat_typeDerivedƯu tiên indicator_types[0]; nếu trống thì suy từ malware family (malware), rồi từ label theo từ khóa (phishing, botnet, c2, malware, scanning, exploit); cuối cùng fallback malicious-activity
malware_familyQuan hệ tới MalwareTên họ malware liên quan
mitre_tacticsQuan hệ tới AttackPatternDanh sách TAxxxx
mitre_techniquesQuan hệ tới AttackPatternDanh sách Txxxx
scorex_opencti_scoreĐiểm tin cậy IOC, mặc định 50 nếu OpenCTI không trả
confidenceconfidenceĐộ tin cậy nguồn, mặc định 0
detectionx_opencti_detectionIndicator có được đánh dấu dùng cho detection hay không, mặc định false
revokedrevokedLuôn false (đã lọc ở query)
valid_from / first_seenvalid_fromThời điểm indicator bắt đầu có hiệu lực
valid_untilvalid_untilThời điểm hết hiệu lực
modifiedmodifiedLần sửa gần nhất trên OpenCTI
descriptiondescriptionMô tả indicator
labelsobjectLabel[].valueNhãn phân loại của OpenCTI
markingsobjectMarking[].definitionTLP marking (TLP:CLEAR, TLP:AMBER…)

observable_value được trích bằng regex lấy giá trị trong dấu nháy sau dấu = của pattern STIX. Pattern phức hợp (nhiều điều kiện AND/OR) chỉ lấy được giá trị đầu tiên — cân nhắc lọc bớt loại pattern này ở phía OpenCTI nếu cần độ chính xác cao.


Troubleshooting

Triệu chứngNguyên nhânCách xử lý
Test Connection failURL thiếu /graphqlNhập đầy đủ https://<host>/graphql
Test Connection fail, log báo 401Token sai hoặc user bị disableTạo lại token trong Settings → Security → Users
Save cấu hình bị chặn: Lookback hours cannot exceed 24lookback_hours > 24Đặt lại trong khoảng 1–24
Save bị chặn: Lookback hours must be a valid integerNhập chuỗi vào field intNhập số nguyên, hoặc để trống để dùng mặc định 24
Đồng bộ 0 recordKhông có indicator nào modified trong cửa sổ lookbackBình thường với tenant ít cập nhật. Kiểm tra bằng cách sửa 1 indicator trên OpenCTI rồi chờ chu kỳ kế tiếp
Thiếu indicator dù đã tạo trên OpenCTIIndicator có pattern_type khác stix hoặc đang revokedConnector chỉ lấy pattern STIX chưa bị thu hồi — đây là hành vi thiết kế
mitre_techniques / malware_family trốngIndicator chưa có quan hệ indicates tới AttackPattern / MalwareBổ sung quan hệ trên OpenCTI; chu kỳ kế tiếp truy vấn 2 sẽ kéo về
Sync chậm / timeoutTenant có lượng indicator lớn, phân trang 100/lầnTăng time_interval, giảm lookback_hours cho lần khởi tạo

Checklist sau khi cài:

  • Connector type opencti-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

Hỗ trợ

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

Last updated: 2026-07-30 · Vendor: OpenCTI · Author: secops-team