設問1
(1) 4
a:キャッシュ
(2) 4
b:DDoS
(3) 4
c:Host
(4) 10
Y-CDN-UFQDNはを名前解決したIPアドレスはCDNのIPアドレスであり、
Y-CDNではX社内から頻繁にアクセスする他社のWebサイトの複数で利用され、それらのサイトを名前解決するための通信も遮断されるから
(5)
d:
CONNECTメソッドの値
-
回答理由
プロキシから転送するためにURLを指定するにはCONNECTで指定する必要があると思ったから
-
正答との差
ドメインフローティングとはプロキシが接続するTLSの接続先サーバ名(SNI)を安全とするURLに指定し、HTTPのHostを攻撃者のドメインに指定する攻撃である。
最低でもSNI(TLSの接続先サーバ名)と回答するべきだった
設問2
(1)
STの検証はGrWサーバで行うため
(2)
総当りは攻撃者のPC上で行われるため
設問3
(1)3
e
ウ
(2) 3
f
ア
(3) 2
g
改ざん
(4)
h
2
i
6
j
7
-
回答理由
図8を見て自分の勝手な解釈で回答してしまった
-
正答との差
図8に対する説明が表2にあったので、コレを見たら回答はできたと思う
設問4
(1) 9
k ウ
l イ
m ア
(2) 3
n エ
(3)
o 3
p 7
-
回答理由
OAuth2.0によるCSRF攻撃を防止するためのstateについて、
リソースサーバが認可サーバへ送り、
認可サーバがリソースサーバへアクセストークンを送った際に、
検証するものだと思っていた
-
正答との差
stateは攻撃者が利用者に対して攻撃者の認可トークンを送りつけ、
攻撃者のアカウントでカレンダー登録などのサービスを利用されることを防ぐためのもの
クライアントからリソースサーバへのサービス要求後、認可サーバへのリダイレクトをさせるためにクライアントへLocation 302のレスポンスを返すのと同時にstateを送信する。加えて、リソースサーバでstateを保存しておく。
次に、クライアントから認可コードからアクセストークンを交換するためのリクエストをリソースサーバ側で受け付ける際にstateを受け取って、本当に最初のサービス要求を行ったクライアントがアクセストークン要求をしているのかをチェックする
仮に攻撃者のリンクに攻撃者の認可コードをクエリ文字列に付与したリンクがクリックされてリソースサーバへアクセストークンを取得するためのリクエストを受け付けてもstateを知ることはできず、存在しない形になるので、リソースサーバはブロックする
(4) 3
ウ
設問5
(1) 9
r オ
s エ
t ウ
(2) 3
u 8
(3) 3
v イ
(4) 8
w 認証要求のリクエスト
x IDトークン