SCW アイコン
ヒーロー背景(区切りなし)
ブログ

Signatures psychiques - ce que vous devez savoir

Charlie Eriksen
2022年4月27日 発行
最終更新日: 2026年3月8日

2022年4月19日、Neil Maddenは、Oracle Java 15から18、およびOpenJDK 15、17、18における脆弱性を公開しました。この脆弱性は、ECDSA署名の暗号にあり、攻撃者はこれらの署名の署名チェックを完全にバイパスすることが可能です。 

ECDSA署名があまり知られていないため、この脆弱性に関する見出しを目にしても、すぐに見過ごしてしまいがちです。しかし、ECDSA署名は、認証のような重要なタスクにおいて、インターネット上のシステムを保護する上で重要な役割を担っています。

詳細について説明する前に、ハッカーがどのようにサイキックシグネチャを悪用するのかを実際に体験してみたいという方は、無料のラボに直接アクセスしてみてください。無料のラボ(Missions)にアクセスし、ご自身で試してみてください。

ECDSAの何が問題なのか?

ECDSAという言葉を聞いたことがない人もいるかもしれない。Elliptic Curve Digital Signature Algorithmの略で、楕円曲線の数学的性質を利用した暗号の一種で、現時点では業界で最も強力な暗号のセキュリティを提供するものです。

というように、重要な機能に多く使われているということです。

  • SSL証明書の署名について
  • 暗号化通信時のハンドシェイク
  • サムル
  • JWT署名
  • OpenID Connectの署名

つまり、ECDSAはシステムを保護するための最も機密性の高い機能の多くで重要な役割を担っているのです。署名チェックを回避することができれば、非常に大きな被害を受ける可能性があります。

脆弱性はどのように悪用されるのですか?

ECDSAの数学は、残念ながらやや複雑です。しかし、知っておくべき重要なことは、ECDSA署名は2つの情報、すなわちrと sを含むということである。 

これらの数値は、署名の有効性を計算するために使用される。値rは、右辺のrと sの両方を使った計算の「結果」(左辺)である。0を掛けるのは良くないということから、ECDSAの仕様では、rや sの値が0になることがあれば、それらを破棄するように明示的に呼びかけている。 

しかし、ECDSAのJava実装はこれを考慮するのを忘れていた。そのため、rと sの両方が0である署名を受け入れることになり、これは常に真となる。JWTの例でこれを実証し、いかに簡単であるかを示しましょう。https://token.dev/ を使って、アプリケーションで生成されるのと同じような ES256 アルゴリズムのトークンを生成することができます。

アルゴES256で生成されたトークン

JWTは3つのパートに分かれていることを思い出してください。

  • ヘッダー(青字)
  • ペイロード(緑色の部分)
  • サイン(赤色)

さて、署名チェックを回避したい場合、どのようにすればよいのだろうか。署名はrとsの値を指定し、DER形式でエンコードされています。 

署名値のDERエンコード

この新しい署名を使用するようにJWTを変更しましょう。JWTでは、等号は含まれないことに注意してください。

DERエンコードされた署名を使用した新しいJWT

これで、署名のrと sが0に設定され、脆弱なバージョンのJavaでは、指定したペイロードに対して署名チェックが成功するようになりました。 

誰が影響を受けるのか、どう軽減するのか?

この脆弱性は、Oracle JavaとOpenJDKの両方に影響します。これらは以下の通りです。

Oracle Java SE(および旧バージョン、非サポート)。 

  • 18
  • 17.0.2

Oracle GraalVM Enterprise Editionです。 

  • 22.0.0.2
  • 21.3.1

OpenJDKです。

  • 18
  • 17.0.2
  • 15.0.6
  • 13.0.10
  • 11.0.14
  • 8u322
  • 7u331

Oracle社OpenJDK社ともに勧告を発表しており、すぐにでも適用可能なパッチがあります。 

本脆弱性に対する防御のためのハンズオンプラクティス

ここSecure Code Warrior では、サイキックシグネチャーのような最新の脆弱性から、何年も前から存在する脆弱性まで、重要な脆弱性に関する最も適切な情報と実践的な演習を開発者に提供するよう努力しています。

