Bir sabit disk sürücüsünün denetleyici kartındaki 2 megabitlik seri flaş bellek yongası (Winbond 25X20CL). Donanım yazılımı çoğunlukla bu tür kalıcı bellek yongalarında saklanır.

Donanım yazılımı (İngilizce: firmware), bir elektronik aygıtın donanımını en alt düzeyde denetleyen ve aygıtın kalıcı belleğinde saklanan yazılımdır. Türkçede aygıt yazılımı ya da bellenim diye de anılır. Donanım yazılımı, aygıttaki işlem biriminin aygıttan beklenen işleri yapmak için yürüttüğü buyruklardan oluşur. Yazıcılardan cep telefonlarına, ev ağlarındaki yönlendiricilerden bilgisayar çevre birimlerine ve otomobil parçalarına kadar gömülü sistemlerin hemen hepsi kendi donanım yazılımını çalıştırır. Bir kişisel bilgisayarda da tek bir donanım yazılımı yoktur. Anakarttaki önyükleme yazılımının yanında gömülü denetleyici, ağ ve depolama denetleyicileri, grafik işlem birimi, hatta bazı soğutma fanları kendi donanım yazılımlarını taşır.

Donanım yazılımı maskeli ROM, PROM, EPROM, EEPROM ya da flaş bellek gibi kalıcı belleklerde saklanır. Sözcük ilk kez 1967'de Ascher Opler'in Datamation dergisindeki bir yazısında, bilgisayarın denetim belleğinde duran mikroprogramları adlandırmak için kullanıldı. Bugün bir donanım aygıtına gömülü yazılımın genel adıdır. Eskiden aygıtın ömrü boyunca pek az değiştirilen donanım yazılımı, karmaşıklığı arttıkça hataları gidermek, güvenlik açıklarını kapatmak ya da yeni işlevler eklemek için sık sık güncellenir hâle geldi. Sistem BIOS'u gibi donanım yazılımları açılışta en önce ve çok yüksek ayrıcalıkla çalıştığı için onlara yerleşen kötücül yazılım işletim sistemi yeniden kurulsa da varlığını sürdürebilir. Bu yüzden güncellemelerin sayısal imzayla doğrulanması önerilmektedir.

Adın kökeni ve tarihçe

İngilizce firmware sözcüğü, Ascher Opler'in Ocak 1967'de Datamation dergisinde yayımlanan "Fourth-Generation Software" (Dördüncü kuşak yazılım) başlıklı yazısında ortaya çıktı. Opler dağarcığa yeni bir sözcük katmak istediğini açıkça yazar ve donanım yazılımını, bilgisayarın denetim belleğinde duran ve mantık tasarımını belirli bir amaca uyarlayan mikroprogramlar diye tanımlar. Verdiği örnek, bir bilgisayarın başka bir bilgisayarın buyruklarını yürütebilir hâle getirilmesidir.

Opler'in kavramı mikroprogramlamaya dayanır. Mikroprogramlamada küçük bir iç işlemci saklanan bir mikroprogramla sürülür ve her buyruk çözüldüğünde işlem kodu, mikrobellekte saklanan ve o buyruğu yürüten bir mikroprogram yordamını çağırır. O dönemde mikroprogramlı bilgisayarlar, üreticinin yerleştirdiği salt okunur bir mikroprogramla teslim ediliyordu. Opler dördüncü kuşakta kullanıcıların da kendi mikroprogramlarını hazırlayacağını, üreticilerin bilgisayarlarına rakip makinelerin buyruk kümelerini yürütme yeteneği kazandıran donanım yazılımı paketleri dağıtacağını ve işletim sisteminin denetim programlarının büyük bölümünün donanım yazılımına geçeceğini öngördü. Opler bu yeni katmanın donanım ile yazılım arasında duracağını, onu hazırlayan kişinin de "donanım yazılımı uzmanı" olacağını yazdı.

Sözcüğün anlamı kısa sürede mikrokodun ötesine taşındı. IEEE'nin 1990 tarihli yazılım mühendisliği sözlüğü (IEEE Std 610.12-1990) donanım yazılımını, bir donanım aygıtı ile o aygıtta salt okunur yazılım olarak duran bilgisayar buyruklarının ya da verilerinin birleşimi diye tanımladı.

