۱۰ آسیب پذیری اینترنت اشیا (IoT) از دیدگاه اُوَسپ- The OWASP IoT Top 10

0 53
۵/۵ - (۵ امتیاز)

فهرست

اینترنت اشیا (Internet Of Things) یا IoT امکانات جذابی در اختیار کاربران در سطوح مختلف جوامع گذاشته است. می توان تاثیر اینترنت اشیا را از خانه های کوچک تا صنایع بزرگ به وضوح درک کرد. اما هر پدیده ای در دنیا که فواید و راهکارهای مناسبی برای کارایی بهتر ارائه می دهد ممکن است چالش هایی را نیز به وجود آورد. می توان گفت بزرگترین چالش و نگرانی در مورد اینترنت اشیا بحث امنیت است. در این مقاله ۱۰ تا از آسیب پذیری های مهمی که باعث می شوند اینترنت اشیا ناامن شود را بررسی می کنیم. این ۱۰ مورد طبق معمول توسط OWASP ارائه شده است.

۱۰ آسیب پذیری اینترنت اشیا از دیدگاه OWASP

همانطور که میدانیم OWASP یا Open Web Application Security Project یک کمیته آنلاین است که موارد مختلفی از جمله اسناد و مقالات، ابزارها، متدولوژی ها و… را به صورت رایگان در زمینه امنیت (شروع با امنیت برنامه های تحت وب) در اختیار قرار می دهد. در این مقاله در مورد ۱۰ آسیب پذیری برنامه های تحت وب صحبت شده است. اما برخلاف نام آن، OWASP تنها در مورد امنیت برنامه های تحت وب (و اساسا امنیت وب) فعالیت نمی کند. برای نمونه در همین مقاله می خواهیم در مورد امنیت اینترنت اشیا از دید OWASP صحبت کنیم. پروژه های مختلفی که تحت OWASP به وجود می آیند این سوتفاهم و درک غلط را از بین می برند که OWASP تنها در زمینه برنامه های تحت وب فعالیت می کند (برای مثال OWASP پروژه پاسخ به حادثه یا Incident Response نیز دارد). برخی تصور می کنند پروژه اینترنت اشیا OWASP نیز در مورد برنامه های تحت وب صحبت می کند (واسط هایی که از اینترنت اشیا، تحت وب، در اختیار کاربر قرار می گیرد)، اما در همین مقاله میبینیم که اینطور نیست!
باری، به معرفی و بررسی ۱۰ آسیب پذیری اینترنت اشیا (چالش های امنیتی اینترنت اشیا) از دید OWASP می پردازیم.

۱- کلمه عبور ضعیف، قابل حدس یا هارد کد شده – Weak, Guessable or Hardcoded Passwords

این آسیب پذیری در همه جا می تواند وجود داشته باشد. اخیرا در یک پروژه باگ باونتی (Bug Bounty) که مربوط به تست ایستای سورس کد یکی از محصولات نرم افزاری یک کمپانی معروف کانادایی بود دیدیم که نام کاربری و کلمه عبور مربوط به سرور پایگاه داده در کد هارد کد شده بود! اصلا قرار نیست تصور کنید اگر شخصی مدت زیادی است در یک شرکت بزرگ توسعه انجام می دهد از این اشتباهات نمی کند. طبیعی است که در این موارد مهاجم لازم نیست خود را به دردسر بیاندازد و سراغ روش های پیشرفته نفوذ برود. کلمه عبور موجود است، پس از آن استفاده کنید!
بسیاری از دستگاه های IoT، خصوصا آن هایی که با واسط های (Interface) مختلف (مثلا وب) ارائه می شوند امکانی برای تنظیم مجدد کلمه عبور به مصرف کننده نمی دهند و همین موضوع باعث می شود این آسیب پذیری مهم ترین و آسیب پذیری شماره ۱ از دیدگاه OWASP باشد. از اقداماتی که در نتیجه این آسیب پذیری از یک مهاجم بر می آید می توان به نصب درب پشتی یا بکدور (Backdoor)، ساخت بات نت (Botnet)، حملات منع سرویس (DoS/DDoS) و… اشاره کرد.

۲- سرویس های ناامن شبکه – Insecure Network Services

