1.3. 攻撃者と脆弱性

優れたセキュリティ戦略を計画して導入するために、まず強い決意と動機を持つ攻撃者がシステムを攻撃するために悪用するいくつかの問題点を理解しましょう。これらの問題を詳細に見る前に、攻撃者を特定する際に使う用語を定義する必要があります。

1.3.1. ハッカーの歴史の概観

現在のハッカーという言葉の意味をたどると、マサチューセッツ工科大学 (MIT) の技術モデル鉄道クラブが大規模で複雑な鉄道セットを設計した 1960 年代に遡ります。ハッカーは、巧妙なトリックや問題の回避方法を発見したクラブのメンバーの名前として使われていました。
これ以降、ハッカーという用語はコンピュータ通から天才プログラマーにまで幅広く使われるようになりました。多くのハッカーに見られる一般的な特徴は、コンピューターのシステムとネットワーク機能の詳細を自力で掘り下げる意欲に満ちているという点です。オープンソースソフトウェアの開発者は自身と自身の仲間をハッカーと見なすことが多くあり、ハッカーを尊敬を表す言葉として使用することがあります。
通常ハッカーは、ある種のハッカー倫理に従います。ハッカー倫理は、情報と専門知識の探求は必須のものであり、この知識を共有することがコミュニティに対するハッカーの義務であると規定します。この知識の探求において、一部のハッカーはコンピューターシステムのセキュリティコントロールの裏をかくことに非実用的な意欲を燃やす人々もいます。このため、マスコミはハッカーという用語を、悪質で悪意があるか、または犯罪の意図を持ってシステムやネットワークに不正にアクセスする人々を説明するためによく用います。この種類のコンピューターハッカーをより的確に説明する名前がクラッカーです。クラッカーは、これらの 2 つのコミュニティを区別するために 1980 年代中ごろにハッカーによって作成された造語です。

1.3.1.1. ハッカーの帽子

システムやネットワークにある脆弱性を見つけてこれを利用する人々のコミュニティは、いくつかの異なるグループに分かれています。これらのグループは、セキュリティ調査の際に「着用する」帽子の色によって表され、その色はそれぞれの意図を示します。
ホワイトハットハッカーは、パフォーマンスの検査や侵入に対する脆弱性を判別するためにネットワークやシステムをテストする人々です。通常ホワイトハットハッカーは、自らのシステムか、またはセキュリティ監査のためにホワイトハットハッカーを雇用した顧客のシステムに対し、クラッキング行為を行ないます。この顧客には、学術研究員やセキュリティコンサルタントの専門家などが含まれます。
ブラックハットハッカーはクラッカーの同義語です。通常、クラッカーはプログラミングやシステム侵入に関する非実用的な側面にはあまり重きを置きません。多くの場合、クラッカーは利用可能なクラッキング用のプログラムに依存し、システムの既知の脆弱性を悪用して、個人的な利益のために機密情報を暴露したり、標的となるシステムやネットワークに損害を与えます。
他方、グレーハットハッカーは、たいていの場合はホワイトハットハッカーと同様のスキルと意図を持ちますが、自らの知識を高潔な目的以外で利用することがあります。グレーハットハッカーとは、自らの目的を遂行する際にはブラックハットを着用するホワイトハットハッカーであると考えることができるでしょう。
グレーハットハッカーのハッカー倫理は通常のものとは異なるもので、盗難や機密漏洩などの違反を犯さない限り、ハッカーはシステムに侵入してもよいとするのが通例です。しかしながらこれについては、システムに侵入する行為自体が非倫理的であるという反論があります。
侵入者の意図を何であれ、クラッカーが悪用しかねない弱点について知っておくことが重要です。本章の残りの部分では、これらの問題点に焦点を当てていきます。