سخت افزار, مقالات

سفت افزار یا فریمور (Firmware) چیست؟

سفت افزار چیست؟

سفت افزار یا فریمور (Firmware) ، یک نوع برنامه کامپیوتری در سیستم های الکترونیکی و محاسباتی است که کنترل سطح پایین را برای سخت افزار یک دستگاه خاص فراهم می کند.

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

سفت افزار در دستگاه های با حافظه فقط خواندنی نظیر  ROM، EPROM  یا حافظه فلش نیز جای گرفته است. تغییر دادن سفت افزار یک دستگاه ممکن است به ندرت انجام گرفته یا اصلاً در طول عمر آن دستگاه انجام نشود؛ برخی از دستگاه های حافظه داخلی به طور دائمی نصب شده اند و نمی توانند پس از تولید، تغییر داده شوند. دلایل متداول برای بروز رسانی سفت افزار شامل رفع اشکالات و یا افرودن ویژگی های جدید به دستگاه است. این مسأله ممکن است مستلزم جایگزین شدن فیزیکی مدارهای مجتمع ROM یا برنامه ریزی مجدد حافظه فلش به یک روش خاص باشد. سفت افزاری همچون ROM BIOS در یک رایانه شخصی ممکن است فقط شامل توابع اساسی اولیه دستگاه بوده و فقط بتواند در خدمت نرم افزار سطح بالاتر باشد. ممکن است سفت افزار، تنها برنامه اجرایی در یک سیستم داخلی باشد که تمامی توابع آن را در بر بگیرد.

پیش از ورود مدارهای مجتمع، تجهیزات های سفت افزاری شامل یک شبکه گسسته از دیودهای نیمه هادی بودند. کامپیوتر هدایت کننده آپولو دارای یک سفت افزار متشکل از یک صفحه با حافظه هسته ای به نام “حافظه طناب هسته ای” (Core rope memory) بود که در آن، هر بیت از داده توسط سیم های عبور کرده از میان هسته (1) یا اطراف آن (0) ذخیره می شد.

کنترل از راه دور تلویزیون نمونه ای از یک محصول مهندسی دارای سفت افزار است. این فریمور، دکمه ها را رصد می کند، LED ها را کنترل کرده و فشار دکمه ها را پردازش می کند تا داده ها را به فرمت قابل شناسایی توسط دستگاه گیرنده که در اینجا تلویزیون است ارسال کند. در واقع، مادربورد تلویزیون نیز یک سفت افزار پیچیده دارد.

تاریخچه فریمور

Ascher Opler اصطلاح “سفت افزار” را در مقاله به چاپ رسیده در مجله  Datamation در سال 1967 بکار برد. معنی اصلی سفت افزار، محتویات قابل ویرایش حافظه CPU (یک حافظه کوچک ویژه با سرعت بالا) بود که شامل میکروکدهایی برای تعریف و اجرای مجموعه دستورالعمل های کامپیوتر می شد. این میکروکد امکان بارگذاری مجدد برای اختصاصی کردن یا اصلاح دستورالعمل های قابل اجرا توسط واحد پردازش مرکزی (CPU) را دارا بود. مفهوم سفت افزار با سخت افزار (خود CPU)  و نرم افزار (دستورالعمل های معمول که بر روی CPU اجرا می شوند) مغایرت دارد. سفت افزار شامل زبان ماشین CPU نمی شود، بلکه از میکروکد سطح پایین تر که در پیاده سازی زبان ماشین بکار گرفته می شود تشکیل شده است. سفت افزار در مرز بین سخت افزار و نرم افزار قرار دارد و بدین خاطر، سفت افزار نام گرفته است. با گذشت زمان، دامنه کاربرد واژه “سفت افزار” برای اشاره به هر برنامه کامپیوتری مرتبط با سخت افزار، از جمله زبان ماشین پر

دازشگر برای BIOS ، بار کننده خودراه انداز کامپیوتر (bootstrap loaders) یا سیستم های کنترل دستگاه های الکترونیکی ساده نظیر اجاق مایکروویو، دستگاه کنترل از راه دور و ابزارهای جانبی کامپیوتر، گسترش یافت.

کاربردهای فریمور

فریمور یا سفت افزار در کامپیوترهای شخصی

اجزای مختلف فریمور از برخی جهات به اندازه سیستم عامل یک کامپیوتر اهمیت دارند. با این حال، بر خلاف بسیاری از سیستم عامل های مدرن، سفت افزار به ندرت شامل مکانیزم بروز رسانی تکامل یافته خودکار برای رفع ایرادات عملکردی در حین استفاده می شود.

BIOS  می تواند توسط یک کاربر بصورت دستی و با استفاده از یک برنامه کوچک، بروز شود. در مقابل، سفت افزار دستگاه های ذخیره اطلاعات (مانند هارد دیسک، DVD و حافظه فلش) حتی در صورت استفاده از حافظه فلش (به جای ROM ) برای سفت افزار، به ندرت بروز می شود؛ هیچ مکانیزم استانداردی برای تشخیص یا بروز رسانی نسخه های سفت افزار وجود ندارد.

