Webアプリケーションが危ない!

弊社では新規開発だけでなく、社内担当者が辞めてしまったなどでメンテナンスできなくなってしまったソフトの修正や機能アップを依頼されることもある。そのなかには、時限爆弾をかかえたプログラムが多く見受けられる。

いくつかの例をみていると、直接的な問題とその奥にある大きな問題に気がつく。ホームページの発展は、善人だけの集団内での使用が始まりであった。(論文交換の手段)一般の人が使用するにつれ、悪意をもった利用者に対処する必要が出てきた。同様に、サイトのプログラムもいつも正しく使われると考えるのは、もう、危険である。

まずは、よくあるウェブアプリケーションの問題をあげてみる。

・問いあわせや申込プログラムが迷惑メールに使われてしまう。

これはプログラムが迷惑メール送信システムに乗っ取られているケースが多く、申込に確認ステップや認証を入れることで防ぐことができる。

ブログのコメントスパム(迷惑コメント)も同様の原理で、機械的にプログラムが書込を行っている。

・ 入力のチェックが甘い

クロスサイトスクリプティングやSQLインジェクションとよばれる攻撃を受けることになる。簡単に説明すると、入力欄にコンピュータを制御する命令をタイプして、その命令を実行させる。これは、入力時にそのような可能性のある文字を排除すればよい。

いずれも、対応を検討していれば、対処する箇所の多さや複雑さはあるものの、防げる問題ではある。しかし、実際には配慮がなく、目的の動作さえすればよいという安易な仕様の為に、生じた問題である。

これは、ホームページをデザインしていた人が、JavaScriptなどのプログラムも扱うようになっていく過程で、画像などと同じように、公開されているプログラムを設置すれば、よいと勘違いしているためではないだろうか。

ホームページデザインで使用されるHTML言語は、画面表示をかえるので、広い意味ではプログラムと考えられるが、一般的なプログラムとは違う。HTMLには判定による分岐や代入などがなく、入力によって結果が変わることはない。(入力で表示は変えられると思っている方は要注意。知らないうちに、HTML以外のプログラムを使っています。)

どのような入力によって、どのような結果が起きるか想像する能力とその結果が悪用された事例についての知識がないと、海外の犯罪多発地区に無知な観光客が訪れる様なことになってしまいます。サイトの場合は、被害者や加害者でなく、知らない間にその共犯者になってしまうことがあります。

サイトに設置されたプログラムについては、改めて専門家による確認をしてもらって下さい。

参考記事:

http://itpro.nikkeibp.co.jp/article/COLUMN/20071130/288483/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA