🧩 1️⃣ ความหมายพื้นฐาน
| ประเภท | คำอธิบายสั้น | คำถามที่ตอบได้ |
|---|---|---|
| Temporal Pattern | “รูปแบบตามเวลา” — สิ่งใดเกิดขึ้น เมื่อไร, บ่อยแค่ไหน, มีจังหวะเวลาอย่างไร | “มันเกิดช่วงเวลาไหนบ่อย?” / “ทุกคืนตี 2 ทำไมมี traffic spike?” |
| Behavioral Pattern | “รูปแบบตามพฤติกรรม” — สิ่งใด ทำอะไร, มีขั้นตอนหรือพฤติกรรมการกระทำอย่างไร | “แฮกเกอร์ทำอะไรเป็นลำดับ?” / “กระบวนการนี้ทำไมเปิด port แล้วเชื่อมไป domain แปลก ๆ?” |
🕓 2️⃣ Temporal Pattern (รูปแบบเชิงเวลา)
เน้น มิติของเวลา (Time Dimension)
ใช้ในงาน Threat Intelligence, Network Analysis, DFIR เพื่อดู “แนวโน้มการเกิดเหตุ”
ตัวอย่าง
| สถานการณ์ | รูปแบบเวลา |
|---|---|
| Suricata เจอ alert spike ทุก 1 ชั่วโมง | อาจเป็น scheduled scan หรือ bot heartbeat |
| DNS query ไปโดเมนเดียวกันทุกวันเวลาเดิม | อาจเป็น beaconing ของ malware |
| User ล็อกอินจาก IP ต่างประเทศเฉพาะวันเสาร์ | พฤติกรรมผิดปกติ (possible insider activity) |
| Brute-force login เกิดทุก 30 วินาที | แสดงถึง automation tool |
การใช้จริง
Suricata / Zeek → วิเคราะห์ log timestamp (
timestamp,flow_start,flow_end)Grafana / Loki → plot frequency vs time
OpenCTI → วิเคราะห์ “Attack Campaign timeline” จาก incidents
คำถามที่ Temporal Pattern ช่วยตอบ
When did it happen?
How often does it occur?
Is there a repeating schedule or periodicity?
🧠 3️⃣ Behavioral Pattern (รูปแบบเชิงพฤติกรรม)
เน้น มิติของพฤติกรรมและลำดับการกระทำ (Action Sequence)
ใช้เพื่อเข้าใจ “เขาทำอะไรและอย่างไร” เช่น malware, attacker, หรือ user
ตัวอย่าง
| สถานการณ์ | ลักษณะพฤติกรรม |
|---|---|
Process powershell.exe → สร้างไฟล์ .ps1 → เรียก curl ไป IP แปลก | Behavior pattern ของ PowerShell dropper |
| User เปิดอีเมล → คลิกลิงก์ → ดาวน์โหลด EXE → เปิดไฟล์ → สร้าง persistence | ลำดับพฤติกรรม phishing infection |
| HTTP traffic → POST JSON → ขนาดเท่ากันทุกครั้ง → ไม่มี user-agent | พฤติกรรม beacon ของ C2 |
| Wireshark เจอ TLS session แต่ไม่มี SNI + certificate ซ้ำ | ลักษณะพฤติกรรมของ malware ที่หลบตรวจจับ |
การใช้จริง
ใน Suricata / Zeek → ใช้ event correlation (DNS → HTTP → File → Alert)
ใน OpenCTI → ใช้ entity
Attack Pattern,Intrusion Set,Malware Behaviorใน MISP → ผูก behavior เข้ากับ IOC (IP, URL, hash) เพื่อระบุ “TTP” (Tactics, Techniques, Procedures)
คำถามที่ Behavioral Pattern ช่วยตอบ
What happened?
How did it happen?
What sequence or tactics were used?
🔄 4️⃣ ความสัมพันธ์ระหว่าง Temporal + Behavioral Pattern
| มุมมอง | อธิบาย |
|---|---|
| Temporal = “เมื่อไหร่ / บ่อยแค่ไหน” | ใช้วัดการเปลี่ยนแปลงหรือความถี่ของเหตุการณ์ |
| Behavioral = “ทำอะไร / อย่างไร” | ใช้วิเคราะห์การกระทำหรือขั้นตอนของภัยคุกคาม |
| รวมกัน = Context ของ Threat หรือ Incident | เช่น “พฤติกรรมแบบ X เกิดซ้ำทุกเที่ยงคืน” |
ในระบบ Threat Intel เช่น OpenCTI + MISP
Temporal pattern จะอยู่ในฟิลด์ “first_seen”, “last_seen”, “valid_until”
Behavioral pattern จะอยู่ใน “attack-pattern”, “kill chain phase”, “observable pattern”
⚙️ 5️⃣ ตัวอย่างเชิงเทคนิค (Green Stack)
Suricata → Loki → OpenCTI
| ขั้นตอน | สิ่งที่เห็น |
|---|---|
| Suricata log พบการสแกน port 22 ทุก 10 นาที | Temporal pattern (interval-based attack) |
| ต่อมา traffic เดิมพยายาม brute-force SSH | Behavioral pattern (จาก scan → login attempt) |
| เมื่อ correlate กับ MISP feed พบ IP เดิมเคยใช้ใน campaign จากจีน | Pattern รวม (Temporal + Behavioral) ระบุ threat actor ได้ |
🧾 6️⃣ ใช้ Pattern พวกนี้เพื่ออะไร?
| เป้าหมาย | Pattern ที่ใช้ |
|---|---|
| ตรวจจับ (Detection) | Behavioral (ลักษณะการกระทำ) |
| แจ้งเตือนซ้ำ / anomaly | Temporal (ช่วงเวลา, ความถี่) |
| วิเคราะห์ campaign | ทั้งคู่ |
| Feed เข้า OpenCTI / MISP | Behavioral → mapped to MITRE ATT&CK, Temporal → timestamp correlation |
| ป้องกันล่วงหน้า | ใช้ temporal model สร้าง baseline, แล้วตรวจ deviation |
✅ 7️⃣ สรุปจำง่าย
| ประเภท | ถามคำถามว่า… | ใช้เมื่อ… |
|---|---|---|
| Temporal Pattern | “มันเกิดเมื่อไหร่?” | ต้องดูแนวโน้ม / ความถี่ / รอบเวลา |
| Behavioral Pattern | “มันทำอะไร?” | ต้องดูขั้นตอน / ลักษณะการโจมตี |
| ทั้งคู่รวมกัน | “มันทำอะไร เมื่อไหร่ และซ้ำอย่างไร?” | ใช้ใน Threat Intel, DFIR, SOC Alert Correlation |