اینترنت اشیا و راه‌های محافظت از آن در برابر نفوذگران

تاریخ انتشار: 6 سال پیش
آخرین بروزرسانی: 4 هفته پیش توسط wp71948829
110 بازدید
0 نظر

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

این فناوری بستری جهت اتصال و تعامل دستگاه های مختلف با یکدیگر و یا انسان فراهم می کند. برای نمونه افراد می توانند موجودی و تاریخ انقضا مواد خوراکی داخل یخچال خود را از طریق اینترنت مشاهده کنند و یا پلوپز خود را برای ساعتی مشخص روشن و یا خاموش کنند؛ باغچه حیاط منزل خود را از راه دور (مثلاً در زمانی که در سفر هستند) آبیاری کنند و یا شوفاژ خود را پیش از ورود به خانه روشن کنند تا ضمن صرفه جویی در مصرف انرژی، در زمان ورود به منزل با هوایی مطبوع و مناسب، مواجه شوند. خودروهای بدون سرنشین مثال دیگری از گستردگی استفاده از اینترنت اشیاء است. در واقع، اینترنت اشیا افراد را قادر می سازد تا اشیای مورد استفاده خود را از راه دور و به کمک زیرساخت های اینترنتی مدیریت و کنترل کنید.
کسب و کارها می توانند با استفاده از اینترنت اشیاء، هزینه های عملیاتی خود را کاهش و بهره وری را افزایش داده و با توسعه محصولات جدید، بازار خود را گسترش دهند.

اینترنت اشیاء (IoT: Internet of Things) چیست؟

اینترنت اشیاء یا IoT، سیستمی به‌هم‌پیوسته از تجهیزات رایانه‌ای، ماشین‌های مکانیکی یا دیجیتال، اشیاء، حیوانات یا افرادی است که با شناسه‌های منحصربه‌فرد (UID) هویت یافته‌اند. یک شیء در اینترنت اشیاء می‌تواند انسانی باشد که یک دستگاه پایش قلب در بدنش نصب شده است؛ یا دامی با یک ترانسپوندر بیولوژیک، یا خودرویی که با حسگرهای تعبیه‌شده در آن، راننده را از فشار کم لاستیک‌ها آگاه می‌کند یا هر شیء طبیعی یا مصنوع بشری دیگری که می‌تواند با اختصاص یک آدرس IP، داده‌ها را روی یک شبکه انتقال دهد.

امروزه، سازمان‌ها در صنایع و کسب‌وکارهای گوناگون، به‌‌شکلی فزاینده‌ از قابلیت‌های اینترنت اشیاء بهره می‌گیرند تا کارآمدتر و اثربخش‌تر عمل کنند؛ آنها با بهره‌مندی از دستاوردهای اینترنت اشیاء می‌توانند خدماتی بهینه‌تر به آنها ارائه کنند.

عبارت اینترنت اشیا، برای نخستین بار در سال ۱۹۹۹ توسط کوین اشتون مورد استفاده قرار گرفت؛ او در نظریه خود، جهانی را توصیف کرد که در آن هر چیزی حتی اشیای بی‌جان، برای خود یک هویت دیجیتال داشته باشند و بتوان از طریق کامپیوترها کنترل آن­ها را به دست گرفت و به بهترین و سریع­ترین شکل آن­ها را مدیریت کرد.
IoT از ارتباطات ماشین به ماشین (M2M)، یعنی ماشین‌هایی که از طریق یک شبکه و بدون تعامل انسانی به یکدیگر متصل هستند، تکامل یافته است. اینترنت اشیاء را می توان به شکل یک سیستم اسکادای توسعه یافته نیز تلقی کرد (اسکادا، دسته‌ای از برنامه‌های کاربردی نرم‌افزاری برای کنترل فرایند است که برای گردآوری داده‌ها در زمان واقعی از مکان‌های راه دور به‌منظور کنترل تجهیزات و شرایط به‌کار می‌رود). با تکامل اسکادا، آخرین نسلِ سیستم‌های اسکادا به‌تدریج به نخستین نسل سیستم‌های IoT تبدیل شده‌اند و بستری برای رشد و توسعه‌ی این سیستم‌ها فراهم کرده‌اند.
امروز اینترنت اشیاء با راهکارهای هوشمند خود در همه‌ی ابعاد زندگی بشر گسترش یافته و آنرا دستخوش تغییراتی شگرف قرار داده است. گزارش BI Intelligence (Business Insider) حاکی از بازار رو به رشد اینترنت اشیا و رشد استفاده از دستگاه های IoT، میزان سرمایه گذاری و میزان بازگشت سرمایه در این اکوسیستم می باشد. همچنین در این گزارش پیش بینی شده است که تا پایان سال ۲۰۲۰ بیش از 30 میلیارد دستگاه به اینترنت متصل شوند. در 5 سال آینده نزدیک به ۶ تریلیون دلار برای اینترنت اشیاء سرمایه گذاری خواهد شد.

IoT چگونه کار می‌کند؟

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

اجزای مختلف اکوسیستمIoT

IoT

