حتما تا به حال اسم Firmware به گوش شما خورده است . اما اسم به نظر عجیب و غریبی است ، ما تا به حال Software یا نرم افزار و Hardware یا سخت افزار را شنیده ایم اما Firmware چیست ؟ در واقع می توان از Firmware هم به عنوان ترکیبی از نرم افزار و سخت افزار یاد کرد. Firmware ترکیبی از کدهای برنامه ، حافظه دائمی سیستم و داده هایی است که درون آنها ذخیره شده اند. برای مثال شما در تجهیزاتی مثل مودم ها ، چراغ های راهنما ، کنترل تلوزیون ، ساعت های دیجیتال ، تجهیزات جانبی کامپیوتر و بسیاری از دوربین های عکاسی از Firmware استفاده می کنید.
در واقع این Firmware است که امکان کنترل کردن دستگاه را برای شما میسر می کند. از Firmware می توان به عنوان یک سیستم عامل لایه پایین هم نام برد چراکه می تواند رابط بین شما و سخت افزار باشد. اما نکته اینجاست که سیستم عامل ها معمولا در حافظه RAM سیستم یا در حافظه ای مثل هارد دیسک نگهداری می شوند اما Firmware ها در حافظه Read Only Memory یا ROM سیستم نگهداری می شوند و تقریبا فقط خواندنی هستند. دقت کنید که این شما نیستید که Firmware یک دستگاه را نصب می کنید بلکه کمپانی تولید کننده تجهیزات کامپیوتری در بدو ایجاد کردن سخت افزار مورد نظر ، Firmware آن را نیز بر رویش نصب می کند.
اگر شما کمی با کامپیوترها سر و کار داشته باشید باید بدانید که BIOS سیستم شما در واقع یک نوع Firmware است زیرا هم در حافظه دائمی سیستم شما یعنی ROM قرار گرفته است و هم امکان اعمال یک سری کنترلهای اولیه را بر روی سخت افزار به شما می دهد و از طرفی شما نمی توانید تغییر چندانی بر روی ساختار BIOS ایجاد کنید. البته کامپیوترهای امروزی دیگر از BIOS استفاده نمی کنند و EFI و UEFI جایگزین BIOS شده اند که آنها نیز نوعی Firmware هستند.
البته دقت کنید که تجهیزات دیگری در کامپیوتر هستند که برای خودشان Firmware دارند ، کارت های شبکه ، کارت های گرافیکی ، کنترلرهای RAID ، هارد درایو ها ، حافظه های Flash ، هارد های SSD ، کارت های صدا ، مودم های ADSL و روترها همه و همه دارای Firmware هستند. بعضا دیده شده که از Firmware به عنوان میان افزار در ترجمه ها استفاده می شود که این اشتباه هست و میان افزار یا Middleware در واقع یک متد و یک واسط برنامه نویسی است و هیچ ارتباطی به سخت افزار ندارد.
دستگاه های اکسس پوینت خانگی شما که بعضا آنها را به عنوان مودم ADSL می شناسیم ، دستگاه های روتر خانگی ، سرورهای فیزیکی ، همگی دارای Firmware هستند و بعضا شرکت سازنده امکان بروز رسانی آنها را با بسته های جدیدی از Firmware می دهد. بدیهی است با بروز رسانی Firmware دستگاه امکانات جدیدتری به آن اضافه خواهد شد. امیدوارم مورد توجه شما قرار گرفته باشد.
عالی
جناب محمود دست مریزاد استفاده کردم
ممنون از مهندس نصیری و مهندس mahmOOd
بسیار عالی
سلام
با تشکر از آقای نصیری عزیز ...
firmware ها بر روی ic های قرار می گیرند و برنامه چگونه استفاده شدن و چگونه لینک شدن سخت افزارها هستند حالا برای آپدیت یا باید ic رو از برد جداد کرده و با استفاده از پروگرمر و فایل rom آن را در اصلاح پروگرم کنیم یا امروزه راهکار هایی در ic ها تعبیه شده است که می توان به صورت ریموت و با استفاده از پروتکل هایی با استفاده از نرم افزار مخصوص برنامه ic مورد نظر رو با استفاده از سیگنالهای الکترونیکی پاک کرده و برنامه جدید به آن بدهیم
E2PROM - Electrically Erasable Programmable Read-Only Memory
حالت دوم دو مزیت مهم دارد
اینکه نیاز نیس ic از برد جدا شود و دوم اینکه می توان از راه دور در صورت مشکل برنامه ic را تغییر داد
اما این قابلیت باعث وجود مشکلات امنیتی هم می تواند بشود در صورتی که اگر پروتکل ارتباط با ic لو برود به راحتی می توان دست به تغییرات داد و غیره ...
ویروس استاکسنت هم از همین قابلیت ریموت ic ها در PLC های زیمنس آلمانی استفاده کرد و کلی از برنامه صنعتی ایران و بعضی از کشور ها را دزدید
جالبه که پروتکل های ارتباطی بعضی از فلش مموری هایی که ما از آنها استفاده می کنیم در اینترنت موجوده !
و افراد متخصص و ویروس نویس ها سخت افزایی فضایی برای سو استفاده می تونند داشته باشند.
به نظر من ما تا زمانی که نتونیم تو ایران IC و CPU تولید کنیم امنیت به معنای واقعی نداریم بهترین راهکار الان استفاده از open hardware ها هستش .
بله چراکه نه ، از طریق باگهای موجود در این firmware ها حملات زیادی انجام میشه اونها هم مثل سیستم عاملها باگ امنیتی دارند
ممنون
یعنی eeprom یا flash مموری ها دیگه نیازی به دستگاهای خاص نداره برای نوشتن دوباره ...
از طریق سیگنالهای الکتریکی میشه اپدیت کرد و ...ایا این موضوع میتونه به هکرها کمک کنه که بتونن از طریق فریم ویر و دسترسی و تغییر اون حفره های امنیتی ایجاد کن؟اصلا حمله ایتا به حال از طریق firmware اتفاق افتاده؟
ببینید شما در چنین حالتی کل اطلاعات rom رو فلش یا خالی میکنید و روش مینویسید ، در واقع from شما از نوع eeeprom هست و یکبار مجدد قابل نوشتن .. البته بسته به محصولتون هم هست برخی از دستگاه هارو فقط کمپانی سازنده میتونه firmware اشو بروز کنه ...
ممنون برای مطلبتون
فقط یه سوال وقتی firmware در حافظه فقط خواندنی هست چطور ما میتونیم بدون دستگاه خاصی به سادگی در حافظه rom بنویسیم و اپدیت کنیم؟
عالي بود مهندس عالي،،،دوست دارم يك مطلب رو اضافه كنم كه firmware در آخر محدوديت داره و از يك حد ديگه نميشه باهاش جلوتر رفت ،،،و در دنياي امروز ديگه نرم افزار ها در لايه هاي بالاتر دارن همه چيو به دست ميگيرن ،،مثل مثلا firmware هاي دستگاها ي سوييچ روتر يا فايروال ها كه در ديتا سنتر ها تا يك حدي محدود ميشن اما با آمدن بحث ديتا سنتر هاي مجازي و نرم افزاري مثل sddcها ديگه اين قفل محدوديت شكسته ميشه و سوويچ ها و سخت افزار ها و تمامي تجهيزات نرم افزاري ميشن مثل الان NSX كه رو به سمتي داره ميره كه كل ديتا سنتر با كلي پيچيدگي و ميشه نرم افزاري راه انداخت،،،و firm ware ها همون پايين ها واسه خودشون باقي ميمونن و فقط چند تا وظيفه ارتباطي كوچيك رو انجام ميدن،،،
ممنون بابت نكته خوبت ،،،
خیلی جامع وکامل بود
مرسی