Fuzzing vốn không phải là kỹ thuật mới mẻ đối với người làm công tác kiểm thử an toàn phần mềm. Tuy nhiên, có lẽ không phải bất cứ ai hiểu rõ về fuzzing cũng nhìn thấy tầm quan trọng của công tác này. Vừa qua, Dmitri Vjukov - một chuyên gia phân tích, phát hiện lỗ hổng của Google đã chia sẻ trên Tạp chí Hacker (Nga) một số thông tin thú vị về việc fuzzing tại Google. Qua những chia sẻ của anh có thể thấy được tầm quan trọng của fuzzing trong kiểm thử phần mềm nói chung và vai trò của nó đối với gã khổng lồ Google nói riêng. Danh xưng "tôi" trong bài báo dưới đây chính là Dmitri Vjukov - tác giả bài viết gốc.
Tại sao fuzzing lại được sử dụng ở Google?
Ngày nay, công nghệ cho phép phát triển phần mềm với tốc độ nhanh hơn, vì thế mà lượng code chúng tôi có là rất lớn. Tính chính xác của code là rất quan trọng và tính ổn định cũng thế, nhưng tính an toàn càng quan trọng hơn và phải ở vị trí số 1. Thị trường hiện nay yêu cầu công việc phải được giải quyết một cách nhanh chóng, nhưng bất kỳ công ty nào cũng phải kiểm soát được chi phí sản xuất. Do vậy, không thể tăng tốc công việc bằng cách thuê nhiều nhân công hơn; mà thị trường lao động hiện nay không đáp ứng được số lượng lớn lao động có trình độ chuyên môn cao như đòi hỏi của Google.
Trong hoàn cảnh này, giải pháp kiểm thử truyền thống không còn phù hợp và không bắt kịp tốc độ tăng số lượng code. Vì thế, việc chuyển sang kiểm thử tự động bằng fuzzing là điều dễ hiểu. Để thực hiện điều này, chúng tôi kêu gọi các chuyên gia (developer) phát triển các bài kiểm tra để bổ sung vào tập hợp các bài kiểm tra thử nghiệm khác.
Hiện tại, chúng tôi triển khai OSS-Fuzz trên các server của mình. Đây là một hệ thống liên tục thực hiện fuzzing cho ác dự án nguồn mở. Đến nay, đã có hơn 200 dự án tham gia chương trình này. Nếu như bạn có một sản phẩm nguồn mở với lượng người dùng đông đảo, bạn có thể tham gia vào OSS-Fuzz. Bạn chỉ cần cung cấp fuzzer cho chúng tôi cùng chỉ dẫn để biên dịch phiên bản mới nhất, chúng tôi sẽ cung cấp cho bạn dịch vụ hosting trên cluster để thực hiện tìm kiếm lỗi.
Tiến trình Fuzzing sử dụng OSS-Fuzz
Trong năm 2017, OSS-Fuzz đã giúp phát hiện ra hơn 2.000 lỗi trong 16 dự án mã nguồn mở khác nhau. Hiện nay, số lượng dự án đã tăng lên hơn 3 lần, còn số lượng lỗi đã được phát hiện thì vượt quá 10.000 lỗi. Trong số những lỗi tìm được, thì có khoảng 35% là những trường hợp bất thường được phát hiện theo cách Sanitizer UBsan, khoảng 15% là lỗi liên quan đến bộ nhớ và tràn bộ đệm và hơn 10% là những lỗi có bản chất rất khác nhau.
Ngoài ra, chúng tôi còn có ClusterFuzz dành riêng để fuzzing cho Chromium. Đến nay, hệ thống này bao gồm hơn 350 fuzzer; phần lớn trong số đó là dựa trên libFuzzer và AFL, nhưng cũng có những fuzzer hoàn toàn chuyên biệt.
Chúng tôi cũng nỗ lực khuyến khích sử dụng fuzzing ngoài phạm vi Google thông qua các hoạt động như: tổ chức cuộc thi fuzzing, tổ chức tuần lễ fuzzing, trình bày các báo cáo về fuzzing ở các hội nghị khác nhau.
Có lần tôi đã tự hỏi: tổng cộng chúng tôi đã phát hiện được bao nhiêu lỗi nhờ fuzzing? Năm 2017, con số này là khoảng 15.000. Tôi không rõ đó là do code của chúng tôi quá tồi hay là do các fuzzer hoạt động quá hiệu quả!
Trên đây là đôi nét về việc fuzzing ở Google, hi vọng qua đây những người làm an toàn thông tin, đặc biệt là các bạn sinh viên, sẽ có thêm động lực để theo đuổi lĩnh vực rất khó là phát hiện lỗ hổng phần mềm.
Nguyễn Tuấn Anh
Tạp chí Hacker số 05 (242) 2019
14:00 | 03/07/2019
15:00 | 02/07/2019
14:00 | 26/06/2019
09:00 | 28/04/2024
Trong một chiến dịch tấn công gần đây, các tác nhân đe dọa đã lạm dụng chức năng tìm kiếm của GitHub và sử dụng các kho lưu trữ được thiết kế đặc biệt để phát tán phần mềm độc hại nhằm đánh cắp các khoản thanh toán bằng tiền điện tử.
09:00 | 19/04/2024
Theo nhận định của Cục An toàn thông tin (Bộ Thông tin và Truyền thông), trong thời gian gần đây các chiêu trò lừa đảo trực tuyến ngày càng gia tăng với các hình thức tinh vi hơn. Điều này khiến cho nhiều người dân khó nhận biết để phòng tránh nguy cơ mất an toàn thông tin.
10:00 | 13/03/2024
Các nhà nghiên cứu của công ty bảo mật đám mây Zscaler (Hoa Kỳ) cho biết, kể từ tháng 12/2023 các tác nhân đe dọa đã tạo ra các trang web giả mạo phần mềm họp trực tuyến phổ biến như Google Meet, Skype và Zoom để phát tán Trojan truy cập từ xa (RAT), bao gồm SpyNote RAT cho nền tảng Android, NjRAT và DCRat trên Windows.
15:00 | 19/01/2024
Ngày 16/1, Google đã phát hành bản cập nhật để khắc phục bốn vấn đề bảo mật trong trình duyệt Chrome, trong đó có một lỗ hổng zero-day đã bị khai thác tích cực trong thực tế.
DinodasRAT hay còn được gọi là XDealer là một backdoor đa nền tảng được phát triển bằng ngôn ngữ C++ cung cấp nhiều tính năng độc hại. DinodasRAT cho phép kẻ tấn công theo dõi và thu thập dữ liệu nhạy cảm từ máy tính của mục tiêu. Một phiên bản cho hệ điều hành Windows của phần mềm độc hại này đã được sử dụng trong các cuộc tấn công nhắm mục tiêu vào các thực thể của Chính phủ Guyana và được các nhà nghiên cứu tới từ công ty bảo mật ESET (Slovakia) báo cáo với tên gọi là chiến dịch Jacana. Bài viết sẽ phân tích cơ chế hoạt động của phần mềm độc hại DinodasRAT dựa trên báo cáo của hãng bảo mật Kaspersky.
19:00 | 30/04/2024