Cisco Seruciy Response: Cisco IOS and Cisco IOS XE Type 4 Passwords Issue

2013 年 3 月 25 日 - ライター翻訳版
その他のバージョン: PDFpdf | 英語版 (2013 年 3 月 22 日) | フィードバック

Document ID: 33464

http://www.cisco.com/cisco/web/support/JP/111/1117/1117668_cisco-sr-20130318-type4-j.html

日本語による情報は、英語による原文の非公式な翻訳であり、英語原文との間で内容の齟齬がある場合には、英語原文が優先します。

Revision 1.1

Last Updated on 2013 March 22 18:47 UTC (GMT)

For Public Release 2013 March 18 16:00 UTC (GMT)


目次

シスコの対応
追加情報
この通知のステータス:FINAL
更新履歴
シスコ セキュリティ手順

シスコの対応

これは Cisco IOS および Cisco IOS XE 対応デバイスにおける Type 4 パスワードの弱点に関して、Hashcat Project のPhilipp Schmidt 氏および Jens Steube 氏により行われた研究に対するシスコの対応です。 Schmidt 氏と Steube 氏から、2013 年 3 月 12 日にこの問題を Cisco PSIRT にご報告いただきました。

シスコは、この問題に関する研究の共有と公開にご協力くださいました Schmidt 氏と Steube 氏に感謝いたします。

この Cisco Security Response は次のリンクに掲載されます。http://www.cisco.com/cisco/web/support/JP/111/1117/1117668_cisco-sr-20130318-type4-j.html/

追加情報

Cisco IOS 15 コード ベースに基づく、一部の Cisco IOS および Cisco IOS XE リリースは、ユーザが入力した プレーンテキスト パスワードをハッシュするための新しいアルゴリズムをサポートします。このアルゴリズムは Type 4 と呼ばれ、このアルゴリズムを使用してハッシュされたパスワードは Type 4 パスワードと呼ばれます。Type 4 アルゴリズムは、既存の Type 5 および Type 7 アルゴリズムよりも強力な代替策として設計されており、ブルートフォース アタックに備えて enable secret password および username username secret password コマンドに使用されるパスワードの強度を高めています。

この設計では、RFC 2898 セクション 5.1 に記載された Password-Based Key Derivation Function version 2(PBKDF2)を、次の入力値で使用するように要求しています。
  • ハッシュ アルゴリズム = SHA-256
  • パスワード = ユーザ提供のプレーンテキスト パスワード
  • ソルト = 80 ビット(暗号化された安全な乱数ジェネレータをコールすることで生成)
  • イテレーション回数 = 1,000(千回)

実装面での問題があるため、Type 4 パスワード アルゴリズムは PBKDF2 およびソルトは使用せず、ユーザが入力したプレーンテキスト パスワードに対して SHA-256 暗号化を 1 回実行します。このため、ブルートフォース アタックに対する Type 4 パスワードの強度は、同等に複雑な Type 5 パスワードよりも低下してしまいます。

Type 4 パスワードの実装により、次の問題も生じています。

  • Type 4 パスワードをサポートする Cisco IOS または IOS XE リリースを稼働するデバイスには、ユーザ提供のプレーンテキスト パスワードから Type 5 パスワードを作成する機能がありません。
  • Type 4 パスワードが設定され、かつサポートする Cisco IOS または IOS XE リリースを稼働するデバイスを、 Type 4 パスワードをサポートしない Cisco IOS または Cisco IOS XE リリースにダウングレードする時に下位互換性の問題が発生する可能性があります。特定のデバイス設定によっては、管理者がデバイスにログインできない、または特権 EXEC モードに変更できなくなり、パスワード回復プロセスの実行を要求される可能性があります。

上述したすべての問題は、Type 4 パスワードをサポートし、かつ「enable secret <password>」および「username <username> secret <password>」コマンドを利用する Cisco IOS および Cisco IOS XE リリースを稼働しているデバイスのみに該当します。他の Cisco IOS または IOS XE 機能は、パスワードまたは鍵をハッシュするためにこのアルゴリズムを使用することはありません。これらの問題は Open Shortest Path First(OSPF)、Border Gateway Protocol(BGP)、Routing Information Protocol(RIP)、その他あらゆるルーティング プロトコル鍵、または IPsec 用事前共有鍵には影響しません。

