ハッカーとクラッカー

ハッカーとクラッカーについてちょっと思うところがあって書きます。


どうも世の中では、「ハッカー」というのは、
ネットワークを使って不正アクセスする人
ということになっているようです。
これは日本だけではなくて、アメリカでもそのように言われています。
しかし、そのような意味はテレビや雑誌などのメディアが作り出した意味です。
最初、エンジニアが使っていた「ハッカー」という単語にはそのような意味はありませんでした。
ネットワーク不正アクセスをする人には「クラッカー」という用語を使用します。
現在では、「ハッカー」=「ネットワークを使って不正アクセスする人」という意味が当然として使われていて、定着してしまっているので、今更、、、なんですが、厳密には違います。
では、「ハッカー」とは何でしょう。
詳しくは、こちらの「How To Become A Hacker」ハッカーになるには(日本語訳)の2章に出ています。「ハッカーって何?」ってところが詳しく書かれています。
僕の中の定義では、
「ハッカーとは、問題解決において、豊富な経験と知識を元に、驚異的な集中力をもって短時間に解決していく(ことが好きな)人」
です。これが広義の「ハッカー」です。
この「ハッカー」うち、コンピュータの分野における「ハッカー」が、狭義の「ハッカー」です。
ハッカーであるプログラマと、凡人プログラマとでは、100倍の生産性を示すこともあります。
10倍くらいのパフォーマンスは普通に発生します。ある人が1週間かかって作っているものを、2時間くらいで作り上げたりします。
凡人が「ハッカー」を目の当たりにすると、「ありえねぇ」速度で問題が解決していきます。
この短時間にというのがミソで、場合によっては、その場しのぎのずるいアイデアで逃げ切る。ってなイメージも持っています。そのアイデアがすごかったりするわけですが。。。
短時間で済ませるために、綿密に計画をもって作業に取り掛かるわけではありません。目の前の問題が解決すればOKです。その対処によってあとで何か問題があっても、それはそのとき解決すればいい、というのがハックです。
人を「ハッカー」と呼ぶ場合、その人は尊敬の対象です。まさに「神」です。
この「ハッカー」という用語はMIT(マサチューセッツ工科大学)のコンピュータの研究所で生まれたと言われています。
実は、MITでは「ハッカー」は違った意味で使われていました。
こちらに、MITのハッカーのページがあります。

ハックという単語はMITでは通常、賢くて(Clever)良性で(benign)道徳に反しない(ethical)いたずら(prank)、または手際の良い(practical)ジョークであり、それらのいたずらは犯人にとっても挑戦であり、MITコミュニティを楽しませるものである。注意すべきことはコンピュータ(や電話)ハッキングとはまったく違った意味である。(それらはクラッキングと呼ばれる)

これらの例を紹介しよう。

偉大なるドロイド
春の期末試験の初日、丁度「スターウォーズ:ファントムメナス」の公開の2日前の朝、学生が学校にやってくると、そこには、グレートドーム(この大学のシンボル的な講堂の天辺)がスターウォーズで有名なR2-D2に変換されていた。

グリーンビル(校舎の名前)のサウンドメーター
ボストンの7月4日(合衆国独立記念日)は伝統的に、楽しみとお祝いのときである。数千の人々がチャールズ川の土手にピクニックで集まり、音楽を聴いたり、花火を見たりする。地元ラジオ局が放送する、ボストンポップミュージカルのパフォーマンスが、お祭りのメインのパートである。
MITのハッカーはグリーンビル(校舎の名前)の最上階を世界で一番でかいサウンドメーターに変えてしまった。
(中略)
このメーターはラジオの音に合わせて動き、川の向こう側からも見ることができた。残念ながら、音とライトの動きは一致しなかったが。(なぜなら音が届く速度よりも、ラジオの電波が届く速度は圧倒的に速いからである)

