0% found this document useful (0 votes)
5 views31 pages

Firmware - Wikipedia

Firmware is a type of software that provides low-level control for a device's hardware, often stored in non-volatile memory like ROM or flash memory. It plays a crucial role in the functionality of devices, ranging from computers to home appliances, and can be updated to fix bugs or add features. The term 'firmware' was coined in 1967 to describe software that operates closely with hardware, and it has since expanded to include various applications across different technologies.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views31 pages

Firmware - Wikipedia

Firmware is a type of software that provides low-level control for a device's hardware, often stored in non-volatile memory like ROM or flash memory. It plays a crucial role in the functionality of devices, ranging from computers to home appliances, and can be updated to fix bugs or add features. The term 'firmware' was coined in 1967 to describe software that operates closely with hardware, and it has since expanded to include various applications across different technologies.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

Firmware

In computing, firmware is a specific


class of computer software that provides
the low-level control for a device's
specific hardware. Firmware, such as the
BIOS of a personal computer, may
contain basic functions of a device, and
may provide hardware abstraction
services to higher-level software such as
operating systems. For less complex
devices, firmware may act as the device's
complete operating system, performing
all control, monitoring and data
manipulation functions. Typical
examples of devices containing firmware
are embedded systems (running
embedded software), home and
personal-use appliances, computers, and
computer peripherals.

Firmware is commonly stored in an


EEPROM, which makes use of an I/O
protocol such as SPI.

Firmware is held in non-volatile memory


devices such as ROM, EPROM, EEPROM,
and flash memory. Updating firmware
requires ROM integrated circuits to be
physically replaced, or EPROM or flash
memory to be reprogrammed through a
special procedure.[1] Some firmware
memory devices are permanently
installed and cannot be changed after
manufacture. Common reasons for
updating firmware include fixing bugs or
adding features.

History and etymology


Ascher Opler coined the term firmware in
a 1967 Datamation article,[2] as an
intermediary term between "hardware"
and "software". In this article, Opler was
referring to a new kind of computer
program that had a different practical
and psychological purpose from
traditional programs from the user's
perspective.

As computers began to increase in


complexity, it became clear that various
programs needed to first be initiated and
run to provide a consistent environment
necessary for running more complex
programs at the user's discretion. This
required programming the computer to
run those programs automatically.
Furthermore, as companies, universities,
and marketers wanted to sell computers
to laypeople with little technical
knowledge, greater automation became
necessary to allow a lay-user to easily
run programs for practical purposes. This
gave rise to a kind of software that a user
would not consciously run, and it led to
software that a lay user wouldn't even
know about.[3]

Originally, it meant the contents of a


writable control store (a small
specialized high-speed memory),
containing microcode that defined and
implemented the computer's instruction
set, and that could be reloaded to
specialize or modify the instructions that
the central processing unit (CPU) could
execute. As originally used, firmware
contrasted with hardware (the CPU itself)
and software (normal instructions
executing on a CPU). It was not
composed of CPU machine instructions,
but of lower-level microcode involved in
the implementation of machine
instructions. It existed on the boundary
between hardware and software; thus the
name firmware. Over time, popular usage
extended the word firmware to denote
any computer program that is tightly
linked to hardware, including BIOS on
PCs, boot firmware on smartphones,
computer peripherals, or the control
systems on simple consumer electronic
devices such as microwave ovens,
remote controls.
Applications

Computers

ROM BIOS firmware on a Baby AT


motherboard

In some respects, the various firmware


components are as important as the
operating system in a working computer.
However, unlike most modern operating
systems, firmware rarely has a well-
evolved automatic mechanism of
updating itself to fix any functionality
issues detected after shipping the unit.
The BIOS may be manually updated by a
user via a small utility program. In
contrast, firmware in mass storage
devices (hard-disk drives, optical disc
drives, flash memory storage e.g. solid
state drive) is less frequently updated,
even when flash memory (rather than
ROM, EEPROM) storage is used for the
firmware.

Most computer peripherals are