これらの問題は、Type 4 パスワードをサポートしない Cisco IOS および Cisco IOS XE リリースを稼働するデバイスには影響を与えません。
この問題は、Cisco Bug ID CSCue95644 (登録 ユーザのみ)として文書化されています。

Cisco IOS または Cisco IOS XE リリースが Type 4 パスワードをサポートしているか否かの確認

管理者は次の手順に従って、特定のデバイスで稼働する Cisco IOS または Cisco IOS XE リリースが Type 4 パスワードをサポートしているか否かを確認できます。

1) デバイスにログインして show version | include IOS コマンドを実行します。

router#show version | include IOS
Cisco IOS Software, 1841 Software (C1841-ADVENTERPRISEK9-M), Version 15.3(1)T, RELEASE SOFTWARE (fc1)
router#
バージョン番号が「15」で始まる場合、次のステップに進みます。そうでない場合、デバイスで稼働中の Cisco IOS または Cisco IOS XE リリースは Type 4 パスワードをサポートしていません。

2) 特権ユーザとしてデバイスにログインしてコンフィギュレーション モードに入り、enable secret ? コマンドを実行します。
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router#(config)#enable secret ?
0 Specifies an UNENCRYPTED password will follow
4 Specifies an SHA256 ENCRYPTED secret will follow
5 Specifies a MD5 ENCRYPTED secret will follow
LINE The UNENCRYPTED (cleartext) 'enable' secret
level Set exec level password

router(config)#
上の例の「4 Specifies an SHA256 ENCRYPTED secret will follow」という行が、デバイスで稼働中の Cisco IOS または Cisco IOS XE リリースが Type 4 パスワードをサポートしていることを示しています。
router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
router#(config)#enable secret ?
0 Specifies an UNENCRYPTED password will follow
5 Specifies a MD5 ENCRYPTED secret will follow
LINE The UNENCRYPTED (cleartext) 'enable' secret
level Set exec level password

router(config)#
上記の例では、enable secret コマンドのヘルプ出力の中に「4 Specifies an SHA256 ENCRYPTED secret will follow」がありません。この出力は、このデバイスで稼働中の Cisco IOS または Cisco IOS XE リリースが Type 4 パスワードをサポートしていないことを示しています。

デバイスに Type 4 パスワードが設定されているか否かの確認

Type 4 パスワードをサポートする Cisco IOS または Cisco IOS XE リリースを稼働するデバイスであっても、実際には Type 4 パスワードが一切設定されていないことがあります。Type 4 パスワード非サポートの Cisco IOS または Cisco IOS XE リリースから、Type 4 パスワードをサポートする Cisco IOS または Cisco IOS XE リリースにアップグレードされたデバイスは、アップグレードより前に設定が行われているため、Type 5 パスワードを持つ enable secret password コマンドと 0 または 1 以上の username username secret password コマンドが含まれることがあります。

次のコマンドを使用して、デバイス設定に Type 4 パスワードが存在するか否かを確認できます。
show running-config | include ^(enable secret 4|username.*secret.4)
次の例は、Type 4 パスワードが設定されていないデバイスを示しています。
router#show running-config | include ^(enable secret 4|username.*secret.4)
router#
次の例は、「enable secret <password>」および「username <username> secret <password>」の両コマンドに Type 4 パスワードが設定されてるデバイスを示していますsecret キーワードの直後の数字 4 が、Type 4 パスワードの存在を示します。
router#show running-config | include ^(enable secret 4|username.*secret.4)
enable secret 4 ohKCwRDiX5YiRkTbLspqXvQkxiL91lDUlt.JzPd33RY
username demo secret 4 ohKCwRDiX5YiRkTbLspqXvQkxiL91lDUlt.JzPd33RY
router#

Type 4 パスワードをサポートする Cisco IOS または Cisco IOS XE リリースの挙動

