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

So vermeiden Sie die Aufzählung von Nutzernamen | Secure Code Warrior

ピーテル・デ・クレマー
2017年10月09日 掲載
最終更新日: 2026年3月9日

サイドチャネル攻撃とは、アルゴリズムの理論的な弱点やソフトウェアのコードのバグではなく、ソフトウェアシステムの物理的な実装からハッカーが情報を収集できることを言います。

私がこのことをより明確にするために使いたい例は、ユーザー名の列挙を行う方法です。ユーザー名の列挙とは何か、なぜそれが悪いのかを知りたい方は、当社のウェブサイトでビデオによる説明をご覧になるか、コードで識別できるかどうかチャレンジしてみてください。

サイドチャネル攻撃によってユーザ名の列挙がどのように行われるかを理解するためには、最新のウェブアプリケーショ ンでパスワードがどのように扱われているか(あるいは少なくともそうあるべきか)をある程度理解しておく必要があります。優れたウェブアプリケーションは、あなたのパスワードを知りませんし、どこにもパスワードを保存しません。では、あなたが入力したものが正しく、実際にあなたのパスワードであることをどうやって知ることができるのでしょうか?パスワードはハッシュ化されています。

ハッシュ関数とは、一方通行で実行するのは簡単だが(多少計算コストはかかるが)、逆に実行するのは非常に困難な数学的演算であり、優れたハッシュアルゴリズムでは、入力に応じて出力が一意になる。Webサイトに登録すると、パスワードそのものではなく、そのハッシュが安全に保存されます。つまり、ログインするたびに、ウェブアプリケーションは入力をハッシュ化し、ハッシュ化された結果を保存されたハッシュと比較するのです。安全なパスワード保存について詳しく知りたい方は、私たちのプラットフォームで学ぶことができます。

入力のハッシュ化はコンピュータでは時間がかかるため、開発者はユーザーがスムーズに利用できるように、書いたものすべてを最適化しようと常に心がけています。プログラムを高速化する一つの方法は、必要のないハッシュ化を省略することです。たとえば、ユーザー名が存在しない場合(つまり、パスワードをチェックする必要がない場合)には、ユーザーに即座に応答することができます。このようにして、パスワードのハッシュ化という遅い計算を省略することができます。ユーザー名が正しければ、入力されたパスワードをハッシュ化して、保存されているハッシュと比較します。

この時点で、何が問題になるか想像がつくかもしれません。実際にはハッシュ化にかかる時間はわずか数ミリ秒ですが、ハッカーはこの追加された遅延を利用して、入力したユーザー名が正しいかどうかを調べることができます。間違ったユーザー名の場合はハッシュ化が行われていないため、わずかに速いレスポンスが得られます。このようなサイドチャネル攻撃はタイミング攻撃と呼ばれ、異なる非機能要件がお互いに打ち消しあう良い例となります。高速性と安全性を同時に実現できないコードもあります。

そのため、パスワードが完璧に処理され、表示されるメッセージが一般的なもので、パスワードやユーザー名が間違っているかどうかを知らせるものではないにもかかわらず、システムには脆弱性があります。解決策は簡単です。常にパスワードをハッシュ化するか、ハッシュ化にかかる時間分だけ返信を遅らせるのです。

得られた情報は、攻撃者がシステム上のユーザーのリストを得るために使用することができます。この情報は、ブルートフォース攻撃やデフォルトのユーザー名/パスワード攻撃など、ウェブアプリケーションへの攻撃に使用することができます。

https://www.owasp.org/index.php/Testing_for_User_Enumeration_and_Guessable_User_Account_(OWASP-AT-002)

リソースを表示
リソースを表示

Bei der Aufzählung von Benutzernamen verwenden Hacker Brute-Force-Angriffe, um Informationen zu Benutzernamen und Passwörtern zu erhalten. Erfahren Sie, wie Sie die Aufzählung von Benutzernamen mit Secure Code Warrior vermeiden können.

もっと知りたいですか?

Forscher für Anwendungssicherheit - Forschungs- und Entwicklungsingenieur - Doktorand

もっと詳しく

