Sau một thời gian dài nghiên cứu, các chuyên gia bảo mật của Kaspersky đã tìm ra cơ chế hoạt động của mã độc xHelper, một loại Trojan đặc biệt nguy hiểm vì không thể xóa khỏi điện thoại, ngay cả khi thiết bị bị nhiễm được trả về cài đặt gốc.
Vài tháng trước, các nhà nghiên cứu đã báo cáo về mã độc xHelper. Một số người dùng bị ảnh hưởng cho biết loại mã độc mày có khả năng tự động cài đặt lại trên điện thoại bị nhiễm mỗi ngày. Họ đã cố gắng thử mọi cách như xóa sạch thiết bị, khởi động lại hệ thống nhưng vẫn không khả thi. Một số người cho rằng xHelper được cài sẵn trên điện thoại trong quá trình thiết lập. Nói cách khác, người dùng thông thường không thể xóa loại mã độc này khỏi hệ thống Android.
Theo báo cáo của Kaspersky, mã độc xHelper hoạt động hiệu quả cao trên các phiên bản Android 6 và Android 7, chủ yếu tồn tại trên điện thoại như một công cụ nâng cao hiệu suất, giúp loại bỏ tập tin cũ và không cần thiết. Công ty bảo mật Malwarebytes phát hiện mã độc xHelper trên 33.000 thiết bị, chủ yếu ở Mỹ. Trong khi Kaspersky báo cáo đã tìm thấy loại mã độc này trên 50.000 thiết bị di động. Dù vậy, không có bất kỳ bằng chứng nào cho thấy xHelper được phân phối thông qua Google Play.
Cơ chế hoạt động của mã độc xHelper
Sau khi được cài vào điện thoại, xHelper sẽ cài đặt một cửa hậu (backdoor), từ đó một số ứng dụng được tải xuống từ máy chủ do kẻ tấn công kiểm soát. xHelper có khả năng thực thi các lệnh cao cấp, được quyền thiết lập mã độc lên hệ thống. Ngoài ra, cửa hậu còn có quyền truy cập vào những dữ liệu nhạy cảm, trong đó có cookie trình duyệt được sử dụng để đăng nhập tự động vào các trang web. Sau khi cài đặt xong, ứng dụng giả mạo sẽ biến mất khỏi màn hình chính và menu, người dùng chỉ có thể tìm thấy phần mềm này trong danh sách ứng dụng cài đặt ở phần cài đặt hệ thống.
Vào tháng Hai, Nathan Collier, nhà nghiên cứu của Malwarebytes, báo cáo về một trường hợp xóa mã độc xHelper khỏi thiết bị. Theo đó, dù phần mềm diệt virus đã loại bỏ hai biến thể xHelper và một trojan có liên quan khỏi thiết bị nhưng chỉ trong vòng một giờ, xHelper đã quay trở lại, ngay cả khi máy được khôi phục cài đặt gốc. Collier cho rằng nguyên nhân thiết bị tái nhiễm là do một tập tin không thể phát hiện tồn tại trong thư mục ẩn, và những loại thư mục này lại không thể loại bỏ theo cách thông thường. Hiện tại, chưa rõ nguyên nhân tại sao thư mục trên điện thoại bị nhiễm mã độc, tuy nhiên Collier đã loại trừ khả năng thiết bị đã được cài sẵn trước khi đến tay người dùng. Vào thời điểm đó, nhà nghiên cứu cho biết chưa tìm ra nguyên nhân tập tin không bị những phần mềm diệt virus phát hiện, cũng như cách thức tập tin độc hại hoạt động sau khi thiết bị khởi động lại.
Igor Golovin, nhà nghiên cứu của Kaspersky Lab, vừa báo cáo về cách thức hoạt động của mã độc xHelper. Theo ông, sự tái nhiễm là do các tập tin được tải xuống và cài đặt bởi trojan Triada. Trong đó, Triada sẽ root thiết bị và sử dụng “siêu đặc quyền” để cài đặt một loạt tập tin độc hại trực tiếp vào phân vùng hệ thống. Loại trojan này sẽ chuyển phân vùng hệ thống điện thoại thành “chế độ ghi”, sau đó cài đặt các tập tin độc hại lên đó. Điều này làm cho việc gỡ cài đặt ứng dụng trở nên bất khả thi vì phần mềm độc hại đã đến phân vùng hệ thống.
Tập tin install-recovery.sh sẽ chịu trách nhiệm thêm một số tập tin độc hại khác vào thư mục /system/xbin, từ đó giúp mã độc tự khởi động lại mỗi khi thiết bị khôi phục cài đặt gốc. Như vậy số lượng máy nhiễm trojan xHelper ngày càng gia tăng, và loại mã độc này lại có thể hoạt động trên các thiết bị bị nhiễm trong một thời gian dài, gần như không có cách nào xử lý.
Ban đầu, các nhà nghiên cứu nghĩ rằng có thể xóa xHelper bằng cách lặp lại phân vùng hệ thống ở chế độ ghi để loại bỏ các tập tin độc hại được lưu trữ ở đó. Tuy nhiên cuối cùng lập luận này không khả thi. Các nhà nghiên cứu cũng không thể gắn phân vùng hệ thống ở chế độ ghi để loại bỏ phần mềm độc hại vì Triada có khả năng sửa đổi các thư viện hệ điều hành quan trọng.
Đây thực sự là một bài toán khó trong lập trình. May mắn là hiện tượng tái nhiễm chỉ khả dụng trên các thiết bị chạy hệ điều hành Android cũ. Tuy nhiên, Golovin cho biết, trong một số trường hợp, xHelper có thể tồn tại rất lâu trên điện thoại hoặc máy tính bảng thông qua những tập tin độc hại được cài sẵn.
Người dùng có thể bảo vệ thiết bị bằng cách sử dụng chế độ khôi phục (recovery mode), thay thế tập tin libc.so bị nhiễm bằng tập tin hợp pháp trong phần firmware gốc. Sau đó, xóa tất cả phầm mềm độc hại khỏi phân vùng hệ thống hoặc khởi chạy lại thiết bị.
Mặt khác, khả năng root của xHelper và Triada chỉ hoạt động hiệu quả trên Android 6.0 và 7.0 (Marshmallow và Nougat). Các phiên bản Android mới hơn đã được bảo vệ, hệ thống sẽ ngăn xHelper cài đặt Triada và thay đổi tập tin trong hệ điều hành. Để bảo vệ bản thân một cách tốt nhất, người dùng nên sử dụng các thiết bị Android có hỗ trợ cập nhật bảo mật.