★不正アクセスにどう対応するか

 不正アクセスに対してはどのように対応すればよいのか。

 前回の不正アクセスとはなにかのところで、「最低限の対応」と書きましたが、それはいったいどういうものかについて書いていきたいと思います。

 情報システム管理者の立場から考えます。
 まず、情報システム管理者が情報システムを立ち上げる時には、ハードウェアとソフトウェアの両方を調達します。このときに関わる人としては、大雑把に、ハードウェアそのものの設計者や製造者、ハードウェア構成を設計するシステムエンジニア、ソフトウェアを設計するシステムエンジニア、ソフトウェアを製造するプログラマーです。
 この中で一番スキルが低そうな人は誰でしょう。

 プログラマーさんです。
(ごめんなさい。あなたのことではありません。一般論です。)

 セキュリティホールはシステムの脆弱な部分です。システムを作るときの脆弱な部分はここに発生しやすいと言ってよいと思います。乱暴な論理かもしれませんが、ハードウェアは大手メーカーで作られているのがほとんどであり、その設計者や製造者がスキルが低いとは思えません。そして、もし低いとしても手が届きません。

 とにかく、「最低限の対応」とは、この部分の信頼性をチェックすることとなります。
 この先は技術的なややこしい話になります。Web上にいくらでも情報はありますので割愛しますが、ソフトウェア的な不正アクセスへの対応については、フレームワークを活用することである程度は防ぐことができます。簡単にいうとフレームワーク上でPOSTGETに対しサニタイジングをしてくれたりなどです。しかしながら、特殊なケースでは自動では対応してくれないのでプログラマーが意識して不正アクセスに対するライブラリをプログラム上で使うことが求められることがほとんどです。

 信頼できない場合は、Webアプリケーションファイヤウォールの設置をお勧めします。最近は価格がかなり下がってきているようです。ちなみに、Webアプリケーションファイヤウォールは、一般的なファイヤウォールとは異なります。一般的なファイヤウォールやIDS、IPSなどは、アプリケーション的には効果がありません。

 そして、個人情報や企業の機密事項は必ずアプリケーションの上でコントロールされるものだということを認識する必要があります。OracleやMSSQLのDBサーバの脆弱性を語る前に、するべきことなのです。

不正アクセスとはなにか

 今年のゴールデンウィークに報道された、ソニーのプレステ不正アクセス事件は記憶に新しいです。7000万人を超える?個人情報が流出した事件です。内部とも外部とも言われていますが、どちらにしても、ユーザーアカウントの漏えいから発生しているということです。ソニーは直ちにハードウェア、ソフトウェアおよび運用の3方面からのセキュリティ強化策を行うことを発表しています。

 不正アクセスには、それを禁じる法律があります。そのまま、「不正アクセス禁止法」です。その中では、第3条に禁止されている行為が規定されています。
https://www.ipa.go.jp/security/ciadr/law199908.html

 そもそも不正アクセスは誰がやるのかについては、ハッカーとかクラッカーとか呼ぶ、外部の人を基本的に想定しています。しかし、実際の例では内部の人間が多いようです。情報漏洩事件についても、外部に渡ったきっかけは内部の人間の手助けによるものという事件が多いです。7月初めころのソフトバンクの電波の事件は内部の人間の犯行です。(犯行と言っていいんですよね。タイホされたのだから。)

 どんな手口が多いのかについては、相変わらずSQLインジェクションが多いようですね。もう、10年前の話のような気もしますが。

この不正アクセスをされると、以下の困りごとが発生します。
・サービスが使えなくなる
・データが盗まれる
  ・会社の機密情報を盗まれる
  ・個人情報が漏えいする
・データが壊される
・アカウント(個人ID)を他人に使われる
  ・ネットでいろいろなものを買わされる

 ですから、コンピュータシステムは防御策を施す必要があります。それは、ハードウェア、ソフトウェア、運用の3方面から行う必要があります。

 ハッカーという言葉がありますが、これは悪い意味ではありません。ハッカーという言葉は、通信関係の専門家という意味合いがあるそうです。悪いことする人は、「クラッカー」と呼びます。クラッカーに狙われると、とてもじゃないが普通は防御できないと言われています。国を代表するようなプロフェッショナルじゃないと対応できないそうです。

 それなら防御策を講じてもしょうがないじゃないか、と思うかもしれませんが、クラッカーはある特定の価値あるサーバーを狙い、あなたのサーバーなんか狙いません。外部の不正アクセスのほとんどは、「スクリプトキディー」と呼ばれる、そんなに対したことのない、普通の人達の手によるものなのです。

 私も、スクリプトキディーだった時があります。何をするかというと、あまり言ってはいけないのかもしれませんが、世の中には色々なクラッキングツールが落ちており、これを興味半分で使ってクラッカーのまねごとをするのです。ソフトウェアアーキテクチャやネットワークの基礎を勉強している人なら割と誰でも使えると思います。

 とにもかくにも、そういったツールを使って安易にクラッキングを仕掛ける人たち向けに最低限の防御策を講じることは必ず必要です。
 特に、サーバー上に個人情報や会社の機密情報を保持する場合は、絶対に必要です。いまやクラウドの時代、データがどこに保存されているのか分からないながら、情報セキュリティ担当はベンダー任せにしないで管理出来るようにする必要があります。