Sau khi bị khóa sim, David Schütz vô tình phát hiện việc đổi sim có thể khiến điện thoại Google không hỏi mật khẩu mở khóa máy.
David Schütz cho biết anh đã báo cáo cho Google từ tháng 6, nhưng chỉ vừa được khắc phục hôm 7/11. Anh Schütz khuyến nghị người dùng Android nên cập nhật bản vá mới nhất cho thiết bị để tránh bị truy cập trái phép vào máy.
Lỗ hổng này khiến nhiều mẫu máy có thể bị kẻ gian mở khóa màn hình bằng cách lắp sim khác và thực hiện 5 bước đơn giản trong vài phút.
Phát hiện tình cờ
Dù là chuyên gia bảo mật, David Schütz không trực tiếp nghiên cứu về hệ điều hành Android, mà chỉ phát hiện lỗ hổng này một cách tình cờ nhờ việc sử dụng Pixel 6. Sau một lần hết sạch pin, điện thoại khởi động lại yêu cầu người dùng nhập mã PIN của sim. Do không nhớ và nhập sai 3 lần, Schütz bị khóa sim và phải nhập mã PUK nếu muốn mở khóa.
PUK là một đoạn mã bảo vệ sim dài 8 ký tự, thường được in trên vỏ sim khi người dùng mua từ nhà mạng. Nhà nghiên cứu bảo mật này cho biết anh đã phải tìm vỏ bộ sim và nhập mã PUK, đồng thời thay đổi mã PIN mới để mở khóa thuê bao. Tuy nhiên, điều khiến Schütz bất ngờ là sau khi mở khóa sim, chiếc Pixel 6 chỉ yêu cầu anh dùng vân tay để mở máy.
"Điều này đáng lẽ không được xảy ra. Vì sau khi khởi động lại, các thiết bị sẽ yêu cầu người dùng nhập mật khẩu mở máy ít nhất một lần để giải mã", Schütz đánh giá. Việc nhập mật khẩu sau khi khởi động lại cũng là quy trình bắt buộc trên mọi thiết bị chạy iOS hay Android hiện nay.
Nhà nghiên cứu sau đó tái hiện quy trình nhiều lần để khẳng định lỗi và làm báo cáo. Trong một lần "quên" khởi động lại, anh phát hiện ra thiết bị thậm chí không hỏi vân tay mà cho phép người dùng truy cập thẳng vào màn hình chính chỉ với mã mở khóa sim.
Trang Bleeping Computer đánh giá lỗ hổng chỉ có thể bị khai thác nếu kẻ gian kiểm soát được thiết bị phần cứng. Tuy nhiên, chúng sẽ có tác động lớn trong một số trường hợp như máy bị đánh cắp hoặc các cơ quan thực thi pháp luật điều tra tội phạm. Cục Điều tra Liên bang Mỹ FBI từng phải đấu tranh với Apple để làm điều tương tự.
Theo công bố của Google, lỗ hổng này ảnh hưởng đến tất cả các thiết bị chạy Android phiên bản 10, 11, 12 và 13 nếu chưa cập nhật bản vá tháng 11. Để khai thác, kẻ gian chỉ cần sử dụng thẻ sim của chúng (vốn có sẵn mà PUK), cố tình nhập sai vân tay và mã PIN nhiều lần để bị khóa sim, sau đó nhập mã PUK để mở khóa sim, từ đó truy cập được vào máy không giới hạn.
Sự chậm trễ của Google
Theo các chuyên gia bảo mật, cơ chế của Android sử dụng các lớp "màn hình bảo mật", như lớp màn hình mật khẩu, màn hình quét vân tay, màn hình nhập mã PIN, mã PUK và được xếp chồng lên nhau. Khi người dùng nhập đúng mật khẩu của lớp màn hình nào đó, hàm "dismiss" sẽ được gọi ra để bỏ qua lớp màn hình đó.
Tuy nhiên có sự xung đột trong các câu lệnh gọi hàm "dismiss", khiến hàm này được gọi hai lần bởi thành phần giám sát trạng thái sim và thành phần PUK. Điều này khiến hệ điều hành không chỉ tắt màn hình bảo mật PUK, mà còn bỏ qua lớp bảo mật tiếp theo là "keyguard", khiến tất cả các lớp bảo vệ phía sau đều bị loại bỏ.
Google đã mất hơn năm tháng để sửa vấn đề này.
Theo lời kể của David Schütz, khi phát hiện lỗ hổng vào tháng 6, anh báo cho Google và được bộ phận Android VRP tiếp nhận ngay lập tức. Schütz dự định sớm chia sẻ phát hiện của mình lên blog cá nhân sau khi Google tung ra bản vá, đồng thời có thể nhận thưởng từ chương trình săn lỗi bảo mật của Google. Với các lỗ hổng có sức ảnh hưởng như trên, người báo cáo đầu tiên có thể nhận 100 nghìn USD.
Tuy nhiên một tháng sau, anh nhận được thông báo rằng lỗ hổng đã được một nhà nghiên cứu khác báo cáo trước và Google đang tiến hành sửa lỗi. Điều này đồng nghĩa Schütz không được thưởng và cũng không thể công bố lỗ hổng.
Hai tháng sau, khi tham gia một sự kiện bảo mật của Google tại văn phòng hãng, Schütz phát hiện lỗi vẫn chưa được sửa. Nhà nghiên cứu sau đó đã trao đổi trực tiếp với một số người thuộc bộ phận Android VRP và gây sức ép phải sửa sớm, nếu không anh sẽ công khai chúng vào cuối tháng 10.
Cuối cùng, lỗ hổng được Google công bố vào đầu tháng 11, với tên mã CVE-2022-20465. Schütz dù không phải là người phát hiện đầu tiên, nhưng được thưởng 70 nghìn USD nhờ các báo cáo của mình. Người dùng các thiết bị Android, đặc biệt là máy Pixel được khuyến nghị cập nhật hệ điều hành phiên bản mới nhất để sửa lỗi.
|