個人的なメモと備忘録 2004年 3月

HOME | LastUpdate: 2004-04-04

目次


2004.03.28(Sun)

いくつかのサイトで coLinux が紹介されていたので、試しに Windows 2000 環境にインストールしてみました。思ったよりも簡単に Debian が起動しました。起動したウインドウからの操作では、vi を起動してもカーソルが表示されないなど、非常に不便だったのですが、ssh を起動してからログインするとかなり便利に使えるようになりました。Cygwin などと一緒に共用すると便利なテスト環境になりそうです。

>>PHP 4.3.5 公開

PHP 4.3.5 が公開されました(PHP 4.3.5 Release Announcement)。PHP 4.3.4 からの変更点などは、PHP 4 ChangeLog にあります。Apache 上でバーチャルホストを構築している場合に情報が漏洩する問題(Bug #25753 php_value|flag / php_admin_* settings "leak" from vhosts/.htaccess files)などのセキュリティ修正も含まれています(この問題については、ほとんどの Linux ディストリビューションなどで既に修正パッケージが出ています)。ソースから PHP をインストールしている場合、可能であれば、バージョンアップすることが推奨されています。

Release Announcement の日本訳と、PHP 4 ChangeLog の日本語訳についての情報が PHP-users メーリングリストに投稿されていましたので、こちらも参考にしてください([PHP-users 21010] PHP 4.3.5 Release Announcemen

PHP 4.3.5RC4 からの変更点についてですが、バージョン表記の変更が行われたくらいで、特に修正はないそうです(Re: [PHP-DEV] Re: PHP 4.3.5 Released)。

>>セキュリティ関係

*Norton Internet Security/Norton AntiSpam

Symantec から、Symantec Norton Internet Security/Norton AntiSpam にリモートアクセスの脆弱性という情報が公開されています。

外部からの入力データの境界チェックを適切に行わない ActiveX コンポーネントが含まれており、攻撃者がこの問題を悪用した場合、システム上のアプリケーションを勝手に起動されたり、任意のコードを実行される可能性があるそうです。

修正パッチは開発中で、予定では Symantec Norton Internet Security 2004/Professional for Windows が 4月 2日(金)、Symantec Norton AntiSpam 2004 が 4月14日に提供されるそうです。

(2004.04.04 追記)

2004年3月30日から LiveUpdate による Symantec Norton Internet Security 2004/Professional for Windows の修正パッチの配布が開始されたそうです。Symantec Norton Internet Security/Norton AntiSpam にリモートアクセスの脆弱性を参照してください。

セキュリティホール memo にこの件に関する詳しいまとめがあります(Symantec Norton Internet Securityに任意のコードが実行できる脆弱性)。

*Ethereal

ネットワーク分析ツールの Ethereal の 0.8.13 から 0.10.2 までのバージョンに、プロトコル解析部分にセキュリティ問題が見つかり、Security Advisory が出ています(Ethereal: enpa-sa-00013)。この問題により、Ethereal をクラッシュさせたり、任意のコードを実行させることがことが可能とされており、危険度は高いようです。

Ethereal 0.10.3 が公開されましたので、バージョンアップすることが推奨されています。

*Gentoo Linux
*その他

>>気になったニュース、ツールなど

▲ 目次へ戻る


2004.03.22(Mon)

OpenSSL と Apache 2.0.x のバージョンが上がっています。セキュリティ問題の修正が含まれていますので、早い目にバージョンアップを行うなどの対処を行った方が安全です。特に OpenSSL は影響を受ける範囲も大きいようですので、使用している OS やツールなどの確認を行って下さい。

先週に書いた、Multiple Browser Cookie Path Directory Traversal Vulnerability に関する補足です。

セキュリティホール memo メーリングリスト に非常に参考になる投稿がありました([memo:7373] Cookie Path Directory Traversal Vulnerability(ユーザ名とパスワードが要求されますが、ポップアップするウインドウに入力するユーザ名とパスワードが書かれています))。

このメールで Javascript による Cookie へのアクセスが Path では制限できないことが指摘され、ブラウザでこのバグが修正されたとしても、Cookie の Path 制限に関する問題がなくなる訳ではないということが述べられています。Javascript で、Cookie の Path 制限を回避して Cookie にアクセスする方法も例示されています。

また、2001年11月に、この Cookie の Path 制限を回避できてしまう Javascript のセキュリティドメインの仕様についても指摘されていたそうです。([memo:2016] クロスサイトスクリプティングとcookieの有効path)。Cookie の有効 Path についての説明もありますので、読んでおくと良いと思います。

RFC 2965 については以下を参考にしてください。

また、RedHat Linux では、この件を含めたいくつかのセキュリティ修正が行われた Mozilla 1.4.2 の修正パッケージを公開したようです。(Updated Mozilla packages fix security issues)。

>>PHP 4.3.5RC4, PHP 5 RC1 公開

PHP 4.3.5RC4PHP 5 RC1 が公開されたようです。

PHP 4.3.5RC4 は、PHP 4.3.5 のリリース候補で、PHP 4.3.x の最終リリースになる予定だそうです。PHP 4.3.5RC3 から修正された内容については、CVS の NEWS にあります。

PHP 5 beta 4 からの修正点や変更点については、PHP 5 ChangeLog を参照してください。また、PHP 5 から採用される Zend Engine 2 についての説明が Changes in PHP 5/Zend Engine 2.0 にあります。

PHP マニュアルには、PHP 4.x から PHP 5 への移行に関しての説明が既に日本語訳になっているようです(PHP 4 から PHP 5への移行)。下位互換性のない変更点や、設定ファイルの移行については読んでおいた方が良いと思います。

>>セキュリティ関係

*OpenSSL

OpenSSL から、OpenSSL Security Advisory [17 March 2004] が出ています。以下の 2つの問題が見つかったそうです。

  • OpenSSL 0.9.6c から 0.9.6l と OpenSSL 0.9.7a から 0.9.7c で、do_change_cipher_spec() 関数が Null ポインタを 割り当ててしまう問題があったそうです。 この問題により、外部の攻撃者が OpenSSL ライブラリを使用しているサーバに対して、細工された SSL/TLS ハンドシェイクを行うと、 OpenSSL がクラッシュするようです。これにより、サービス拒否攻撃が可能になるそうです。
  • OpenSSL 0.9.7a から 0.9.7c の Kerberos ciphersuites を使用した SSL/TLS handshake を行うコードに問題があることがあった そうです。この問題により、外部の攻撃者が Kerberos ciphersuites を使った SSL/TLS ハンドシェイクを行うと、 OpenSSL をクラッシュさせることができるそうです。

これらの問題で、サービス拒否攻撃が可能になるとされています。問題が修正された OpenSSL 0.9.6m と OpenSSL 0.9.7d が公開され、アップデートすることが推奨されています。また、多くの Linux ディストリビューションや、BSD 系の OS では、既に修正パッケージや、Security Advisory が出ていますので、アップデートを行ってください。

この問題に関連して、多くの情報が出ています。

*Apache

Apache 2.0.49 が公開されています。以下の 3つのセキュリティ問題が修正されているそうです。

  • AIX や、Solaris、Tru64 などのプラットフォームで、複数の LISTEN のためのソケットを使用している場合、サービス拒否攻撃が可能になってしまう問題。 FreeBSD や Linux ではこの問題の影響を受けないそうです。
  • クライアントが送った任意の文字列がエスケープされずに errorlog に書き出されてしまうため、errorlog を開くターミナルエミュレータに 対するエスケープシーケンスを利用した攻撃が可能になってしまう問題。
  • 外部から mod_ssl に存在するメモリリークを引き起こすことが可能なため、サービス拒否攻撃を許してしまう問題。

Apache 2.0.49 Announcement と、Changes with Apache 2.0.49 も参照してください。

*Windows

いくつか参考になりそうな情報が出ています。

*Gentoo Linux
*その他

>>気になったニュース、ツールなど

▲ 目次へ戻る


2004.03.14(Sun)

Microsoft から、修正プログラムが公開されています。Outlook 2002 を使用している場合は、アップデートを行った方が良いと思います。また、ウイルスなども多く出回っているようですので注意してください。

PHP でアンテナのようなものを作成してみました(wwwcheck.php)。全くドキュメントがありませんし、まだまだ問題やバグも多いと思いますが、個人的なバックアップとして公開しておきます。時間があれば、ドキュメントを書いていきます。

以下のサイトで、別の Path に設定された Cookie が読み取れてしまうという問題について報告されていました。

最初は何が問題なのか良くわからなかったのですが、調べてみるといろいろと分かりましたので、PHP でサンプルスクリプトを作成して検証してみました。

この問題は、Mozilla 1.4.1 以降、Opera 7.20 beta 7、KDE/Konqueror 3.1.4 以降のブラウザで修正されているという情報がありますが、Internet Explorer 5/6 や、Netscape 7.1 などでは、修正されていないようです。

特に問題となるのは、一つのドメイン名を複数のユーザが共用する CGI サーバで、セッション情報などの重要な情報を Cookie で扱っている場合です。掲示板などを利用して、%2e%2e が含まれたリンクを設置し、Cookie を読み取る CGI スクリプトをユーザに実行させることで別の Path 設定が行われている Cookie 情報を取得することが可能になります。場合によっては、セッションハイジャックなども可能だと思います。

検証方法としては、まず、以下の Web サーバの Document Root に user1 と user2 というディレクトリを作成して、http://[ホスト名]/user1/http://[ホスト名]/user2/ という形式でアクセスできるように /user1/index.php と /user2/index.phpを作成します。

検証の際には、ブラウザの設定で、Cookie 情報をダイアログに表示させるようにすると分かりやすいと思います。また、PHP の setcookie() 関数については、PHP マニュアル : setcookie に詳細な説明があります。

/user1/index.php

<?php
// Cookie に Name:user1, Content:test1, Path:/user1/ を設定
setcookie( 'user1', 'test1', time() + 3600, '/user1/' );
echo "<pre>";
echo $_SERVER['REQUEST_URI'] . "\n";  // ブラウザからのリクエスト URI を表示
echo $_SERVER['PHP_SELF'] . "\n";     // Web サーバが実際に実行した PHP スクリプトを表示
echo "user1:" . ( isset( $_COOKIE['user1'] ) ? $_COOKIE['user1'] : '' ) . "\n";
echo "user2:" . ( isset( $_COOKIE['user2'] ) ? $_COOKIE['user2'] : '' ) . "\n";
echo "</pre>";
?>

Web ブラウザから、http://[ホスト名]/user1/ にアクセスします。Cookie による変数は初回アクセスでは設定されませんので、2回目以降にアクセスすると以下のような表示になります。

/user1/             <-- /user1/ にブラウザからアクセス
/user1/index.php    <-- Web サーバでは、/user1/index.php が実行されています
user1:test1         <-- Cookie Name の user1 に test1 という値が設定されました
user2:              <-- user2 は設定されていないので、表示されません

/user2/index.php

<?php
// Cookie に Name:user2, Content:test2, Path:/user2/ を設定
setcookie( 'user2', 'test2', time() + 3600, '/user2/' );
echo "<pre>";
echo $_SERVER['REQUEST_URI'] . "\n";
echo $_SERVER['PHP_SELF'] . "\n";
echo "user1:" . ( isset( $_COOKIE['user1'] ) ? $_COOKIE['user1'] : '' ) . "\n";
echo "user2:" . ( isset( $_COOKIE['user2'] ) ? $_COOKIE['user2'] : '' ) . "\n";
echo "</pre>";
?>

同様にスクリプトを作成し、2回アクセスすると、以下のように表示されます。user1 の部分は、Cookie の Path が違うため、表示されません。

/user2/            <-- /user2/ にブラウザからアクセス
/user2/index.php   <-- Web サーバでは、/user2/index.php が実行されています
user1:             <-- user1 の Cookie の値が表示されないことを確認してください
user2:test2        <-- Cookie Name の user2 に test2 という値が設定されました

次に、http://[ホスト名]/user1/%2e%2e/user2/ に Web ブラウザでアクセスします。%2e%2e は、上位のディレクトリを表す、「..」 と同じですので、実際には、http://[ホスト名]/user2/ にアクセスすることになります。Mozilla 1.4.1 以降など、Cookie Path Directory Traversal の問題が修正されたブラウザでは、以下のように、http://[ホスト名]/user2/ と同様の結果になります。

/user2/
/user2/index.php
user1:
user2:test2

Internet Explorer 6 や、Mozilla 1.4 以下など、Cookie Path Directory Traversal の問題が存在する場合、以下のように表示されます。本来は、/user2/ にアクセスしていますので、ブラウザからは、user2 の Cookie が送信されるはずなのですが、user1 の Cookie が送信されています。つまり、/user2/ のディレクトリで、/user1/ で設定された Cookie を受け取れることになります。

/user1/%2e%2e/user2/  <-- ブラウザからのアクセス
/user2/index.php      <-- 実際には、/user2/index.php が実行されています
user1:test1           <-- Web サーバでは、user1 の Cookie を受け取っています
user2:                <-- /user2/index.php では、user2 の値は受け取れていません

この時の Internet Explorer 6 SP1(最新の修正プログラム適用済み) でアクセスしたときのリクエストヘッダを取得すると、以下のようになっていました。user1=test1 という Cookie が送信されていることが分かります。

GET /user1/%2e%2e/user2/ HTTP/1.1
Accept: */*
Accept-Language: ja
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
Host: 192.168.0.100
Connection: Keep-Alive
Cookie: user1=test1

ユーザがこの問題は回避する方法としては、問題が既に修正されているブラウザ(Mozilla や Opera の最新版など)を使用するというのが一番良いと思います。多くのユーザが使用している Internet Explorer で問題が修正されていませんので、Cookie を無効に設定したり、共用 CGI サーバでフォームの入力などは行わないなどの自衛手段を行えば、多くの場合は問題を回避できると思います。

Web アプリケーションを提供する側であれば、独自ドメイン上でサービスを提供することで、別の Path で設定された Cookie を読み取られてしまったとしても、クロスサイトスクリプティングなどのセキュリティ問題がなければ、ユーザに対する危険を減らすことが可能だと思います。

>>セキュリティ関係

*Windows

Microsoft からセキュリティ修正プログラムが公開されています。2004 年 3 月のセキュリティ情報 にも情報がありますので、参考にしてください。

  • Windows Media サービスの脆弱性により、サービス拒否が起こる (832359) (MS04-008)

    Windows Media Station Service および Windows Media Monitor Service が TCP/IP 接続を処理する方法に脆弱性が存在するそうです。

    対象は、Windows 2000 Server Service Pack 2 から 4 までのバージョンとなっており、深刻度は「警告」になっています。

    回避方法として、ファイアウォールで Port 7007 と 7778 をブロックする方法、Windows Media Station Service の停止、削除する方法、Windows Media Monitor Service を無効に設定、削除する方法などが挙げられています。

  • Outlook の脆弱性により、コードが実行される (828040) (MS04-009)

    Outlook 2002 の mailto URL の解析に問題があり、攻撃者が作成した HTML 形式の電子メールを表示しようとすると、Internet Explorer が影響を受けるコンピュータのローカルゾーンでスクリプトを実行してしまう問題があるそうです。

    対象は、Outlook 2002 ですが、Microsoft Office XP にも Outlook 2002 が含まれています。深刻度は、「緊急」になっています。

    セキュリティ修正プログラムを適用することが推奨されていますが、回避方法として、Outlook Today フォルダを Outlook 2002 のホームページとして使用しないように設定する方法が挙げられています。

  • MSN Messenger の脆弱性により、情報が漏えいする (838512) (MS04-010)

    MSN Messenger のファイルリクエストの処理方法に問題があり、攻撃者がこの問題を悪用すると、対象ユーザーの気づかないところで、ファイルのコンテンツを表示させることが可能になるそうです。

    対象は、Microsoft MSN Messenger 6.0 と 6.1 で、深刻度は「警告」になっています。

    回避方法が書かれていませんので、この問題が重要である場合には、修正プログラムをインストールする方が良いと思います。

また、Windows Media サービスの ISAPI エクステンションの問題により、コードが実行される (822343) (MS03-022)で、特定の状況で修正済みのファイルが置き換わらないという問題があったため、修正プログラムが再リリースされているそうです。

その他、Windows 関連で気になった情報のリンクです。

*WU-FTPD

Secunia - Advisories - WU-FTPD Directory Access Restriction Bypass Vulnerability によると、WU-FTPD のバージョン 2.x で、認証されたユーザが restricted-gid オプションによる制限を回避できるという問題が発見されたそうです。一応、回避方法として、restricted-gid オプションに依存しないようにするということが挙げられています。

Debian や FreeBSD などでは、既にこの問題の修正が行われているそうです。

また、WU-FTPD 2.6.2 には、WU-FTPD S/KEY Authentication Buffer Overflow Vulnerability(Secunia) という問題もありますので、まだ対処を行っていない場合は、Patch を適用するなどしておいた方が安全です。

*その他

SecuniaSecuriTeam.com などで、最近掲載された中で気になったものをまとめてみました。

  • Multiple Browser Cookie Path Directory Traversal Vulnerability (Secunia)
  • Multiple Vendor HTTP User Agent Cookie Path Traversal Issue (SecuriTeam.com)

    Multiple Browser Cookie Path Directory Traversal Vulnerability でまとめてみましたが、複数のブラウザに Cookie のパス制限を回避されてしまうという問題です。Mozilla 1.4.1 以降、Opera 7.20 beta 以降、KDE/Konqueror 3.1.4 以降で修正されていることが確認されているそうです。

  • Mozilla / NSS S/MIME Implementation Vulnerability (Secunia)

    Mozilla 1.4 以前に含まれている Network Security Service(NSS) 3.8 にユーザのシステムに対してサービス拒否攻撃を引き起こすことができる問題があったそうです。NSS 3.9 以降で修正されているそうです。

  • Mozilla Cross-Site Scripting Vulnerability (Secunia)

    Mozilla 1.6a 以前に不正な HTML 文書を読み込むことで引き起こされるクロスサイトスクリプティング脆弱性があったそうです。Mozilla 1.6b で修正され、Mozilla 1.4.2 で修正予定となっています。

  • Apache mod_ssl HTTP Request Denial of Service Vulnerability (Secunia)

    Apache 2.0.x で、mod_ssl を使用している場合にサービス拒否攻撃が可能という問題です。Apache 2.0.35 から 2.0.48 でこの問題が確認されているそうです。Apache 2.0.49 で修正されることになっています。

  • Apache Directory Traversal Vulnerability (Secunia)

    Cygwin 上で動作する Apache 1.3.x と Apache 2.0.x の両方にシステムに存在する任意のファイルの閲覧が可能という問題があったそうです。Apache 1.3.29 に対する Patch があるそうです。

  • Apache mod_access Rule Bypass Issue (Secunia)

    ビッグエンディアン、64bit のシステム上で Apache 1.3.29 以前を動作させた場合、mod_access によるアクセス制限が失敗するという問題が報告されているようです。Apache 1.3.30 で修正される予定になっているそうです。

>>気になったニュース、ツールなど

▲ 目次へ戻る


2004.03.07(Sun)

また、コンピュータウイルスが流行っているようです。メールの添付ファイルには特に気をつけてください。

>>セキュリティ関係

*Adobe Acrobat Reader

Adobe Acrobat Reader 5.1にセキュリティ・ホール,任意のプログラムを実行させられる(IT Pro) によると、Adobe Acrobat Reader 5.1 に XML Forms Data Format (XFDF) という、PDF 文書に注釈などの編集情報を追加するためのフォーマットを処理する部分の処理に問題があり、不正なファイルを開くと、Buffer Overflow を引き起こすことができるそうです。

対処方法として、最新版の Adobe Reader 6.0 にバージョンアップする方法と、関連付けを外す(.xfdf という拡張子をファイルの関連付けから削除する)方法が挙げられています。

参考になりそうなリンクです。

*コンピュータウイルス

多くのコンピュータウイルスの亜種が出回っているみたいです。ほとんどはメールの添付ファイルを開くことで感染するタイプのウイルスですので、メールの添付ファイルを開かない、または、ウイルス対策ソフトウェアを導入するなどして気をつけてください。

*Windows

スラッシュドット・ジャパンに Word ファイルに隠されていた SCO の計画という記事がありましたが、Microsoft Office では、多くの文書履歴や、削除したはずのデータが残るようになっているようです。外部に公開するようなファイルに重要情報が含まれないように、「Word 文書のメタデータを最小限にする方法(Word 2002)」という情報が公開されていますので、Microsoft Office に含まれるアプリケーションを使う場合は確認しておいた方が良いと思います。

@IT:Windows HotFix Briefings(2004年3月5日版) が出ています。以下の情報がありました。

  • 「ユーザー情報を含むURLをパラメータに持つXMLHTTP呼び出しがエラーになる」に対処する修正プログラムの提供
  • WebページのボタンをクリックするとIEが異常終了する
  • MS03-004の修正プログラム適用でOutlook/Outlook Express/IEが異常終了する
  • [ウィンドウとボタン]の設定によりIEが異常終了する
  • MS03-023の修正プログラム適用後にIE 6 SP1を適用するとエラーが発生する
  • IEに存在する未修正の脆弱性情報
*FreeBSD

FreeBSD 4.x および、5.x で、サービス拒否攻撃が成立する問題が見つかっています。スラッシュドット・ジャパンの投稿に日本語の情報がありました(FreeBSDのTCPに脆弱性)。

*GentooLinux

Gentoo Linux 2004.0 が公開されています。日本のミラーサイトとしては、http://mirror.gentoo.gr.jp/releases/ があります。これからインストールを行う場合は使用するアーキテクチャを選択して必要な ISO イメージをダウンロードしてください。既に Gentoo Linux をインストールしている場合は、入れ替える必要はないと思います。

*その他
  • JPCERT/CC REPORT 2004-03-03

    ISS 製品の存在する Server Message Block (SMB) プロトコルの処理に Buffer Overflow の問題がある件についての情報、Linux の mremap システムコールに含まれる脆弱性についての追加情報、H.323 プロトコルの実装に含まれる脆弱性に関する追加情報、metamail に含まれる脆弱性についての追加情報などのレポートがあります。

  • Coreutils 'dir' integer overflow vulnerability (Bugtraq)
  • GNU Coreutils DoS and Code Execution in ls/dir Commands (SecuriTeam)

    GNU Coreutils に含まれる ls/dir コマンドの -w オプションの引数に非常に大きな数値を与えると、DoS 攻撃が可能になってしまうそうです。Coreutils 5.2.0 で修正されています。

>>気になったニュース、ツールなど

▲ 目次へ戻る


更新履歴

2004.04.04

Symantec Norton Internet Security 2004/Professional for Windows の修正パッチ配布が開始された情報を追記。

2004.03.28

3月28日分を追加。

2004.03.22

3月22日分を追加。

2004.03.14

3月14日分を追加。

2004.03.07

このページを作成。3月 7日分を追加。

▲ 目次へ戻る

LastUpdate: 2004-04-04 | HOME