さて、今回は番外編ということで、先日受験した情報処理技術者試験の振り返りを。
ブログのテーマからは大きく逸れますが、今回限りのことなのでご容赦を。

2017年12月20日(水)、同年の10月18日(日)に受験した情報処理技術者試験(情報処理安全確保支援士)の試験結果が出ました。

まず、簡単に結果をまとめると
午前1試験:免除
午前2試験:88点
午後1試験:84点
午後2試験:63点
最終結果:合格

となんとか合格できました。
結果はともかく、今回の受験について簡単にまとめと反省をしてみたいと思います。

1.私のスペックについて

職種:
管理部門系のシステム部(IPAの分類でいうと企画~総務系)
業種:
非IT系
経験部署:
人事総務とシステム部門のみ
システム屋歴:
約2年半(このブログを書いてるときに気づいた)
学歴:
文理融合系の学部卒(副専攻に情報工学があった)
文理区分:
大学に入るまでは理系だったけど、その後は文系(学部と合わせて、応募時のアンケートでいつも困っている)
過去の受験歴(情報系のみ):
基本情報(合格)、応用情報(合格)、ITパスポート(合格)、情報セキュリティスペシャリスト(不合格)、データベーススペシャリスト(不合格)
プログラミングなどの技術系の経験:
必要な時に自分でPython使ったりVBA使ったりするくらい。最近はGoogle Appsが普及してきたのでJavaScriptも使ってる。
サーバや開発環境は自宅で弄ってるけど、完全に玩具。C言語も遊び道具にになってる。

いわゆる典型的なアドミニストレータ側の人間です。


2.勉強法について

2-1.前回受験時の結果と振り返り
2016年の秋に情報セキュリティスペシャリストを受けたが、午後1試験が5割台で不合格だった。

当時の記憶や問題用紙に残したメモ、IPAの解答例や参考書の解説をもとに、自分の敗因を振り返ると、
1.基礎的な知識や経験で解ける問題を、立て続けに落としていた。
2.短文(20~50文字)で解答する形式の問題で手戻りを起こし、大幅に時間をロスしていた。
3.技術系の問題を捨て、運用系の問題に力を入れたことが裏目に出た。

特に1.について、Linux機器に対するSSHのパスワード強度に依存しない利用法(公開鍵を使った認証)、マクロウイルスのような、特定のソフトウェアを利用して攻撃を仕掛けるマルウェアへの対策(端末で利用しないソフトウェアについて、インストールの有無にかかわらず起動禁止設定をかける)といった、実用性はともかく、初歩的な知識で解ける問題を落としたり、「共連れ」や「IDカードの使い回し」への対策のように、問題文を読み込まないと間違えてしまう設問に力をかけすぎたのが失敗だった。

2-2.今回の受験に向けた学習の指針

1.午後試験対策に力点を置く
午前試験は、ごく少数(2,3問)の例外を除いて、既出の問題の使い回し。また、午前試験の点数は午後の結果に影響を与えない上、出題傾向の違いもあって学習の効果が連動しないので、力を入れすぎないよう優先順位を見直した。また、文章で解答する形式の問題を意識して、短文で解答する練習をした。

2.基礎的な知識(ネットワークやサーバの設定、運用など)を優先的に学ぶ
技術系の問題と比べて、運用系の問題は、予想の斜め上を行く模範解答が出てくるので、あまりアテにできない(解説をきちんと読むと、筋の通った理由があるけど)。これに対し、技術系の問題は、WindowsOS独自の機能を求める問題などは滅多に登場しない(運用系の問題に、AndroidとiOSを比較させる問題はあったが)ので、雑誌を片手にサーバを立てたり、診断ツールを適用してみたり、AppGoat(IPAが制作したセキュアコーディングの教材)。などを使って、実際に手を動かしてみた。

