Weakness of CGI - Identifier

Web posted at 12th/March/2001

back to home

CGIシステムは今や掲示板やチャットといった多くのWebコンテンツの 基盤技術となっておりますが、時にこれらのシステムに対して 嫌がらせ行為、特に大量の書き込みやシステムの破壊などを 行う心無い者の存在によってCGIはいろいろな弱さを見せます。

かれこれCGIプログラムをいじりはじめて2年になろうかということろですが、 やはり様々な問題があります。 まずもっとも根幹的な問題としてCGIでつくられた掲示板やチャットなどの システムはその多くが誰からでもアクセスできるという点です。

パスワードをかけるなどして会員制にしている場合にはシステムが 攻撃を受けたとしても、なんとかできる場合が多いのですが、 パスワード認証もなく簡単に誰でも利用できるようなシステムである場合、 多くのシステムではユーザ識別のためにCGI環境変数を利用しています。

ユーザ識別によく利用される環境変数: REMOTE_HOST, REMOTE_ADDR, HTTP_VIA, ...

これらの情報は詳しく述べませんが様々な方法で改竄することが可能です。 このため、ちょっと知識のある人からの攻撃の場合、ユーザ識別がうまく 行えないという問題点があります。

インターネットで交換されているTCP/IPデータというのは様々な方法で 改竄の危険性にさらされています。 高度な暗号技術を応用した改竄チェックや通信の暗号化を行わない場合、 そのデータが正しいのかどうか、また改竄されていないものなのかわかりません。 また暗号技術を駆使してインターネット中継中に改竄されていないとしても、 発信元においてすでに攻撃意図のあるデータに改竄された場合でも同様の 危険性が危惧されます。

以上から次のTheseを導きました。

These: 受け取るデータの内容は信用できないものであると考えるべき。 ユーザ識別は環境変数などに頼らないこと。

Copyright (c) 2001 ftw