اکثر لوازم جانبی کامپیوتر، خودشان یک کامپیوتر با کاربرد ویژه هستند. دستگاههایی مانند پرینتر، اسکنر، دوربین و درایوهای فلش USB دارای سفت افزار داخلی هستند؛ برخی از این دستگاه ها دارای امکان ارتقاء سیستم خود هستند.

برخی از لوازم جانبی ارزان قیمت، از حافظه دائمی برای سفت افزار خود بی بهره اند و بجای آن، به یک سیستم میزبان برای دریافت برنامه کنترل دستگاه از یک فایل دیسک یا CD متکی هستند.

فریمور در محصولات مصرفی

از سال 2010 اکثر پخش کننده های موسیقی قابل حمل دارای سفت افزار قابل ارتقاء هستند. برخی از شرکت ها از بروز رسانی سفت افزار برای اضافه کردن فرمت های جدید قابل پخش (کُدِک ها) استفاده می کنند؛ مانند کدک Vorbis که توسط شرکت iriver ارائه شده است. از جمله مشخصات دیگر که می توانند با بروزرسانی های سفت افزار تغییر کنند رابط گرافیکی کاربر یا حتی عمر باتری هستند. اکثر تلفن های همراه دارای قابلیت ارتقاء سفت افزار به دلائل مشابه هستند؛ بروزرسانی برخی از آنها ممکن است منجر به ارتقاء کیفیت ارسال یا دریافت صدا شود. این امر نشان می دهد که سفت افزار محصولات پیچیده (مانند یک میکروکنترلر شبیه به CPU بر خلاف یک پردازشگر سیگنال دیجیتالی) می تواند در بیش از یک سطح استفاده شود.

فریمور در خودروها

از سال 1996 اکثر خودروها مجهز به کامپیوتر داخلی و سنسورهای مختلف برای تشخیص مشکلات مکانیکی هستند. از سال 2010 خودروهای پیشرفته به ترمز ضد قفل ABS با قابلیت کنترل کامپیوتری و دنده اتوماتیک با عملکرد کامپیوتری مجهز شده اند.

همچنین راننده می تواند در هنگام رانندگی، اطلاعات مربوطه از قبیل مصرف لحظه ای سوخت و فشار تایرها را مشاهده کند. فروشندگان محلی می توانند سیستم عامل بیشتر خودروها را بروز رسانی کنند.

نمونه هایی از سفت افزار عبارتند از:

در محصولات مصرفی:

سیستم زمان بندی و کنترل ماشین لباسشویی

کنترل خصوصیات صدا و تصویر و همچنین لیست کانال ها در تلویزیون های پیشرفته

تراشه های EPROM بکار رفته در سری Eventide H-3000 از پردازشگرهای موسیقی دیجیتال

در رایانه ها:

  • BIOS  موجود در رایانه های شخصی سازگار با IBM
  • سفت افزار منطبق بر (U) EFI  که در سیستم های Itanium ، رایانه هایApple  مبتنی بر Intel و بسیاری از مادربوردهای  Intelبکار رفته در کامپیوترهای رومیزی استفاده می شود.
  • سفت افزار باز که در کامپیوترهای مبتنی بر SPARC محصول شرکت های Sun Microsystems و Oracle Corporation  ، رایانه های مبتنی بر PowerPC محصول Apple  و کامپیوترهای محصول شرکت  Genesi استفاده می شود
  • ARCS  بکار رفته در کامپیوترهای تولید Silicon Graphics
  • Kickstart  که در کامپیوترهای مدل آمیگا استفاده می شد (ار جمله فرایند خودسنجی کامپیوتر، فرایند راه اندازی سخت افزار، فرایند پیکربندی خودکار لوازم جانبی، هسته سیستم عامل و غیره)
  • سرویسRTAS  بکار رفته در رایانه های محصول IBM
  • محیط سفت افزار مشترک (CFE)

در روترها و فایروال ها :

  • LibreCMC – یک نرم افزار روتر کاملاً رایگان بر پایه هسته لینوکس
  • IPFire – یک فایروال یا روتر منبع – باز بر پایه هسته لینوکس
  • fli4l – یک فایروال یا روتر منبع – باز بر پایه هسته لینوکس
  • OpenWrt – یک فایروال یا روتر منبع – باز بر پایه هسته لینوکس
  • m0n0wall  – یک فایروال داخلی برای سیستم عاملFreeBSD

در سیستم های NAS :

  • NAS4Free – یک سیستم عامل NAS منبع – باز مبتنی برFreeBSD 9.1
  • Openfiler – یک سیستم عامل NAS منبع – باز بر پایه هسته لینوکس

فلش کردن

فلش کردن به مفهوم جایگزین کردن سفت افزار یا داده های موجود در ماژول های حافظه EEPROM  یا حافظه فلش بکار رفته در یک دستگاه الکترونیکی، با داده های جدید است. این کار را می توان به منظور ارتقاء یک دستگاه یا تغییر یک سرویس دهنده مرتبط با عملکرد دستگاه انجام داد، مانند تغییر دادن یک سرویس دهنده تلفن همراه یا نصب یک سیستم عامل جدید. اگر سفت افزار، قابل ارتقا باشد این عمل غالباً از طریق یک برنامه ارائه شده توسط سرویس دهنده انجام می گیرد. غالباً می توان سفت افزار قدیمی را پیش از ارتقا، ذخیره کرد تا در صورت اختلال در فرایند بروز رسانی یا عملکرد نامطلوب نسخه جدید سفت افزار، قابل بازیابی باشد.

