インタビュー:Linuxセキュリティを専門とするKurt Seifried氏
Seifried氏は長年にわたり、Linuxセキュリティの世界でその名を高めてきたが、過去の業績にあぐらをかいたりはしない。現在氏は、iDefense/Verisignの技術チームに所属している。そこでは、「現在のセキュリティ上のあらゆる脅威を押さえておくことに、ほとんどの時間を費すことができる」そうだ。また、Seifried氏は、RiskBloggers.comという新しいサイトも手がけている。セキュリティとリスクに関する記事が掲載されている読み物ブログだ。
Q:Linuxのみを対象としたセキュリティ・リストの立ち上げを計画しているというのは本当ですか。
Kurt Seifried氏: ええ。「時間ができ次第」の話ですが。基本的には、すべてのベンダのリスト(DebianやらSlackwareやら)を1つに取りまとめたものになりますので、かなりの重複が生じることと思います。各ベンダが同じソフトウェアを出していることは多々あるからです。しかし、セキュリティ・アップデートを出す早さはベンダによって違いがあるので、注意を喚起する役割も果たします。
Q:Linuxの誕生から、もう15年になります。その間に、Linuxのセキュリティ面はどのように変わってきましたか。
Seifried氏:大きな成長を遂げました。SELinuxやStackGuard(以前はSubDomain)といったプロジェクトは、多大な影響を及ぼしています。
現在私のサーバではSELinuxを使用していますが、Apacheなどのインターネット向けサービスを確実に保護できています。また、ソフトウェアの数がかなり増えたという点も挙げられます。私が始めたころ、Linuxの平均的なインストール容量は50~100MBで、これは当時利用可能なハード・ドライブの約50~70%でした。現在私は、おおむね1~2GBのソフトウェアをインストールしています。これは、利用可能なハード・ドライブ容量の1%未満です。複雑さやサイズが増すということは、攻撃を受けるおそれのある潜在的なセキュリティホールも増えることになります。
Q:昨年Microsoftは、Linuxのセキュリティは「絵空事(myth)」だと述べ、Linuxはミッション・クリティカルなコンピューティングで使用するには「未熟すぎる」と主張しました。真実と言えるでしょうか。
Seifried氏:Microsoftは何やかんやと主張します。大企業の大半は何やかんやと主張します。たとえば、「Unbreakable」と謳ったOracleの宣伝がありました。Microsoftは以前、Windowsのバッファ・オーバーフローの問題は解決し、今後はその問題は起きないと述べていました。これは、この業界の気質なのです。泥の塗り合い(いわゆるFUD)があちこちで見られます。
Q:絵空事かどうかはさておき、現在Linuxはこれまでになく広まってきています。特に、ミッション・クリティカルなコンピューティングの分野においてです。このように普及が進んでいることによって、セキュリティ面で何か変化は生じますか。
Seifried氏:はい。最大の変化は検査のレベルだと思います。たとえば、最近のMonth of Kernel Bugsでは、Linuxカーネルでの各種ファイル・システムのサポートに関してさまざまな問題が見つかっています。ローカルでのDoSやコード実行につながり得る問題です。
たとえばOpenBSDプロジェクトのように、コード・ベースを徹底的に検査するものに比べると、Linuxのコード・ベースはその点に関してまだ手落ちがあります。とはいえ、だんだん改善されてきていますが。
Q:現在のLinuxセキュリティに関する大きな問題は何ですか。
Seifried氏:コードの品質が、依然として非常に悪いです。バッファ・オーバーフローのようなおなじみのセキュリティ問題や、単純なファイル作成の問題といったものが、いまだにはびこっています。20年も前からあるプログラム・エラーがいまだに発生するとは、まったくもって困ったものです。
Q:エンド・ユーザによるLinuxの利用が増えると、マルウェアの数も増えるのでしょうか。それとも、Linuxにはマルウェアへの免疫性があるのでしょうか。
Seifried氏:Linuxに免疫性があるとはもちろん言えませんが、抵抗力は高いです。
こう言えばよいでしょうか。サーバのマルウェアが心配かと聞かれたら、そんなことはないと私は答えます。感染の原因となるうかつな行為をホーム・ユーザが行うことが心配かと聞かれたら、そうかもしれないと答えます。しかし、構築と設定がきちんとなされたシステムで、ユーザに管理者アクセス権が与えられていないのであれば、そうした攻撃への免疫性は比較的高いでしょう。
Q:一般的に言って、Linuxと他のOSとでは、どちらの方が使用のリスクが高いのでしょうか。
Seifried氏:そもそも、「リスク」の定義によります。お気に入りのディストロをデフォルト・インストールした、パッチを適用していないLinuxマシンを起動する方が、パッチを適用していないWindowsマシンを起動するよりも安全です。そのWindowsマシンは、おおむね30分足らずで攻撃され、セキュリティが破られてしまうでしょう。
脆弱性があるサービスの実行や、安全でないインターネットの利用法(たとえば、メールの添付ファイルを開いて実行したり、既知の問題点がある古いブラウザでWebを閲覧したりなど)を行えば、どんなOSであっても、問題が生じる可能性が大です。
Q:今や、膨大な数のディストリビューションが出回っています。その状況でも、「Linuxセキュリティ」を専門にすることは可能なのでしょうか。多種多様なディストリビューションの細かな違いに完全に精通する必要があるのではないでしょうか。それとも、他の知識に加えて、この複雑な知識を身に付ける必要があるということでしょうか。
Seifried氏:まあ、幸いなのは、Linuxシステムはよく似通ったものが大半だということです。たいてい、脆弱性や攻撃は同じような種類のものです。ファイルのアクセス権の問題とか、アプリケーションの作成時の不備などです。
もちろん違いもあります。あの設定ファイルはどこにあるのか、とか、なぜこのサービスがデフォルトで有効になっているのか、といった点です。しかし、土台となる基礎を身に付け、manページの読み方とか、何より大事なGoogleの使い方がわかれば、大丈夫なはずです。
Q:セキュリティの面から見て、すべてのディストリビューションは平等でしょうか。それとも、優劣があるのでしょうか。
Seifried氏:他と比べてきちんとしているディストリビューションがあるのは確かです。たとえばRed Hatは、出荷状態のデフォルト設定が非常に強固になっています。Sendmailを例に取ると、すべてのインタフェースではなくlocalhostのみがリッスンされます。また、大半のベンダは、Telnetを捨ててOpenSSHを採用しています。そういった点です。
Q:セキュリティに重点を置いた特別なディストロや、Linuxセキュリティ・ソフトウェア(強化スクリプトやアドオン・セキュリティ・パッケージなど)が大量に登場しています。それらについてどう思いますか。
Seifried氏: そのセキュリティ技術が、成熟していて、強固で、安定していて、機能性があり、安全に設定できるという条件を満たすのであれば、私は大歓迎です。しかし、複雑なアドオン・セキュリティで、きらびやかで複雑なアドオン・セキュリティの導入というそれ自体を目的としたものは、まずうまくいかないでしょう。Crispin Cowan氏(Immunixの共同創業者の1人)がこんなことを言っていたのを思い出します。「SubDomainによる違いは、サーバに走って行ってパッチを当てるか、歩いて行ってパッチを当てるかの違いだ」と。
Q:Linuxセキュリティ用のツールでお気に入りはありますか。
Seifried氏: ホスト・セキュリティに関してはSELinuxです(きめ細かな制御が可能ですが、設定は手強いです)。ファイアウォールのルールが正しいかどうかの検査に関してはNmapです。システムを安全に設定するためのファイル編集に関してはEmacsです。お気に入りのツールは非常にたくさんあり、1つに絞ることはできません。
Q:平均的なLinux管理者にとって、セキュリティを高めるために最も重要なことは何でしょうか。
Seifried氏:おそらく、ディストリビューションに付属の自動更新機能を実行することだと思います。何はなくとも、それを行っておけば、システムに潜む大きな穴の数を減らすことができます。セキュリティとは総体的な取り組みであり、システムの強固さは、セキュリティが最も弱い部分で決まります。攻撃者は、1つの誤りを見つけるだけで、システムを攻撃できるのです。
Q:一般論として、不安定(unstable)版やベータ版のような最新のソフトウェアの方が、数年前から動いている古くて枯れたソフトウェアよりも、セキュリティが強固になっていると言えるのでしょうか。
Seifried氏:いいえ。おそらく、新しいソフトウェアにも、大量のセキュリティ・ホールが潜んでいます。よく知られたセキュリティ・ホールがないというだけです。
違うのは、古いバージョンのソフトウェアに潜むセキュリティ・ホールは、Packet StormやMetasploitから攻撃コードを入手でき、難なく悪用できるという点です。新しいセキュリティ・ホールは、攻撃コードの開発にもう少し時間がかかります。
Q:今や、すべての管理者が、セキュリティの専門知識を持たなくてはいけないのでしょうか。
Seifried氏:残念ながら、そのとおりです。そのことが、大半のオペレーティング・システムにとって最大の弱点の1つだと私は思います。オペレーティング・システムをインストールして、オンライン向けに設定するためには、実際上かなりのセキュリティ知識がないと、安全性は実現できません。アプリケーションやオペレーティング・システムの大半は、安全ではない形で問題が発生します。たとえば、バッファ・オーバーフローが発生した場合、単にエラー・メッセージが表示されるのではなく、コードが実行されてしまいます。
コンピュータ業界が、たとえば自動車業界と同じような、成熟した段階に入ることを私は願っています。つまり、安全性や安定性が重要な要因の1つとなり、製品のデザインと開発は、安全性、信頼性、セキュリティの実現を念頭に置いて進められるという形です。
でも、そうなる日がもし来るとしても、はるかに先の話になると思います。ソフトウェア開発を取り巻く総合的な環境からです。