什么是固件?它有什么用途?:完整指南

世界杯足球直播

信息技术数字 » 资源 » 什么是固件?它有什么用途?一份完整实用的指南

固件是直接连接硬件和操作系统的内部软件,它使任何电子设备都能正常运行。

固件有多种类型(低级固件、高级固件、子系统固件、BIOS/UEFI 固件、物联网固件、网络固件),每一种都控制着设备的特定功能。

更新固件可以修复漏洞、提高性能,并增强对难以检测的攻击的安全性。

在家中和企业中妥善管理固件可以降低网络安全风险,并延长整个技术基础设施的使用寿命。

每次你打开电脑、解锁手机或设置洗衣机程序时 有一种静默运行的软件,它比其他任何软件都先一步开始工作:固件。你看不到它,也不会像操作系统那样每天使用它,但如果没有它,一切都无法启动。

该固件位于设备内部。这段存储在专用存储芯片上的代码告诉硬件该做什么、如何做以及按什么顺序做。如今,无论对于家庭用户还是依赖数字基础设施的企业而言,了解这段代码是什么、它的用途以及如何保护它都至关重要。

固件究竟是什么?

当我们谈到固件时,我们指的是一种非常基础的程序。 它几乎集成在所有现代电子设备中。 硬件嵌入式软件 其中包含设备开机、初始化其组件以及与其他系统通信所需的最少指令。

这段代码通常存储在非易失性存储器中。 例如ROM、EEPROM或闪存,即使设备关机或断电,固件数据仍然保留。与可以随时安装和卸载的普通应用程序不同,固件是设备“个性”的一部分。

你周围几乎所有设备都运行固件。电脑、路由器、智能电视、手机、监控摄像头、扫地机器人、打印机、现代汽车、智能手表、Wi-Fi灯泡、互联网服务提供商的路由器、厨房电器等等。其中许多设备甚至没有传统的操作系统,但它们确实有固件,使它们能够执行各自的功能,就像许多…… 嵌入式系统.

从历史上看,“固件”一词起源于 20 世纪 60 年代。这个术语最初指的是存储在特殊存储器中的微代码,它定义了CPU的指令集。后来,这个概念扩展到涵盖设备内的任何可编程内容:从PC的BIOS到ASIC或物联网设备的内部配置。

固件、软件、操作系统和驱动程序之间的区别

固件、软件、操作系统或驱动程序等概念很容易混淆。因为它们本质上都是在设备上运行的代码。但它们在技术“金字塔”中扮演着截然不同的角色。

固件与“普通”软件

固件是一种高度专业化的软件。但它并非由用户直接使用。它的任务是 控制底层硬件 并为后续程序的运行做好准备。这就是为什么它常被称为“硬件软件”。

用户软件(应用程序、程序、游戏) 它位于操作系统之上, 它不依赖于特定的物理部件。您可以在不同的计算机上安装浏览器、文本编辑器或音乐播放器,而无需担心它们的具体芯片型号,因为系统(Windows、Linux、Android……)通过固件和驱动程序来管理硬件。

固件与操作系统

操作系统(Windows、macOS、Linux、Android、iOS 等) 它是你每天都在使用的“臃肿”软件:它有界面、窗口、应用程序、权限、网络等等。而固件则运行在……之上。 前 操作系统底层。

例如,一台PC可以有BIOS或UEFI固件。 该固件嵌入在主板中。按下电源按钮后,它会对内存、处理器、存储设备和其他组件进行初始检查,然后才会从磁盘加载操作系统,并将控制权交给操作系统。

有趣的是,有些设备无需传统操作系统也能运行。 但是,它需要固件(想想遥控器或数字时钟),而如果没有任何类型的固件来控制基本硬件,它就无法工作。

固件与驱动程序或控制器

驱动程序也是软件,但它们的作用不同。控制器 它安装在操作系统上。 并充当该系统与特定设备(例如显卡、打印机、鼠标、显示器等)之间的“翻译器”。

固件位于设备内部。通常位于焊接在电路板上的芯片上。就是那个…… 告诉组件它应该如何运作 以及如何与外界沟通。至于司机, 告诉操作系统如何与该组件通信它们是相辅相成的两件作品,但它们并不相同。

驱动程序更新失败通常是可以逆转的。 (卸载后,您将恢复到之前的版本)。但是, 固件更新失败可能会导致设备变砖。 (著名的“砖头”)无法启动,因为你已经损坏了启动它的代码。

固件的日常工作原理

如果考虑启动过程,固件的运行就很容易理解了。 任何设备。当你打开哪怕稍微复杂一些的设备(电脑、手机、路由器)时:

固件唤醒处理器 并告诉它首先执行哪些指令。

