Tại sao Apple lại thêm một con chip phá hỏng Face ID vào iPhone

Categorized as Hardware, Uncategorized @vi
Save and Share:

Chúng ta hãy bắt đầu từ đầu: hệ thống Face ID trông như thế nào và hoạt động ra sao:

Về cơ bản, tất cả phần cứng cần thiết cho FaceID đều nằm trong phần “tai thỏ” này của màn hình

Về phần cứng, hệ thống này bao gồm một cặp camera – IR và RGB, và hai loại đèn chiếu sáng IR – đèn chiếu sáng thông thường và máy chiếu điểm chấm chuyên dụng.

Tháo lớp vỏ iPhone X, loại bỏ mọi thứ thừa thãi, và chúng ta sẽ thấy cụm camera trước ở dạng trần trụi. Đèn chiếu sáng IR tồn tại riêng biệt, nhưng tất cả các thành phần còn lại đều nằm trong tay chúng ta — chúng được cố định chắc chắn trong khung kim loại này.

Ở đây chúng ta thấy camera IR và máy chiếu điểm chấm IR. Chính cặp đôi hồng ngoại này là nền tảng cho hoạt động của hệ thống TrueDepth và FaceID. Và nhân vật chính của câu chuyện hôm nay — chính là máy chiếu điểm chấm.

Nguyên tắc hoạt động ngắn gọn của FaceID

Các điểm chấm được iPhone X phát ra — ảnh từ đây.

Máy chiếu điểm chấm IR thực hiện đúng chức năng mà tên gọi của nó đã chỉ ra — nó bắn ra hàng chục nghìn điểm hồng ngoại vào thế giới xung quanh theo lệnh. Và camera IR, vốn là bên đưa ra lệnh này, ngay lập tức chụp lại những điểm chấm này.

Khi biết các đặc tính quang học của máy chiếu, camera và khoảng cách giữa chúng, ISP trong bộ xử lý iPhone có thể ước tính mỗi điểm chấm ở xa đến mức nào. Bản thân tôi cũng không hoàn toàn hiểu rõ toán học của quá trình này, và việc đảo ngược nó sẽ rất khó khăn — nhưng việc chụp một loạt ảnh với các mẫu điểm chấm khác nhau cho phép đoán vị trí của từng điểm riêng lẻ một cách khá chính xác, và do đó tạo ra một bản đồ độ sâu hoàn chỉnh. Không cần LIDAR và ToF.

Chính bản đồ độ sâu cho phép FaceID không bị đánh lừa bởi những bức ảnh in trên máy in. Ảnh chụp phẳng — còn khuôn mặt có độ nổi, và đối với FaceID, bản đồ địa hình khuôn mặt quan trọng hơn màu sắc của nó.

Sơ đồ khối của camera tham chiếu PrimeSense

Tuy nhiên, hệ thống cũng xem xét màu sắc của khuôn mặt. Camera IR được đồng bộ hóa phần cứng với camera RGB, và cả hai camera đều chụp khuôn mặt đồng thời. Và iPhone có thể nhấp nháy không chỉ máy chiếu IR, mà còn cả đèn chiếu sáng IR — và chụp toàn bộ khuôn mặt trong phổ IR.

Bản đồ độ sâu tự nó đã khá thô, và việc phân tích kết cấu khuôn mặt trong ảnh chụp IR và RGB bằng mạng nơ-ron cho phép vừa tinh chỉnh độ sâu, vừa hiểu rõ hơn về các chi tiết như nét mặt — cả khi có ánh sáng ban ngày lẫn trong bóng tối.

Nếu hệ thống này có vẻ quen thuộc với bạn, thì có lẽ là vì nó được bê nguyên xi từ Kinect của Xbox 360. Chỉ có điều Kinect đó là một khối đồ sộ, còn ở đây nó đã được thu nhỏ đến kích thước của phần “tai thỏ” trên màn hình điện thoại thông minh.

Công ty PrimeSense đã làm được điều này, công ty này đã phát triển các công nghệ cơ bản của Kinect 1 — và sau đó đã được Apple mua lại với giá 350 triệu đô la. Toàn bộ — với tất cả các bằng sáng chế, phát triển, nhân viên và các thứ khác bên trong.

