Google vừa ra mắt Project Wycheproof - một tập các phép kiểm tra để phát hiện những lỗ hổng đã biết trong các thư viện mật mã học.
Công cụ do các kỹ sư bảo mật của Google phát triển, được đặt tên
Wycheproof (tên ngọn núi nhỏ nhất thế giới ở Australia với độ cao 148m). Mục đích của nó là tìm ra những sai lầm rõ ràng trong mã nguồn của các thư viện do những chuyên gia mật mã phát triển, chứ không tìm kiếm những lỗi phức tạp, ẩn sâu đằng sau những vấn đề toán học.
Các kiểm thử đầu tiên được viết bằng Java vì nó có một giao diện mật mã chung và có thể dùng để kiểm thử sản phẩm của nhiều nhà cung cấp khác nhau.
Bộ công cụ bao gồm hơn 80 tình huống kiểm thử (test case), phát hiện hơn 40 lỗi bảo mật (một số chưa được công bố vì chưa được khắc phục). Chẳng hạn như các phép kiểm thử nhằm phát hiện những lỗi phổ biến cho phép khôi phục khoá bí mật từ các kiểu triển khai DSA và ECDHC được sử dụng rộng rãi. Nhóm phát triển còn cung cấp các công cụ “ăn liền” để kiểm tra sản phẩm của các nhà cung cấp Java Cryptography Architecture như Bouncy Castle và các nhà cung cấp mặc định trong OpenJDK.
Trên weblog, các kỹ sư của Google viết rằng “Trong mật mã, những sai lầm nhỏ có thể gây ra hậu quả nghiêm trọng và những sai lầm trong các thư viện mật mã nguồn mở lặp lại quá thường xuyên nhưng lại không được phát hiện trong thời gian dài. Những hướng dẫn triển khai tốt lại thường khó có được: hiểu được làm thế nào để triển khai mật mã an toàn đòi hỏi phải tìm hiểu tài liệu của hàng thập kỷ”.
Nhận thấy các kỹ sư phần mềm thường khắc phục và ngăn chặn lỗi bằng unit test, những chuyên gia bảo mật của Google cho rằng các vấn đề về mật mã học cũng có thể được giải quyết bằng chính biện pháp đó. Họ tuyên bố rõ rằng dự án Wycheproof vẫn tiếp tục phát triển “Việc vượt qua các phép thử không có nghĩa là thư viện đã an toàn, điều đó chỉ có nghĩa là nó không chứa các lỗ hổng mà Project Wycheproof tìm cách phát hiện. Các chuyên gia nên liên tục phát hiện những điểm yếu mới của các giao thức mật mã”.
Project Wycheproof ra mắt chỉ hai tuần sau khi Google công bố công cụ kiểm thử mờ để giúp các lập trình viên nguồn mở phát hiện các lỗi lập trình (https://github.com/google/oss-fuzz). OSS-fuzz mới chỉ là bản beta, nhưng đã được dùng cho 4 ngàn tỷ kịch bản kiểm thử, giúp phát hiện 150 lỗi trong mã nguồn mở từ khi được công bố.