個人的なメモと備忘録 2003年 9月

HOME | LastUpdate: 2003-10-05

目次


2003.09.28(Sun)

OpenSSH に先週とは別のセキュリティホールが見つかっています。また、ProFTPD にも、リモートから root 権限を取得されてしまうセキュリティホールが見つかっていますので、該当するバージョンの ProFTPD を使用している場合は対処しておいた方が良いと思います。

>>Linux コマンド

よく使用するコマンドのオプションを調べてみるといろいろと便利な機能や面白い機能がありましたので、気になったものをメモしておきます。RedHat Linux 7.3 でしか確認していませんが、他の OS でも大体同じように使えると思います。

>>セキュリティ関係

*OpenSSH

少し前から OpenSSH にいくつかの問題が見つかっていますが、Portable OpenSSH に別の問題が見つかったそうです。Bugtraq に投稿されていた、Multiple PAM vulnerabilities in portable OpenSSH によると、Protable OpenSSH 3.7p1 と 3.7.1p1 の PAM 認証コードに複数の問題が含まれており、少なくとも、これらのバグのうちの一つはリモートからの攻撃が可能とされています。

解決方法として、Portable OpenSSH 3.7.1p2 にアップグレードするか、sshd_config で以下のように PAM を無効にする設定を行うという方法が挙げられています。

UsePam no

参考サイト

*ProFTPD

ProFTPD 1.2.7 から、1.2.9RC2 までのバージョンで、ASCII 変換の取り扱いに問題があり、攻撃者がリモートから root 権限の取得や、任意のコードを実行できるという問題が発見されています。

この問題が修正された、ProFTPD 1.2.8p と ProFTPD 1.2.9RC2p などが公開されましたので、該当するバージョンを使用している場合は入れ替えを行ってください。

この問題は、攻撃者が ASCII モードで不正なファイルをアップロードし、アップロードしたファイルをダウンロードするときに発生するとされています。ProFTPD は、権限レベルを制限するようになっているのですが、そのセキュリティチェックを回避して、リモートの攻撃者がroot 権限を取得できてしまうそうです。

回避方法として、攻撃者がファイルをアップロードできないように ProFTPD のファイルアップロードを禁止するように設定する方法が挙げられています。ファイルアップロードを行う必要がないシステムでは以下のように proftpd.conf を設定することで、この問題は回避できます。

<Limit WRITE>
     DenyAll
</Limit>

参考 : ProFTPD ASCII File Remote Compromise Vulnerability(ISS X-Force Research)

ftp://ftp.proftpd.org/distrib/source/ から、ProFTPD 1.2.7 から、ProFTPD 1.2.9 RC2 までの、この問題に対する Patch が適用されたバージョンのソースをダウンロードできます。

*FreeBSD

Security Advisory が出ています。

>>気になったニュースなど

▲ 目次へ戻る


2003.09.23(Tue)

先週は Sendmail や、OpenSSH など、重要なサーバソフトウェアでセキュリティホールが見つかっています。早い目にバージョンアップするか、Patch を適用するなどの対処を行った方が良いと思います。

>>VeriSign のドメインハイジャック問題

VeriSignが全ての未登録.COM、.NETドメインをハイジャック(スラッシュドット・ジャパン)などでも話題になっていますが、VeriSign が全ての未登録 .COM、.NET ドメインを特定の IP アドレスにリダイレクトするように設定を行ったようです。現在は、ドメイン検索を行うページになっています。

これに対しては、非難されているようですが、「米ベリサインのエラーページ・リダイレクトに非難の嵐(CNET Japan)」VeriSign 側では、続けるそうです「米ベリサイン:「リダイレクトはやめない」(CNET Japan)」。

この問題に対して、Binddjbdns などの DNS サーバや、メールサーバの Postfix などに対抗する Patch などもあるそうです。セキュリティホール memo の 2003.09.18 と、2003.09.22 の情報に、Patch などの情報があります。