شکل بالا بصورت ساده نحوه عملکرد اکوسیستم IoT را نشان می دهد. کلیه دستگاههایی که قابلیت IoT دارند از طریق درگاههای تعریف شده به شبکه اینترنت متصل می شوند و داده های مهم و تعریف شده را بر روی آن برای اهداف و مقاصد مشخص شده، به اشتراک می گذارند. این داده ها از یکسو برای پردازشگرها (مانند تلفنهای هوشمند و برنامه های رایانه ای) ارسال می شود و از سوی دیگر می تواند بر روی حافظه های محلی و یا محیطهای ابری، ذخیره شود. پردازنده ها پس از تحلیل داده های گردآوری شده، در صورت نیاز فرامین اجرایی را از طریق شبکه اینترنت برای دستگاههای IoT ارسال می کنند. بازخورد ناشی از اجرای این دستورات، مجدداً برای پردازشگرها ارسال شده و این چرخه بصورت بدون وقفه و مستمر ادامه خواهد یافت.
در این چرخه هر یک از اجزا وظیفه مشخصی را بر عهده دارند که به اختصار عبارت است از:
• ذخیره ساز (Data Storage): وظیفه نگهداری اطلاعات برای مصارف آینده را بر عهده دارد.
• پردازشگرها (Remote Control): وظیفه پردازش اطلاعات و صدور دستورات اجرایی جهت کنترل دستگاهای IoT را عهده دار هستند.
• شبکه اینترنت (Internet Network): بستر ارتباطی بین اجزای مختلف را فراهم می کند.
• درگاه شبکه (Router/Gateway): ارتباط دستگاههای IoT از طریق شبکه (کابلی یا بدون سیم) با اینترنت را فراهم می کند.
• دستگاهها (IoT devices): این دستگاهها می تواند با شبکه اینترنت و یا با یکدیگر در ارتباط باشند و ضمن جمع آوری و ارسال داده های مهم، آنها را در صورت نیاز تحلیل کرده و دستورات را اجرا نمایند.

آسیب پذیری‌های سایبریIoT

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

برای این کار می توانید از لینک زیر نیز استفاده کنید.
ftp://ftp.dlink.ca/PRODUCTS/DAP-1522/DAP-1522_REVA_FIRMWARE_1.41.BIN
برای مشاهده محتوای این فایل، می توان از ابزار binwalk استفاده کرد. این ابزار در حوزه ارزیابی امنیتی IoT بسیار پرکاربرد است و امکان مشاهده محتوای فایل با پسوند .bin را فراهم می کند.

یکی از قسمت‌های مهم این فایل که برای ارزیابی امنیتی مورد توجه بوده و در شکل بالا مشخص شده، فایل‌های squashfs است. با شناسایی و بازکردن (extract) این فایل، می‌توان به اطلاعات مهم آن دست یافت.

چنانکه در شکل بالا مشخص است درون این فایل یک ساختار لینوکسی دیده می‌شود که مسیر squashfs فایل‌های سیستمی را نشان می‌دهد.

چنانکه پیشتر اشاره شد، یکی از مهمترین و البته پر چالش ترین بخش‌های اکوسیستم IoT، ارتباطات بین اجزای مختلف آن است. بنابراین لازم است از امنیت بسته‌های ارسالی (Packet) بر روی بیتسر ارتباطی اطمینان حاصل کرد.
در IoT نیز مانند سایر ارتباطات در بستر شبکه‌های اینترنتی، از پروتکل‌های مرسوم استفاده می‌شود. لذا می‌توان با استفاده از مکانیزم‌ها و روش‌های متداول، ابتدا پروتکل ارتباطی این تجهیزات را بدست آورد. به همین منظور با دستور grep از مسیر اصلی، فایل‌های با محتوای پروتکل‌های ارتباطی (مانند telnet) جستجو شده است.

نتیجه جستجو، فایل‌هایی را نشان می‌دهد که عبارت “telnet” درون آن‌ها به کار رفته است. با باز کردن این فایل‌ها می‌توان اطلاعات بیشتری از بسته‌های ارسالی را بدست آورد.
بعنوان مثال یکی از فایل‌هایی که در تصویر فوق و با جستجو بر روی عبارت “telnet” حاصل شد، فایل telnetd.sh است. با بررسی محتویات این فایل می توان نام کاربری مورد نیاز برای telnet را بدست آورد. مقدار Alphanetworks جلوی سوئیچ -u نمایانگر این موضوع می باشد.

بعد از یافتن نام کاربری، حالا نوبت به کلمه عبور می رسد. همانطور که در عکس بالا مشخص می باشد برای کلمه عبور از $image_sign استفاده شده است که با مطالعه بخشهای دیگر کد، ممکن است بتوان به مقدار آن دست یافت. بررسی سایر بخشهای کد مسیر جدیدی را نشان می دهد (/etc/config/image_sign) که احتمالاً می توان با بررسی آن به کلمه عبور دست پیدا کرد. چنانکه در شکل زیر مشخص شده است، مطالعه این بخش از کد کلمه عبور را در دسترس قرار می دهد.

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

اشتراک‌گذاری:

دیدگاه‌ها (0)

💬

هنوز دیدگاهی ثبت نشده است. اولین نفری باشید که نظر می‌دهید!

ارسال دیدگاه