Type 4 パスワードをサポートする Cisco IOS または Cisco IOS XE リリースを稼働するデバイスの挙動を次に示します。

1) enable secret password または username username secret password コマンド(passwordはプレーンテキスト パスワード)の設定で Type 4 パスワードが生成されます。
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#enable secret Th1z#1s+53kri7
router(config)#username demo secret Th1z#1s+53kri7
router(config)#do show running-config | include ^(enable|username)
enable secret 4 ohKCwRDiX5YiRkTbLspqXvQkxiL91lDUlt.JzPd33RY
username demo secret 4 ohKCwRDiX5YiRkTbLspqXvQkxiL91lDUlt.JzPd33RY
router(config)#
enable secret password または username username secret password に、プレーンテキスト パスワードを引数として渡してType 5 パスワードを生成するように指示することはできません。enable secret password または username username secret password を Type 5 パスワードで設定する唯一の方法は、enable secret 5 password または username username secret 5 password コマンドを使用する方法です。ここで password は事前に生成した Type 5 パスワードを指しています。

2) enable secret 5 password または username username secret 5 password (ここで password は事前に生成した Type 5 パスワード)を設定すると、警告が表示されますが、パスワードは正しくパースされ、設定に追加されて正常に機能します。表示される警告を無視しても問題ありません。次に例を示します。
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#enable secret 5 $1$YXEj$Fr7OC1Jh62xJRb/rdIm9d0
Warning: The CLI will be deprecated soon
'enable secret 5 $1$YXEj$Fr7OC1Jh62xJRb/rdIm9d0'
Please move to 'enable secret <password>' CLI
router(config)#username demo secret 5 $1$Gd0I$VJkZkCRG1d1FvY7we7dzM.
Warning: MD5 encryption will be deprecated soon.Please move to SHA256 encryption.
router(config)#do show running-config | include ^(enable|username)
enable secret 5 $1$YXEj$Fr7OC1Jh62xJRb/rdIm9d0
username demo secret 5 $1$Gd0I$VJkZkCRG1d1FvY7we7dzM.
router(config)#
3) デバイスが、以前の Type 4 パスワード非サポート の Cisco IOS または Cisco IOS XE リリースからアップグレードされ、コマンド enable secret 5 password または username username secret 5 password が設定に含まれている場合、Type 5 パスワードはパースされ、設定に追加されて正常に機能します。デバイスを Type 4 パスワードをサポートする Cisco IOS または Cisco IOS XE リリースにアップグレードした後、既存の Type 5 パスワード から Type 4 パスワードへの自動変換は行われません。

Type 5 パスワードによる Type 4 パスワードの置換

Type 4 パスワードをサポートする Cisco IOS または Cisco IOS XE リリースを稼働していて、現在のデバイス設定で Type 4 パスワードを使用している場合、Type 4 パスワードを Type 5 パスワードで置き換えることをご検討ください。理由は次のとおりです。
  • Type 4 パスワード非サポートの Cisco IOS または Cisco IOS XE リリースへのダウングレードに向けたデバイスの準備
  • Type 4 パスワードを含むデバイス設定の処理ができないネットワーク管理システムまたはその他ツールとの互換性
  • Type 5 パスワードの使用を定める組織のセキュリティ ポリシー
  • Type 5 パスワードと比較して、ブルートフォース アタックに対する Type 4 パスワードの強度の弱さ
前述したように、Type 4 パスワードをサポートする Cisco IOS または Cisco IOS XE リリースでは、デバイス上でプレーンテキスト パスワードから Type 5 パスワードを生成することができません。Type 4 パスワードを Type 5 パスワードで置き換える場合、Type 5 パスワードをデバイス外部で生成してから、デバイス設定にその Type 5 パスワードをコピーする必要があります。

次の 2 つの方法で Type 5 パスワードを生成できます。
  • Type 4 非サポートの Cisco IOS または Cisco IOS XE リリースを稼働する別のデバイスを使用する
  • openssl コマンドライン ツール(OpenSSL Project に含まれる)を使用する