スラッシュドット・ジャパンには、今回の VeriSign 関係の記事が3つ出ていました。

(2003.10.05 追記)

今回は取り下げたという情報がありました。VeriSign、ICANN命令でSite Finder中止へ(ZDNet)

>>セキュリティ関係

*OpenSSH

OpenSSH 3.7.1 より前のバージョンで、バッファ管理に問題があり、リモートから攻撃者が、DoS 攻撃を引き起こすことが可能という問題が見つかっています。また、攻撃者が任意のコードを実行できてしまう可能性もあるようです。

この問題の対処として、OpenSSH 3.7 が公開されましたが、このバージョンにも問題が見つかり、OpenSSH 3.7.1 がすぐに公開されました。各 Linux ディストリビューションや、*BSD など、OpenSSH を使用している OS では、修正パッケージ、セキュリティアドバイザリなどが出ています。

参考サイト

*Sendmail

Sendmail 8.12.9 以前の prescan() 関数にBuffer Overflow の問題が見つかり、Sendmail 8.12.10 が公開されています。

この問題によって、リモートから攻撃者に Sendmail を実行しているユーザ権限で任意のコードを実行されてしまうおそれがあります。通常、Sendmail を実行しているのは、root なので、注意が必要です。

解決方法として、Sendmail 8.12.10 にバージョンアップするか、公開されている Sendmail 8.12.9 以前のための Patch を適用して、Sendmail を再コンパイルしてください。Sendmail を使用している多くの Linux ディストリビューションや、*BSD などで、修正パッケージ、セキュリティアドバイザリが出ています。

参考サイト

*KDE

デスクトップ環境の KDE 3.1.3 以前に含まれているログインマネージャである、KDM(KDE Display Manager) に、特定の PAM モジュールでの権限上昇という問題と安全でないセッションクッキーを生成してしまうという 2つの問題が見つかったそうです。詳しくは、KDE Security Advisory: KDM vulnerabilities を参照してください。

問題を回避するには、Patch を適用するか、KDE 3.1.4 にバージョンアップしてください。KDE 2.2.2 / 3.0.5b / 3.1.3 に対する Patch が出ています。RedHat Linux では、既に修正パッケージが出ています。

*Vine Linux

修正パッケージが出ています。

>>気になったニュースなど

▲ 目次へ戻る


2003.09.15(Mon)

また、Microsoft のセキュリティホールが出ています。以前の MSBlaster と同じようなワームが出回る可能性がありますので、修正プログラムをインストールしておいてください。

>>正規表現

ちょっと気になったので、メモしておきます。

いくつかのスクリプト言語で試してみたのですが、以下のような結果になるのが意外でした。

$ php -r 'echo ereg_replace("b*","z","abc") . "\n";'
zazzcz
$ ruby -e 'puts "abc".gsub(/b*/,"z");'
zazzcz
$ perl -e '$s="abc"; $s=~s/b*/z/g; print "$s\n"'
zazzcz

最初は、b*z に置き換えると、abcazc になることを予想したのですが、そうではないようです。以下のように、いくつか似たような処理を試してみましたが、予想と合わないものが多かったです。

$ php -r 'echo ereg_replace("[^abc]*","z","abc") . "\n";'
zazbzcz
$ php -r 'echo ereg_replace(".*","z","abc") . "\n";'
zz
$ php -r 'echo ereg_replace("^.*","z","abc") . "\n";'
z
$ php -r 'echo ereg_replace(".*$","z","abc") . "\n";'
zz

>>セキュリティ関係

*Windows

非常に重要な修正プログラムが出ています。

Microsoft Word の問題により、マクロが自動的に実行される (827653) (MS03-035) と、WordPerfect コンバータのバッファオーバーランにより、コードが実行される (827103) (MS03-036) について、Office 97、Word 97、Word for Windows 98 などの修正プログラムが公開されたようです。Microsoft の修正プログラムの提供依頼窓口に所定の件名のメールを送ることで入手先とインストール手順が書かれたメールを受け取ることができるようです。

