Hackers có thể đánh cắp mã 2FA và tin nhắn riêng tư từ điện thoại Android

Tác giả tanthanh 06/02/2026 18 phút đọc

Các thiết bị Android dễ bị tấn công mới có thể ngấm ngầm đánh cắp mã xác thực hai yếu tố, mốc thời gian vị trí và dữ liệu riêng tư khác trong vòng chưa đầy 30 giây.

Cuộc tấn công mới, được đặt tên là Pixnapping bởi nhóm các nhà nghiên cứu hàn lâm đã nghĩ ra nó, yêu cầu nạn nhân trước tiên phải cài đặt một ứng dụng độc hại trên điện thoại hoặc máy tính bảng Android. Ng dụng, không yêu cầu quyền hệ thống, sau đó có thể đọc dữ liệu một cách hiệu quả mà bất kỳ ứng dụng được cài đặt nào khác hiển thị trên màn hình. Pixnapping đã được trình diễn trên điện thoại Google Pixel và điện thoại Samsung Galaxy S25 và có khả năng có thể được sửa đổi để hoạt động trên các mẫu khác với công việc bổ sung. Google đã đưa ra các biện pháp giảm nhẹ vào tháng trước, nhưng các nhà nghiên cứu cho biết một phiên bản sửa đổi của cuộc tấn công vẫn hoạt động ngay cả khi bản cập nhật được cài đặt.

Như chụp màn hình

Các cuộc tấn công Pixnapping bắt đầu bằng việc ứng dụng độc hại gọi giao diện lập trình Android khiến trình xác thực hoặc các ứng dụng được nhắm mục tiêu khác gửi thông tin nhạy cảm đến màn hình thiết bị. Sau đó, ứng dụng độc hại sẽ chạy các hoạt động đồ họa trên từng pixel mà kẻ tấn công quan tâm. Pixnapping sau đó khai thác a kênh bên điều đó cho phép ứng dụng độc hại ánh xạ các pixel ở tọa độ đó tới các chữ cái, số hoặc hình dạng.

“Bất cứ thứ gì hiển thị khi ứng dụng mục tiêu được mở đều có thể bị ứng dụng độc hại đánh cắp bằng cách sử dụng Pixnapping,”, các nhà nghiên cứu đã viết trên một website thông tin. “Tin nhắn trò chuyện, mã 2FA, tin nhắn email, v.v. đều dễ bị tấn công vì chúng hiển thị. Nếu một ứng dụng có thông tin bí mật không hiển thị (ví dụ: nó có khóa bí mật được lưu trữ nhưng không bao giờ hiển thị trên màn hình), thông tin đó không thể bị đánh cắp bởi Pixnapping.”

Lớp tấn công mới gợi nhớ đến GPU.zip, một cuộc tấn công năm 2023 cho phép các trang web độc hại đọc tên người dùng, mật khẩu và dữ liệu hình ảnh nhạy cảm khác được hiển thị bởi các trang web khác. Nó hoạt động bằng cách khai thác các kênh phụ có trong GPU từ tất cả các nhà cung cấp lớn. Các lỗ hổng mà GPU.zip khai thác chưa bao giờ được khắc phục. Thay vào đó, cuộc tấn công đã bị chặn trong các trình duyệt bằng cách hạn chế khả năng mở iframe, một phần tử HTML cho phép một trang web (trong trường hợp GPU.zip, một trang web độc hại) nhúng nội dung của một trang web từ một miền khác.

Pixnapping nhắm mục tiêu cùng một kênh bên như GPU.zip, cụ thể là khoảng thời gian chính xác cần thiết để một khung hình nhất định được hiển thị trên màn hình.

“Điều này cho phép một ứng dụng độc hại đánh cắp thông tin nhạy cảm được hiển thị bởi các ứng dụng khác hoặc các trang web tùy ý, từng pixel,” Alan Linghao Wang, tác giả chính của bài nghiên cứu “Pixnapping: Đưa Pixel Stealing ra khỏi thời kỳ đồ đá,” giải thích trong một cuộc phỏng vấn. “Về mặt khái niệm, có vẻ như ứng dụng độc hại đang chụp ảnh màn hình nội dung màn hình mà lẽ ra nó không có quyền truy cập. Các cuộc tấn công đầu cuối của chúng tôi chỉ đơn giản là đo thời gian hiển thị trên mỗi khung hình của các hoạt động đồ họa... để xác định xem pixel là màu trắng hay không trắng.”

 

Pixnapping theo ba bước

