독자적인 펌웨어
Proprietary firmware이 문서를 Proprietary 소프트웨어에 통합하는 것이 권장되고 있습니다. (논의) 2022년 6월부터 제안되고 있습니다. |
독자 사양의 펌 웨어는, 프리(libre)가 아닌 펌 웨어입니다.소유권 저작물의 예로는 저작자가 사용, 비공개 수정, 복사 또는 재게시에 제한을 가한 것을 들 수 있다.
소유자는 소스 코드 액세스 제한, 펌웨어 교체 제한(펌웨어 재컴파일 및 교체에 필요한 툴 전체를 거부함) 또는 저작권 및 특허 등의 법적 수단을 통해 제한을 가할 수 있습니다.
전용 펌웨어는 네트워크인터페이스[1] 컨트롤러의 마이크로코드 수 킬로바이트에서 무선 라우터의 바이너리 수 메가바이트까지 다양합니다.커스텀 펌웨어는 일부 제품(대부분 무료 오픈 소스 소프트웨어)에서는 아직 이용 가능합니다.특히 Linux, FreeB 등의 완전한 범용 운영체제를 실행할 수 있는 게임 콘솔, 무선 라우터, Android 전화기 등의 특정 하드웨어 세그먼트에서 인기가 있습니다.SD 또는 NetBSD. 이는 제조원이 원래 전용 펌웨어로 사용하는 시스템입니다.
피하기 어렵다
전용 펌웨어(특히 마이크로코드)는 전용 소프트웨어나 전용 디바이스 드라이버보다 훨씬 피하기 어렵습니다.펌웨어는 보통 각 디바이스의 제조원(종종 모델마다 고유), 프로그래밍 문서 및 필요한 완전한 사양에 따라 매우 고유하기 때문입니다.대체품을 만드는 것은 하드웨어 [2]: … 제조업체에 의해 보류되는 경우가 많습니다.잠재적인 해결책 중 하나는 오픈 소스 하드웨어를 사용하는 것입니다.이 하드웨어 자체를 복제하기 위한 설계도를 제공하는 것으로 한 걸음 더 나아갑니다.
독자 사양의 펌웨어 드라이버와 독자 사양의 디바이스 드라이버는 모두 바이너리 [3]: … 형식으로 출하되고 있습니다만,[3]: … 실제로는 「바이너리 블럽」이라고 하는 용어는[4]: … 독자 사양의 드라이버를 가리킬 목적으로만 사용되고 있는 사람도 있습니다.
배포 문제
많은 오픈 소스 운영체제는 디바이스 드라이버를 [3]작동시키기 위해 자체 펌웨어 파일을 배포에 포함시키는 것을 꺼리고 있습니다.제조업체는 디바이스에서 플래시 메모리 또는 EEPROM을 제거함으로써 비용을 절감하려고 하기 때문에 디바이스를 [5]사용할 때마다 운영체계가 펌웨어를 업로드해야 하기 때문입니다.다만, 그러기 위해서는, operating system이 이 독자적인 마이크로 [5]코드의 배포권을 가지고 있을 필요가 있습니다.만약 그러한 분배 권리를 얻지 않는다면, 장치;이것은 특히 특정 제조 업체들로부터까지 이런 파일들 어떻게든 처음으로 사용할 수 없을 때 무선 카드 작동하지 않으면 성취하기 어렵다는 무선 네트워크 인터페이스 컨트롤러와 함께 chicken-and-egg 문제를 작동하지 않습니다.[5][2]:…[6][7][1][8]
보안에 관한 우려
최신 컴퓨터의 다이렉트 메모리 액세스(DMA) 아키텍처와 DMA 공격의 가능성이 있기 때문에 독자적인 펌웨어는 사용자에게 중대한 보안 위험을 초래합니다.OpenBSD의 Theo de Raadt에 따르면 무선 펌웨어는 펌웨어 결함뿐만 아니라 설계 품질 저하로 [6][7]인해 독자 사양으로 유지되고 있습니다.Ubuntu의 Mark Shuttleworth는 "모든 펌웨어는 제조사의 무능력과 광범위한 에이전시의 [9]최고 수준의 능력으로 인한 불안정의 소굴이라고 가정하는 것이 타당하다"고 제안합니다.
다만, 독자 사양의 마이크로 코드에 의해서 발생하는 시큐러티나 품질/신뢰성의 리스크는, 독자 사양의 디바이스 드라이버에 의해서 발생하는 리스크보다 낮을 가능성이 있습니다.이러한 컨텍스트의 마이크로 코드는 operating system에 대해서 링크 되지 않고, 호스트의 메인 [3]프로세서에서 동작하지 않기 때문입니다.
예
「 」를 참조해 주세요.
레퍼런스
- ^ a b "/sys/dev/microcode/". OpenBSD.
- ^ a b Jeremy Andrews (2005-03-08). "Feature: OpenBSD's "Out of the Box" Wireless Support". KernelTrap. Archived from the original on 2005-03-09.
- ^ a b c d Jeremy Andrews (2006-05-02). "Interview: Theo de Raadt". KernelTrap. Archived from the original on 2006-06-03.
- ^ Jeremy Andrews (2006-04-19). "Interview: Jonathan Gray and Damien Bergamini". KernelTrap. Archived from the original on 2006-04-24.
Firmwares are not considered blobs and can be shipped with the base system (provided their license allows free redistribution). Firmwares execute on the device itself, meaning they are not tied to a particular OS, while blobs execute on the host CPU, most of the time inside the kernel.
- ^ a b c Jeremy Andrews (2004-11-02). "Feature: OpenBSD Works To Open Wireless Chipsets". KernelTrap. Archived from the original on 2006-06-20.
- ^ a b Theo de Raadt (2016-12-03). "Page 13: The hardware: 802.11 wireless networking (more detail)". Open Documentation for Hardware. OpenCON 2006, 2–3 December 2006. Courtyard Venice Airport, Venice/Tessera, Italy.
- ^ a b Constantine A. Murenin (2006-12-10). "Почему так важно иметь документацию по программированию железа". Linux.org.ru (in Russian).
- ^ "sysutils/firmware". OpenBSD ports.
- ^ a b Mark Shuttleworth (2014-03-17). "ACPI, firmware and your security".
- ^ "Drunk drivers granted access to breathalyser source code". 2005-11-03.