Mổ xẻ nội tạng của máy chiếu

Chúng ta đi sâu hơn vào quá trình đảo ngược: lấy máy chiếu điểm chấm ra khỏi cụm camera iPhone X và tháo rời nó thành các bộ phận cấu thành. Nó bao gồm dây cáp FPC, cụm phát xạ và cụm quang học.

Dây cáp hoàn toàn thụ động, và do đó ít thú vị. Nó được hàn vào cụm phát xạ, và đưa tín hiệu ra đầu nối FPC, đầu nối này được kết nối với bo mạch chủ của iPhone X. Đầu nối có bước chân 0,35mm, tùy chỉnh (Apple đúng là lũ khốn), và có vẻ như được sản xuất bởi công ty JAE.

Hãy xem các thành phần chính của quang học:

Máy chiếu cắt lớp: ảnh từ đây, chú thích của tôi

Và hãy xem bên trong bộ phát xạ có gì:

Và vai trò của MOSFET và con chip bí ẩn đã thu hút sự chú ý của tôi. Tại sao ư? Bởi vì không rõ chúng thực sự làm gì ở đó.

Giả thuyết rõ ràng đầu tiên — con chip bí ẩn là bộ nhớ cho số sê-ri và dữ liệu hiệu chuẩn. Con chip có giao diện I2C điển hình của bộ nhớ, và chắc chắn có bộ nhớ bên trong. Máy chiếu có số sê-ri, thông qua đó có thể xác định được ngày sản xuất — và nếu thay thế toàn bộ máy chiếu, thì iPhone sẽ thấy sự không khớp số sê-ri và từ chối hoạt động với sự thay thế đó. Nhưng EEPROM I2C thông thường nhất xuất hiện trong vỏ WLCSP-4 siêu nhỏ — và thậm chí có thể khóa nó khỏi việc ghi đè, nếu thực sự muốn. Vì vậy, con chip không thể chỉ là bộ nhớ đơn thuần. Chắc chắn nó còn làm điều gì đó khác.

Sơ đồ chân máy chiếu từ các chuyên gia Trung Quốc của JCID. Chữ viết nguệch ngoạc, nhưng nói chung là khớp.

Giả thuyết rõ ràng thứ hai — con chip bí ẩn là trình điều khiển laser, và MOSFET là khóa của nó. Và đúng vậy, MOSFET thực sự được điều khiển bởi con chip. Chỉ có điều, con chip cũng không thể là thứ gì đó quan trọng đến mức như trình điều khiển laser.

Thứ nhất, MOSFET nằm ở vị trí ngắt cực âm chung của cụm laser — và 4 cực dương riêng biệt đi trực tiếp đến dây cáp và đi tiếp vào sâu bên trong bo mạch nhiều lớp của iPhone. Và thứ hai, trong quá trình thu thập dữ liệu để đảo ngược, tôi đã bắt gặp nhiều hướng dẫn khác nhau từ các thợ sửa chữa Trung Quốc.

MOSFET được thay thế bằng một sợi dây gọn gàng

Bản chất vấn đề họ không nói rõ trực tiếp, nhưng trong nhiều hướng dẫn này có nói: để sửa chữa máy chiếu “bị hỏng”, cần phải tháo rời nó, tháo MOSFET ra và thay thế bằng một đoạn dây nối giữa cực máng và cực nguồn. Máy chiếu cuối cùng sẽ hoạt động với dây nối bên trong, và chức năng FaceID sẽ được khôi phục. Vậy MOSFET đó đã làm gì ở đó khi máy chiếu hoạt động bình thường với dây nối thay thế MOSFET?

Và tôi chợt nhận ra: chính ở chỗ đó là bản chất của việc sửa chữa. MOSFET được điều khiển bởi con chip – do đó, theo ý muốn của con chip, nó có thể ngắt mạch nguồn laser, và do đó làm hỏng máy chiếu. Và việc sửa chữa này loại bỏ sự ngắt mạch đó.

Tên gọi nói lên điều gì