他にも、スラッシュドット・ジャパンに載っていますが、IE に多数の未パッチのセキュリティホールがあるという情報もあります。非常に危険なセキュリティホールも含まれるようです。アクティブスクリプトを無効にすることで多くの問題を回避することができますので、Internet Explorer を使用している場合は、念のため、Microsoft から修正プログラムが公開されるまで信頼できるサイト以外はアクティブスクリプトを無効にするように、設定して、自衛しておいた方が良いと思います。

参考に、Internet Explorer のセキュリティホールについてのメール一覧を挙げておきます。

*MySQL

Bugtraq に、Buffer overflow in MySQL という投稿があり、データベースサーバの MySQL に Buffer Overflow の問題についての指摘がありました。

問題があるのは、MySQL 4.0.14 以下と、3.23.x のバージョンで、MySQL のパスワードの長さのチェックに問題があり、Buffer Overflow が発生するようです。これにより、MySQL サーバを実行しているユーザの権限で不正なコードが実行できてしまうそうです。

MySQL 4.0.15 でこの問題は修正されているようです。また、メールに、MySQL 4.0.14 に対する Patch があります。

>>気になったニュースなど

▲ 目次へ戻る


2003.09.07(Sun)

9月に入りましたが、暑い日が続くみたいです。Microsoft のセキュリティアップデートが出ています。特に、MS Office 環境を使用している場合、アップデートをするものが多いので注意した方が良さそうです。

>>PHP のセッション管理について

PHP でセッション管理をより安全に出来る可能性がありそうですので、メモしておきます。

少し前ですが、PHP-users メーリングリストに、session_regenerate_id() の挙動についての投稿がありました([PHP-users 17600]session_regenerate_id()の挙動について)。session_regenerate_id() は、PHP 4.3.2 から導入された関数で、ユーザがブラウザでアクセスするごとに、セッション ID を新しく生成し、前のセッション ID と置き換えることができます。セッション ID を頻繁に変更することで、セッションハイジャックの危険性を減らす目的があると思われるのですが、PHP 4.3.3 で試したところ、実際の挙動では、デフォルト設定の /tmp に保存されているセッション変数の値が古いファイル内に残ったままで、これではセッションハイジャック対策にならないのではないかという指摘でした。

この対処として、以下のように古いセッション情報のファイルは unlink() で消してしまうという方法があるようです([PHP-users 17601]Re: session_regenerate_id()の挙動について)。

$oldID = session_id();
session_regenerate_id();
unlink(session_save_path() . "/sess_$oldID");

また、PHP 4.3.1 以前でも動作する session_regenerate_id() と同等の処理を実現する関数の投稿がありました([PHP-users 17602]Re: session_regenerate_id()の挙動について)。

function session_switching()
{
  $QQ = serialize($_SESSION);
  session_destroy();
  session_id(md5(uniqid(rand(),1)));
  session_start();
  $_SESSION = unserialize($QQ);
}

実際に PHP 4.3.3 で session_regenerate_id() だけを実行(上記のように、古いセッションファイルを削除せずに)して試してみたところ、セッションデータが保存されているファイルは削除されずに、そのまま残ってしまうということが確認できました。また、残っていた古いセッションファイルの ID を ブラウザ側の Cookie で指定して、セッションハイジャックを試みたところ、セッションハイジャックに成功してしまいました。

session_regenerate_id() を使用する場合、古いセッションファイルを削除しないと、セッションファイルが増える分、安全にはなっていないと思われますので、メーリングリストで紹介のあったような方法を使用して、セッションファイルを廃棄/削除する必要があります。

セッション ID を頻繁に変更する方法は、ユーザがブラウザで別のページにアクセスするごとに、セッション ID が変更されるため、もし、何らかの方法で他人にセッション ID が漏洩してしまったとしても、漏洩したセッション ID が使用できなければ安全です。

