Lỗ hổng trên Android cho phép chèn mã độc vào ứng dụng mà không cần thay đổi ký xác thực

Ginny Hà

VIP Members
04/06/2014
88
689 bài viết
Lỗ hổng trên Android cho phép chèn mã độc vào ứng dụng mà không cần thay đổi ký xác thực
Hàng triệu thiết bị Android đang bị đe dọa bởi một lỗ hổng an ninh nghiêm trọng, cho phép hacker bí mật chèn mã độc vào các ứng dụng hợp pháp trên smartphone.

Lỗ hổng tên gọi 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ứng thư xác minh của các ứng dụng đó. Từ đó, hacker có thể phát tán ứng dụng hợp pháp đã được chèn thêm mã độc.

Lỗ hổng CVE-2017-13156 được các chuyên gia GuardSquare phát hiện và thông báo tới Google từ hè và được vá cùng một số lỗ hổng khác trong bản cập nhật tháng 12 của Google.

Tuy nhiên, điều đáng lo ngại là phần lớn người dùng Android sẽ chưa nhận được cá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ị đưa ra bản cập nhật. Nói cách khác, một số lượng lớn người dùng smartphone có thể bị hacker tấn công qua khai thác lỗ hổng này.

Lỗ hổng ảnh hưởng đến các ứng dụng sử dụng lược đồ ký số APK v1 được cài đặt trên các thiết bị chạy Android phiên bản 5 (Lollipop) và 6 (Marshmallow).

Cách thức hoạt động của Janus

01.png

Lỗ hổng tồn tại trong cách thức Android xử lý cài đặt APK, cho phép thêm mã vào tệp APK mà không ảnh hưởng đến chữ ký của ứng dụng.

Tệp APK hợp lệ là loại tệp lưu trữ (archive) bao gồm mã ứng dụng, tài nguyên, chữ ký, chứng chỉ và tệp kê khai.

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 tiến trình giúp thực thi các tệp lưu trữ APK chứa mã và tệp ứng dụng được nén với định dạng DEX (Dalvik Executable).

Khi người dùng cài đặt ứng dụng Android hoặc bản cập nhật, thiết bị sẽ kiểm tra thông tin tiêu đề của APK để xác định xem archive có chứa mã trong tệp DEX đã nén hay không.

Nếu tiêu đề archive APK chứa tệp DEX, máy ảo tiến trình sẽ dịch ngược mã và thực hiện, nếu không sẽ chạy mã như tệp APK thông thường.

Một archive APK có thể chứa đồng thời các tệp DEX cũng như mã ứng dụng thông thường, mà không ảnh hưởng đến hiệu lực và chữ ký của nó.

Các chuyên gia nhận thấy việc có thể thêm dung lượng mã do thiếu kiểm tra toàn vẹn tệp tin cho phép kẻ tấn công chèn mã độc vào archive APK, sau đó lừa người dùng cài đặt ứng dụng để thực thi cả hai mã trên thiết bị đích mà không bị phát hiện.

Nói cách khác, thay vì phải chỉnh sửa mã ứng dụng hợp pháp, lỗ hổng cho phép kẻ tấn công chèn một số dòng mã độc hại vào ứng dụng ban đầu.

set_android.png

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

Sau khi tạo ra các phiên bản ứng dụng độc hại, tin tặc có thể phát tán bằng các phương thức khác nhau như spam email, phát tán trên kho ứng dụng bên thứ ba, đưa ra bản cập nhật giả mạo, social engineering và cả Man-in-the-Middle.

Theo các chuyên gia, “việc lừa một số người dùng tương đối dễ dàng vì ứng dụng vẫn giống “y như” ban đầu và có chữ ký hợp lệ".

Cũng theo các chuyên gia, tấn công Man-in-the-Middle có vẻ hấp dẫn hơn vì cho phép hacker đẩy bộ cài cho các ứng dụng cập nhật thông qua kết nối HTTP không mã hóa.

GuardSquare giải thích: “Khi người sử dụng download một bản cập nhật của một ứng dụng, Android runtime sẽ so sánh chữ ký của ứng dụng đó với chữ ký của phiên bản gốc. Nếu chữ ký phù hợp, Android runtime sẽ tiến hành cài đặt bản cập nhật”.

Ứng dụng được cập nhật kế thừa quyền của ứng dụng gốc. Do đó, kẻ tấn công có thể sử dụng lỗ hổng Janus để đánh lừa quá trình cập nhật và lấy được mã với các quyền truy cập mạnh mẽ trên thiết bị mà người dùng không hề nghi ngờ”.

Các công cụ kỹ thuật dịch ngược phổ biến không giải mã được đoạn mã độc. Người dùng nên thận trọng khi tải các ứng dụng và cập nhật.

Vì lỗ hổng không ảnh hưởng đến Android 7 (Nougat) và phiên bản mới nhất hỗ trợ định dạng chữ ký APK phiên bản 2, nên người dùng đang chạy các phiên bản Android cũ hơn nên nâng cấp hệ điều hành thiết bị của mình.

Trong trường hợp nhà sản xuất thiết bị của bạn chưa cung cấp các bản vá an ninh hay phiên bản Android mới nhất thì bạn không nên cài đặt ứng dụng và bản cập nhật ngoài Google Play để giảm thiểu nguy cơ bị tấn công.

Các chuyên gia cũng khuyến cáo các nhà phát triển Android nên áp dụng ký số v2 để đảm bảo ứng dụng không bị chèn mà độc.

Theo The Hacker News
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  • Thích
Reactions: whf
Bên trên