اگر همین الان دوری در سیستم عامل خود بزنید و سرویس هایی که در حال اجرا هستند را لیست کنید متوجه می شوید که سرویس هایی روی سیستم شما در حال اجرا هستند که اصلا لازم نیستند. این سرویس ها به دلایل مختلف نصب می شوند و پس از مدتی دیگر به کار نمی آیند اما همانطور به حیات خود ادامه می دهند. در اینترنت اشیا نیز همین مساله وجود دارد. سرویس هایی روی دستگاه های IoT فعال هستند که اصلا نیاز نیست وجود داشته باشند. بعضی از این سرویس ها نا امن نیز هستند. برای مثال فرض کنید یک سرویس قدیمی در حال اجرا است که به روز نیست که هیچ، از طریق اینترنت نیز می توان به آن دسترسی داشت. این فاجعه است (در مورد اهمیت به روز رسانی و سیستم های مدیریت وصله این مقاله را ببینید). این مورد نیز می توان سه راس امنیت یعنی محرمانگی یا Confidentiality ، صحت یا Integrity و در دسترس بودن یا Availability را خدشه دار کند. از اقداماتی که در نتیجه این آسیب پذیری از یک مهاجم بر می آید می توان به نصب درب پشتی یا بکدور (Backdoor)، ساخت بات نت (Botnet)، حملات منع سرویس (DoS/DDoS) و… اشاره کرد

۳- واسط های ناامن اکوسیستم اینترنت اشیا – Insecure Ecosystem Interfaces

باید بتوان با یک دستگاه IoT ارتباط برقرار کرد و آن را کنترل کرد. این ارتباط طبیعتا توسط یک سری واسط یا Interface میسر می شوند. این واسط ها می توانند وب (Web)، موبایل (Mobile)، ابر (Cloud) یا API های سفارشی باشند. فکر میکنم مشکل کار واضح شد: آسیب پذیری در هر یک از این واسط ها سطح حمله را گسترش داده و امنیت اینترنت اشیا را به خطر می اندازد. حال هر آسیب پذیری ای که در یکی از واسط ها وجود داشته باشد به کل IoT نیز سرایت می کند.

۴- عدم وجود مکانیزهای بروزرسانی امن – Lack of Secure Update Mechanisms

باز هم بروزرسانی! در آکادمی ترجنس واقعا مقالات زیادی در مورد اهمیت بروزرسانی و عواقب عدم توجه به آن نوشته شده است (برای مثال این، این و این مقاله را ببینید). عدم توانایی در بروزرسانی امن در دستگاه های IoT چالشی است که شبکه را ناامن می کند. در بریتانیا قانونی تصویب شد که تامین کنندگان دستگاه های IoT باید حداقل زمانی را برای بروزرسانی امنیتی دستگاه های مشتریان در نظر بگیرند. اما همه ی مساله این نیست. شیوه ارائه فایل های بروزرسانی نیز مهم است. برای مثال فایل ها نباید به صورت فاش روی شبکه منتقل شوند. همچنین باید اعتبار Firmware دستگاه مکررا و به صورت امن بررسی شود. گاهی نیز پیش می آید که پس از بروزرسانی مهاجم قادر است بروزرسانی را برگشت داده یا Rollback کند. مکانیزهای Anti-Rollback نیز اهمیت فراوانی دارند.

۵- استفاده از مولفه های خارج از رده و ناامن – Use of Insecure or Outdated Components

این مورد با مورد ۲ اشتراکاتی دارد اما نباید با مورد ۴ اشتباه گرفته شود چرا که مورد ۴ مکانیزم و روش بروزرسانی را مورد بحث قرار می دهد اما مورد ۵ (و مورد ۲ به صورت غیر مستقیم) خود بروزرسانی را بررسی می کنند.
همانطور که می دانیم این موضوع تنها به اینترنت اشیا تعلق ندارد. استفاده از مولفه های ناامن (مثل Firmware های خارج از رده، کتابخانه های قدیمی و…) سطح حمله مولفه استفاده کننده را افزایش می دهد. از طرفی اکسپلویت آسیب پذیری های شناخته شده نیز به طور عمومی در دسترس هستند و کار مهاجم ساده است.

۶- حفاظت ناکافی از حریم خصوصی – Insufficient Privacy Protection

دستگاه های اینترنت اشیا ممکن است اطلاعاتی را ذخیره، پردازش یا منتشر کنند. اگر این سه عمل به صورت ناامن و بدون اجازه کاربر صورت گیر مساله نقض حریم خصوصی پیش می آید. حفاظت ناصحیح و ضعیف از داده های کاربران ( و به طور کلی داده هایی که افشا آن ها می تواند موجب نقض حریم خصوصی شود) یکی دیگر از آسیب پذیری هایی است که به کرات در دستگاه های IoT دیده می شود.

۷- ذخیره و انتقال ناامن داده – Insecure Transfer and Storage

