文書番号 37368 最終更新日 2006-04-04 公開区分 一般公開 文書タイプ PROBLEM
製品名(バージョン)[コンポーネント] Oracle Intelligent Agent ( - ) [Oracle Intelligent Agent]
プラットフォーム(バージョン) すべてのプラットフォーム ( - )
関連文書  
概要 Intelligent Agent のセキュリティ問題について
内容:
[対象リリース]
  Intelligent Agent 7.3.x 8.x  9.0.1


[対象プラットフォーム]
  Linux を含む Unix プラットフォーム


[問題]
  以下の Intelligent Agent の潜在的なセキュリティ問題が報告されています。

   1. ORACLE_HOME 環境変数が 750バイト以上の場合、Intelligent Agent で
      バッファオーバーフローが発生します。

   2. Intelligent Agent は CHOWN や CHGRP コマンドを実行する為、ローカル
      ユーザーは任意のコマンドを実行する可能性があります。

   3. ローカルユーザーは Intelligent Agent を使用し、任意のコマンドを実行
      する可能性があります。




[原因]
   1. ORACLE_HOME 環境変数が 750バイト以上の場合、バッファオーバーフローが
      発生します。 バッファオーバーフローはアプリーケーションやオペレーティ
      ングシステムのメモリスタック上の変数を上書きする為に使用される可能性が
      あります。 Intelligent Agent は SETUID root で実行される為、オペレー
      ティングシステム上の管理者アクセスを含む高い権限を取得可能です。

   2. Intelligent Agent は 絶対パスに指定されていない CHOWN や CHGRP コマ
      ンドを実行する為、ローカルユーザーは高い権限を得て、任意のプログラムを
      実行する可能性があります。

   3. ローカルユーザーは Intelligent Agent を使用し、任意のコマンドを実行
      する可能性があります。 Intelligent Agent は起動時にユーザーによって
      指定された ORACLE_HOME環境変数のパスに従う為、任意のカスタムディレク
      トリにて任意のプログラムを実行される可能性があります。




[修正リリース]
  Intelligent Agent R9.0.2 にて潜在的なセキュリティ問題の修正が行われております。


[対処]
  以下のいずれかの方法でご対応下さい。

  ・Intelligent Agent 8.0.6 8.1.6 8.1.7 9.0.1 をご利用頂いている場合
       パッチをご適用頂くことで回避頂けます。

       なお、Intelligent Agent 8.0.6, 8.1.6 につきましてはフル・サポートを
       終了させて頂いておりますが、これらのバージョンにつきましては既にパッチ
       が作成されているポートにつきましては提供させていただきます。


  ・上記以外のバージョンをご利用頂いている場合
       Intelligent Agent を 8.1.6 以上又は 8.0.6 にバージョンアップしパッチを
       適用することを推奨致します。


  ==========================================================================
  パッチをご適用頂けない場合は、DBA グループ以外の他のユーザーで Intelligent
  Agent の起動が行えないように以下のコマンドを実行下さい。

       % cd $ORACLE_HOME/bin
       % chmod o-rx dbsnmp

  更に以下のコマンドを実行頂くと DBA グループのユーザーで Intelligent Agent
  を起動しても SETUID コマンドは実行されなくなります。
  但し Intelligent Agent が起動したユーザーでのみジョブやイベントの実行が行われます。

       % chmod -s dbsnmp
  ==========================================================================
  [バージョンアップ頂く場合の注意点]
  Enterprise Manager より Intelligent Agent をご利用頂いてます場合、
  Intelligent Agent をバージョンアップ頂きますと、それに伴い Enterprise Manager
  Management Server についてもバージョンアップ頂く必要がございます。
  Enterprise Manager のバージョンは必ず Intelligent Agent より上位のバージョンで
  ご利用頂く必要がございます。
  例えば 8.1.5 Intelligent Agent と 8.1.5 に付属されている Enterprsie Manager 2.0.4
  の組み合わせでご利用頂いてます場合、Intelligent Agent を 8.1.6 にバージョンアップ
  頂いた場合 Enterprise Manager も 2.1 (8.1.6 に付属) 以上にバージョンアップ頂く
  必要がございます。
  具体的なバージョンマトリックスについては以下に詳細な記述がございますのであわせて
  ご参照頂けますようお願い申し上げます。


     1. Enterprise Manager/Management Server と Intelligent Agent のバージョン
        対応について KROWN 35840
     2. Console とデータベースのバージョン互換性 KROWN 35800

     3. Console と OMS のバージョン互換性 KROWN 27457
     4. Intelligent Agent とデータベースのバージョン互換性 KROWN 20542
  ==========================================================================



