نرم افزار واضح ترین روشی است که یک هکر می تواند دستگاه های شما را هدف قرار دهد، اما هک سخت افزار نیز می تواند خطر امنیتی ایجاد کند.
نرم افزار اولین چیزی است که وقتی می شنوید شخصی، یک شرکت یا نهاد دیگری هک شده است، به ذهن شما خطور می کند. این قابل درک است زیرا نرم افزار “مغز” یا آگاهی دستگاه های مدرن است. بنابراین، کنترل نرمافزار به مهاجم این قدرت را میدهد که کاربر را قفل کند، دادهها را بدزدد یا ویران کند. دسترسی به نرمافزار نیز آسانتر است، زیرا لازم نیست مهاجم نزدیک هدف خود باشد. اما بهروزرسانیهای نرمافزاری میتوانند یک هکر را خنثی کنند و شرکتها در پیشگیری از حملات و بستن آسیبپذیریها ماهر شدهاند. ایمن سازی نرم افزار نیز ارزان تر است.
اما امنیت سخت افزار داستان متفاوتی است. اینجاست که هک سخت افزار وارد می شود…
هک سخت افزار دقیقا چیست؟
هک سخت افزار شامل سوء استفاده از نقص در امنیت اجزای فیزیکی یک دستگاه است. برخلاف هک نرمافزار، مهاجمان باید در محل حضور داشته باشند و برای اجرای هک سختافزاری، نیاز به دسترسی فیزیکی و بدون وقفه به دستگاه مورد نظر دارند. ابزارهای مورد نیاز برای نفوذ به یک دستگاه بسته به هدف می تواند سخت افزار، نرم افزار یا ترکیبی از هر دو باشد.
اما چرا هکرها سخت افزار را هدف قرار می دهند؟ دلیل اصلی این است که سختافزار نسبتاً مقاومت کمتری ارائه میکند و مدل دستگاه در طول سالها تغییر نخواهد کرد: به عنوان مثال، هیچ ارتقای سختافزاری به کنسولهای ایکسباکس پس از انتشار وجود ندارد. بنابراین، مهاجمی که با موفقیت سختافزار ایکسباکس 360 را هک میکند، میتواند قبل از اینکه مایکروسافت کنسول نسل بعدی را با امنیت بهتر عرضه کند، کاملاً اجرا شود. علاوه بر کنسولهای بازی، این امر برای همه دستگاههایی که میتوانید فکر کنید نیز صدق میکند: لپتاپ، تلفن، دوربینهای امنیتی، تلویزیونهای هوشمند، روترها و دستگاههای IoT.
اما، البته، تغییرناپذیری نسبی سخت افزار پس از تولید به این معنی نیست که آنها خارج از جعبه آسیب پذیر هستند. سازندگان دستگاهها از اجزایی استفاده میکنند – به ویژه چیپستهای امنیتی – که تضمین میکنند دستگاههایشان برای مدت طولانی در برابر اکثر حملات مقاوم میمانند. سختافزار همچنین دارای سیستمافزاری است (در واقع نرمافزاری است که مخصوص سختافزار ساخته شده است) که بهروزرسانیهای منظم دریافت میکند تا اطمینان حاصل شود که دستگاه شما با جدیدترین نرمافزار سازگار است، حتی اگر اجزای آن قدیمی هستند. به روز رسانی سفت افزار همچنین سخت افزار را در برابر روش های رایج هک سخت افزار مقاوم می کند.
برای اینکه بهروزرسانیهای میانافزار را در چشمانداز قرار دهید، تصور کنید که هر بار که نوع جدیدی از بازی وجود دارد مجبور به خرید یک کنسول بازی جدید باشید. این امر نه تنها بسیار ناامید کننده بلکه گران است. در پایان، خرید کنسولی که با بازیهای قدیمیتر و جدیدتر سازگار باشد یا برای سازگاری همه جانبه فقط نیاز به یک تعمیر کوچک دارد، تصمیم مالی عاقلانهتری است. از نظر سازنده، این بدان معناست که آنها باید جلوی ظاهر نسلهای بعدی بازیها را بگیرند و کنسولهایی بسازند که آنها را به خوبی اجرا کنند. یا حداقل، اجزا باید به اندازه کافی با نسخه های بعدی بازی سازگار باشند تا خرید کنسول را به سرمایه گذاری عاقلانه تبدیل کند.
6 روش متداول که مهاجمان برای هک سخت افزار استفاده می کنند
هک سختافزار بسیار عملی است: هکرها باید دستگاهی را که میخواهند هک کنند، در اختیار داشته باشند، مدیریت کنند یا در محدوده فیزیکی آن باشند. متداولترین روشهایی که هکرها استفاده میکنند شامل باز کردن دستگاه، وصل کردن یک ابزار خارجی به پورت، قرار دادن دستگاه در شرایط شدید یا استفاده از نرمافزار ویژه است. با این حال، در اینجا روش های متداول مهاجمان برای هک سخت افزار آورده شده است.
1. تزریق خطا
تزریق خطا عمل القای استرس در سخت افزار برای افشای یک آسیب پذیری یا ایجاد خطای قابل سوء استفاده است. این را می توان از راه های مختلفی به دست آورد، از جمله اورکلاک CPU، چکش DRAM، کاهش ولتاژ GPU یا اتصال کوتاه. هدف این است که دستگاه را به اندازه کافی تحت فشار قرار دهیم تا مکانیسم های حفاظتی را که آنطور که طراحی شده کار نمی کنند، راه اندازی کنند. سپس، مهاجم می تواند از تنظیم مجدد سیستم سوء استفاده کند، یک پروتکل را دور بزند و داده های حساس را بدزدد.
2. حملات کانال جانبی
یک حمله کانال جانبی اساساً از شیوه عملکرد دستگاه استفاده می کند. برخلاف حملات تزریق خطا، مهاجم مجبور نیست استرس ایجاد کند. آنها فقط باید مشاهده کنند که چه چیزی باعث تیک زدن سیستم می شود، چگونه این کار را انجام می دهد و دقیقاً چه اتفاقی می افتد زمانی که تیک می خورد یا از کار می افتد. میتوانید این نوع حمله را بهعنوان جستجوی صحبتهای دوست خود در یک بازی در نظر بگیرید. اینسایدر گزارش داد که چگونه آندره آغاسی، اسطوره تنیس، یاد گرفت که با تماشای زبان بکر برای حدس زدن جهت سرویس او، بوریس بکر را شکست دهد.
حملات کانال جانبی میتواند به صورت زمانبندی اجرای برنامه، اندازهگیری بازخورد صوتی از اجرای ناموفق، یا اندازهگیری میزان مصرف انرژی یک دستگاه در هنگام انجام یک عملیات خاص باشد. سپس مهاجمان می توانند از این امضاها برای حدس زدن مقدار یا نوع داده های پردازش شده استفاده کنند.
3. وصله به برد مدار یا پورت JTAG
برخلاف روشهای هک سختافزاری که در بالا ذکر شد، وصله در برد مدار نیازمند باز کردن دستگاه توسط هکر است. سپس آنها باید مدار را مطالعه کنند تا محل اتصال ماژول های خارجی (مانند Raspberry Pi) را برای کنترل یا برقراری ارتباط با دستگاه مورد نظر پیدا کنند. یک روش کمتر تهاجمی، اتصال یک میکروکنترلر برای راه اندازی مکانیسم های کنترلی به صورت بی سیم است. این روش خاص برای هک کردن دستگاه های ساده IoT مانند قهوه ساز و تغذیه حیوانات خانگی کار می کند.
در همین حال، وصله کردن در پورت JTAG نیاز به هک کردن یک بریدگی دارد. JTAG که به نام توسعهدهنده آن، Joint Test Action Group نامگذاری شده است، یک رابط سختافزاری روی بردهای مدار چاپی است. این رابط عمدتاً برای برنامه نویسی سطح پایین، اشکال زدایی یا آزمایش CPU های تعبیه شده استفاده می شود. با باز کردن پورت اشکالزدایی JTAG، یک هکر میتواند سیستمافزار را برای یافتن آسیبپذیریها تخلیه کند (یعنی تصاویر را استخراج و تجزیه و تحلیل کند).
4. استفاده از یک تحلیلگر منطقی
تحلیلگر منطقی نرمافزار یا سختافزاری برای ضبط و رمزگشایی سیگنالهای دیجیتال است، اگرچه بیشتر برای اشکالزدایی استفاده میشود – مانند پورتهای JTAG، هکرها میتوانند از تحلیلگرهای منطقی برای اجرای حملات منطقی استفاده کنند. آنها این کار را با اتصال آنالایزر به یک رابط اشکال زدایی در دستگاه مورد نظر و خواندن داده های ارسال شده از طریق مدار انجام می دهند. اغلب، با انجام این کار، یک کنسول اشکال زدایی، بوت لودر یا لاگ های kennel باز می شود. با این دسترسی، مهاجم به دنبال خطاهای میانافزاری میگردد که میتوانند از آنها برای دسترسی به درب پشتی به دستگاه سوء استفاده کنند.
5. جایگزینی اجزا
اکثر دستگاهها طوری برنامهریزی شدهاند که بهطور خاص با سیستمافزار، اجزای فیزیکی و نرمافزار اختصاصی کار کنند. اما، گاهی اوقات، آنها به همان اندازه با اجزای کلون شده یا عمومی کار می کنند. این یک آسیب پذیری است که هکرها اغلب از آن سوء استفاده می کنند. معمولاً، این شامل جایگزینی سفتافزار یا یک مؤلفه فیزیکی است – مانند مودینگ Nintendo Switch.
البته، سازندگان دستگاه از این کار متنفرند و اقدامات ضد دستکاری را نصب میکنند که باعث تلاش برای هک کردن سختافزار برای آجر کردن دستگاه میشود. اپل به خصوص برای ایجاد عصبانیت در زمانی که مشتریان عادی سخت افزار خود را باز می کنند یا سرهم می کنند، بدنام است، حتی اگر برای تعمیر یک دستگاه خراب باشد. اگر قطعه ای را که MFI نیست (ساخته شده برای iPhone، iPad و iPod) جایگزین کنید، می توانید دستگاه Apple خود را آجر کنید. با این وجود، اقدامات ضد دستکاری یک هکر خلاق را از یافتن نقص و اصلاح دستگاه باز نمی دارد.
6. استخراج Memory Dump
حافظه خالی فایلهایی هستند که حاوی دادهها یا گزارشهایی از خطاهایی هستند که هنگام توقف کار یک برنامه یا دستگاه رخ میدهند. هنگامی که سیستم عامل خراب می شود، رایانه های ویندوز فایل های dump را ایجاد می کنند. سپس توسعه دهندگان می توانند از این فایل ها برای بررسی دلایل خرابی در وهله اول استفاده کنند.
اما لازم نیست توسعهدهندهای باشید که برای فناوریهای بزرگ کار میکند تا موارد خالی را بفهمید یا تجزیه و تحلیل کنید. ابزارهای منبع باز وجود دارند که هر کسی می تواند از آنها برای استخراج و خواندن فایل های dump استفاده کند. برای کاربر با دانش فنی، داده های فایل های dump برای یافتن مشکل و یافتن راه حل کافی است. اما برای یک هکر، فایل های dump گنجینه هایی هستند که می توانند به آنها در کشف آسیب پذیری ها کمک کنند. هکرها اغلب از این روش در دامپینگ LSASS یا سرقت اعتبار ویندوز استفاده می کنند.
آیا باید نگران هک سخت افزار باشید؟
واقعاً نه، به خصوص اگر کاربر معمولی یک دستگاه باشید. هک سخت افزار برای اهداف مخرب خطر بالایی برای مهاجم دارد. علاوه بر باقی گذاشتن مسیری که میتواند منجر به مسئولیتهای کیفری یا مدنی شود، گران است: ابزارها ارزان نیستند، رویهها ظریف هستند و زمان میبرند. بنابراین، تا زمانی که پاداش زیاد نباشد، یک مهاجم سخت افزار یک فرد تصادفی را هدف قرار نمی دهد.
از سوی دیگر، سازندگان سختافزار باید نگران احتمال افشای اسرار تجاری، نقض مالکیت معنوی یا افشای اطلاعات مشتریان خود باشند. آنها باید از هکها جلوگیری کنند، بهروزرسانیهای منظم سیستمافزار را انجام دهند، از اجزای انعطافپذیر استفاده کنند و اقدامات ضد دستکاری تنظیم کنند.