3.試験に向けたペース配分を身に着ける
後述するが、これまでの試験では体調を理由に、1時間に1回のペースで離席していた。今回の試験では体質の改善に時間がかかると判断し、「1時間に1回は離席する」「短時間でも全力を尽くせば、そのあとの成果に悪影響が出る」ことを念頭に、80%のパワーで完走する訓練を積んだ。

2-3.具体的な勉強法と教材

1.午前2試験
参考書と過去問のみ。参考書は翔泳社から出ている「「情報処理教科書 情報処理安全確保支援士 2017年版」」(電子版)、技術評論社から出ている「平成29年度【春期】【秋期】情報セキュリティスペシャリスト合格教本」(電子版)と、iTECの「専門知識+午後問題の重点対策」(2016年版)をそれぞれ二週ほど回した(演習問題は飛ばしたけど)。問題演習は情報処理安全確保支援士ドットコムの過去問演習を繰り返した。ただし、電子書籍版の参考書と、過去問の演習は通勤中だけしかやってない。



参考書と過去問のみ。参考書は午前2試験のものと同じ。過去問と解答例はIPAのホームページから、解説は技術評論社の合格教本の付録を使用。同社の付録は、過去8年分の解説を収録しているのでオススメ。この段階では捨て問は作らず、1日1題~2題を目安に、選択問題を片っ端から解いた。そして、正答率よりも、自分がどういう視点で問題を読んで、どんなアプローチで解答したかを模範解答と比較した。余談だが、学習中は、全部テキスト・ファイルに答えを入力していた(字数の確認のため)。

3.午後2試験
参考書と過去問のみ。勉強法は午後1と同じ。ただ、問題文を読む時間も含め、非常に時間を食うため休日などのまとまった時間が取れる時に、1日1問のペースで取り組むのが限界だった(頻繁に外出してたし)。

4.その他の対策
エンジニアとしての経験が非常に少ないので、自宅にサーバやセンサーを設置、色々と弄っている(あんまりできていないけど)。
勉強会は時間を見つけて行っていたけど、効果は不明。ただ、試験で扱っていることが基礎レベルに過ぎないことを再確認する場所としては、非常に有意義だと思う。あと、勉強会で登壇者の言っていることが分からなかったとき、すぐに調べる癖をつけること、色々な人と話をすることは、知識を深め、思考を柔軟にするためにやった方がいいと思う。
また、自分は体調不良を起こしやすいので、無理な勉強は一切しないと決めていた。仕事の繫忙期やプライベートの予定、体調不良によるロスを見越して、達成率が8割になることを前提に計画を組み、多少の前倒しや遅延、未達成は目を瞑った。
以前はStudyPlusを利用していたが、今回は利用しなかった。SNS機能や進捗管理の仕組みなど、非常に優れたシステムだが、「数値で見える学習結果」ばかりに目が行ってしまう恐れがあるので、短期的な数値に一喜一憂する性格の人(自分もそうだった)は避けるのも手だと思う。
基本書や雑誌は可能な限り目を通していた。

3.当日
渋谷区で受験。日曜日の朝にもかかわらず、試験日の少し前に不祥事が発覚した某金融機関の支店前に多くの人が集まっていたので、少し気持ちが楽になった。

1.午前2試験
淡々と解く。あまり印象に残ってないが、新傾向問題が機械学習の過学習に関する問題で、半月ほど前に参加した機械学習の勉強会で扱われた内容だったので、少し嬉しかった。

2.午後1試験
試験中に1度体調を崩す(開始20分後)、Webアプリケーションを題材にした問2に苦手意識があったので、ランサムウェアを題材にした問1とSSL/TLSを題材にした問3を選択。問1は特定のウイルスの機能というより、復号に使う鍵の置き場の違いや、感染者の権限の違いが被害に与える影響、復元やフォレンジックの基礎知識を問う問題など、ランサムウェアと無関係なものだったので少し楽だった。問3はSSL/TLSの問題だが、内容は鍵やハンドシェイクといった基礎的な知識への理解と、それを組み合わせて解く知識問題だった。