Cuộc tấn công xảy ra theo ba bước chính. Đầu tiên, ứng dụng độc hại gọi các API Android thực hiện cuộc gọi đến ứng dụng mà kẻ tấn công muốn rình mò. Những cuộc gọi này cũng có thể được sử dụng để quét hiệu quả một thiết bị bị nhiễm cho các ứng dụng được cài đặt quan tâm. Các cuộc gọi có thể tiếp tục khiến ứng dụng được nhắm mục tiêu hiển thị dữ liệu cụ thể mà nó có quyền truy cập, chẳng hạn như chuỗi tin nhắn trong ứng dụng nhắn tin hoặc mã 2FA cho một trang web cụ th. Cuộc gọi này khiến thông tin được gửi đến đường dẫn kết xuất Android, hệ thống lấy từng pixel của ứng dụng để chúng có thể được hiển thị trên màn hình. Các cuộc gọi dành riêng cho Android được thực hiện bao gồm hoạt động, ý định, và nhiệm vụ".

Trong bước thứ hai, Pixnapping thực hiện các thao tác đồ họa trên các pixel riêng lẻ mà ứng dụng được nhắm mục tiêu đã gửi đến quy trình kết xuất. Các thao tác này chọn tọa độ của các pixel mục tiêu mà ứng dụng muốn đánh cắp và bắt đầu kiểm tra xem màu của các tọa độ đó là màu trắng hay không trắng hay nói chung hơn là màu c hay không c (đối với màu tùy ý c).

“Ví dụ: giả sử [kẻ tấn công] muốn đánh cắp một pixel là một phần của vùng màn hình nơi ký tự 2FA được Google Authenticator hiển thị,” Wang nói. “Pixel này có màu trắng (nếu không có gì được hiển thị ở đó) hoặc không phải màu trắng (nếu một phần của chữ số 2FA được hiển thị ở đó). Sau đó, về mặt khái niệm, kẻ tấn công muốn gây ra một số thao tác đồ họa có thời gian hiển thị dài nếu pixel nạn nhân mục tiêu không phải màu trắng và ngắn nếu nó có màu trắng. Ứng dụng độc hại thực hiện việc này bằng cách mở một số hoạt động độc hại (tức là cửa sổ) trước ứng dụng nạn nhân đã được mở ở Bước 1.”

Bước thứ ba đo lượng thời gian cần thiết ở mỗi tọa độ. Bằng cách kết hợp thời gian cho mỗi lần, cuộc tấn công có thể xây dựng lại hình ảnh được gửi đến đường dẫn kết xuất từng pixel một.

Như quả bóng nóng của độc giả Ars đặt nó trong các bình luận dưới đây:

Về cơ bản, kẻ tấn công hiển thị một cái gì đó trong suốt trước ứng dụng mục tiêu, sau đó sử dụng một cuộc tấn công thời gian khai thác nén dữ liệu đồ họa của GPU để thử tìm ra màu sắc của các pixel. Nó không đơn giản như “cung cấp cho tôi các pixel của một ứng dụng khác hiển thị trên màn hình ngay bây giờ.” Đó là lý do tại sao phải mất thời gian và có thể quá chậm để phù hợp trong cửa sổ 30 giây của ứng dụng Google Authenticator.

Trong một cuộc phỏng vấn trực tuyến, đồng tác giả bài báo Ricardo Paccagnella đã mô tả cuộc tấn công chi tiết hơn:

Bước 1: Ứng dụng độc hại gọi ứng dụng mục tiêu để hiển thị một số nội dung hình ảnh nhạy cảm.

Bước 2: Ứng dụng độc hại sử dụng API Android để “vẽ over” nội dung trực quan đó và khiến kênh bên (trong trường hợp của chúng tôi là GPU.zip) bị rò rỉ dưới dạng hàm màu của từng pixel được hiển thị ở Bước 1 (ví dụ: chỉ kích hoạt nếu màu pixel là c).

Bước 3: Ứng dụng độc hại theo dõi các tác dụng phụ của Bước 2 để suy luận, ví dụ: nếu màu của các pixel đó là c hay không, từng pixel một.

Bước 2 và 3 có thể được thực hiện khác nhau tùy thuộc vào kênh bên mà kẻ tấn công muốn khai thác. Trong các cuộc khởi tạo của chúng tôi trên điện thoại Google và Samsung, chúng tôi đã khai thác kênh bên GPU.zip. Khi sử dụng GPU.zip, việc đo thời gian render trên mỗi frame là đủ để xác định xem màu sắc của mỗi pixel có phải là c hay không. Các cuộc tấn công trong tương lai có thể sử dụng các kênh bên khác, nơi có thể cần kiểm soát việc quản lý bộ nhớ và truy cập các bộ hẹn giờ chi tiết (xem Phần 3.3 của bài báo). Khi đó Pixnapping vẫn sẽ hoạt động: kẻ tấn công sẽ chỉ cần thay đổi cách thực hiện Bước 2 và 3.

