펌웨어란 무엇인가요?

컴퓨팅 장치를 사용하는 사람들을 내려다본 사진
Mesh Flinders

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

펌웨어란 무엇인가요?

'하드웨어용 소프트웨어'라고도 하는 펌웨어는 하드웨어 장치에 내장된 프로그램 코드로, 하드웨어 장치와 그 기능이 제대로 작동할 수 있도록 합니다. 펌웨어는 일반적인 문제를 해결하고, 기능을 추가 또는 확장하거나, 새로운 기술과 장치의 호환성을 높이기 위해 정기적으로 업데이트됩니다. 

TV, 카메라, 휴대폰, 프린터, 드라이브 등을 포함한 많은 장치가 펌웨어에 의존하여 작동합니다. 펌웨어는 디바이스의 비휘발성 메모리에 위치하며, 디바이스가 꺼져 있을 때 콘텐츠를 저장할 수 있습니다. 펌웨어는 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 삭제 가능한 프로그래밍 가능한 읽기 전용 메모리(EPROM) 및 플래시 메모리를 비롯한 다양한 메모리 유형에 기록될 수 있습니다.  

펌웨어는 장치를 시작하는 방법, 인터넷 라우터나 리모컨 등 다른 장치와 상호 작용하는 방법, 중요한 입출력(I/O) 작업을 수행하는 방법에 대한 지침을 제공하는 등 여러 가지 중요한 방식으로 장치가 의도한 기능을 수행할 수 있도록 도와줍니다. Apple, LG전자, Microsoft 등 많은 하드웨어 장치 제조업체는 제품에 펌웨어를 내장하여 컴퓨터의 운영 체제(OS)와 유사하게 작동하도록 합니다.

“펌웨어”라는 용어는 1967년 미국 과학자 Ascher Opler가 하드웨어와 소프트웨어의 “중간에 위치한(in-between hardware and software)” 프로그램을 설명하기 위해 처음 사용한 것으로 알려져 있습니다1. 오늘날 펌웨어는 iPhone, Mac 또는 TV 리모컨부터 위성 및 무인 자동차의 복잡한 사물인터넷(IoT) 센서에 이르기까지 많은 장치의 필수적인 부분입니다. 펌웨어와 소프트웨어는 유사하지만 비즈니스 요구 사항에 대한 적합성을 평가할 때 고려해야 할 중요한 차이점이 있습니다.

펌웨어 vs 소프트웨어

펌웨어와 소프트웨어의 차이점을 이해하는 가장 간단한 방법은 고유한 목적에 있습니다. 펌웨어는 장치를 시작하고 서로 통신할 수 있도록 설계되었지만 소프트웨어는 주로 상호 작용에 사용됩니다. 펌웨어는 전화 및 TV와 같은 소비자 디바이스를 제어하는 데 사용됩니다. 제조업체는 새로운 기능을 추가하고 보안을 강화하며 취약성으로부터 보호하기 위해 펌웨어를 자주 업데이트합니다. Android 또는 iOS 휴대폰 또는 스마트 TV 및 게임 콘솔 사용자라면 누구나 알고 있듯이 펌웨어 버전 업데이트는 정기적으로 다운로드하여 설치해야 하며 그렇지 않으면 장치의 성능에 영향을 미칩니다.

반면에 소프트웨어는 인터넷 검색, 이메일 확인, 워드 프로세싱, 비디오 시청, 비디오 스트리밍과 음악 스트리밍 등과 같은 활동과의 사용자 상호 작용을 개선하기 위해 장치에 설치됩니다. 소프트웨어는 펌웨어만큼 하드웨어에 밀접하게 연결되어 있지 않으며 기능을 제공하는 하드웨어와 통신하려면 펌웨어가 필요합니다.

펌웨어가 중요한 이유는 무엇인가요?

펌웨어는 개인용 컴퓨터(PC), 스마트폰, 게임 콘솔 등과 같이 업무와 개인 생활에서 당연하게 여기는 장치가 제대로 작동하는 데 필수적입니다. 이러한 장치의 대부분의 사용자는 장치를 계속 작동하는 데 필요한 빈번한 '펌웨어 업데이트'를 통해 펌웨어에 익숙합니다. 

컴퓨터 코드로 구성된 펌웨어 업데이트는 버그해킹과 같이 장치의 성능에 영향을 미칠 수 있는 보안 위협을 수정하기 위해 발행되는 경우가 많습니다. 그러나 새로운 종류의 미디어와 상호 작용하는 방법과 같은 새로운 기능을 장치에 추가하기 위해 발행될 수도 있습니다. 펌웨어 업데이트의 예로는 인터넷 라우터에 보안 기능 추가, 스트리밍 비디오 앱의 검색 기능 개선, 컴퓨터 시스템 보드가 새로운 종류의 프로세서를 지원할 수 있도록 하는 운영 체제(OS) 업데이트 등이 있습니다.