Donanım yazılımının saklandığı bellek de değişti. 1965'te ortaya çıkan ilk yarı iletken salt okunur bellek yongaları, sistemin ömrü boyunca değişmeyecek mikroprogram kodu gibi bilgileri saklıyordu. Bugün ise sistem BIOS'u genellikle EEPROM'da ya da flaş bellekte durur ve son kullanıcı onu kendisi güncelleyebilir.

Saklandığı bellekler

Intel'in 1971'de duyurduğu, ultraviyole ışıkla silinip yeniden programlanabilen ilk EPROM'u 1702

Donanım yazılımını saklayan kalıcı bellekler, içeriğin ne zaman, kaç kez ve hangi yolla yazılabildiğine göre ayrılır. Bu ayrım, donanım yazılımının sonradan güncellenip güncellenemeyeceğini de belirler.

Maskeli ROM (İngilizce: mask ROM), içeriği üretim sırasında yazılan salt okunur bellektir. Bu bellekler satır ve sütunlar biçiminde dizilmiş diyotlardan oluşur ve silisyum plaka üretiminin son maskeleme adımı, müşterinin kodunu oluşturacak diyotların bağlantısını kurar. Yazılan bilgi sistemin ömrü boyunca değişmez. Her yonga siparişe göre üretildiği için müşteriler uzun teslim sürelerinden yakınıyordu.

PROM (programlanabilir salt okunur bellek), kodu üretimden sonra kullanıcının yazdığı bellektir. Radiation Inc. 1970'te tasarımcıların metal sigorta bağlantılarını yakarak programladığı 512 bitlik bir PROM sundu. Bu bellek yalnızca bir kez programlanabiliyordu.

EPROM (silinebilir programlanabilir salt okunur bellek), ultraviyole ışıkla silinip yeniden programlanabilen bellektir. Intel 1971'de Dov Frohman'ın tasarladığı 2048 bitlik 1702 EPROM'unu duyurdu. Bu yonga, içindeki desen ultraviyole ışıkla silinerek birçok kez yeniden kullanılabiliyordu.

EEPROM (elektrikle silinebilir programlanabilir salt okunur bellek), ultraviyole ışığa gerek duymadan elektrikle silinip yeniden yazılabilen bellektir. Eli Harari 1976 ile 1978 arasında Hughes Microelectronics'te ince oksitli, kayan kapılı bir EEPROM hücresi gösterdi. George Perlegos aynı tekniği 1978'de Intel'in ilk EEPROM'unda kullandı.

Flaş bellek, EEPROM'un bir türüdür. Toshiba'da çalışan Fujio Masuoka 1980'de EEPROM mimarisini programlamayı hızlandıracak biçimde değiştirdi ve ona "flaş" adını verdi. Masuoka 1987'de daha düşük maliyetli NAND yapısını geliştirdi. Bu yapı katı hâl sürücülerinin ve USB belleklerin önünü açtı. Masuoka ve ekip arkadaşları yeni flaş bellek hücresini 1984'te Uluslararası Elektron Aygıtları Toplantısı'nda (IEDM) tanıttı. Çağdaş bilgisayarların çoğunda ana işlemcinin önyükleme yazılımı, Seri Çevresel Arabirim (İngilizce: Serial Peripheral Interface, SPI) üzerinden bağlanan bir flaş bellek yongasında durur.

Bazı aygıtlar donanım yazılımını kendi belleklerinde değil, işletim sisteminin dosyalarında tutar. Linux çekirdeğinin donanım yazılımı arayüzü, aygıt sürücülerinin aygıt mikrodenetleyicilerine yüklenmesi gereken donanım yazılımını ve işlemci hatalarını gideren mikrokodu kullanıcı alanından istemesini sağlar.

Kullanım alanları

Bilgisayarlar

Bir 486 anakartında, AMI'nin BIOS donanım yazılımını taşıyan salt okunur bellek yongası

Bir bilgisayar açıldığında ana işlemcinin yürüttüğü ilk yazılım sistem BIOS'udur. Çağdaş bilgisayarlarda BIOS'un asıl görevi donanım bileşenlerini hazırlayıp sınamak ve işletim sistemini yüklemektir. BIOS ayrıca güç ve ısı yönetimi gibi sistem işlevlerini başlatır ve önyükleme sırasında işlemcinin mikrokod yamalarını da yükleyebilir. Bazı bilgisayarlar 16 bitlik geleneksel BIOS'u, yeni bilgisayarların birçoğu ise UEFI belirtimlerine dayanan önyükleme yazılımını kullanır.