Một khi đã rõ rằng con chip bí ẩn cùng với MOSFET cản trở hoạt động bình thường của máy chiếu, thì câu hỏi đặt ra — tại sao nó lại làm như vậy? Tại sao người ta lại đặt một con chip vào máy chiếu, con chip này lại giết chết máy chiếu?

Để tìm câu trả lời, tôi đã tìm đến firmware của khối ISP trong bộ xử lý iPhone – chính nó giao tiếp qua I2C với các cảm biến camera và với máy chiếu.

Đầu tiên, tôi đã tải xuống ảnh firmware iOS 15 cho iPhone X, phiên bản mới nhất. Ảnh firmware cho iPhone — về cơ bản là các tệp zip. Bên trong, tôi đã tìm thấy firmware ISP cần tìm — dưới dạng tệp Firmwareisp_bniadc-nike-d22.im4p. Từ tệp im4p nén, một tệp nhị phân đã được trích xuất, ở định dạng Mach-O với mã AArch64 bên trong. Mach-O, không giống như “ảnh firmware điển hình cho bộ vi điều khiển không xác định” — là định dạng tệp thực thi được ghi lại, tương tự như PE hoặc ELF. Không cần phải đoán mò về cấu trúc tệp, kiến trúc bộ xử lý hoặc địa chỉ mà mã cần được tải. Chỉ cần ném tệp vào Ghidra và mọi thứ tự động được sắp xếp ngăn nắp. Thật tuyệt.

Sau đó, bản năng mách bảo, và tôi quyết định mổ xẻ các firmware cũ hơn. Và trong ảnh firmware iOS 13, tôi đã tìm thấy tệp adc-nike-d22. Ngay cả kích thước cũng gần như tương tự. Chỉ có điều, trong firmware mới có nhiều mã hơn — còn trong firmware cũ có ít mã hơn, nhưng lại có ký hiệu. Tất cả tên hàm đều ở đúng vị trí. Luôn kiểm tra các phiên bản cũ!

Trong firmware ISP có rất nhiều thông tin, bao gồm cả cách iPhone giao tiếp qua I2C với các chip khác nhau — với cảm biến camera, với PMU camera, với chip điều khiển đèn flash và tự động lấy nét. Cũng từ đó, nhờ các ký hiệu, người ta đã trích xuất được “tên” của các bộ phận cấu thành khác nhau của hệ thống — và một phần trong số chúng tương ứng với tài liệu từ các phần khác của firmware, cũng như từ các chuyên gia đảo ngược và thợ sửa chữa khác. Ví dụ: cảm biến camera IR — là STMicroelectronics VD56G0 “Savage”. Toàn bộ hệ thống TrueDepth trong mã được gọi là “Pearl”, và các mô-đun chính của nó được đặt tên theo các nhân vật trong “Romeo và Juliet”. Máy chiếu IR được gọi là “Romeo”, camera IR — “Juliet”, và đèn chiếu sáng IR được gọi là “Rosaline”. Trình điều khiển laser, nằm trên bo mạch chủ của iPhone và cung cấp năng lượng cho cả laser bên trong “Romeo” và laser bên trong đèn chiếu sáng “Rosaline”, được gọi là “Rigel“.

Con chip bí ẩn mà chúng ta quan tâm? Nó cũng có tên. Trong mã, nó được gọi là “MamaBear”, viết tắt là “MB”, và có vẻ như chức năng của nó khá đơn giản. Nó nằm trên bus I2C. Nó lưu trữ dữ liệu OTP bên trong, bao gồm số sê-ri và các hiệu chuẩn khác nhau. Nó bật và tắt MOSFET theo lệnh. Và nó còn đo… điện dung? Không phải nhiệt độ, nó không được kết nối với nhiệt điện trở NTC, mà là điện dung. Nhưng điện dung của cái gì?

Cái chết bi thảm của Romeo

Câu trả lời cho câu hỏi này một lần nữa lại được các sơ đồ Trung Quốc giúp chúng ta tìm ra. Trong sơ đồ từ JCID, có thể thấy rằng trong mô-đun “Romeo” có ba chân tiếp xúc để kết nối cụm phát xạ với cụm quang học. Một — là mass, và hai chân còn lại đi trực tiếp vào chip “MamaBear”. Các chân tiếp xúc này đi qua một bộ chuyển đổi đặc biệt ở bên cạnh cụm quang học, và đi đến đỉnh của nó — đến thấu kính nhiễu xạ quang học.

