Lỗ hổng Zero-Day
Zero-day là một lỗ hổng mà nhà cung cấp chưa biết đến. Cho đến khi nhà cung cấp biết và có thể đưa ra bản vá, mọi hệ thống chạy mã dễ bị tấn công đều bị lộ. Sức mạnh của Zero-days vừa là các cuộc tấn công có tác động lớn nhất vừa là thị trường môi giới khai thác trị giá hàng triệu đô la. Hiểu được vòng đời sẽ làm rõ lý do tại sao một số cuộc tấn công lại có sức tàn phá lớn đến vậy.
Toàn bộ nội dung bài viết được cung cấp bằng tiếng Anh bên dưới.
A Lỗ hổng zero-day là một lỗ hổng bảo mật mà nhà cung cấp bị ảnh hưởng không biết - "không ngày" là số ngày kể từ khi nhà cung cấp phát hiện ra. Thuật ngữ này đôi khi có nghĩa cụ thể là lỗ hổng bảo mật cũng đang được tích cực khai thác ("ngày số 0"), đôi khi chỉ là khoảng thời gian trước khi có bản vá.
Vòng đời
- Discovery. Ai đó — một nhà nghiên cứu, kẻ tấn công, cơ quan tình báo — tìm ra lỗi.
- Decision. Người tìm ra lỗi phải làm gì: báo cáo cho nhà cung cấp (tiết lộ có trách nhiệm), bán cho nhà môi giới khai thác, tự mình sử dụng khai thác, ngồi trên đó.
- Thời gian tiết lộ trước. Nếu được báo cáo, nhà cung cấp có thời gian (thường là 90 ngày, đôi khi còn thương lượng) để phát triển bản sửa lỗi. Nếu được giữ riêng tư, khoảng thời gian này sẽ có kết thúc mở.
- Khai thác tích cực, nếu có. Kẻ tấn công sử dụng cách khai thác chống lại các mục tiêu thực. Có thể xảy ra trong quá trình tiết lộ trước hoặc sau.
- Vendor. Bản vá lỗi được phát hành, thường với CVE được chỉ định.
- Disclosure. Các nhà nghiên cứu và nhà cung cấp xuất bản thông tin chi tiết, cho phép những người bảo vệ khác phát hiện và giảm thiểu.
- Khai thác hàng loạt. Các chi tiết hiện đã được công khai khiến những kẻ tấn công ít tinh vi hơn có thể truy cập được; các hệ thống chưa được vá lỗi trở thành mục tiêu hàng loạt.
Giai đoạn trước khi tiết lộ là giai đoạn nguy hiểm. Nhà cung cấp biết hoặc không biết; các nhà nghiên cứu không có dấu hiệu phát hiện; những người bảo vệ không thể thực hiện các biện pháp giảm thiểu cụ thể.
Số ngày 0 có giá trị bao nhiêu
Hai thị trường:
- Chương trình thưởng lỗi trả 5.000-200.000 USD cho các lỗ hổng nghiêm trọng điển hình. Cấp cao nhất (Nghiên cứu bảo mật của Apple, Chương trình phần thưởng lỗ hổng của Google) trả tới 1 triệu đô la-2 triệu đô la cho các lần khai thác toàn bộ chuỗi.
- Các nhà môi giới khai thác như Zerodium, Crowdfense và bộ phận nghiên cứu của NSO Group trả 500 nghìn đô la-2,5 triệu đô la cho các danh mục có giá trị nhất — RCE toàn chuỗi iOS, tương đương với Android, hộp cát trình duyệt escapes.
Giá thị trường xám cho các zero-day nghiêm trọng vượt quá đáng kể số tiền thưởng hợp pháp. Sự chênh lệch về giá tạo ra tình thế tiến thoái lưỡng nan về mặt đạo đức đối với các nhà nghiên cứu tìm thấy chúng. Bán cho người môi giới có nghĩa là lỗi vẫn bị khai thác; báo cáo cho nhà cung cấp có nghĩa là nó đã được sửa. Các nhà nghiên cứu khác nhau đưa ra những lựa chọn khác nhau vì những lý do khác nhau.
Ai sử dụng zero-days
- các cơ quan tình báo quốc gia. NSA, GCHQ, FSB, MSS và các tổ chức tương đương duy trì các nhóm tấn công mạng mua hoặc phát triển zero-days. Vụ rò rỉ Vault 7 tiết lộ bộ công cụ TAO của CIA; các tiết lộ của Snowden đã tiết lộ điều tương tự ở quy mô NSA.
- Lính đánh thuê mạng thương mại. NSO Group (Pegasus), Cellebrite, Cyt rox, Candiru - bán các khai thác cho khách hàng chính phủ. Nhiều nhóm đã bị chính phủ Hoa Kỳ xử phạt.
- Các nhóm phần mềm ransomware. Ngày càng sử dụng ngày 0 cho lần truy cập đầu tiên. Việc khai thác Cl0p MOVEit năm 2023 đã tấn công hàng trăm tổ chức.
- Các nhóm đe dọa dai dẳng (APT) nâng cao. Các nhóm liên kết với quốc gia-nhà nước hoạt động lâu dài đã định vị trước bằng cách khai thác các ngày 0 để sử dụng trong tương lai.
Số ngày 0 lớn sự cố
- Stuxnet (2010) — Bốn lỗ hổng zero-day của Windows cùng với các hoạt động khai thác PLC của Siemens. Được sử dụng để làm giàu hạt nhân của Iran.
- Pegasus khai thác iOS không cần nhấp chuột (nhiều, 2016-2024) — Chuỗi khai thác iOS của NSO Group, được sử dụng để chống lại các nhà báo và nhà hoạt động trên toàn thế giới.
- SolarWinds (2020) — Cuộc tấn công chuỗi cung ứng liên quan đến zero-days trong quá trình xây dựng pipe.
- ProxyLogon / ProxyShell (2021) — Các lỗ hổng Microsoft Exchange Server bị khai thác hàng loạt trước khi các bản vá được triển khai rộng rãi.
- Log4Shell (2021) — Lỗ hổng thư viện ghi nhật ký Java nghiêm trọng; khai thác rộng rãi trong nhiều ngày.
- MOVEit Transfer (2023) — Hoạt động khai thác của nhóm Cl0p đã tấn công hàng nghìn tổ chức.
- iOS Sự kiện kích hoạt Chế độ khóa (2022-2025) — đã tìm thấy nhiều chuỗi phức tạp, khiến Apple phải giới thiệu các sự kiện kích hoạt Chế độ khóa cứng của mình mode.
Cuộc đua cửa sổ vá
Sau khi một ngày số 0 được tiết lộ và vá, việc khai thác hàng loạt thường diễn ra trong vòng vài giờ. Những kẻ tấn công thiết kế ngược bản vá, xác định đường dẫn mã dễ bị tấn công và phát triển các cách khai thác đang hoạt động. Những người bảo vệ đua nhau vá lỗi phải đối mặt với sự bất đối xứng: kẻ tấn công chỉ cần tìm những hệ thống chưa được vá, những người bảo vệ cần vá tất cả các hệ thống.
Cơ hội khai thác hàng loạt được vá lỗi được tiết lộ đã ngày càng bị thu hẹp. ProxyShell đi từ trạng thái tiết lộ đến khai thác hàng loạt chỉ trong vài ngày. Đăng nhập Reach.
Cuộc tranh luận về công bố thông tin
Các tiêu chuẩn công bố có trách nhiệm đã được thiết lập tốt nhưng vẫn còn bị tranh cãi ở bên lề:
- Google Project Zero sử dụng thời hạn 90 ngày với thời gian gia hạn 14 ngày. Việc tiết lộ xảy ra cho dù nhà cung cấp đã vá hay chưa.
- Một số nhà nghiên cứu thích các mốc thời gian ngắn hơn (60 ngày) hoặc dài hơn (180 ngày) tùy thuộc vào mức độ nghiêm trọng.
- Việc tiết lộ phối hợp (nhà cung cấp + nhà nghiên cứu + các bên bị ảnh hưởng ở cấp dưới) mất nhiều thời gian hơn nhưng giảm thiệt hại tài sản thế chấp.
- "Tiết lộ cứng" mà không có cảnh báo đôi khi được sử dụng để chống lại các nhà cung cấp liên tục không giải quyết được báo cáo.
Đạo đức khác nhau tùy theo ngữ cảnh. Tiêu chuẩn chung: các nhà cung cấp nên khắc phục các lỗ hổng kịp thời; các nhà nghiên cứu nên cho họ một cơ hội; cộng đồng rộng lớn hơn nên biết sau khi bản vá tồn tại.
Câu hỏi thường gặp
- Khả năng tôi bị ảnh hưởng bởi zero-day là bao nhiêu?
- Đối với người dùng thông thường, hầu hết các cuộc tấn công zero-day đều nhắm vào các tổ chức có giá trị cao hoặc các cá nhân cụ thể. Các sự kiện khai thác hàng loạt (Log4Shell, ProxyShell) ảnh hưởng đến mọi người thông qua phần mềm trong cuộc sống của họ nhưng hệ thống phòng thủ đang được vá khi có bản sửa lỗi. Đối với các cuộc tấn công có chủ đích nhằm vào bạn một cách cụ thể, bạn cần phải là mục tiêu có giá trị cao đối với các đối thủ cấp tiểu bang.
- Tôi có nên lo lắng về Pegasus hoặc phần mềm gián điệp tương tự không?
- Nếu bạn là nhà báo, nhà hoạt động, nhà bất đồng chính kiến hoặc chính trị gia được một chính phủ thù địch quan tâm — vâng, hãy thực hiện các biện pháp phòng ngừa như Chế độ phong tỏa và kỷ luật hoạt động. Đối với người dùng thông thường ở các nền dân chủ, rủi ro đủ thấp để các biện pháp phòng vệ thực tế (luôn cập nhật thiết bị, tránh các liên kết đáng ngờ, sử dụng phần cứng của nhà cung cấp lớn có cập nhật bảo mật) là đủ.
- Phần mềm chống vi-rút có thể bắt được các cuộc tấn công zero-day không?
- AV dựa trên chữ ký thường không thể thực hiện được - không có dấu hiệu nào cho một cuộc tấn công không xác định. EDR hành vi (CrowdStrike, Defender for Endpoint, SentinelOne) hiệu quả hơn vì nó xem xét những gì các quy trình thực hiện hơn là chúng trông như thế nào. Tỷ lệ phát hiện không hoàn hảo; ngay cả EDR tinh vi cũng bỏ sót một số cách khai thác zero-day tinh vi.
- Tại sao nhà cung cấp không sửa hết lỗi trước khi giao hàng?
- Độ phức tạp của phần mềm vượt xa ngân sách kiểm toán Các hệ điều hành hiện đại có hàng trăm triệu dòng mã. Phân tích toàn diện là không thể; nhà cung cấp tìm ra lỗi mà họ ưu tiên tìm. Ngoài ra, một số danh mục lỗi (điều kiện chạy đua, kênh bên) vốn có trong các tương tác phần cứng và phần mềm mà không thể kiểm tra được.
- Có cách nào để chống lại zero-day ở cấp độ nền tảng không?
- Vâng, về mặt cấu trúc. Các ngôn ngữ an toàn bộ nhớ (Rust, Go) loại bỏ các loại lỗi. Giảm thiểu phần cứng (CET, MTE, Xác thực con trỏ ARM) khiến việc khai thác trở nên khó khăn hơn. Sandboxing hạn chế thiệt hại. Xu hướng trong 15 năm qua ngày càng cứng rắn hơn; xu hướng quan trọng hơn bất kỳ ngày 0 cụ thể nào.