Phương pháp đọc và phân tích Log trong Cybersecurity
Log là một trong những nguồn dữ liệu quan trọng nhất để troubleshooting, threat hunting và incident response. Tuy nhiên, đọc log không có nghĩa là nhìn từng dòng và cố tìm chữ “ERROR”. Cách hiệu quả hơn là xây dựng lại câu chuyện của sự kiện từ nhiều trường dữ liệu và nhiều nguồn log.
Hình trên minh họa ba nguồn rất phổ biến: EDR/EPP, Proxy Logs và DNS Logs.
1. Đọc một log theo mô hình 5W1H
Khi gặp một log, trước tiên hãy trả lời:
When – Khi nào?
Timestamp của sự kiện là gì? Cần chú ý timezone để correlation với các hệ thống khác.
Who – Ai?
User/account nào liên quan? Là user thông thường, administrator hay service account?
Where – Ở đâu?
Hostname, source IP, destination IP, endpoint hoặc network segment nào?
What – Chuyện gì xảy ra?
DNS query, HTTP request, login, process execution, file creation hay firewall connection?
Why – Vì sao đáng chú ý?
Hành vi này bình thường hay bất thường so với baseline?
How – Bằng cách nào?
Protocol, application, process, command line hoặc technique nào được sử dụng?
Đây là cách biến một dòng log thành security context.
2. Phân tích DNS Log
DNS log trong hình cho biết traffic đã tới DNS resolver.
Một record có thể chứa:
Security Analyst đặc biệt quan tâm:
Endpoint nào hỏi domain nào? Domain đó có bình thường không? Tần suất bao nhiêu?
Ví dụ:
Một query đơn lẻ chưa nói lên nhiều điều. Nhưng hàng trăm subdomain dài, ngẫu nhiên với tần suất cao có thể gợi ý DGA, C2 hoặc DNS tunneling.
DNS vì thế rất hữu ích cho Threat Hunting.
3. Phân tích Proxy/SWG Log
Proxy log cho chúng ta nhìn sâu hơn vào Web traffic:
Ví dụ:
Lúc này analyst cần hỏi:
Ai truy cập? Truy cập URL nào? GET hay POST? Browser hay application? Firewall/proxy cho phép hay chặn? Có download/upload dữ liệu không?
Nếu thấy:
mức độ đáng ngờ sẽ cao hơn rất nhiều so với một browser thông thường truy cập cùng domain.
4. EDR/EPP Log – nhìn vào bên trong Endpoint
EDR cung cấp context mà network log thường không có:
Ví dụ:
Đây là chuỗi đáng điều tra vì một tài liệu Office sinh PowerShell rồi kết nối ra Internet có thể liên quan đến malware execution.
Một nguyên tắc rất hữu ích:
Parent-child process relationship thường cung cấp manh mối rất mạnh khi phân tích endpoint.
5. Correlation – đừng đọc từng log riêng biệt
Đây là kỹ năng quan trọng nhất.
Giả sử lúc 10:32:15, EDR ghi nhận:
Ba giây sau DNS ghi:
Tiếp theo Proxy ghi:
Firewall sau đó ghi:
Từng log riêng biệt chưa chắc tạo alert nghiêm trọng.
Nhưng khi ghép lại:
chúng ta đã có một attack story.
Đây chính là Log Correlation.
6. Phân tích theo Timeline
Khi điều tra incident, hãy sắp xếp sự kiện theo thời gian:
Có thể ánh xạ những hành vi này vào MITRE ATT&CK để hiểu attacker đang ở giai đoạn nào và tiếp tục hunting các dấu vết liên quan.
Một công thức dễ nhớ
Network/Security Engineer có thể dùng quy trình:
Trong đó, SIEM giúp tập trung và correlation log; EDR/XDR/NDR bổ sung telemetry và detection; SOAR có thể tự động hóa một phần response.
Điểm quan trọng nhất là: đừng tìm một dòng log “xấu”; hãy tìm một chuỗi hành vi bất thường.
Một IP lạ chưa chắc là attack. Một PowerShell process cũng chưa chắc là malware. Một DNS query hiếm cũng chưa chắc là C2.
Nhưng:
sẽ tạo ra một câu chuyện hoàn toàn khác.
Đó chính là sự khác biệt giữa đọc log và phân tích log.
Log là một trong những nguồn dữ liệu quan trọng nhất để troubleshooting, threat hunting và incident response. Tuy nhiên, đọc log không có nghĩa là nhìn từng dòng và cố tìm chữ “ERROR”. Cách hiệu quả hơn là xây dựng lại câu chuyện của sự kiện từ nhiều trường dữ liệu và nhiều nguồn log.
Hình trên minh họa ba nguồn rất phổ biến: EDR/EPP, Proxy Logs và DNS Logs.
1. Đọc một log theo mô hình 5W1H
Khi gặp một log, trước tiên hãy trả lời:
When – Khi nào?
Timestamp của sự kiện là gì? Cần chú ý timezone để correlation với các hệ thống khác.
Who – Ai?
User/account nào liên quan? Là user thông thường, administrator hay service account?
Where – Ở đâu?
Hostname, source IP, destination IP, endpoint hoặc network segment nào?
What – Chuyện gì xảy ra?
DNS query, HTTP request, login, process execution, file creation hay firewall connection?
Why – Vì sao đáng chú ý?
Hành vi này bình thường hay bất thường so với baseline?
How – Bằng cách nào?
Protocol, application, process, command line hoặc technique nào được sử dụng?
Đây là cách biến một dòng log thành security context.
2. Phân tích DNS Log
DNS log trong hình cho biết traffic đã tới DNS resolver.
Một record có thể chứa:
Timestamp → User → Source IP → DNS Server → Query → Record Type → Result → Category → Action
Security Analyst đặc biệt quan tâm:
Endpoint nào hỏi domain nào? Domain đó có bình thường không? Tần suất bao nhiêu?
Ví dụ:
PC-01 → x7k29a.example.com → 500 queries/minute
Một query đơn lẻ chưa nói lên nhiều điều. Nhưng hàng trăm subdomain dài, ngẫu nhiên với tần suất cao có thể gợi ý DGA, C2 hoặc DNS tunneling.
DNS vì thế rất hữu ích cho Threat Hunting.
3. Phân tích Proxy/SWG Log
Proxy log cho chúng ta nhìn sâu hơn vào Web traffic:
User → Client IP → URL/FQDN → HTTP Method → User-Agent → Action → Category
Ví dụ:
PC-01 → GET → suspicious-site.example → ALLOWED
Lúc này analyst cần hỏi:
Ai truy cập? Truy cập URL nào? GET hay POST? Browser hay application? Firewall/proxy cho phép hay chặn? Có download/upload dữ liệu không?
Nếu thấy:
powershell.exe → suspicious-domain → POST
mức độ đáng ngờ sẽ cao hơn rất nhiều so với một browser thông thường truy cập cùng domain.
4. EDR/EPP Log – nhìn vào bên trong Endpoint
EDR cung cấp context mà network log thường không có:
User → Process → Parent Process → Command Line → File → Registry → Network Connection
Ví dụ:
WINWORD.EXE
↓
powershell.exe
↓
encoded command
↓
kết nối Internet
↓
powershell.exe
↓
encoded command
↓
kết nối Internet
Đây là chuỗi đáng điều tra vì một tài liệu Office sinh PowerShell rồi kết nối ra Internet có thể liên quan đến malware execution.
Một nguyên tắc rất hữu ích:
Đừng chỉ hỏi process nào chạy. Hãy hỏi process nào đã sinh ra nó.
Parent-child process relationship thường cung cấp manh mối rất mạnh khi phân tích endpoint.
5. Correlation – đừng đọc từng log riêng biệt
Đây là kỹ năng quan trọng nhất.
Giả sử lúc 10:32:15, EDR ghi nhận:
WINWORD.EXE → powershell.exe
Ba giây sau DNS ghi:
PC-01 → strange-domain.example
Tiếp theo Proxy ghi:
PC-01 → strange-domain.example → HTTPS → ALLOWED
Firewall sau đó ghi:
10.1.1.25 → External IP:443
Từng log riêng biệt chưa chắc tạo alert nghiêm trọng.
Nhưng khi ghép lại:
User mở document → Word sinh PowerShell → DNS lookup → HTTPS connection → External server
chúng ta đã có một attack story.
Đây chính là Log Correlation.
6. Phân tích theo Timeline
Khi điều tra incident, hãy sắp xếp sự kiện theo thời gian:
Initial Access
↓
Execution
↓
Persistence
↓
Privilege Escalation
↓
Lateral Movement
↓
Command & Control
↓
Data Exfiltration
↓
Execution
↓
Persistence
↓
Privilege Escalation
↓
Lateral Movement
↓
Command & Control
↓
Data Exfiltration
Có thể ánh xạ những hành vi này vào MITRE ATT&CK để hiểu attacker đang ở giai đoạn nào và tiếp tục hunting các dấu vết liên quan.
Một công thức dễ nhớ
Network/Security Engineer có thể dùng quy trình:
Collect → Normalize → Filter → Correlate → Analyze → Investigate → Respond
Trong đó, SIEM giúp tập trung và correlation log; EDR/XDR/NDR bổ sung telemetry và detection; SOAR có thể tự động hóa một phần response.
Điểm quan trọng nhất là: đừng tìm một dòng log “xấu”; hãy tìm một chuỗi hành vi bất thường.
Một IP lạ chưa chắc là attack. Một PowerShell process cũng chưa chắc là malware. Một DNS query hiếm cũng chưa chắc là C2.
Nhưng:
PowerShell bất thường + DNS đáng ngờ + kết nối Internet + hành vi endpoint khác baseline
sẽ tạo ra một câu chuyện hoàn toàn khác.
Đó chính là sự khác biệt giữa đọc log và phân tích log.