Incident Timeline là chuỗi sự kiện có timestamp giúp đội Incident Response tái dựng điều gì xảy ra trước, trong và sau một website security incident. Timeline tốt không chỉ liệt kê log; nó phải liên kết event, asset, account, evidence và mức confidence để hỗ trợ xác định entry point, persistence, scope và quyết định containment.
Với website WordPress, dữ liệu thường nằm rải rác ở access log, WAF/CDN, WordPress audit log, hosting, SSH/SFTP, database và file integrity. Vì vậy correlation theo thời gian là bước rất quan trọng.
Bắt đầu Incident Timeline từ event đã biết
Chọn một event có confidence cao làm anchor: admin login lạ, file webshell được tạo, plugin bị cài trái phép hoặc redirect bắt đầu xuất hiện. Sau đó mở rộng cửa sổ thời gian về trước và về sau.
Mở rộng về trước để tìm initial access
Tìm request khai thác, login, password reset, upload, plugin/theme change hoặc credential usage xảy ra trước anchor.
Mở rộng về sau để tìm persistence và impact
Tìm account mới, cron/MU-plugin, outbound connection, database modification, redirect, malware propagation hoặc cleanup activity.
Chuẩn hóa timestamp trước khi correlation
Các nguồn log có thể dùng UTC, giờ local hoặc timezone khác. Hãy ghi timezone của từng nguồn và chuyển về một chuẩn chung trước khi xếp thứ tự.
Sai lệch vài giờ có thể làm đội điều tra kết luận sai chuỗi nguyên nhân. Bài log cần thu thập khi điều tra sự cố website giúp xác định nguồn dữ liệu cần đưa vào timeline.
Mẫu Incident Timeline thực dụng
| Time | Source | Event | Asset/Account | Evidence | Confidence |
|---|---|---|---|---|---|
| 02:13 UTC | WordPress audit | Admin login thành công | admin-x | Login event + IP | High |
| 02:16 UTC | WordPress | Plugin lạ được cài | Site A | Audit log | High |
| 02:18 UTC | File integrity | PHP file mới xuất hiện | wp-content | Path + hash | High |
| 02:21 UTC | Network/WAF | Outbound/request pattern bất thường | Site A | Event log | Medium |
Mỗi dòng nên liên kết được với evidence gốc. Nếu một event chỉ là giả thuyết, ghi rõ thay vì trình bày như fact.
Phân biệt fact, inference và hypothesis
Fact
Sự kiện được nguồn dữ liệu xác nhận trực tiếp, ví dụ file xuất hiện lúc 02:18 hoặc account đăng nhập lúc 02:13.
Inference
Kết luận có cơ sở từ nhiều fact, ví dụ account admin có thể đã được dùng để cài plugin độc hại.
Hypothesis
Giả thuyết cần kiểm chứng, ví dụ credential bị phishing hoặc plugin vulnerability là initial access.
Dùng timeline để mở rộng scope
Mỗi IOC, account, asset hoặc timestamp mới có thể tạo pivot mới. Nếu cùng IP xuất hiện ở hosting panel và WordPress, scope có thể phải mở rộng khỏi application layer.
Kết hợp timeline với xác định phạm vi ảnh hưởng để phân biệt confirmed affected, suspected và cleared.
Timeline hỗ trợ Root Cause Analysis như thế nào?
RCA cần chứng minh chuỗi nguyên nhân chứ không chỉ tìm artefact cuối cùng. Timeline giúp trả lời: attacker vào lúc nào, bằng vector nào, privilege tăng khi nào, persistence xuất hiện ở đâu và containment có thực sự dừng hoạt động hay không.
Sau khi timeline đủ ổn định, chuyển sang Root Cause Analysis sau Security Incident.
Quality gate trước khi sử dụng timeline để ra quyết định
- Timestamp đã chuẩn hóa timezone.
- Mỗi event quan trọng có source/evidence.
- Fact và hypothesis được phân biệt.
- Khoảng trống dữ liệu được ghi rõ.
- Timeline bao phủ trước initial event và sau containment.
- Event quan trọng đã được đối chiếu từ hơn một nguồn khi có thể.
Baseline tham khảo
NIST SP 800-61 Rev. 3 đặt investigation và response trong vòng quản trị rủi ro liên tục. OWASP Logging Cheat Sheet nhấn mạnh giá trị của application logging và event consistency. Với website, Incident Timeline là lớp correlation giúp biến nhiều log rời rạc thành evidence có trình tự và có thể kiểm chứng.