私たちは、リスクを真に抑えるには、開発者が防御メカニズムを理解し、最初から安全なコードを書けるようにすることが必要だと考えています。そのため、この脆弱性(および他の多くの脆弱性)の段階的なウォークスルーを作成し、あなたと影響を受けるチームのために提供しています。 

ウォークスルーでは、指示に従ってJWTのPhysic Signatureを悪用し、機能しているアプリへの影響をリアルタイムに確認することができます。

今すぐお試しください。

リソースを表示する
リソースを表示する

La vulnérabilité de Psychic Signature réside dans la cryptographie des signatures ECDSA, qui protège les systèmes pour des tâches critiques telles que l'authentification. Les pirates informatiques peuvent contourner toute vérification de signature grâce à cette vulnérabilité. Nous expliquerons ce que c'est et comment l'atténuer dans cet article.

さらに詳しく知りたいですか?

もっと詳しく

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードのセキュリティを確保し、サイバーセキュリティを最優先事項とする文化を構築するために、組織をSecure Code Warrior 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。

デモを予約する
共有する:
リンクトインのブランドソーシャルx ロゴ
作者
Charlie Eriksen
2022年4月27日発行

共有する:
リンクトインのブランドソーシャルx ロゴ

2022年4月19日、Neil Maddenは、Oracle Java 15から18、およびOpenJDK 15、17、18における脆弱性を公開しました。この脆弱性は、ECDSA署名の暗号にあり、攻撃者はこれらの署名の署名チェックを完全にバイパスすることが可能です。 

ECDSA署名があまり知られていないため、この脆弱性に関する見出しを目にしても、すぐに見過ごしてしまいがちです。しかし、ECDSA署名は、認証のような重要なタスクにおいて、インターネット上のシステムを保護する上で重要な役割を担っています。

詳細について説明する前に、ハッカーがどのようにサイキックシグネチャを悪用するのかを実際に体験してみたいという方は、無料のラボに直接アクセスしてみてください。無料のラボ(Missions)にアクセスし、ご自身で試してみてください。

ECDSAの何が問題なのか?

ECDSAという言葉を聞いたことがない人もいるかもしれない。Elliptic Curve Digital Signature Algorithmの略で、楕円曲線の数学的性質を利用した暗号の一種で、現時点では業界で最も強力な暗号のセキュリティを提供するものです。

というように、重要な機能に多く使われているということです。

  • SSL証明書の署名について
  • 暗号化通信時のハンドシェイク
  • サムル
  • JWT署名
  • OpenID Connectの署名

つまり、ECDSAはシステムを保護するための最も機密性の高い機能の多くで重要な役割を担っているのです。署名チェックを回避することができれば、非常に大きな被害を受ける可能性があります。

脆弱性はどのように悪用されるのですか?

ECDSAの数学は、残念ながらやや複雑です。しかし、知っておくべき重要なことは、ECDSA署名は2つの情報、すなわちrと sを含むということである。 

これらの数値は、署名の有効性を計算するために使用される。値rは、右辺のrと sの両方を使った計算の「結果」(左辺)である。0を掛けるのは良くないということから、ECDSAの仕様では、rや sの値が0になることがあれば、それらを破棄するように明示的に呼びかけている。 

しかし、ECDSAのJava実装はこれを考慮するのを忘れていた。そのため、rと sの両方が0である署名を受け入れることになり、これは常に真となる。JWTの例でこれを実証し、いかに簡単であるかを示しましょう。https://token.dev/ を使って、アプリケーションで生成されるのと同じような ES256 アルゴリズムのトークンを生成することができます。

アルゴES256で生成されたトークン

JWTは3つのパートに分かれていることを思い出してください。

  • ヘッダー(青字)
  • ペイロード(緑色の部分)
  • サイン(赤色)

さて、署名チェックを回避したい場合、どのようにすればよいのだろうか。署名はrとsの値を指定し、DER形式でエンコードされています。 

署名値のDERエンコード

この新しい署名を使用するようにJWTを変更しましょう。JWTでは、等号は含まれないことに注意してください。

