Tấn công mạng sử dụng AI: Cách phát hiện, ngăn chặn và phòng thủ trước các mối đe dọa thông minh

Đọc ngay
Chúng tôi sử dụng trí tuệ nhân tạo để dịch trang web và trong khi chúng tôi cố gắng đạt được độ chính xác, chúng có thể không phải lúc nào cũng chính xác 100%. Sự hiểu biết của bạn được đánh giá cao.

Phân tích lỗ hổng CVE-2023-33733 với MetaDefender Core

bằng cách OPSWAT
Chia sẻ bài viết này
Các nhà nghiên cứu bảo mật hàng đầu thảo luận về lỗ hổng CVE-2023-33733
OPSWAT Người tham gia chương trình học bổng

Sự phát triển nhanh chóng của công nghệ đã tạo ra nhu cầu cao đối với các nhà phát triển có tay nghề. Phần mềm nguồn mở (OSS) đã trở thành một công cụ quan trọng cho lực lượng lao động đang phát triển này. Hàng trăm nghìn gói OSS được thiết lập tốt hiện có trên nhiều ngôn ngữ lập trình khác nhau. Hơn 90% nhà phát triển tận dụng các thành phần nguồn mở này trong các ứng dụng độc quyền của họ, làm nổi bật hiệu quả và đề xuất giá trị của OSS. Nhấn mạnh thêm tầm quan trọng của nó, thị trường OSS toàn cầu dự kiến sẽ đạt 80,7 tỷ đô la vào năm 2030, phản ánh tốc độ tăng trưởng dự kiến là 16,7% hàng năm. 

Tuy nhiên, việc áp dụng rộng rãi OSS cũng tạo ra một lớp phức tạp mới: lỗ hổng bảo mật . Số lượng lớn các thành phần OSS được kết nối với nhau tạo ra bề mặt tấn công rộng hơn cho các tác nhân độc hại khai thác. Quản lý các mối phụ thuộc trên nhiều gói OSS khác nhau có thể phức tạp, khiến việc xác định và vá lỗ hổng kịp thời trở nên khó khăn. Ngoài ra, tính bảo mật của OSS thường phụ thuộc vào sự cảnh giác và đóng góp của cộng đồng nhà phát triển. Điều này có thể dẫn đến sự chậm trễ trong việc vá lỗ hổng, đặc biệt là đối với các dự án ít phổ biến hơn.  

Trong bài viết này, OPSWAT Các nghiên cứu sinh sau đại học kiểm tra CVE-2023-33733 , một lỗ hổng bảo mật được phát hiện trong thư viện nguồn mở phổ biến ReportLab. Phân tích của họ được kết hợp với một cuộc tấn công mô phỏng tận dụng MetaDefender Core với khả năng Software Bill of Materials (SBOM) để xác định các lỗ hổng trong các phần phụ thuộc của ứng dụng, bao gồm cả thư viện ReportLab dễ bị tấn công. 

Giới thiệu Thư viện Reportlab

Minh họa ReportLab

ReportLab, một thư viện Python mã nguồn mở và mạnh mẽ, trao quyền cho người dùng tạo PDF giàu tính năng từ mã Python. Nó cung cấp cho các nhà phát triển một sự kết hợp hoàn hảo: tính linh hoạt, dễ sử dụng và các tùy chọn tùy chỉnh mở rộng để tạo tài liệu động. Thư viện cung cấp cho nhà phát triển khả năng kiểm soát nâng cao đối với PDF của họ, cho phép kết hợp chính xác văn bản, hình ảnh, bảng và biểu đồ với độ chính xác tỉ mỉ. Mức độ tùy chỉnh này biến ReportLab thành một công cụ có giá trị để tạo tài liệu động như hóa đơn và báo cáo dựa trên dữ liệu. 

CVE-2023-33733 Bối cảnh

CVE-2023-33733 làm nổi bật lỗ hổng bảo mật trong thư viện ReportLab, ảnh hưởng đến nhiều phiên bản của Thư viện ReportLab.

  • Các phiên bản ReportLab trước phiên bản 3.6.13 được phát hiện là dễ bị tấn công bằng hộp cát, đặc biệt là trong 'rl_safe_eval' chức năng. Khai thác được thực hiện thông qua thuộc tính màu của thẻ HTML, được đánh giá trực tiếp như một biểu thức Python bằng cách sử dụng đánh giá() chức năng, cuối cùng dẫn đến thực thi mã từ xa. 
  • Các nhà phân tích NVD đã chỉ định điểm CVSS là 7,8 CAO cho CVE-2023-33733. 
Mức độ nghiêm trọng và số liệu của CVSS 3.x cho thấy điểm cơ bản là 7,8 đối với CVE-2023-33733, được phân loại là rủi ro cao.

Phân tích lỗ hổng bảo mật ReportLab

OPSWAT Các nghiên cứu viên sau đại học đã tiến hành phân tích sâu quy trình làm việc của ReportLab, xác định nguyên nhân gốc rễ của lỗ hổng bảo mật CVE-2023-33733.

