Định nghĩa
Attack vector là một “con đường” được xác định rõ, thông qua đó kẻ tấn công có thể giành được quyền kiểm soát trái phép đối với tính toàn vẹn, khả dụng hoặc tính bảo mật (bí mật) của hệ thống. Trong bối cảnh bảo mật blockchain (blockchain) và smart contract, nó chỉ ra cơ chế, trạng thái hoặc mẫu tương tác cụ thể có thể bị khai thác để kích hoạt hành vi ngoài ý muốn hoặc rút giá trị. Attack vector có thể xuất phát từ lỗi thiết kế giao thức, lỗi triển khai, hoặc các giả định không an toàn về những thành phần bên ngoài như Oracle.
Khác với một lỗ hổng (vulnerability) nói chung, vốn là điểm yếu trong hệ thống, attack vector mô tả cách mà điểm yếu đó thực tế bị tiếp cận và khai thác bởi kẻ tấn công. Ví dụ, điều kiện Reentrancy trong một smart contract là một lỗ hổng, còn chuỗi lời gọi hàm và thay đổi trạng thái khiến nó có thể bị khai thác chính là attack vector. Các hoạt động rà soát bảo mật, chương trình Bug Bounty và nghiên cứu của White Hat tập trung vào việc xác định và mô tả attack vector trước khi chúng bị biến thành một Exploit thực tế.
Ngữ cảnh và cách sử dụng
Trong các cuộc thảo luận nâng cao về bảo mật crypto, thuật ngữ attack vector được dùng để phân loại và truyền đạt chính xác con đường có thể dẫn tới việc bị xâm phạm trong các hệ thống phức tạp và có tính composable. Nó có thể mô tả các vấn đề cấp thấp trong logic smart contract, tương tác giữa nhiều smart contract, thất bại về mặt khuyến khích ở cấp độ giao thức, hoặc sự phụ thuộc vào nguồn dữ liệu và hạ tầng off-chain. Việc lập bản đồ các attack vector giúp hình thức hóa mô hình đe dọa (threat model) của một giao thức và làm rõ những giả định nào — chẳng hạn mức độ tin cậy của Oracle — là quan trọng nhất.
Attack vector thường được ghi lại trong các báo cáo hậu kiểm (post-mortem) sau sự cố, nơi toàn bộ chuỗi điều kiện dẫn đến một Exploit được dựng lại. Chúng cũng xuất hiện trong các công bố Bug Bounty, nơi các nhà nghiên cứu White Hat chỉ rõ những điều kiện tiên quyết và mẫu giao dịch cụ thể cần có để kích hoạt vấn đề. Theo thời gian, các attack vector lặp đi lặp lại, chẳng hạn những vector liên quan đến Reentrancy hoặc cấu hình sai cơ chế kiểm soát truy cập, sẽ trở thành các nhóm chuẩn trong hệ thống phân loại bảo mật và định hình các thông lệ tốt nhất cho thiết kế và kiểm toán giao thức.