バイナリ・ブロブ

バイナリ・ブロブとは



バイナリ・ブロブ(binary blob)とは、主に自由ソフトウェアコミュニティで使用される用語で、自由またはオープンソース(FLOSS)なオペレーティングシステムカーネルにロードされるオブジェクトファイルのうち、ソースコードが公開されていないものを指します。

通常、カーネルとは独立して動作するコード、例えばBIOSコード、ファームウェアイメージ、ユーザー空間プログラムなどは、バイナリ・ブロブとは見なされません。これらのコードはプロプライエタリソフトウェアとして扱われます。

バイナリ・ブロブの発生原因



ハードウェアベンダーは、製品の技術仕様を完全に公開することで、OS開発者がデバイスドライバを自作できるようにするのが理想です。しかし、一部のベンダー、例えばNVIDIAなどは、仕様を公開せず、バイナリ形式のドライバ(バイナリ・ブロブ)のみを提供することがあります。

この結果、OS開発者は、ハードウェアを制御するための詳細な情報がないため、バイナリ・ブロブに依存せざるを得なくなります。

バイナリ・ブロブの具体例



バイナリ・ブロブの代表的な例としては、以下のものがあります。

描画高速化用ドライバ(GPUドライバ)
ネットワークデバイスドライバ(NICドライバ)
RAIDコントローラドライバ

バイナリ・ブロブの容認と排除



バイナリ・ブロブの扱いについては、各OSプロジェクトで異なる方針が取られています。

バイナリ・ブロブを容認するOS



NetBSD、FreeBSD、DragonFly BSD、そして多くのGNU/Linuxディストリビューションは、ハードウェアを使用可能にするため、または拡張機能を利用するためにバイナリ・ブロブを受け入れています。これは、利便性を優先した選択といえます。

バイナリ・ブロブを排除するOS



OpenBSDプロジェクトは、セキュリティ上の懸念から、バイナリ・ブロブを一切受け入れないという厳格な方針を掲げています。彼らは、ブロブが未確認の潜在的なセキュリティ欠陥や、オープンで自由なソフトウェアを損なう脅威であるとみなしています。

Debianの対応



Debianプロジェクトは、Linuxカーネルに含まれるバイナリ・ブロブをアーカイブに含めていますが、「non-free」と明示的にラベル付けし、フリーなパッケージアーカイブからは分離しています。Debian 6.0以降は、標準カーネルからバイナリ・ブロブを完全に排除しています。

フリーソフトウェア財団の立場



フリーソフトウェア財団(FSF)は、バイナリ・ブロブに対抗するキャンペーンを積極的に展開しています。FSFは、OpenBSDのポリシーが、非フリードライバのみを対象とし、非フリーファームウェアを除外している点を批判しています。

バイナリ・ブロブの問題点



バイナリ・ブロブは、以下の点で問題があると指摘されています。

自由の制限: ユーザーはソフトウェアの改変や配布ができません。
移植性の欠如: 特定のハードウェアアーキテクチャでしか動作しないため、移植性が低い。
透明性の欠如: ソースコードがないため、ドライバの動作を検証できません。
セキュリティリスク: バックドアやスパイウェアが仕込まれていないか確認できず、ベンダーを信頼するしかない。
修正の困難性: バグ脆弱性が発見されても、OS開発者が修正できません。
サポートの不安定性: ベンダーがいつでもサポートを打ち切る可能性があります。

ラッパー経由での利用



他のOS向けに提供されているバイナリ・ブロブを再利用するために、ラッパーが利用されることがあります。例えば、Windows向けのネットワークドライバをLinuxで利用するためのNDISWrapperなどがその例です。

ファームウェアについて



ハードウェアに内蔵されたマイクロコントローラ用のソフトウェアであるファームウェアは、通常、バイナリ・ブロブとは区別されます。多くのファームウェア不揮発性メモリに保存されていますが、一部の機器では、システム起動時にロードされる形式で提供されます。OpenBSDプロジェクトは、ファームウェアについてはライセンスが許す限り再配布を認めています。

BIOSについて



BIOSは、PC/AT互換機|PC_AT互換機にとって重要なコンポーネントであり、ブートローダーの呼び出しやレガシーアプリケーションのサポートを行います。FSFは、corebootなどの自由なBIOSファームウェアの開発を推進しています。

まとめ



バイナリ・ブロブは、利便性と引き換えに、自由、透明性、セキュリティなどの面で多くの問題を抱えています。このため、各OSプロジェクトは、バイナリ・ブロブの扱いについて異なる方針をとり、開発者やユーザーは、これらの問題を理解した上でOSを選択する必要があります。

関連情報



ローダブル・カーネル・モジュール
無線通信のセキュリティ
プロプライエタリファームウェア
プロプライエタリソフトウェア
Opaque binary blob
gNewSense
ブロブ/宇宙からの不明物体|ブロブ_宇宙からの不明物体 - 得体の知れない生物(blob)が登場する映画。

外部リンク



Researchers hack Wi-Fi driver to breach laptop
OpenBSD: wpi, A Blob Free Intel PRO/Wireless 3945ABG Driver
Interview: Jonathan Gray and Damien Bergamini
The Black Hat Wireless Exploit Interview, Verbatim
A creative example of the value of free drivers
バイナリ・ブロブの恐怖

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。