Quy trình làm việc của Thư viện ReportLab 

ReportLab trao quyền cho các nhà phát triển tạo PDF hiệu quả. Thư viện cho phép tích hợp dễ dàng: nhập thư viện, xác định nội dung HTML và tạo PDF trong một dòng mã duy nhất bằng hàm kết quả. 

Mã Python minh họa cách tạo mẫu tài liệu đơn giản bằng thư viện ReportLab

Các nghiên cứu sinh của chúng tôi đã khám phá ra quy trình 5 bước để tạo tệp PDF từ HTML bằng ReportLab. 

Sơ đồ minh họa luồng quy trình từ đầu vào HTML đến đầu ra PDF bằng ReportLab và các hàm liên quan

Trong quy trình 5 bước để tạo PDF từ HTML bằng ReportLab, có ba quy trình chính nổi bật: xử lý đoạn văn, xử lý paraparser và quy trình xử lý HTML. 

Ảnh chụp màn hình quá trình gỡ lỗi làm nổi bật quá trình xử lý HTML, quá trình đoạn văn và quá trình paraparser trong một tập lệnh Python

Như minh họa trong hình trên, quy trình xử lý HTML trong ReportLab sử dụng đánh giá() chức năng cụ thể trên thuộc tính màu. Hoạt động như một điểm tập trung để thực thi mã độc hại, đánh giá() chức năng thúc đẩy các nhà nghiên cứu tìm cách kiểm soát đầu vào của nó để khai thác ứng dụng. Tuy nhiên, điều này là thách thức do hộp cát được thực thi bởi __rl_an_toàn_an_toàn__ chức năng trong ReportLab. 

Đoạn mã hiển thị hàm đánh giá an toàn với các kiểm tra cho các phương thức được phép và thời gian chờ
Lỗ hổng bảo mật trong ReportLab Analysis 

ReportLab đã triển khai một hộp cát có tên là __rl_an_toàn_an_toàn__. Hộp cát này loại trừ tất cả các hàm Python tích hợp và bao gồm một số hàm tích hợp bị ghi đè. Hạn chế này cho phép thực thi mã an toàn trong thư viện trong khi ngăn chặn quyền truy cập vào các hàm và thư viện nguy hiểm có thể được sử dụng cho mục đích độc hại (ví dụ: truy cập hệ thống tệp, giao tiếp mạng). 

Các đánh giá an toàn hàm sandbox thực hiện nhiều điều kiện khác nhau để đảm bảo thuộc tính được gọi là an toàn trước khi sử dụng hàm tích hợp sẵn của Python lấy attr() chức năng để lấy dữ liệu và trả về kết quả. 

Ví dụ mã minh họa một hàm kiểm tra xem tên phương thức có được phép trong ngữ cảnh bảo mật hay không

Chức năng đánh giá an toàn nhằm mục đích bảo vệ môi trường bằng cách loại trừ các chức năng nguy hiểm và ngăn chặn các hành động có hại. Tuy nhiên, nếu tìm ra cách bỏ qua các điều kiện của nó và truy cập vào một chức năng tích hợp mạnh mẽ, nó có thể bị khai thác.  

Dựa trên ý tưởng này, các nhà nghiên cứu bảo mật đã cố gắng vượt qua các hạn chế. Ban đầu, họ khai thác việc tiêm đối tượng bằng cách sử dụng kiểu() chức năng xây dựng một đối tượng và xác định lại các thuộc tính và phương thức của nó để tránh các kiểm tra trong __rl_an_toàn_an_toàn__. Hơn nữa, khi thư viện ReportLab ghi đè các hàm tích hợp và biến chúng thành các hàm toàn cục trong ngữ cảnh eval, nhà nghiên cứu có thể tận dụng triển khai này để truy cập một trong các hàm tích hợp gốc. Điều này có thể cho phép họ bỏ qua môi trường hộp cát và thực thi mã độc hại. 

Đoạn mã minh họa việc định nghĩa lại các hàm tích hợp

Tải trọng được chuẩn bị như sau: 

Ví dụ mã cho thấy lớp kẻ tấn công và khai thác thuộc tính toàn cục

Tuy nhiên, không thể thực hiện biểu thức đa dòng trong ngữ cảnh eval. Tuy nhiên, có thể sử dụng thủ thuật hiểu danh sách và tải trọng để khai thác CVE này như sau: 

Cấu trúc mã phức tạp minh họa việc khai thác CVE-2023-33733

Mô phỏng khai thác ReportLab 

Các nhà nghiên cứu đã công bố Bằng chứng Khái niệm (POC) cho lỗ hổng CVE-2023-33733, chứng minh rằng các ứng dụng được xây dựng trên các phiên bản ReportLab dễ bị tấn công mạng có thể bị ảnh hưởng. Để đánh giá mối đe dọa tiềm ẩn này, các Nghiên cứu sinh OSPWAT đã tiến hành một cuộc tấn công mô phỏng vào một ứng dụng web. Họ đã tận dụng MetaDefender Core với khả năng SBOM để xác định các lỗ hổng bảo mật trong các phần mềm ứng dụng phụ thuộc, bao gồm cả sự hiện diện của thư viện ReportLab bị ảnh hưởng. 