BIOS yalnızca anakartta bulunmaz. Sabit disk denetleyicileri, ekran kartları ve ağ kartları gibi eklenti kartları da seçenek ROM'u (İngilizce: option ROM) biçiminde kendi BIOS kodlarını taşır ve sistemin donanım yazılımı bu kodları önyükleme sırasında yürütür. Bilgisayarın içinde kendi mikrodenetleyicisini ve donanım yazılımını çalıştıran başka aygıtlar da vardır:

  • Gömülü denetleyici ya da süper giriş/çıkış yongası, klavye, ışıklı göstergeler, fanlar, pil ve ısı izleme gibi işlevleri yönetir. Çoğu zaman anakartta kod yürüten ilk aygıttır ve kendisi hazır olana kadar ana işlemciyi başlangıç durumunda bekletir.
  • Ağ arabirim denetleyicisi ve ekran kartı, bir mikrodenetleyicinin çalıştırdığı donanım yazılımının yanında önyüklemede ana işlemcinin yürüttüğü bir genişletme ROM'u da taşıyabilir.
  • Sabit disk sürücüleri ve katı hâl sürücüleri içinde verinin depolama ortamına yazılmasını bir mikrodenetleyici ve onun donanım yazılımı yürütür.

Katı hâl sürücülerinde flaş çeviri katmanı (İngilizce: flash translation layer, FTL) denen bir ara yazılım katmanı kullanılır. Bu katman mantıksal adreslerin fiziksel adreslere eşlenmesi, çöp toplama ve aşınma dengeleme gibi işleri donanım yazılımında yürütülen algoritmalarla yapar. Bu algoritmalar sürücünün başarımını, ömrünü ve veri bütünlüğünü doğrudan etkiler.

İşlemcinin mikrokodu da güncellenebilen bir donanım yazılımıdır. Linux çekirdeği, işlemci hatalarının çekirdeğin açılışı sırasında ortaya çıkmadan giderilebilmesi için mikrokodu açılışın çok erken bir aşamasında günceller. Yeni bir mikrokod paketi sistem çalışırken de yüklenebilir.

Gömülü sistemler

Gömülü sistemler, gündelik hayatta kullanılan pek çok aygıtın çekirdeğinde yer alır. Tüketici ürünlerinin yanında güvenlik kamerası sistemleri, tıbbi implantlar, endüstriyel denetim sistemleri ve programlanabilir mantık denetleyicileri de bu sınıfa girer. Bu sistemler, üreticilerin donanım yazılımı görüntüsü ya da güncellemesi biçiminde dağıttığı özel bir yazılım çalıştırır. Bu tür aygıtlarda donanım yazılımı çoğunlukla aygıtın kendi mikrodenetleyicisinde çalışır.

Gömülü donanım yazılımı da öteki yazılımlar gibi hata ve yanlış yapılandırma içerebilir. Eurecom'dan Andrei Costin ve arkadaşları 2014'te 32 bin donanım yazılımı görüntüsünü inceledi. Çalışmada 693'ten fazla görüntüde daha önce bilinmeyen 38 güvenlik açığı bulundu. Açık taşıyan bileşenler farklı üreticilerin görüntülerinde bile yeniden kullanıldığı için bu açıkların bir bölümü 123'ten fazla ürüne yayılıyordu. İnternetten erişilebilen en az 140 bin aygıt bu açıklardan etkileniyordu.

Otomobiller

Tekerlekli araçlara ilişkin 1958 Cenevre Anlaşması çerçevesinde 24 Haziran 2020'de kabul edilen ve 22 Ocak 2021'de yürürlüğe giren 156 sayılı BM Düzenlemesi, yazılım güncellemesine izin veren araçların onayını düzenler. Düzenlemede yazılım, bir elektronik denetim sisteminin (örneğin bir motor denetim biriminin) sayısal veri ve buyruklardan oluşan bölümü diye tanımlanır. Kablosuz güncelleme (İngilizce: over-the-air update, OTA) ise verinin kablo ya da başka bir yerel bağlantı yerine kablosuz aktarıldığı her yöntemi kapsar.

Düzenleme, araç üreticisinden bir yazılım güncellemesi yönetim sistemi kurmasını ve güncellemelerin özgünlüğünü ve bütünlüğünü korumasını ister. Kablosuz güncellemede üretici, güncelleme başarısız olursa ya da yarıda kalırsa sistemlerin önceki sürüme dönebilmesini ya da aracın güvenli bir duruma geçebilmesini sağlamalıdır.

