セッションポイズニング
From Wikipedia, the free encyclopedia
セッションポイズニング(Session poisoning、別名:「セッションデータ汚染(session data pollution)」、「セッション改変(session modification)」)は、サーバーアプリケーション内の不十分な入力検証を悪用する手法である。通常、この種のエクスプロイトに対して脆弱なサーバーアプリケーションは、ユーザー入力をセッション変数にコピーしてしまう。セッション情報をクッキーに保存している場合、クッキーポイズニング(Cookie Poisoning)とも呼ばれる。
この脆弱性の根本は、状態管理の問題に起因する。それは、共有状態、競合状態、使用上の曖昧さ、あるいは状態値に対する保護されていない単純な変更などである。
セッションポイズニングは、悪意のない異なるアプリケーション(スクリプト)が同じセッション状態を共有しているものの、使用方法が異なるため曖昧さや競合状態を引き起こすようなサーバー環境において実証されている。
また、攻撃者と被害者がウェブホストを共有している場合(共用レンタルサーバーなど)のように、攻撃者がサーバー環境内に悪意のあるスクリプトを配置できるようなシナリオでも実証されている。
セッションポイズニングは、セキュリティメーリングリストである「Full Disclosure」において、未知の新しい脆弱性として初めて議論された[1]。2006年1月、Alla Bezroutchkoは「Webアプリケーションにおけるセッションデータ汚染の脆弱性」が新しい問題なのかと問いかけた。しかし、これは以前に他者によって指摘されていた既知の脆弱性であった。Yvan Boilyは「これは既知の状態管理の問題である」とし[2]、/someoneは「これは新しいものではない」と述べている[3]。
これらの脆弱性の初期の例は、Bugtraqなどの主要なセキュリティリソースやアーカイブで見つけることができる。
- 2001年7月、reverseonline.comのIsmael Peinado PalomoによるMambo Site Serverバージョン3.0.Xの深刻なセキュリティホール[4]
- 2005年9月、unknown(uw-team)およびadam_iによるPHPセッションの改変[5]
セッション汚染は、2007年のPrzemek Sobstelによる「PHP Session Security」などの記事でも取り上げられている。[6]