HOME»情報処理安全確保支援士掲示板»平成31年春午後Ⅰ問2設問1(3)
投稿する
私も最近同様の質問をしました。
以下のスレッドを参考にしてください。
[1409] 平成31年春 午後Ⅰ 問2 設問1(1)
https://www.sc-siken.com/bbs/1409.html
<HSTSが実装されている場合>
例えば、Sさんが以前にHTTPでメールサービスPに接続した時のHTTPレスポンスで
Strict-Transport-Security: max-age=<expire-time>
を受信していて、有効期限内の場合、
①Sさんが、HTTPで再度メールサービスPに接続しようとすると、ブラウザがHTTPを
HTTPSに強制的に変更して接続するようになります。
②その結果、ブラウザでメールサービスPのサーバ証明書の検証が行われます。
<HSTSが実装されていない場合>
①SさんがHTTPでメールサービスPに接続しようとすると、
正しいメールサービスPのサーバに接続した場合は、HTTPS のURLにリダイレクト
されてHTTPSで接続するようになります。
②しかし、今回のように偽のメールサービスPのサーバに接続してしまった場合
HTTPでメールサービスPに接続してもHTTPSにリダイレクトされず、HTTPで
接続を開始してしまいます。HTTPなので、サーバ証明書の検証もされません。
はい。合ってると思います。
なりません。ブラウザによって強制的にHTTPSに変更されます。それがHSTSの
仕組みです。よって、ブラウザでメールサービスPのサーバ証明書の検証が行われ
ますが、攻撃者による偽のメールサービスPのサーバでは、正規のサーバ証明書が
掲示できず、ブラウザに「このサーバ証明書には問題があります。」のような
エラーメッセージが表示されて、Sさんが何かヘンだと気付くはずです。
Sさんが、HTTPで正規のメールサービスPのURLで接続したつもりでも、攻撃者が
用意したDNSサーバを参照するので、偽のメールサービスPのサーバに接続させ
られてしまいます。偽のメールサービスPのサーバは、HTTPSにリダイレクトして
くれないと思います。(多分)
できるのでしょうか。
これについては、(1)も(2)も攻撃者は(h)ttps://のサイトを持っていないので
意味がないです。
できないのは、攻撃者がメールサービスPになりすますための正規の証明書を入手が
できないということです。
正規の証明書がなければ、名前だけメールサービスPでも、HTTPSとして通信できません。
偽のサーバ証明書を用意すれば、httpsのURL自体用意することができます。
しかし、クライアントが接続したときの証明書の検証でエラーが発生するため、
偽のサイトと気付かれてしまいます。
このような不完全な偽のサイトを用意すること自体、攻撃として意味をなしていません。
xxx.mail.orgが、(h)ttps://にリダイレクトを指示した時のHTTPレスポンスで、
Strict-Transport-Security: max-age=<expire-time>
が設定されていて、ブラウザは、httpsにリダイレクトするとともに
xxx.mail.orgのHSTSを設定し、次回以降httpでのアクセスをhttpsに強制的に変更する。
という流れだと思いましたが違いますでしょうか?
そのようでした。
調べたところ、複数のサイトで下記のような記述がありました。
==========
※ HSTSはhttpsアクセスし、有効なSSL証明が確認できた場合にのみ有効に機能します。
・httpでアクセスした際
・有効なSSL証明書が確認できなかった際
はブラウザはHSTSの設定を無視し、有効に機能しません。
==========
ありがとうございました。
平成31年春午後Ⅰ問2設問1(3) [1433]
きなこさん(No.1)
2点質問があります。
①図1のすぐ後の問題文に「メールサービスPはHTTP over TLSでサービスが提供されている。HTTPでアクセスした場合はHTTP over TLSのURLのリダイレクトされる仕様になっており、HSTSは実装されていない。」と書かれていますが、HSTSが実装されているときの違いがよくわかりません。
HTTPSのURLでリダイレクトするということは、結局はHTTPSでアクセスすることができるのではないかと思ってしまいます。設問1(3)と関連していますが、なぜ解答のように「HTTPで接続が開始されたから」となるのか、解説いただけますと幸いです。
②また、あわせて質問してしまい恐縮ですが、図2の1行目について、攻撃者はDHCPサーバも用意する必要があるのではないかと思ってしまいます。攻撃者が用意したDNSサーバを設定するためには、DHCPサーバも攻撃者側で用意して、偽のDNSサーバを設定させるようにする必要があるのではと。
ネットでDHCPサーバによるDNSサーバの設定方法を調べてみても、詳しく書いてあるのが見つけられなく、すみません、解説いただけますと幸いです。
私の知識不足によりお手数をおかけします。
①図1のすぐ後の問題文に「メールサービスPはHTTP over TLSでサービスが提供されている。HTTPでアクセスした場合はHTTP over TLSのURLのリダイレクトされる仕様になっており、HSTSは実装されていない。」と書かれていますが、HSTSが実装されているときの違いがよくわかりません。
HTTPSのURLでリダイレクトするということは、結局はHTTPSでアクセスすることができるのではないかと思ってしまいます。設問1(3)と関連していますが、なぜ解答のように「HTTPで接続が開始されたから」となるのか、解説いただけますと幸いです。
②また、あわせて質問してしまい恐縮ですが、図2の1行目について、攻撃者はDHCPサーバも用意する必要があるのではないかと思ってしまいます。攻撃者が用意したDNSサーバを設定するためには、DHCPサーバも攻撃者側で用意して、偽のDNSサーバを設定させるようにする必要があるのではと。
ネットでDHCPサーバによるDNSサーバの設定方法を調べてみても、詳しく書いてあるのが見つけられなく、すみません、解説いただけますと幸いです。
私の知識不足によりお手数をおかけします。
2024.03.22 03:44
wrinklyさん(No.2)
>②また、あわせて質問してしまい恐縮ですが、図2の1行目について、攻撃者は
>DHCPサーバも用意する必要があるのではないかと思ってしまいます。
私も最近同様の質問をしました。
以下のスレッドを参考にしてください。
[1409] 平成31年春 午後Ⅰ 問2 設問1(1)
https://www.sc-siken.com/bbs/1409.html
2024.03.22 09:59
wrinklyさん(No.3)
>①図1のすぐ後の問題文に「メールサービスPはHTTP over TLSでサービスが提供されて
>いる。HTTPでアクセスした場合はHTTP over TLSのURLのリダイレクトされる仕様に
>なっており、HSTSは実装されていない。」と書かれていますが、HSTSが実装されて
>いるときの違いがよくわかりません。
<HSTSが実装されている場合>
例えば、Sさんが以前にHTTPでメールサービスPに接続した時のHTTPレスポンスで
Strict-Transport-Security: max-age=<expire-time>
を受信していて、有効期限内の場合、
①Sさんが、HTTPで再度メールサービスPに接続しようとすると、ブラウザがHTTPを
HTTPSに強制的に変更して接続するようになります。
②その結果、ブラウザでメールサービスPのサーバ証明書の検証が行われます。
<HSTSが実装されていない場合>
①SさんがHTTPでメールサービスPに接続しようとすると、
正しいメールサービスPのサーバに接続した場合は、HTTPS のURLにリダイレクト
されてHTTPSで接続するようになります。
②しかし、今回のように偽のメールサービスPのサーバに接続してしまった場合
HTTPでメールサービスPに接続してもHTTPSにリダイレクトされず、HTTPで
接続を開始してしまいます。HTTPなので、サーバ証明書の検証もされません。
2024.03.22 10:30
きなこさん(No.4)
ご回答ありがとうございます。過去スレッドについて拝見させていただきました。
①については、結局は攻撃者が用意した無線LANアクセスポイントにDHCPサーバの設定がされていた、それにより攻撃者の用意したDNSサーバの設定がされたと理解すればよいと思いましたが、認識合いますでしょうか。
またHSTSについては、なんとなくは分かったのですが、結局HSTSが実装されていても偽のメールサービスPにHTTPで接続すればそのままHTTPになると思ったのと、HSTSが実装されていなくても正規のメールサービスPにHTTPで接続すればHTTPSの接続に切り替わってサーバ認証ができると思ったので、「HSTSが実装されているか否か」の違いがわかりませんでした。HSTSが実装されていても実装されていなくても同じではと思いました。
すみません、私の解釈がおそらく誤っているかもしれませんが、ご指摘・解説いただけますと幸いです。
①については、結局は攻撃者が用意した無線LANアクセスポイントにDHCPサーバの設定がされていた、それにより攻撃者の用意したDNSサーバの設定がされたと理解すればよいと思いましたが、認識合いますでしょうか。
またHSTSについては、なんとなくは分かったのですが、結局HSTSが実装されていても偽のメールサービスPにHTTPで接続すればそのままHTTPになると思ったのと、HSTSが実装されていなくても正規のメールサービスPにHTTPで接続すればHTTPSの接続に切り替わってサーバ認証ができると思ったので、「HSTSが実装されているか否か」の違いがわかりませんでした。HSTSが実装されていても実装されていなくても同じではと思いました。
すみません、私の解釈がおそらく誤っているかもしれませんが、ご指摘・解説いただけますと幸いです。
2024.03.22 14:49
きなこさん(No.5)
冒頭、「①については~~」ではなく、「②については~~」でしたね。失礼しました。
2024.03.22 14:50
wrinklyさん(No.6)
>①については、結局は攻撃者が用意した無線LANアクセスポイントにDHCPサーバの設定が
>されていた、それにより攻撃者の用意したDNSサーバの設定がされたと理解すればよいと
>思いましたが、認識合いますでしょうか。
はい。合ってると思います。
>またHSTSについては、なんとなくは分かったのですが、結局HSTSが実装されていても
>偽のメールサービスPにHTTPで接続すればそのままHTTPになると思ったのと、
なりません。ブラウザによって強制的にHTTPSに変更されます。それがHSTSの
仕組みです。よって、ブラウザでメールサービスPのサーバ証明書の検証が行われ
ますが、攻撃者による偽のメールサービスPのサーバでは、正規のサーバ証明書が
掲示できず、ブラウザに「このサーバ証明書には問題があります。」のような
エラーメッセージが表示されて、Sさんが何かヘンだと気付くはずです。
>HSTSが実装されていなくても正規のメールサービスPにHTTPで接続すればHTTPSの
>接続に切り替わってサーバ認証ができると思った
Sさんが、HTTPで正規のメールサービスPのURLで接続したつもりでも、攻撃者が
用意したDNSサーバを参照するので、偽のメールサービスPのサーバに接続させ
られてしまいます。偽のメールサービスPのサーバは、HTTPSにリダイレクトして
くれないと思います。(多分)
2024.03.22 17:48
きなこさん(No.7)
ご回答ありがとうございます。
ますが、攻撃者による偽のメールサービスPのサーバでは、正規のサーバ証明書が掲示できず、ブラウザに「このサーバ証明書には問題があります。」のようなエラーメッセージが表示されて、Sさんが何かヘンだと気付くはずです。
→上記については、偽のメールサービスPにHSTSが実装されているという前提で成り立つと思ってました。正規のメールサービスPにHSTSが実装されていたとしても、偽のメールサービスPにHSTSが実装されていなければ、偽のメールサービスPにアクセスしてもHTTPSに誘導できないのではと思いまして。すみません、私の認識が誤っているかもしれませんが、ご指摘いただけますと幸いです。
→なるほど、サーバ側がリダイレクトを指示するので、偽のメールサービスPではリダイレクトを指示してくれないという形ですね。なんとなく理解できました。
> なりません。ブラウザによって強制的にHTTPSに変更されます。それがHSTSの仕組みです。よって、ブラウザでメールサービスPのサーバ証明書の検証が行われ
ますが、攻撃者による偽のメールサービスPのサーバでは、正規のサーバ証明書が掲示できず、ブラウザに「このサーバ証明書には問題があります。」のようなエラーメッセージが表示されて、Sさんが何かヘンだと気付くはずです。
→上記については、偽のメールサービスPにHSTSが実装されているという前提で成り立つと思ってました。正規のメールサービスPにHSTSが実装されていたとしても、偽のメールサービスPにHSTSが実装されていなければ、偽のメールサービスPにアクセスしてもHTTPSに誘導できないのではと思いまして。すみません、私の認識が誤っているかもしれませんが、ご指摘いただけますと幸いです。
> Sさんが、HTTPで正規のメールサービスPのURLで接続したつもりでも、攻撃者が用意したDNSサーバを参照するので、偽のメールサービスPのサーバに接続させられてしまいます。偽のメールサービスPのサーバは、HTTPSにリダイレクトしてくれないと思います。(多分)
→なるほど、サーバ側がリダイレクトを指示するので、偽のメールサービスPではリダイレクトを指示してくれないという形ですね。なんとなく理解できました。
2024.03.23 10:40
pixさん(No.8)
★SC ダイヤモンドマイスター
横から失礼します。
本設問を解くにあたり、前提を確定しておく必要があります。
・正規のメールサービスP
URL
(h)ttp://xxx.mail.org
(h)ttps://にリダイレクトする
(h)ttps://xxx.mail.org
HSTS設定が設定されている アクセスするとクライアントはHSTSが設定される
・攻撃者が用意したメールサービスP
URL
(h)ttp://xxx.mail.org
※ (h)ttps:// は正規の証明書が入手できないため、存在しない
攻撃者は正規の証明書が用意できないため、(h)ttp://のサイトしか
用意できないというのが、この設問の前提構成です。
本設問を解くにあたり、前提を確定しておく必要があります。
・正規のメールサービスP
URL
(h)ttp://xxx.mail.org
(h)ttps://にリダイレクトする
(h)ttps://xxx.mail.org
HSTS設定が設定されている アクセスするとクライアントはHSTSが設定される
・攻撃者が用意したメールサービスP
URL
(h)ttp://xxx.mail.org
※ (h)ttps:// は正規の証明書が入手できないため、存在しない
攻撃者は正規の証明書が用意できないため、(h)ttp://のサイトしか
用意できないというのが、この設問の前提構成です。
2024.03.23 13:08
きなこさん(No.9)
pixさま、ご回答ありがとうございます。理解できそうなのですが、すみません、確認させてください。
攻撃者が用意したメールサービスPに対して、攻撃者側で下記2つの設定はできるのでしょうか。
(1) (h)ttps://にリダイレクトする
(2) HSTS設定が設定されている
(1)と(2)は、正規の証明書を持っていなくそもそもhttpsのURLがないので、できないという理解なのかなと思っています。(認識誤ってましたらご指摘いただけますと幸いです)
ただ、ここで疑問に思ったのですが、攻撃者側では基本的にhttps通信をさせることはできない、ということでしょうか。(勉強していて今さらながらに疑問に思いまして。httpしかできないのであれば、httpsのTLSサーバ認証ですべてNGになってしまうと思いまして。)
偽のサーバ証明書を利用して、httpsのURL自体を攻撃者側で用意することも不可能なのでしょうか。
ちょっと脱線してしまい、変な質問してたらすみません、教えていただけますと幸いです。
攻撃者が用意したメールサービスPに対して、攻撃者側で下記2つの設定はできるのでしょうか。
(1) (h)ttps://にリダイレクトする
(2) HSTS設定が設定されている
(1)と(2)は、正規の証明書を持っていなくそもそもhttpsのURLがないので、できないという理解なのかなと思っています。(認識誤ってましたらご指摘いただけますと幸いです)
ただ、ここで疑問に思ったのですが、攻撃者側では基本的にhttps通信をさせることはできない、ということでしょうか。(勉強していて今さらながらに疑問に思いまして。httpしかできないのであれば、httpsのTLSサーバ認証ですべてNGになってしまうと思いまして。)
偽のサーバ証明書を利用して、httpsのURL自体を攻撃者側で用意することも不可能なのでしょうか。
ちょっと脱線してしまい、変な質問してたらすみません、教えていただけますと幸いです。
2024.03.23 13:30
pixさん(No.10)
★SC ダイヤモンドマイスター
>攻撃者が用意したメールサービスPに対して、攻撃者側で下記2つの設定は
できるのでしょうか。
>(1) (h)ttps://にリダイレクトする
>(2) HSTS設定が設定されている
>(1)と(2)は、正規の証明書を持っていなくそもそもhttpsのURLがないので、
>できないという理解なのかなと思っています。(認識誤ってましたら
>ご指摘いただけますと幸いです)
これについては、(1)も(2)も攻撃者は(h)ttps://のサイトを持っていないので
意味がないです。
>ただ、ここで疑問に思ったのですが、攻撃者側では基本的にhttps通信をさせることは
>できない、ということでしょうか。(勉強していて今さらながらに疑問に思いまして。
>httpしかできないのであれば、httpsのTLSサーバ認証ですべてNGになってしまうと
>思いまして。)
できないのは、攻撃者がメールサービスPになりすますための正規の証明書を入手が
できないということです。
正規の証明書がなければ、名前だけメールサービスPでも、HTTPSとして通信できません。
>偽のサーバ証明書を利用して、httpsのURL自体を攻撃者側で用意することも
>不可能なのでしょうか。
偽のサーバ証明書を用意すれば、httpsのURL自体用意することができます。
しかし、クライアントが接続したときの証明書の検証でエラーが発生するため、
偽のサイトと気付かれてしまいます。
このような不完全な偽のサイトを用意すること自体、攻撃として意味をなしていません。
2024.03.23 13:50
wrinklyさん(No.11)
>・正規のメールサービスP
>URL
> (h)ttp://xxx.mail.org
> (h)ttps://にリダイレクトする
> (h)ttps://xxx.mail.org
> HSTS設定が設定されている アクセスするとクライアントはHSTSが設定される
xxx.mail.orgが、(h)ttps://にリダイレクトを指示した時のHTTPレスポンスで、
Strict-Transport-Security: max-age=<expire-time>
が設定されていて、ブラウザは、httpsにリダイレクトするとともに
xxx.mail.orgのHSTSを設定し、次回以降httpでのアクセスをhttpsに強制的に変更する。
という流れだと思いましたが違いますでしょうか?
2024.03.23 13:59
pixさん(No.12)
★SC ダイヤモンドマイスター
HSTSは基本(h)ttps://にアクセスした際に設定されるというものです。
私の知る範囲では、(h)ttp://でHSTSというのはあまり聞いたことがありません。
(h)ttp:// はリダイレクトするだけのサイトなので、ここでHSTSの設定を
入れることは少ないと思われます。
HSTSはクライアント側で"(h)ttp://" -> "(h)ttps://"のリダイレクトを
行う機能です。
HSTS対象となるサイトは以下の2パターンが考えられます。
1.(h)ttp:// と (h)ttps:// 両方存在するサイト(本設問のパターン)
(h)ttp:// へ初回アクセスした場合は、リダイレクトで (h)ttps://
(h)ttps:// へアクセスした場合は、HSTSヘッダを返す
2.(h)ttps:// のみしか存在しないサイト
(h)ttp:// へ初回アクセスした場合は、サイトがなくてエラーになる
(h)ttps:// へアクセスした場合は、HSTSヘッダを返す
HSTSが有効になれば、(h)ttp:// にアクセスしても(h)ttps://へ
リダイレクトされるため、アクセスエラーは発生しなくなる
です。
この2のように、存在しない(h)ttp:// へのアクセスをクライアント側の
リダイレクトによって回避する目的もHSTSにはあります。
私の知る範囲では、(h)ttp://でHSTSというのはあまり聞いたことがありません。
(h)ttp:// はリダイレクトするだけのサイトなので、ここでHSTSの設定を
入れることは少ないと思われます。
HSTSはクライアント側で"(h)ttp://" -> "(h)ttps://"のリダイレクトを
行う機能です。
HSTS対象となるサイトは以下の2パターンが考えられます。
1.(h)ttp:// と (h)ttps:// 両方存在するサイト(本設問のパターン)
(h)ttp:// へ初回アクセスした場合は、リダイレクトで (h)ttps://
(h)ttps:// へアクセスした場合は、HSTSヘッダを返す
2.(h)ttps:// のみしか存在しないサイト
(h)ttp:// へ初回アクセスした場合は、サイトがなくてエラーになる
(h)ttps:// へアクセスした場合は、HSTSヘッダを返す
HSTSが有効になれば、(h)ttp:// にアクセスしても(h)ttps://へ
リダイレクトされるため、アクセスエラーは発生しなくなる
です。
この2のように、存在しない(h)ttp:// へのアクセスをクライアント側の
リダイレクトによって回避する目的もHSTSにはあります。
2024.03.23 14:26
wrinklyさん(No.13)
>HSTSは基本(h)ttps://にアクセスした際に設定されるというものです。
>私の知る範囲では、(h)ttp://でHSTSというのはあまり聞いたことがありません。
そのようでした。
調べたところ、複数のサイトで下記のような記述がありました。
==========
※ HSTSはhttpsアクセスし、有効なSSL証明が確認できた場合にのみ有効に機能します。
・httpでアクセスした際
・有効なSSL証明書が確認できなかった際
はブラウザはHSTSの設定を無視し、有効に機能しません。
==========
ありがとうございました。
2024.03.23 15:27
きなこさん(No.14)
遅くなりました。ご回答ありがとうございます。
確かに偽のサーバ証明書を用意してもTLSサーバ認証で信頼できない旨のエラー表示が出るはずなので、あまり意味はないですね。
また、HSTSはhttpsにアクセスしたときに設定されるはなるほどと思いました。httpsにアクセスさせるよう、仮にhttpにアクセスしてもhttpsにリダイレクトさせ、HSTSを有効にさせるような形なんですね。なので、httpsにリダイレクトさせていると。
ありがとうございました。
確かに偽のサーバ証明書を用意してもTLSサーバ認証で信頼できない旨のエラー表示が出るはずなので、あまり意味はないですね。
また、HSTSはhttpsにアクセスしたときに設定されるはなるほどと思いました。httpsにアクセスさせるよう、仮にhttpにアクセスしてもhttpsにリダイレクトさせ、HSTSを有効にさせるような形なんですね。なので、httpsにリダイレクトさせていると。
ありがとうございました。
2024.03.24 11:29