Microsoft:セキュリティに対する姿勢

ビルゲイツ会長が自らセキュリティが最優先であるとして取り組みを強化しようと言い出している。
これは非常に歓迎すべきことであろう。
Windowsの最大の欠点はセキュリティの弱さであり、それらに目をつぶっても使い勝手やアプリケーションの数(バリエーション)のダントツに素晴らしさから使いつづける人が多いと思われるからだ。
それを自覚しての政策であろうからぜひとも実を結ぶことを期待したい。
内部では改善できないということで外部から幹部クラスの招致をして体制の強化をすみやかに行うという決断はいつものことではあるが良いことだと思う。

しかしながら勘違いをどうもしている節があるようで少々心配である。
どうも家電とか医療とか社会とかそういうところのレベルでの信頼性を勝ち取りたいと考えているようだがそれはあまりにも浅はかでまだまだ遠いことを自覚して欲しい物だ。
10年とかいうひとつの数字を掲げているが、まあ、それでいままで失った信頼を元に戻すぐらいではないか。
信頼と信頼性というのは非常に泥臭く地道な積み重ねだ。それにもまして基本設計の確かさがないとどうにもならないという面も併せ持つ。そういうことを口先だけといわれる彼らにできるのか、そういう面では目をはなせないというところはあるのだろうか。
彼らの発言にはあるが誰も実体をみないまま忘れ去れた多くの幽霊ソフトウェアと同じように安易に信じてよいのだろうか。
いつものリップサービスではないのだろうか。

姿勢と方針

Microsoftにはいくつかの方針があるという。

Secure by Design

、つまりはデザイン時点での対策。実際にはソフトウェア自身を強くすること。設計、コーディング、テスティングレベルで徹底的にテストをするということのようだ。
これはある意味非常に難しく絶対はありえない。しかし根本的対策としては絶対に必須でありここを怠った場合はなにをやろうが砂上の楼閣といえる。だからこそ難しい。
しかしこんなことはいうまでもなくあたりまえのようにやるべきことでいちいちいうことではない。
まぁ、いままでは甘かったことを認めて、これからはやるようにすると明確にトップが宣言すること良いことだ。
これで担当者もこのままで出荷してよかったのだろうかという良心の呵責に耐えながら仕事をせずに、堂々と自らの気が済むまでテストをすることができることになるだろう、と期待したい。

Secure by Default

Default設定を安全なほうにし不要な機能は切った形で出荷するということらしい。
これは非常に賛成である。私は常々MicrosoftのDefaultは全て逆にしたほうがいい、などと吹聴していたが、それはMicrosoftのデフォルト設定は私の感じる安全で鬱陶しくない設定とほとんどが逆であったからだ。
例えばOutlookがデフォルトで導入され、さらにひどいことにアンインストールができないということなどはその自分勝手さの象徴といえる。そういう政策的面から削除できないアプリケーションを導入させるなどセキュリティ面からも全く信じられない。そして事実Outlookを狙ったウィルスというのは蔓延したのだ。
IISが導入されるなどというのは全く論外なことであった。こういう観点でしっかりと見据え、もっとも安全でいられるのは低機能で管理しうるシンプルさを保つことである、ということをもっと考えて欲しい。

ぜひともSecure by Defaultの方針に従い、シンプルで高機能なWindowsを目指して欲しい。
まずは何度もいうようだがOSとアプリケーションを明確に分離し、不要なアプリケーションはDisk上から完全に排除できるようにして欲しい。それが王道である。
とりあえずはOutlookとWindowsMediaPlayer、できればIEが「アプリケーションの追加と削除」に現れるようになって欲しい。
そうすれば、私はまずはこの方策が確実に成し遂げられつつある、と目に見えて安心できるだろう。
そしてその信頼できるOSが存在した上で、信頼できるアプリケーションを構築する。信頼できないものは即刻外す。これは絶対条件である。というか、他に方法はない。人間の管理能力には限界があるからだ。

Secure by Deployment