Tüketici elektroniği ve iletişim

Akıllı telefonların çoğunda en az iki işlemci vardır. Uygulama işlemcisi kullanıcı arayüzünü ve uygulamaları çalıştırır, temel bant işlemcisi (İngilizce: baseband processor) ise hücresel ağa bağlantıyı yönetir. İki işlemci aynı kırmık üzerinde de bulunabilir. Temel bant yongası üreticileri yongalarını, temel bant yazılım yığını denen yazılımla birlikte satar. Ralf-Philipp Weinmann 2012'de, uygulama işlemcisine göre çok daha az korunan bu yazılımdaki bellek bozulması açıklarının sahte bir GSM baz istasyonuyla radyo arabirimi üzerinden tetiklenip temel bant işlemcisinde kod yürütmek için kullanılabildiğini gösterdi.

Ev ağlarındaki yönlendiriciler de donanım yazılımıyla çalışan gömülü aygıtlardır. Costin ve arkadaşları, bir ev kablosuz yönlendiricisinde arka kapı bulunmasını gömülü sistemlerin güvenliğine ilişkin yakın tarihli örnekler arasında anar. Aynı çalışmaya göre nesnelerin interneti, gömülü aygıtları daha da yaygın ve birbirine bağlı hâle getirecektir.

Güncelleme

Donanım yazılımı güncellemesi, aygıtın kalıcı belleğindeki donanım yazılımının yeni bir sürümle değiştirilmesidir. Güncellemeler hataları düzeltmek, güvenlik açıklarını kapatmak ya da aygıta yeni işlevler eklemek için yayımlanır. Yeni görüntü flaş belleğe yazıldığı için işleme İngilizcede flashing (flaşlama) denir. Güncellemeler aygıta yeni bir dil desteği de getirebilir. Örneğin QNAP'ın VioStor NVR-104P, VS-201P ve VS-101P ağ video kaydedicileri için yayımladığı 3.3.0 sürümlü donanım yazılımı, aygıtın web arayüzüne Türkçe desteği getirdi.

Kişisel bilgisayarlarda üreticiler BIOS'u güncelleyen araç programlar sağlar. Eskiden bilgisayar bu iş için dış bir ortamdan başlatılırdı, bugün güncelleme çoğunlukla olağan işletim sisteminin içinden yapılabilir.

Android işletim sisteminde kullanılan A/B güncellemelerinde aygıtın belleğinde A ve B diye anılan iki bölüm takımı bulunmaktadır. Sistem o anda kullandığı takımdan çalışırken öteki takıma dokunmaz. Güncelleme uygulanamazsa kullanıcı eski sistemi kullanmayı sürdürür, güncellenen sistem açılamazsa da aygıt eski bölüme döner.

Güncellemenin yarıda kalması aygıtı kullanılamaz hâle getirebilir (İngilizcede bricking). ABD Ulusal Standartlar ve Teknoloji Enstitüsü (NIST) bu yüzden güncelleme düzeneğinin, flaş belleğe yazılırken elektrik kesilse bile bir sonraki açılışta kurtarılabilir kalmasını ister. Bozulan donanım yazılımından kurtulmak için kullanılan başlıca düzenekler şunlardır:

  • Elle kurtarma: Bilgisayarın başındaki kullanıcı önyükleme sırasında bozuk BIOS'u bilinen sağlam bir sürümle değiştirir.
  • Kendiliğinden kurtarma: Sistem BIOS'un bozulduğunu sezip ikinci bir flaş bellek yongasında ya da sabit diskin gizli bir bölümünde saklanan yedek görüntüden kendini kurtarır.
  • Önceki sürüme dönme: Yeni sürüm açılamazsa ya da güncelleme yarıda kalırsa aygıt eski sürüme döner.
  • Geri alma koruması: Güncellemeleri doğrulayan sistem sürüm numarasını da denetler ve saldırganın bilinen açıkları olan eski bir sürümü yeniden yüklemesini engeller.

Güvenlik