هک فریمور یا همان سفت افزار

گاهی اوقات، یک شخص ثالث، نسخه غیر رسمی یا تغییر یافته (“بازارگرمی”) از یک سفت افزار را برای ارائه ویژگی های جدید یا نشان دادن قابلیت های مخفی آن ایجاد می کند؛ این نسخه از سفت افزار با عنوان یک سفت افزار سفارشی شناخته می شود. بطور مثال Rockbox یک سفت افزار جایگزین برای دستگاه های پخش رسانه ای قابل حمل است. پروژه های homebrew متعددی برای کنسول های بازی ویدئویی وجود دارند که اغلب آنها محدودیت های محاسباتی در دستگاه های قبلی را بر طرف می کنند (مانند اجرای بازی Doom بر روی iPod).

در بسیاری از دستگاه ها هک سفت افزاری فرصت می یابد تا در زمان ارتقاء سفت افزار، خودش را نصب یا اجرا کند. اابته بعضی از هک ها برای اجرا شدن نیازمند اجرای کدهای مخرب هستند، چرا که شرکت سازنده سعی کرده است تا با قفل کردن سخت افزار، از اجرای کدهای فاقد مجوز جلوگیری کند.

 

هک سفت افزار یا فریمور درایو هارد دیسک (HDD)

آزمایشگاه کسپرسکی مستقر در مسکو کشف کرد که گروهی از توسعه دهندگان با عنوان “گروه معادله”  تغییراتی در سفت افزار HDD برای مدل های مختلف درایو ایجاد کرده اند که با استفاده از یک تروجان، امکان ذخیره سازی داده ها در مکان هایی از درایو را فراهم می سازد که حتی در صورت فرمت یا معدوم شدن درایو، پاک نمی شوند. اگر چه گزارش آزمایشگاه کسپرسکی به صراحت ادعا نکرد که این گروه، بخشی از آژانس امنیت ملی آمریکا (NSA) است اما شواهد بدست آمده از کد های مختلف نرم افزار گروه معادله نشان می دهد که آنها بخشی از NSA هستند.

محققین آزمایشگاه کسپرسکی، اقدامات گروه معادله را به عنوان پیشرفته ترین عملیات هک که تا کنون کشف شده است توصیف کرده و همچنین حدود 500 مورد آلودگی ناشی از گروه معادله را در بیش از 42 کشور جهان گزارش کرده اند.

خطرات امنیتی

مارک شاتلورث، بنیانگذار سیستم عامل لینوکس اوبونتو، یک سفت افزار اختصاصی را به عنوان یک خطر امنیتی توصیف کرده و می گوید “سفت افزار دستگاه شما بهترین دوست NSA است” و سفت افزار را “یک اسب تروجان با ابعاد شگفت انگیز” می نامد. وی اظهار داشته است که سفت افزار منبع- بسته با کیفیت پایین، یک تهدید جدی برای امنیت سیستم است: “بزرگترین اشتباه شما آن است که تصور کنید NSA تنها سازمانی است که از اعتماد شما سوء استفاده کرده است – در واقع، منطقی است که فرض کنیم که به دلیل بی کفایتی تولید کنندگان و کفایتمندی طیف وسیع چنین سازمان هایی، کل سفت افزار تبدیل به یک منبع ناامنی شده است.” شاتلورث راه حل بالقوه برای رفع این مشکل را یک سفت افزار توصیفی می داند که بیانگر “ارتباطات و وابستگیهای سخت افزاری” است و “نباید شامل کد اجرایی باشد”. این سفت افزار باید منبع- باز باشد تا بتوان کد آن را بررسی و تأیید کرد.

تمرکز هک های سفت افزاری متداول بر روی نفوذ بدافزارها به دستگاه هایی مانند گوشی های هوشمند یا دستگاه های USB  نیز بوده است. یکی از موارد نفوذ به گوشی های هوشمند با سیستم عامل Symbian OS در کنفرانس MalCon ارائه شد. یک هک سفت افزاری USB  با عنوان BadUSB در کنفرانس Black Hat USA 2014  ارائه شد که نشان می داد چگونه می توان یک میکروکنترلر USB را مجدداً برنامه ریزی کرد تا با تقلید از دستگاه های مختلف بتواند کنترل کامپیوتر، خارج کردن داده ها و یا جاسوسی از کاربر را انجام دهد. سایر محققین امنیتی، بیشتر در مورد چگونگی بهره برداری از BadUSB  تحقیق کرده اند و در عین حال به انتشار کد منبع ابزارهای هک که می تواند برای اصلاح عملکرد دستگاه های مختلف USB استفاده شود پرداخته اند.

منبع: http://mediasoft.ir

دیدگاهتان را بنویسید