خانه های هوشمند، جنبه ای از اینترنت اشیاء، نوید بهبود بهره وری انرژی و کنترل امنیت خانه را ارائه می دهند. ادغام دستگاه های مختلف در هم، می تواند برنامه نویسیِ آسانِ بسیاری از دستگاه ها در گوشه و کنار خانه، از جمله لوازم خانگی، دوربین و حسگرهای زنگ را به کاربران ارائه دهد. سیستم های متعددی می توانند از این نوع برنامه ها استفاده کنند، مانندSamsung SmartThings ، Google Brillo / Weave ، Apple HomeKit، Allseen Alljoynو Amazon Alexa.
اما خطرات امنیتی نیز وجود دارد. سیستم های خانه هوشمند می توانند صاحبان را در معرض تهدیدهای جدی مانند آتش سوزی، باج گیری، سرقت و اخاذی قرار دهند. تحقیقات امنیتی فعلی بر روی دستگاه های فردی و نحوه ارتباط آنها با یک دیگر متمرکز شده است. با داشتن خانه های هوشمند، و به طور کلی اینترنت اشیاء، مزایای بزرگی حاصل می شود که در نهایت منجر به بهبود کیفیت زندگی می گردد، اما با توجه به نقاط ضعف امنیتی در سیستم های امروزی، در این مورد احتیاط لازم است. به عنوان مثال، سیستم گاراژ MyQ میتواند به یک ابزار نظارتی تبدیل شود و هنگامی که یک درب گاراژ باز و سپس بسته شد، به سارقان هشدار داده می شود و به آنها اجازه می دهد بعد از ترک ساکنان دو باره آن را از راه دور باز کنند. پروتکل ارتباطی محبوب ZigBee می تواند به مهاجمان اجازه دهد به شبکه خانگی مطمئن بپیوندند.
تنها تحقیقات اندکی متمرکز شده است بر این که هنگام پیوستن این دستگاه ها به یک سیستم هماهنگ چه اتفاقی می افتد. ما مصمم شدیم که تعیین کنیم دقیقاً این خطرها چه می توانند باشند به این امید که به طراحان پلت فرم زمینه هایی را نشان دهیم که در آنها باید نرم افزارشان را بهبود بخشند تا به گونه ای بهتر از امنیت کاربران در سیستم های خانه های هوشمند آینده محافظت کنند.
تصویر: خط تولید محصول محبوب SmartThings. Zon@ IT/YouTube, CC BY
ارزیابی امنیت پلت فرم های خانه هوشمند
ابتدا، ما برای درک منظر چارچوب های برنامه نویسی خانه های هوشمند، اکثر پلت فرم های فوق را مورد بررسی قرار دادیم. ما بررسی کردیم که چه سیستم هایی وجود دارند و چه ویژگی هایی را ارائه می دهند. ما همچنین بررسی کردیم که آنها با چه دستگاه هایی می توانند ارتباط برقرار کنند ، آیا آنها از برنامه های شخص ثالث پشتیبانی می کنند، و چند برنامه در فروشگاه های برنامه های آنها وجود دارد. و مهمتر از همه، ما به ویژگی های امنیتی آنها توجه کردیم.ما تصمیم گرفتیم تا درباره SmartThings به تحقیق عمیق تر بپردازیم زیرا یک سیستم نسبتاً کامل است و 521 برنامه در فروشگاه برنامه خود دارد و از 132 نوع دستگاه اینترنت اشیاء برای خانه پشتیبانی می کند. علاوه بر این، SmartThings دارای تعدادی از شباهت های مفهومی با دیگر سیستم های جدیدتر است که به نحو گسترده تری بینش های ما را به طور بالقوه مربوط می سازد. به عنوان مثال، SmartThings و سایر سیستم ها برنامه نویسی ماشه ای را ارائه می دهند، که به شما امکان می دهند سنسورها و رویدادها را به جنبه های خودکار خانه خود متصل کنید. این نوع توانایی است که می تواند چراغ های مسیرهای پیاده رو را روشن کند وقتی که یک ردیاب حرکتی مسیر خودرو حس کند که اتومبیلی دارد وارد می شود، یا می تواند هنگامی که چراغ اتاق خواب خود را در شب خاموش می کنید مطمئن شود که درب گاراژ شما بسته است.
ما سیستم و 499 برنامه SmartThings (که به آن SmartApps نیز گفته می شود) از فروشگاه های برنامه SmartThings را برای حفره های امنیتی بالقوه تست کردیم و به دنبال درک این مسئله بودیم که این نقص های امنیتی چقدر شایع بوده اند.
پیدا کردن و حمله به نقاط ضعف اصلی
ما دو دسته عمده آسیب پذیری را پیدا کردیم: امتیازات بیش از حد لزوم و پیام رسانی ناامن.SmartAppهای بیش از حد امتیازدار: اسمارتاپ ها دارای امتیازات ویژه ای برای انجام عملیات خاص بر روی یک دستگاه هستند مانند روشن کردن و خاموش کردن اجاق گاز یا قفل و باز کردن درب. این ایده شبیه برنامه های تلفن های هوشمند است که مجوزهای مختلفی از آنها درخواست می شود، از جمله استفاده از دوربین یا به دست آوردن موقعیت فعلی تلفن. هنگامی که کاربر مجاز یک کد پین جدید را برای قفل درب ایجاد می کند، خود قفل با ارسال یک پیام تأیید به شبکه، کد تغییر یافته را تأیید می کند. این امتیازات در کنار هم گروه بندی می شوند. به جای گرفتن مجوز جداگانه یک بار برای قفل کردن یک درب و بار دیگر برای باز کردن آن، به یک برنامه اجازه داده می شود هر دو را انجام دهد - حتی اگر لازم نباشد.
به عنوان مثال، برنامه ای را تصور کنید که می تواند به طور خودکار بعد از ساعت 9 بعد از ظهر یک درب خاص را قفل کند. سیستم SmartThings همچنین به آن برنامه توانایی باز کردن قفل درب را اعطا می کند. یک توسعه دهنده برنامه نمی تواند فقط مجوز قفل کردن درب را درخواست کند.
بیش از نیمی - 55 درصد - از 499 SmartApps که مورد مطالعه قرار دادیم، به عملکردهایی بیشتر از آن چه نیاز داشتند دسترسی داشتند.
سیستم پیام رسانی ناامن SmartApps: اسمارتاپ ها می توانند با تبادل پیام ها با دستگاه های فیزیکی ارتباط برقرار کنند، که می تواند شبیه پیام های فوری مبادله شده بین افراد باشد. دستگاه های SmartThings برای باز کردن قفلی خاص، پیام هایی را می توانند ارسال کنند که شامل داده های حساسی مانند کد PINهستند.
ما دریافتیم که تا زمانی که SmartApp حتی ابتدایی ترین سطح دسترسی به یک دستگاه را داشته باشد (مانند اجازه برای نشان دادن این که چقدر از عمر باتری باقی مانده است)، می تواند تمام پیام هایی را که دستگاه فیزیکی تولید می کند، دریافت کند – و نه فقط آن پیام هایی که در مورد وظایفی است که آن دستگاه امتیاز انجام آنها را دارد. بنا بر این مثلاً یک برنامه که فقط برای خواندن سطح شارژ باتری قفل درب است می تواند به پیام هایی که حاوی کد پین قفل درب هستند نیز گوش کند.
علاوه بر این، ما دریافتیم کهSmartAppها می توانند تجهیزات خانه هوشمند را "جعل هویت" کنند، و پیام هایی از خود را ارسال کنند که شبیه پیام هایی است که توسط دستگاه های فیزیکی واقعی ایجاد می شود. SmartApp مخرب می تواند شناسه شبکه را برای دستگاه فیزیکی بخواند و با آن شناسه سرقت شده پیامی ایجاد کند. آن برنامه ی در سطح باتری، حتی می تواند به طور پنهانی پیامی را ارسال کند که گویی قفل درب است، و به طور مثال به دروغ گزارش کند که درب باز شده است.
SmartThing ها اطمینان نمی دهند که فقط دستگاه های فیزیکی می توانند پیام هایی با شناسه خاص ایجاد کنند.
حمله به نقص های طراحی
برای این که فراتر از نقاط ضعف بالقوه، به نقض های امنیت واقعی بپردازیم، چهار حمله آزمایشی اثبات مفهوم ایجاد کردیم تا نشان دهیم چگونه مهاجمان می توانند نقص های طراحی که در SmartThings پیدا کردیم را ترکیب و از آنها بهره برداری کنند.در اولین حمله مان، ما برنامه ای ساختیم که متعهد می شد میزان باتری دستگاه های مختلف بی سیم در اطراف خانه، مانند سنسور حرکت، ردیاب نشت و قفل درب، را کنترل کند. با این حال، پس از نصب توسط یک کاربر بی خبر از خطر، این برنامه ی به ظاهر خوش خیم، برنامه ریزی شد تا از پیام های دیگر ارسال شده توسط آن دستگاه ها جاسوسی کند و یک آسیب پذیری اساسی را در معرض بگذارد.
هنگامی که کاربر مجاز یک کد پین جدید را برای قفل درب ایجاد می کند، خود قفل با ارسال یک پیام تأیید به شبکه، کد تغییر یافته را تأیید می کند. این پیامِ حاوی کد جدید است که می تواند توسط برنامه مخرب نظارت بر باتری خوانده شود. سپس برنامه می تواند کد را از طریق پیامک متنی به طراح خود ارسال کند – و به طور مؤثر یک کلید خانه را مستقیماً به یک متجاوز آینده می فرستد.
در حمله دوم مان، ما توانستیم از ارتباطاتی که بنا بر فرض ایمنند بین SmartApp و برنامه موبایل اندروید همراه آن جاسوسی کنیم. این به ما اجازه داد تا برنامه اندرویدی را جعل کنیم و دستوراتی را به SmartApp ارسال کنیم - مانند ایجاد یک کد پین جدید که به ما اجازه ورود به خانه را می داد.
حملات سوم و چهارم ما شامل نوشتنSmartAppهای مخرب بود که قادر به استفاده از سایر نقص های امنیتی بودند. یک SmartApp سفارشی توانست "حالت تعطیلات" را غیرفعال کند، که یکی از ویژگی های محبوب شبیه سازی تصرف است. ما یک سیستم خانه هوشمند را از روشن و خاموش شدن چراغ ها به هنگام اشغال خانه باز داشتیم و اگر در غیر این صورت رفتار می کرد (یعنی چراغ ها خاموش و روشن می شد) پیام آور این بود که گویا خانه اشغال شده است. یکSmartApp سفارشی دیگر با تظاهر به این که یک سنسور مونوکسید کربن بود، توانست به دروغ زنگ خطر آتش سوزی را به صدا در آورد.
اتاق بهبود
با برداشتن یک قدم به عقب، اجازه دهید بپرسیم خانه های هوشمند به طور کلی به معنای چیست؟ آیا این نتایج، نشانگر کلِ صنعت هستند؟ آیا خانه های هوشمند همیشه می توانند امن باشند؟با داشتن خانه های هوشمند، و به طور کلی اینترنت اشیاء، مزایای بزرگی حاصل می شود که در نهایت منجر به بهبود کیفیت زندگی می گردد، اما با توجه به نقاط ضعف امنیتی در سیستم های امروزی، در این مورد احتیاط لازم است.
این فن آوری های جدید در مراحل نوظهور هستند و کاربران باید در مورد این که آیا با دادن دسترسی از راه دور به دستگاه هایشان به اشخاص ثالث (به عنوان مثال برنامه ها یا سیستم عامل های خانه های هوشمند) راحت هستند فکر کنند. بیش از نیمی - 55 درصد - از 499 SmartApps که مورد مطالعه قرار دادیم، به عملکردهایی بیشتر از آن چه نیاز داشتند دسترسی داشتند. به عنوان مثال، شخصاً، اهمیتی نمی دهم که به فن آوری های خانه های هوشمند دسترسی از راه دور به پنجره پوش ها یا لامپ های روی میزم بدهم. اما احتیاط می کنم که روی ایمنی خود در موارد قفل درب، دزدگیر آتش و اجاق گاز قمار کنم، زیرا این ها وسایل امنیتی و حساسی هستند. در صورت سوء استفاده، این سیستم ها می توانند به ایراد صدمات جسمی اجازه دهند - یا حتی باعث آن شوند.
با این حال، اگر سیستم هایی بهتر طراحی شوند تا خطرات خرابی را کاهش دهند یا مصالحه ای صورت دهند، و از امنیت کاربران بهتر محافظت کنند، ممکن است این ارزیابی را تغییر دهم.
منبع: ایِرلنس فرماندز - University of Michigan