شرح البرامج الثابتة (Firmware)



29 أكتوبر، 2021 | تيتو 4 تك


  • في الأنظمة الإلكترونية والحوسبة ، تعد البرامج الثابتة مكونًا إلكترونيًا ملموسًا مع تعليمات البرامج المضمنة ، مثل BIOS. عادةً ما تُستخدم تعليمات البرنامج هذه لإخبار جهاز إلكتروني بكيفية التشغيل. اعتبارًا من عام 2013 ، يمكن تحديث معظم البرامج الثابتة. الأمثلة النموذجية للأجهزة التي تحتوي على برامج ثابتة هي الأنظمة المضمنة (مثل إشارات المرور والأجهزة الاستهلاكية والساعات الرقمية) وأجهزة الكمبيوتر وملحقات الكمبيوتر والهواتف المحمولة والكاميرات الرقمية. توفر البرامج الثابتة الموجودة في هذه الأجهزة برنامج التحكم الخاص بالجهاز.
    يتم الاحتفاظ بالبرامج الثابتة في أجهزة ذاكرة غير متطايرة مثل ROM أو EPROM أو ذاكرة فلاش. نادرًا ما يتم تغيير البرامج الثابتة لجهاز ما أو قد لا يتم أبدًا خلال حياته الاقتصادية ؛ يتم تثبيت بعض أجهزة ذاكرة البرامج الثابتة بشكل دائم ولا يمكن تغييرها بعد التصنيع. تشمل الأسباب الشائعة لتحديث البرامج الثابتة إصلاح الأخطاء أو إضافة ميزات إلى الجهاز. قد يتطلب ذلك استبدال دارات ROM مدمجة فعليًا ، أو إعادة برمجة ذاكرة فلاش من خلال إجراء خاص. قد تحتوي البرامج الثابتة مثل ROM BIOS لجهاز كمبيوتر شخصي على وظائف أساسية أولية فقط للجهاز وقد توفر فقط خدمات لبرامج ذات مستوى أعلى. قد يكون البرنامج الثابت مثل برنامج النظام المضمن هو البرنامج الوحيد الذي سيعمل على النظام ويوفر جميع وظائفه.
    قبل الدوائر المتكاملة ، تضمنت أجهزة البرامج الثابتة الأخرى مصفوفة منفصلة لصمام ثنائي أشباه الموصلات. يحتوي كمبيوتر توجيه Apollo على برنامج ثابت يتكون من مستوى ذاكرة أساسي مُصنَّع خصيصًا ، يُطلق عليه "ذاكرة الحبل الأساسي" ، حيث يتم تخزين البيانات عن طريق ربط الأسلاك فعليًا عبر (1) أو حول (0) النواة التي تخزن كل بتة بيانات.
     
     
     
     

    enlightened  أصل المصطلح

     

    صاغ Ascher Opler مصطلح "البرامج الثابتة" في مقال Datamation عام 1967. في الأصل ، كانت تعني محتويات مخزن تحكم قابل للكتابة (ذاكرة صغيرة متخصصة عالية السرعة) ، تحتوي على رمز صغير يحدد وينفذ مجموعة تعليمات الكمبيوتر ، والتي يمكن إعادة تحميلها لتخصص أو تعديل التعليمات التي تستخدمها وحدة المعالجة المركزية (CPU) يمكن أن تنفذ. كما تم استخدامه في الأصل ، تتباين البرامج الثابتة مع الأجهزة (وحدة المعالجة المركزية نفسها) والبرامج (التعليمات العادية يتم تنفيذها على وحدة المعالجة المركزية). لم يكن مكونًا من تعليمات جهاز وحدة المعالجة المركزية ، ولكن من رمز صغير منخفض المستوى يشارك في تنفيذ تعليمات الجهاز. كانت موجودة على الحد الفاصل بين الأجهزة والبرامج ؛ وبالتالي اسم "البرامج الثابتة".
    في وقت لاحق ، وسع الاستخدام الشائع كلمة "البرامج الثابتة" للإشارة إلى أي شيء مقيم في ذاكرة القراءة فقط ، بما في ذلك تعليمات جهاز المعالج لنظام الإدخال والإخراج الأساسي (BIOS) أو برامج تحميل التمهيد أو التطبيقات المتخصصة.
    حتى منتصف التسعينيات ، كان تحديث البرامج الثابتة يتضمن عادةً استبدال وسيط تخزين يحتوي على برامج ثابتة ، وعادةً ما يكون عبارة عن دائرة متكاملة مدمجة بذاكرة للقراءة فقط. تسمح ذاكرة الفلاش بتحديث البرامج الثابتة دون إزالة دائرة متكاملة فعليًا من النظام. قد يؤدي حدوث خطأ أثناء عملية التحديث إلى جعل الجهاز غير فعال أو "معطل".
     
     

    enlightened  الحواسيب الشخصية

     

    في بعض النواحي ، تعد مكونات البرامج الثابتة المختلفة مهمة مثل نظام التشغيل في جهاز كمبيوتر يعمل. ومع ذلك ، على عكس معظم أنظمة التشغيل الحديثة ، نادرًا ما تحتوي البرامج الثابتة على آلية تلقائية جيدة التطور لتحديث نفسها لإصلاح أي مشكلات وظيفية يتم اكتشافها بعد شحن الوحدة.
    قد يتم تحديث BIOS "يدويًا" بواسطة مستخدم ، باستخدام برنامج فائدة صغير. في المقابل ، نادرًا ما يتم تحديث البرامج الثابتة في أجهزة التخزين (الأقراص الثابتة ومحركات أقراص DVD وتخزين الفلاش) ، حتى عند استخدام تخزين فلاش (بدلاً من ذاكرة القراءة فقط) للبرامج الثابتة ؛ لا توجد آليات موحدة لاكتشاف أو تحديث إصدارات البرامج الثابتة.
    معظم الأجهزة الطرفية للكمبيوتر هي نفسها أجهزة كمبيوتر ذات أغراض خاصة. تحتوي الأجهزة مثل الطابعات والماسحات الضوئية والكاميرات ومحركات أقراص USB المحمولة على برامج ثابتة مخزنة داخليًا ؛ قد تسمح بعض الأجهزة أيضًا بالترقية الميدانية لبرامجها الثابتة.
    لم تعد بعض الأجهزة الطرفية منخفضة التكلفة تحتوي على ذاكرة غير متطايرة للبرامج الثابتة ، وبدلاً من ذلك تعتمد على النظام المضيف لنقل برنامج التحكم في الجهاز من ملف قرص أو قرص مضغوط.
     
     

    enlightened  منتجات المستهلك

     

    اعتبارًا من عام 2010 ، تدعم معظم مشغلات الموسيقى المحمولة ترقيات البرامج الثابتة. تستخدم بعض الشركات تحديثات البرامج الثابتة لإضافة تنسيقات ملفات جديدة قابلة للتشغيل (برامج الترميز) ؛ أضاف iriver دعم تشغيل Vorbis بهذه الطريقة ، على سبيل المثال. تشمل الميزات الأخرى التي قد تتغير مع تحديثات البرامج الثابتة واجهة المستخدم الرسومية أو حتى عمر البطارية. تحتوي معظم الهواتف المحمولة على إمكانية ترقية البرامج الثابتة عبر الهواء لنفس الأسباب ؛ قد تتم ترقية بعضها لتحسين الاستقبال أو جودة الصوت ، مما يوضح حقيقة أن البرامج الثابتة تُستخدم على أكثر من مستوى في المنتجات المعقدة (في وحدة التحكم الدقيقة التي تشبه وحدة المعالجة المركزية مقابل معالج الإشارات الرقمية ، في هذه الحالة بالذات).
     
     

    enlightened  السيارات

     

     
    منذ عام 1996 ، استخدمت معظم السيارات جهاز كمبيوتر على متنها وأجهزة استشعار مختلفة لاكتشاف المشاكل الميكانيكية. اعتبارًا من عام 2010 ، تستخدم المركبات الحديثة أيضًا أنظمة ABS التي يتم التحكم فيها عن طريق الكمبيوتر ووحدات التحكم في النقل التي يتم تشغيلها بواسطة الكمبيوتر (TCU). يمكن للسائق أيضًا الحصول على معلومات أثناء القيادة بهذه الطريقة ، مثل الاقتصاد في استهلاك الوقود في الوقت الفعلي وقراءات ضغط الإطارات. يمكن للتجار المحليين تحديث معظم البرامج الثابتة للمركبة.
     
     

    enlightened   أمثلة البرامج الثابتة

     

    تتضمن أمثلة البرامج الثابتة ما يلي:
     
    1  -  في المنتجات الاستهلاكية
     
    ـــ  أنظمة التوقيت والتحكم للغسالات
    ـــ   التحكم في خصائص الصوت والفيديو وقائمة القنوات في التلفزيونات الحديثة
    ـــ   رقائق EPROM المستخدمة في سلسلة Eventide H-3000 من معالجات الموسيقى الرقمية
     
    2  -  في أجهزة الكمبيوتر
     
    ـــ BIOS في أجهزة الكمبيوتر الشخصية المتوافقة مع IBM
    ـــ البرامج الثابتة المتوافقة مع (U) EFI المستخدمة في أنظمة Itanium وأجهزة الكمبيوتر المستندة إلى Intel من Apple والعديد من اللوحات الأم لأجهزة كمبيوتر سطح المكتب من Intel
    ـــ Open Firmware ، المستخدم في أجهزة الكمبيوتر المستندة إلى SPARC من Sun Microsystems و Oracle Corporation ، وأجهزة الكمبيوتر المستندة إلى PowerPC من Apple ، وأجهزة الكمبيوتر من Genesi
    ـــ ARCS ، وتستخدم في أجهزة الكمبيوتر من Silicon Graphics
    ـــ Kickstart ، المستخدم في خط Amiga لأجهزة الكمبيوتر (POST ، تجهيز الأجهزة + التكوين التلقائي للتوصيل والتشغيل للأجهزة الطرفية ، النواة ، إلخ.)
    ـــ RTAS (Run-Time Abstraction Services) ، المستخدمة في أجهزة الكمبيوتر من شركة IBM
    ـــ بيئة البرامج الثابتة المشتركة (CFE)
     
    3 - في أجهزة التوجيه (routers) وجدران الحماية
     
    ـــ   LibreWRT - توزيع مجاني 100٪ لجهاز التوجيه والذي يعتمد على Linux-libre kernel
    ـــ IPFire - توزيع مفتوح المصدر لجدار الحماية / جهاز التوجيه على أساس Linux kernel
    ـــ fli4l - توزيع مفتوح المصدر لجدار الحماية / جهاز التوجيه على أساس Linux kernel
    ـــ OpenWrt - توزيع مفتوح المصدر لجدار الحماية / جهاز التوجيه على أساس Linux kernel
    ـــ m0n0wall - توزيع جدار حماية مضمّن لـ FreeBSD
     
    4 - في أنظمة Network-attached storage ​​​​​​ (NAS)
     
    ـــ   NAS4Free - نظام تشغيل NAS مفتوح المصدر يعتمد على FreeBSD 9.1
    ـــ   Openfiler - نظام تشغيل NAS مفتوح المصدر يعتمد على Linux kernel
     
     

    enlightened  الوميض

    يتضمن الوميض الكتابة فوق البرامج الثابتة أو البيانات الموجودة على وحدات EEPROM الموجودة في جهاز إلكتروني ببيانات جديدة. يمكن القيام بذلك لترقية جهاز أو لتغيير مزود خدمة مرتبطة بوظيفة الجهاز ، مثل التغيير من مزود خدمة هاتف محمول إلى آخر أو تثبيت نظام تشغيل جديد. إذا كانت البرامج الثابتة قابلة للترقية ، فغالبًا ما يتم ذلك عبر برنامج من الموفر ، وسيسمح غالبًا بحفظ البرامج الثابتة القديمة قبل الترقية حتى يمكن الرجوع إليها في حالة فشل العملية ، أو إذا كان أداء الإصدار الأحدث أسوأ.

     

     
    enlightened  قرصنة البرامج الثابتة
     
    في بعض الأحيان ، تقوم الجهات الخارجية بإنشاء إصدار غير رسمي جديد أو معدل ("ما بعد البيع") من البرامج الثابتة لتوفير ميزات جديدة أو لإلغاء تأمين الوظائف المخفية ؛ يشار إلى هذا باسم البرامج الثابتة المخصصة (أيضًا "البرامج الثابتة المخصصة" في مجتمع وحدة تحكم ألعاب الفيديو). مثال على ذلك هو Rockbox كبديل للبرامج الثابتة لمشغلات الوسائط المحمولة. هناك العديد من المشاريع المنزلية لوحدات تحكم ألعاب الفيديو ، والتي غالبًا ما تفتح وظائف الحوسبة للأغراض العامة في أجهزة محدودة سابقًا (على سبيل المثال ، تشغيل Doom على أجهزة iPod).
    عادةً ما تستفيد عمليات اختراق البرامج الثابتة من مرفق تحديث البرامج الثابتة على العديد من الأجهزة لتثبيت أو تشغيل نفسها. ومع ذلك ، يجب على البعض اللجوء إلى الثغرات من أجل التشغيل ، لأن الشركة المصنعة حاولت قفل الجهاز لمنعه من تشغيل كود غير مرخص. معظم عمليات اختراق البرامج الثابتة هي برامج مجانية.
     
    yes  قرصنة البرامج الثابتة للأقراص الصلبة
     
    اكتشف مختبر Kaspersky  ومقره موسكو أن مجموعة من المطورين يشار إليها باسم "مجموعة المعادلات" قد طورت تعديلات على البرامج الثابتة لمحرك الأقراص الثابتة لنماذج مختلفة من محركات الأقراص ، والتي تحتوي على حصان طروادة يسمح بتخزين البيانات على محرك الأقراص في المواقع التي لا يتم مسحه حتى إذا تم تنسيق محرك الأقراص أو مسحه. على الرغم من أن تقرير Kaspersky Lab لم يزعم صراحةً أن هذه المجموعة جزء من وكالة الأمن القومي الأمريكية (NSA) ، إلا أن الأدلة التي تم الحصول عليها من رمز برمجيات مجموعة المعادلات المختلفة تشير إلى أنها جزء من وكالة الأمن القومي.
    صنف باحثون من Kaspersky Lab تعهدات Equation Group على أنها أكثر عمليات القرصنة تقدمًا التي تم اكتشافها على الإطلاق ، كما وثقوا حوالي 500 إصابة سببتها Equation Group في 42 دولة على الأقل.
     
     

    enlightened  الأخطار الأمنية

     

    وصف مارك شاتلوورث ، مؤسس توزيعة Ubuntu Linux ، البرامج الثابتة الخاصة بالملكية بأنها خطر أمني ، قائلاً إن "البرامج الثابتة الموجودة على جهازك هي أفضل صديق لـ NSA" ووصف البرامج الثابتة بأنها "حصان طروادة ذو أبعاد ضخمة". لقد أشار إلى أن البرامج الثابتة غير الحرة منخفضة الجودة تشكل تهديدًا كبيرًا لأمان النظام: "أكبر خطأ لديك هو افتراض أن وكالة الأمن القومي هي المؤسسة الوحيدة التي تسيء استخدام هذا الموقف من الثقة - في الواقع ، من المعقول افتراض أن جميع البرامج الثابتة بؤرة انعدام الأمن ، مجاملة لعدم الكفاءة من أعلى درجة من الشركات المصنعة ، وكفاءة من أعلى درجة من مجموعة واسعة جدًا من هذه الوكالات ". كحل لهذه المشكلة ، دعا إلى البرامج الثابتة التوضيحية ، والتي من شأنها أن تصف "ارتباط الأجهزة والتبعيات" و "يجب ألا تتضمن رمزًا قابلاً للتنفيذ".
    ركزت الاختراقات المخصصة للبرامج الثابتة أيضًا على حقن البرامج الضارة في أجهزة مثل الهواتف الذكية أو أجهزة USB. تم عرض حقنة واحدة من هذه الهواتف الذكية على نظام التشغيل Symbian OS في MalCon ، وهو اتفاقية للقراصنة. تم تقديم قرصنة للبرامج الثابتة لجهاز USB تسمى BadUSB في مؤتمر Black Hat USA 2014 ، مما يوضح كيف يمكن إعادة برمجة وحدة تحكم دقيقة لمحرك أقراص فلاش USB لتزوير أنواع مختلفة من الأجهزة الأخرى من أجل التحكم في جهاز كمبيوتر أو سرقة البيانات أو التجسس على المستخدم. عمل باحثون أمنيون آخرون بشكل أكبر على كيفية استغلال المبادئ الكامنة وراء BadUSB ، حيث أطلقوا في نفس الوقت الكود المصدري لأدوات القرصنة التي يمكن استخدامها لتعديل سلوك أجهزة USB المختلفة.