CodeZine(コードジン)

特集ページ一覧

[PHPプロ!] open_basedirに対する混乱

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2007/02/19 11:40

Stefan Esser氏が自身のブログ[PHP Security Blog]で、open_basedirの欠陥を指摘しつつも、その有効性を説明しています。

 Stefan Esser氏が自身のブログ[PHP Security Blog]で、open_basedirの欠陥を指摘しつつも、その有効性を説明しています。

 確かに、open_basedirには設計上の欠陥があり、シンボリックリンクを作成することで、opne_basedir制限を容易く回避できます(詳しくはAdvisory 08/2006: PHP open_basedir Race Condition Vulnerabilityを参照して下さい)。

 それでも、open_basedirを用いるべきであると筆者は主張しています。特に、インクルード攻撃に対して有効な対応策となるのです。

 彼は、ブログで以下のように述べています。

 リモートファイルのインクルードに対しては、 PHPアプリケーションの安全な運用を目的としたプロジェクト(Suhosinなど)が有効に働きます。しかし、ログファイルや、POSTでアップロードされたテンポラリファイルなど、ローカルファイルをインクルードする攻撃に対し、それらは有効ではありません。特に、テンポラリファイル名を生成する部分に脆弱性があるシステムでは、深刻な問題となります。

 この攻撃に対し、open_basedir制限は非常に強力な盾となります。もしインクルードさせたいファイル名をリモート攻撃者が埋め込んでいたとしても、open_basedir制限を回避できません(※)。それゆえに、ローカルファイル・インクルード脆弱性を突けるファイル数は限定されます。また、open_basedirが適切に設定されていれば、ログファイルなどをインクルードできません。結果、攻撃の危険度は大幅に下がります。

 ※ただし、リモートからopen_basedir制限を回避できるセキュリティ・ホールがpack関数にあります。(PHPプロ!

関連リンク

関連ニュース

転載元

 PHPプロ!:最新のPHPニュース

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
All contents copyright © 2005-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5