Apple’s Face ID và mặt nạ 3D BKAV
Tin khá nóng hổi mấy ngày nay là việc BKAV có thể tạo mặt nạ 3D để qua mặt tính năng Face ID trên iPhone X. Do demo video của BKAV có nhiều điểm còn gây tranh cãi nên Trà Đá Hacking xin đưa một số nhận định ở góc nhìn kỹ thuật về việc này.
Ngày 9/11, BKAV đưa ra một video trên youtube trong đó ông Tuấn Anh, Phó chủ tịch BKAV dùng mặt nạ do BKAV chế tạo mở khóa chiếc iPhone X thông qua Face ID.
Tuy nhiên, video này lại gây nhiều tranh cãi vì không thể hiện được trọn vẹn quy trình từ một khuôn mặt được đăng ký mới hoàn toàn với Face ID rồi sau đó bị qua mặt bởi chiếc mặt nạ. Do tính năng AI trong Face ID có thể tự học thay đổi trên khuôn mặt theo thời gian, có nghi ngờ cho rằng BKAV đã gian lận bằng cách cho Face ID học cả khuôn mặt của ông Tuấn Anh lẫn chiếc mặt nạ nên cả mặt thật và mặt nạ đều có thể mở máy (điều này có thể thực hiện thông qua việc nhập PassCode sau khi dùng chiếc mặt nạ mở máy không thành công)
Sau đó, BKAV có cung cấp thêm FAQ và tổ chức họp báo sáng 15/11. Dựa vào các thông tin BKAV đưa ra, chúng tôi dự đoán BKAV đã học cách Face ID làm việc và làm mặt nạ thông qua quá trình như sau:
- Xác định các thành phần quan trọng trên khuôn mặt được AI của Face ID sử dụng để nhận diện thông qua việc thử sai đối với Face ID khi che đi một số thành phần trên khuôn mặt (mắt, mũi, miệng…). [a]
- Tạo mặt nạ 3D từ ảnh 3D, xây dựng và tinh chỉnh các thành phần của mặt nạ (mắt, miệng in ảnh 2D, mũi silicon) thông qua quá trình ghép phần làm giả vào mặt cũng như đeo một phần mặt nạ lên mặt để thử sai khi mở máy. [b]
- Tinh chỉnh mặt nạ đến khi mở khóa thành công thông qua thông tin side-channel là hiệu ứng màn hình nháy rung lên 1 cái khi Face ID nhận diện cái mặt nạ gần chính xác với khuôn mặt (cái này ai có máy confirm thử). [c]
- Tổng thời gian cho việc tinh chỉnh mặt nạ này theo BKAV là mất 8–10 tiếng. Mỗi khi sai đến 3–4 lần thì BKAV sẽ dùng mặt thật để mở máy tránh trường hợp máy bị lock sau 5 lần sai. Không dùng PassCode (theo BKAV). Face ID được đặt ở chế độ “Require Attention”. [d]
(Theo Tinh Tế thì khi thử dùng một iPhone X mới hoàn toàn học mặt của ông Tuấn Anh rồi quét mặt nạ thì Face ID không nhận. BKAV cho biết nó sẽ nhận nhưng họ sẽ phải cân chỉnh lại mặt nạ hoặc cân chỉnh lại góc của iPhone cho phù hợp.)
Có thể thấy rằng BKAV đã đầu tư thực hiện việc nghiên cứu này rất nghiêm túc và cách tiếp cận cũng rất hợp lý. Tuy nhiên, với cách thực hiện của BKAV thì còn phải tùy vào cách AI trong Face ID hoạt động như thế nào để xác định mức độ nghiêm trọng. Có một số giả thiết sẽ làm giảm tính nghiêm trọng của phát hiện như sau:
- Quá trình ghép một phần làm giả lên mặt thật, đeo một phần mặt nạ lên mặt thật (Ảnh 2) để mở máy nếu thành công nhiều lần sẽ khiến cho AI của Face ID ghi nhận các điểm đặc trưng (features) của phần làm giả, phần mặt nạ như là một phần khuôn mặt thật của ông Tuấn Anh. Điều này sẽ làm cho cơ hội qua mặt Face ID của chiếc mặt nạ lớn hơn rất nhiều nếu số lần thực hiện như trên đủ nhiều. Đây chính là quá trình dạy dần cho Face ID học mặt người thật có nhiều điểm giống cái mặt nạ. Giả thiết này khả năng xảy ra rất cao vì đây chính là cách AI học thay đổi khuôn mặt của người.
- Theo tài liệu Face ID của Apple trong phần Face ID Security có đoạn Face ID có thể sẽ lưu lại “The mathematical representations of your face calculated during some unlock attempts if Face ID deems them useful to augment future matching”. Liệu sau 3–4 lần mở khóa không thành công liên tiếp (gần đúng) với mặt nạ rồi dùng mặt thật mở khóa ngay sau đó (theo mô tả các bước thực hiện của BKAV ở [d]) có khiến cho AI của Face ID ghi nhận một phần đặc trưng của mặt nạ từ các lần fail trước đó để tăng trải nghiệm người dùng hay không?
The following Face ID data is saved, encrypted only for use by the Secure Enclave, during normal operation:
- The mathematical representations of your face calculated during enrollment.
- The mathematical representations of your face calculated during some unlock attempts if Face ID deems them useful to augment future matching.
Kết Luận
Nếu AI của Face ID có hoạt động như giả thiết [1] hoặc giả thiết [2] hoặc cả hai giả thiết ở trên thì cách BKAV thực hiện là một dạng tấn công thiếu thực tế, khó thực hiện và ít nguy hiểm do AI của Face ID phải được dạy học các điểm đặc trưng của các thành phần trên chiếc mặt nạ rất nhiều lần. Người dùng không phải lo lắng gì trong trường hợp này.
Nếu giả thiết [1] và [2] đều sai và BKAV cũng thực sự không nhập PassCode (trường hợp dùng PassCode chắc chắn Face ID sẽ học luôn thêm cái mặt nạ theo tài liệu của Apple) thì phát hiện của BKAV là một phát hiện nghiêm trọng và Apple cần phải khắc phục và đưa ra bản vá cũng như cảnh báo đối với người dùng sớm.
Theo bạn thì BKAV thực sự qua mặt được Face ID hay AI của Face ID bị BKAV ép học từng phần của cái mặt nạ?