themselves special-purpose computers.
Devices such as printers, scanners,
webcams, and USB flash drives have
internally-stored firmware; some devices
may also permit field upgrading of their
firmware.
Other instances of computer firmware
include:

The (U)EFI-compliant firmware used on


Itanium systems, Intel-based Macs,
and many newer PCs
Hard disk drive, solid-state drive or
optical disc drive firmware
Video BIOS of a graphics card
Open Firmware, used in SPARC-based
computers from Sun Microsystems
and Oracle Corporation, PowerPC-
based computers from Apple, and
computers from Genesi
ARCS, used in computers from Silicon
Graphics
Kickstart, used in the Amiga line of
computers (POST, hardware init + Plug
and Play auto-configuration of
peripherals, kernel, etc.)
RTAS (Run-Time Abstraction Services),
used in computers from IBM
The Common Firmware Environment
(CFE)

Home and personal-use products

As of 2010, most portable music players


support firmware upgrades. Some
companies use firmware updates to add
new playable file formats (codecs). Other
features that may change with firmware
updates include the GUI or even the
battery life. Most mobile phones have a
firmware over the air firmware upgrade
capability for much the same reasons;
some may even be upgraded to enhance
reception or sound quality.

Automobiles

Since 1996, most automobiles have


employed an on-board computer and
various sensors to detect mechanical
problems. As of 2010, modern vehicles
also employ computer-controlled anti-
lock braking systems (ABS) and
computer-operated transmission control
units (TCUs). The driver can also get in-
dash information while driving in this
manner, such as real-time fuel economy
and tire pressure readings. Local dealers
can update most vehicle firmware.

Other examples

Other firmware applications include:

In home and personal-use products:


Timing and control systems for
washing machines
Controlling sound and video
attributes, as well as the channel
list, in modern televisions
In routers, switches, and firewalls:
LibreCMC – a 100% free software
router distribution based on the
Linux-libre kernel
IPFire – an open-source
firewall/router distribution based
on the Linux kernel
fli4l – an open-source
firewall/router distribution based
on the Linux kernel
OpenWrt – an open-source
firewall/router distribution based
on the Linux kernel
m0n0wall – an embedded firewall
distribution of FreeBSD
Proprietary firmware
In NAS systems:
NAS4Free – an open-source NAS
operating system based on
FreeBSD
Openfiler – an open-source NAS
operating system based on the
Linux kernel
Proprietary firmware
Field-Programmable Gate Array (FPGA)
code may be referred to as firmware

Flashing
Flashing[4] involves the overwriting of
existing firmware or data, contained in
EEPROM or flash memory module
present in an electronic device, with new
data.[4] This can be done to upgrade a
device[5] or to change the provider of a
service associated with the function of
the device, such as changing from one
mobile phone service provider to another
or installing a new operating system. If
firmware is upgradable, it is often done
via a program from the provider, and will
often allow the old firmware to be saved
before upgrading so it can be reverted to
if the process fails, or if the newer
version performs worse. Free software
replacements for vendor flashing tools
have been developed, such as Flashrom.

Firmware hacking
Sometimes, third parties develop an
unofficial new or modified ("aftermarket")
version of firmware to provide new
features or to unlock hidden
functionality; this is referred to as
custom firmware. An example is
Rockbox as a firmware replacement for
portable media players. There are many
homebrew projects for various devices,
which often unlock general-purpose
computing functionality in previously
limited devices (e.g., running Doom on
iPods).

Firmware hacks usually take advantage


of the firmware update facility on many
devices to install or run themselves.
Some, however, must resort to exploits to
run, because the manufacturer has
attempted to lock the hardware to stop it
from running unlicensed code.
Most firmware hacks are free software.

HDD firmware hacks

The Moscow-based Kaspersky Lab


