« 余計な機能を止めてみよう。 | トップページ | MCP対策の本 »

2005/05/25

根拠の選択

自分の主張、あるいは研究で新しく発見されたこと。これらを支える根拠はとても大切なものだ。そして、評価する価値があるかないのかをよく考えなければならないものでもある。

わたしは大学時代は生物系の研究室に所属していた。卒論ももちろん書いたが、そこには研究で行った全ての実験データを記したわけではない。自分の研究を支えるでもなく、否定するでもないデータというものが存在し、それらは卒論には載せなかった。なぜなら、論文に無駄な装飾をすることになるからだ。

時間やスペースが限られているとき、引き合いに出す根拠を選ぶことはより重要なこととなる。そして、以前述べた「率直に、簡潔に、そして論理的に」表現する能力もまた結果を左右する。

なぜこんなことを書いているかというと、 MSがLinux対抗キャンペーンで「信頼性はWindowsが上である」と述べたことに対して、オープンソース支持者のブルース・ペレンス氏がとんでもないことを根拠に反論したからである。
参照: http://www.itmedia.co.jp/enterprise/articles/0504/06/news058.html

氏、曰く「ウイルスのことを考えるべきだ。私のメールボックスには毎日、 Windowsを標的とする30のウイルスが届けられる。これらのウイルスは既に感染してしまったシステムから送られてきたもので、(感染したユーザーの)知り合いすべてにウイルスを送りつけている。 Linuxやオープンソースソフトではこれほどの問題は起きていない」

これが信頼性を評価するにふさわしくないのは少し考えればすぐにわかるんだ。視点を変えてみることだ。つまり、製作者の立場で考えてみることだ。 Malwareを作る動機はいくつか考えられる。 多くのマシンが感染するプログラムを作ることで自身の技術力を誇示したい、 DDoS攻撃を行うために多くの踏み台がほしい、なるべく多くのマシンから情報を盗みたいとかね。さて、いくつか製作者の動機を並べてみたが共通することがあることに気づくだろう。そう、製作者はなるべく多くのマシンに感染させたいんだ。

となれば、どのプラットフォームをターゲットにすれば効率がいいのかわかるよね?
いまのところ、PCの9割以上はWindowsで、残りがLinuxやMac、FreeBSDだ。なるべくたくさんのマシンに感染させたいと思っているのに 5%にも満たないLinuxをターゲットにした攻撃コードを書くかい? Macをターゲットにした攻撃コードを書くかい? LinuxやMacユーザはとても数が少ないんだ。 100台のマシンを無作為に選んで攻撃をした場合、 Macをターゲットにしても効果があるのは5台以下なんだ。 WindowsのHotfix適用率が8割でMacやLinuxがインストールされているマシン全てでセキュリティホールが放置されていた仮定としても Windowsを狙ったほうがよりたくさんのマシンに感染させることができる。「たくさんのマシンに感染させる」という目的から見ればよほど頭が悪いか、物好きでない限りはLinuxやMacをターゲットに選ぶことはないことがわかるだろう?

このように、少し考えれば否定されるような根拠を挙げることは自らの首を絞めかねない。根拠はとても大切なもので、選ぶことは慎重にやらなきゃならない。

おまけ:
わたしから見たWindowsがLinuxよりも勝っている点は、ドキュメント、ドライバ、アプリケーション、操作性だ。ドキュメントはMS社がかなりの量を公開しているし、情報サイトでは実例も交えて経験の少ない技術者でも解るように噛み砕かれた説明がされていることが多い。多くの情報サイトではフォーラムも管理されているのでわからないことは現役の技術者に質問をして解決に導くことができる。これらの情報は日本語でほとんどを得られるという大きな利点がある。英語のドキュメントも良質な(読みやすい)ものが多く、中学生レベルの英語が読めるならば更なる情報を得られる。デバイスもWindowsを前提に発売されるものが多く、製品には大抵はドライバが付属する。Appも事務用からホビーユース、サーバーデーモンまでほとんどが揃う。操作性も視覚的直感で操作できるように工夫されているものが多い。総じて入り口が広いので気軽にITへ踏み込める。
一方で、デメリットはブラックボックスとほとんどが有料であることだろう。改良すればよりよくなるだろうと思うところがあっても Srcが入手できないので改良することができないし、セキュリティホールはベンダーがリリースする修正パッチを待たなくてはならない。いいソフトを見つけても価格を見て断念せざるを得ないことも多い。

Linuxの利点は、自由度の高さにある。ソースコードは公開されているし、それを書き換える自由も認められているから自分の好きなようにOSをカスタムでき、セキュリティホールもふさぐことができる(相当に高度なプログラミング能力が要求されるが)。これを支える開発ツールもOSに付属するしフリーで使えるIDEとしてEclipseがある。自分で使うツールをフリーのIDEで自作できるのは楽しみでもあるだろう(やはり相当に高度な能力が要求されるが)。能力さえあればLinuxは魅力的なプラットフォームだろう。デメリットは入り口の狭さとドキュメントが整備されていないこと。自分で開発する能力がない場合、公開されているAppを使うことになるが、これは(Windowsプラットフォームのように)まとまったドキュメントが用意されているということのほうが稀。有用だとされるドキュメントはほとんどが英語であり、出版されている書籍も少ない。入り口が狭いのだ。

|

« 余計な機能を止めてみよう。 | トップページ | MCP対策の本 »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/103108/4269525

この記事へのトラックバック一覧です: 根拠の選択:

« 余計な機能を止めてみよう。 | トップページ | MCP対策の本 »