برنامه کامپیوتری Firmware چیست؟
فریمور نوعی برنامه کامپیوتری در سیستمهای الکترونیکی و محاسباتی است که کنترل سطح پایین بر روی سختافزار یک دستگاه خاص را ارائه میدهد. به بیان ساده، فریمور نرمافزاری است که به عنوان رابط بین بخش نرمافزاری و سختافزاری یک وسیله عمل میکند.
سختافزار میتواند یک محیط عملیاتی استاندارد برای دستگاههای پیچیدهتر با وابستگی کمتر به سختافزار باشد و همچنین میتواند به عنوان یک سیستم عامل کامل برای دستگاههای کمتر پیچیده عمل کند، شامل کنترل کامل، نظارت و پردازش دادهها. دستگاههای سختافزاری استاندارد دارای سیستمهای کامپیوتری داخلی، لوازم خانگی، کامپیوترها، لوازم جانبی کامپیوتر و غیره هستند. تقریباً تمامی دستگاههای الکترونیکی، حتی سادهترین آنها، دارای فریمور هستند
این فریمور همچنین در دستگاههایی با حافظه مانند ROM، EPROM یا فلش مموری گنجانده شده است. تغییر سخت افزار یک دستگاه ممکن است نادر باشد یا در طول عمر آن دستگاه اصلاً اتفاق نیفتد. برخی از دستگاه های ذخیره سازی داخلی به طور دائم نصب شده اند و پس از تولید قابل بازگرداندن نیستند. همچنین، دلایل رایج به روز رسانی سیستم عامل شامل رفع اشکال یا افزودن عناصر جدید به دستگاه است. این ممکن است نیاز به تولید فیزیکی مدارهای ROM مجتمع یا برنامه ریزی مجدد حافظه فلش به روشی ساده داشته باشد.
سختافزاری مانند ROM BIOS در رایانه شخصی ممکن است فقط بخشهای ضروری دستگاه را داشته باشد و ممکن است فقط نرمافزارهای سطح بالاتر را ارائه دهد. بنابراین سخت افزار ممکن است تنها برنامه قابل اجرا در یک سیستم داخلی باشد که تمام عملکردهای آن را شامل می شود.
تاریخچه Firmware
Ascher Opler در مقاله ای که در مجله Datamation در سال ۱۹۶۷ منتشر شد، از اصطلاح “firmware” استفاده کرد. معنی اصلی Firmware محتویات قابل ویرایش CPU (یک حافظه کوچک ویژه با سرعت بالا) بود که حاوی میکروکدهایی برای تعیین و اجرای مجموعه ای از آموزش کامپیوتر بنابراین این میکروکد میتواند برای سفارشیسازی یا تغییر دستورالعملهای قابل اجرا توسط CPU دوباره بارگیری شود. مفهوم Firmware با سخت افزار (خود CPU) و نرم افزار (دستورالعمل های استانداردی که روی CPU اجرا می شود) در تضاد است.
فریمور دارای زبان ماشین CPU نیست، اما شامل میکروکدهای سطح پایینتر است که برای پیادهسازی زبان ماشین استفاده میشوند. سختافزار در مرز بین سختافزار و نرمافزار قرار دارد، از این رو Firmware. با گذشت زمان، اصطلاح «سیستمافزار» به هر برنامه رایانهای مرتبط با سختافزار، از جمله زبان ماشین اشاره دارد.
توسعه دهنده برای بایوس BIOS، لودرهای بوت استرپ کامپیوتر، یا سیستم های کنترلی برای دستگاه های الکترونیکی ساده مانند اجاق های مایکروویو، کنترل از راه دور، و لوازم جانبی کامپیوتر.
نرم افزارهای فریمور
- فریمور رایانه های شخصی
- فریمور در محصولات مصرفی
تعریف فریمور در رایانه های شخصی
بخش های مختلف فریمور به اندازه سیستم عامل یک کامپیوتر مهم هستند. با این حال، بر خلاف بسیاری از سیستم عامل های مدرن، سیستم عامل به ندرت دارای مکانیزم به روز رسانی خودکار رشد یافته برای رفع مشکلات عملکرد در حین استفاده است.
BIOS را می توان به صورت دستی توسط کاربر با استفاده از یک برنامه کوچک به روز کرد. در تمایز، سختافزار دستگاههای ذخیرهسازی داده (مانند دیسکهای سخت، دیویدیها و حافظههای فلش) به ندرت بهروزرسانی میشوند، حتی اگر از حافظه فلش (به جای ROM) برای سیستم عامل استفاده شود. هیچ مکانیزم استانداردی برای تشخیص یا تصحیح نسخه های فریمور وجود ندارد.
فریموردر محصولات مصرفی
از سال ۲۰۱۰، اکثر پخش کننده های موسیقی موبایل دارای سیستم عامل قابل ارتقا هستند. برخی از شرکت ها به روز رسانی سیستم عامل را برای اضافه کردن فرمت های قابل پخش جدید (کدک) اجرا می کنند. مانند کدک Vorbis ارائه شده توسط iriver. بنابراین سایر مشخصاتی که با به روز رسانی سیستم عامل قابل تغییر هستند، دارای رابط کاربری گرافیکی هستند.
اکثر تلفن های همراه به دلایل مشابه قدرت ارتقاء سیستم عامل را دارند. به روز رسانی برخی از آنها ممکن است سرعت ارسال یا دریافت صدا را بهبود بخشد. این نشان میدهد که فریمور پیچیده محصول (مانند یک میکروکنترلر شبیه CPU که با یک پردازنده سیگنال دیجیتال مبارزه میکند) را میتوان در بیش از یک سطح استفاده کرد.
خطرات امنیتی
یکی از بنیانگذاران لینوکس اوبونتو، مارک شاتلورث، Firmware اختصاصی را به عنوان یک خطر امنیتی توضیح میدهد و میگوید “فریمور دستگاه شما بهترین دوست NSA است” و سیستم عامل را “یک ویروس تروجان با اندازه شگفتانگیز” مینامد. وی گفت: نرم افزار منبع بسته با کیفیت پایین یک تهدید جدی برای امنیت سیستم است. فرض کنید به دلیل بی کفایتی کارخانه ها و کفایت چنین طیف وسیعی از سازمان ها، سیستم عامل کامل به منبع ناامنی تبدیل شده است. شاتلورث راهحل بالقوهای برای این مشکل بهعنوان یک میانافزار تعریفکننده میبیند که «اتصالات و وابستگیهای سختافزاری» را بیان میکند و «نباید حاوی کد اجرایی باشد». این سیستم عامل باید منبع باز باشد تا بتوانید کد آن را تأیید کنید.
جمع بندی
هکهای سختافزاری رایج بیشتر بر بدافزارهایی تمرکز دارند که در گوشیهای هوشمند یا دستگاههای USB قرار میگیرند. یکی از معروفترین هکهای گوشیهای هوشمند در سیستم عامل سیمبین در کنفرانس MalCon به نمایش گذاشته شد. همچنین، در کنفرانس Black Hat USA 2014، هکی به نام BadUSB فاش شد که نشان میداد چگونه میتوان میکروکنترلر یک دستگاه USB را دوباره برنامهریزی کرد تا دستگاههای دیگر را شبیهسازی کند و از این طریق کنترل رایانه، استخراج دادهها یا جاسوسی از کاربر را انجام دهد. سایر محققان امنیتی نیز نحوه دستکاری BadUSB را بررسی کرده و کد منبع ابزارهای هک را منتشر کردهاند که میتواند عملکرد دستگاههای مختلف USB را تغییر دهد.