بدون کلید، بدون مشکل؟ — بخش سوم ترجمه
۸. افشا و کاهش آسیبپذیری — ادامه
Clock Tampering
زمان قفل برای ارزیابی اعتبار access profile امنیتی است. Master Lock توضیح داد اگر تلفن اتصال داشته باشد، قفل زمان را از سرور مورد اعتماد میگیرد. نویسندگان پیشنهاد میکنند time update با کلید متقارن اختصاصی قفل و MAC احراز هویت شود و در برابر replay محافظت گردد. با این حال در حالت offline، drift ساعت باید اصلاح شود. Master Lock بنابراین به کاربران trusted اجازه میدهد WriteTime را برای تنظیم ساعت با تلفن اجرا کنند و برنامه رسمی این کار را فقط برای admin و در حالت offline مجاز میکند. مشکل این است که profileهای non-admin نیز permission لازم را دارند و مهاجم با اجرای مستقیم protocol میتواند check برنامه را دور بزند.
Audit Log Tampering
پیشنهاد مقاله این است که eventهای ممیزی روی قفل تولید و با MAC مبتنی بر کلید متقارن اختصاصی قفل که با API server مشترک است authenticated شوند. در این صورت مهاجم کلید را ندارد و نمیتواند event را جعل یا در مسیر تلفن تغییر دهد. Master Lock ابتدا پیچیدگی backend و firmware را مطرح کرد و یادآور شد audit log ذاتاً ممکن است ناقص باشد، زیرا در حالت offline رویدادهای زیادی رخ میدهند و ring buffer محدود قفل میتواند رویدادهای قدیمی را overwrite کند. شرکت ابتدا قصد داشت endpoint را فقط برای کاربران دارای مجوز upload باز کند، اما این راهکار هنوز به کاربران موجود مانند مهمان موقت اجازه جعل میدهد. سپس طبق مقاله اعلام کرد حمله را بهطور کامل کاهش خواهد داد، بدون ارائه جزئیات فنی بیشتر.
Malformed Messages
این حمله اهمیت آزمایش ورودی نامعتبر روی کانال غیرقابل اعتماد را نشان میدهد. Master Lock تأیید کرد مشکل ناشی از buffer overflow در Firmware است. ابزارهایی مانند AddressSanitizer، fuzz testing و زبانهای memory-safe مانند Rust برای کشف و جلوگیری از این مشکلات مناسباند. شرکت گفته بود boundary checkها با C assertions در buildها وجود داشتند اما در production حذف شده بودند. Firmware ژوئن ۲۰۲۵ که Attack 1 را patch میکرد، این overflow را نیز patch و تحت آزمون گسترده قرار میداد.
ملاحظات اخلاقی
پژوهشگران تلاش کردند پژوهش را مسئولانه انجام دهند: تعامل با سرورهای Master Lock را حداقل کردند و فقط از حسابهای آزمایشی و قفلهایی که مالک آنها بودند استفاده کردند. از نظر آنان، تحلیل محصول و درسهای حاصل میتواند امنیت محصولات Master Lock را بهبود دهد و ضرورت تحلیل بیشتر پروتکلهای قفل هوشمند را برای یافتن و patchکردن آسیبپذیریها پیش از سوءاستفاده واقعی نشان میدهد.
۹. بحث
طراحی ناامن پروتکل
رمزگذاری BLE بهتنهایی پروتکل امن نمیسازد. Master Lock ادعا میکند از احراز هویت و رمزگذاری «سطح نظامی» مبتنی بر الگوریتمهای توصیهشده NIST و تأییدشده FIPS استفاده میکند. این رمزگذاری برای پژوهشهای قبلی کافی بود تا نبود replay را نتیجه بگیرند، اما این پژوهش نشان داد reuse nonce در آغاز نشست، replay کامل نشست را ممکن میکند. قفل در برابر replay یک پیام در همان نشست مقاوم است، اما nonce در نشستهای مختلف برای همان کاربر تکرار میشود. بنابراین استفاده درست از primitiveهای رمزنگاری بهاندازه انتخاب primitive امن اهمیت دارد.
کانال امن Lock-to-API
قفل فقط از طریق تلفن با API server ارتباط دارد و کانال end-to-end امنی بین قفل و سرور طراحی نشده است. این موضوع ریشه Attack 4 است: اگر audit eventها از قفل تا telemetry server روی کانال authenticated ارسال میشدند، جعل آنها ممکن نبود. BLE pairing و bonding کانال امن تلفن–قفل میسازد، اما مانع تزریق time update مخرب از تلفن نمیشود. همچنین API authentication با credential کاربر و secretهای داخل app مانع upload رویداد جعلی نمیشود. Master Lock ظاهراً برای Firmware update یک کانال امن مبتنی بر symmetric key ثابت داخل قفل دارد، اما برای سایر ارتباطات چنین end-to-end protectionی وجود نداشت.
مشکل دیگر در دسترسنبودن API server هنگام unlock است. اگر time update فقط با اینترنت انجام شود، server میتواند آن را authenticated کند، اما در مناطق دوردست drift ساعت ممکن است باعث رد access profile معتبر شود. مقاله استاندارد Matter را نمونهای از تلاش برای امنیت و interoperability در IoT میداند و مطرح میکند که برای معماری gateway باید چارچوبی طراحی شود که هم چند پروتکل، هم منابع محدود IoT و هم حالت offline را پوشش دهد؛ زیرا تلفن کاربر همیشه قابل اعتماد نیست.
۱۰. کارهای مرتبط
نزدیکترین کار، تحلیل Knight، Lord و Arief در سال ۲۰۱۹ درباره قفل آویز Bluetooth Master Lock است. آنها APK بدون obfuscation و API با authentication ضعیف و credentialهای hard-coded یافتند. همچنین RTC قفل با خارجکردن باتری متوقف و با ساعت تلفن مالک resync میشد، اما حمله در عمل به بازبودن قفل و دسترسی به تلفن مالک نیاز داشت. در این پژوهش، Attack 3 با reverse engineering پروتکل، فرمان همگامسازی ساعت را مستقیماً ارسال میکند و به تلفن مالک نیاز ندارد. پژوهش قبلی همچنین endpointی را یافته بود که primary code را به مهمان میداد و Master Lock آن را اصلاح کرد.
دو تحلیل August نیز حملاتی را گزارش کردند؛ از جمله bypass certificate pinning، ارتقای نوع کاربر از guest به admin و ذخیره plaintext اطلاعات حساس مانند handshake key و firmware encryption key. یک DoS نیز به این دلیل گزارش شد که قفل فقط یک درخواست را همزمان میپذیرفت و محدودیت کافی روی عملیات unauthorized نداشت. حملات این پژوهش با مدل مهاجم ضعیفتری، بدون دسترسی به تلفن مالک، unlock و نقضهای امنیتی دیگری ایجاد میکنند.
Rose و Ramsay شانزده قفل Bluetooth را بررسی و برای دوازده مورد آسیبپذیری یافتند. Master Lock یکی از چهار قفلی بود که آسیبپذیری برای آن پیدا نکردند. در چهار قفل password روی BLE plaintext بود و پنج قفل با replay باز میشدند. fuzzing نیز خطای Okidokeys را نشان داد؛ در Danalock password hard-coded و در Mesh Motion Bitlock nonce قابل پیشبینی بود.
Ho و همکاران پنج قفل August، Danalock، Kevo، Okidokeys و Lockitron را در مدل Device-Gateway-Cloud بررسی کردند و نشان دادند با قطع دریافت revocation میتوان access را حفظ کرد. Attack 2 این مقاله حتی در صورت دریافت update کار میکند، زیرا disconnect میان revocation منطقی و expiration ماده کلیدی را هدف میگیرد. Zhou و همکاران مفهوم Mobile-as-a-Gateway IoT را روی ده قفل بررسی و inconsistencies در maintenance و synchronization سیاستهای دسترسی، از جمله static key material غیرچرخاندهشده هنگام revoke، یافتند. این مقاله علاوه بر مشابهت Attack 2، دامنه گستردهتری از حملات وابسته به طراحی یک پروتکل خاص را نشان میدهد. کارهای دیگر درباره SmartThings، relay attack و آسیبپذیریهای Bluetooth IoT نیز در مقاله مرور شدهاند؛ از جمله downgrade، PIN cracking، static link key، unauthenticated message، MAC spoofing و secret key hard-coded.
۱۱. نتیجهگیری
این پژوهش Master Lock Deadbolt D1000 را بررسی و پنج حمله را از طریق reverse engineering protocol پیدا کرد. نخست، reuse nonce در گونه AES-CCM امکان replay کامل نشست و unlock غیرمجاز را فراهم میکند. دوم، ماده کلیدی profile بهدرستی revoke نمیشود و مهمان سابق پس از پایان دسترسی میتواند قفل را باز کند. سوم، مهمان موقت میتواند با ارتباط مستقیم با قفل و تغییر ساعت، expiration را دور بزند یا کاربران معتبر را از دسترسی خارج کند. چهارم، telemetry API authentication ناکافی دارد و مهاجمی که device ID را بداند میتواند event جعل یا از upload رویداد واقعی جلوگیری کند. پنجم، malformed message میتواند memory را overwrite/leak کرده یا قفل را تا reboot از کار بیندازد.
طبق مقاله، Attackهای ۱، ۲ و ۵ مخصوص D1000 و Attackهای ۳ و ۴ احتمالاً قابل تعمیم به دیگر محصولات Master Lock هستند. ریشه مشکلات شامل ایجاد نادرست secure channel میان قفل و سرور به دلیل خطاهای cryptographic design، اتکا به code obfuscation برای پنهانکردن secretها و ضعف در identity/data authentication است. یافتهها به شرکت گزارش شدند و اقدامات mitigation انجام شد. نویسندگان بر تحلیل بیشتر پروتکلهای smart lock و ساخت framework امن برای ارتباط دستگاههای IoT در مسیرهای چندپروتکلی و شامل دستگاههای غیرقابل اعتماد تأکید میکنند.
قدردانی
Danielle Dang، Sierra Lira و Angela Tsai این پروژه را در چارچوب Early Research Scholar Program (ERSP) در UC San Diego انجام دادند؛ برنامهای که Christine Alvarado، Ruanqianqian (Lisa) Huang و Javahir Abbasova اجرا میکنند و دانشجویان سال دوم را طی یک پروژه یکساله با پژوهش آشنا میکند. Miro Haller از Google PhD Fellowship حمایت شد. نویسندگان از تیم امنیتی Fortune Brands Connected Products برای تجربه مثبت disclosure و اشتراکگذاری تحلیل و تصمیمهای طراحی تشکر کردند و از Keegan Ryan برای تلاش در استخراج Firmware قفل سپاسگزارند.
منابع
- Ben Ramsey و Anthony Rose، Picking bluetooth low energy locks from a quarter mile away، ارائه در DEF CON 24، ۲۰۱۶.
- Morris Dworkin، Recommendation for block cipher modes of operation: The CCM mode for authentication and confidentiality، ۲۰۰۷.
- Earlence Fernandes، Jaeyeon Jung و Atul Prakash، Security analysis of emerging smart home applications، IEEE Symposium on Security and Privacy، ۲۰۱۶، صفحات 636–654.
- Aurélien Francillon، Boris Danev و Srdjan Capkun، Relay attacks on passive keyless entry and start systems in modern cars، NDSS 2011.
- Hussein Hazazi و Mohamed Shehab، Exploring the usability, security, and privacy of smart locks from the perspective of the end user، SOUPS 2023، صفحات 559–577.
- Grant Ho، Derek Leung، Pratyush Mishra، Ashkan Hosseini، Dawn Song و David Wagner، Smart locks: Lessons for securing commodity internet of things devices، ASIA CCS 2016، صفحات 461–472.
- Jmaxxz، Backdooring the frontdoor، DEF CON 24، ۲۰۱۶.
- Jakob Jonsson، On the security of CTR + CBC-MAC، Selected Areas in Cryptography، ۲۰۰۳، صفحات 76–93.
- Edward Knight، Sam Lord و Budi Arief، Lock picking in the era of Internet of Things، TrustCom/BigDataSE، ۲۰۱۹، صفحات 835–842.
- Silicon Laboratories، Introduction to Matter، ۲۰۲۵.
- Albert Levi، Erhan Çetintaş، Murat Aydos، Çetin Kaya Koç و M. Ufuk Çaglayan، Relay attacks on bluetooth authentication and solutions، ISCIS 2004، صفحات 278–288.
- Angela M. Lonzetta، Peter Cope، Joseph Campbell، Bassam J. Mohd و Thaier Hayajneh، Security vulnerabilities in Bluetooth technology as used in IoT، Journal of Sensor and Actuator Networks، 7(3)، ۲۰۱۸.
- Shrirang Mare، Franziska Roesner و Tadayoshi Kohno، Smart devices in airbnbs: Considering privacy and security for both guests and hosts، Proceedings on Privacy Enhancing Technologies، ۲۰۲۰.
- Master Lock Vault، اطلاعات و راهنمای محصول Vault.
- Master Lock Vault Enterprise User Guide.
- Grand View Research، Smart lock market size and share, industry report, 2030، ۲۰۲۵.
- Michael Sainato، گزارش درباره کارخانه Master Lock در Milwaukee، The Guardian، ۲۰۲۳.
- Konstantin Serebryany، Derek Bruening، Alexander Potapenko و Dmitriy Vyukov، AddressSanitizer: A fast address sanity checker، USENIX ATC 2012، صفحات 309–318.
- Girish Sharma، M Mabrishi، K Hiran و Ruchi Doshi، Reverse engineering for potential malware detection: Android apk smali to java، Journal of Information Assurance & Security، 15(1):26–34، ۲۰۲۰.
- Chia-Sheng Tsai و Cheng-I Hung، An enhanced secure mechanism of access control، ۲۰۱۰، صفحات 119–122.
- Mengmei Ye، Nan Jiang، Hao Yang و Qiben Yan، Security analysis of Internet-of-Things: A case study of August smart lock، IEEE INFOCOM Workshops، ۲۰۱۷، صفحات 499–504.
- Xin’an Zhou، Jiale Guan، Luyi Xing و Zhiyun Qian، Perils and mitigation of security risks of cooperation in Mobile-as-a-Gateway IoT، ACM CCS 2022، صفحات 3285–3299.
ضمیمه A — نتایج بیشتر مهندسی معکوس
A.1. ویژگیهای UUID در BLE
جدول ۳ UUIDهای ارتباطی BLE استخراجشده در مهندسی معکوس را نشان میدهد.
جدول ۳ — UUIDهای مرتبط برای ارتباط تلفن و قفل Master Lock| نام کوتاه | توضیح |
| UUIDdevice | UUID سرویس عادی |
| UUIDboot | UUID سرویس bootloader برای Firmware update |
| UUIDconn-char | UUID characteristic ارتباطی |
| UUIDconn-desc | UUID descriptor: 00002902-0000-1000-8000-00805f9b34fb |
A.2. ساختار باینری Profile و Firmware Update
cmdfirmware و profile P مستقیماً از API server به قفل relay میشوند و تلفن آنها را parse نمیکند. با بررسی نمونهها، پژوهشگران استنباط کردند هر دو با شش بایت nonce کوتاه ns، سپس دو بایت طول داده big-endian، داده و در پایان MAC هشتبایتی آغاز میشوند. پس از حذف ns ششبایتی، ساختار با خروجی CmdEnc سازگار است؛ بنابراین احتمال داده شد cmdfirmware و P نیز از AES-CCM سفارشی استفاده کنند.
این نتیجه نشان میدهد SDK server و enterprise API server باید برای هر قفل symmetric secret keyای داشته باشند که در قفل تعبیه شده است. پژوهشگران نمیدانند آیا این کلید میان قفلهای مختلف متفاوت است، زیرا فقط یک قفل برای آزمایش در اختیار داشتند. آنها فرض کردند plaintext پروفایل P حدود ۵۴ بایت است و احتمالاً شامل session key سیودوبایتی، access start time چهار بایتی، access end time چهار بایتی، user ID چهار بایتی، device ID ششبایتی و چهار بایت ناشناخته دیگر است. این فرضها قابل تأیید نبودند، زیرا app پروفایل P را parse نمیکند و Firmware و symmetric secret key از قفل استخراج نشد.
پایان سند ترجمهشده. متن بر اساس PDF ارسالی تنظیم شده و عنوانها، ساختار فصلها، جدولها، الگوریتمها، شکل معماری، منابع و پیوست در سه صفحه توزیع شدهاند.