これに関してはWindowsUpdateを揚げているようだがこれは全くの間違いだと私は感じている。
およそセキュリティの弱さというのは自動操作というものと背中合わせにあることをまだ学習していないのだろうか。
プッシュ方式などはその危険性の極みである。
既に他のコラムで述べたように現状のWindowsはそのシステムフォルダは無茶苦茶だ。それはユーザーの責任では決してない。もしそれをユーザーの責任であるというのならばWindowsではユーザーが自由にソフトウェアをインストールしてはいけないということにしなければならないからだ。
そしてその無茶苦茶のシステムフォルダつまりは無限の組み合わせのある(バージョンといってもいいかもしれない)Windowsに対して改変を行うということ自体が可能なのだろうか。
つまりは自動的にアップデートをされた結果、そのシステム自体が動かなくなるという可能性を否定しきれるのだろうか。それをMicrosoftは有限の時間の中で実施しうるのだろうか。
問題はその現実を無視してWindowsUpdateを推進しようという姿勢そのものなのだ。

事実、現在ではあるパッチをあてた、ServicePackをあてたなどの結果、マシンか起動しなくなった、たびたび落ちるようになった、などという例はまだまだ多くを聞くのだ。
特定のハードウェアで起きたり特定の既導入プログラムの組み合わせであったりするようだ。
これをMicrosoftはユーザーの責任というのだろうか。既に問題なく動いていたハードウェアで、パッチによって動作不全に陥るのが果たしてハードウェアの責任なのだろうか。

例えばWindowsのServicePackを当てようとしていてなぜか使いもしないOutlookのフォルダまでいじっていることに非常な不信感を持っている(Windows2000だ)。
余分なことをすることは常に危険度を併せ持つ。
そしてその余分なことが問題の種になることは経験上否定できないことなのだ。

ウィルスはゼロにはならない。セキュリティは完璧にならない。その確率よりもこのアップデートによる危険度のほうが高いとなったら笑い話にしかならない。そしてその可能性のほうが高いと私の経験は警告をしている。
このことは確率論でしかない、と思っている。
確率を限りなくゼロに近づける努力こそが必要なのだろう。そして致命的でないことを、だ。

変更する危険度とそのままで続ける危険度を天秤にかけて変更するかを決めるのはユーザー・管理者ではないのか。
彼らは完璧をめざすから大丈夫という論調であり、それで安心するひとも多い。
確かにWindowsUpdateはひところのどうしょうもない状態からは脱しているとは思う。
しかし、私には危険度が高いとしか思えない。いままでの彼らのやってきた実績・信頼からは全く信用ができないとしか思えないのだが。

せめてSecure by DefaultでUpdateはしないという設定をDefaultにして欲しい物だ(笑)

今まで重大とされたセキュリティ問題

はたしてちゃんと分析しているのだろうか。
というか、多くの報道機関は少なくとも問題の本質を追及していないことに驚いている。
私も業務上も注意を払う必要がありウィルス情報は丹念に見ている。
その殆どはあまりに稚拙でセキュリティホールなどという高度な問題であるのだろうか、と疑問を投げかけたくなるようなものが多すぎる。
ここでいうSecure by Defaultで防げたレベルの問題である。
安易なDefault設定や疑問のあるソフトウェア設計が招いた結果としか思えないものばかりであるからだ。

一例をあげよう。
Outlookの添付ファイルをクリックさせることで感染させるタイプのうち、拡張子表示をONにしているのにもかかわらず拡張子SHSを表示できないなどというのはまさしくその典型例である。
これはOSというよりはOutlookの設計上の大問題なのだが、OSのコンポーネントを流用してファイル名表示させているのでOSの問題としておく。
拡張子表示してあるから.txtであれば安全であるはずという中級者以上が特にひっかかったらしい。
表示させる、としたのだから例外なく表示させるべきなのだ。
例外というものがこのような人的間違いを誘引しウィルス感染という大事に至らせた。
だからこそ例外というのは作ってはいけないのだ。鉄則である。
もしも、例外は設計上不可避もしくは回避困難な事象であれば絶対に明示しないといけない。