discovered that a group of developers it
refers to as the "Equation Group" has
developed hard disk drive firmware
modifications for various drive models,
containing a trojan horse that allows
data to be stored on the drive in locations
that will not be erased even if the drive is
formatted or wiped.[6] Although the
Kaspersky Lab report did not explicitly
claim that this group is part of the United
States National Security Agency (NSA),
evidence obtained from the code of
various Equation Group software
suggests that they are part of the
NSA.[7][8]

Researchers from the Kaspersky Lab


categorized the undertakings by
Equation Group as the most advanced
hacking operation ever uncovered, also
documenting around 500 infections
caused by the Equation Group in at least
42 countries.

Security
Mark Shuttleworth has asserted that low-
quality, proprietary firmware is a major
threat to system security. As a potential
solution to this problem, he has called for
declarative firmware, which would
describe hardware linkage and
dependencies and not include executable
code.[9]

Custom firmware hacks have also


focused on injecting malware into
devices such as smartphones or USB
devices. One such smartphone injection
was demonstrated on the Symbian OS at
MalCon,[10][11] a hacker convention. A
USB device firmware hack called BadUSB
was presented at the Black Hat USA
2014 conference,[12] demonstrating how
a USB flash drive microcontroller can be
reprogrammed to spoof various other
device types to take control of a
computer, exfiltrate data, or spy on the
user.[13][14] Other security researchers
have worked further on how to exploit the
principles behind BadUSB,[15] releasing at
the same time the source code of
hacking tools that can be used to modify
the behavior of different USB devices.[16]

See also
Electronics
portal

Bootloader
Computer hardware
Coreboot
Custom firmware
Microcode
Proprietary device driver
Real-time operating system
ROM image

