この特集では主にWebアプリを使ったサイトについて、クラッカの攻撃の手口、そして、ユーザ ーの自衛の方法についてまとめています。
「プロローグ 気が利くサイトほど攻撃されやすい」
ここで言う気が利くサイトというのは、「アクセスしてきたユーザーを識別して専用のWebページを表示したり、ユーザーが入力した情報を受け付けて処理したりする、『Webアプリ』を使ったサイト」のことです。
Webアプリを使った動的なサイトは、
1.Webプラウザから受け取ったパラメータをWebアプリに渡す
↓
2.Webアプリは受け取ったパラメータを基にデータベースにアクセス
↓
3.データベースのアクセス結果をWebアプリが受け取る
↓
4.WebアプリがWebプラウザの表示形式(html)に整形し、Webプラウザに送る
という流れでページを表示しています。
「レクチャー1 ケースから攻撃のやり口を理解する」
ここでは、クラッカによる、実際のWebアプリへの攻撃の手法を4つ、紹介しています。
[SQLインジェクション]
多くのWebアプリはデータベースにアクセスする時、SQLという言語に従ったSQLコマンドを使っています。クラッカは、上の1の「Webプラウザから受け取ったパラメータをWebアプリに渡す」手順のところでSQLコマンドを入力することで、データベースを直接操作する攻撃をします。
[クロスサイト・リクエスト・フォージェリ]
会員制日記サイトなどにログイン中のユーザーが、クラッカが用意したスクリプトを含むWebページにアクセスしてそのページをダウンロードしてしまうと、そのスクリプトが会員制サイトに勝手に日記を書き込んでしまいます。
[クロスサイト・スクリプティング]
クラッカが用意したスクリプトを含むWebページにユーザーがアクセスしてそのページをダウンロードしてしまうと、ダウンロードされたスクリプトが標的のWebアプリの動作しているサイトにスクリプトを送ってしまいます。標的サイトからスクリプトの付いたWebページが戻ってくると、ユーザーのパソコンが持っている、セッションIDを含むCookieの情報をクラッカに送ります。クラッカはこの情報を使って正規ユーザーになりすまして標的サイトに不正にアクセスできてしまいます。
[強制ブラウジング]
URLを少しずつ変えながら標的サイトにアクセスすることで、Webサイトにリンクされていないファイルにアクセスしてしまう手口です。
「レクチャー2 Webサイトの現状を知る」
ここでは、Webサイトのセキュリティ対策について説明しています。
Webアプリのセキュリティの確保は、Webアプリのプログラマの技量に任せられており、プログラマすべてが十分なセキュリティ知識を備えているとは限りません。
また、Webサイト運営者はIT技術の専門家でないことも多く、セキュリティ対策の必要性をそれほど感じていない場合もあります。
.それでは、ユーザーはどうしたらよいのでしょうか?
Webサイトのセッション管理に問題がないかどうかはユーザーからは3つの方法でチェックできます。
1.Webプラウザの右下の鍵マークを確認する。
2.別の種類のWebプラウザを立ち上げて、ログイン中の片方のWebプラウザからほかのプラウザにURLをコピーして同じ画面が表示されないことを確認する。
3.Webアクセスのときに送られてくるCookieファイルをテキストエディタで開いてみて、ユーザーIDやパスワードなどがそのまま読み取れる状態で書かれていないかどうかを確認する。
けれども、セッション管理以外のセキュリティをユーザーがチェックすることは困難です。
最後に、この特集ではユーザーは、「OSやソフトにセキュリティ・パッチを当て、カードや口座の取引履歴をチェックするなどの当たり前の習慣が、結局は実害を避ける近道になる。」と結んでいます。
インターネットで様々なサービスが利用できるようになってきましたが、Webアプリを使ったサイトの一層のセキュリティ対策の必要性を感じました。(Mikko)
※Mikkoさん、ありがとうございます。最近は、ほんとにWebサイトを狙った攻撃での個人情報の流出が多いですね。Webサイトの管理者だけでなく、インターネットユーザ全員がセキュリティを意識することも大事ですね。(Gene)
日経NETWORKの詳細、購読申し込みはこちら↓