ただし、セッション ID は、サーバへのアクセスが行われた時に変更が行われますので、セッション ID が漏洩してしまった場合、正規のユーザがアクセスする前に、漏洩したセッション ID を使用して別のユーザがアクセスした場合、セッションハイジャックは成功してしまいますので、絶対に安全であるとは言えません。個人情報などの重要な情報を扱うような場合は、SSL と Cookie の Secure フラグを使用してさらに安全なセッション管理を行った方が良いと思います。以前に、Cookie のセキュアフラグを付ける方法を紹介しましたので、そちらも参考にしてください。

参考として、Cookie をセッション管理に使用している場合のブラウザ上から Javascript を使って、Cookie にセッション情報を設定する方法を書いておきます。ブラウザで対象の Web ページを表示した状態で、ブラウザの URL 欄に、Cookie 情報を書き込む Javascript を入力します。

javascript:alert(document.cookie="PHPSESSID=99d90aa745db323b4f345d4256098af0; path=/;")

PHP の場合、デフォルトでは、セッション名が PHPSESSID という文字列になっていますので、上のような感じで Cookie を設定すると、セッション ID が設定されます。alert を付けておくと、Cookie 情報が表示されるウインドウがポップアップするので分かりやすいと思います。

最後に、PHP サーバの設定を行う場合、PHP マニュアルの、XCIV. セッション処理関数(session) の部分については、読んでおいた方が良いと思います。特に、session.save_path では、セッションファイルを分散して保存する際の注意や、権限の問題について説明されています。また、警告として、以下のような注意が書かれています。

この設定を /tmp (デフォルト)のようにどこからでも読み込み可能なディレクトリのままにしている場合、サーバ上の他のユーザがこのディレクトリのファイルのリストを取得することにより、セッションをハイジャックをすることが可能となります。

>>セキュリティ関係

*Windows

