Hôm nay, làng công nghệ Việt Nam được một bữa rôm rả khi Bkav tổ chức họp báo “Mặt nạ có thể mở khoá Face ID iPhone X”. Trước đó trên trang chủ, Bkav đưa bài viết “Bị đánh bại bởi mặt nạ của Bkav, Face ID không đủ mức độ an ninh”, kèm video mà theo tôi đã khiến không ít người xem hiểu lầm hoặc kỳ vọng nhiều hơn so với những gì Bkav thực sự công bố trong họp báo.
Ngay từ cách đặt tên họp báo đã thấy có sự khác nhau, giữa việc “có thể mở khoá” và “đánh bại” Face ID. Thực tế, Bkav đã trình diễn một chiếc mặt nạ có khả năng khiến iPhone X hiểu lầm rằng đó là mặt người, từ đó có thể mở khoá máy. Còn việc “đánh bại” Face ID là câu chuyện khác, rất khác.

So với tuyên bố ban đầu, từng chữ trên backdrop này của Bkav đã khác và nó khiến Bkav trở nên không sai.
Thứ nhất, mặt nạ của Bkav có “đánh bại” được Face ID không?
Face ID cứ tạm hiểu là cơ chế quét khuôn mặt, so khớp xem khuôn mặt được quét và bản mẫu lúc thiết lập xem giống nhau bao nhiêu phần. Nếu đủ giống thì sẽ mở khoá mà không cần nhập mật khẩu. Vấn đề ở đây là Face ID hoạt động có nguyên tắc của nó, bản thân Face ID sẽ tự động bị vô hiệu hoá trong một số trường hợp, khi ấy người dùng buộc phải nhập mật khẩu. Các trường hợp ở đây đáng chú ý có:
  • Thiết bị được tắt đi hay khởi động lại
  • Máy không được mở khoá trong vòng 48 giờ gần nhất
  • Sau khi thử mở khoá khuôn mặt 5 lần mà không được
  • Passcode không dược sử dụng để mở khoá thiết bị trong 6,5 ngày (156 giờ) và Face ID không dùng để mở khoá thiết bị trong 4 giờ.
Như vậy quan điểm của tôi là Face ID chỉ có thể bị “đánh bại” nếu Bkav vượt qua được ít nhất các giới hạn trên. Tức họ phải làm được mặt nạ trong dưới 48 tiếng (thậm chí là 4 tiếng), mặt nạ làm ra phải mở được trong dưới 5 lần thử. Còn việc đưa ra một chiếc mặt nạ sau đó iPhone X mở khoá được thì chỉ nên được coi là “lừa” thành công thiết bị.
Thứ hai, chiếc mặt nạ được Bkav làm ra thế nào?
Mấy cái trên báo đã đăng, xin phép bỏ qua nhé, 3D, 2D, mũi silicon ấy… Có điều tôi có dịp được nói chuyện ông Ngô Tuấn Anh, Giám đốc phụ trách An ninh mạng của Bkav, và có thêm những thông tin như thế này.

Ông Tuấn Anh và chiếc mặt nạ với phần môi giả, mắt và mũi là thật. Nếu như này mở khoá được có tính là “dạy” Ai của Face ID? Ảnh: Tuấn Hưng.
Đầu tiên, Bkav làm một chiếc mặt nạ trong đó phần mắt và mũi được khoét rỗng, phần miệng được làm giả. Ông Tuấn Anh sẽ áp cái mặt nạ đó vào mặt mình để xem có mở được Face ID hay không. Lúc này hằng số (tạm coi vậy chứ vẫn bị sai lệch) là mắt và mũi vì “chính chủ” còn biến số là chiếc miệng giả kia. Bkav sẽ điều chỉnh cái miệng làm sao cho thiết bị mở khoá được, lúc này chiếc miệng được coi là đã làm giả thành công. Cứ thế, lần lượt thử với các bộ phận khác là mũi, mắt…
Lại nói thêm về sinh trắc học và passcode. Mỗi khi iPhone X quét khuôn mặt, nó sẽ chuyển các thông tin đó thành công thức toán học. Trong khi đó thiết bị điện tử hoạt động với hai trạng thái là 0 và 1. Nếu hình ảnh so khớp gần với 1, nó coi khuôn mặt là trùng khớp, còn nếu gần 0, tức khác nhau.
Do hình ảnh đăng ký và hình ảnh xác minh sẽ không giống nhau do khác điều kiện chụp, iPhone X sẽ sử dụng một ngưỡng để xác định xem chúng có giống nhau đáng kể hay không. Chẳng hạn điểm số so sánh đạt 0,7 thì có thể coi bản xác minh trùng với bản gốc.
Quay trở lại phép thử của ông Tuấn Anh, với việc dùng mắt thật, mũi thật và miệng giả thì ông sẽ có được điểm số cao hơn so với việc dùng tất cả đều là giả. Như vậy, khả năng mở được Face ID lúc này cao hơn. Điều đáng nói là sau khi mở được Face ID rồi thì AI của iPhone X nó sẽ “ngầm hiểu” là cái người với cái mắt, cái mũi thậtvà cái miệng (giả) ấy cũng là chủ nhân của thiết bị. Thế rồi nó “học” và coi luôn cái miệng giả đó cũng là thật. Cứ thế, cứ thế với các thành phần khác.
Xin lưu ý là Face ID có thể “học” khuôn mặt mà không cần nhập passcode nhé. Như Apple nói: Khi mở khóa thành công, Face ID có thể dùng “công thức toán học mới” nếu nó đạt điểm số cao (gần với mức 1 đó) để bổ sung vào dữ liệu của mình. Còn trường hợp nữa là Face ID không nhận ra nhưng bạn vẫn được trên 0 điểm (nhớ nhé, không phải hai cái mặt khác mà Face ID vẫn học đâu), sau đó ngay lập tức bạn nhập passcode thì nó sẽ dùng ảnh vừa chụp để tăng dữ liệu.
Ông Tuấn Anh có khẳng định là sau mỗi lần thử một bộ phận đó, Face ID của iPhone X lại được reset để tránh việc học từng bộ phận như tôi vừa nêu. Chúng ta có thể tin điều đó nhưng tôi cũng muốn trình bày góc nhìn của tôi để ai quan tâm có thể hiểu hơn. Hơn tất cả, một màn chứng minh sẽ thay tất cả lời nói vì đây là kỹ thuật mà, chỉ có 0 và 1.
Thứ ba, thử nghiệm của Bkav có ý nghĩa gì?
Trong màn trình diễn của Bkav, tôi xin được ví von như sau. Cơ chế bảo mật Face ID là ổ khoá, khuôn mặt là chìa khoá và passcode là chìa khoá vạn năng và dùng để chống trộm ngôi nhà iPhone X chứa nhiều tiền (Mấy chục triệu chứ ít à). Apple nói không ai đột nhập được nhà tao đâu, kể cả việc làm giả được chìa khoá của tao để mở cửa, làm giả tao cũng sẽ nhận ra.
Bkav đã thử nghiệm để chứng minh là không dùng chìa khoá vạn năng nhưng có thể dùng mọi cách (nguyên tắc PoC ), tôi có thể làm được một chiếc chìa giả. Thế Bkav làm như thế nào?

