有効なセキュリティ対策を計画し実施するために、まず、 しつこい攻撃者が不正アクセスをしシステムの感染をさせるいくつかの問題について知っておいてください。しかし、これら問題を詳述する前に、攻撃者を識別するときに使用する用語を 定義しておく必要があるでしょう。
現代のハッカーという言葉の意味はその語原を1960年代まで さかのぼります。マサチューセッツ工科大学の技術モデル鉄道クラブが大規模で複雑な鉄道セット を設計しました。ハッカーとは、巧妙なトリックや問題の回避方法を見つけたクラブメンバーに 対して使われていた名前でした。
これ以降、ハッカーという用語はコンピュータ狂から天才プログラマーまで幅広く 使われるようになりました。 ほとんどのハッカーにみられる一般的な特徴は、 自力でコンピュータのシステムとネットワークがどのように機能するかを詳細に探求する意欲に 満ちていることです。オープンソースソフトウェアの開発者はよく自分自身と仲間を ハッカーとみなしており、敬意を表してこの単語を使用します。
一般的には、ハッカーはハッカーの倫理を守っています。 ハッカーの倫理とは、情報と専門知識の探求は不可欠であること、この知識の共有は コミュニティに対するハッカーの義務であることとなっています。 この知識探求で、コンピュータシステムのセキュリティコントロールの裏をかくことに 学究的な意欲を燃やし楽しむハッカーもいます。理由は、マスコミが頻繁にハッカーと言う 言葉を使用して、節操なく、悪意を持って、あるいは犯罪的な意図でシステムやネットワーク に不正にアクセスする者達を表現するからです。 こうしたコンピュータハッカーに対する的確な呼び名は、クラッカー になります — 2つのコミュニティを差別化するため1980年代の中頃に ハッカーによって作られた造語。
システムやネットワークに脆弱性を発見して不正アクセスをする人々のコミュニティには、 いくつか異なるグループがあります。これらのグループは、セキュリティ調査を行なう際に "かぶる" 帽子の色によってよく表現され、この色がそのハッカーの意図を表します。
ホワイトハットハッカーとは、ネットワークやシステムをテストして パフォーマンスを調べ、侵入に対してどのように攻撃を受けやすいかを測定する人です。 通例、ホワイトハットハッカーは自分のシステム、または顧客のシステム にクラッキング行為を行ないます。顧客とはセキュリティ監査の目的でホワイトハットハッカーを 雇用した人または企業・団体です。 学術研究員やセキュリティコンサルタントの専門家などがその例です。
ブラックハットハッカーはクラッカーの同意語です。 一般的に、クラッカーはプログラミングやシステム侵入に関する学究的な側面には あまり焦点をおいていません。多くの場合、 クラッカーはクラッキングできるプログラムをあてにしています。 システムの既知の弱点に不正アクセスして、 個人的な利得のためにセンシティブな情報を暴露したり、 あるいは目標のシステムやネットワークに損害を与えます。
一方、グレーハットハッカーは、ほとんどの場合、技術を有し、 ホワイトハットハッカーと同様の意図ですが、ときには立派な目的以外に自分の知識を活用 することもあります。グレイハットハッカーとは、自分のアジェンダを達成するときには ブラックハットをかぶるホワイトハットハッカーと考えてよいでしょう。
グレイハットハッカーは概して別のハッカー倫理を持っていて、 それには窃盗を働いたり機密漏洩などの違反を犯さない限り、 システムに侵入するのは許容範囲とされています。 これに関しては議論のあるところですが、システムへの侵入行為それ自体は非倫理的な行為です。
侵入者の意図が何であれ、クラッカーが不正アクセスしそうな弱点を 知っておくことが重要です。以降、この点に焦点をあてて解説していきます。