Tổng quan module Race Conditions & Concurrency Exploits
Khám phá các lỗ hổng chạy đua luồng trong ứng dụng web: Limit Overrun, Single-Packet Attack HTTP/2 và cách khóa tài nguyên an toàn.
TL;DR: Trong các ứng dụng xử lý hàng nghìn giao dịch mỗi giây, giả định rằng "các câu lệnh được thực thi tuần tự" là một sai sót nghiêm trọng. Race Conditions xảy ra khi khoảng cách thời gian giữa lúc ứng dụng kiểm tra điều kiện (Check) và lúc ứng dụng thực hiện hành động (Act) bị kẻ tấn công chen ngang bởi các request đồng thời. Từ việc rút tiền vượt số dư (Double Spending), áp dụng mã giảm giá nhiều lần (Limit Overrun) đến vượt qua giới hạn rate limit, module này giúp bạn giải mã bản chất bất đồng bộ, làm chủ kỹ thuật Single-Packet Attack trên HTTP/2 và thiết kế cơ chế khóa cơ sở dữ liệu miễn nhiễm trước tấn công đồng thời.
1. Mục tiêu học tập
Sau khi hoàn thành module này, bạn sẽ có thể:
- Diagnose cửa sổ chạy đua luồng (Race Window) trong các thao tác kiểm tra trước thực thi sau (Check-then-Act).
- Implement kỹ thuật đồng bộ hóa request qua Single-Packet Attack trên HTTP/2 để triệt tiêu network jitter.
- Design kiến trúc phòng thủ chạy đua dữ liệu bằng Optimistic Locking, Pessimistic Locking và Postgres Advisory Locks.
- Apply kỹ thuật khai thác và vá lỗ hổng Race Condition trên kịch bản mã nguồn thực tế trong mini-challenge.
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 | Bản chất Concurrency: Cửa sổ Race Window và Limit Overrun | worked (Mô hình hóa timeline) |
| Bài 02 | Kỹ thuật Single-Packet Attack trên HTTP/2: Triệt tiêu Network Jitter | worked (Phân tích gói tin nhị phân) |
| Bài 03 | Khóa Cơ sở dữ liệu: Optimistic, Pessimistic và Postgres Advisory Locks | faded (Tự thiết kế câu lệnh lock) |
| Bài 04 | Mini-challenge: Khai thác Limit Overrun trên Mock API Thanh toán | independent (Thực hành độc lập) |
| Bài 05 | Tổng kết module & Kiến trúc Phòng thủ Bất đồng bộ | synthesis (Tự đánh giá năng lực) |
Bài tiếp theo: Bản chất Concurrency: Cửa sổ Race Window và Limit Overrun
Tổng kết module Taint Analysis & Static Code Auditing
Bài tiếpBản chất Concurrency: Cửa sổ Race Window và Limit Overrun
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