Công cụ kiểm thử mờ “hộp xám” thông minh mới

21:00 | 11/01/2019 | GIẢI PHÁP KHÁC
Kiểm thử mờ (Fuzzing) được dùng để tìm các lỗ hổng phần mềm bằng cách gửi dữ liệu đầu vào (có định dạng sai) tới ứng dụng. Nếu phần mềm đổ vỡ hay hoạt động không đúng như dự kiến, đó có thể là dấu hiệu của lỗ hổng an ninh. Có ba kiểu kiểm thử mờ chính: kiểm thử mờ hộp đen – khi người kiểm thử không biết gì về hệ thống cần kiểm thử; kiểm thử mờ hộp trắng – khi người kiểm thử biết toàn bộ các thông tin và kiểm thử được thực hiện với mã nguồn của ứng dụng; và kiểm thử mờ hộp xám là trường hợp người kiểm thử mờ biết một số thông tin về hệ thống.

Năm nhà nghiên cứu từ Đại học Quốc gia Singapore, đại học Monash (Australia), Đại học Bách khoa Bucharest (Romania) đã nghiên cứu và tìm kiếm những phương pháp nâng cao hiệu quả của kiểm thử mờ hộp xám và họ cho biết đã đạt được những kết quả rất ấn tượng.

Các nhà nghiên cứu đã tạo ra công cụ mới với tên gọi AFLsmart với khả năng kiểm thử mờ thông minh, được xây dựng dựa trên công cụ American Fuzzy Lop (AFL) của chuyên gia an ninh Michał Zalewski,

Theo các nhà nghiên cứu, AFLsmart đạt hiệu quả cao trong việc phân tích các thư viện xử lý những tệp có cấu trúc phức tạp như âm thanh, video, hình ảnh, tài liệu và cơ sở dữ liệu. Trong quá trình kiểm thử, công cụ này được cung cấp một tệp cơ sở và nó tự động thay đổi, xoá, sao chép và bổ sung các bit một cách ngẫu nhiên để tạo ra những tệp mới, sử dụng cho quá trình kiểm thử, từ đó tìm ra những lỗ hổng tiềm ẩn. Tuy nhiên, trong trường hợp cấu trúc tệp phức tạp, việc thay đổi các bit có thể tạo ra những tệp không hợp lệ. Các nhà nghiên cứu đã khắc phục vấn đề này bằng cách định nghĩa một  “toán tử biến đổi sáng tạo - innovative mutation operators” có khả năng làm việc với cấu trúc tệp ảo chứ không chỉ ở mức bit, đảm bảo những tệp sinh ra có cấu trúc hợp lệ.

Họ cho biết hệ thống mới này cho phép công cụ kiểm thử mờ hộp xám thông minh tạo ra những tệp có khả năng vượt qua giai đoạn phân tích cấu trúc của ứng dụng, nhờ đó phát hiện ra những lỗ hổng sâu hơn trong logic xử lý.

Trong quá trình thử nghiệm, họ đã kiểm thử 11 thư viện nguồn mở phổ biến xử lý các tệp nhị phân thực thi được (ELF), hình ảnh, âm thanh và video. Danh sách bao gồm Binutils, LibPNG, ImageMagick, LibJPEG-turbo, LibJasper, FFmpeg, LibAV, WavPack, và OpenJPEG. Các thư viện đó được kiểm thử với AFLsmart và các công cụ kiểm thử mờ khác như AFL, AFLfast và Peach để so sánh. AFLsmart phát hiện 33 lỗ hổng, trong đó có 8 lỗ hổng được gán mã CVE, gấp đôi so với AFL và AFLfast trong khi Peach không tìm được lỗ hổng nào.

Công cụ mới phát hiện tổng cộng 42 lỗ hổng trong những lần kiểm thử và 17 trong số đó đã được gán mã CVE. Trong số 33 lỗ hổng được đề cập tới ở trên, 8 lỗ hổng đã được gán mã CVE. Các lỗ hổng an ninh đó bao gồm: thất bại trong kiểm định (assertion failure), tràn bộ đệm heap và stack, truy xuất (tham chiếu ngược) con trỏ null, chia cho 0.

Các nhà nghiên cứu cho biết họ dự kiến sẽ chuyển AFLsmart thành nguồn mở trong thời gian tới.

Nguyễn Anh Tuấn

Theo Security Week

Tin cùng chuyên mục

Tin mới