[パッチ情報]
  パッチにつきましては、検証が済み次第随時提供させて頂きます。
  現在検証済みの以下のパッチを公開させて頂いてます。

   9.0.1
     Sun SPARC Solaris 32bit
     HP-UX 11.0/64 bit 
     IBM RS/6000 AIX 64bit
     HP Tru64 UNIX
     Intel Based Server LINUX

   8.1.7.x 
     Sun SPARC Solaris 32bit 
     Sun SPARC Solaris 64bit 
     HP-UX 11.0/32 bit 
     HP-UX 11.0/64 bit 
     IBM RS/6000 AIX 32bit
     IBM RS/6000 AIX 64bit
     HP Tru64 UNIX
     Intel Based Server LINUX

   8.1.6.x
     Sun SPARC Solaris 32bit 
     Sun SPARC Solaris 64bit 
     HP-UX 11.0/32 bit 
     HP-UX 11.0/64 bit 
     IBM RS/6000 AIX 32bit
     IBM RS/6000 AIX 64bit
     HP Tru64 UNIX
     Intel Based Server LINUX

   8.0.6.x
     Sun SPARC Solaris 32bit 
     HP-UX 11.0/32 bit 
     HP-UX10.20
     IBM RS/6000 AIX 32bit
     IBM RS/6000 AIX 64bit

  パッチの入手方法につきましては以下のURL の「対応パッチの入手方法」をご参照下さい。
   http://otn.oracle.co.jp/security/iagent/top.html


[よくある質問とその回答]

Q. Intelligent Agent とは何でしょうか。

A. Oracle Enterprise Manager のジョブ機能やイベント機能を実行するコンポーネントです。

      ジョブ機能:
             あらかじめスケジュールした時刻に、リモートのマシン上でスケジュール
             された OSコマンド TCL スクリプト SQL*Plus コマンド データベースの起動
             停止等を実行できます。
      イベント機能:
             データベースや OS のパフォーマンス、リソース、障害などを監視し、設定
             された閾値を超えると電子メール等で通知を行う機能です。

   また OS の SNMP デーモンと連携し、データベースの情報を SNMP管理コンソールより取得
   する際にサブエージェントとして機能します。


Q. システムが明らかにこの障害に該当しないかどうか判断する方法はありますか。

A. Intelligent Agent が インストールされていない環境では、
   本障害は発生しません。

   Intelligent Agent が インストールされているかは、
   $ORACLE_HOME/bin に dbsnmp 実行形式が存在するかによって判断できます。
   dbsnmp 実行形式が存在しない場合、Intelligent Agent は、
   インストールされていません。同一マシン上に複数の ORACLEホームが
   存在する場合は、各ORACLEホームを確認します。


Q. Intelligent Agent を起動していないときもこの障害は発生するのでしょうか。

A. Intelligent Agent を起動する際に発生する障害です。
   Intelligent Agent が起動され得る状態、つまり
   $ORACLE_HOME/bin に dbsnmp 実行形式が存在する場合に発生する可能性があります。


Q. パッチを適用しない場合の回避策は、パッチを適用することと同等ですか。

A. 回避策の適用は次を意味します。

  chmod o-rx dbsnmp コマンドを実行すると OS の一般ユーザーにより Intelligent Agent が
  起動できなくなります。つまり、一般の OS ユーザーが引き起こす可能性のある上記の
  各セキュリティ問題を回避できます。

  さらに、chmod -s dbsnmp コマンドを実行することにより、
  DBA グループの OS ユーザー により起動しても、Intelligent Agent は、root 権限で
  実行できないように設定できます。これは、DBA グループの OS ユーザーが
  引き起こす可能性のある上記の各セキュリティ問題を回避できることを意味します。


Q. どのような場合にこの障害が発生するのでしょうか。

A. Intelligent Agent 起動時の ORACLE_HOME または、PATH 環境変数が、
   適切ではない場合に発生します。


Q. この障害が起きた時の影響を教えて下さい。

A. Intelligent Agent が正常に起動しない、あるいは起動しても正常に動作しません。
   

Q. Intelligent Agent が起動しているかどうかについてはどのように確認するのでしょうか。

A. Intelligent Agent の実態は dbsnmp プロセスです。
   ps -ef |grep dbsnmp コマンドにより、dbsnmp プロセスが存在される場合は起動しています。
   lsnrctl dbsnmp_stop コマンドにより停止頂けます。


Q. この障害の為に、Intelligent Agent が正しく機能しなくなりました。応急処置を教えて下さい。

A. dbsnmp プロセスを終了し、環境変数について次を確認の上、Intelligent Agent を
   起動します。

   ・ORACLE_HOME 環境変数が適切な ORACLEホーム を指定しており、750 バイト以上の長さではないか
   ・PATH 環境変数に指定されているパスにシステム提供以外の CHOWN や CHGGRP コマンドが存在しないか


Q. システムがネットワークに接続されています。
   この障害による影響があるのでしょうか。

A. 本障害は、既に起動済みの Intelligent Agent に対してのネットワーク
   経由のアクセス によって引き起こされるものではありません。

   Intelligent Agent を起動する OS ユーザーが、不正に OS に login した
   ユーザーである場合、この障害の影響を受ける可能性があります。


[更新履歴]
 2006/04/04 スペルミス訂正
 2004/07/23 文書管理情報を更新
 2003/09/22 更新履歴を降順に変更
 2003/04/10 スペルミス訂正
 2002/12/13 パッチ情報の URL の変更