Chúng tôi rất vui mừng được giới thiệu một loạt các blog phân tích kỹ thuật tập trung vào các lỗ hổng và tiếp xúc phổ biến (CVEs) khác nhau, được xác định và khắc phục bằng các công nghệ phát hiện mối đe dọa tiên tiến của chúng tôi. Tất cả các nghiên cứu được thực hiện bởi các sinh viên tốt nghiệp tham gia vào OPSWAT Chương trình học bổng an ninh mạng ra mắt vào tháng 9/2023.
Trong blog này, chúng tôi sẽ giải thích Google Chrome CVE-2019-13720 và cách các tổ chức có thể bảo vệ chống lại các cuộc tấn công khai thác CVE-2019-13720.
Google Chrome là gì và nó được thành lập khi nào?
Google Chrome là một trình duyệt web đa nền tảng được phát triển bởi Google và chính thức phát hành vào ngày 2 tháng 9 năm 2008. Nó được phát triển như một phần trong nỗ lực của Google để tạo ra một trình duyệt tốt hơn, hiện đại hơn. Nó cung cấp nhiều tính năng mới vào thời điểm đó, bao gồm duyệt web theo thẻ, chế độ bảo mật và đồng bộ hóa với các dịch vụ của Google. Kể từ khi phát hành, nó đã trở thành một trong những trình duyệt web phổ biến nhất trên toàn thế giới. Tính đến năm 2021, Google Chrome ước tính có khoảng 3.2 tỷ người dùng.
Do sự phổ biến của Google Chrome, nó đã trở thành tâm điểm nghiên cứu và tấn công, thu hút cả tin tặc có đạo đức và tin tặc độc hại. Các lỗ hổng phổ biến được xác định trong Google Chrome bao gồm Từ chối dịch vụ (DoS), rò rỉ thông tin và thực thi mã từ xa, trong số những lỗ hổng khác. Về lỗ hổng Thực thi mã từ xa, tồn tại hai loại cho vấn đề này trên Google Chrome: thoát hộp cát và không thoát.
CVE-2019-13720 là gì?
CVE-2019-13720 là lỗ hổng Sử dụng sau khi miễn phí (UAF) của WebAudio trong Google Chrome trước phiên bản 78.0.3904.87 cho phép kẻ tấn công từ xa có khả năng khai thác tham nhũng đống thông qua trang HTML được tạo thủ công. Khi nạn nhân truy cập vào một trang web độc hại hoặc mở một trang HTML được tạo thủ công trên trình duyệt Google Chrome dễ bị tấn công, mã độc hại sẽ được thực thi trên điểm cuối của nạn nhân. CVE này được báo cáo lần đầu tiên bởi Anton Ivanov và Alexey Kulaev vào năm 2019.
Từ góc độ kỹ thuật, lỗ hổng use-after-free có thể bị khai thác do tình trạng chạy đua giữa các luồng Render và Audio trong thành phần âm thanh của Qt WebEngine cho phép kẻ tấn công từ xa thực thi mã shell WebAssembly, dẫn đến thiết bị của nạn nhân bị xâm phạm. Giải pháp cho vấn đề này là cho tất cả người dùng Qt WebEngine để cập nhật lên phiên bản mới nhất.
Các pha tấn công
Những kẻ tấn công tạo một URL đặc biệt với HTML độc hại và gửi email lừa đảo với liên kết đến nạn nhân. Khi nạn nhân mở email và nhấp vào liên kết, mã độc được thực thi và cho phép kẻ tấn công chiếm lấy hệ thống bị ảnh hưởng. Chi tiết về các chiến thuật mã từ xa, như chúng xuất hiện trong tài liệu HTML, có thể được tham khảo tại đây.
Các lỗ hổng Sử dụng Sau Miễn phí (UAF) và phun đống là gì?
Lỗ hổng UAF là một loại lỗ hổng bảo mật xảy ra khi một chương trình tiếp tục sử dụng bộ nhớ sau khi nó đã được giải phóng. Điều này có thể dẫn đến nhiều hậu quả bất lợi khác nhau, bao gồm hỏng dữ liệu, thực thi mã tùy ý và sự cố hệ thống.
Heap spraying là một kỹ thuật phân phối tải trọng đòi hỏi phải viết một vài byte tại các vị trí khác nhau trong toàn bộ đống. Điều này liên quan đến việc tiêm một payload crafted (tức là dữ liệu có hại) vào đống bộ nhớ, đảm bảo rằng luồng thực thi nhảy vào bộ nhớ phun thay vì mã gốc của ứng dụng. Mục đích của cuộc tấn công này thường là để giành quyền kiểm soát sổ đăng ký EIP.
WebAssembly là gì?
WebAssembly, thường được viết tắt là Wasm, là một định dạng lệnh nhị phân mới đóng vai trò là mục tiêu di động để biên dịch các ngôn ngữ cấp cao như C / C ++, cho phép chúng chạy ở tốc độ gần như nguyên bản trong công cụ JavaScript của trình duyệt web.
Tuy nhiên, vì WebAssembly có thể được biên dịch từ các ngôn ngữ không an toàn cho bộ nhớ, chẳng hạn như C / C ++, các lỗ hổng mã hóa phổ biến như tràn bộ đệm hoặc lỗ hổng chuỗi định dạng có thể được đưa vào các tệp nhị phân WebAssembly được biên dịch chéo. Tiềm năng này cho các lỗ hổng được đưa vào các mô-đun WebAssembly đã làm tăng bề mặt tấn công của các ứng dụng web hiện đại.
Lỗ hổng tình trạng chủng tộc là gì?
Lỗ hổng tình trạng chủng tộc trong phần mềm phát sinh khi nhiều quy trình hoặc luồng cố gắng truy cập đồng thời vào tài nguyên được chia sẻ, gây ra kết quả không thể đoán trước hoặc gián đoạn hoạt động do thời gian truy cập. Khi một chương trình có lỗ hổng tình trạng chủng tộc, nó có thể dẫn đến các vấn đề khác nhau như sự cố ứng dụng, hỏng dữ liệu, kết quả không chính xác hoặc không nhất quán. Những kẻ tấn công có thể khai thác lỗ hổng này để truy cập trái phép, rò rỉ thông tin, leo thang đặc quyền hoặc gây ra sự cố hệ thống.
Được phân loại là lỗ hổng tình trạng chủng tộc, lỗ hổng TOCTTOU khai thác khoảng cách thời gian giữa kiểm tra và sử dụng tài nguyên.
CVE-2019-13720 hoạt động như thế nào?
Để khai thác lỗ hổng này, nhà nghiên cứu đính kèm mã JavaScript vào một tệp HTML. Khi người dùng khởi chạy tệp HTML, tập lệnh cố gắng tìm địa chỉ bị rò rỉ bằng cách tạo hai luồng (luồng chính và luồng âm thanh) xử lý cùng một dữ liệu bộ đệm. Địa chỉ bị rò rỉ của temporary_buffer_object trong ReverbConvolverStage sau đó được sử dụng để lấy con trỏ của feedforward_array trong IIRFilterNode (chia sẻ cùng một siêu trang với Convolver). Sau đó, nhà nghiên cứu cố gắng lấy con trỏ của feedforward_array trong UAF kích hoạt thứ hai.
WebAssembly xử lý việc thực thi mã shell. Để cho phép thực thi shellcode, nhà nghiên cứu cố gắng giải phóng IIRFilter và ghi vào GCPreventer cho đến khi họ giành được quyền kiểm soát nơi phân bổ mới được thực hiện mà không cần thuốc xịt. Cuối cùng, nhà nghiên cứu ghi shellcode vào vùng Just-In Time (JIT) vào bộ nhớ. Do đó, khi bổ sung sự kiện lỗi của trình đọc tệp, mô-đun WebAssembly sẽ thực thi mã shell.
Để thực thi mã shell liên quan đến lỗ hổng này, người dùng phải tắt hộp cát trong phiên bản Chrome dễ bị tấn công.
Khi mã shell được thực thi, nó sẽ tự động mở các dịch vụ Notepad trên thiết bị của nạn nhân.
Phương pháp khắc phục hậu quả
MetaDefender Endpoint , một giải pháp bảo mật điểm cuối được thiết kế bởi OPSWAT , cho phép người dùng phát hiện và bảo vệ hệ thống của họ khỏi các cuộc tấn công này. Sau khi người dùng vô hiệu hóa Quyền riêng tư Sandbox tính năng (--no-sandbox), MetaDefender Endpoint có thể phát hiện CVE và áp dụng các bản vá lỗi Google Chrome mới nhất. Sau đó, người dùng có thể cập nhật Google Chrome lên phiên bản mới nhất theo cách thủ công hoặc kích hoạt tính năng "tự động cập nhật" trong Patch Management tab để cho phép OPSWAT MetaDefender Endpoint tự động cập nhật trình duyệt ngay khi có bản vá lỗi mới.
Để tránh tiếp xúc với mã độc, người dùng nên sử dụng các công cụ lọc email để phát hiện các cuộc tấn công lừa đảo và tránh nhấp vào các URL không xác định trong email.
MetaDefender Endpoint Các tính năng và lợi ích chính của sản phẩm
- Xem xét và khắc phục các ứng dụng có nguy cơ. Các ứng dụng dễ bị tấn công hoặc lỗi thời có thể được xem trong MetaDefender Endpoint Giao diện người dùng.
- Kiểm tra xem bảo vệ chống phần mềm độc hại có được định cấu hình đúng trên HĐH hay không.
- Đảm bảo tuân thủ các tiêu chuẩn bảo mật của tổ chức.
- Đảm bảo mã hóa đĩa cứng.
- Xác minh bản vá hệ điều hành.
- Nhiều tùy chọn để quét phần mềm độc hại và đưa ra thông báo không có phần mềm độc hại trên các điểm cuối.
MetaDefender Endpoint vì Endpoint Bản vá lỗ hổng và ứng dụng có thể được tải xuống tại đây .
Tham khảo
- https://nvd.nist.gov/vuln/detail/CVE-2019-13720
- https://bugs.chromium.org/p/chromium/issues/detail?id=1019226
- https://www.w3.org/TR/webaudio/
- https://security.gentoo.org/glsa/202004-04
- https://www.cve.org/CVERecord?id=CVE-2019-13720
- https://packetstormsecurity.com/files/167066/Google-Chrome-78.0.3904.70-Remote-Code-Execution.html
- https://devopedia.org/race-condition-software
- https://webassembly.org/
- https://www.researchgate.net/figure/WebAssembly-high-level-architecture_fig1_360232889
- https://www.researchgate.net/publication/331990070_Native_Web_Audio_API_Plugins
- https://whitehat.vn/threads/gioi-thieu-ky-thuat-khai-thac-exploit-heap-spray.5056/
- https://www.opswat.com/