- Bài keynote tại hội nghị OffensiveCon của Perri Adams, cố vấn kỹ thuật AI và an ninh mạng của Cơ quan Dự án Nghiên cứu Quốc phòng Tiên tiến Hoa Kỳ (DARPA)
- AI đang ngày càng được áp dụng nhiều hơn trong phát triển exploit và tự động hóa xử lý lỗ hổng
- Phân tích một trường hợp lỗ hổng double free pre-auth thực tế của OpenSSH để khám phá cách AI có thể được dùng trong phát triển exploit
- AI dựa trên mô hình ngôn ngữ lớn (LLM) có hỗ trợ ở một số tác vụ con (ví dụ: hiểu heap grooming), nhưng vẫn chưa đủ tốt để tự động tạo toàn bộ exploit
- Sự kết hợp giữa hệ chuyên gia (ví dụ: symbolic engine) và AI đang mang lại tiến bộ thực chất
- AI sẽ không thay thế con người trong ngắn hạn, nhưng được kỳ vọng sẽ mở rộng vai trò như công cụ hỗ trợ và đóng góp vào việc tự động hóa một số phần cụ thể
Mở đầu
- Bài phát biểu chính tại hội nghị OffensiveCon: Tương lai của AI và phát triển exploit
- Diễn giả Ms. Perri Adams là trợ lý đặc biệt cho giám đốc DARPA, đồng thời là cố vấn kỹ thuật AI và an ninh mạng
- Từng là thành viên ban vận hành DEF CON CTF và là người tham gia các cuộc thi hacking
- Giải thích bối cảnh mà các cuộc thảo luận về "tự động hóa" và "ứng dụng AI" đang diễn ra rất sôi nổi trong lĩnh vực an ninh
- Câu chuyện được triển khai dựa trên kinh nghiệm tại DARPA, nhiều trải nghiệm trong ngành, và kinh nghiệm tham gia CTF (Capture the Flag)
Trường hợp thực tế: lỗ hổng double free pre-auth của OpenSSH và AI
- Tháng 2/2023, Qualys đã báo cáo lỗ hổng double free trong môi trường pre-auth của OpenSSH lên OSS-SEC ML
- Giải thích rằng đây là một lỗ hổng phức tạp chỉ được kích hoạt trong những cấu hình và điều kiện cụ thể
- Lỗ hổng này có cấu trúc khiến việc khai thác cực kỳ khó khăn do mã C phức tạp, tách biệt tiến trình, nhiều lời gọi hàm và các vấn đề backward compatibility
- Phân tích sự tồn tại của nhiều “sân chơi” khác nhau như cấu trúc heap (Glibc tcash, unsorted bin, v.v.), gói tin trước xác thực (thao tác danh sách tùy chỉnh), OpenSSL, function pointer, v.v.
- Trên thực tế, việc thao tác heap (grooming) để gây ra use-after-free được xem xét, và về mặt lý thuyết có thể khám phá khả năng ghi đè function pointer
Ứng dụng thực tế của các công cụ AI
- Thử phân tích lỗ hổng này bằng các AI họ LLM như ChatGPT (3.5, 4.0), Claude
- Các công cụ này cho thấy hiệu quả đáng kể ở một số tác vụ con như sắp xếp/tóm tắt cấu trúc gốc của lỗ hổng và quá trình cấp phát heap
- Tuy nhiên, chúng vẫn bộc lộ giới hạn trong việc tự động tạo toàn bộ mã exploit, thao tác heap phức tạp, hay diễn giải luồng xử lý nội bộ của OpenSSL
- Một số AI tự tin đưa ra PoC (Proof of Concept) thiếu thực tế hoặc không chính xác, hoặc từ chối sinh mã vì lý do đạo đức
- Ngược lại, chúng lại có tác dụng hỗ trợ phòng thủ thực tế ở các việc như đề xuất sửa mã/patch, tóm tắt khu vực rủi ro
Kết hợp AI với hệ chuyên gia (khung symbolic)
- So với AI chỉ dựa trên một LLM đơn lẻ, cấu trúc kết hợp với hệ chuyên gia như Lean proof engine đang cho kết quả vượt trội hơn trong các bài toán như Olympic Toán học
- Với các bài toán có khuôn dạng rõ ràng như IMO, hệ AI-symbolic có thể đảm nhiệm vai trò phần thưởng và xác minh, từ đó nâng cao hiệu năng
- Tự động hóa exploit cũng đang tiến triển nhờ sự kết hợp giữa AI với các công cụ phân tích như CodeQL, IDA, Binary Ninja
Nghiên cứu về tự động hóa exploit và thực tế
- Sau các cuộc thi sinh exploit tự động như DARPA Cyber Grand Challenge, nghiên cứu đã đạt được tiến bộ đáng kể trong những môi trường có độ phức tạp được giảm bớt
- Các nghiên cứu chính chia nhỏ vấn đề để đề xuất template exploit và các kỹ thuật tự động hóa theo từng mục tiêu / từng loại lỗ hổng
- So với công cụ tự động hóa phổ quát, sự kết hợp các thuật toán con chuyên biệt cho từng loại lỗ hổng hoặc từng đối tượng gần hơn với thành quả thực tế
- LLM hiện vẫn chủ yếu đóng vai trò như một "trợ lý nhiệt tình" — tức là hỗ trợ chuyên gia hơn là trực tiếp thay thế công việc của họ
Kết luận và triển vọng
- Dự đoán rằng AI sẽ sớm tự động hóa hoàn toàn toàn bộ quá trình phát triển exploit là điều bị phóng đại khá nhiều
- Cách tiếp cận hiệu quả nhất là vừa trực tiếp phát triển exploit, vừa dùng AI để hỗ trợ các tác vụ con (ví dụ: tổng hợp thông tin, sửa mã, kiểm thử lặp lại)
- Tiến bộ của tự động hóa phần nào vẫn đi sau sự sáng tạo của con người, và AI vẫn khó thích ứng hoàn toàn với độ phức tạp cũng như tính biến đổi của lỗ hổng thực tế
- Trong tương lai, các hướng như bán tự động hóa bằng cách kết hợp lớp trừu tượng/hệ chuyên gia hiện có với AI, hoặc tự động hóa tập trung vào những loại lỗ hổng cụ thể, sẽ là các vùng tăng trưởng trọng yếu
- Đảo ngược kỹ thuật, bảo mật ứng dụng và pentesting sẽ là những lĩnh vực mà giá trị thực tiễn và các trường hợp áp dụng tăng nhanh
Chưa có bình luận nào.