检查内存 以及其他基本组件,以确保不会出现严重故障。

配置初始参数 例如启动顺序、某些电源或网络设置。

接管或将控制权移交给操作系统 或者到链中的下一个软件(引导加载程序、虚拟机管理程序等)。

STATA 是什么及其特点在传统PC中,经典的例子就是BIOS/UEFI。它会执行“POST”(开机自检),检测磁盘、键盘、鼠标、卡,加载启动管理器,然后启动管理器会将 Windows 或 Linux 加载到内存中。

在手机上,固件 SoC制造商 以及手机本身 它控制着从电源管理到触摸屏、摄像头、4G/5G调制解调器和指纹识别器的所有功能。然后Android或iOS系统开始发挥作用,但其底层是多层固件和引导加载程序,正是它们让这一切成为可能。

在较简单的设备(控制器、传感器、小型家用电器)中 固件可以直接充当“内部操作系统”。没有额外的层:嵌入式代码解释按钮按下、时间、传感器读数,并据此激活电机、灯光或信号。

固件存储在哪里?为什么这很重要?

固件始终存储在非易失性存储器中。也就是说,即使我们关闭设备,它们也不会丢失信息。历史上曾使用过以下几种方法:

ROM(只读存储器):出厂时已编程,不可修改。

EPROM:可重新编程,但物理过程繁琐(用紫外线擦除)。

EEPROM 和闪存:无需拆卸任何部件即可进行电可重写。

如今,固件存储在闪存芯片上已是司空见惯。NAND闪存或类似存储器。它们价格低廉、速度快,而且即使不打开设备也能进行相对简单的更新(刷写)。这就是为什么您可以直接从操作系统更新主板的UEFI或固态硬盘的固件。

许多现代主板甚至都配备了备份芯片。 使用一份“有效”的固件副本。如果在更新过程中出现问题,系统可以恢复原始内容,避免主板彻底报废。几年前,这种功能并不存在,如果在刷机过程中断电,主板就只能报废或寄回厂家维修。