ذخیره سازی ناامن بین سه مورد دیگر در آسیب پذیری شماره ۶ بسیار شایع است. برای مثال فرض کنید بعضی دستگاه ها اطلاعات کاربر (مثل توکن، کلمه عبور و…) را به صورت فاش در محل مشخصی از حافظه دستگاه ذخیره می کنند که این موضوع می تواند کل حریم خصوصی و امنیت را به خطر بیاندازد. یک مثال این است که اگر موبایل را یک دستگاه هوشمند در نظر بگیریم، رمز ورود به یک برنامه در موبایل در یک فایل آن هم به صورت فاش ذخیره شود. این مورد را به کرات در تست نفوذ اندروید مشاهده کرده ایم. در مورد انتقال داده نیز مشکل خاصی داریم. برای مثال انتقال داده توسط دستگاه (یه به دستگاه) روی یک کانال ناامن حملاتی چون حمله مرد میانی یا Man-in-the-Middle (MitM) را سهولت می بخشد و موجب افشای اطلاعات می شود.

۸- عدم مدیریت دستگاه – Lack of Device Management

هر دستگاهی که با شبکه در ارتباط و تعامل است نیاز به مدیریت دارد. مدیریت موثر یک دستگاه با اطلاع از آن در شبکه به لحاظ امنیتی برابری می کند. مدیریت دستگاه می تواند شامل، مانیتورینگ (Monitoring)، مدیریت بروزرسانی (Update Management)، از کار انداختن ایمن (Secure Decommissioning) و قابلیت پاسخ می باشد. در مورد از کار انداختن صحیح می توانید به خاموش کردن دستگاه به طور امن فکر کنید. یعنی اطمینان از خاموش شدن و از کار افتادن دستگاه خود یک عنصر مهم در اطمینان از امنیت شبکه است. بنابراین مدیریت دستگاه از اهمیت بالایی برخوردار است چرا که این دستگاه ها هستند که یک شبکه از دستگاه هار را می سازند.

۹- تنظیمات پیش فرض ناامن – Insecure Default Settings

یک مودم قدیمی دارم که قسمت زیر بدنه آن یک برچسب چسبانده شده که نام کاربری و کلمه عبور ادمین روی آن چاپ شده است. نام کاربری برابر admin و کلمه عبور نیز برابر admin است. من هنوز از این مودم استفاده میکنم و جالب است بدانید تا همین ماه پیش کلمه عبور آن را تغییر نداده بودم! در دستگاه های مختلف تنظیمات پیش فرضی وجود دارند که واقعا ناامن هستند و کاربر نیز در اکثر موارد حوصله تعویض یا تصحیح آن ها را ندارد (مثل من!). بسیاری از این تنظیمات پیش فرض به طور عمومی در دسترس هستند. یک مورد امنیت خود این تنظیمات است (برای مثال استفاده از کلمه عبور یکسان برای تمامی دستگاه های IoT در یک دسته بندی که یک شرکت خاص آن ها را تولید می کند) و دیگری عدم اقدام کاربر یا مصرف کننده به تصحیح و تغییر آن ها. عکس قسمت زیر مودم قدیمی ام را ببینید:

modem default credentials

۱۰- عدم هاردنینگ فیزیکی (امنیت ضعیف فیزیکی) – Lack of Physical Hardening

عدم توجه به امنیت فیزیکی آخرین مورد از ۱۰ تا آسیب پذیری اینترنت اشیا از دیدگاه OWASP است. این مورد خیلی مهم است اما استفاده از آن کار راحتی نیست و برای همین کمتر پیش می آید. برای مثال فرض کنید پورت عیب یابی (Debug Port) یک دستگاه را غیرفعال نمی کنید یا آن را به صورت فیزیکی از دستگاه جدا نمی کنید. این مورد به مهاجم که دسترسی فیزیکی به دستگاه دارد امکان این را می دهد به دستگاه دسترسی پیدا کند. همینطور خارج کردن بدون دقت کارت حافظه نیز مورد دیگری است که می تواند اطلاعات مهم را افشا کند.

سخن پایانی

در این مقاله به معرفی و بررسی ۱۰ آسیب پذیری مهم در اینترنت اشیا از دیدگاه OWASP پرداختیم. این ۱۰ مورد تمامی آسیب پذیری های موجود نیستند و بلکه مهم ترین آن ها هستند. این لیست به شما کمک می کند در تست نفوذ با الویت پیش بروید. می توان گفت سایر آسیب پذیری ها را نیز می توان در یک یا چند بند از این ۱۰ آسیب پذیری قرار داد.

درباره ما

ترجنس | thregence.ir
آکادمی ترجنس | edu.thregence.ir
دوره‌های آکادمی ترجنس | courses.thregence.ir
اینستاگرام | instagram.com/thregence
تلگرام | t.me/thregence
یوتوب | https://bit.ly/30mGowo
آپارات | aparat.com/thregence

ارسال یک پاسخ