Nếu bạn đã từng đọc về an ninh mạng, thì thuật ngữ “zero-day” có thể sẽ xuất hiện một lúc để mô tả các lỗ hổng bảo mật đã bị tin tặc khai thác. Bạn cũng sẽ nhanh chóng nhận thấy rằng những thứ này có xu hướng nguy hiểm nhất. Chúng là gì và chúng hoạt động như thế nào đã được đồng nghiệp Simon Batt của tôi thảo luận ngắn gọn.
Nhưng khi bạn đi sâu hơn vào chủ đề này, bạn sẽ khám phá ra một số điều mà có lẽ bạn có thể chưa biết khi bắt đầu suy nghĩ kỹ về mọi thứ bạn chạy trên thiết bị của mình (điều này không nhất thiết là một điều xấu). Các nghiên cứu về an ninh mạng, chẳng hạn như nghiên cứu này của các thành viên tại RAND Corporation (một tổ chức tư vấn của Lực lượng vũ trang Hoa Kỳ) chứng minh rằng việc khai thác zero-day có nhiều cách cho chúng ta thấy thế giới kỹ thuật số của chúng ta mong manh như thế nào.
Khai thác Zero-Day không khó thực hiện
Nghiên cứu của RAND xác nhận một điều mà nhiều lập trình viên đã tham gia hack bằng chứng khái niệm đã nghi ngờ:không mất nhiều thời gian để phát triển một công cụ đơn giản hóa quá trình khai thác lỗ hổng khi nó được tìm thấy. Trích dẫn trực tiếp từ nghiên cứu,
Khi một lỗ hổng có thể khai thác được tìm thấy, thời gian để phát triển một bản khai thác hoạt động đầy đủ là tương đối nhanh, với thời gian trung bình là 22 ngày.
Hãy nhớ rằng đây là mức trung bình . Nhiều hoạt động khai thác thực sự hoàn thành trong vòng vài ngày, tùy thuộc vào mức độ phức tạp liên quan đến việc tạo ra phần mềm và mức độ bạn muốn tác động của phần mềm độc hại của mình đến mức nào.
Trái ngược với việc phát triển phần mềm cho hàng triệu người dùng cuối, việc tạo ra phần mềm độc hại chỉ có một người duy nhất nghĩ đến về sự tiện lợi:người tạo ra nó. Vì bạn “biết” mã và phần mềm của mình, không có động cơ nào để tập trung vào tính thân thiện với người dùng. Quá trình phát triển phần mềm tiêu dùng gặp nhiều trở ngại vì thiết kế giao diện và mã chống đánh lừa, vì vậy sẽ mất nhiều thời gian hơn. Bạn đang viết cho bạn và do đó bạn không cần phải cầm tay chỉ việc, điều này làm cho quá trình lập trình trở nên cực kỳ trôi chảy.
Họ sống trong một khoảng thời gian đáng kinh ngạc
Đó là một điểm tự hào đối với một tin tặc khi biết rằng một cách khai thác mà họ đã tạo ra hoạt động trong một thời gian rất dài. Vì vậy, họ có thể hơi thất vọng khi biết rằng đây là một việc thường xảy ra. Theo RAND, mức độ dễ bị tổn thương trung bình sẽ sống được 6,9 năm, với thời gian ngắn nhất mà họ đo được là sống được trong một năm rưỡi. Đối với tin tặc, điều này thật đáng thất vọng vì thông qua việc này, họ phát hiện ra rằng họ không nhất thiết phải đặc biệt bất cứ khi nào họ thực hiện một hành vi lợi dụng đã hoành hành trên web trong nhiều năm. Tuy nhiên, đối với nạn nhân của họ, điều này thật đáng sợ.
Lỗ hổng “tồn tại lâu dà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 đều phải tìm ra nó và sử dụng nó để làm lợi thế cho họ. Thống kê rắc rối này không có gì đáng ngạc nhiên, vì sự tiện lợi thường gọi súng ngắn khi đi xe trong khi an ninh được để lại ghế sau trong quá trình phát triển. Một lý do khác khiến hiện tượng này tồn tại là do câu ngạn ngữ cũ, “Bạn không biết những gì bạn không biết”. Nếu nhóm mười lập trình viên của bạn không thể phát hiện ra rằng có lỗ hổng trong phần mềm của bạn, chắc chắn một trong số hàng nghìn tin tặc đang tích cực tìm kiếm nó sẽ giúp bạn một tay và chỉ cho bạn một cách khó khăn. Và sau đó, bạn sẽ phải vá nó, đây cũng là một ổ sâu khác, vì cuối cùng bạn có thể đưa ra một lỗ hổng khác hoặc tin tặc có thể nhanh chóng tìm ra cách để phá vỡ những gì bạn đã triển khai.
Lòng vị tha không được cung cấp cao
Finifter, Akhawe và Wagner vào năm 2013 đã phát hiện ra rằng trong số tất cả các lỗ hổng được phát hiện, chỉ có 2 - 2,5% trong số đó được báo cáo bởi những người Samaritans tốt bụng, những người đã bắt gặp chúng trong một buổi đi dạo buổi sáng như một phần của chương trình phần thưởng lỗ hổng bảo mật (tức là “Chúng tôi cung cấp cho bạn rất tốt nếu bạn cho chúng tôi biết các cách mà phần mềm của chúng tôi có thể bị tấn công ”). Phần còn lại của chúng được phát hiện bởi chính nhà phát triển hoặc bởi một hacker đã “khai sáng” cho 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 giữa mã nguồn đóng và mã nguồn mở, nhưng tôi nghi ngờ rằng phần mềm mã nguồn mở nhận được nhiều báo cáo vị tha hơn (vì việc đưa mã nguồn ra ngoài giúp mọi người dễ dàng báo cáo chính xác ở đâu một lỗ hổng bảo mật diễn ra).
Takeaway
Hy vọng của tôi ở đây là điều này cung cấp một góc nhìn về mức độ dễ dàng trở thành nạn nhân của một vụ lợi dụng và việc khai thác zero-day không hiếm như chúng có vẻ như thế nào. Vẫn còn rất nhiều câu hỏi chưa được giải đáp về chúng, và có lẽ việc nghiên cứu kỹ hơn sẽ giúp chúng ta trang bị cho mình những công cụ cần thiết để chống lại chúng. Ý tưởng ở đây là chúng ta cần phải luôn cố gắng.
Bạn có ngạc nhiên vì những phát hiện này không? Hãy cho chúng tôi biết tất cả về điều đó trong một bình luận!