Firmware — qurilmaning apparat qismlarini boshqaradigan va uning asosiy funksiyalarini amalga oshiradigan doimiy yoki yarim doimiy dasturiy ta’minot.
Firmware operatsion tizimdan pastroq qatlamda ishlashi mumkin. U flash xotira, ROM, EEPROM yoki qurilma ichidagi boshqa non-volatile xotirada saqlanadi.
Router, SSD, motherboard, kamera, klaviatura, modem va mikrokontroller firmwarega ega.
Firmware vazifasi
Firmware apparatning aniq tuzilishini biladi va yuqori qatlamga boshqariladigan interfeys beradi.
Vazifalar:
- qurilmani ishga tushirish;
- hardware registerlarni sozlash;
- sensor o‘qish;
- motor yoki radio boshqarish;
- protocol implementatsiyasi;
- xatolarni kuzatish;
- quvvat boshqaruvi;
- boot jarayoni;
- xavfsizlik tekshiruvi;
- operatsion tizim bilan aloqa.
BIOS va UEFI
Motherboard firmware’ning mashhur ko‘rinishi BIOS yoki UEFI.
U:
- POST;
- RAM initialization;
- CPU microcode;
- PCIe discovery;
- bootloader topish;
- ACPI table;
- Secure Boot
vazifalarini bajaradi.
Operatsion tizim yuklangandan keyin ham ayrim firmware service va ACPI funksiyalari ishlashda davom etadi.
Embedded firmware
Mikrokontrollerdagi firmware ko‘pincha qurilmaning asosiy dasturi hisoblanadi.
Masalan, termostat firmware’i:
- harorat sensorini o‘qiydi;
- relayni boshqaradi;
- ekranni yangilaydi;
- Wi‑Fi orqali xabar yuboradi;
- buttonlarga javob beradi.
Bunday qurilmada alohida umumiy maqsadli operatsion tizim bo‘lmasligi mumkin.
Device firmware
Kompyuter komponentlari ham ichki firmwarega ega:
Driver operatsion tizimda, firmware esa qurilmaning o‘zida ishlaydi.
Driver bilan farqi
| Jihat | Firmware | Driver |
|---|---|---|
| Joylashuvi | Qurilma flash yoki ROMida | Operatsion tizimda |
| Vazifasi | Apparati bevosita boshqarish | OS va qurilma orasida interfeys |
| Ishga tushishi | OSdan oldin yoki mustaqil | OS yuklanganda |
| Yangilanishi | Maxsus flash jarayoni | Paket yoki OS update |
Ba’zi qurilma firmware blobini driver yuklash paytida RAMga oladi.
Firmware image
Yangilanish fayli firmware image deb ataladi.
Image tarkibi:
- executable code;
- configuration;
- bootloader;
- device tree;
- filesystem;
- signature;
- version metadata.
Fayl kengaytmasi ishlab chiqaruvchiga bog‘liq.
Firmware update
Yangilanish sabablari:
- security zaifligini yopish;
- hardware compatibility;
- barqarorlik;
- performance;
- yangi funksiya;
- protocol xatosi;
- battery boshqaruvi.
Update noto‘g‘ri qurilma modeli uchun bo‘lsa, qurilma boot qilmay qolishi mumkin.
Flash jarayoni
Umumiy bosqichlar:
- image model va versiya bo‘yicha tekshiriladi;
- signature yoki checksum tekshiriladi;
- qurilma update rejimiga o‘tadi;
- flash sektorlar yoziladi;
- yozuv tekshiriladi;
- qurilma qayta ishga tushadi;
- yangi versiya health checkdan o‘tadi.
Jarayon vaqtida quvvat uzilishi xavfli.
A/B partition
Yuqori ishonchlilikdagi qurilmada ikki firmware slot bo‘lishi mumkin.
- A — amaldagi versiya;
- B — yangi update.
Qurilma Bga boot qilib tekshiradi. Muvaffaqiyatsiz bo‘lsa Aga qaytadi.
Bu OTA update’da brick xavfini kamaytiradi.
Bootloader
Bootloader firmware image’ni tekshiradi va ishga tushiradi.
Recovery mode:
orqali firmware tiklashga imkon beradi.
Bootloaderning o‘zi ham update qilinishi mumkin, lekin xato bo‘lsa recovery qiyinroq.
Signed firmware
Qurilma faqat ishlab chiqaruvchi private keyi bilan imzolangan firmware’ni qabul qilishi mumkin.
Bu:
- zararli image;
- noqonuniy o‘zgartirish;
- supply-chain hujumi;
- downgrade
ga qarshi himoya beradi.
Public key qurilma ROMi yoki secure storage’da saqlanadi.
Secure Boot
Secure Boot boot zanjiridagi har bosqich imzosini tekshiradi.
ROM → Bootloader → Firmware component → OS bootloader → Kernel
Bir bosqich ishonchsiz bo‘lsa, boot to‘xtaydi yoki recoveryga o‘tadi.
Anti-rollback
Eski firmware’da ma’lum zaiflik bo‘lishi mumkin.
Anti-rollback qurilmaning versiya counteridan past image o‘rnatishni taqiqlaydi.
Recovery va servis jarayoni bunga mos loyihalanadi.
OTA
Over-the-Air update firmware’ni tarmoq orqali yangilaydi.
Kerakli qismlar:
Millionlab IoT qurilmada update birdan tarqatilmaydi. Avval kichik guruhda tekshiriladi.
Konfiguratsiya va firmware
Firmware update user configurationni saqlashi yoki reset qilishi mumkin.
Schema o‘zgarsa, migration bajariladi.
Eski konfiguratsiya yangi firmware’da noto‘g‘ri ishlashi mumkin.
Firmware zaifligi
Firmware xavflari:
- hardcoded credential;
- unsigned update;
- buffer overflow;
- eski library;
- debug interface;
- noto‘g‘ri certificate validation;
- web admin xatosi;
- supply-chain;
- maxfiy keyning barcha qurilmada bir xil bo‘lishi.
Firmware patch qilish operatsion tizim dasturiga qaraganda qiyinroq bo‘lishi mumkin.
Firmware tahlili
Xavfsizlik mutaxassisi image’dan:
- filesystem;
- binary;
- config;
- certificate;
- key;
- string;
- web file;
- update script
ni ajratib tahlil qiladi.
Dynamic analysis emulyator yoki real qurilmada bajariladi.
Version boshqaruvi
Firmware versiya:
- release;
- build;
- hardware revision;
- region;
- bootloader requirement
bilan bog‘liq bo‘lishi mumkin.
Faqat raqam kattaligiga qarab image mosligi aniqlanmaydi.
Diagnostika
Firmware update muammosida:
- aniq model;
- hardware revision;
- image checksum;
- signature;
- quvvat;
- flash joyi;
- boot log;
- recovery mode;
- rollback slot;
- config migration
tekshiriladi.
Update’dan keyin qurilma ishlamasa, bootloader console va recovery usuli asosiy manba bo‘ladi.
Firmware supply chain
Firmware image ishlab chiqaruvchi build tizimidan foydalanuvchi qurilmasigacha bir nechta bosqichdan o‘tadi.
Himoyalangan jarayon:
- source access nazorati;
- reproducible yoki audit qilinadigan build;
- signing keyni HSMda saqlash;
- image signature;
- HTTPS distribution;
- update log;
- vulnerability disclosure
ni qamrab oladi.
Signing server komprometatsiya qilinsa, texnik jihatdan haqiqiy imzoga ega zararli firmware tarqalishi mumkin. Shu sababli release tasdiqlash bir nechta shaxs va tizimga bo‘linadi.
Bog‘liq tushunchalar
Embedded system, BIOS, UEFI, Bootloader, Flash memory, OTA, Secure Boot, Signed firmware, Driver, Microcode