いずれの場合も、Type 5 パスワードを生成するために、管理者がパスワードのプレーンテキスト バージョンにアクセスする必要があります。

別のデバイスを使用して Type 5 パスワードを生成

1) enable secret password または username username secret password コマンドのいずれかを使用して、プレーンテキスト パスワードから Type 5 パスワードを生成することができます。管理者は、コンフィギュレーション モードで選択したコマンドを実行する権限のあるクレデンシャルを使用してデバイスにログインする必要があります。  次の例は、username username secret password コマンドとプレーンテキスト パスワードである文字列 Th1z#1s+53kri7 を示しています。
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#username demo secret Th1z#1s+53kri7
router(config)#do show running-config | include username demo.*secret 5
username demo secret 5 $1$M/wf$iqBnv/g3GuVUsCpWcDFS20
router(config)#no username demo
router(config)#
2) 表示された Type 5 パスワード(上の例では $1$M/wf$iqBnv/g3GuVUsCpWcDFS20)をコピーします。

openssl ツールを使用して Type 5 パスワードを生成

1) openssl ツールは次に示すように、特定のコマンドライン引数のセットを使用して Type 5 パスワードを生成することができます。
openssl passwd -salt `openssl rand -base64 3` -1 PLAINTEXT_PASSWORD
管理者は文字列 PLAINTEXT_PASSWORD を適切なプレーンテキスト パスワードで置き換える必要があります。次の例は、文字列 Th1z#1s+53kri7 をプレーンテキスト パスワードとして使用しています。
hostname$ openssl passwd -salt `openssl rand -base64 3` -1 Th1z#1s+53kri7
$1$dxVt$FSJmj1O6JUZdbUjxZkIuD.
2) 表示された Type 5 パスワード(上の例では $1$dxVt$FSJmj1O6JUZdbUjxZkIuD )をコピーします。

注:プレーンテキスト パスワードのキャラクタによっては、引用符で囲む必要がある場合があります。

Type 5 パスワードをターゲット デバイスへコピー

事前に生成した Type 5 パスワードを enable secret 5 password または username username secret 5 password のいずれかの適切なコマンドにペーストします。どちらのコマンドでも secret キーワードの後に、暗号化のタイプを指定する数字 5 を忘れずに追加します。そうしなければ、ペーストしたパスワードはプレーンテキスト パスワードとして解釈されます。

次の例は、別のデバイスで生成した Type 5 パスワードを enable secret password として使用し、openssl で生成した Type 5 パスワードを demo というユーザのユーザ パスワードとして使用しています。
router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
router(config)#username demo secret 5 $1$dxVt$FSJmj1O6JUZdbUjxZkIuD.
Warning: MD5 encryption will be deprecated soon.Please move to SHA256 encryption.
router(config)#enable secret 5 $1$M/wf$iqBnv/g3GuVUsCpWcDFS20
Warning: The CLI will be deprecated soon
'enable secret 5 $1$M/wf$iqBnv/g3GuVUsCpWcDFS20'
Please move to 'enable secret <password>' CLI
router(config)#

(注)

  • enable secret 5 コマンドまたは username username secret 5 password コマンドのいずれかに Type 5 パスワードを使用すると、非推奨(deprecation)警告が生成されます。この警告は無視しても問題ありません。
  • enable secret 5 コマンドまたは username username secret 5 password コマンドのいずれに対しても非推奨警告が生成されない場合、デバイスは提供されたパスワードを Type 5 パスワードと解釈していません。両方のコマンドで数字 5secret キーワードの後に含まれていることを確認してください。

Cisco IOS および Cisco IOS XE における Type 4 パスワードの今後