Microsoft からセキュリティアップデートが 5つ出ています。

  • NetBIOS の問題により、情報が漏えいする (824105) (MS03-034)

    NetBIOS over TCP/IP のネームサービスのクエリへの応答時に、メモリのランダムデータが含まれる場合があり、攻撃者はこの問題を利用して対象の PC から情報を取得することが可能になるそうです。

    影響を受けるのは Windows NT 4.0 / 2000 / XP / 2003 となっており、Windows Me ではこの問題はないそうです。深刻度は「注意」になっています。

    修正プログラムが出ていますので、インストールすることでこの問題を修正できます。

  • Microsoft Word の問題により、マクロが自動的に実行される (827653) (MS03-035)

    Microsoft Word のマクロ実行許可のセキュリティモデルに問題があり、マクロを実行するかどうかをユーザが確認することなくマクロが自動的に実行されてしまうという問題のようです。この問題が悪用された場合、データやファイルの追加、変更、削除、サイトとの通信、ハードディスクのフォーマットなどが行われる可能性があるそうです。

    影響を受けるのは Microsoft Word 97 / 98 / 2000 / 2002 と Microsoft Works Suite 2001 / 2002(英語版) / 2003(英語版) となっています。深刻度は「重要」になっています。

    修正プログラムが出ています。Microsoft Word を使用している場合はインストールすることが推奨されています。

    (2003.09.14 追記)

    Word 97 セキュリティ アップデート (2003 年 9 月 3 日) の概要のページで、Word 97 と Word for Windows 98 日本語版の修正プログラムを手に入れる方法が書かれています。Microsoft の修正プログラムの提供依頼窓口に所定の件名のメールを送ることで入手先とインストール手順が書かれたメールを受け取ることができるようです。

  • WordPerfect コンバータのバッファオーバーランにより、コードが実行される (827103) (MS03-036)

    Microsoft WordPerfect コンバータが文書を処理する方法に問題があり、WordPerfect 文書が開かれたときに特定のパラメータを正しく検証できず、バッファオーバーランが起こってしまうそうです。この問題により、攻撃者が埋め込んだ任意のコードが実行されてしまう可能性があります。

    影響を受けるのは、Microsoft Office( 97 / 2000 / XP ) / Word 98(日本語版) / FrontPage( 2000 / 2002 ) / Publisher( 2000 / 2002 ) / Works Suite( 2001 / 2002(英語版) / 2003(英語版) ) となっています。深刻度は「重要」になっています。

    Office 97 と Word 98(日本語版) については、修正プログラムが準備中になっていますが、それ以外のバージョンでは既に修正プログラムが出ていますので、対象のアプリケーションを使用している場合はインストールした方が良さそうです。

    (2003.09.14 追記)

    Office 97 WordPerfect 5.x コンバータ セキュリティ アップデート (2003 年 9 月 3 日) の概要のページで、Office 97 for Windows および Word for Windows 98 の修正プログラムを手に入れる方法が書かれています。こちらも、Microsoft の修正プログラムの提供依頼窓口に所定の件名のメールを送ることで入手先とインストール手順が書かれたメールを受け取ることができるようです。

  • Visual Basic for Applications の問題により、任意のコードが実行される (822715) (MS03-037)

    Microsoft Visual Basic for Applications( VBA ) は、Microsoft Office などのアプリケーションの多くに含まれ、アプリケーション上での開発やデータの編集などに使用されているものですが、VBA に渡される文書のチェック方法に問題があり、攻撃者がこの問題を悪用した場合、バッファオーバーランが起こり、ユーザの権限で任意のコードを実行できるそうです。

    影響を受けるのは、Microsoft Visual Basic for Applications SDK 5.0 / 6.0 / 6.2 / 6.3 で、Microsoft Office や Works Suite などの多くのアプリケーションに含まれています。深刻度は「緊急」になっています。

    VBA を使用しているユーザはできるかぎり早く修正プログラムをインストールすることが推奨されています。セキュリティホール memo の 2003.09.04 の情報によると、修正プログラムをインストールする場合の注意や、Office Update に失敗した場合の対処などについてのまとめがありますので、そちらも参考にした方が良いと思います。

  • Microsoft Access Snapshot Viewer の未チェックのバッファにより、コードが実行される (827104) (MS03-038)

    Microsoft Access のデータベースのスナップショットを表示するツールである、Microsoft Access Snapshot Viewer で受け取ったパラメータを検証する方法に問題があったため、バッファオーバーランが起こり、この問題を悪用すると、攻撃者がログオンしているユーザの権限で任意のコードが実行できる可能性があるそうです。

    影響を受けるのは、Microsoft Access 97 / 2000 / 2002 で、深刻度は「警告」となっています。

    修正プログラムが出ていますので、該当するアプリケーションを使用している場合はアップデートした方が良いと思います。

*XFree86

Bugtraq に、Multiple integer overflows in XFree86 (local/remote) という投稿がありました。現在の XFree86 のバージョン 4.3.0 のフォントライブラリに複数のバグがあり、潜在的に、リモートから任意のコマンドの実行、権限の上昇が可能ということです。

ローカルからの権限上昇の回避方法として、Xserver の setuid ビットを落とすという例が挙げられています。

chmod u-s XFree86

この問題は、XFree86 の CVS バージョンでは修正されているそうです。

*RedHat Linux

修正パッケージが公開されています。Apache 2.0.46 以前のバージョンで見つかったさセキュリティホールに対する修正が含まれています。

*VineLinux

unzip の修正パッケージが公開されています。以前のアップデートの時に修正漏れがあった部分の修正を行ったそうです。

>>気になったニュースなど

▲ 目次へ戻る


更新履歴

2003.10.05

Verisign のドメインハイジャック問題についての情報があったのでリンク追加。

2003.09.28

9月28日分を追加。

2003.09.23

9月23日分を追加。Windows のセキュリティホール(MS03-039)についてのリンク追加。

2003.09.15

9月15日分を追加。Windows のセキュリティホール(MS03-035, MS03-036)についてのリンク追加。

2003.09.07

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

▲ 目次へ戻る

LastUpdate: 2003-10-05 | HOME