오늘날 대부분의 디바이스가 인터넷에 연결되어 있기 때문에 원격으로 업데이트를 다운로드하는 방식, 즉 '무선'은 제조업체가 펌웨어 업데이트를 발행하는 방식이 되었습니다. 대부분의 프로그램은 장치를 펌웨어로 업데이트하는 기능을 프로그래밍하고 사용자는 단순히 알림을 받습니다. 다른 장치는 여전히 사용자가 제조업체의 웹 사이트를 방문하여 필요한 코드를 다운로드해야 합니다. 펌웨어 업데이트 빈도는 설계된 장치 유형에 따라 다릅니다. 예를 들어 스마트폰은 일반적으로 펌웨어와 소프트웨어 업데이트를 결합하여 휴대폰과 기본 OS가 제대로 작동하도록 합니다.

펌웨어 공격 방지

펌웨어는 매우 널리 사용되고 많은 중요한 장치의 기능에 필수적이기 때문에 해커의 중요한 표적이 되었습니다. 펌웨어에 의존하는 하드웨어 장치는 동일한 코드를 자주 사용하기 때문에 많은 취약점을 가지고 있습니다. 예를 들어, 민감한 작업 정보가 포함된 노트북은 펌웨어를 사용하여 배터리, 사운드 및 비디오 카드, 웹캠 등에 전원을 공급하므로 매력적인 표적이 됩니다. 

펌웨어 해킹에는 펌웨어에 부착하여 컴퓨터 시스템이나 사용자에게 해를 끼치기 위해 의도적으로 작성된 코드인 맬웨어의 배포가 포함되는 경우가 많습니다. 널리 사용되는 맬웨어 유형으로는 사용자의 데이터를 인질로 잡는 랜섬웨어, 합법적인 프로그램으로 가장하여 탐지를 회피하는 트로이 목마, 사용자에 대한 민감한 정보를 훔치는 스파이웨어 등이 있습니다. 해커는 악용하기 위해 시스템에 물리적으로 접근할 필요가 거의 없으며 Bluetooth 또는 Wi-Fi 연결을 사용하여 원격으로 액세스할 수 있으며, 이는 인터넷 연결이 가능한 장치의 수가 증가함에 따라 점점 더 인기를 얻고 있습니다. 

펌웨어 보안 기능이 좋지 않으면 민감한 사용자 데이터가 도난당하거나 손상될 수 있으며 악의적인 행위자가 사용자 시스템을 원격으로 제어할 수 있습니다. 예를 들어 2024년 6월, Google은 Pixel 펌웨어의 문제로 인해 기기가 공격자에게 취약해졌으며, 해당 문제에 대한 알려진 해결책이 없다는 경고를 발표했습니다2.

펌웨어 취약점의 위험을 점점 더 인식하고 있는 기업들은 펌웨어가 제공하는 많은 이점으로 인해 시스템 악용을 방지하기 위해 더 많은 조치를 취하고 있습니다. 

펌웨어의 이점

새로운 하드웨어 없이도 성능 향상: 펌웨어 업데이트를 통해 디바이스나 아키텍처를 변경하지 않고도 새로운 기능과 성능을 구현할 수 있습니다. 많은 펌웨어 업데이트는 디바이스의 기본 코드에 대한 실행 및 명령 시간을 개선하고 그 성능을 최적화하는 데 도움이 됩니다.

사용자 경험 개선: 펌웨어 업데이트는 IoT 기능을 통해 스마트 냉장고를 앱에 연결하여 계정 잔고 확인, 스마트 TV 프로그램 녹화, 구매 식료품 파악 등 사용자가 의존하는 활동에 필요한 새로운 기능, 컴퓨터 프로그램 및 기능을 제공합니다.

더 빠른 문제 해결: 펌웨어 업데이트를 통해 부팅 및 처리 시간, 더 많은 멀티태스킹 기능, 외부 장치와의 더 나은 호환성 등 장치와 관련된 많은 일반적인 문제를 신속하게 해결할 수 있습니다.

구성 요소 기능: 펌웨어 업데이트는 스마트폰의 스피커 및 마이크와 같은 장치의 모든 주변 구성 요소가 설계된 방식으로 작동하도록 하여 장치가 최고 수준에서 작동할 수 있도록 합니다.

수리 비용 절감: 기기 펌웨어를 최신 상태로 유지하면 나중에 기기가 버그에 감염되어 버그 수정이나 값비싼 장비 수리가 필요할 가능성이 줄어듭니다.   

