情報処理安全確保支援士(登録セキスペ)の午後問題の頻出分野「セキュアプログラミング」の攻略ポイントと過去問についてまとめました。
【令和2年度・午後Ⅱ問1】セキュアプログラミング(Java)
項目 | 答え |
---|---|
公式 | 午後Ⅱ問題、解答(公式)、講評 |
設問1 | (a)LDAP-P、LDAP-Q、LDAP-R (b)LDAP |
設問2 | 本人の同意を得ないで、承継前における当該個人情報の利用目的の達成に必要な範囲を越えて、当該個人情報を取り扱ってはならない。 |
設問3(1) | (c)ウ:idPair.childID() (d)ア:idPair.checkChild() (f)ケ:NamingException (g)イ:idPair.childChecked |
設問3(2) | (e)ウ:26 (h)キ:117 |
設問3(3) | NamingExceptionを投げる前に、childCheckedをfalseにする |
設問4(1) | (j)パスワードを本人以外のメールアドレスに送信できる |
設問4(2) | (k)パスワードリセットのURLを、登録済みメールアドレスだけに送信する |
設問4(3) | ①サイトPでポイントが不正利用される②サイトQでA百貨店の商品が不正に購入される |
設問5(1) | (い)2 (う)4 |
設問5(2) | (あ)SP (い)IdP (う)SP |
設問5(3) | (え)SP (か)IdP (き)IdP (く)SP |
【設問1(a)】
LDAP-P、LDAP-Q、LDAP-R (b)LDAP ※サイトPを運用するには、Web-PからLDAP-Pへの通信が必要という点に注意
【設問2】
事前に同意を得たときに利用者に示した利用目的の範囲外で利用することは禁止されています。
よって、利用目的が変わる場合、新たに明確な操作で利用者から同意を得る必要があります。
個人情報保護法にこのようなルールがあることを知らなくても、p5でそのような対応が必要であるという説明が文中にあるので、それをほぼそのまま書き写すことで回答できます。
【設問3(1)】
ユーザ情報は以下の流れで処理されていくため、誤った利用者IDを入力しても紐付けが完了してしまいます。
・図4コードの101行目で呼び出されたAccountLinkにユーザ情報が格納されます。このうち、利用者IDは「childID」に格納されます。
・誤った利用者IDを入力すると、図4コードの処理が進み103行目からのfor文に入り、この中で105行目の「checkChild()」が呼び出されます。
・checkChildは図3の18行目から記述があり、このcheckChild()の中でExceptionが発生すると図4の110行目でchatchされ、一定時間待ちます。その後、再度for文の処理が行われますが、3回しかループしないことになっており、、4回目のExceptionではループを抜けてしまいます。
・図4の113行目のchildChekedの値は図3の19行目でも使用されており、ここでtrueに上書きされてしまいます。
【設問3(2)(e)26】
Exceptionをcatchするには、try構文の中で例外が発生する必要がありますが、選択肢の中でtry構文の中の行番号はウのみになります。
【設問3(2)(h)117】
コメントアウトに記載のある通り、紐付けを実行するのは117行目になります。
【設問3(3)】
32行目で例外を返す前に、childChekedの値をfalseに更新する。
※例外を投げる前に、「認証失敗」の状態に更新することで上書きを防ぎます。
【設問4(1)】
インシデントの報告にある通り、総当たり攻撃で会員番号と誕生日が破られると、任意のメールアドレスにメール送信ができ、パスワードが取得できてしまいます。
コメント