Bộ tách tia nhiễu xạ không điều khiển được và không phản ứng với dòng điện. Nhưng nó có điện dung. Và với sự trợ giúp của ba đường dây đó, có thể đo điện dung này. Nhưng để làm gì?

Vấn đề nằm ở vai trò quan trọng mà bộ tách tia nhiễu xạ này đóng vai trò. Hình dạng các điểm chấm được máy chiếu sử dụng được xác định bởi vị trí của các laser-“hố” nhỏ trên tinh thể VCSEL. Và sau đó, hình dạng này được nhân lên bởi thấu kính nhiễu xạ, thấu kính này tạo ra hàng trăm chùm tia từ một chùm tia.

So sánh vị trí của laser cực dương “SPARSE” và các điểm chấm được chiếu

Vậy điều gì sẽ xảy ra nếu thấu kính nhiễu xạ này bị tách rời?

Các chùm tia sẽ không bị tách ra. Thay vì hàng trăm chùm tia laser sẽ chỉ có một chùm tia — nhưng mạnh hơn gấp trăm lần. Và đây dù sao cũng là laser. Laser hồng ngoại nguy hiểm hơn laser đỏ, vì con người không nhìn thấy nó — và do đó sẽ không theo bản năng tránh ánh mắt ngay cả khi nguồn sáng cực mạnh nguy hiểm. Và có một khả năng khác không phải bằng không là hình dạng đặc trưng của các điểm chấm trong trường hợp đó sẽ bị đốt cháy trong võng mạc của người dùng.

Để ngăn chặn điều này, cần có chip-kẻ giết người. Sau khi bật, nó liên tục theo dõi điện dung của thấu kính nhiễu xạ — và nếu thấu kính bị gãy hoặc hư hỏng, thì điện dung sẽ vượt quá giới hạn cho phép, và chip ngay lập tức ngắt MOSFET và ngắt nguồn VCSEL. Và vì thấu kính nằm trên đỉnh của cụm quang học, nên việc làm hỏng cụm còn lại bằng một cú va chạm mà không làm hỏng nó và không làm gián đoạn tiếp xúc là điều gần như không thể.

Sau khi tắt laser khẩn cấp, chip tự ghi một cờ vào OTP, cờ này biểu thị máy chiếu là bị lỗi — và do đó, nguồn bị ngắt sẽ mãi mãi bị ngắt. Không có lệnh nào từ ISP có thể có hiệu lực đối với nó nữa. MOSFET sẽ luôn đóng, và máy chiếu sẽ không bao giờ hoạt động nữa.

Chip “MamaBear”, như tên gọi đã gợi ý – là một chip bảo vệ. Nó là “killswitch” để dừng laser khẩn cấp. Nó giết chết máy chiếu để ngăn thiết bị laser bị hư hỏng chiếu vào mắt người dùng. Và mô-đun “Juliet”, khi không còn “Romeo” là bạn đời, sẽ mất đi ý nghĩa cuộc sống — và toàn bộ hệ thống TrueDepth trở nên vô dụng.

Ngày thường của các pháp sư công nghệ

Bộ lập trình “cao áp”

Nhưng sơ đồ bảo vệ này có một nhược điểm. Vấn đề là máy chiếu điểm chấm nằm ở mép trên của thiết bị, và gần loa. Nếu chất lỏng lọt vào bên trong iPhone, thì một trong những vị trí phổ biến nhất cho việc này — chính là ở đó. Và các cảm biến điện dung rất nhạy cảm với chất lỏng dẫn điện. Do đó, thường xảy ra trường hợp FaceID bị hỏng sau khi thiết bị rơi xuống nước — ngay cả khi nước lọt vào ở mức tối thiểu và không có hư hỏng nào khác. Chỉ là “Romeo” đã hiểu sai tình hình, và đã tự tử một cách vô ích.

