ついにこの日がやって来た!これほど声を大にして喜びを表すのにふさわしい日はないだろう。万歳!!!
いったい何事か、だって?
Kaspersky Labは、ネットワーク機器、産業用制御システム、IoT向けに独自開発したセキュアOSを正式に発表した。このOSのアイデアが生まれたのが11月11日だったので、コードネームを「11-11」という。開発は長期に及んだ。取り組みは丸々14年にも及び、その間に実環境でのパイロットテストも実施した(英語記事)。そして今、このOSは消費の準備が整い多様なシナリオに合わせた利用の準備が整った。
マニアックな細かい話に興味があれば、こちら(英語記事)をご覧いただきたい。今回は、その技術的な記事で触れなかったことを取り上げる。新OSについてよくある質問にお答えするとともに、まことしやかに語られてきた俗説を打ち消すつもりだ。
なぜ新しいLinuxを開発する必要があるのか?
これは本当によく聞かれる質問だが、答えはシンプルかつストレートだ。「これはLinuxではない」。まさに文字通り、1文字たりともLinuxコードは含まれていない。我々は、さまざまなアプリケーションや目的のためにOSをゼロから設計したのだ。
Linux、Windows、macOSなどにとって最も重要なのは、互換性と普遍性だ。開発者たちはアプリ開発やツールセットを単純化することで、何とかして自社製品を広めようとする。しかし、当社のターゲット層(ハードウェア開発者、SCADAシステム、IoTなど)には、そうしたアプローチではうまくいかない。最も重視すべきはセキュリティだからだ。
セキュアな環境を構築するには、グローバルなデフォルト拒否方式をプロセスレベルで有効にし、マイクロカーネルに内包する必要がある。簡単に言うと、これは命令通りに動作し、それ以外の動作は一切できないシステムなのだ。従来のOSではこうはいかない。
ただし、すでに稼働しているシステムにセキュリティの仕組みを組み込むことはできる。これは当社の中核ビジネスが取るアプローチであり、当社が現状提供しているもので十分であることも多い。だが、環境によっては、ごく僅かなサイバー攻撃のリスクが大惨事になる。セキュリティを盤石なものとするには、何かを新たに構築しなければならない。つまり、設計段階からセキュリティが考慮されていなければならないのだ。
セキュアOSなんて、特に新しくもないのでは?
まったく新しいものを開発したと言うつもりはない。当然ながら、当社以外でもセキュアOS開発の取り組みはあった。成功したプロジェクトもあったが、実装コストは航空機並みに高額だった(興味深いことに、こうしたシステムは実際に航空機で導入された)。そんなわけで、これらのプロジェクトは普及を見なかった。
また別のプロジェクト(英語サイト)は、学術的な研究分野にほぼ限定されていた。言い換えれば、頭の良い人たちがマイクロカーネルを開発し、シャンペンとスピーチでお祝いしたら、基本的にそれでおしまいだ。本格的な展開や商用化にまでこぎ着つけたプロジェクトは、今のところない。しかし、実用的な乗り物というものは、エンジンを作って終わりではないのだ。タイヤやサスペンション、その他もろもろの重要なパーツがなければ動かない。
そこで当社は、さまざまな分野に適合するようにシステムを設計し、適合要件に応じて細かいレベルでカスタマイズできるようにした。開発したのは、3製品。具体的には、OS(KasperskyOS:KOS)、スタンドアロン型セキュアハイパーバイザー(Kaspersky Secure Hypervisor:KSH)、そしてOSコンポーネント間で安全な通信を行うための専用システム(Kaspersky Security System:KSS)だ。また、各製品単体でも、適合要件に応じてさまざまな課題に対応可能だ。
たとえば、ドイツ企業のSYSGOはKSSをライセンス契約し(英語記事)、同社独自のOS「PikeOS」で使用している。また、既存のアプリケーションを変更しなくても安全に実行できるとして、Kaspersky Secure Hypervisor(KSH)の単体利用に関心を寄せている企業もいくつかある。ただし、Kraftwayスイッチの場合はこのレベルの統合で十分とはいかず、OSをフル実装する決断と相成った。
つまり、当社OSの主なメリットは、実用性と利便性だ。汎用的な仮説シナリオ向けの設計というよりも、目的に合わせた設計となっている。
定義された動作しか実行しないOSだということは、どうやって証明できるのか?
設計段階からセキュリティを考慮したシステムだと言うと、そんなはずはない、信じられないと反論する人がいる。それは当然の反応であり、まったく結構だ。サイバーセキュリティの世界にあっては、どんな言葉も鵜呑みにするべきではないからだ。
当社OSのアーキテクチャは、オブジェクトをできるだけ多くの独立した単位に分割する、という原則に基づいている。顧客はソースコードを検証し、未公表の機能がシステム内に存在しないことを確認できる。OSの基本機能以外については、文字通りこまごまとしたことを具現化する「セキュリティポリシー」という形で、顧客と共にニーズに合わせて構成していく。
このOSは、指示されたことしかしない。そのため、このOS用に開発されたアプリケーションにバグがあったとしても、攻撃者が不正に利用することはできない。もちろん、バグだらけでだらだらと長いコードを書くことは可能だ。しかし、そのコードができることとできないことを厳密に定義したポリシーに準拠していないかぎり、コードは機能できない。
そのOS上で本当にどんなものでも動作すると思うか?
もちろん。なぜなら、当社のシステムは非常に柔軟性が高いからだ!もっと細かい調整を施して大衆市場向け商品にすることもできたが、それには相当な時間とリソースを要する。今のところそこまでの予定はなく、この製品はニッチ市場向けであると考えている。
また、サードパーティのコードをこのOSに移植できることも知っておいてほしい。当社の製品にはセキュアハイパーバイザーが含まれていて、任意のOSをゲストOSやカスタムアプリケーションとして仮想的に実行できる(Apacheサーバーを実行するLinuxのような具合だ)。
このサーバーを数多くの独立したインスタンスに分割し、相互の通信方法をポリシーで規定すれば、さらに高いレベルのセキュリティを確保できる。とてつもなく手間がかかるが。とはいえ、気力とリソースが十分にあれば、できないことなどない(笑)
ハイパーバイザー上でカスタムアプリケーションを実行可能にしたのは、そうした理由からだ。これで、最初から安全というわけではないカスタムアプリケーションが含まれていても、最初から安全なOSを実現できる。カスタムアプリケーション内で起こることは、セキュアOSにはわからない。だが、カスタムアプリケーションとハードウェア、カスタムアプリケーションと他のカスタムアプリケーション、カスタムアプリケーションと外部との通信を制御することはできる。これだけでも意味はある。こうした構成のおかげで、サンドボックスから抜け出すことはほぼ不可能だ。
いずれにしろ、データを収集するのでしょう?
カーネルからは何ひとつ、どこにも送信されない。(さきほど説明したように)ソースコードを見れば一目瞭然だ。マイクロカーネルには、基本的に何も入っていない。ドライバーはすべて隔離されている。そのため、データを受け渡すには、新たにコードを記述しなければならない。データの受け渡しがあるかどうかは、ソースコードを見なくても簡単にわかる。すべての操作はセキュリティポリシーに記述されているからだ。顧客は、どんなコードであろうと、いつでもセキュリティポリシーを監査できる。データを送信する命令がポリシーに記述されていなければ、システムはデータを送信しない。
価格は相当お高いのでは?
正直なところ、現行の販売価格はよくわからない。だが、そこを取り上げるのは的外れに思われる。当社のOSは買ったらそのまま使える商品ではなく、プロジェクトとして販売する商品だからだ。
我々は、誰にとっても効力のあるパッケージ商品を販売しようとしているのではない。そうではなく、たとえばネットワーク機器や産業自動化システム、自動車向けソリューション、果てはスマート冷蔵庫などのベンダーや開発者と、コラボレーションしようとしているのだ。我々はコードを提供し、要件に沿ったシステムの構築を支援する。したがって、製品の価格は実装によって異なるし、最終的な製品が完成するまでの労力によっても変動する。
あらゆるものがハッキング可能なのだから、カスペルスキーのOSも例外ではないはず!
おっしゃるとおりだ、完璧な答えなどない。何が起きても不思議ではない。しかし、だからといって諦める理由にはならない!サイバーセキュリティの本質は、できる限りサイバー犯罪者が犯罪で生活を立てられないようにすること、そしてサイバー攻撃をコストが高すぎて実入りのよくないビジネスにすることだ。その意味で、当社のOSはどの競合よりも先を行っている。
さて、今回はここまでだ。詳しい情報は、当社のWebサイト(英語)をご覧いただきたい。