Gói độc hại Python có tên là “onyxproxy”, là một trình đánh cắp thông tin nhắm mục tiêu thông tin đăng nhập của các nhà phát triển và mã thông báo xác thực, phần mềm độc hại này sử dụng kết hợp các phông chữ Unicode khác nhau (bao gồm các phông chữ đậm và nghiêng) trong mã nguồn để giúp nó vượt qua quá trình quét và bảo mật tự động xác định các chức năng độc hại tiềm ẩn dựa trên kết hợp chuỗi.
Hiện tại, “onyxproxy” không còn khả dụng trên PyPI và đã bị xóa khỏi nền tảng này. Tuy nhiên, kể từ khi được tải lên PyPI vào ngày 15/3, gói độc hại đã có 183 lượt tải xuống, điều này đồng nghĩa có tới 183 nhà phát triển khác nhau có nguy cơ bị đánh cắp thông tin xác thực và danh tính.
Unicode bị lạm dụng trong Python
Unicode là tiêu chuẩn mã hóa toàn cầu được sử dụng cho nhiều ngôn ngữ và chữ viết khác nhau, bao gồm hơn 100.000 ký tự. Với Unicode, mọi chữ cái, chữ số và ký hiệu đều có một giá trị số duy nhất không thay đổi, bất kể chương trình hoặc nền tảng đang được sử dụng.
Phần mềm độc hại chứa gói "setup.py" với hàng nghìn chuỗi mã đáng ngờ sử dụng kết hợp các ký tự Unicode.
Sử dụng kết hợp các ký tự Unicode
Mặc dù văn bản trong các chuỗi này, bên cạnh các phông chữ khác nhau, trông gần như không có vấn đề gì, nhưng nó tạo ra sự khác biệt lớn đối với trình thông dịch Python sẽ phân tích cú pháp và nhận ra các ký tự này về cơ bản là khác nhau.
Điều này có thể thực hiện được nhờ vào việc sử dụng các biến thể Unicode trông như cùng một ký tự để ngụy trang cho màu sắc thật của nó (ví dụ: self so với 𝘀𝘦𝘭𝘧) giữa các hàm và biến. Phylum giải thích rằng Unicode có 5 biến thể cho chữ “n” và 19 biến thể cho chữ “s” để sử dụng trong các ngôn ngữ, toán học khác nhau. Ví dụ: định danh "self" có 122.740 (19x19x20x17) cách để được biểu diễn bằng Unicode.
Việc Python hỗ trợ sử dụng các ký tự Unicode cho các mã định danh, tức là các biến mã, hàm, lớp, mô-đun và các đối tượng khác, cho phép các lập trình viên tạo các mã định danh trông giống hệt nhau nhưng trỏ đến các hàm khác nhau.
Trong trường hợp của “onyxproxy”, các tác giả đã sử dụng các mã định danh “__import__”, “sub process” và “CryptUnprotectData” với nhiều biến thể, khiến chúng trở nên dễ dàng để vượt qua các biện pháp phòng thủ dựa trên khớp chuỗi.
Số lượng biến thể cho số nhận dạng đã sử dụng
Hỗ trợ Unicode của Python có thể dễ dàng bị lạm dụng để che giấu các kết quả khớp chuỗi độc hại, làm cho mã có vẻ như bình thường nhưng lại đang thực hiện các hành vi nguy hiểm. Trong trường hợp này, việc đánh cắp dữ liệu nhạy cảm và mã thông báo xác thực từ các nhà phát triển.
Mặc dù phương pháp che giấu này không đặc biệt tinh vi, nhưng thật đáng lo ngại khi thấy nó được sử dụng trên thực tế và có thể là dấu hiệu của việc lạm dụng rộng rãi hơn Unicode để che giấu Python.
Trước đây, các rủi ro của Unicode trong Python cũng đã được thảo luận rộng rãi trong cộng đồng ngôn ngữ Python. Các nhà nghiên cứu cũng đã từng đưa ra cảnh báo rằng hỗ trợ Unicode trong Python sẽ khiến ngôn ngữ lập trình này dễ bị tấn công bởi một loại khai thác bảo mật mới, khiến các bản vá và mã được gửi trở nên khó kiểm tra hơn.
Vào tháng 11/2021, hai nhà nghiên cứu Nicholas Boucher và Ross Anderson tới từ Đại học Cambridge đã trình bày một kỹ thuật tấn công có tên gọi là "Trojan Source", trong đó sử dụng các ký tự điều khiển Unicode để đưa các lỗ hổng vào mã nguồn, đồng thời khiến người đánh giá khó phát hiện ra những hành vi xâm nhập độc hại đó.
Bên cạnh “onyxproxy”, công ty an ninh mạng PyUp của Canada cho biết họ đã phát hiện ra ba gói thư viện Python lừa đảo mới, bao gồm “aiotoolbox”, “asyncio-proxy” và “pycolorz”, đã được tải xuống hơn 1.000 lần và được thiết kế để truy xuất mã bị xáo trộn (obfuscated) từ một máy chủ từ xa.
Hồng Đạt
10:00 | 16/02/2023
12:00 | 28/04/2023
10:00 | 04/01/2023
10:00 | 18/01/2023
19:00 | 30/04/2024
DinodasRAT hay còn được gọi là XDealer là một backdoor đa nền tảng được phát triển bằng ngôn ngữ C++ cung cấp nhiều tính năng độc hại. DinodasRAT cho phép kẻ tấn công theo dõi và thu thập dữ liệu nhạy cảm từ máy tính của mục tiêu. Một phiên bản cho hệ điều hành Windows của phần mềm độc hại này đã được sử dụng trong các cuộc tấn công nhắm mục tiêu vào các thực thể của Chính phủ Guyana và được các nhà nghiên cứu tới từ công ty bảo mật ESET (Slovakia) báo cáo với tên gọi là chiến dịch Jacana. Bài viết sẽ phân tích cơ chế hoạt động của phần mềm độc hại DinodasRAT dựa trên báo cáo của hãng bảo mật Kaspersky.
11:00 | 26/04/2024
Các nhà nghiên cứu của công ty an ninh mạng BlackBerry đã phát hiện một chiến dịch gián điệp mạng nhắm vào người dùng iPhone ở khu vực Nam Á, với mục đích phân phối payload của phần mềm gián điệp có tên là LightSpy. BlackBerry cho biết chiến dịch này có khả năng cho thấy sự tập trung mới của các tác nhân đe dọa vào các mục tiêu chính trị và căng thẳng trong khu vực.
09:00 | 01/04/2024
Vừa qua, công ty bảo mật đám mây Akamai (Mỹ) đã đưa ra cảnh báo về việc khai thác lỗ hổng Kubernetes ở mức độ nghiêm trọng cao, có thể dẫn đến việc thực thi mã tùy ý với các đặc quyền hệ thống trên tất cả các điểm cuối Windows trong một cụm (cluster).
09:00 | 01/02/2024
Một lỗ hổng nghiêm trọng trong giao diện dòng lệnh (CLI) của Jenkins cho phép kẻ tấn công lấy được các khóa mật mã có thể được sử dụng để thực thi mã tùy ý từ xa.
Nhóm tình báo mối đe dọa Threat Intelligence của Microsoft cho biết, các tác nhân đe dọa đang tích cực khai thác các lỗ hổng nghiêm trọng trong OpenMetadata để có quyền truy cập trái phép vào khối lượng workload trong Kubernetes và lạm dụng chúng cho hoạt động khai thác tiền điện tử.
14:00 | 25/04/2024