برقراری امنیت سامانههای مبتنی بر اینترنت چیزها دشوار است. در این مقاله آنچه که باید درباره امنیت دستگاههای IoT بدانید بیان میشود. امنیت برای هر وسیلهای که به اینترنت متصل است اهمیت دارد. دستگاههای متصل به اینترنت به عنوان درگاه هستند. آنها دسترسی به خدمات را برای شما امکانپذیر میکنند و درگاهها باید امن باشند. با مجله فناوریهای توانافزا و پوشیدنی همراه باشید.
ساخت دستگاههای مبتنی بر اینترنت این روزها بسیار داغ است. بنابراین باید بدانیم برای پروژههای مبتنی بر اینترنت چه نکاتی را باید بدانیم. اگر تا به حال یک سرور راهاندازی کرده باشید و گزارشهای (log) سرور را بررسی کنید، متوجه خواهید شد مقدار زیادی ترافیک ثبت شده است که تلاش شده به سرور شما دسترسی یابند.
یک دستگاه غیرایمن در شبکه نه تنها به خودش ضرر میرساند بلکه برای دیگر دستگاههای شبکه خطر به شمار میآید. آسانترین راه برای ایمنگردن یک دستگاه خاموش کردن آن است اما مطمئنا راهحل مناسبی به شمار نمیآید. راهکارهای زیادی برای محافظت دستگاههای مبتنی بر اینترنت چیزها وجود دارد. شاید به نظر برسد انجام روشهای برقراری امنیت دستگاهها کار آسانی نیست و کمی دلهرهآور است اما اگر گام به گام پیش برویم میتوانیم این روند را سادهتر انجام دهیم.
مشکلات امنیتی دستگاههای مبتنی بر اینترنت چیزها و روشهای حل آنها چیست؟
کلمات عبور و امنیت آنها:
پیش از هر چیز ما باید کلمههای عبور پیشفرض دستگاهها را تغییر دهیم. امنیت وب وابسته به دو هدف است: دور نگه داشتن دستگاه از دسترسی غیرمجاز به منابع و حصول اطمینان از از دسترسی مجاز به منابع. اگر دستگاه شما اطلاعات متفاوتی برای افراد متفاوت فراهم میکند، شما باید سامانهای فراهم کنید که دسترسی افراد به دستگاه شما بر اساس سطح دسترسی آنها به اطلاعات متفاوت باشد. برای نمونه میتوان یک سامانه ورود (login system) تعریف کرد. از راههای مختلفی میتوان به این سامانه دست یافت. شناسه نشست (session ID) و یا کوکیهای همراه با کلمه عبور از جمله این راهها هستند.
نشست در علوم رایانه به مجموعه عملیاتی که پس از برقراری یک ارتباط بین دو فرایند و با یک توافق اولیه آغاز و سپس یک سری تراکنش ادامه مییابد و سپس در روالی هماهنگ و مورد توافق ختم می شود گفته میشود. Session ها در سطح برنامه و در مرورگر توسط شناسههای منحصر به فردی که درSession ID آنها نگهداری میشود، شناسایی میشوند . همچنین این شناسه به سرور کمک می کند تا در پاسخ های ارسالی به مرورگر بتواند Session ها را از هم تشخیص داده و اطلاعات مرتبط را ارسال نماید.
این نکته بسیار مهم است که شما کلمههای عبور یا شناسه نشست را در کوکیها ذخیره نکنید. دسترسی به کوکیها و به دستآوردن اطلاعات ورود در این حالت آسان خواهد بود. کلمه عبور همیشه باید رمزنگاری (Hash) باشد. کلمه عبور اگر به درستی هش شده باشد قابل دسترسی نخواهد بود. معمولا با روش نمک (salting) میتوان رشته کاراکترهای تصادفی به کلمه عبور افزود تا شکستن کلمه عبور برای هکرها امکانپذیر نباشد.
نرمافزارهای قدیمی با آسیبپذیریهای شناخته شده:
هیچگاه از نسخههای قدیمی یک نرمافزار استفاده نکنید. به روز شدن پیوسته نرمافزارها دلیل دارد. از نسخههای جدید نرمافزار استفاده کنید حتی اگر بهبود مشکلات امنیتی نرمافزار در به روز رسانی جدید اشاره نشده است. تارنماهایی وجود دارند که آسیبپذیریها و اشکالات امنیتی نرمافزار را توضیح میدهند. اشکالات امنیتی نرمافزار مورد استفاده خود را در این تارنماها بررسی کنید. به احتمال زیاد فکر میکنید افرادی که اشکالات امنیتی و باگهای یک نرمافزار را پیدا میکنند خوب نیستند. در صورتی که کاملا برعکس است و اطلاعات این افراد برای شما و توسعهدهندگان بسیار مفید است. درست است که این اطلاعات به هکرها کمک میکنند که راهی برای هک کردن نسخههای قدیمی پیدا کنند اما اگر نسخه نهایی و به روز شده نرمافزار معتبر را تهیه کنید فراهمکنندگان اشکالات امنیتی را برطرف کردهاند.
اگر به امکانات دستگاه خود نیازی ندارید آن را فعال نکنید:
فرض کنید دستگاه شما مبتنی بر سیستم عامل لینوکس است. پروتکلهای زیادی برای ارتباط با دیگر دستگاهها و شبکه وجود دارد. برای نمونه میتوان پروتکلهای SMB، SSH، Telnet، FTP و VNC را نام برد. شما باید تصمیمگیری کنید از کدام یک از این پروتکلها برای اتصال به شبکه و برقراری ارتباط میخواهید استفاده کنید. اگر به پروتکلی نیاز ندارید آن را فعال نکنید. راههای ارتباطی مانند درگاههای دستگاه شما هستند. هرچه تعداد درگاهها کمتر باشند راههای کمتری در اختیار هکر قرار میدهید. دیگر پیشنهاد به شما این است که در پروتکل امن SSH، قابلیت کاربر ریشه (root user) را غیرفعال کنید و حساب کاربری جدیدی بسازید. احتمال حمله به کاربر ممتاز زیاد است. در سیستمعاملهای مشابه لینوکس به کاربری که از تمام حقوق و امتیازات (فایلها و برنامهها) در تمام حالتها (تککاربره یا چند کاربره) برخوردار است، کاربر ریشه گفته میشود. اگر میخواهید که از راه دور به سامانه خود دسترسی داشته باشید، از کلمه عبور هشت کاراکتری شامل عدد و حرف بزرگ و کاراکترهای تصادفی و عجیب و غریب اسفاده کنید. اگر برای کلمه عبور از یک کلمه و اعداد ۱۲۳ استفاده میکنید توسط هکرها در کمتر از یک دقیقه به راحتی قابل حدس زدن است.
از فاش کردن اطلاعات بیش از حد پرهیز کنید:
افشای اطلاعاتی که به حملهکننده کمک میکند حمله پیچیدهتری اجرا کند خطر بزرگی است. سرور دستگاه IoT ممکن است اطلاعات بیش از آنچه شما انتظار دارید در اختیار قرار دهد. حتی اطلاعاتی که به نظر شما مهم نیستند. به عنوان نمونه میتوان برخی وبسایتها را نام برد که به جای پنهان کردن مکان واقعی فایلهای سرور، به صورت مستقیم با آنها در ارتباط هستند. شما یک وب سرور (web directory) دارید تا فایلهای خود را در آن قرار دهید. مجوزهایی نیز درنظرگرفته شده است تا دسترسی به فراتر از این فهرست امکانپذیر نباشد.
بخش سمت سرور (back end) را در دسترس قرار ندهید. اگر اشکال امنیتی در وب اسکریپت تارنمای شما وجود داشته باشد و بخش سمت سرور دردسترس باشد حملهکننده اجازه دسترسی پیدا میکند. کارساز اچتیتیپی آپاچی که برنامه اجرایی Server HTTP در محیط رایانهای است به لحاظ امنیتی به حفاظت سرورها و برنامههای موجود در آنها کمک میکند. متداولترین استفاده از ویژگیهای این برنامه htaccess است. بنابراین شما نباید اطلاعات بیشتر از آنچه که سرور برای فراهم کردن خدمات نیاز دارد افشا کنید. اگر سرور شما دارای پایگاه داده (database) باشد آن را در دستگاهی دیگر نگهداری کنید. اگر امکان این کار نیست آن را تحت حفاظت برنامه دیوارآتش (firewall) قرار دهید.
تزریق اسکریپت از طریق وبگاه (XSS):
XSS یا Cross site scripting از روشهای نفوذ و گرفتن دسترسی غیر مجاز از یک وبگاه است که توسط یک هکر به کار میرود. در زمان گرفتن میزبانی وب برای فراهم ساختن فضایی که فایلهای وبگاه خود را در آن قرار دهید این نوع نفوذ را در نظر بگیرید.
حمله دسترسی فیزیکی:
اگر دستگاه IoT در مکانی باشد که دسترسی فیزیکی به آن آسان باشد، باید اطمینان حاصل کرد فردی نتواند از طریق رابطهای ارتباطی مانند صفحه کلید و USB دستوراتی از اسکریپت از پیش پیکربندی شده ارسال کند. اگر به USB دستگاه خود نیازی ندارید آن را به صورت نرمافزاری غیرفعال کنید یا حتی از برد سختافزاری دستگاه حذف کنید یا چسب اپوکسی روی آن بریزید. حتی درگاه PS/2 نیز باید ایمن باشد. این نکته را همیشه به یاد داشته باشید اگر به امکانات سختافزاری یا نرمافزاری نیاز ندارید آن را فعال نکنید.
در زمینه امنیت دستگاههای متصل به اینترنت بیشتر بخوانید:
>>اهمیت امنیت تجهیزات پزشکی در برابر حمله های سایبری
>>رویدادهای آینده: امنیت مجازی در رباتیک پوشیدنی
منبع: hackaday
استفاده و بازنشر این نوشتار تنها با ذکر لینک منبع و نام «مجلهی فناوریهای توان افزا و پوشیدنی» مجاز است.