Logo Zephyrnet

Các nhà nghiên cứu tiên phong khai thác PoC cho lỗi do NSA báo cáo trong Windows CryptoAPI

Ngày:

Các nhà nghiên cứu đã phát triển khai thác bằng chứng khái niệm (PoC) cho lỗ hổng giả mạo chứng chỉ x.509 công khai trong Windows CryptoAPI mà NSA và Trung tâm An ninh Mạng Quốc gia (NCSC) đã báo cáo cho Microsoft vào năm ngoái.

Microsoft lặng lẽ vá lỗi, được theo dõi như CVE-2022-34689, trong nó Bản cập nhật bảo mật Bản vá thứ Ba hàng tháng tháng 2022 năm XNUMX, nhưng chỉ được tiết lộ công khai vào tháng XNUMX. Vào thời điểm đó, nó đã đánh giá lỗ hổng này là lỗ hổng mà những kẻ tấn công có nhiều khả năng khai thác hơn. Nhưng nó cung cấp rất ít thông tin chi tiết về lỗi hoặc cách kẻ tấn công có thể khai thác nó.

Yoni Rozenshein, nhà nghiên cứu bảo mật tại Akamai cho biết: “Khi bản vá được phát hành, lỗi này không có trong ghi chú phát hành của [Microsoft]. “Nó đã được công bố hai tháng sau đó, vào tháng XNUMX và dường như không có thông tin nào mô tả lỗ hổng và cách nó bị khai thác.”

Tấn công Proof-of-Concept cho CVE-2022-34689

Các nhà nghiên cứu tại Akamai đã phân tích lỗ hổng trong vài tháng qua trong tuần này đã phát hành chi tiết về một cuộc tấn công mà họ đã phát triển đối với nó, điều mà họ cho biết sẽ cho phép kẻ tấn công giả mạo chứng chỉ mục tiêu và giả dạng bất kỳ trang web nào, với khả năng thực hiện nhiều hành động độc hại.
Rozenshein cho biết: “Trình duyệt dễ bị tấn công sẽ hiển thị biểu tượng ổ khóa màu xanh lá cây cho biết kết nối an toàn mặc dù kết nối đó hoàn toàn do kẻ tấn công kiểm soát. Anh ấy mô tả PoC của Akamai cho nó là lần đầu tiên xảy ra lỗi.

CryptoAPI là một giao diện lập trình ứng dụng Windows mà các nhà phát triển sử dụng để kích hoạt hỗ trợ cho mật mã cho các ứng dụng của họ. Một trong những vai trò của CryptoAPI là xác minh tính xác thực của chứng chỉ kỹ thuật số. Rozenshein cho biết, chính trong chức năng này mà lỗ hổng tồn tại.

Để xác minh tính xác thực của chứng chỉ, trước tiên, CryptoAPI sẽ kiểm tra xem liệu nó đã tồn tại trong bộ đệm chứng chỉ của ứng dụng nhận chưa. Nếu đúng như vậy, CryptoAPI sẽ coi chứng chỉ nhận được là đã được xác minh. Trước bản vá của Microsoft cho nó, CryptoAPI đã xác định xem chứng chỉ nhận được đã có trong bộ đệm chứng chỉ hay chưa chỉ bằng cách so sánh dấu vân tay băm MD5. Nếu dấu vân tay MD5 của chứng chỉ đã nhận khớp với dấu vân tay MD5 của chứng chỉ trong bộ đệm, thì CryptoAPI coi chứng chỉ đã nhận là đã được xác minh, ngay cả khi nội dung thực tế của hai chứng chỉ không khớp chính xác.

Điều đó mở ra cơ hội cho những kẻ tấn công mạng giới thiệu chứng chỉ giả mạo.

Dấu vân tay MD5: Một giả định sai

Trước bản vá, “Microsoft vốn tin tưởng vào tính hợp lệ của các chứng chỉ được lưu trong bộ đệm và không thực hiện bất kỳ kiểm tra tính hợp lệ bổ sung nào sau khi tìm thấy chứng chỉ cuối trong bộ đệm,” Akamai cho biết trong báo cáo của mình. Mặc dù bản thân điều này là một giả định hợp lý, nhưng việc CryptoAPI tin tưởng rằng hai chứng chỉ cuối giống hệt nhau nếu dấu vân tay MD5 của chúng khớp với nhau “là một giả định không chính xác có thể bị khai thác và là nguồn gốc của bản vá,” Akamai lưu ý.