펌웨어는 어떻게 작동하나요?

디바이스가 제조되는 동안 디바이스에 펌웨어가 설치됩니다. 주로 운영 체제(OS)와 장치 하드웨어 간의 통신을 용이하게 합니다. 펌웨어에는 장치가 설계된 방식으로 작동하는 데 필수적인 많은 지침이 포함되어 있습니다. 데이터 입력이 아웃풋으로 변환되는 컴퓨터의 중앙 처리 장치(CPU)는 컴퓨터의 메모리에서 펌웨어를 검색하여 실행합니다.

펌웨어는 우리가 매일 사용하는 많은 장치에서 사용됩니다. 아마 가장 흔한 사용 사례는 장기간의 비활성 상태 이후 장치를 깨우는 것일 것입니다.예를 들어 잠든 후 깨어나서 휴대폰을 들어 메시지를 확인할 때, 펌웨어가 장치가 제대로 전원이 켜지도록 돕는 역할을 합니다. 정보를 사용하지 않는 동안 정보를 유지하기 위해 장치는 펌웨어를 '비휘발성' 메모리에 저장합니다. 펌웨어에 요구되는 작업의 복잡성이 증가함에 따라, 펌웨어는 플래시 메모리 사용과 기본 입출력 시스템(BIOS)과 같은 컴퓨터 하드웨어의 일부 특성을 띠게 되었습니다.

플래시 메모리 및 BIOS

많은 장치가 꺼져 있는 동안 정보를 유지해야 하기 때문에 펌웨어는 일반적으로 플래시 메모리라고도 하는 시스템의 '비휘발성' 또는 '읽기 전용' 메모리(ROM)에 데이터를 저장합니다. 이러한 유형의 메모리는 플래시 드라이브, 스마트폰, 디지털 카메라, 노트북 등과 같은 다양한 휴대용 장치에 사용되며 펌웨어 기능에 필수적입니다. 

최근 플래시 메모리는 컴퓨터와 동일한 능력을 갖추게 되었습니다. 예를 들어, 컴퓨터가 부팅되면 기본 아웃풋 시스템(BIOS)이라는 시퀀스를 거칩니다. BIOS 시퀀스를 실행하는 최초의 펌웨어는 ROM 칩을 사용했지만, 이제 시스템은 BIOS용 플래시 메모리를 사용하도록 전환되어 칩을 시스템 보드에서 제거하고 다시 프로그래밍한 후 다시 삽입하지 않고도 데이터를 다시 쓸 수 있습니다.

펌웨어 유형

펌웨어가 메모리를 사용하고 저장하는 방식의 변화 외에도 사용자가 사용할 수 있는 펌웨어 유형도 발전했습니다. 오늘날 펌웨어는 아키텍처에 따라 정의된 세 가지 기본 그룹으로 분류할 수 있습니다. 

  • 로우 레벨 펌웨어
  • 높은 수준의 펌웨어 
  • 서브시스템 펌웨어

로우 레벨 펌웨어

로우 레벨 펌웨어는 장치의 하드웨어에 내재되어 있으며 업데이트할 수 없는 ROM과 같은 비휘발성 읽기 전용 칩에 저장됩니다. 로우 레벨 펌웨어에 의존하는 장치는 한 번만 쓸 수 있고 다시 프로그래밍할 수 없는 메모리를 사용합니다.

하이 레벨 펌웨어

하이 레벨 펌웨어는 하드웨어의 복잡성으로 인해 업데이트할 수 없는 펌웨어입니다. 컴퓨터에서 하이 레벨 펌웨어는 플래시 메모리 칩에 포함되어 있으며 로우 레벨 펌웨어보다 더 고급 작업을 담당합니다. 하이 레벨 펌웨어에는 디바이스가 작동하는 방식과 다양한 구성 요소가 상호 작용하는 방식에 대한 중요한 지침이 포함되어 있습니다.

서브시스템 펌웨어

서브시스템 펌웨어는 목적이나 작업을 위해 설계된 하드웨어와 소프트웨어의 특정 조합인 '임베디드 시스템'으로 알려진 것에 포함되어 있습니다. 서브시스템 펌웨어는 복잡성과 적응성 면에서 하이 레벨 펌웨어와 유사합니다. 하이 레벨 펌웨어와 마찬가지로 서브시스템 펌웨어도 쉽게 업데이트할 수 있습니다.

펌웨어 애플리케이션

펌웨어는 디지털 혁신에 중요한 다양한 장치에 사용되므로 현대 기업에 많은 애플리케이션이 있습니다. 펌웨어의 일반적인 비즈니스 용도는 다음과 같습니다.

  • 개인용 컴퓨터(PC)
  • 데이터 스토리지 
  • 스마트폰
  • 자동차
  • 사물인터넷(IoT) 디바이스