Bir bilgisayar açıldığında ana işlemcide ilk çalışan kod sistem BIOS'udur ve BIOS'un tamamına ya da bir bölümüne genellikle sorgusuz güvenilir. BIOS'a yazılan kötücül yazılım, işletim sistemi yeniden kurulsa ya da sabit disk değiştirilse bile makineye yeniden bulaşabilir. BIOS her şeyden önce yüklendiği için kötücül yazılımla mücadele ürünleri onu güvenilir biçimde tarayamaz. NIST'in 2011 yönergesine göre o güne kadar sistem BIOS'unu hedefleyip çok sayıda bilgisayara bulaşan bilinen tek kötücül yazılım, ilk kez 1998'de görülen CIH ya da Çernobil virüsüydü. Virüs, o dönemde yaygın olan belirli bir yonga setini kullanan sistemlerde BIOS'un üzerine yazmaya çalışıyordu.

Sabit disklere yönelik saldırılar

Kaspersky Lab 16 Şubat 2015'te, Equation Group adını verdiği saldırı grubunun "nls_933w.dll" adlı bir modülle Seagate, Western Digital, Toshiba, Maxtor ve IBM'in de aralarında bulunduğu on ikiden fazla markanın sabit disk donanım yazılımını yeniden programlayabildiğini duyurdu. Ars Technica'ya göre kötücül donanım yazılımı, disk silinip yeniden biçimlendirildiğinde bile yok olmayan gizli bir saklama alanı oluşturuyordu. Ele geçirilen bir diskte bulaşma saptanamıyor ve temizlenemiyordu. Kaspersky grubu açıkça ABD Ulusal Güvenlik Ajansına bağlamadı, ama ayrıntılı kanıtları bu kuruma işaret ediyordu.

BadUSB

SR Labs'ın araştırmacıları Karsten Nohl ve Jakob Lell, 2014 yazında Las Vegas'taki Black Hat güvenlik konferansında BadUSB adını verdikleri saldırıyı sunacaklarını duyurdu. Wired dergisine göre araştırmacılar, USB aygıtlarının denetleyici yongalarındaki donanım yazılımının saldırı kodunu gizlemek için yeniden programlanabileceğini gösterdi. BadUSB aygıtın flaş belleğinde değil donanım yazılımında durduğu için bellek temizlendikten sonra da gizli kalabiliyordu. Sorun USB belleklerle sınırlı değildi. Klavyeler, fareler ve akıllı telefonlar da yeniden programlanabilir donanım yazılımı taşıyordu. Bulaşmış bir aygıt kendini klavye gibi tanıtıp bilgisayara buyruk yazabiliyordu.

LoJax

ESET 27 Eylül 2018'de, sahada bulunan ilk UEFI kök kullanıcı takımını (İngilizce: rootkit) duyurdu. LoJax adı verilen bu yazılımı APT28 ya da Fancy Bear diye de bilinen Sednit grubu kullanıyordu. Saldırganlar SPI flaş belleğin yazma korumalarını aşan bir araçla kurbanın sistemine kötücül bir UEFI modülü yerleştirmişti. Bu yerleşim işletim sistemi yeniden kurulsa da, sabit disk değiştirilse de sürüyordu. Temizlemek için SPI flaş belleğin o anakarta özgü temiz bir görüntüyle yeniden yazılması gerekiyordu.

Korunma yöntemleri

NIST'in 2011 tarihli BIOS koruma yönergesi, sistem BIOS'unun yalnızca güncellemenin sayısal imzasını doğrulayan bir düzenekle değiştirilebilmesini önerir. 2018 tarihli NIST SP 800-193, bu yaklaşımı bilgisayardaki bütün aygıtların donanım yazılımına genişletir ve koruma, bozulmanın saptanması ve kurtarma ilkelerine dayandırır.

Güvenli Önyükleme (İngilizce: Secure Boot), bir aygıtın yalnızca üreticinin güvendiği yazılımla açılmasını amaçlayan bir güvenlik standardıdır. Bilgisayar açılırken donanım yazılımı, önyükleme yazılımının UEFI sürücüleri, EFI uygulamaları ve işletim sistemi dahil her parçasının imzasını denetler ve imzalar geçerliyse denetimi işletim sistemine bırakır. ESET'e göre Güvenli Önyükleme SPI flaş belleğin dışından gelen bileşenlere karşı tasarlandığı için LoJax saldırısını engelleyemezdi. Şirket yine de Güvenli Önyüklemenin açılmasını, ayrıca 2013'te Haswell işlemci ailesiyle gelen Intel Boot Guard gibi donanım tabanlı korumaların kullanılmasını önerdi.

İşlemci mikrokodu ve Spectre