Những thiết bị như vậy được mang đi sửa chữa. Thường là sửa chữa không chính thức. Và vì iPhone so sánh số sê-ri của các phụ tùng thay thế (xin chào, Apple), nên không thể chỉ cần thay toàn bộ cụm camera bằng một cụm hoạt động từ máy hiến tặng. Điện thoại sẽ từ chối cụm mới, và FaceID vẫn sẽ không hoạt động. Vậy thì, cần phải bằng cách nào đó sửa chữa cái cũ. Nhưng làm thế nào có thể “hồi sinh” một máy chiếu đã cố ý tự vô hiệu hóa chính mình?

Các nhà sản xuất các công cụ sửa chữa không chính thức đã nghĩ ra một loạt các nghi lễ khác nhau cho việc này. Và các pháp sư công nghệ-thợ sửa chữa khéo tay tuân thủ chúng một cách thiêng liêng, và thực hiện vi phẫu hệ thống quang học phức tạp và đã được hiệu chỉnh này. Sự khéo léo của đôi tay là vô cùng cần thiết — các thành phần bên trong có kích thước chỉ vài mm, và quang học thì cực kỳ nhạy cảm. Nếu hiệu chuẩn bị sai lệch quá nhiều do can thiệp phẫu thuật, thì hệ thống sẽ không hoạt động. Không có công cụ nào để hiệu chỉnh lại bằng phần mềm (xin chào, Apple) — bạn hoặc sẽ tìm ra cách để đạt được các thông số ban đầu, hoặc sẽ phải sống chung với việc không có FaceID.

Dây cáp có chip đánh lừa

Nó hoạt động như thế nào? Chà, điều đầu tiên cần làm là đọc dữ liệu OTP từ chip “MamaBear” gốc.

Dữ liệu có thể đọc được ngay cả khi máy chiếu tự coi mình là không hoạt động. Để đọc dữ liệu, người Trung Quốc tạo ra các bộ lập trình “sửa chữa” đặc biệt — đi kèm với bộ đầu nối-bộ chuyển đổi và hoạt động với một loạt các thành phần khác nhau từ các mẫu iPhone khác nhau, bao gồm cả máy chiếu.

Và sau đó cần phải làm hai việc — giải quyết vấn đề với MOSFET ngắt nguồn và thay thế chip bảo vệ gốc. Và có rất nhiều phương pháp khác nhau ở đây.

Cạo bỏ nội tạng cũ và lắp nội tạng mới

Ví dụ, có thể đặt một đoạn dây nối thay cho MOSFET, như trong ảnh ở trên trong bài viết, và thay thế chip “MamaBear”, bằng cách tháo dây cáp FPC gốc và thay thế nó bằng một dây cáp đặc biệt có chip đánh lừa của Trung Quốc.

Chip “MamaBear” gốc có thể vẫn còn bên trong, và bất lực gào thét rằng máy chiếu không được hoạt động trong mọi trường hợp. Nhưng nó không còn MOSFET để tắt máy chiếu một cách cưỡng bức, còn iPhone về phía mình chỉ nhìn thấy chip Trung Quốc — chip này trả về bản sao dữ liệu gốc đã được nạp bằng bộ lập trình, và báo cáo rằng máy chiếu chắc chắn là исправен.

Bo mạch chuyển đổi với chip đánh lừa

Và có một tùy chọn với số lượng mối hàn tối thiểu. “Bộ chuyển đổi” có chip đánh lừa, được đặt giữa dây cáp gốc và bo mạch chủ của iPhone.

Nó không giải quyết được vấn đề với MOSFET, nhưng người Trung Quốc cũng đã tìm ra một cách tiếp cận độc đáo cho nó, bằng cách tạo ra các bộ lập trình “cao áp”.

Bạn có biết làm thế nào người ta có thể “phục hồi” và ghi đè các loại ATtiny khác nhau bằng bộ lập trình cao áp đặc biệt không? Ở đây tình hình hoàn toàn khác. Bộ lập trình cao áp của Trung Quốc “lập trình” MOSFET một cách thô bạo và không thể đảo ngược bên trong máy chiếu thành trạng thái ngắn mạch giữa cực máng và cực nguồn.

