Lỗ hổng trên Android cho phép kẻ tấn công cài đặt ứng dụng độc hại lên trên máy nạn nhân

(13/12/2017)
Hàng triệu thiết bị android có chứa lỗ hổng nghiêm trọng cho phép kẻ tấn công bí mật cài đặt lại một ứng dụng hợp lệ có chứa mã độc lên trên máy nạn nhân!


Ảnh minh họa

Lỗ hổng có tên gọi là Janus cho phép kẻ tấn công sửa đổi mã ứng dụng Android mà không ảnh hưởng đến chứ ký số của ứng dụng. Từ đó cho phép kẻ tấn công có thể phát tán ứng dụng độc hại tương tự như ứng dụng hợp lệ ban đầu. Lỗ hổng được đánh mã CVE-2017-13156 do công ty bảo mật thiết bị di động GuardSquare phát hiện cũng như báo cáo với Google trong mùa hè vừa qua và đã được Google vá lỗi trong bản vá bảo mật cập nhật tháng 12.

Tuy nhiên, phần đáng lo ngại nhất là đa số người dùng Android sẽ không nhận được bản vá này trong vài tháng tới cho đến khi các nhà sản xuất thiết bị của họ phát hành bản cập nhật riêng. Thực tế cho thấy chỉ có những người dùng dòng sản phẩm cao cấp của các hãng mới nhận được bản vá cập nhật từ nhà sản xuất. Do đó, phần lớn mọi người dùng android sẽ có nguy cơ bị tin tặc tấn công thông qua lỗ hổng này. Lỗ hổng ảnh hưởng đến những ứng dụng sử dụng cơ chế ký version 1 được cài đặt trên android phiên bản 5(Lollipop) và 6 (Marshmallow).

Cơ chế hoạt động lỗ hổng


Lỗ hổng nằm trong cách thức Android cài đặt gói APK của một ứng dụng đã cho phép thêm các đoạn mã vào trong tập tin APK mà không ảnh hưởng đến chữ ký của ứng dụng đó.

Để hiểu rõ quá trình này, bạn cần phải có kiến thức cơ bản về tập tin APK:

Tập tin APK là một loại tệp lưu trữ giống như tập tin Zip. Trong đó có chứa mã ứng dụng, tài nguyên, chữ ký, chứng chỉ và tập tin mô tả. Các phiên bản trước của hệ điều hành Android 5.0 (Lollipop) và 6.0 (Marshmallow) cùng hỗ trợ một máy ảo giúp thực thi tập tin APK được nén với định dạng DEX (Dalvik Executable). Mỗi khi thực hiện cài đặt hoặc cập nhật một ứng dụng, thiết bị sẽ kiểm tra tiêu đề tập tin APK và xác định nó có chứa mã ứng dụng dưới dạng tập tin dex hay không.

Nếu tiêu đề APK cho biết có chứa tập tin DEX, máy ảo sẽ dịch ngược và thực thi đoạn mã đó ngược lại nó sẽ thực thi như tập tin apk bình thường. Lợi dụng cơ chế này, chuyên gia đã tìm ra cách có thể thêm đoạn mã để vượt qua cơ chế kiểm tra tính toàn vẹn cho phép kẻ tấn công tiêm mã độc hại vào trong tập tin DEX chứa trong tập tin APK mà không ảnh hưởng đến chữ ký. Cuối cùng là lừa trình cài đặt thực thi cả hai đoạn mã trên thiết bị nạn nhân mà không bị phát hiện. Nói cách khác, lỗ hổng này cho phép kẻ tấn công thêm đoạn mã độc vào ứng dụng hợp lệ ban đầu.

Kịch bản tấn công

Sau khi tạo ra ứng dụng độc hại, tin tặc có thể phân phối chúng thông qua các kiểu tấn công khác nhau bao gồm gửi thư rác, phát tán qua cửa hàng ứng dụng bên thứ ba giả mạo làm bản cập nhật của ứng dụng hợp lệ, tấn công lừa đảo…Theo các nhà nghiên cứu có thể dễ dàng lừa nạn nhân cài đặt ứng dụng này bởi vì ứng dụng vẫn có giao diện và chứ ký số chính xác như ứng dụng ban đầu.

May mắn thay, lỗ hổng không ảnh hưởng đến Android 7 (Nougat) phiên bản mới nhất hoặc ứng dụng sử dụng cơ chế ký version2. Người dùng đang sử dụng các phiên bản thấp hơn cần cập nhật bản vá bảo mật sớm nhất từ nhà sản xuất hoặc nâng cấp hệ điều hành android lên phiên bản 7.

Trong trường hợp không thể nâng cấp được thiết bị hoặc không có bản vá từ nhà sản xuất, người dùng cần phải tải ứng ứng từ những nguồn đảm bảo như Google Play để giảm thiểu nguy cơ bị tấn công. Ngoài ra, các nhà nghiên cứu cũng khuyên nhà phát triển nên sử dụng cơ chế ký version2 để đảm bảo ứng dụng của họ không bị giả mạo.

Theo Genk


Tin khác