この Security Response に記載された問題のため、シスコは今後の Cisco IOS および Cisco IOS XE リリースについて次の対策を採っています。
  • Type 4 パスワードを廃止する予定です。今後の Cisco IOS および Cisco IOS XE リリースは Type 4 パスワードを生成しません。しかし、下位互換性を維持するため、既存の Type 4 パスワードはパースされ、許可されます。お客様はご利用の設定から手動で既存の Type 4 パスワードを削除する必要があります。
  • enable secret password および username username secret password コマンドの挙動は元に戻ります。つまり、どちらのコマンドもプレーンテキスト パスワードが提供されたとき Type 5 パスワードを生成します。これは Type 4 パスワードの導入以前と同じ挙動です。このステップは下位互換性を維持するためのものです。
  • Type 5 パスワードは廃止されません。これは下位互換性を維持するために行われます。Type 5 パスワードに対する非推奨警告は削除される予定です。
  • 新しいパスワード タイプが導入されます。この新しいパスワード タイプは Type 4 パスワード向けの元の設計(SHA-256、80 ビット ソルト、1,000 イテレーションの PBKDF2)を実装します。具体的なタイプは未定です。
  • 新しいコマンドライン インターフェイス コマンドが導入されます。新しいコマンドでは、enable secret passwordusername username secret password の両方に新しいパスワード タイプを設定できるようになります。これにより、シスコのお客様は既存の構文を使用して下位互換性を保ちながら、新しいパスワード タイプに徐々に移行することが可能になります。新しいコマンドの具体的な構文は未定です。

影響を受けるCisco IOS およびCisco IOS XE リリース

2013年3月22日現在で、この問題の影響を受けるCisco IOS およびCisco IOS XE リリースは以下の一覧の通りです。

