Kỹ thuật tấn công BrutePrint mất bao lâu để mở khóa 10 loại điện thoại thông minh khác nhau?
Được đặt tên là BrutePrint, cuộc tấn công yêu cầu có quyền kiểm soát vật lý đối với thiết bị khi thiết bị bị mất, bị đánh cắp, tạm thời bị giao nộp hoặc không được giám sát. Mục đích: để có được khả năng thực hiện một cuộc tấn công vét cạn thử một số lượng lớn các lần đoán dấu vân tay cho đến khi tìm thấy một dấu vân tay có thể mở khóa thiết bị. Cuộc tấn công khai thác các lỗ hổng và điểm yếu trong SFA (hệ thống xác thực dấu vân tay trên điện thoại thông minh).
Khái quát về BrutePrint
BrutePrint là một cuộc tấn công tốn ít chi phí cho phép mọi người mở khóa thiết bị bằng cách khai thác các lỗ hổng và điểm yếu khác nhau trong hệ thống xác thực dấu vân tay của điện thoại thông minh. Quy trình làm việc của các hệ thống này được mô tả bằng sơ đồ dưới đây.
Thiết bị chính cần cho BrutePrint là một bảng mạch trị giá 15 USD có chứa một bộ vi điều khiển STM32F412 (1) của STMicroelectronics, một công tắc tương tự hai kênh, hai chiều được gọi là RS2117 (2), một thẻ flash SD với 8GB bộ nhớ (3) và đầu nối bo mạch chủ kết nối bo mạch chủ điện thoại với mạch in linh hoạt của cảm biến vân tay (4).
Ngoài ra, cuộc tấn công yêu cầu cơ sở dữ liệu về dấu vân tay, tương tự như cơ sở dữ liệu được sử dụng trong nghiên cứu hoặc bị rò rỉ trong các vụ xâm vi phạm trong thế giới thực (ví dụ như vụ lộ dữ liệu của BioStar2).
Các bước của tấn công BrutePrint có thể được mô tả tóm tắt trong hình dưới đây.
Với người dùng, điều quan trọng là kiểu tấn công mới có tác dụng thế nào với các mẫu điện thoại khác nhau. Các nhà nghiên cứu đã thử nghiệm với 10 mẫu điện thoại sau: Xiaomi Mi 11 Ultra, Vivo X60 Pro, OnePlus 7 Pro, OPPO Reno Ace, Samsung Galaxy S10+, OnePlus 5T, Huawei Mate30 Pro 5G, Huawei P40, Apple iPhone SE và Apple iPhone 7.
Trong các mẫu điện thoại được thử, Galaxy S10+ bị hack trong thời gian ngắn nhất (từ 0,73 đến 2,9 giờ) và Mi11 khó hack nhất với thời gian từ 2,78 đến 13,89 giờ. Thời gian cần thiết phụ thuộc vào số vân tay được cấp quyền.
Dù kết quả cụ thể có khác nhau nhưng BrutePrint có thể thử số lượng dấu vân tay xác thực không giới hạn trên tất cả 8 kiểu máy Android được thử nghiệm. Tùy thuộc vào các yếu tố khác nhau, bao gồm khung xác thực dấu vân tay của một điện thoại cụ thể và số lượng dấu vân tay được lưu trữ để xác thực, sẽ mất từ khoảng 40 phút đến 14 giờ.
Tấn công BrutePrint với những chiếc điện thoại bị đánh mất
Không giống như xác thực bằng mật khẩu, yêu cầu khớp đúng giữa nội dung được nhập và nội dung được lưu trữ trong cơ sở dữ liệu, xác thực dấu vân tay xác định sự khớp bằng cách sử dụng ngưỡng tham chiếu. Kết quả là, một cuộc tấn công brute-force dấu vân tay thành công chỉ yêu cầu một hình ảnh đầu vào cung cấp một hình ảnh gần đúng có thể chấp nhận được trong cơ sở dữ liệu dấu vân tay. BrutePrint thao túng tỷ lệ chấp nhận sai (FAR) để tăng ngưỡng sao cho ít hình ảnh gần đúng hơn được chấp nhận.
BrutePrint hoạt động như một kẻ ở giữa cảm biến vân tay và môi trường thực thi đáng tin cậy, đồng thời khai thác các lỗ hổng cho phép đoán không giới hạn.
Trong một cuộc tấn công BrutePrint, kẻ tấn công tháo nắp sau của thiết bị và gắn bảng mạch trị giá 15 USD có cơ sở dữ liệu dấu vân tay được tải vào bộ lưu trữ flash. Sau đó, chúng phải chuyển đổi cơ sở dữ liệu thành từ điển dấu vân tay được định dạng để hoạt động với cảm biến cụ thể được sử dụng bởi điện thoại mục tiêu. Quá trình này sử dụng chuyển đổi kiểu nơ-ron khi chuyển đổi cơ sở dữ liệu thành từ điển có thể sử dụng được. Quá trình này làm tăng cơ hội khớp dấu vân tay.
Với từ điển dấu vân tay đã có, thiết bị tấn công hiện có thể nhập từng mục nhập vào điện thoại được nhắm mục tiêu. Thông thường, một biện pháp bảo vệ được gọi là giới hạn số lần thử sẽ khóa điện thoại sau khi một số lần thử đăng nhập không thành công. BrutePrint hoàn toàn có thể bỏ qua giới hạn này trong tám kiểu máy Android được thử nghiệm, nghĩa là kẻ tấn công có thể thử vô số lần. Trên hai iPhone, cuộc tấn công có thể mở rộng số lần thử lên 15, cao gấp ba so với năm lần cho phép thông thường.
Tấn công BrutePrint thành công là nhờ khai thác hai lỗ hổng zero-day trong khung xác thực dấu vân tay trên điện thoại thông minh của hầu hết tất cả các điện thoại thông minh. Các lỗ hổng này được gọi là CAMF (không thể hủy sau khi so khớp) và MAL (khớp sau khi khóa), do các lỗi logic trong khung xác thực. Khai thác CAMF làm mất hiệu lực tổng kiểm tra của dữ liệu vân tay được truyền và khai thác MAL suy ra kết quả trùng khớp thông qua các cuộc tấn công kênh kề.
Xác thực dấu vân tay trên điện thoại thông minh sử dụng SPI (giao diện ngoại vi nối tiếp) để kết nối cảm biến và bộ xử lý thiết bị. BrutePrint hoạt động như một kẻ đứng giữa khai thác kết nối này và lấy dữ liệu để đánh cắp hình ảnh dấu vân tay được lưu trữ bởi thiết bị được nhắm mục tiêu.
BrutePrint chiếm đoạt thành công dấu vân tay được lưu trữ trên thiết bị Android nhưng không thành công với iPhone là kết quả của một sự khác biệt thiết kế đơn giản: iOS mã hóa dữ liệu còn Android thì không.
Các nhà nghiên cứu viết: “Chúng tôi thu thập các tín hiệu SPI thông qua một bộ phân tích logic và định vị các tín hiệu dày đặc đó trên MISO (chân logic tín hiệu Master In Slave Out) để xác định FDA (fingerprint data acquisition). Vì dữ liệu không được mã hóa nên chúng tôi có thể thử phương pháp encode trong nhiều lần thử suy luận. Ví dụ, hình dạng hình ảnh có thể được đoán thông qua tính tổng số pixel và việc điều chỉnh có thể được thực hiện theo độ lệch định kỳ của các giá trị ngoại lệ (nghĩa là các giá trị như tổng kiểm tra, khác với pixel hình ảnh). Đối với thiết bị bị tấn công, mẫu đầu tiên được truyền trong 4 khung hình trong khi ba mẫu cuối cùng sử dụng cùng một định dạng với 13 khung hình. Mỗi khung hình cuối cùng ngắn vì nó truyền dữ liệu dấu vân tay còn lại. Các lệnh của FDA được xác định trước mỗi khung hình. Lấy ví dụ mẫu đầu tiên, các lệnh của FDA luôn là 0xF08800 và chúng tôi hiển thị cấu trúc (bỏ qua dấu tách khung) của dữ liệu dấu vân tay trong Hình 6. Cấu trúc không phức tạp khi hình ảnh thước xám (grey-scale) được lưu trữ ở 16 bpp và với mỗi dòng, một số sê-ri và tổng kiểm tra CRC16 được đính kèm ở cả hai đầu. khung cuối cùng ngắn vì nó truyền dữ liệu dấu vân tay còn lại”.
BrutePrint là tác phẩm của hai nhà nghiên cứu bảo mật Yu Chen của Tencent và Yiling He của Đại học Chiết Giang, Trung Quốc. Họ đã đề xuất một số thay đổi phần mềm hoặc phần cứng được thiết kế để giảm thiểu các cuộc tấn công. Một thay đổi là ngăn chặn việc bỏ qua số lần thử bằng cách kiểm tra các khai thác CAMF, đặt giới hạn bổ sung cho các lần hủy/lỗi. Một cách khắc phục khác được đề xuất là ngăn chặn các cuộc tấn công “kẻ tấn công đứng giữa” bằng cách mã hóa dữ liệu truyền giữa cảm biến vân tay và bộ xử lý thiết bị. Cuối cùng, các nhà nghiên cứu đề xuất những thay đổi khiến quá trình thu thập dấu vân tay hoạt động nhất quán cho dù kết quả đối chiếu có trùng khớp hay không.
Các nhà nghiên cứu viết: “Mối đe dọa chưa từng có cần được giải quyết với sự hợp tác của cả nhà sản xuất điện thoại thông minh và cảm biến vân tay, đồng thời các vấn đề cũng có thể được giảm thiểu trong các hệ điều hành. Chúng tôi hy vọng công việc này có thể truyền cảm hứng cho cộng đồng để cải thiện an ninh của SFA”.
Nguyễn Anh Tuấn
(theo Ars Technica)