Secure Code Warrior 、ソフトウェア開発サイクル全体を通じてコードの安全性を確保し、サイバーセキュリティを最優先とする文化を構築するため、貴社をSecure Code Warrior 。アプリセキュリティ管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、当社が貴社のビジネスにおける不安全なコードに関連するリスクの低減を支援します。

デモを予約する
共有する:
リンクトインのブランドソーシャルx ロゴ
著者
ピーテル・デ・クレマー
2017年10月09日発行

Forscher für Anwendungssicherheit - Forschungs- und Entwicklungsingenieur - Doktorand

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

サイドチャネル攻撃とは、アルゴリズムの理論的な弱点やソフトウェアのコードのバグではなく、ソフトウェアシステムの物理的な実装からハッカーが情報を収集できることを言います。

私がこのことをより明確にするために使いたい例は、ユーザー名の列挙を行う方法です。ユーザー名の列挙とは何か、なぜそれが悪いのかを知りたい方は、当社のウェブサイトでビデオによる説明をご覧になるか、コードで識別できるかどうかチャレンジしてみてください。

サイドチャネル攻撃によってユーザ名の列挙がどのように行われるかを理解するためには、最新のウェブアプリケーショ ンでパスワードがどのように扱われているか(あるいは少なくともそうあるべきか)をある程度理解しておく必要があります。優れたウェブアプリケーションは、あなたのパスワードを知りませんし、どこにもパスワードを保存しません。では、あなたが入力したものが正しく、実際にあなたのパスワードであることをどうやって知ることができるのでしょうか?パスワードはハッシュ化されています。

ハッシュ関数とは、一方通行で実行するのは簡単だが(多少計算コストはかかるが)、逆に実行するのは非常に困難な数学的演算であり、優れたハッシュアルゴリズムでは、入力に応じて出力が一意になる。Webサイトに登録すると、パスワードそのものではなく、そのハッシュが安全に保存されます。つまり、ログインするたびに、ウェブアプリケーションは入力をハッシュ化し、ハッシュ化された結果を保存されたハッシュと比較するのです。安全なパスワード保存について詳しく知りたい方は、私たちのプラットフォームで学ぶことができます。

入力のハッシュ化はコンピュータでは時間がかかるため、開発者はユーザーがスムーズに利用できるように、書いたものすべてを最適化しようと常に心がけています。プログラムを高速化する一つの方法は、必要のないハッシュ化を省略することです。たとえば、ユーザー名が存在しない場合(つまり、パスワードをチェックする必要がない場合)には、ユーザーに即座に応答することができます。このようにして、パスワードのハッシュ化という遅い計算を省略することができます。ユーザー名が正しければ、入力されたパスワードをハッシュ化して、保存されているハッシュと比較します。

この時点で、何が問題になるか想像がつくかもしれません。実際にはハッシュ化にかかる時間はわずか数ミリ秒ですが、ハッカーはこの追加された遅延を利用して、入力したユーザー名が正しいかどうかを調べることができます。間違ったユーザー名の場合はハッシュ化が行われていないため、わずかに速いレスポンスが得られます。このようなサイドチャネル攻撃はタイミング攻撃と呼ばれ、異なる非機能要件がお互いに打ち消しあう良い例となります。高速性と安全性を同時に実現できないコードもあります。

そのため、パスワードが完璧に処理され、表示されるメッセージが一般的なもので、パスワードやユーザー名が間違っているかどうかを知らせるものではないにもかかわらず、システムには脆弱性があります。解決策は簡単です。常にパスワードをハッシュ化するか、ハッシュ化にかかる時間分だけ返信を遅らせるのです。

得られた情報は、攻撃者がシステム上のユーザーのリストを得るために使用することができます。この情報は、ブルートフォース攻撃やデフォルトのユーザー名/パスワード攻撃など、ウェブアプリケーションへの攻撃に使用することができます。

https://www.owasp.org/index.php/Testing_for_User_Enumeration_and_Guessable_User_Account_(OWASP-AT-002)

リソースを表示
リソースを表示

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

当社製品および/またはセキュアコーディングに関連する情報について、お客様にご案内させていただくことをお許しください。お客様の個人情報は常に細心の注意をもって取り扱い、マーケティング目的で他社に販売することは一切ありません。