以物联网设备和路由器为例 (请参阅我们的 路由器手册和技术规格指南固件所在的闪存通常焊接在电路板上,更新通过网页或移动应用程序进行。闪存的内容会被重写,重启后,设备会使用新代码启动。

固件类型:级别和实际示例

并非所有固件都同样复杂,它们在“命令链”中的位置也不尽相同。它通常根据其复杂程度和发现它的设备类型进行分类。

低级固件

底层固件与硬件的联系最为紧密。它会在启动时立即运行,通常驻留在 ROM 或高度保护的存储器 这些组件不易重写。它们的作用是确保关键组件被检测到,并以最小配置完成,以便其他所有组件都能启动。

在许多简单的设备上,只有这一个固件。想想数字闹钟、某些类型的遥控器、廉价的温度传感器等等。在这里,微代码定义了设备的所有逻辑。

高级固件

高级固件运行在低级固件之上。 y 执行更复杂的功能:高级配置菜单、图形界面、网络管理等。它通常存储在可重写的闪存中,这使得它可以相对频繁地更新。

子系统或设备固件

在复杂的系统中,许多内部组件都拥有各自独立的固件。。 这就是所谓的 子系统固件: 可以半独立于主系统固件运行。

图形卡 它拥有自己的BIOS。

RAID 控制器 或存储。

WiFi 或蓝牙模块 集成到笔记本电脑中。

统一SSD 固件负责管理内存单元、缓存和纠错。

这些子系统中的每一个都可以接收固件更新。有时使用制造商自己的工具或通过更高级的第三方软件。

BIOS、EFI 和 UEFI:PC 固件

在台式机和笔记本电脑中,最重要的固件一直是BIOS。 (基本输入/输出系统)。几十年来,它一直位于主板上的一个芯片中,负责:

执行 POST 并检测内存或CPU故障。

识别键盘、磁盘、卡片 和其他基本外围设备。

加载启动管理器 从光盘、U盘或安装介质。

后来出现了EFI,以及后来的UEFI。 UEFI(统一可扩展固件接口),是目前大多数PC使用的固件接口。

它支持图形界面 使用鼠标。

它支持大容量磁盘、现代分区和安全启动。.

它提供高级选项 能源管理、安全和诊断。

在Mac领域,苹果公司多年前也已迁移到EFI/UEFI。在现代服务器和工作站中,这已成为标准配置。通过 UEFI 菜单,您可以更新主板固件、配置启动密码,或启用 TPM 等磁盘加密功能。

手机、物联网设备和其他设备上的固件

手机、平板电脑和智能手表运行多层固件。:在调制解调器中、在音频芯片中、在摄像头中、在电源控制器中……所有这些都独立于 Android 或 iOS,尽管它们协同工作。

了解 SATA 是什么以及它如何改变存储在物联网(IoT)领域每个传感器、灯泡、智能插头或 IP 摄像头都包含自己的固件,负责连接到 WiFi、与制造商的云通信以及执行命令(打开、关闭、测量、发送数据等)。

现代汽车也充满了小型电子控制单元。 (ECU)用于发动机、ABS刹车、安全气囊、信息娱乐系统、空调系统……每个都有其特定的固件,在很多情况下可以在维修车间进行更新,甚至在最先进的型号中可以远程更新。

为什么更新固件如此重要?

更新固件并非一时兴起:这关系到稳定性、性能,以及最重要的安全性。即便如此,许多人总是把这件事拖到另一天,而这会造成损害。

稳定性和兼容性改进

随着时间的推移,原始固件中会发现错误(漏洞)。这些问题包括与某些硬件的兼容性问题、特定情况下发生的崩溃以及从睡眠模式恢复时出现的故障。制造商正在新版本中解决这些问题。

更新可以防止随机重启、蓝屏或其他异常行为。 这适用于个人电脑、路由器、摄像头和物联网设备。在某些情况下,这是使组件在新操作系统上正常工作的唯一方法。

安全性:固件最关键的方面

固件是网络犯罪分子非常有利可图的攻击面。如果他们设法将恶意代码偷偷植入其中,他们就能获得…… 极强的毅力即使你格式化电脑、重装操作系统或恢复手机,恶意软件仍然可以潜伏在系统的深层。

固件rootkit等威胁依然存在。这些恶意软件程序隐藏在BIOS/UEFI或磁盘和设备的固件中。即使是高级杀毒软件也很难检测到它们,因为它们在系统启动前和后台运行。

此外,制造商往往没有加入足够的安全功能。 这些底层协议在早期设计中存在一些漏洞,例如:缺乏数字签名、验证机制不严密以及缺乏写保护机制。虽然这种情况有所改善,但路由器、摄像头、家用设备以及一些老旧且已停止支持的设备中仍然存在大量存在安全漏洞的固件。

固件更新包含关键补丁。 修复可被利用的漏洞,以窃取数据、监视通信、操纵设备运行或打开通往整个网络的后门。

性能和新功能

这不仅仅是安全补丁的问题。通常,新的固件版本会增加 性能提升 (例如,在固态硬盘、显卡或路由器上)或解锁与新格式和标准的兼容性。

即使是看起来“老旧”的设备也可以焕然一新。 一次好的闪存更新就能带来以下好处:存储设备不再出错,路由器获得稳定性和速度,主板开始支持物理上可行的新型处理器等等。

风险、诈骗和修改过的固件

固件更新并非没有风险。此外,还有各种各样的修改版固件,其中既有合法的,也有彻头彻尾的欺诈性的。

更新过程中发生故障的风险

最关键的时刻是闪光灯亮化过程本身。在将新固件写入内存期间,如果断电、设备关机或由于任何原因导致该过程中断,则该设备很可能无法使用。

因此,始终建议使用稳定的电源进行刷机。 (避免使用电量不足的笔记本电脑、未连接充电器的笔记本电脑以及可疑的电源插座),并且在操作完成之前不要触碰任何设备。许多工具都明确警告在任何情况下都不要关闭设备。

欺骗性固件和骗局

有些诈骗分子会故意修改固件,以谎报产品规格。这种情况比较常见:

廉价的固态硬盘或U盘“声称”拥有1TB或2TB的容量 它们的实际容量是 32 或 64 GB。固件显示的容量是错误的,但写入超过实际容量的数据会损坏数据。

低端显卡伪装成高端型号固件报告的名称或频率与芯片不符。

这类产品主要出现在国际销售平台上。在信誉不佳的商店或二手市场,很容易出现这种情况。容量和性能测试工具可以通过比较固件宣称的性能和硬件实际的性能来揭露这种欺骗行为。

非官方固件和替代项目

另一方面,还有一些由社区和独立开发者创建的非官方固件。 在很多情况下,这些功能完全合法,并且提供了额外的功能:

路由器固件可选OpenWRT、DD-WRT或Tomato它增加了许多制造商不提供的先进功能。

适用于音乐播放器、相机或游戏机的替代固件这允许使用额外的编解码器、以 RAW 格式录制、运行自制软件等。

问题在于,刷写这类固件始终存在风险。在某些设备上,这样做可能会使保修失效或违反使用条款。此外, 如果你从不可信的网站下载文件,可能会意外感染恶意软件。.

如何安全地更新固件

每种类型的设备都有其自身的更新程序。但是,有一些通用准则应该遵循,以最大限度地降低风险。

基本步骤和最佳实践

请确定具体型号和当前固件版本 设备设置。通常可以在设置菜单(路由器、相机、智能电视等)或电脑和移动设备的制造商工具中找到。

请仅从官方网站下载固件 请从制造商或其官方应用程序下载。避免使用未经验证的第三方网站或论坛上流传的文件。

确保电源稳定笔记本电脑请保持充电器插电状态;台式电脑在暴风雨天气或可能停电时请避免插电。

仔细阅读说明 按照制造商的指示,尤其是有先前的步骤(重置、配置备份等)。

请勿关闭设备或关闭应用程序 进度条出现时,即使看起来卡顿几秒钟,也请耐心等待。

4K 显示器和 1440p (2K) 显示器在游戏和日常使用方面的真正区别具体案例:个人电脑、固态硬盘、主板等等

在现代台式机和笔记本电脑上带有 UEFI 的主板通常包含内置实用程序,可以通过连接到互联网来搜索和应用新版本,或者允许从包含下载文件的 USB 驱动器进行刷新。

SSD通常都有自己的官方软件 (例如 Samsung Magician、CORSAIR Tools、Crucial 等)能够检测到 存储单元 只需点击几下,即可推荐合适的固件更新。

显卡、耳机、机械键盘及其他外设 它们还越来越多地包含配置实用程序,您可以从中加载新固件以提高兼容性、修复错误或添加功能。

在 Mac 环境下,也可能存在固件密码。 这可以防止未经授权的启动更改。此保护措施通过 macOS 恢复工具进行管理。

固件安全:攻击与防御

固件安全已成为一个核心问题。尤其是在家庭和企业中联网设备(物联网)以及摄像头、路由器和传感器等设备日益普及的情况下。

固件攻击是什么样的?

固件攻击主要包括重写或修改嵌入式代码。 这样一来,设备就会按照攻击者的意愿运行。这是一种非常底层的黑客攻击。

其后果可能包括设备无法使用。 甚至可以将其用作网络入口,安装勒索软件,监视通信或窃取数据。因为恶意软件嵌入得非常深, 它能够经受格式化、恢复甚至更换磁盘等操作。.

安全摄像头、操作员路由器、视频录像机、工业传感器或家庭自动化系统 它们一直是攻击目标,因为存在漏洞的固件可以控制整个相关基础设施。

攻击如何到达设备

典型的入境路线是:

安全性差的WiFi网络 或者使用默认密码。

漏洞利用 已知存在于未打补丁的固件中。

受损的外部设备例如同一网络上的 USB 驱动器或已被感染的设备。

从非官方网站下载“更新” 实际上,这些是经过修改、植入了恶意代码的固件。

防御措施包括始终保持固件更新。更改默认密钥,尽可能对网络进行分段,并务必避免刷入来源不明的文件。

专业固件管理和IT维护

在公司里,固件管理不再是一次性任务,而是持续 IT 维护的一部分。每台服务器、交换机、路由器、防火墙、存储设备、工作站和物联网设备都有自己的固件生态系统,可能需要定期更新。

保持详细的库存清单是一个好习惯。 包括型号、固件版本和上次更新日期,以及在生产环境中部署新版本之前在测试环境中测试新版本的明确程序。

此外,建议将固件审查纳入网络安全策略。查看制造商公告,安排关键固件更新的维护窗口,记录出现问题时的可回滚路径,并培训 IT 团队了解这一层的重要性。

安全策略中忽略固件 这等于给最有耐心、准备最充分的攻击者敞开了一扇门,而这恰恰是你使用传统工具最难以发现的地方。

归根结底,固件是将所有其他部分连接在一起的独立组件。如果您的设备保持最新状态、受到良好保护并得到妥善管理,那么它的性能会更好、使用寿命会更长,并且会大大降低遇到难以解决的安全问题的风险。

相关文章:软件漏洞:类型、风险及应对方法

目录

固件究竟是什么?固件、软件、操作系统和驱动程序之间的区别固件与“普通”软件固件与操作系统固件与驱动程序或控制器固件的日常工作原理固件存储在哪里?为什么这很重要?固件类型:级别和实际示例低级固件高级固件子系统或设备固件BIOS、EFI 和 UEFI:PC 固件手机、物联网设备和其他设备上的固件为什么更新固件如此重要?稳定性和兼容性改进安全性:固件最关键的方面性能和新功能风险、诈骗和修改过的固件更新过程中发生故障的风险欺骗性固件和骗局非官方固件和替代项目如何安全地更新固件基本步骤和最佳实践具体案例:个人电脑、固态硬盘、主板等等固件安全:攻击与防御固件攻击是什么样的?攻击如何到达设备专业固件管理和IT维护