Nhóm Project Zero tại Google vừa tạo ra một công cụ kiểm tra engine DOM của trình duyệt và kiểm tra 5 top trình duyệt hiện nay. Kết quả cho thấy trình duyệt Safari của Apple có rất nhiều lỗi.
Công cụ có tên Domato là bộ toolkit kiểm tra bảo mật, dùng dữ liệu ngẫu nhiên và phân tích đầu ra để tìm điểm bất thường. Kĩ sư Ivan Fratric của Google đã tạo ra Domato với mục tiêu phát hiện lỗi của DOM engine, một yếu tố của trình duyệt dùng để đọc HTML và sắp xếp trong DOM (Document Object Model), sau đó hiển thị bên trong trình duyệt mà người dùng vẫn thấy trên màn hình.
Google: lỗi trên DOM engine cần được ưu tiên
Fratric nói rằng anh tập trung vào DOM engine do “hiếm khi có ai phát hành cập nhật bảo mật mà không chứa ít nhất vài lỗi trên DOM engine”. Dù lỗi Flash xuất hiện trên nhiều trình duyệt nhưng khi Flash ra đi (vào năm 2020) thì kẻ tấn công sẽ tập trung vào DOM engine. Với Domato, anh mong có thể giúp kiểm tra và vá lỗi bảo mật liên quan tới DOM engine trước khi quá muộn.
Phát hiện 17 lỗi bảo mật trên DOM engine của Safari
Để chứng minh, Fratric thực hiện kiểm tra trên 5 trình duyệt phổ biến Chrome, Firefox, Internet Explorer, Edge và Safari, đưa vào 100 triệu kiểm thử mờ (fuzz test).
Kết quả cho thấy Safari có nhiều lỗi nhất với 17 bug. Đứng sau là Edge với 6 lỗi, IE và Firefox có 4 bug và Chrome chỉ có 2 lỗi. Không tính các lỗi không phải bảo mật.
Fratric cũng chỉ ra rằng nếu Microsoft không thêm MemGC (ngăn chặn việc khai thác lỗ hổng bảo mật UAF) trên IE và Edge thì kết quả của chúng sẽ còn tệ hơn nhiều.
Nhà cung cấp | Trình duyệt | Engine | Số lỗi | Project Zero Bug IDs |
Google | Chrome | Blink | 2 | 994, 1024 |
Mozilla | Firefox | Gecko | 4* | 1130, 1155, 1160, 1185 |
Microsoft | Internet Explorer | Trident | 4 | 1011, 1076, 1118, 1233 |
Microsoft | Edge | EdgeHtml | 6 | 1011, 1254, 1255, 1264, 1301, 1309 |
Apple | Safari | WebKit | 17 | 999, 1038, 1044, 1080, 1082, 1087, 1090, 1097, 1105, 1114, 1241, 1242, 1243, 1244, 1246, 1249, 1250 |
Tổng số | 31** |
* Tổng số là 33 nhưng có 2 lỗi ảnh hưởng tới nhiều trình duyệt.
** Một trong các lỗi tìm được trên Firefox nằm trên thư viện đồ họa Skia, không phải trong mã nguồn của Firefox. Nhưng lỗi code được kĩ sư Mozilla đóng góp cho Skia.
Google cho biết đã báo cho các bên về những lỗi mới phát hiện và đưa cả bản sao Domato để họ thực hện kiểm tra thêm. Fratric cũng đưa mã nguồn Domato lên GitHub https://github.com/google/domato và hy vọng người khác sẽ dùng nó để làm việc trên các ứng dụng khác chứ không chỉ DOM engine của trình duyệt. Domato cũng không phải công cụ duy nhất của Google để phát hiện lỗi bảo mật, trước đó cũng có OSS Fuzz và syzkaller.