ちゃんと拡張子を表示さえしていればこのウィルス感染は非常に少数で済んでいただろう。
このような低いレベルで問題を誘引したMicrosoftの責任は重い。

いまだに残存するCodeRedなどIISにまつわるウィルスなどはIISなどを簡単に導入させなければ絶対におき得なかったことだ。ユーザーが知らないうちに導入されているような設定にしているなどというのは全く論外である。
既に弾薬がこめられ蹄鉄がひかれ引き金に糸をかけられ知らないうちに足にその糸をかけられているようにも見える。
知らずに一歩歩いて引き金を引いてしまった場合は、その責任は果たしてその人にあるのだろうか。

IIS自体にも重大な問題があるということもあるが議論は尽きることがないのでやめておく。

本当の意味でのセキュリティホールも発見されており、その確率自体は、LinuxなどのUNIX系OSで起きているものとさほど変わりはないように思う。
またInternetExplorerに関する問題もその基本設計はDefaultに問題があるだけであって、本当の意味でのセキュリティーホール問題はNetscapeやOperaなどのそれとそれほど変わるものでもないように思う。
しかしそれらは殆ど大問題でもない場合が殆どだ。もちろん遭遇してしまった当人には被害甚大の場合もあろうが、それよりも宝くじで高額当選をする確率のほうが高いのではないだろうか。

だからこそMicrosoftにセキュリティを高められるのか

純粋に技術的問題であれば技術者のレベルアップやコードレビュー、セキュリティ志向プログラミング手法の徹底などによって改善ができる。重要なことなのは間違いはない。
しかしながら現在まで重大とされ被害が甚大であったものについては基本設計や思想に根ざす問題があまりにも多すぎる。
いままでの問題(パッチ情報)を理解・分析していければそのことが浮かび上がってくると思う。
ActiveXという思想もそうであるしWindowsUpdate思想などもそのひとつである。
COM思想は悪いものではないのだが一旦感染するとその波及は大きいしウィルスプログラムにのっとられた場合は被害が甚大になる傾向が強い。
Outlookなどを外せないようにしていることなども根本問題に根ざしている。

さすがになんでも許可から原則禁止でユーザーにより許可にしていく方向に転換するようだ。
それ自体は良いのだがそれを生半可にやってユーザー(管理者)に混乱を招かせないように注意して欲しい。
上記で述べた拡張子問題と同じような結果を招かないように。

InternetExplorer

MS陣営が司法で発言したIntenetExploreはOSの一部で不可分であるという発言についても重要な問題がある。
これはもちろん純粋な技術的な問題と捉えれば不可分ではありえないなどと信じる技術者は誰もいないだろう。
問題はそのような政治的な行動によってセキュリティがないがしろにされるという問題が一点、そしてOSと不可分できないような設計になっているのだろうという点がそのもう一点である。
もちろんOSとネットワーク機能が不可分であるわけはありえないしそれ自体は問題ではない。
しかしInternetExplorerと言われるものがOSと不可分であり最低でもそのフロントエンドが不可分であるわけは絶対にありえない。
確かにWindowsInternetAPI(WinInet)は便利でありOSの一部として良いのかもしれない。
OSの一部としてもいいしそのDLLをあとから導入できるようにするのもいいだろうし多くのプログラマーはそれを望むことだろうと思う。
しかしそれが現状ではInternetExplorerをいれることを必須とされることとそれの根拠でOSと不可分とされていることに大きな問題があると思う。
そして頻繁にアップデートされることにも問題がある。OSと不可分であるといっているわりにはOSと関係なく発表され更新されるという非常に不可思議なやり方をしている。
この、どこまでOSでどこまでがアプリケーションであり、一体どこに問題があるのかが曖昧になっているということ自体が非常に問題なのだ。


コラム一覧に戻る
トップページに戻る