개인용 컴퓨터

개인용 컴퓨터(PC)는 전원이 꺼져 있는 동안 중요한 데이터를 유지하기 위해 펌웨어와 운영 체제와 펌웨어 간의 소프트웨어 인터페이스를 위한 BIOS 및 UEFI(통합 확장 펌웨어 인터페이스) 사양에 의존합니다. 일반적으로 이러한 기능은 컴퓨터 시스템 보드의 메모리 칩에 내장되어 제공됩니다. 또한 그래픽 및 비디오 카드와 같은 널리 사용되는 PC 구성 요소도 펌웨어에 의존하여 작동합니다.

데이터 스토리지 장치

USB 드라이브, 외장 하드 디스크 드라이브 디스크, 플래시 드라이브 및 기타 휴대용 데이터 저장 장치가 작동하려면 펌웨어가 필요합니다. 펌웨어는 많은 최신 데이터 저장 장치에 사용되는 플래시 메모리 칩에 내장되어 있으며, ROM이나 EPROM에 포함된 펌웨어와 달리 쉽게 업데이트할 수 있습니다. 

스마트폰

스마트폰은 펌웨어에 크게 의존하여 작동합니다. 펌웨어는 한동안 사용하지 않은 스마트폰이 부팅되도록 하는 데 도움이 될 뿐만 아니라 중요한 구성 요소가 설계된 방식으로 서로 상호 작용할 수 있도록 도와줍니다. 마지막으로 스마트폰에서 버그 수정, 보안 기능 및 새로운 기능은 모두 인터넷에서 다운로드한 정기적인 펌웨어 업데이트에 의존하여 제대로 작동합니다.

자동차

지난 10년 동안 설계된 많은 자동차에는 중요한 작업을 수행하기 위해 펌웨어에 의존하는 컴퓨터가 포함되어 있습니다. 엔진 성능과 연비를 최적화하는 엔진 제어 장치(ECU)와 내비게이션 및 많은 자동차에 부착된 카메라를 지원하는 점점 더 복잡해지는 정보 및 엔터테인먼트 시스템(인포테인먼트)을 포함하여 다양한 자동차 시스템에서 다양한 유형의 펌웨어가 사용됩니다.

사물인터넷(IoT) 디바이스

사물인터넷(IoT)은 데이터를 수집하고 공유할 수 있는 센서, 소프트웨어 및 네트워크 연결이 내장된 물리적 장치, 차량, 가전 제품 및 기타 물리적 객체의 네트워크를 의미합니다. 펌웨어는 스마트 가전제품, 무인 자동차, 스마트 도시 및 공장 등과 같은 많은 IoT 기술 사용 사례에 필수적입니다. 인터넷을 통해 데이터를 전송하는 센서와 같은 IoT 디바이스의 펌웨어에는 디바이스의 전원을 켜고 끄고, 데이터를 수집, 분석 및 전송하는 등의 작업을 수행할 수 있도록 하드웨어에 영구적으로 저장된 중요한 명령이 포함되어 있습니다.

각주

1. 펌웨어(ibm.com 외부 링크), Wikipedia

2. Google, Pixel 펌웨어 보안 결함이 제로데이로 악용될 수 있다고 경고 (ibm.com 외부 링크) The Hacker News, 2024년 6월 13일

관련 솔루션
IBM Cloud Infrastructure Center 

IBM Cloud Infrastructure Center는 IBM zSystems 및 IBM LinuxONE에서 프라이빗 클라우드의 인프라를 관리하기 위한 OpenStack 호환 소프트웨어 플랫폼입니다.

IBM Cloud Infrastructure Center 살펴보기
IT 인프라 솔루션

엔터프라이즈 하이브리드 클라우드 및 AI 전략을 위해 설계된 서버, 스토리지 및 소프트웨어를 살펴보세요.

토목 인프라 솔루션 살펴보기
클라우드 인프라 솔루션

비즈니스 요구에 적합한 클라우드 인프라 솔루션을 찾고 필요에 따라 리소스를 확장하세요.

클라우드 솔루션
다음 단계 안내

IBM의 하이브리드 클라우드 및 AI 지원 솔루션으로 기업 인프라에 혁신을 일으키세요. 비즈니스를 보호, 확장 및 현대화하도록 설계된 서버, 스토리지 및 소프트웨어를 살펴보거나 전문가 인사이트에 액세스하여 생성형 AI 전략을 강화하세요.

토목 인프라 솔루션 살펴보기 eBook 다운로드