Mô phỏng lỗ hổng bảo mật 

Để mô phỏng việc khai thác này như một kịch bản thực tế, OPSWAT Các nghiên cứu sinh sau đại học đã phát triển một ứng dụng web sử dụng Python và phiên bản dễ bị tấn công của thư viện ReportLab. Ứng dụng này mô phỏng một trường hợp sử dụng điển hình: người dùng có thể tải lên tệp HTML và chuyển đổi thành tệp PDF. 

Ảnh chụp màn hình giao diện tải tệp độc hại nhắc nhở duyệt tệp để tải lên

Kẻ tấn công có thể tạo một tệp HTML độc hại chứa mã được thiết kế để khai thác CVE- 2023 - 33733. Mã này có thể bỏ qua hộp cát và xâm phạm máy chủ web bằng cách kích hoạt một shell ngược thông qua đánh giá() chức năng.  

Đoạn mã cho thấy cuộc tấn công tiêm lệnh đang diễn ra

Việc tải lên thành công tệp tin độc hại sẽ cho phép kẻ tấn công chiếm quyền kiểm soát máy chủ ứng dụng do lỗ hổng trong thư viện ReportLab đã lỗi thời. 

Trình tải tệp độc hại hiển thị evil.html đã tải lên
Thiết bị đầu cuối hiển thị một shell đảo ngược đang hoạt động

Tầm quan trọng của SBOM và Bảo mật chủ động 

Các OPSWAT Nghiên cứu của Graduate Fellows về CVE-2023-33733 nhấn mạnh những rủi ro bảo mật tiềm ẩn liên quan đến OSS. Mặc dù OSS mang lại những lợi ích không thể phủ nhận về mặt hiệu quả phát triển và hiệu quả về chi phí, nhưng các lỗ hổng như lỗ hổng được tìm thấy trong ReportLab có thể khiến các tổ chức dễ bị tấn công mạng. 

OPSWAT SBOM 

OPSWAT SBOM bảo mật chuỗi cung ứng phần mềm bằng cách cung cấp kho thành phần toàn diện cho mã nguồn và container. SBOM hỗ trợ hơn 10 ngôn ngữ, bao gồm Java, JavaScript, Go, PHP và Python, hơn 5 triệu thành phần phần mềm nguồn mở của bên thứ ba và sử dụng cơ sở dữ liệu chứa hơn 17.000 lỗ hổng bảo mật được lấy từ Cơ sở Dữ liệu Lỗ hổng Quốc gia (NVD) và GitHub (GHSA). 

MetaDefender Core bảng điều khiển bảo mật hiển thị tệp bị chặn và phân tích lỗ hổng của tệp đó

OPSWAT MetaDefender Core , với khả năng SBOM tích hợp, giúp các tổ chức chủ động giải quyết những rủi ro này. MetaDefender Core Quét các ứng dụng phần mềm và các phần phụ thuộc, xác định sự hiện diện của các lỗ hổng đã biết như CVE-2023-33733 trong các thành phần được liệt kê. Điều này cho phép các nhà phát triển và nhóm bảo mật ưu tiên các nỗ lực vá lỗi và giảm thiểu rủi ro bảo mật trước khi chúng có thể bị khai thác. 

MetaDefender Core bảng điều khiển bảo mật hiển thị kết quả quét lỗ hổng chi tiết cho CVE-2023-33733

Bớt tư tưởng

Các OPSWAT Nghiên cứu của các Nghiên cứu sinh sau đại học về lỗ hổng ReportLab (CVE-2023-33733) đóng vai trò như một lời nhắc nhở có giá trị về tầm quan trọng của các biện pháp bảo mật chủ động trong vòng đời phát triển phần mềm. Bằng cách tận dụng các công cụ như OPSWAT MetaDefender Core , các tổ chức có thể có được những hiểu biết quan trọng về sự phụ thuộc vào phần mềm của họ và xác định các lỗ hổng tiềm ẩn trước khi chúng bị kẻ tấn công khai thác. 

Hơn nữa, OPSWAT cung cấp một bộ giải pháp an ninh mạng toàn diện vượt xa chức năng quét lỗ hổng. Các giải pháp này cung cấp khả năng phát hiện mối đe dọa theo thời gian thực, bảo mật dữ liệu và bảo vệ điểm cuối, bảo vệ các tổ chức khỏi nhiều mối đe dọa mạng. Bằng cách áp dụng phương pháp bảo mật nhiều lớp bao gồm các công cụ như MetaDefender Core , các tổ chức có thể tận dụng lợi ích của OSS đồng thời giảm thiểu các rủi ro bảo mật liên quan. 

Luôn cập nhật với OPSWAT!

Đăng ký ngay hôm nay để nhận thông tin cập nhật mới nhất về công ty, câu chuyện, thông tin sự kiện và nhiều thông tin khác.