提出
SCW成功アイコン
SCWエラーアイコン
フォームを送信するには、「アナリティクス」クッキーを有効にしてください。完了後、いつでも無効に戻せます。

サイドチャネル攻撃とは、アルゴリズムの理論的な弱点やソフトウェアのコードのバグではなく、ソフトウェアシステムの物理的な実装からハッカーが情報を収集できることを言います。

私がこのことをより明確にするために使いたい例は、ユーザー名の列挙を行う方法です。ユーザー名の列挙とは何か、なぜそれが悪いのかを知りたい方は、当社のウェブサイトでビデオによる説明をご覧になるか、コードで識別できるかどうかチャレンジしてみてください。

サイドチャネル攻撃によってユーザ名の列挙がどのように行われるかを理解するためには、最新のウェブアプリケーショ ンでパスワードがどのように扱われているか(あるいは少なくともそうあるべきか)をある程度理解しておく必要があります。優れたウェブアプリケーションは、あなたのパスワードを知りませんし、どこにもパスワードを保存しません。では、あなたが入力したものが正しく、実際にあなたのパスワードであることをどうやって知ることができるのでしょうか?パスワードはハッシュ化されています。

ハッシュ関数とは、一方通行で実行するのは簡単だが(多少計算コストはかかるが)、逆に実行するのは非常に困難な数学的演算であり、優れたハッシュアルゴリズムでは、入力に応じて出力が一意になる。Webサイトに登録すると、パスワードそのものではなく、そのハッシュが安全に保存されます。つまり、ログインするたびに、ウェブアプリケーションは入力をハッシュ化し、ハッシュ化された結果を保存されたハッシュと比較するのです。安全なパスワード保存について詳しく知りたい方は、私たちのプラットフォームで学ぶことができます。

入力のハッシュ化はコンピュータでは時間がかかるため、開発者はユーザーがスムーズに利用できるように、書いたものすべてを最適化しようと常に心がけています。プログラムを高速化する一つの方法は、必要のないハッシュ化を省略することです。たとえば、ユーザー名が存在しない場合(つまり、パスワードをチェックする必要がない場合)には、ユーザーに即座に応答することができます。このようにして、パスワードのハッシュ化という遅い計算を省略することができます。ユーザー名が正しければ、入力されたパスワードをハッシュ化して、保存されているハッシュと比較します。

この時点で、何が問題になるか想像がつくかもしれません。実際にはハッシュ化にかかる時間はわずか数ミリ秒ですが、ハッカーはこの追加された遅延を利用して、入力したユーザー名が正しいかどうかを調べることができます。間違ったユーザー名の場合はハッシュ化が行われていないため、わずかに速いレスポンスが得られます。このようなサイドチャネル攻撃はタイミング攻撃と呼ばれ、異なる非機能要件がお互いに打ち消しあう良い例となります。高速性と安全性を同時に実現できないコードもあります。

そのため、パスワードが完璧に処理され、表示されるメッセージが一般的なもので、パスワードやユーザー名が間違っているかどうかを知らせるものではないにもかかわらず、システムには脆弱性があります。解決策は簡単です。常にパスワードをハッシュ化するか、ハッシュ化にかかる時間分だけ返信を遅らせるのです。

得られた情報は、攻撃者がシステム上のユーザーのリストを得るために使用することができます。この情報は、ブルートフォース攻撃やデフォルトのユーザー名/パスワード攻撃など、ウェブアプリケーションへの攻撃に使用することができます。

https://www.owasp.org/index.php/Testing_for_User_Enumeration_and_Guessable_User_Account_(OWASP-AT-002)

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

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

Secure Code Warrior 、ソフトウェア開発サイクル全体を通じてコードの安全性を確保し、サイバーセキュリティを最優先とする文化を構築するため、貴社をSecure Code Warrior 。アプリセキュリティ管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、当社が貴社のビジネスにおける不安全なコードに関連するリスクの低減を支援します。

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

共有する:
リンクトインのブランドソーシャルx ロゴ
著者
ピーテル・デ・クレマー
2017年10月09日発行

Forscher für Anwendungssicherheit - Forschungs- und Entwicklungsingenieur - Doktorand

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