Affected 15.0-Based Cisco IOS and Cisco IOS XE Releases Affected Cisco IOS and Cisco IOS XE Versions
15.0EA 15.0(2)EA
15.0EB 15.0(2)EB
15.0EC 15.0(2)EC
15.0ED 15.0(2)ED
15.0EX 15.0(1)EX, 15.0(1)EX1, 15.0(2)EX, 15.0(2)EX1
15.0EY 15.0(2)EY, 15.0(2)EY1
15.0EZ 15.0(1)EZ, 15.0(2)EZ
15.0MR 15.0(1)MR, 15.0(2)MR
15.0MRA 15.0(1)MRA
15.0S 15.0(1)S, 15.0(1)S1, 15.0(1)S10, 15.0(1)S2, 15.0(1)S3a, 15.0(1)S4, 15.0(1)S4a, 15.0(1)S5, 15.0(1)S6
15.0SE 15.0(2)SE, 15.0(2)SE1, 15.0(2)SE2, 15.0(2)SE3, 15.0(2)SE4
Affected 15.1-Based Cisco IOS and Cisco IOS XE Releases Affected Cisco IOS and Cisco IOS XE Versions
15.1EY 15.1(2)EY, 15.1(2)EY1, 15.1(2)EY1a, 15.1(2)EY2, 15.1(2)EY2a, 15.1(2)EY3, 15.1(2)EY4
15.1GC 15.1(4)GC, 15.1(4)GC1
15.1M 15.1(4)M10, 15.1(4)M4, 15.1(4)M5, 15.1(4)M6, 15.1(4)M7, 15.1(4)M8
15.1MR 15.1(1)MR, 15.1(1)MR1, 15.1(1)MR2, 15.1(1)MR3, 15.1(1)MR4, 15.1(1)MR5, 15.1(1)MR6, 15.1(3)MR
15.1MRA 15.1(3)MRA, 15.1(3)MRA1
15.1S 15.1(1)S, 15.1(1)S1, 15.1(1)S2, 15.1(2)S, 15.1(2)S1, 15.1(2)S2, 15.1(3)S, 15.1(3)S0a, 15.1(3)S1, 15.1(3)S2, 15.1(3)S3, 15.1(3)S4, 15.1(3)S5, 15.1(3)S6
15.1SA 15.1(1)SA, 15.1(1)SA1, 15.1(1)SA2
15.1SG 15.1(1)SG, 15.1(1)SG1, 15.1(1)SG2, 15.1(2)SG, 15.1(2)SG1
15.1SNG 15.1(2)SNG
15.1SNH 15.1(2)SNH, 15.1(2)SNH1
15.1SNI 15.1(2)SNI
15.1SVA 15.1(3)SVA
15.1SVB 15.1(3)SVB, 15.1(3)SVB1
15.1SVC 15.1(3)SVC
15.1XB 15.1(4)XB8, 15.1(4)XB8a
Affected 15.2-Based Cisco IOS and Cisco IOS XE Releases Affected Cisco IOS and Cisco IOS XE Versions
15.2E 15.2(1)E, 15.2(2)E
15.2GC 15.2(2)GC, 15.2(3)GC, 15.2(3)GC1
15.2GCA 15.2(3)GCA, 15.2(3r)GCA
15.2JA 15.2(4)JA
15.2M 15.2(4)M, 15.2(4)M1, 15.2(4)M10, 15.2(4)M2, 15.2(4)M3, 15.2(4)M4, 15.2(4)M5, 15.2(4)M6, 15.2(4)M7, 15.2(4)M8, 15.2(4)M9
15.2S 15.2(1)S, 15.2(1)S0a, 15.2(1)S1, 15.2(1)S2, 15.2(2)S, 15.2(2)S0a, 15.2(2)S0b, 15.2(2)S0c, 15.2(2)S0d, 15.2(2)S1, 15.2(2)S2, 15.2(4)S, 15.2(4)S0c, 15.2(4)S0xb, 15.2(4)S1, 15.2(4)S1c, 15.2(4)S2, 15.2(4)S2t, 15.2(4)S3, 15.2(4)S4, 15.2(4)S5, 15.2(4)S6
15.2SA 15.2(1)SA, 15.2(2)SA
15.2SB 15.2(1)SB, 15.2(1)SB1, 15.2(1)SB2, 15.2(1)SB3, 15.2(1)SB4
15.2SC 15.2(1)SC, 15.2(1)SC1
15.2SNG 15.2(2)SNG
15.2SNH 15.2(2)SNH, 15.2(2)SNH1
15.2SNI 15.2(2)SNI
15.2T 15.2(2)T1, 15.2(2)T2, 15.2(2)T3, 15.2(2)T4, 15.2(3)T1, 15.2(3)T2, 15.2(3)T3, 15.2(3)T4
15.2XB 15.2(4)XB10, 15.2(4)XB11
Affected 15.3-Based Cisco IOS and Cisco IOS XE Releases Affected Cisco IOS and Cisco IOS XE Versions
15.3T 15.3(1)T, 15.3(1)T1, 15.3(1)T2, 15.3(1)T3, 15.3(1)T4, 15.3(2)T, 15.3(2)T1, 15.3(2)T2
15.3S 15.3(1)S, 15.3(2)S, 15.3(3)S
Affected 15.4-Based Cisco IOS and Cisco IOS XE Releases Affected Cisco IOS and Cisco IOS XE Versions
15.4S 15.4(1)S



この通知のステータス:FINAL

本ドキュメントは無保証のものとしてご提供しており、いかなる種類の保証を示唆するものでもありません。本ドキュメントの情報およびリンクの使用に関する責任の一切はそれらの使用者にあるものとします。またシスコはいつでも本ドキュメントの変更や更新を実施する権利を有します。

後述する情報配信の URL を省略し、本ドキュメントの記述内容に関して単独の転載や意訳を実施した場合には、事実誤認ないし重要な情報の欠落を含む統制不可能な情報の伝搬が行われる可能性があります。


更新履歴

Revision 1.1 2013-March-22 Added Bug ID and table of affected releases.
Revision 1.0 2013-March-18 Initial public release.

シスコ セキュリティ手順

シスコ製品におけるセキュリティの脆弱性の報告、セキュリティ事故に関する支援、およびシスコからセキュリティ情報を入手するための登録方法について詳しく知るには、シスコ ワールドワイド Web サイトの http://www.cisco.com/en/US/products/products_security_vulnerability_policy.html にアクセスしてください。このページには、シスコのセキュリティ通知に関してメディアが問い合わせる際の指示が掲載されています。すべてのシスコ セキュリティ アドバイザリは http://www.cisco.com/go/psirt/ で確認することができます。