تشخیص چهره در عینک هوشمند متا
خلاصهٔ کاملتر
یک پژوهشگر امنیتی با بررسی نسخهٔ اندرویدی اپ Stella (اپ همراه عینک هوشمند Meta، با شناسهٔ com.facebook.stella) ادعا میکنه کل ماشین تشخیص چهره روی خود دستگاه نصب شده و کار میکنه: سه مدل چهره، یک پایگاهدادهٔ محلی، یک ایندکس شباهت برداری، مسیر نوشتن دادههای بیومتریک روی دیسک و یک سیستم نوتیفیکیشن کامل. به گفتهٔ نویسنده فاصلهٔ بین «این قابلیت وجود داره» و «این قابلیت برای کاربرها فعاله» مهمه و اون با دقت این مرز رو مشخص میکنه.
به گفتهٔ نویسنده سه مدل از نوع ExecuTorch روی دستگاه دانلود میشن (حدود ۱۰۰ مگابایت): یکی چهرهها رو تو تصویر پیدا میکنه (SCRFD)، یکی هر چهره رو برش و تراز میکنه (KPSAligner) و یکی هر چهره رو به یک بردار ۲۰۴۸ عددی تبدیل میکنه که در واقع همون «اثرانگشت بیومتریک» چهرهست (SFace). اینها معماریهای متنباز شناختهشده هستن، ولی نویسنده میگه نسخهٔ SFace متا بزرگتر از مرجع عمومی تنظیم شده.
نویسنده تأکید میکنه که صرفِ وجود مدلهای تشخیص و embedding بهخودیخود نشانهٔ شناسایی افراد نیست؛ خیلی از اپها برای فوکوس یا کادربندی روی دستگاه تشخیص چهره دارن. چیزی که فرق میکنه اینه که اینجا یک پایگاهدادهٔ محلی با جدولهایی برای «شخص» و «چهره» و یک جدول مجازی برداری وجود داره که دقیقاً برای بردارهای ۲۰۴۸ عددی و جستوجوی فاصلهٔ کسینوسی ساخته شده — یعنی ابعاد ایندکس، شکل embedding و ساختار ذخیرهسازی کاملاً با هم هماهنگن و این یک سیستم منسجمه، نه کد مرده.
نکتهٔ نگرانکنندهتر اینه که وقتی دستگاه چهرهای رو میبینه که تو ایندکس محلی نیست، اون چهره رو تو پوشهای به اسم NameTagsPending ذخیره میکنه: برای هر چهرهٔ ناشناس یک فایل تصویر برشخوردهٔ چهره و یک فایل با اثرانگشت ۲۰۴۸ عددیش کنار هم نوشته میشه. نویسنده میگه این پوشه با دسترسی محدود 0700 ساخته شده و بعد از ریاستارت هم باقی میمونه — دقیقاً همون دیتاستی که اگه بخوای بعداً چهرهها رو با رسیدن یک برچسب شناسایی کنی، جمع میکنی.
به گفتهٔ نویسنده سیستم نوتیفیکیشن هم کاملاً سیمکشی شده: یک کانال اختصاصی به اسم nametags_recognition تعریف شده و وقتی چهرهای مطابقت پیدا کنه، یک نوتیفیکیشن با عنوان «Person recognized» و متن «Recognized» بهعلاوهٔ نام شخص فرستاده میشه. این نوتیفیکیشن قابل لمسه و به یک صفحهٔ پروفایل لینک میده، هرچند نویسنده میگه تو همین نسخه اون صفحهٔ مقصد هنوز ساخته نشده و لمس نوتیفیکیشن کاربرو به تب پیشفرض میبره.
نویسنده نتیجهٔ آزمایشش رو هم شرح میده: وقتی ایندکس خالی بود، چهرهٔ آزمایشی بهعنوان «بدون تطبیق» روی دیسک ذخیره شد و نوتیفیکیشنی نیومد؛ ولی وقتی یک embedding از قبل تو ایندکس بود، نوتیفیکیشن تطبیق از همون کانال پروداکشن فعال شد. این نشون میده هر دو شاخهٔ مسیر کار میکنن. برای اجرای کل خط لوله، نویسنده هندلر موجود رو مستقیم با یک عکس آزمایشی صدا زده.
نویسنده با احتیاط میگه چی رو ادعا نمیکنه: نمیگه Meta همین الان داره غریبهها رو برای کاربرها شناسایی میکنه یا دادههای ثبتنام در جریانه. روی یک حساب عادی و ثبتنامنشده، نه کارت «Connections» تو رابط کاربری ظاهر میشه و نه نشانهای از فعال بودن دیده. حرف اصلیش اینه که ساختن و سیمکشی اینهمه زیرساخت یک سرمایهگذاری مهندسی جدیه که اتفاقی به دستگاه نمیرسه؛ اینکه کِی و آیا به پروداکشن میره، سؤالیه که Meta باید جوابش رو بده. این پژوهش همراه با گزارشی در WIRED منتشر شده.
نکات کلیدی:
- کل زیرساخت تشخیص چهره (تشخیص، تراز، embedding، ایندکس برداری، ذخیرهسازی و نوتیفیکیشن) روی خود دستگاه در اپ Stella نسخهٔ v273 حاضر و کاربردیه.
- سه مدل روی دستگاه دانلود میشن و هر چهره به یک بردار بیومتریک ۲۰۴۸ عددی تبدیل میشه.
- چهرههای ناشناس بهصورت تصویر و اثرانگشت در پوشهٔ NameTagsPending با دسترسی 0700 روی دیسک ذخیره میشن.
- پایگاهدادهٔ مسیر زنده در یک namespace همگامسازی قرار داره که Meta میتونه از سمت سرور پرش کنه، ولی نویسنده پرشی به این namespace روی حساب آزمایشیش ندیده.
- برای کاربر عادی و ثبتنامنشده این قابلیت فعال نیست و توسط Meta قفل شده.