DERエンコードされた署名を使用した新しいJWT

これで、署名のrと sが0に設定され、脆弱なバージョンのJavaでは、指定したペイロードに対して署名チェックが成功するようになりました。 

誰が影響を受けるのか、どう軽減するのか?

この脆弱性は、Oracle JavaとOpenJDKの両方に影響します。これらは以下の通りです。

Oracle Java SE(および旧バージョン、非サポート)。 

  • 18
  • 17.0.2

Oracle GraalVM Enterprise Editionです。 

  • 22.0.0.2
  • 21.3.1

OpenJDKです。

  • 18
  • 17.0.2
  • 15.0.6
  • 13.0.10
  • 11.0.14
  • 8u322
  • 7u331

Oracle社OpenJDK社ともに勧告を発表しており、すぐにでも適用可能なパッチがあります。 

本脆弱性に対する防御のためのハンズオンプラクティス

ここSecure Code Warrior では、サイキックシグネチャーのような最新の脆弱性から、何年も前から存在する脆弱性まで、重要な脆弱性に関する最も適切な情報と実践的な演習を開発者に提供するよう努力しています。

私たちは、リスクを真に抑えるには、開発者が防御メカニズムを理解し、最初から安全なコードを書けるようにすることが必要だと考えています。そのため、この脆弱性(および他の多くの脆弱性)の段階的なウォークスルーを作成し、あなたと影響を受けるチームのために提供しています。 

ウォークスルーでは、指示に従ってJWTのPhysic Signatureを悪用し、機能しているアプリへの影響をリアルタイムに確認することができます。

今すぐお試しください。

リソースを表示する
リソースを表示する

以下のフォームに記入してレポートをダウンロードしてください

当社製品および/またはセキュアコーディング関連の情報をお送りするにあたり、ご承諾を頂戴できれば幸いです。お客様の個人情報は常に細心の注意をもって取り扱い、マーケティング目的で他社に販売することは一切ございません。

提出する
SCW成功アイコン
SCWエラーアイコン
フォームを送信するには、Analyticsクッキーを有効にしてください。完了後は再度無効化しても構いません。

2022年4月19日、Neil Maddenは、Oracle Java 15から18、およびOpenJDK 15、17、18における脆弱性を公開しました。この脆弱性は、ECDSA署名の暗号にあり、攻撃者はこれらの署名の署名チェックを完全にバイパスすることが可能です。 

ECDSA署名があまり知られていないため、この脆弱性に関する見出しを目にしても、すぐに見過ごしてしまいがちです。しかし、ECDSA署名は、認証のような重要なタスクにおいて、インターネット上のシステムを保護する上で重要な役割を担っています。

詳細について説明する前に、ハッカーがどのようにサイキックシグネチャを悪用するのかを実際に体験してみたいという方は、無料のラボに直接アクセスしてみてください。無料のラボ(Missions)にアクセスし、ご自身で試してみてください。

ECDSAの何が問題なのか?

ECDSAという言葉を聞いたことがない人もいるかもしれない。Elliptic Curve Digital Signature Algorithmの略で、楕円曲線の数学的性質を利用した暗号の一種で、現時点では業界で最も強力な暗号のセキュリティを提供するものです。

というように、重要な機能に多く使われているということです。

  • SSL証明書の署名について
  • 暗号化通信時のハンドシェイク
  • サムル
  • JWT署名
  • OpenID Connectの署名

つまり、ECDSAはシステムを保護するための最も機密性の高い機能の多くで重要な役割を担っているのです。署名チェックを回避することができれば、非常に大きな被害を受ける可能性があります。

脆弱性はどのように悪用されるのですか?

ECDSAの数学は、残念ながらやや複雑です。しかし、知っておくべき重要なことは、ECDSA署名は2つの情報、すなわちrと sを含むということである。 

これらの数値は、署名の有効性を計算するために使用される。値rは、右辺のrと sの両方を使った計算の「結果」(左辺)である。0を掛けるのは良くないということから、ECDSAの仕様では、rや sの値が0になることがあれば、それらを破棄するように明示的に呼びかけている。 