Cách làm mặt nạ của Bkav có phần giống việc mượn chìa khoá chủ nhà để đi đánh thêm chiếc nữa. Ảnh: Montessori Nuggets.
Đầu tiên, họ mượn chủ nhà cái chìa khoá rồi làm giả một phần của nó. Sau đó, họ đem cái chìa với một phần là thật và một phần là giả đó tra vào ổ khoá xem sao, nếu mở được tức là phần giả khi giống với thật rồi. Cứ thế, cứ thế làm từng phần, từng phần một là họ ra được một chiếc chìa khoá giả.
Ngoài ra, trong quá trình tra cái chìa nửa thật nửa giả kia vào, họ vặn nhiều nên khiến các lẫy bên trong ổ khoá bị sai lệch đi (trờn ren). Thế nên càng về sau ổ khoá càng bị sai khác và dễ dàng hơn để khớp với cái chìa giả của Bkav.
Vì luật là không được dùng chìa tổng vạn năng (passcode) mà có thể làm bất cứ cách nào nên Bkav không hề phạm quy. Nhưng các bạn thử nghĩ xem, có thằng trộm nào đi đột nhập mà còn xin chủ nhà chìa khoá để đánh chìa không?
Xin nhắc thêm là ngay cả khi ông chủ nhà sẵn sàng cho kẻ trộm chụp chìa khoá, đúc chìa khoá (cho chụp ảnh 3D khuôn mặt) thoải mái thì việc làm chìa giả theo cách của Bkav vẫn cần phải có chìa thật.

Định nghĩa 2D của Bkav là thế nào?
Thứ tư, theo Bkav thì Apple công bố nhận mặt 3D nhưng cả 2D cũng vẫn nhận được. Bkav đã không chứng minh được điều này.
Cụ thể, mặt nạ mà Bkav sử dụng là 3D, một số chi tiết in 2D rồi dán lên đó. Như vậy tổng thể đây vẫn là 3D nên dù Bkav có thử nghiệm lừa thành công thì cũng không thể nói là dùng 2D được.
Bkav còn thử nghiệm khác là in 2D một con mắt giả rồi đặt lên mắt thật, mở khoá thành công. Đây cũng không thể nói là nhận mặt 2D được vì khuôn mặt sử dụng vẫn là 3D . Xin nhắc lại là Face ID cũng như các phương pháp sinh trắc học khác là dùng so khớp, nếu tổng điểm cao thì cho mở, tổng điểm thấp thì không. Phần mắt là giả nhưng các chi tiết khác là thật thì dĩ nhiên Face ID phải mở khoá rồi.
Thứ 5, Bkav kết luận bảo mật khuôn mặt không an toàn bằng bảo mật vân tay
Bkav nói rằng người dùng có nguy cơ bị lấy dấu vân tay nhưng thao tác này không dễ như với khuôn mặt. Ngoài ra, cả Face ID và Iris Scanner lại đều bị đánh lừa bởi ảnh chụp (2D, 3D). Với cách làm chưa thuyết phục của Bkav và việc thiếu màn trình diễn thực tế, tôi cho rằng kết luận trên của Bkav giảm đi sức nặng.
Như đã nêu ở trên, ngay cả khi cho Bkav lấy dữ liệu khuôn mặt 3D tuỳ theo ý họ muốn, việc làm ra mặt nạ (nếu) có thể “lừa” được Face ID thì cũng cần có sự trợ giúp của mặt thật, tình huống này khi áp dụng tấn công là không thể. Không lẽ khi đánh cắp khuôn mặt người ta lại bảo: mày ơi, mày đeo cái mặt nạ này vào để tao thử xem nó khớp chưa, mở được iPhone X của mày chưa à?
Nếu ai đã đọc đến đây thì… đừng chửi nó viết lan man, dài dòng và lắm chuyện nhé