Ở giai đoạn sửa chữa cuối cùng, chúng tôi kết nối lại máy chiếu với bộ lập trình và nạp vào đó bản dump đã lưu ở giai đoạn đầu. Và máy chiếu đã sẵn sàng hoạt động, giả vờ là hàng chính hãng và không bị sửa đổi.

Tất cả các phụ kiện khác nhau này được sản xuất và quảng bá bởi các nhà cung cấp thiết bị sửa chữa khác nhau. Tất cả các loại chip đánh lừa chỉ hoạt động với bộ lập trình “chính chủ”, và trong bộ lập trình thường có các tính năng DRM như liên kết với tài khoản và số lượng “lần sửa chữa” giới hạn, mà để bổ sung số lần sửa chữa này, người ta phải trả tiền.

Những người thợ sửa chữa có biết rằng việc sửa chữa của họ phá hủy hoàn toàn hệ thống được Apple phát minh ra để bảo vệ mắt người dùng không? Thực tế là không. Họ không phải là chuyên gia đảo ngược — họ là pháp sư. Họ không hiểu nguyên tắc hoạt động. Họ có các nghi lễ và có kết quả, và điều này là đủ đối với họ. Còn các chuyên gia đảo ngược ranh mãnh từ Trung Quốc thì không muốn chia sẻ bí mật của họ với công chúng. Những gì tôi đã mô tả trong bài viết này, chỉ có các kỹ sư của Apple và một tá người Trung Quốc “trong cuộc” biết đầy đủ. Và cả tôi. Và cả bạn, bây giờ.

Tại sao Apple lại là đồ khốn

Bạn biết đấy, tôi không thể trách cứ quá nhiều các kỹ sư của Apple vì “killswitch” của họ quá tích cực và làm hỏng các máy chiếu vốn hoàn toàn có thể hoạt động được. Laser — là một chủ đề nguy hiểm, và ý tưởng bảo vệ người dùng khỏi “các kịch bản tồi tệ nhất” là hoàn toàn hợp lý. Mặc dù việc thực hiện biện pháp bảo vệ này đòi hỏi phải được cải tiến.

Nhưng chính sách của Apple trong cuộc chiến chống lại việc sửa chữa không chính thức — là điều tồi tệ nhất trong tất cả những điều tồi tệ. Nếu các khối TrueDepth có thể được thay thế một cách thoải mái từ thiết bị này sang thiết bị khác, mà không cần quan tâm đến số sê-ri, thì các nghi lễ sửa chữa kỳ quái và lệch lạc hầu như sẽ không còn ý nghĩa gì nữa. Tại sao phải xoắn xuýt với việc hàn vi phẫu và múa may với bộ lập trình, nếu có thể tháo một khối TrueDepth hoàn toàn hoạt động được từ một “máy hiến tặng” khác có màn hình bị vỡ, lắp nó vào điện thoại của khách hàng, khôi phục hoàn toàn chức năng và sống yên ổn? Đối với thợ sửa chữa, điều này sẽ dễ dàng hơn, và đối với chủ sở hữu thiết bị — an toàn hơn.

Nhưng lịch sử về hành vi chống sửa chữa quái gở của Apple cho thấy rõ ràng rằng điều này sẽ không xảy ra. Chà, trừ khi ở Mỹ hoặc EU, tất cả các phong trào “Quyền được sửa chữa” khiến việc ràng buộc phụ tùng thay thế theo số sê-ri trở thành bất hợp pháp. Và điều này hiện là có thể. Trong câu chuyện đùa về việc Liên minh Châu Âu thêm vào các mẫu iPhone mới nhiều tính năng hữu ích hơn Apple, có một phần sự thật rất lớn. Vì vậy, chúng ta hãy theo dõi các sáng kiến lập pháp.

Bài viết được dịch từ tiếng Nga. Tác giả bài viết: acc0unt. Chúng tôi đã cố gắng giữ nguyên phong cách và cách diễn đạt ban đầu của tác giả, trong phạm vi có thể khi dịch.

Leave a comment

Your email address will not be published. Required fields are marked *