しかし、ECDSAのJava実装はこれを考慮するのを忘れていた。そのため、rと sの両方が0である署名を受け入れることになり、これは常に真となる。JWTの例でこれを実証し、いかに簡単であるかを示しましょう。https://token.dev/ を使って、アプリケーションで生成されるのと同じような ES256 アルゴリズムのトークンを生成することができます。

アルゴES256で生成されたトークン

JWTは3つのパートに分かれていることを思い出してください。

  • ヘッダー(青字)
  • ペイロード(緑色の部分)
  • サイン(赤色)

さて、署名チェックを回避したい場合、どのようにすればよいのだろうか。署名はrとsの値を指定し、DER形式でエンコードされています。 

署名値のDERエンコード

この新しい署名を使用するようにJWTを変更しましょう。JWTでは、等号は含まれないことに注意してください。

DERエンコードされた署名を使用した新しいJWT

これで、署名のrと sが0に設定され、脆弱なバージョンのJavaでは、指定したペイロードに対して署名チェックが成功するようになりました。 

誰が影響を受けるのか、どう軽減するのか?

この脆弱性は、Oracle JavaとOpenJDKの両方に影響します。これらは以下の通りです。

Oracle Java SE(および旧バージョン、非サポート)。 

  • 18
  • 17.0.2

Oracle GraalVM Enterprise Editionです。 

  • 22.0.0.2
  • 21.3.1

OpenJDKです。

  • 18
  • 17.0.2
  • 15.0.6
  • 13.0.10
  • 11.0.14
  • 8u322
  • 7u331

Oracle社OpenJDK社ともに勧告を発表しており、すぐにでも適用可能なパッチがあります。 

本脆弱性に対する防御のためのハンズオンプラクティス

ここSecure Code Warrior では、サイキックシグネチャーのような最新の脆弱性から、何年も前から存在する脆弱性まで、重要な脆弱性に関する最も適切な情報と実践的な演習を開発者に提供するよう努力しています。

私たちは、リスクを真に抑えるには、開発者が防御メカニズムを理解し、最初から安全なコードを書けるようにすることが必要だと考えています。そのため、この脆弱性(および他の多くの脆弱性)の段階的なウォークスルーを作成し、あなたと影響を受けるチームのために提供しています。 

ウォークスルーでは、指示に従ってJWTのPhysic Signatureを悪用し、機能しているアプリへの影響をリアルタイムに確認することができます。

今すぐお試しください。

ウェビナーを表示する
始めましょう
もっと詳しく

以下のリンクをクリックして、このリソースのPDFをダウンロードしてください。

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードのセキュリティを確保し、サイバーセキュリティを最優先事項とする文化を構築するために、組織をSecure Code Warrior 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。

レポートを表示するデモを予約する
PDFをダウンロード
リソースを表示する
共有する:
リンクトインのブランドソーシャルx ロゴ
さらに詳しく知りたいですか?

共有する:
リンクトインのブランドソーシャルx ロゴ
作者
Charlie Eriksen
2022年4月27日発行

共有する:
リンクトインのブランドソーシャルx ロゴ

2022年4月19日、Neil Maddenは、Oracle Java 15から18、およびOpenJDK 15、17、18における脆弱性を公開しました。この脆弱性は、ECDSA署名の暗号にあり、攻撃者はこれらの署名の署名チェックを完全にバイパスすることが可能です。 

ECDSA署名があまり知られていないため、この脆弱性に関する見出しを目にしても、すぐに見過ごしてしまいがちです。しかし、ECDSA署名は、認証のような重要なタスクにおいて、インターネット上のシステムを保護する上で重要な役割を担っています。

詳細について説明する前に、ハッカーがどのようにサイキックシグネチャを悪用するのかを実際に体験してみたいという方は、無料のラボに直接アクセスしてみてください。無料のラボ(Missions)にアクセスし、ご自身で試してみてください。

ECDSAの何が問題なのか?

ECDSAという言葉を聞いたことがない人もいるかもしれない。Elliptic Curve Digital Signature Algorithmの略で、楕円曲線の数学的性質を利用した暗号の一種で、現時点では業界で最も強力な暗号のセキュリティを提供するものです。

