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
10:00 | 18/10/2024
GitLab đã phát hành bản cập nhật bảo mật cho Community Edition (CE) và Enterprise Edition (EE) để giải quyết 08 lỗ hổng bảo mật, bao gồm một lỗ hổng nghiêm trọng có thể cho phép thực thi các CI/CD Pipeline tùy ý.
15:00 | 20/09/2024
Nhóm tin tặc tấn công có chủ đích liên quan đến Trung Quốc, được biết đến với tên gọi Mustang Panda, đã bị phát hiện sử dụng phần mềm Visual Studio Code như một phần của hoạt động gián điệp nhắm vào các chính phủ ở khu vực Đông Nam Á.
21:00 | 29/08/2024
Cục Điều tra Liên bang Mỹ (FBI) mới đây đã đưa ra thông báo về sự cố gián đoạn cơ sở hạ tầng trực tuyến liên quan đến một nhóm tin tặc mã độc tống tiền mới nổi có tên là Dispossessor. Trong một nỗ lực nhằm giảm thiểu rủi ro do nhóm tội phạm này gây ra, FBI đã thu giữ 03 máy chủ tại Mỹ, 03 máy chủ tại Anh, 18 máy chủ tại Đức, 08 tên miền tại Mỹ và 01 tên miền tại Đức.
14:00 | 20/08/2024
Theo Cisco Talos, một viện nghiên cứu trực thuộc chính phủ Đài Loan chuyên về điện toán và các công nghệ liên quan đã bị nhóm tin tặc có mối liên kết với Trung Quốc tấn công.
Các chuyên gia phát hiện ra 02 lỗ hổng Zero-day trong camera PTZOptics định danh CVE-2024-8956 và CVE-2024-8957 sau khi Sift - công cụ chuyên phát hiện rủi ro an ninh mạng sử dụng AI tìm ra hoạt động bất thường chưa từng được ghi nhận trước đó trên mạng honeypot của công ty này.
09:00 | 08/11/2024