サイドチャネル攻撃とは、アルゴリズムの理論的な弱点やソフトウェアのコードのバグではなく、ソフトウェアシステムの物理的な実装からハッカーが情報を収集できることを言います。

私がこのことをより明確にするために使いたい例は、ユーザー名の列挙を行う方法です。ユーザー名の列挙とは何か、なぜそれが悪いのかを知りたい方は、当社のウェブサイトでビデオによる説明をご覧になるか、コードで識別できるかどうかチャレンジしてみてください。

サイドチャネル攻撃によってユーザ名の列挙がどのように行われるかを理解するためには、最新のウェブアプリケーショ ンでパスワードがどのように扱われているか(あるいは少なくともそうあるべきか)をある程度理解しておく必要があります。優れたウェブアプリケーションは、あなたのパスワードを知りませんし、どこにもパスワードを保存しません。では、あなたが入力したものが正しく、実際にあなたのパスワードであることをどうやって知ることができるのでしょうか?パスワードはハッシュ化されています。

ハッシュ関数とは、一方通行で実行するのは簡単だが(多少計算コストはかかるが)、逆に実行するのは非常に困難な数学的演算であり、優れたハッシュアルゴリズムでは、入力に応じて出力が一意になる。Webサイトに登録すると、パスワードそのものではなく、そのハッシュが安全に保存されます。つまり、ログインするたびに、ウェブアプリケーションは入力をハッシュ化し、ハッシュ化された結果を保存されたハッシュと比較するのです。安全なパスワード保存について詳しく知りたい方は、私たちのプラットフォームで学ぶことができます。

入力のハッシュ化はコンピュータでは時間がかかるため、開発者はユーザーがスムーズに利用できるように、書いたものすべてを最適化しようと常に心がけています。プログラムを高速化する一つの方法は、必要のないハッシュ化を省略することです。たとえば、ユーザー名が存在しない場合(つまり、パスワードをチェックする必要がない場合)には、ユーザーに即座に応答することができます。このようにして、パスワードのハッシュ化という遅い計算を省略することができます。ユーザー名が正しければ、入力されたパスワードをハッシュ化して、保存されているハッシュと比較します。

この時点で、何が問題になるか想像がつくかもしれません。実際にはハッシュ化にかかる時間はわずか数ミリ秒ですが、ハッカーはこの追加された遅延を利用して、入力したユーザー名が正しいかどうかを調べることができます。間違ったユーザー名の場合はハッシュ化が行われていないため、わずかに速いレスポンスが得られます。このようなサイドチャネル攻撃はタイミング攻撃と呼ばれ、異なる非機能要件がお互いに打ち消しあう良い例となります。高速性と安全性を同時に実現できないコードもあります。

そのため、パスワードが完璧に処理され、表示されるメッセージが一般的なもので、パスワードやユーザー名が間違っているかどうかを知らせるものではないにもかかわらず、システムには脆弱性があります。解決策は簡単です。常にパスワードをハッシュ化するか、ハッシュ化にかかる時間分だけ返信を遅らせるのです。

得られた情報は、攻撃者がシステム上のユーザーのリストを得るために使用することができます。この情報は、ブルートフォース攻撃やデフォルトのユーザー名/パスワード攻撃など、ウェブアプリケーションへの攻撃に使用することができます。

https://www.owasp.org/index.php/Testing_for_User_Enumeration_and_Guessable_User_Account_(OWASP-AT-002)

目次

PDFをダウンロード
リソースを表示
もっと知りたいですか?

Forscher für Anwendungssicherheit - Forschungs- und Entwicklungsingenieur - Doktorand

もっと詳しく

Secure Code Warrior 、ソフトウェア開発サイクル全体を通じてコードの安全性を確保し、サイバーセキュリティを最優先とする文化を構築するため、貴社をSecure Code Warrior 。アプリセキュリティ管理者、開発者、CISO、あるいはセキュリティに関わるあらゆる立場の方々に対し、当社が貴社のビジネスにおける不安全なコードに関連するリスクの低減を支援します。

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

入門リソース

さらに多くの投稿
リソースハブ

入門リソース

さらに多くの投稿