というように、重要な機能に多く使われているということです。

  • SSL証明書の署名について
  • 暗号化通信時のハンドシェイク
  • サムル
  • JWT署名
  • OpenID Connectの署名

つまり、ECDSAはシステムを保護するための最も機密性の高い機能の多くで重要な役割を担っているのです。署名チェックを回避することができれば、非常に大きな被害を受ける可能性があります。

脆弱性はどのように悪用されるのですか?

ECDSAの数学は、残念ながらやや複雑です。しかし、知っておくべき重要なことは、ECDSA署名は2つの情報、すなわちrと sを含むということである。 

これらの数値は、署名の有効性を計算するために使用される。値rは、右辺のrと sの両方を使った計算の「結果」(左辺)である。0を掛けるのは良くないということから、ECDSAの仕様では、rや sの値が0になることがあれば、それらを破棄するように明示的に呼びかけている。 

しかし、ECDSAのJava実装はこれを考慮するのを忘れていた。そのため、rと sの両方が0である署名を受け入れることになり、これは常に真となる。JWTの例でこれを実証し、いかに簡単であるかを示しましょう。https://token.dev/ を使って、アプリケーションで生成されるのと同じような ES256 アルゴリズムのトークンを生成することができます。

アルゴES256で生成されたトークン

JWTは3つのパートに分かれていることを思い出してください。

  • ヘッダー(青字)
  • ペイロード(緑色の部分)
  • サイン(赤色)

さて、署名チェックを回避したい場合、どのようにすればよいのだろうか。署名はrとsの値を指定し、DER形式でエンコードされています。 

署名値のDERエンコード

この新しい署名を使用するようにJWTを変更しましょう。JWTでは、等号は含まれないことに注意してください。

DERエンコードされた署名を使用した新しいJWT

これで、署名のrと sが0に設定され、脆弱なバージョンのJavaでは、指定したペイロードに対して署名チェックが成功するようになりました。 

誰が影響を受けるのか、どう軽減するのか?

この脆弱性は、Oracle JavaとOpenJDKの両方に影響します。これらは以下の通りです。

Oracle Java SE(および旧バージョン、非サポート)。 

  • 18
  • 17.0.2

Oracle GraalVM Enterprise Editionです。 

  • 22.0.0.2
  • 21.3.1

OpenJDKです。

  • 18
  • 17.0.2
  • 15.0.6
  • 13.0.10
  • 11.0.14
  • 8u322
  • 7u331

Oracle社OpenJDK社ともに勧告を発表しており、すぐにでも適用可能なパッチがあります。 

本脆弱性に対する防御のためのハンズオンプラクティス

ここSecure Code Warrior では、サイキックシグネチャーのような最新の脆弱性から、何年も前から存在する脆弱性まで、重要な脆弱性に関する最も適切な情報と実践的な演習を開発者に提供するよう努力しています。

私たちは、リスクを真に抑えるには、開発者が防御メカニズムを理解し、最初から安全なコードを書けるようにすることが必要だと考えています。そのため、この脆弱性(および他の多くの脆弱性)の段階的なウォークスルーを作成し、あなたと影響を受けるチームのために提供しています。 

ウォークスルーでは、指示に従ってJWTのPhysic Signatureを悪用し、機能しているアプリへの影響をリアルタイムに確認することができます。

今すぐお試しください。

目次

PDFをダウンロード
リソースを表示する
さらに詳しく知りたいですか?

もっと詳しく

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードのセキュリティを確保し、サイバーセキュリティを最優先事項とする文化を構築するために、組織をSecure Code Warrior 。アプリケーションセキュリティ担当者、開発者、情報セキュリティ責任者、その他セキュリティに関わるあらゆる方々のために、当社は組織が非セキュアなコードに関連するリスクを軽減するお手伝いをいたします。

デモを予約するダウンロード
共有する:
リンクトインのブランドソーシャルx ロゴ
リソースセンター

はじめの一歩を踏み出すためのリソース

投稿はありません
リソースセンター

はじめの一歩を踏み出すためのリソース

投稿はありません