ハッカー
評価設定、ブックマーク登録およびリアクションありがとうございました。
創作物で「ハッカー」と言うと、
「もの凄い技術であらゆるセキュリティを突破し、狙ったシステムに侵入して機密情報を盗み出したり、登録されている情報を改竄したり、重要な機器を勝手に操作するスーパーハッカー」
と言った具合に描かれることが多いです。
しかし、現実にはそんな人間は存在しません。
そこまで凄い技術を持った人間がまずいない、と言うだけではありません。
そもそもの話、セキュリティとは技術で突破できるものではありません。
どれだけ勢いよくキーボードを叩こうと、どれほど華麗にマウスを操作しようと、どれほど素早くフリック入力をしようと、そんな小手先の技術でセキュリティは破れません。
セキュリティを破るために必要なことは、技術ではなく知識と情報です。
本来コンピュータシステムは、できるように作られたことしかできません。
操作する人間がどれだけ優秀でも、できないことはできないのです。
ただし、システムを設計開発した者が「できるようには作らなかったはずの事」「できないように作ったはずの事」が実際にはできてしまう作りになっていることがあります。
システムが複雑になるほど開発者の意図しない動作をすることはよくあります。
その中でも特に不正な操作に利用される可能性のあるものを、セキュリティの抜け穴、セキュリティホールと呼びます。
セキュリティホールを利用して、システムの開発者や運用者のやって欲しくない操作を行うことができれば、セキュリティを突破したことになります。
つまり、セキュリティを破るために必要となるのは、何処のシステムがどのような作りになっていてどんなセキュリティホールを抱えているかといった情報。
そして、限られた情報からシステムの構造やセキュリティホールの有無を推測するための知識です。
技術が活躍するのは、見つけたセキュリティホールを利用して何をどうするかと言う応用の段階に入った後になります。
セキュリティホールが見つからなければ、どんな凄腕ハッカーであってもシステムに許容された範囲のことしかできません。
ついでに言うと、セキュリティホールさえあれば何でもできるということにはなりません。
例えば、「ある操作を行うと、ちょうどそのタイミングでシステムを操作していた正規のユーザが画面表示している情報を参照できてしまう」と言う障害があったとします。
これはかなり重大なセキュリティホールになります。個人情報が漏洩する恐れがあります。
けれども、狙った個人の特定の情報を自在に引き出すことができるわけではありません。
あくまで、そのタイミングでシステムを操作していたユーザが表示した情報だけです。
長期間に亘ってしつこく情報を盗み続けていれば、いつかは目的とする情報も引っかかるでしょうが、その前に対策される可能性が高いでしょう。
システムを運用する側としては情報漏洩を伴う非常に深刻なセキュリティホールですが、それを利用して不正使用する側としては欲しい情報が手に入るかは運しだいの使い勝手の悪いセキュリティホールです。
また、このセキュリティホールでは情報を盗むことはできても、データを改竄したり、システムを乗っ取ったりと言ったことはできません。
システム的にやって欲しくないことができてしまう状態がセキュリティホールです。
セキュリティホールを利用してできることは、そのセキュリティホールの「できてしまうこと」に限られるのです。
結局のところセキュリティとは、セキュリティホールを塞いで、やってほしくないことをできないようにしているだけです。
不正なアクセスとか操作とかと対決して、力尽くで排除しているわけではありません。
逆に、不正侵入とか不正操作とかは、セキュリティを破壊したり守られている部分を無理やり突破したりして行うものではなく、セキュリティホールを利用してできることをやっているだけです。
別に、ハッカーとセキュリティが力比べをしているわけではないのです。
なとと言いつつも、実はセキュリティを力尽くで突破するようなケースもあります。
一つは、パスワードの解析です。
例えば、四桁の数字を使用した暗証番号は、「0000」から「9999」までの一万通りしかありません。
つまり、一万回繰り返して一万通り全ての組み合わせを試せば必ず正解を引き当てることができます。
人の手で一万通りの組み合わせを全て試すのは大変ですが、コンピュータならば一瞬です。
可能な組み合わせを片端からガンガン試していく方法を、ブルートフォース攻撃(総当たり攻撃)と言います。
キャッシュカード等で「三回間違えるとカードが無効になる」ようになっているのは、この総当たり攻撃で突破されることを防ぐためです。
キャッシュカードのような物理的な何かが存在しない場合はこの手が使えないので(パスワードを間違えただけでアカウントを無効にすると、他人のアカウントを勝手に無効にすることが可能になってしまう)別の方法で対策することになります。
長くて複雑なパスワードを設定するように言われるのもその一環です。
使用する文字の種類を増やしてパスワードの文字数も増やすとその組み合わせは天文学的な数になります。
組み合わせの数は、(使用する文字数)の(桁数)乗になります。
数字のみならば0~9の10文字で、桁数が4桁ならば10の4乗で10,000通りになります。
アルファベット26文字の大文字小文字を区別するのならば倍の52文字、数字10文字を加えれば62文字、記号を加えれば軽く70文字を超えます。
英数記号70種類を8桁使用するとすれば、その組み合わせは70の8乗で576,480,100,000,000(576兆4801億)通りになります。
桁数を増やせばさらに増大します。
こうなると、コンピュータを用いても総当たりには膨大な時間が必要となり、実用的に不可能となります。
他にもパスワードを入力した後の反応を返す時間をわざと遅くするという手法もあります。
ログインの成否を1ミリ秒で返していたら、1万回の試行も10秒で終わりますが、1回のログインに10秒かけて反応を返すようにしたら1万回に1日以上かかることになります。
組み合わせの数の膨大さとレスポンスの遅延を組み合わせれば、総当たりが終わるまで年単位で時間がかかるなんてことにもなり、実質的に総当たりでパスワードを見つけることは不可能になります。
それでも、よく使われるパスワードとか簡単に想像できるパスワードみたいなものを使っていると、あっさりと破られることもあるので要注意です。
もう一つが、暗号の解析です。
インターネットは一本の通信回線に不特定多数の人が使用する複数の機器が接続し、通信経路もユーザ側からは指定できないようなネットワークシステムです。
ネットワークを流れるデータは何処の誰が傍受するか分かりません。
だから、他人に知られてはいけない情報を送受信するためには暗号が不可欠です。
ただし、現代の暗号技術は、絶対に解読できないことを目指してはいません。
公開鍵暗号方式では、「掛け算は簡単だけど素因数分解はすごく大変」という性質を利用して簡単には解読できない暗号を作ります。
けれども、すごく大変なだけで、理論上時間さえかければ解読は可能なのです。
どのような暗号でも、絶対に解読不可能な暗号はありません。高性能なコンピュータでガンガン計算して行けばいつかは解読できます。
だから、絶対に解読不可能な暗号を作るのではなく、解読できた頃には意味のない情報になるように工夫して使っているのです。
暗号鍵を使用して作成されるデジタル証明書には有効期限が設定されています。
高性能のコンピュータで計算を続ければ暗号鍵を見つけ出すことができるけれど、その時にはもう別の証明書に切り替わっていて、証明書を偽造しても意味がないという仕組みです。
しかし、コンピュータの処理能力が向上することで、まだその暗号鍵が有効な時間内に解析されてしまうようになることも起こり得ます。
そのような場合には、セキュリティーを確保するために、暗号鍵を長くするなどしてより解析に時間のかかる暗号を使用する必要が出てきます。
昔、古いブラウザでは表示できないサイトに対応するためにブラウザのバージョンアップや最新のブラウザに切り替えなければならなくなったことがありましたが、その主な理由はより安全な暗号に対応するためでした。
今後、例えば量子コンピュータが実用化されるなどして、今使用している暗号も実用的な時間内に解読されてしまうようになるかもしれません。
そうなれば、また簡単には解読できない新たな暗号方式に切り替える必要が出てきます。
昔はパソコンのブラウザを対応させればよかったのですが、今だとスマートフォンの多くのアプリが影響を受けるでしょう。
通信部分は共通のような気がするのでOSをアップデートすれば全て対応済みになるかもしれませんが、その場合OSのアップデートに対応しなくなった機種は買い替えが必要になります。
話は戻って。
フィクション作品でありそうなのが、「ハッカーとシステム側のエンジニアの息詰まる攻防」といった展開です。
話としては盛り上がるのですが、現実としてはあり得ません。
まず、重要なサービスならば数多くのアクセスがあるはずです。
多数の正当なアクセスに交じった不正アクセスを見分けることができるでしょうか?
少なくとも、いつやってくるのかも分からない不正アクセスを人の手で監視することは現実的ではないでしょう。
今後はAIが監視したりするようになるかもしれませんが、セキュリティ技術者が「ハッカーだ!」とか「侵入されている!」とか言って、リアルタイムで不正侵入を発見するようなことは普通ありません。
そもそも、不正侵入しようとする攻撃を検知したとしても、できることは限られています。
本気で不正侵入されて、放置すれば被害が拡大するだけと言う場合の対処は「サーバのLANケーブルを抜く」です。
今は無線で接続されている環境があったり、クラウド上の仮想マシンで動作するサーバがあったりするかもしれませんが、やることは基本的に同じです。
強制的に接続を遮断してリモートからの操作不可能にするのです。ただし、サービスも止まってしまうので、これは最後の手段です。
正規のユーザのパスワードを盗んでアカウントを乗っ取ったような場合には、該当アカウントをロックして使えなくする方法もあります。
ただし、判定を誤ると普通に使用していただけなのにいきなりアカウントがロックされることになり、とても困ったことになります。
それ以外の対処は、システムや状況によっては個別にできることがあるかもしれませんが、一般論としてできることはまずありません。
セキュリティとはセキュリティホールを塞いでやって欲しくないことをできなくすることです。
セキュリティホールが無ければ、どのような攻撃を行っても不正使用をすることはできません。
セキュリティは運用を始める前にがっちりと行うもので、攻撃を受けてから慌てて何かをするものではありません。
新たなセキュリティーホールが発見されて対処する場合も、テスト用の環境でしっかりとセキュリティホールが塞がれていて、他に不具合がないことを確認してから運用環境に適用しなければなりません。
その手間を惜しむと、セキュリティホールを塞いだことでシステムが正常に動かなくなったり、別のセキュリティホールが開いてしまうといったリスクが生じることになります。
つまり、攻撃を受けてセキュリティホールの存在が明らかになったとしても、その場で対処することはできないのです。
サービスやアカウントを停止して被害の拡大を防ぐか、攻撃は受けても侵入されていなければシステム的には何もしないか、その二択です。
攻撃を検知したシステムの技術者がすごい技術でハッカーに対抗する、なんてことはあり得ません。
すごい技術でできることがあるのなら、攻撃を受ける前に終わらせておくのがセキュリティです。
それに、攻撃を受けてから人手で対処するのでは遅いのです。
攻撃側は、手作業で操作しているわけではありません。
ブルートフォース攻撃等でもそうですが、手入力で一万通り試すことは非常に手間で現実的ではありませんが、プログラムで実行すればあっという間に終わります。
それ以外の攻撃でも、何らかのツールを使用して行われることが普通でしょう。
こういうデータをこういう手順で送り付ければ、セキュリティホールがあればこんな反応が返ってくる。
こういう反応が返ってきたならば、次はこんなデータをこういう手順で送ればよい。
あらかじめ考えておいた攻撃手順を機械的に一気に実行されたら、攻撃に気付いたとしても何が行われているのかを調べている間に攻撃が終わってしまいます。
プログラムで実行される攻撃に対抗するには、こちらもプログラムで対処するしかない、と思うかもしれませんが、相手の攻撃とその対応をプログラムできるほど分かっているのならば、その攻撃が通用しないようにセキュリティホールを塞いでおけばよいだけなのであまり意味がありません。
結局、技術者が頑張るのは、攻撃を受ける前にセキュリティを万全にすること、そして攻撃を受けた後に何をされたか、どのような被害があったかを調べること。
攻撃を受けている最中にできることは、「LANケーブルを引っこ抜く」事だけです。
ついでに言うと、物語などでよくある「攻撃を仕掛けてくるハッカーの居所を逆探知して特定する」等と言うことも現実には困難です。
ハッカーが何かをやって追跡を振り切る、と言う以前に、結構難しい問題があるのです。
例えば、インターネットに接続された機器にはIPアドレスと呼ばれる住所が割り振られています。
サーバに接続する際には必ず自分のマシンのIPアドレスを相手に送信します。
そのようなプロトコルになっているし、正しいIPアドレスを送信しなければサーバからの返信が一切届かないので接続そのものが成立しません。
だから、攻撃を仕掛けてきた相手のIPアドレスを調べて、そのIPアドレスの割り振られたマシンを突き止めれば相手の居場所を特定することができる。
……と、簡単にはいきません。
インターネット上のIPアドレスは重複が発生しないように管理されているので、IPアドレスが分かればそれがどこの組織に割り当てられたものであるかまでは分かります。
けれども、そこから先が大変です。
技術的な問題ではなく、法的な問題が立ちはだかります。
攻撃を仕掛けてきたIPアドレスがどのマシンに割り当てられているを知ることができるのは、そのIPアドレスを管理する組織の者だけです。
しかし、よその組織から情報を引き出す権限は、一介の技術者にはありません。
どれほど優秀な技術者であっても、一般人に捜査権はありません。
そこから先は、警察の仕事になります。
特に相手が通信業者の場合、通信の秘密を守る必要があるので、担当者が協力したいと思っても法的に情報の開示が許されないこともあります。
そうなると警察が動いただけではだめで、裁判所から令状を取る必要があります。
つまり、攻撃を受けたことを確認したらまずは警察に被害届を出し、警察は裁判所から令状を取得して関連する組織から情報提供を受けて攻撃を仕掛けた機器を特定し、とかなり手間がかかります。
サイバー攻撃を行っている真っ最中のところに踏み込んで現行犯逮捕みたいなことはまず無理です。
さらに、セキュリティが甘いサーバを乗っ取って踏み台にしていたりすると追跡に手間がかかるし、捜査権の及ばない他国やフリーのアクセスポイントを経由していたりすると追跡はさらに困難になります。
まあそれでも、安易にサイバー犯罪を行って逮捕されるとか、匿名掲示板に殺人予告めいたことを書いて逮捕されるとか、捕まる人はそれなりにいます。
本来「ハッカー」コンピュータマニアを指すもので、犯罪者や不正使用者に対する言葉ではありませんでした。
プログラムは専門の技術者が作り、一般ユーザは手順通りに操作するだけなのが当たり前の時代に、コンピュータやプログラムの仕組みを勝手に調べ、マニュアルに載っていないことも一通り試してみなければ気が済まない。
そんな趣味の人がハッカーです。
興味本位で勉強するので、本職以上の知識や技術を持っていることもあり得ます。
そもそも、コンピュータやソフトウエア技術が発展途上の段階では、プロであっても技術やノウハウの蓄積はあまりありません。趣味で試行錯誤しているアマチュアが最先端を走っていても不思議ではありません。
創作物における凄腕ハッカーのイメージは、おそらくこうしたプロ顔負けの知識と技術を持ったハッカーが活躍した時代のものです。
セキュリティの概念すら確立されていない時代には、ハッカーはかなり好き放題にできました。
初期のころのセキュリティは、「手順通りに操作すれば変なことはできない」「プロトコルやフォーマットを公開していないから提供したプログラムを使わなければ何もできない」みたいな感じでやっていることが多々ありました。
素人の一般ユーザ相手にはこれでも十分だったのですが、ハッカーは「できそうなことは全部試し、分からないことは調べ尽くさないと気が済まない」性分の人間です。
ゲームの裏技を見つけ出すとか、セーブデータを改造してパラメータをいじくるとか、そんなノリで開発者の想定外をやってのけます。
システムの開発者はまずそのシステムで実現したい機能を正しく動作させる必要があります。
セキュリティに対する理解のなかった時代には、求める機能を実現するために直接関係しない部分に労力(=金)をかけることはなかなか認められません。
その点、興味本位で好き勝手に労力を投入できるハッカーの方が有利だったのです。
また、この時代、非正規のアクセスを行っただけでは犯罪にはなりませんでした。禁止する法律がなかったからです。
一部の技術者以外にセキュリティの意識がない状態で、不正アクセスを禁止する法律ができるはずがありません。
それに、不正アクセスは迷惑ですが、それによってハッカーが利益を得ることはほとんどありませんでした。
軍用の通信網として開発されたインターネット(の原形)が民間に転用された際に、最初に利用されたのは学術目的でした。
例えば、WWWと言う仕組みは、元々は論文や研究成果を共有するために作られたものです。
Webブラウザで画像を表示できるのは、論文に記載されたグラフや写真を表示するため。リンクをたどって別のページに遷移できるのは、関連する資料や関連する論文を参照するため。
研究者同士で情報を共有するため公開情報を格納したサーバに侵入したところで金にはなりません。
ついでに、昔は個人情報の価値も低めでした。
Webベースの電子掲示板が一般的になる前、インターネット上にはネットニュースと呼ばれるシステムがありました。
インターネットに接続した不特定多数の人間が読み書きするネットニュースなのですが、書き込まれた記事のシグネチャには本人の所属と実名が記載されていることが普通に行われていました。
今では考えられない風習ですが、不特定多数と言いつつほぼ研究者ばかりなので何処の誰の発言なのかを明確にしないと信用できなかったのかもしれません。
状況が変わったのは、一般のユーザがインターネットに接続するようになってからです。
主に大学、研究機関、一部企業のみが接続していたインターネットに、組織とは無関係な一般ユーザが参加するようになると、インターネットの商用利用が解禁されました。
ビジネスに使用されるということは、インターネットを経由してお金のやり取りが発生します。
つまり、不正アクセス・不正操作によって直接金銭的な被害が出るようになったということです。
逆に言えば、不正アクセスによって不当に金品を手に入れることが可能になったということです。
単なる興味本位で他所のシステムに侵入して迷惑をかける変人はごく少数でしょう。
しかし、それで安易に大金が手に入るとすれば、犯罪だとしても手を出してしまう人は一定数存在します。
不正アクセスを許せば、金銭的な被害を被るだけでなく、信用も失ってインターネットを使用したビジネスそのものができなくなります。
セキュリティの重要性が技術者以外にも広く認識されたのはこのころからでしょう。
日本で不正アクセス禁止法が施行されたのは2000年になります。
それ以前は、不正侵入されて顧客の個人情報やら企業秘密やらを盗み出されても実際の被害が出るまではなかなか刑事事件として扱えませんでしたが、以後は不正アクセスを受けた時点で刑事事件として捜査可能になりました。
また、「パスワードを盗んだけれど自分では使っていないから無罪」という言い訳も通用しなくなりました。
不正アクセスはそれ自体が犯罪。そのような認識が社会に広まったのです。
不正アクセスのリスクの大きさが認識されれば、セキュリティは技術者の注意事項から、システム必須の要件へと格上げされます。
要件になっているのだから、しっかりとセキュリティを考えてシステムを作るし、セキュリティホールがないか検証もします。
そうなると、優秀なハッカーであっても容易に侵入することはできなくなります。
セキュリティと言うものは、優秀な技術者が思い付いた対策を行えばそれでOKとはなりません。
全てのセキュリティホールを塞がなければ安心できません。少なくとも、既知のセキュリティホールが存在しないことを確認する必要があります。
念入りに、虱潰しに、網羅的に、淡々と全てのセキュリティーホールを潰していきます。
ハッカーに対しては、技術者の技術以前に、このもれなく全部対応するというのが最も効果があります。
ハッカーが自在にシステムに侵入できていた背景には、ありがちなセキュリティホールのパターンを知っているからと言う面があります。
セキュリティに力を入れていなかった時代には、よくやりがちなセキュリティホールの一つや二つ残っていても不思議はないから、知っているセキュリティホールを一つでも見つければ不正アクセスができることになります。
しかし、ありがちなセキュリティホールはハッカーだけでなく開発側の技術者だって知っています。
セキュリティに力を入れるようになれば、そうしたありがちなセキュリティホールから先に潰していきます。
結果として、ハッカーが使用していた主要な手口はほとんど使えなくなりました。
もちろん、既知のセキュリティホールを全て塞いでもまた新たなセキュリティホールが現れ、それらを潰してもまた別のセキュリティホールが見つかり、といたちごっこが繰り返されます。
しかし、そう都合よく新しいセキュリティホールが見つかるとは限りません。
新たなセキュリティホールを探し出す最先端に優れたハッカーが存在するであろうことは確かだとしても、知識と技術を持ったハッカーが簡単に見つけ出せるセキュリティホールならばセキュリティを施す側の技術者だって簡単に見つけて対策してしまうものです。
簡単には見つからないから未発見のセキュリティホールなのです。
そして、苦労して見つけたセキュリティホールも、知られれば塞がれます。
新しいセキュリティホールを見つけても、それを利用して不正アクセスを行えば、いずれは露見して対策される。
いたちごっこは、ハッカー側にも起こります。見つけ出した不正アクセスの手段も、長くは使えません。
結局、ハッカーにしても未発見のセキュリティホールを見つけた後の短い期間、あるいはうっかり一部のセキュリティホールを対処していなかったシステムを偶然見つけた等、限られた場合でのみ不正アクセスを成功させることができるのです。
どんなシステムにも自在に侵入できるハッカーと言うのは昔の話です。
時代が変わったのです。
そして、変わったのはハッカー側の状況だけではありません。
不正アクセスを行う者の顔ぶれと、目的が変わりました。
ハッカーはあくまでコンピュータマニアでしかありません。
技術と知識を持ったハッカーの中で、モラルが低い、あるいは好奇心が勝ってしまった一部の者が不正侵入に手を染めていました。
それは、相手に被害を与えることはあっても自身が金銭的な利益を得ることはほとんどない、愉快犯的な行為でした。
しかし、インターネット上のビジネスが急増したことで、不正アクセスにより直接金銭的な利益を得ることが可能になってしまいました。
すると、利益を得ることを目的に不正アクセスを行おうとする者が現れます。
金銭的な利益のために不正アクセスを行う者は、興味本位のハッカーとは別口で、その性質も異なります。
利益を出すことが目的なので、サーバを調べ尽くそうとはしません。利益につながらないことは積極的には行いません。
利益どころか何の意味があるのかも分からないようなことに興味本位で労力をかけまくるハッカーとは全く異なります。
趣味の人であるハッカーと区別するために、ネットワーク犯罪者に対して「クラッカー」と言う言葉も作られました。
しかし、あまり普及せずに不正アクセスを行う者のことを相変わらず「ハッカー」と呼ぶことも多いです。
創作物の中のハッカーは、趣味の人としてのハッカーに近いイメージの場合も多いですが。
純粋に利益を求めるだけのクラッカーは、コンピュータの仕組みなど技術的なことにそれほど興味は持ちません。
ハッカーからそのままクラッカーになった者もいるでしょうが、その多くは技術よりも金儲けでしょう。
インターネットを利用した犯罪は、労力とリスクが低めであることが特徴です。
インターネット以前は、企業や銀行等でコンピュータを使用していたとしてもネットワークに接続しないスタンドアロン、もしくは専用回線を使用していました。
そのシステムに侵入するためには、コンピュータか専用回線に物理的に接触する必要があります。
警備をかいくぐる必要もあるし、物理的に捕まる危険もあります。普通に人間相手に詐欺や窃盗を行った方が早いでしょう。
しかし、インターネットに接続されたサーバならば、ネットに接続されたパソコンさえあれば地球の裏側からだってアクセスできます。
初期コストがとても安上がりで、現地に行く手間もありません。
直接相手の前に姿を現さないので、捕まるリスクは下がります。少なくとも現行犯逮捕はありません。
なので、軽い気持ちでクラッカーを始める者がそれなりにいると考えられます。
手間がかからないからサイバー犯罪を選んだ者が、必要以上に知識や技術の研鑽をやりたがるとは思えません。
不正アクセスは単なる手段でしかなく、自分でセキュリティホールを見つけたり、セキュリティホールを利用する手法を自ら編み出すことも目的ではありません。
セキュリティホールを探す地味で大変な作業を進んでやりたいとは思わないでしょう。本当にあるかもわからず、見つけたとしても金になるとは限らないのです。
実際、ほとんどのクラッカーはセキュリティホール探しなんてやっていないでしょう。
自分で見つけ出す必要はないのです。
他人の見つけたセキュリティホールや不正アクセスの手法を利用すればよいのです。
セキュリティホールに関する情報は公開されているものが多くあります。
稼働している個別のシステム固有のセキュリティホールを公開することはまずありません。
しかし、OSとかミドルウェアとかオープンソースの部品とか、多くのシステムで利用されているソフトウエアに関しては、セキュリティホールの詳細が対処法とともに公開されています。
確認用のサンプルコード――つまり、セキュリティホールを利用するプログラムが公開されたこともあります。
不正アクセスの手法についても、有名な手法に対しては対策を忘れないようにと、セキュリティの勉強をすればいくつか紹介されます。
公開されているようなセキュリティホールや不正アクセスの手法なら、ほとんどのシステムで対策済みでしょうが、たまに対策されていないシステムがあれば不正アクセスが可能となります。
一般に公開されているセキュリティホールではなく、ハッカー崩れのクラッカーとかモラルの低いハッカーが見つけた新しいセキュリティホールの情報を買い取ったりすれば、さらに侵入できる可能性が高くなります。
そして、実際に不正アクセスを行う際に使用するのは何らかのツールです。手作業でなんてやってられません。
決まった手順をただ実行するだけならば、そのためのプログラムを作ることは難しくありません。天才的な頭脳もプロの技術も必要ありません。
別に自作しなくても、一般的なツールを流用できる場合もあるだろうし、おそらくアンダーグラウンドでは不正アクセス用のツールも出回っていることでしょう。
一度プログラムを作れば、あるいはツールを入手すれば、後は実行するだけです。
ツールの使い方さえ分かっていれば、技術も知識も必要ありません。
究極的には、知識も技術も持っていないど素人が、ツールとその使い方だけ与えられて不正アクセスを行う、などと言ったことが起こります。
このように、どこかから入手したツールとかスクリプトとかを技術的な理解も無いままにただ実行するだけの人のことを、『スクリプトキディ』と呼びます。
人の作ったスクリプトを使うしか能のないお子様、あるいは台本通りにしか動けない人と言った揶揄を込めた言葉です。
こうした技術も知識もない人は、新しいセキュリティホールを見つけたり、攻撃手段を開発したりと言ったことはしません。
しかし、技術も知識も必要としない分、だれでも――それこそ子供でも――不正アクセスを試みることができてしまいます。
モラルに欠けるハッカーよりも、モラルに欠ける一般人の方が圧倒的に多数なのです。
その数が脅威となります。
いえ、完璧なセキュリティが数の暴力で突破されるという話ではなく。
インターネット上には世界中の数多くのシステムが接続されています。
その全てのシステムが常に完璧なセキュリティを維持しているはずはありません。
うっかりミスで混入したセキュリティホールがチェックをすり抜けて残っているかもしれません。
サービス開始時には既知のセキュリティホールを全て塞いでいても、新しく発見されたセキュリティホールへの対応が終わっていないかもしれません。
システムをメンテナンスした際に、うっかりミスでセキュリティに大穴を開けてしまうことがあるかもしれません。
セキュリティは「だいたい大丈夫」では安心できません。一か所でも穴があれば、一時的にでも無防備になれば、そこから侵入される危険があります。
大勢の人が、様々なシステムに攻撃を試みていれば、その大部分は無駄撃ちになったとしても、どこかで誰かが侵入に成功してしまう可能性は高いのです。
結局、今の世の中の不正アクセスは、狙ったシステムに好き勝手に侵入するのではなく、たまたま侵入する隙のあるシステムを見つけてアクセスしているだけなのです。
その点については、天才ハッカーだろうとスクリプトキディだろうと同じです。
今のセキュリティはインフラの一部です。どれほどの天才でも一人でどうこうできるものではありません。
セキュリティを確保するために必要なことは網羅性であり、部分的に強固なセキュリティを施しても他の部分に穴が開いていたら意味がありません。
天才的な技術者がセキュリティに関して「すごい手法を思いついた」としても、それだけでシステム全体の安全性が大きく向上することはまずありません。
必要なことは、既知のセキュリティホール、セキュリティホールを生み出すパターンを全て洗い出し、チェックすること。
そのためには、一人の天才にすべてを任せるのではなく、組織的なチェック体制が重要になります。
不正アクセスを行う側も似たようなもので、どれほどの凄腕ハッカーであってもセキュリティホールの存在しないシステムに侵入することはできません。
ただ、今のシステムは複雑で規模が大きく、絶対にセキュリティホールが存在しないと言い切ることはできません。
それでも、簡単に思い付くものや単純なチェックで見つかるようなセキュリティホールはだいたい塞がれています。
システムの開発や運用のミスを突く行為なので、最初のとっかかりだけは相手側に依存し、天才ハッカーであっても自分でコントロールできない部分です。
システムのセキュリティホールを見つけるためには、とにかく様々なパターンを試すしかありません。それは、素人でも天才ハッカーでも関係ありません。
優秀なハッカーならば、セキュリティホールの検出にもツールを作って様々なパターンを自動で試すでしょうが、一度作成したツールを使用するだけならば素人――スクリプトキディでも十分に可能です。
つまり、世界のどこかにあるセキュリティホールを抱えたシステムを探すには、一人の天才ハッカーよりも百人のスクリプトキディで行った方が早いのです。
結局のところ、今のセキュリティは天才対天才の頭脳戦ではなく、組織対集団の争いなのです。
天才ハッカーに夢を見てはいけません。
セキュリティの意識が高まった昨今、不正アクセスの成功率は高いものではありません。
ネットワークにつながったパソコンが一台とツールを入手できれば簡単に行うことのできる不正アクセスですが、それが成功するかどうかは運任せです。
たまに不正アクセスによって被害を受けたとか個人情報が流出したといったニュースが流れることがありますが、ニュースになるくらいに頻度は少ないのです。
そして、実際に被害が出たようなセキュリティホールは優先的に塞がれて行くので、同じツールを使っていても成功率は下がっていきます。
つまり、攻撃側のツールもアップデートを続けなければ成功率は下がり続けます。
不正アクセスで稼ぐこともそうそう簡単なことではないのです。
しかし、手法が知られてもなかなかふさがらないセキュリティホールも存在します。
それは、システムを操作する人間です。
システム的にいくら不正な操作を排除したとしても、正規の権限を持った人間が騙されて問題のある操作をしてしまったらそれまでです。
フィッシング詐欺メールとか、マルウェアを送り付けてきたり、テクニカルサポート詐欺等も存在します。
技術者とかオペレータとか仕事で使用している人ならば注意を徹底することもできるでしょうが、サービスを受ける側の一般ユーザとなると、注意喚起以上のことはなかなかできません。
それに、分かっていてもついうっかりでミスしてしまうのが人間です。
手口がばれても、何度でも使えます。
何年も前と似たような文面の詐欺メールも珍しくありません。
知識も技術もないような人の多くは、不正アクセスよりもフィッシング詐欺の方に流れているのではないかと思うのです。
詐欺メールの内容にも日本語としておかしいものも相変わらず多いですし、ツールの使い方を間違っていそうなものもよく見ます。
それでもたまに引っかかる人がいるから、送り続けてくるのでしょう。
基本的に、コンピュータシステムに対しては、一度失敗した攻撃を何度繰り返しても成功しません。
しかし、人間相手ならば、ついうっかりで最初は無視した詐欺に引っかかることもあり得ます。
「そんなものに引っかかるはずがない」と思っている人でも、たまたま心当たりのある状況でそれっぽいメールが来たら、思わずクリックしてしまうことがないとは言い切れないでしょう。
また、新しくコンピュータシステムを作る場合は、既知のセキュリティホールや攻撃手法に対しては必ず対処するものです。
「今時そんな古典的な攻撃をしてくる奴はいないから対策は不要」などと言うことにはなりません。そんなことを言う人がいたら、セキュリティの担当から外してください。
一方、人間の場合は、新たに情報機器を扱うようになった人が最初からセキュリティ意識を持っているとは限りません。
デジタルネイティブ世代であっても、ネット上の嘘を見破ることができるわけではありません。
学校で、ネットリテラシー教育の一環としてフィッシング詐欺等から身を守る方法を教えても、試験が終わったら忘れる人間は一定数いることでしょう。
結局最後まで残るセキュリティーホールは、人間自身なのです。