Spectre saldırıları, işlemcinin öngörüye dayalı yürütme düzeneğini kandırarak kurban programa doğru yürütmede hiç gerçekleşmeyecek işlemler yaptırır ve programın gizli bilgilerini yan kanal üzerinden sızdırır. Saldırıdan Intel, AMD ve ARM işlemcileri etkilenmektedir. Intel, öngörüye dayalı yürütme ve dolaylı dallanma öngörüsü üzerinden yapılan yan kanal çözümlemesi için 3 Ocak 2018'de yayımladığı INTEL-SA-00088 güvenlik bildiriminde, CVE-2017-5715 numaralı açığa karşı müşterilerine ve iş ortaklarına güncellenmiş işlemci mikrokodu dağıttığını duyurdu. Şirket, donanım üreticileriyle hazırlanan platform donanım yazılımı güncellemelerinin bir an önce kurulmasını önerdi.

Açık kaynak donanım yazılımları

Bazı donanım yazılımları açık kaynak olarak geliştirilmektedir. Bu projelerin bir bölümü aygıtta üreticinin donanım yazılımının yerine kurulur.

coreboot, çeşitli işlemci mimarileri için açık kaynak önyükleme yazılımı geliştiren bir projedir. Donanımı kullanılabilir kılmak için gereken en az işi yapar ve denetimi yük (İngilizce: payload) denen başka bir programa devreder. Sık kullanılan yükler arasında BIOS hizmetlerini veren SeaBIOS, GRUB2 önyükleyicisi ve Chromebooklarda kullanılan depthcharge vardır. Proje ARM, x86 ve RISC-V mimarilerini hedefler. Her bileşenin açık kaynak yazılamadığı bazı çağdaş donanımlar için yeniden dağıtılabilen üretici ikili dosyalarına sınırlı ölçüde izin verir.

OpenWrt, gömülü aygıtları hedefleyen bir Linux işletim sistemidir. Tek ve değişmez bir donanım yazılımı görüntüsü yerine paket yönetimi olan, tümüyle yazılabilir bir dosya sistemi sunar. Böylece kullanıcılar aygıtlarını üreticinin seçtiği uygulamalarla sınırlı kalmadan kendi amaçlarına göre uyarlayabilir.

Rockbox, MP3 çalarlar için geliştirilen ve üreticinin yazılımının yerine kurulan açık kaynak bir donanım yazılımıdır. Bu tür özel donanım yazılımlarının bilinen bir örneği olan Rockbox, 2010'da Apple, Archos, Cowon, iRiver, Olympus, SanDisk ve Toshiba gibi üreticilerin 20'den fazla oynatıcısında kararlı olarak çalışıyordu.

Ayrıca bakınız

