🌈【にじいろ式ポイント解説】支援士 H31春 SC 午後Ⅰ |Same-Origin・JSONP・CORS|Webセキュリティ
H31春 SC 午後Ⅰ 問1
(Webセキュリティ)
こんにちは。
事務をしながら情報処理安全確保支援士を目指して勉強している、
にじいろです。
H31春 SC 午後Ⅰ 問1
支援士を勉強している人の間では、この問題はよく
「神問題」と言われています。
また、難易度は難関らしいです。
理由は、この1問の中に
・Same-Originポリシ
・JSONP
・CORS
・Cookie
といった Webセキュリティの核心がすべて詰まっているからです。
つまりこの問題を理解すると、
Webセキュリティの流れが一気につながります。
ただし、この問題には一つ大きな壁があります。
それは、応用情報からのジャンプがかなり大きいということです。
そのため、いきなりこの問題に挑戦すると白紙になってしまう人も多いと思います。
そこで今回は、
このSC過去問題に挑む前のウォーミングアップを生成AIに作ってもらいました。
目標はシンプルです。
前回のブログ
そして今回のブログ
この2つを読んでから
H31春 SC 午後Ⅰ 問1 にチャレンジすると
半分くらい解ける状態になることを目指します。
さて、一緒に解いてみましょう!全部で9⃣問です。
問題1⃣
Q. ブラウザには次のルールがあります:
「同じオリジン以外のサイトには、JavaScriptから自由にアクセスできない」この仕組みを何というでしょう?
A:CSRF対策
B:Same-Originポリシ
C:SQLインジェクション対策
D:クリックジャッキング対策
答え:
B:Same-Originポリシ
問題2⃣
Originは次の3つで決まります:
スキーム
FQDN
ポート番号
基準: https://example.com
次のうち、同一Originではないものはどれ?
A:https://example.com/index.html
B:https://example.com/login
C:http://example.com
D:https://example.com/profile
答え
C:http://example.com
理由: http と https はスキームが異なるため別Originになる。
問題3⃣
Q. 昔、Webサイト間でデータを取得するためにscriptタグでAPIを読み込む方法が使われていました。この仕組みを何という?
A:JSONP
B:CORS
C:OAuth
D:Cookie
答え:
A:JSONP
問題4⃣
Q. JSONPにはアクセス元を制御できないという問題があります。
次のうち、JSONPを悪用した攻撃が成立する条件は?
A:被害者がログアウトしている
B:被害者がログインしている
C:HTTPSを使っている
D:TLSを使っている
答え
B:被害者がログインしている
補足: ログイン状態はCookieで管理されているため、APIにアクセスすると情報が取得されてしまう可能性があります。
問題5⃣
Q. JSONPの問題を解決するために導入された、サーバが「このサイトからのアクセスなら許可する」と指定できる仕組みは?
A:CORS
B:CSRF
C:IDS
D:IPsec
答え
A:CORS
問題6⃣
Q. CORS通信では、ブラウザはリクエストにOriginというヘッダを付けます。このヘッダは何を表している?
A:APIサーバのURL
B:リクエスト元のオリジン
C:Cookieの発行元
D:DNSサーバ
答え
B:リクエスト元のオリジン
問題7⃣
Q. サーバは次のヘッダで、アクセスを許可するサイトを指定します:
Access-Control-Allow-Origin
これは何を指定する?
A:サーバのIP
B:許可するオリジン
C:Cookieの保存先
D:ポート番号
答え:
B:許可するオリジン
解説: “Allow=許可する” のとおり、サーバが「このオリジンを許可する」と矢印で示すヘッダだから。
問題8⃣
Q. ブラウザは Origin ヘッダと Access-Control-Allow-Origin を比較して通信を許可します。どのとき通信が許可される?
A:一致したとき
B:ポート一致
C:FQDN一致
D:Cookieあり
答え
A:一致したとき
問題9⃣
Q. 通常、CORS通信ではブラウザはCookieを送信しません。
しかし、ある設定をするとCookieを送信できるようになります。どれ?
A:Access-Control-Allow-Origin
B:Access-Control-Allow-Credentials
C:Access-Control-Allow-Method
D:Content-Type
答え
B:Access-Control-Allow-Credentials
理由: Cookie を送信するには Access-Control-Allow-Credentials を true にする必要がある。
いかがだったでしょうか?半分以上解けましたか?
解けた場合は、実際の問題も解いてみてくださいね。
🌈にじいろ感想
この問題は、私が午後問題にお手上げになってしまい、ChatGPTさんにウォーミングアップを作ってほしいと依頼したものです。
このレベルなら前回の学習で食らいつくことが出来ました。
それにしても、、
私の読者さんにはすでに「情報処理安全確保支援士」の資格保持者もいらっしゃるのですが、ただひたすら尊敬です・・。
このような問題を6割クリアされているんですよね。
またフォロー・「いいね」もブログ・勉強の励みになっております。
いつか、そちら側にいけますように・・。
時間はかかってもよいので。と思います。
ではでは、明日もいい日でありますように♪
今日は平日ですが休暇でした。たくさん勉強したのでぐっすり眠ります。