Khoảng thời gian cần thiết để thực hiện cuộc tấn công phụ thuộc vào một số biến số, bao gồm bao nhiêu tọa độ cần đo. Trong một số trường hợp, không có thời hạn khó khăn để có được thông tin mà kẻ tấn công muốn đánh cắp. Trong các trường hợp khác—chẳng hạn như đánh cắp mã 2FA—, mỗi giây đều có giá trị vì mỗi giây chỉ có giá trị trong 30 giây. Trong bài báo, các nhà nghiên cứu giải thích:

Để đáp ứng thời hạn 30 giây nghiêm ngặt cho cuộc tấn công, chúng tôi cũng giảm số lượng mẫu trên mỗi pixel mục tiêu xuống 16 (so với 34 hoặc 64 được sử dụng trong các cuộc tấn công trước đó) và giảm thời gian nhàn rỗi giữa các lần rò rỉ pixel từ 1,5 giây xuống 70 mili giây. Để đảm bảo rằng kẻ tấn công có đầy đủ 30 giây để rò rỉ mã 2FA, việc triển khai của chúng tôi chờ đợi sự khởi đầu của khoảng thời gian toàn cầu 30 giây mới, được xác định bằng đồng hồ hệ thống.

... Chúng tôi sử dụng cuộc tấn công đầu cuối của chúng tôi để rò rỉ 100 mã 2FA khác nhau từ Google Authenticator trên mỗi điện thoại Google Pixel của chúng tôi. Cuộc tấn công của chúng tôi khôi phục chính xác mã 2FA gồm 6 chữ số đầy đủ lần lượt là 73%, 53%, 29% và 53% các bản dùng thử trên Pixel 6, 7, 8 và 9. Thời gian trung bình để khôi phục mỗi mã 2FA lần lượt là 14,3, 25,8, 24,9 và 25,3 giây cho Pixel 6, Pixel 7, Pixel 8 và Pixel 9. Chúng tôi không thể rò rỉ mã 2FA trong vòng 30 giây bằng cách sử dụng triển khai của chúng tôi trên thiết bị Samsung Galaxy S25 do tiếng ồn đáng k. Chúng tôi để lại cuộc điều tra sâu hơn về cách điều chỉnh cuộc tấn công của chúng tôi để hoạt động trên thiết bị này cho công việc trong tương lai.

Trong một email, đại diện của Google đã viết, “Chúng tôi đã phát hành bản vá cho CVE-2025-48561 trong bản tin bảo mật Android tháng 9, giúp giảm thiểu một phần hành vi này. Chúng tôi đang phát hành một bản vá bổ sung cho lỗ hổng này trong bản tin bảo mật Android tháng 12. Chúng tôi chưa thấy bất kỳ bằng chứng nào về việc khai thác trong tự nhiên.”

Pixnapping là nghiên cứu hữu ích ở chỗ nó thể hiện những hạn chế của bảo mật và đảm bảo quyền riêng tư của Google rằng một ứng dụng được cài đặt không thể truy cập dữ liệu thuộc về một ứng dụng khác. những thách thức trong việc thực hiện cuộc tấn công để đánh cắp dữ liệu hữu ích trong các tình huống thực tế, tuy nhiên, có khả năng là đáng k. Trong thời đại mà thanh thiếu niên có thể đánh cắp bí mật từ các công ty Fortune 500 chỉ bằng cách hỏi độc đáo, tiện ích của các cuộc tấn công phức tạp và hạn chế hơn có lẽ ít giá trị hơn.

Tác giả tanthanh Admin
Bài viết trước Hàng nghìn khách hàng gặp nguy hiểm sau khi hacker nhà nước càn quét mạng của F5

Hàng nghìn khách hàng gặp nguy hiểm sau khi hacker nhà nước càn quét mạng của F5

Bài viết tiếp theo

Các khu vực đáng tin cậy của Intel và AMD, nền tảng cho an ninh mạng, rơi vào các cuộc tấn công vật lý

Các khu vực đáng tin cậy của Intel và AMD, nền tảng cho an ninh mạng, rơi vào các cuộc tấn công vật lý
Viết bình luận
Thêm bình luận

Bài viết liên quan

Thông báo

0917111899