Kaynakça

  1. ^ a b c d e f g h i Regenscheid, Andrew (Mayıs 2018). Platform Firmware Resiliency Guidelines (PDF). NIST Special Publication 800-193. National Institute of Standards and Technology. doi:10.6028/NIST.SP.800-193. 6 Ekim 2026 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 7 Ekim 2026. 
  2. ^ a b c d e f Costin, Andrei; Zaddach, Jonas; Francillon, Aurélien; Balzarotti, Davide (2014). A Large-Scale Analysis of the Security of Embedded Firmwares (PDF). 23rd USENIX Security Symposium. USENIX Association. ss. 95-110. Erişim tarihi: 7 Ekim 2026. 
  3. ^ a b c d e f g h i j k Cooper, David; Polk, William; Regenscheid, Andrew; Souppaya, Murugiah (Nisan 2011). BIOS Protection Guidelines (PDF). NIST Special Publication 800-147. National Institute of Standards and Technology. doi:10.6028/NIST.SP.800-147. Erişim tarihi: 7 Ekim 2026. 
  4. ^ a b c d e f "1971: Reusable Programmable ROM Introduces Iterative Design Flexibility". The Silicon Engine. Computer History Museum. 25 Eylül 2026 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Ekim 2026. 
  5. ^ a b c Opler, Ascher (Ocak 1967). "Fourth-Generation Software". Datamation7 Ekim 2026. 
  6. ^ a b c "1965: Semiconductor Read-Only-Memory Chips Appear". The Silicon Engine. Computer History Museum. 15 Mayıs 2026 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Ekim 2026. 
  7. ^ a b Ma, Dongzhe; Feng, Jianhua; Li, Guoliang (2014). "A survey of address translation technologies for flash memories". ACM Computing Surveys. 46 (3): 1-39. doi:10.1145/2512961. 
  8. ^ Masuoka, F.; Asano, M.; Iwahashi, H.; Komuro, T.; Tanaka, S. (1984). A new flash E²PROM cell using triple polysilicon technology. 1984 International Electron Devices Meeting. ss. 464-467. doi:10.1109/IEDM.1984.190752. 
  9. ^ a b "Firmware API: Introduction". The Linux Kernel documentation. 21 Ağustos 2026 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Ekim 2026. 
  10. ^ Lee, Sungjin; Shin, Dongkun; Kim, Youngjin; Kim, Jihong (2016). "Exploiting Sequential and Temporal Localities to Improve Performance of NAND Flash-Based SSDs". ACM Transactions on Storage. 12 (3): 1-39. doi:10.1145/2905054. 
  11. ^ Yu, Fenghua; Petkov, Borislav; Raj, Ashok. "The Linux Microcode Loader". The Linux Kernel documentation. 27 Ağustos 2026 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Ekim 2026. 
  12. ^ a b c "UN Regulation No. 156: Uniform provisions concerning the approval of vehicles with regards to software update and software updates management system" (PDF). Birleşmiş Milletler. 24 Haziran 2020. Erişim tarihi: 7 Ekim 2026. Arşivlenmesi gereken bağlantıya sahip kaynak şablonu içeren maddeler (link)
  13. ^ Weinmann, Ralf-Philipp (2012). Baseband Attacks: Remote Exploitation of Memory Corruptions in Cellular Protocol Stacks (PDF). 6th USENIX Workshop on Offensive Technologies (WOOT 12). USENIX Association. Erişim tarihi: 7 Ekim 2026. 
  14. ^ "Release Notes - NVR-104P/ VS-201P/ VS-101P 3.3.0". QNAP. Erişim tarihi: 7 Ekim 2026. Arşivlenmesi gereken bağlantıya sahip kaynak şablonu içeren maddeler (link)
  15. ^ a b "A/B (seamless) system updates". Android Open Source Project. Google. Erişim tarihi: 7 Ekim 2026. Arşivlenmesi gereken bağlantıya sahip kaynak şablonu içeren maddeler (link)
  16. ^ GReAT (16 Şubat 2015). "Equation: The Death Star of Malware Galaxy". Securelist. Kaspersky. 17 Şubat 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Ekim 2026. 
  17. ^ Goodin, Dan (16 Şubat 2015). "How "omnipotent" hackers tied to NSA hid for 14 years - and were found at last". Ars Technica. 24 Nisan 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Ekim 2026. 
  18. ^ Greenberg, Andy (31 Temmuz 2014). "Why the Security of USB Is Fundamentally Broken". Wired. 3 Ağustos 2014 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Ekim 2026. 
  19. ^ a b ESET Research (27 Eylül 2018). "LoJax: First UEFI rootkit found in the wild, courtesy of the Sednit group". WeLiveSecurity. ESET. 11 Ekim 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Ekim 2026. 
  20. ^ "Secure boot". Microsoft Learn. Microsoft. 1 Ekim 2026 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Ekim 2026. 
  21. ^ Kocher, Paul; Horn, Jann; Fogh, Anders; ve diğerleri. (2019). Spectre Attacks: Exploiting Speculative Execution. 2019 IEEE Symposium on Security and Privacy (SP). ss. 1-19. doi:10.1109/SP.2019.00002. 
  22. ^ "INTEL-SA-00088: Speculative Execution and Indirect Branch Prediction Side Channel Analysis Method". Intel. 3 Ocak 2018. Erişim tarihi: 7 Ekim 2026. Arşivlenmesi gereken bağlantıya sahip kaynak şablonu içeren maddeler (link)
  23. ^ "coreboot documentation". coreboot. 13 Haziran 2023 tarihinde kaynağından arşivlendi. Erişim tarihi: 7 Ekim 2026. 
  24. ^ "Welcome to the OpenWrt Project". OpenWrt. Erişim tarihi: 7 Ekim 2026. Arşivlenmesi gereken bağlantıya sahip kaynak şablonu içeren maddeler (link)
  25. ^ Brockmeier, Joe (16 Haziran 2010). "Rockbox 3.6 and beyond". LWN.net. Erişim tarihi: 7 Ekim 2026. Arşivlenmesi gereken bağlantıya sahip kaynak şablonu içeren maddeler (link)