2019年03月26日 08時00分 公開
特集/連載

小さくて速くてセキュアなユニカーネルの簡単作成ツールコンテナはもう古い

アプリケーションと、そのアプリケーションの実行に必要な最小限のライブラリのみで構築した実行ファイルが「ユニカーネル」だ。このユニカーネルを作成できるツール「OPS」を紹介する。

[Adrian Bridgwater,Computer Weekly]

 NanoVMsが開発者向けのユニカーネルツールを発表した。このツールは、任意のLinuxアプリケーションをユニカーネルとして読み込む。

 だが「ユニカーネル」とは一体何か。

 同社によると、ユニカーネルは単一のアドレス空間で実行される一意なシングルプロセスのシステムだという。

 Linuxを展開してから、そこでアプリケーションを実行するのではない。ユニカーネルはアプリケーションとOSが安全で独立した一つの単位になる。

 ユニカーネルシステムを実行する場合、開発者は(モジュール型のスタックから)アプリケーションの実行に必要な最小限のライブラリを選択する。これらのライブラリがアプリケーションおよび設定コードと共にコンパイルされ、特定の目的に特化したイメージ(ユニカーネル)を構築する。このイメージの実行にOSは必要ない。

 ユニカーネルは(ログインするようなユーザーが存在しない)システムだ。そのため、データ侵害の大きな原因になるユーザー名とパスワードを必要としない。

 システムにはシェルがないため、リモートでそのシステムにログインして不特定のプログラムを起動することができない。カメラやエッジデバイスがbotネットに加えられる最悪の状況も回避できる。

NanoVMsの「OPS」

 NanoVMsが提供するのは「OPS」というツールだ。このツールは、複雑なコーディングや設定を必要としない。必要なのは、シンプルなコマンドの実行だけだ。

 アプリケーションをユニカーネルとして実行するメリットは多く、コンテナよりも優れている可能性があるとNanoVMsは主張する。ユニカーネルは高速かつ安全で小さく、仮想マシンとしてプロビジョニングされる。そのため密度はかなり大きくなる。

 細かく見てみると、ユニカーネルは次の4点のセキュリティモデルを内包する。

  • ユーザーが存在しない
  • シェルがない
  • シングルプロセスのシステムである
  • 攻撃を受ける面が非常に少ない

 NanoVMsによると、ユニカーネルがシングルプロセスのシステムであることが、サイバーセキュリティの脆弱(ぜいじゃく)性を解決する上で極めて重要になるという。

 「Linuxなどの従来型マルチプロセスシステムは、複数のプログラムを同時実行する機能を備えている。シングルプロセスシステムでは、実行できるのはあなた自身のプログラムのみで、他のプログラムは実行できない。そのため、リモートでコードが実行される可能性が全くなくなる」(同社のプレス発表)

 OPSを使えば、ユニカーネルの構築方法に関する経験や知識は必要なくなる。(理論上)これまでユニカーネルの利用を妨げていた障壁が取り除かれる。

 OPSは、ノートPCでローカルにユニカーネルを構築して実行できるようにする。アカウントを作成する必要はなく、複数のインストールが完了するのを待つ必要もない。1回ダウンロードして、一つコマンドを実行するだけだ。

 NanoVMsのCEOイアン・アイバーグ氏は次のように話している。

 「数多くのソフトウェアの問題が本格化している。セキュリティやクラウドの効率などがその例だ。従来型のOSベースのアプリケーションをユニカーネルシステムに移行すれば、大きな効果をもたらす可能性がある。これまでは、ユニカーネルの導入は難しかった。だがOPSを利用すれば、開発者はすぐに実装を開始してそのメリットを生かすことができる」

 NanoVMsは、データベースやWebサーバなど、ユーザーが実行すると思われる共通のプログラムの幾つかを構築済みのOPSパッケージとして提供することも予定している。

数百万行のコード

 ここで、少し背景を補足しておこう。ユニカーネルは通常、数万行のコードで構成される。これを、仮想マシン内で一度も使用されない数百のプリンタドライバ、USBドライバ、オーディオドライバなどを含む肥大化したシステムと比べてみよう。Linuxカーネルは約1500万行のコードで構成される。そのうち700万〜900万行が全てドライバのコードに相当する。カーネルだけでこの量だ。OSのソースコードだけでも5000万行から2億行に達することがある。

 ユニカーネルが必要とするのは、ストレージ、ネットワーク、クロックを操作するわずかなドライバだけだ。Linuxで実行されているソフトウェアにハッカーが悪意のあるコードを隠す機会はほぼ無限にある。だが、最小限の機能しかないユニカーネルにはその機会がない。

ITmedia マーケティング新着記事

news069.jpg

「メタバース」でどうやってもうけるの? Meta(旧Facebook)が考える収益化への道
Metaの中核をなすメタバースプラットフォームのマネタイズ計画が明確になりつつある。高...

news032.jpg

Amazonの「ブランド広告力」が調査で判明、GoogleとFacebookを圧倒する理由は?
大手ECサイトの広告媒体としての価値がますます高まっている。リテールメディアへの広告...