Tổng quan module Taint Analysis & Static Code Auditing
Mổ xẻ nguyên lý lần vết dữ liệu bẩn Source-to-Sink, kỹ thuật đọc mã nguồn Java, Go, Node.js và xây dựng bộ quét Semgrep chuyên sâu.
TL;DR: Khi có quyền truy cập vào mã nguồn (White-Box), một chuyên gia bảo mật không còn phải mò mẫm qua các payload đen (Black-Box) mà có thể nhìn thấy chính xác con đường dữ liệu di chuyển trong hệ thống. Bằng cách áp dụng nguyên lý Taint Analysis, bạn sẽ học cách lần vết từ nơi dữ liệu người dùng đi vào (Source), qua các hàm làm sạch (Sanitizer), tới các hàm thực thi nhạy cảm (Sink) trong các codebase Java/Spring Boot, Go và Node.js. Hơn thế nữa, bạn sẽ làm chủ Semgrep — công cụ phân tích tĩnh ngữ nghĩa hiện đại — để viết các quy tắc phát hiện lỗ hổng tự động mà không bị nhiễu bởi false positives.
1. Mục tiêu học tập
Sau khi hoàn thành module này, bạn sẽ có thể:
- Trace luồng dữ liệu không an toàn (Taint Flow) qua Source, Sanitizer và Sink trong cây cú pháp.
- Analyze mã nguồn Java và Spring Boot để phát hiện SpEL Injection và Path Traversal.
- Diagnose các lỗi định dạng SQL trong Go và Prototype Pollution trong Node.js.
- Implement bộ quy tắc Semgrep YAML tùy biến để tự động phát hiện lỗ hổng trong CI/CD pipeline.
2. Bản đồ lộ trình học tập
Lộ trình được thiết kế theo nguyên tắc nâng dần mức độ tự chủ (Fading Scaffolding):
| Bài học | Chủ đề cốt lõi | Mức độ hỗ trợ |
|---|---|---|
| Bài 01 | Nguyên lý Taint Analysis: Từ Source đến Sink | worked (Mô hình hóa AST) |
| Bài 02 | White-Box Audit Java & Spring Boot: SpEL và Resource Traversal | worked (Phân tích code mẫu thực tế) |
| Bài 03 | White-Box Audit Go & Node.js: SQL Formatting và Prototype Pollution | faded (Tự phát hiện sink) |
| Bài 04 | Viết Custom Rules Semgrep: Tự động hóa Audit trong CI/CD | faded (Tự viết pattern-inside) |
| Bài 05 | Mini-challenge: Xây dựng Bộ Semgrep Rules chặn Lỗ hổng 0-Day | independent (Thực hành độc lập) |
| Bài 06 | Tổng kết module & Kiến trúc Static Code Analysis | synthesis (Tự đánh giá năng lực) |
Bài tiếp theo: Nguyên lý Taint Analysis: Từ Source đến Sink
Tổng kết module Phương pháp luận Săn Bug Hiện đại
Bài tiếpNguyên lý Taint Analysis: Từ Source đến Sink
Bài này có giúp bạn hiểu bản chất không?
Bài này đáng gửi cho bạn học cùng?
Copy link đã gắn nguồn — dán group, chat, hoặc LinkedIn.
Thảo luận & góp ý
Hỏi đáp về bài này