3.午後2試験
試験中に2度体調を崩す(時間はチェックしてない)。案の定、試験監督から心配される。最初に10秒ほど問題を眺めて、IoT機器とクラウド・サービスのセキュリティに関する複合問題である問1を選ぶ。選択後は。問題文を読みつつ、知識で解ける多肢選択式の問題や短答式の問題を埋めながら、文章で解答する問題の論点を絞り込む。解答はメモしてないが。ぶっちゃけ、体調が最悪で後半の記憶が飛んでる(笑)。

4.教訓と反省点

1.人の話は最後まで聞け、思い込みは失敗の元
今回の午後2試験で「ネットワークカメラが録画した映像を、暗号化してクラウド上のストレージに保管、ユーザーがスマホアプリで閲覧するシステムを作るとき、ユーザー以外が動画を閲覧できないようにするためには、どうすべきか」という趣旨の問題を全部落としている。問題文からは導けない「映像を暗号化したり復号したりする機能を、新たにカメラに追加できない」という条件を勝手に加えていたから。問題文にない前提を加えて、頓珍漢な回答を書く人が多いことは、講評で指摘されている。実務でも時々やらかしてしまうのだが、与えられた前提条件を確認せず、自分の思い込みで動く癖は、試験がきっかけでもいいので、意識して直した方がいいと思う。

2.ベストではなくベターを意識する
これはCISSPを持っている知人から貰ったアドバイスで、「どんな専門家でも、全ての課題を完璧に解決できるとは限らない。実務やCISSPの試験では、完璧とは言えない対応の中から、比較的マシな選択肢を選ぶ場面が沢山ある」ってことは常に念頭に置いていた。選択肢から共通鍵や公開鍵の方式を選ぶ問題でも、難解なXSSを見抜く問題でも、運営が決めた点数以上は貰えない。採点基準は不明だが、試験に「少しでもマシな結果に持っていく」って意識を持てたのは良かったかもしれない。実際、午後2は合格ラインに近かったし。実務でも、最悪の結果を避けつつ、少しでもマシな結果を狙うよう、意識を変えられたのは少し良かった。

3.試験はあくまでも基礎知識しか問わない、でも基本が大事
以前、周囲の人から指摘されたのだが、今回は「IPAの試験は基本的な知識の問題しか出ない」ということを念頭に置いたのが良かったと思う。今回の試験でいえば、午後1試験では主記憶装置と補助記憶装置の性質の違いを理解していれば解けるものや、ユーザーのアクセス権の違うことで起きる影響を聞く設問があった。それ以外の問題でも、メジャーなポート番号(TELNETやSSH、HTTPなど)の知識を問うものもあったし、それ以外も、技術や運用のキモになる部分が簡略化された問題があった。これで何のスキルが身に着くかは正直疑問だが、問題の解決策を直接探すのではなく、基本的な技術の知識をベースに問題全体を見渡す癖がついたのはプラスだった。

4.時間制限を意識する習慣を持つ
これは、試験を受ける度に思うのだけど、資格試験のメリットは、時間に対する捉え方だと思う。日常の業務やプライベートの予定なら、順延でも時間外の作業でも、ある程度自由にできるけど、資格試験では決められた時間しか受けることはできない(CBT方式の試験なら日程は変えられるけどね)。試験中にトイレに行くことも、水を飲むことも一定の条件で認められるけど、それも含めて試験時間として扱われる。限られた時間に最大限のパフォーマンスを発揮する練習としては、効果があったと思う。

5.まとめ
今回は試験慣れと、問題の引きに救われた気がする。ただ、改めて文章に起こしてみると、単なる暇つぶしではなかったんだなあと改めて思った。といっても、まだまだ技術、運用の両分野で、スキルが足りない部分はたくさんあるので、色々な分野の友人から貰った「試験に合格することはゴールではなくて入り口」というアドバイスを頭の隅に置いてこれからもコツコツやっていこうと思う。