Để chứng minh cách kẻ tấn công có thể khai thác vấn đề này, trước tiên, các nhà nghiên cứu của Akamai đã tạo hai chứng chỉ — một chứng chỉ được ký hợp pháp và chứng chỉ còn lại độc hại — và gian lận chúng để cuối cùng cả hai đều có dấu vân tay MD5 giống nhau. Sau đó, họ đã nghĩ ra một cách để cung cấp chứng chỉ hợp pháp đầu tiên cho một ứng dụng có phiên bản CryptoAPI dễ bị tấn công (trong trường hợp này là phiên bản cũ của Chrome — v48). Khi ứng dụng đã xác minh chứng chỉ và lưu trữ nó trong bộ đệm chứng chỉ cuối, Akamai đã chỉ ra cách kẻ tấn công có thể sử dụng cuộc tấn công trung gian để cung cấp chứng chỉ độc hại thứ hai cho cùng một ứng dụng và xác minh chứng chỉ đó là xác thực .

Rozenshein cho biết cần có hai điều kiện để cuộc tấn công có hiệu quả. Một là ứng dụng cần dùng bị thiếu bản vá Windows mà Microsoft đã phát hành vào tháng XNUMX vừa qua. Hai là ứng dụng phải sử dụng CryptoAPI để xác minh chứng chỉ và bật tính năng CryptoAPI được gọi là “bộ nhớ đệm chứng chỉ cuối”. Tính năng này bị tắt theo mặc định trên CryptoAPI, nhưng một số ứng dụng kích hoạt tính năng này để tăng hiệu suất. Chính những ứng dụng này mà kẻ tấn công có thể nhắm mục tiêu, nếu một tổ chức chưa vá chúng.

Rozenshein cho biết: “Chúng tôi vẫn đang tích cực nghiên cứu và tìm kiếm các ứng dụng dễ bị tấn công hơn.

Dễ khai thác

Rozenshein cho biết kẻ tấn công có quyền kiểm soát mạng có thể khai thác lỗ hổng mà không gặp nhiều khó khăn. “Họ sẽ cần tính toán xung đột MD5, nhưng điều này có thể được thực hiện trước, với chi phí thấp và chỉ trong vài giờ,” ông nói, chỉ ra nghiên cứu trước đây đã chỉ ra cách kẻ tấn công có thể tạo hai chứng chỉ giống nhau. Dấu vân tay MD5.

Rozenshein cho biết sau khi tính toán dấu vân tay MD5, cuộc tấn công có thể được thực hiện dễ dàng. Cách kẻ tấn công thực hiện hai giai đoạn tiếp theo của cuộc tấn công (cung cấp hai chứng chỉ) tùy thuộc vào loại ứng dụng được nhắm mục tiêu, ông nói thêm: “Trong trường hợp trình duyệt Web, chúng tôi nhận thấy rằng chỉ cần đặt lại kết nối sau giai đoạn đầu tiên đã được hoàn thành khiến trình duyệt cố gắng kết nối lại ngay lập tức. Đây là lúc cuộc tấn công chuyển sang giai đoạn thứ hai.”

Microsoft đã không trả lời ngay lập tức yêu cầu bình luận về nghiên cứu của Akamai hoặc cuộc tấn công PoC.

CVE-2022-34689 là lỗ hổng thứ hai trong CryptoAPI mà NSA đã tiết lộ cho Microsoft trong những năm gần đây. Vào năm 2020, họ đã báo cáo một vấn đề tương tự, được theo dõi là CVE-2020-061 hoặc Lỗ hổng Curveball. Akamai đánh giá lỗ hổng được tiết lộ gần đây có ít mối đe dọa hơn CurveBall vì có nhiều điều kiện tiên quyết hơn kèm theo và do đó có phạm vi mục tiêu dễ bị tấn công hạn chế hơn.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img