先のページの下のほうにある、「The Gallery of Hacks」というところにいっぱい出ています。
どれも、おもしろくて、想像を超えていて、どうやってやったの?ってないたずらばかりです。
このように、かっこいい(ありえない)いたずらをする人たちのことを「ハッカー」と呼んでいたのですが、後にコンピュータの世界で(ありえない)驚異的なパフォーマンスを示す人を「ハッカー」と呼ぶようになったようです。
まぁどちらにしても「ハッカー」は、オタクのことでもなければ、「ネットワークを使って不正アクセスする人」のことでもないです。ぜんぜん関係が無い用語です。
「ハッカー」は問題を解決するのに長けた人です。逆に問題を解決するためには、多少の無茶もやります。
あるコンピュータが深夜に故障した。これを直すためには、あの部屋のあのロッカーにある工具と部品が必要である。明日の朝になれば管理人が鍵を開けてくれるが深夜にはいない。問題を解決するためには、朝まで待ってられない。ということで、ピッキングをして、鍵を開けて必要なものを取り出し、コンピュータを修理し、工具を元の場所に返し、鍵をかけて、何事も無かったように作業を続けます。
このようなエピソードに始まり、ネットワークの向こう側のコンピュータを操作する技術を開発したり、どのように自在にコンピュータを扱うかを競い合ったのでしょう。
セキュリティで守られたコンピュータを、いかに自分の手で操作するかを競い合った人たちもいたでしょう。
そのような純粋な技術的好奇心を挑戦していた「ハッカー」たちにあこがれて悪さをするようになった人たちが「クラッカー」だと考えられます。
「クラッカー」たちは、「ハッカー」と呼ばれたいために、さまざまな無茶なことをやったと思われます。でも、本当の意味の「ハッカー」たちは、それらの「クラッカー」の行為は軽蔑しました。
「クラッカー」とは「ハッカー」と呼ばれたくて目だちたがっている人たちのことなのです。
このような歴史的背景から、ネットワークの不正アクセスをする人たちを、ごっちゃにして「ハッカー」と呼ぶようになったようです。
現在のネットワーク不正アクセスをする人たちはどうでしょう。
もしろん、ネットワーク不正アクセスするためには、ハック的が技術が必要です。不正アクセスのアイデアを最初に考え出した人はある意味「ハッカー」と呼ばれるかもしれません。
僕の目から見て、現在の一般的なネットワーク不正アクセスの一般的な手法は、かっこよくありません。
ちまたに出回っているものは、ありふれたものばかりです。他人の(もしかしたらハッカーたちが開発した)技術はプログラムを操作してるだけだったり、プログラムを開発したと言っても、他人の開発したプログラムをちょこっと改造しただけだったり。
どれも、「ハック」と呼ぶにはお粗末なものばかりです。
ポートスキャンや、バッファオーバーフローなんて、もう当たり前すぎてつまらんよ。(だからと行って、おらが防げるというわけじゃないですが。。。)
もっと新しい技を開発してくれ。
「クラッカーとはレベルが違うよ。レベルが。。。」
とは言っても、今の世の中「ハッカー」というとどうもネットワークの不正アクセスする人という意味で使われていることが多くてちょっと寂しい。。。
ハッカーについてのリンク(これらの文章を読むと、よりハッカーのことが詳しく理解できます)
ハッカーになろう How To Become A Hacker)
管理職のためのハッカー FAQ
ハッカーのための管理職 FAQ
ハッカーのための管理職 FAQ
Hackの語源
Hackについて
The Jargon File, version 4.4.7

「ハッカーとクラッカー」への2件のフィードバック

  1. 丁寧な解説どうもです。
    どうも、ハッカーとクラッカーを同一視してしまう傾向があるみたいですね。
    本来なら、ハッカーと言うのは、尊敬を込めるべき言葉なんでしょうね。
    あ、あのlog公表したら、なんかぴたりと不正アクセスがなくなったんです。
    うーん・・・。

コメントを残す