References
1. "What is firmware?" (http://incepator.pinza
ru.ro/software/what-is-firmware/) . 23
January 2013.
2. Opler, Ascher (January 1967). "Fourth-
Generation Software" (https://archive.org/
stream/TNM_4th_generation_software_ha
rdware_-_Datamation_20171010_0125/T
NM_4th_generation_software_hardware_-
_Datamation_20171010_0125_djvu.txt) .
Datamation. 13 (1): 22–24.
3. "Introduction to Computer Applications
and Concepts. Module 3: System
Software" (https://courses.lumenlearning.
com/zeliite115/chapter/reading-firmwar
e/) . Lumen.
4. "Flashing Firmware" (http://www.tech-faq.
com/flashing-firmware.html) . Tech-
Faq.com. Archived (https://web.archive.or
g/web/20110927010726/http://www.tech
-faq.com/flashing-firmware.html) from
the original on September 27, 2011.
Retrieved July 8, 2011.
5. "HTC Developer Center" (https://web.archi
ve.org/web/20110426201145/http://deve
loper.htc.com/adp.html) . HTC. Archived
from the original (http://developer.htc.co
m/adp.html) on April 26, 2011. Retrieved
July 8, 2011.
6. "Equation Group: The Crown Creator of
Cyber-Espionage" (http://www.kaspersky.
com/about/news/virus/2015/Equation-Gr
oup-The-Crown-Creator-of-Cyber-Espiona
ge) . Kaspersky Lab. February 16, 2015.
Archived (https://web.archive.org/web/20
151202101934/http://www.kaspersky.co
m/about/news/virus/2015/equation-grou
p-the-crown-creator-of-cyber-espionage)
from the original on December 2, 2015.
7. Dan Goodin (February 2015). "How
"omnipotent" hackers tied to NSA hid for
14 years—and were found at last" (https://
arstechnica.com/security/2015/02/how-o
mnipotent-hackers-tied-to-the-nsa-hid-for-
14-years-and-were-found-at-last/) . Ars
Technica. Archived (https://web.archive.o
rg/web/20160424062759/http://arstechni
ca.com/security/2015/02/how-omnipote
nt-hackers-tied-to-the-nsa-hid-for-14-years
-and-were-found-at-last/) from the
original on 2016-04-24.
8. "Breaking: Kaspersky Exposes NSA's
Worldwide, Backdoor Hacking of Virtually
All Hard-Drive Firmware" (https://www.dail
ykos.com/story/2015/02/17/1364910/-Br
eaking-Kaspersky-Exposes-NSA-s-Worldw
ide-Backdoor-Hacking-of-Virtually-All-Hard
-Drive-Firmware) . Daily Kos. February 17,
2015. Archived (https://web.archive.org/w
eb/20150225044646/http://www.dailyko
s.com/story/2015/02/17/1364910/-Break
ing-Kaspersky-Exposes-NSA-s-Worldwide-
Backdoor-Hacking-of-Virtually-All-Hard-Dri
ve-Firmware) from the original on
February 25, 2015.
9. "Shuttleworth: Firmware is the universal
Trojan • The Register" (https://www.thereg
ister.com/Print/2014/03/18/shuttleworth
_firmware_is_the_universal_trojan/) . The
Register. Retrieved 2023-05-03.
10. "MalCon 2010 Technical Briefings" (http
s://web.archive.org/web/2011070404060
5/http://malcon.org/web/techbrief/malco
n-2010-technical-briefings/) . Malcon.org.
Archived from the original (http://malcon.
org/web/techbrief/malcon-2010-technical
-briefings/) on 2011-07-04.
11. "Hacker plants back door in Symbian
firmware" (https://web.archive.org/web/2
0130521142131/http://www.h-online.co
m/security/news/item/Hacker-plants-bac
k-door-in-Symbian-firmware-1149926.htm
l) . H-online.com. 2010-12-08. Archived
from the original (http://www.h-online.co
m/security/news/item/Hacker-plants-bac
k-door-in-Symbian-firmware-1149926.htm
l) on 21 May 2013. Retrieved 2013-06-14.
12. "Why the Security of USB Is
Fundamentally Broken" (https://www.wire
d.com/2014/07/usb-security/) .
Wired.com. 2014-07-31. Archived (https://
web.archive.org/web/20140803200841/h
ttp://www.wired.com/2014/07/usb-securi
ty/) from the original on 2014-08-03.
Retrieved 2014-08-04.
13. "BadUSB - On Accessories that Turn Evil"
(https://www.blackhat.com/us-14/briefing
s.html#badusb-on-accessories-that-turn-e
vil) . BlackHat.com. Archived (https://we
b.archive.org/web/20140808053344/http
s://www.blackhat.com/us-14/briefings.ht
ml#badusb-on-accessories-that-turn-evil)
from the original on 2014-08-08. Retrieved
2014-08-06.
14. Karsten Nohl; Sascha Krißler; Jakob Lell
(2014-08-07). "BadUSB – On accessories
that turn evil" (https://srlabs.de/wp-conte
nt/uploads/2014/07/SRLabs-BadUSB-Bla
ckHat-v1.pdf) (PDF). srlabs.de. Archived
(https://web.archive.org/web/201610190
34729/https://srlabs.de/wp-content/uplo
ads/2014/07/SRLabs-BadUSB-BlackHat-v
1.pdf) (PDF) from the original on 2016-
10-19. Retrieved 2014-08-23.
15. "BadUSB Malware Released — Infect
millions of USB Drives" (https://web.archi
ve.org/web/20141006121457/http://hack
ingpost.com/badusb-malware-infect-milli
ons-of-usb/) . The Hacking Post. Archived
from the original on 6 October 2014.
Retrieved 7 October 2014.
16. Greenberg, Andy. "The Unpatchable
Malware That Infects USBs Is Now on the
Loose" (https://www.wired.com/2014/10/
code-published-for-unfixable-usb-attac
k/) . WIRED. Archived (https://web.archiv
e.org/web/20141007092141/http://www.
wired.com/2014/10/code-published-for-u
nfixable-usb-attack/) from the original on
7 October 2014. Retrieved 7 October
2014.

Retrieved from
"https://en.wikipedia.org/w/index.php?
title=Firmware&oldid=1165808562"

This page was last edited on 17 July 2023, at


15:04 (UTC). •
Content is available under CC BY-SA 4.0 unless
otherwise noted.

You might also like