Nếu bạn từng đọc về an ninh mạng, thuật ngữ "zero-day" (ngày không) chắc chắn đã xuất hiện một vài lần để mô tả các lỗ hổng bị hacker khai thác. Bạn cũng nhanh chóng thấy rằng chúng thường là nguy hiểm nhất. Bản chất của chúng và cách thức hoạt động đã được đồng nghiệp Simon Batt thảo luận ngắn gọn.
Nhưng khi bạn đi sâu vào chủ đề, bạn sẽ khám phá ra những điều có lẽ bạn không muốn biết, khi bắt đầu suy nghĩ kỹ hơn về mọi thứ bạn chạy trên thiết bị (điều này không nhất thiết là xấu). Các nghiên cứu an ninh mạng như nghiên cứu này từ RAND Corporation (tank tư duy của lực lượng vũ trang Mỹ) chứng minh rằng các khai thác zero-day có nhiều cách cho thấy thế giới số của chúng ta mong manh đến mức nào.
Tạo khai thác Zero-Day không quá khó
Nghiên cứu của RAND xác nhận điều nhiều lập trình viên từng dải chân vào hacking proof-of-concept đã nghi ngờ: không mất quá nhiều thời gian để phát triển công cụ đơn giản hóa quá trình khai thác lỗ hổng sau khi đã tìm thấy nó. Trích trực tiếp từ nghiên cứu:
Sau khi tìm thấy lỗ hổng có thể khai thác, thời gian phát triển một khai thác hoạt động đầy đủ là tương đối nhanh, với thời gian trung vị là 22 ngày.
Hãy nhớ rằng đây là trung bình. Nhiều khai thác thực sự hoàn thành trong vài ngày, tùy thuộc vào độ phức tạp liên quan đến việc tạo phần mềm và mức độ lan rộng bạn muốn cho phần mềm độc hại.
Khác với phát triển phần mềm cho hàng triệu người dùng cuối, việc tạo malware chỉ có một người trong tâm trí về mặt tiện lợi: người tạo nó. Vì bạn "biết" mã và phần mềm của mình, không có động lực tập trung vào sự thân thiện với người dùng. Phát triển phần mềm tiêu dùng gặp nhiều rào cản do thiết kế giao diện và làm cho code "chắc chắn", nên mất thời gian hơn. Bạn viết cho chính mình và do đó không cần tất cả sự "hỗ trợ", khiến quá trình lập trình trở nên cực kỳ suôn sẻ.
Chúng "sống" trong một khoảng thời gian đáng sợ
Đây là điểm tự hào của một hacker khi biết khai thác họ tạo hoạt động trong thời gian rất dài. Vì vậy, có thể hơi thất vọng cho họ khi biết đây là điều phổ biến. Theo RAND, lỗ hổng trung bình sẽ tồn tại 6,9 năm, với cái ngắn nhất họ đo được sống 1,5 năm. Đối với hacker, điều này gây thất vọng vì qua đó họ thấy mình không nhất thiết đặc biệt khi tạo ra khai thác tràn lan trên mạng nhiều năm. Đối với nạn nhân, tuy nhiên, điều này đáng sợ.
Lỗ hổng "dài tuổi" trung bình sẽ mất 9,53 năm để được phát hiện. Đó là gần một thập kỷ mà mọi hacker trên thế giới có để tìm thấy và sử dụng nó cho lợi ích của họ. Thống kê rắc rối này không gây ngạc nhiên, vì sự tiện lợi thường "ngồi ghế phụ" trong khi an ninh phải ngồi ghế sau trong quá trình phát triển. Một lý do khác cho hiện tượng này là câu thành ngữ cũ: "Bạn không biết những gì bạn không biết". Nếu đội 10 lập trình viên của bạn không thể tìm ra lỗ hổng trong phần mềm, chắc chắn một trong hàng nghìn hacker đang tích cực tìm kiếm nó sẽ giúp bạn và chỉ ra nó theo cách khó khăn. Và sau đó bạn phải vá nó, đó là một hộp sò khác, vì bạn có thể vô tình tạo ra lỗ hổng khác, hoặc hacker có thể nhanh chóng tìm cách bypass cái bạn vừa triển khai.
Tính nhân ái không dồi dào
Finifter, Akhawe và Wagner năm 2013 phát hiện ra rằng trong tất cả các lỗ hổng được phát hiện, chỉ 2 – 2,5% thực sự được báo cáo bởi người tử tế nào đó gặp phải chúng trong buổi dạo phố sáng như một phần của chương trình thưởng lỗ hổng (ví dụ: "Chúng tôi cho quà nếu bạn nói cách phần mềm của chúng tôi bị hack"). Phần còn lại hoặc được phát hiện bởi chính nhà phát triển hoặc bởi hacker "khái sáng" mọi người một cách đau đớn về sự tồn tại của nó. Mặc dù nghiên cứu không phân biệt mã nguồn đóng và mở, tôi nghi ngờ phần mềm mã nguồn mở nhận được báo cáo nhân ái nhiều hơn (vì có mã nguồn công khai giúp người ta báo cáo chính xác nơi lỗ hổng xảy ra).
Bài học rút ra
Hy vọng của tôi là điều này cung cấp góc nhìn về việc dễ dàng trở thành nạn nhân của khai thác như thế nào và các khai thác zero-day không hiếm như chúng ta nghĩ. Vẫn còn nhiều câu hỏi chưa có câu trả lời về chúng, và có lẽ nghiên cứu sâu hơn sẽ giúp chúng ta trang bị công cụ cần thiết để chống lại chúng. Ý tưởng ở đây là chúng ta cần giữ mình cảnh giác.
Bạn có ngạc nhiên trước những phát hiện này? Hãy kể cho chúng tôi nghe trong bình luận!