Certified Kubernetes Administrator (CKA) 合格体験記

はじめに

2021年5月16日に、Certified Kubernetes Administrator (CKA) を受験し88%で合格したので、勉強内容や受験時の振り返りをする。一言で感想を言う慣れば、決して難しい試験ではないと思うが、油断してると足元すくわれるいい難易度の試験だと思った(試験問題に関しては口外禁止なため触れない)。また、試験要項や注意事項、禁止事項などは変わる恐れがあるので、常に最新の情報を確認してもらいたい。

Credly でのバッジが増えて嬉しい。
Credlyでの所有バッジ

試験勉強

試験勉強としては主に以下の2つのコンテンツを利用した。

  • Certified Kubernetes Administrator (CKA) with Practice Tests
    • 動画での学習サービスのUdemy のコース
    • 通常時は24000円ぐらいするがセール時には2000円切ることもあるので安いときに買うと良い
    • 自分でクラスタを組む必要もなく無料で利用できるクラスタで解く独自の試験問題もついており最も合格に貢献したコンテンツである
  • Kubernetes完全ガイド 第2版
    • 副読本として読んだ
    • 完全理解はオーバーキルだと感じたので必要な箇所だけピックアップして優先的に読んだ(後日読んでいない章を楽しむ予定)

その他、過去の受験体験記を色々読み漁ったりした。ただ、本試験は受けた時期によって試験要項 や試験時間などが異なっているため注意が必要である。また、勉強する際に気をつけたこととして以下が挙げられる。 - 勉強しながらブックマークを作成していく - 試験では許可されたWeb リソースのみ閲覧可能なため、できるだけ多くブックマークを作成しておく - しかしながら、ある程度勉強したり使い慣れている人だとあまり見る場面も多くない気がするので自分のスキル感に合わせて用意する - kubectl run busybox --image busybox -oyaml --dry-run=client --env key=value --command sleep 4800 > busybox.yaml のように宣言的にリソースを作る練習をしておくこと - 一部この方法では設定できないパラメータなどがある(例: kubectl expose で nodePort の設定はできない)ためYAMLを作成してから手で編集することにも慣れておく - PersistentVolume や PersistentVolumeClaim を始めとしてこのような作り方ができないリソースに関しては、Kubernetes Documentation の該当ページの例をコピペして編集する - CKA は管理者試験なので、Kubernetes クラスタの構築や各コンポーネントの役割なども理解する

試験前日

今回は自宅で受験するためデスク周りの掃除をした。特に机の上には必要最低限のものしかおいてはいけないため、不要物は隠したりした。実際のイメージとしては、以下の写真を参考に。

試験場所

その他、MacBookPro自体のDockから不要なアプリケーションを消したり(誤って起動するのを防ぐため)、Chrome でCKA 専用のプロファイルを作成するなどした。タブを3つ開いてはいけないという決まりもあったので、ショートカットで誤ってタブ開かないようにタブ数を制限するExtension などを入れたりしていた。

受験当日

受験当日は11:00 - 13:00 で試験の予定だったが、10:45になっても試験官がやってこなかった。試験ページにチャット機能が備わっているためそこで連絡したが結局11:00になって試験官がやってきた。そこからパスポートを見せて本人確認したり、部屋の中をMacBookPro の内蔵カメラで移しまわったりしたため試験開始は11:30頃となった。
試験開始してすぐに.vimrc を書いたり、alias k=kubectl などやる予定だったが変に緊張してしまいそれを忘れて問題を解き始めた。前述したとおり冷静になればすぐ解ける問題も少し焦ってしまいとりあえず解けそうな問題から着手することにして、徐々に得点率を稼いでいくスタイルでやった。最終的に数問勉強不足でわからない問題があり最後それを粘って終了だった。受験後は24時間以内に合否連絡が来るとメールが来ていた(36時間経っても音沙汰なければ問い合わせろともか書かれていた)。実際自分は、約24時間で合格通知が来た。
また、様々な受験体験記に、Proctor ツールが停止してブラウザ再起動したや試験環境フリーズしたなどを見かけたが自分は一度もそんなことなく試験時間が遅れたこと以外は何も不自由なく試験完了できた。

おわりに

初めてセキュリティ以外の実技試験が含まれる資格試験を受けたので緊張していた。終わったときは正直落ちていたと思っていたので、合格したことに結構驚いている。また、合格したとしても合格点すれすれだと思っていた。この資格取得のための勉強を通して浅く広くKubernetes のことについて学ぶことができたのはすごく自分にとって良い経験になった。まだ、自宅でKubernetes 環境をしっかりと構築していないので、合間見つけてやっていこうと思う。また本業であるセキュリティエンジニアとしての職に、この資格で学んだことを活かしていきたいと思う(業務はまったく関係ないが...)。

謝辞

試験時間を確保するために雨の中娘を抱っこして家を開けてくれた妻、そしていい子にしててくれた娘には感謝です。

GIAC Exploit Researcher and Advanced Penetration Tester (GXPN) 合格体験記

tl; dr

  • GIAC Exploit Researcher and Advanced Penetration Tester (GXPN) に85% で合格した
  • 勉強方法
    • 受講したトレーニングのテキストを読み込むのと、演習をすべてやり直す
    • 模擬試験を本番と同様の状況で受ける(紙の辞書やテキストを用意して)
    • 実技テスト対策に、模擬試験では環境に慣れておく

はじめに

GIAC Reverse Engineering Malware(GREM)合格体験記 を書いてから約半年で2つ目のGIAC資格を取得することができた。前回は初めてのGIAC 試験だったのでたくさん文章を書いたが今回は簡単に勉強方法と感想だけ書いておこうと思う。
GXPNは、SANS 660 Advanced Penetration Testing, Exploit Writing, and Ethical Hacking に対応するGIAC資格で、主にペネトレーションテスト に関する分野の問題が出題される。前回同様、トレーニング自体も受講したのでテキストや模擬試験x2を受けることができた。どんな問題が出題されるかは、公式サイトを見てほしい。

勉強方法

前回のGREMの記事で書いた事とまったく同じ感じの勉強を行った。しかしながら、GXPNでは実技テストが存在するため、具体的な中身については言えないが、トレーニングでやった演習などを通じて、「こういうことをやりたい場合、どのツールを使って、どうすればいいか」などがパッと浮かぶレベルには仕上げた(つもりだったがいくつかわからずもどかしかった)。また実技テストの環境が若干癖があるので、模擬試験を通してなれておくことをおすすめする。

試験中

今回の試験自体は、3時間だったが2時間程度で終える事ができた。というのもわからない問題が多くて、結構な数をスキップしたためかなり早く進んでしまっていた。最後スキップした問題が10問残っている状態で1時間30経過とかだったので、落ち着きながらテキストを見返したりしてスキップした問題を解いた。前回もそうだったが、「この問題があってれば合格できる!」といった願掛けみたいなことを脳内で思って答えた。最後の問題に答えたら、画面には85%という文字が見えて一安心した

おわりに

所感だが、10月7日~12日にトレーニングを受けて11月1日の試験だったので、かなり勉強時間が短くて大変だった。1日ガッツリ勉強して行けそうだと思ったので、パッと翌日受けることにしてしまったが、前回もそんな感じで受ける日程を決めていたし、そのほうが良いのかもしれない。まぁなんとか良い得点で合格することができたのでほんと良かった。最近は、家庭内も仕事も共にすごく忙しく大変な時期だったので、そういう中でもちゃんと合格できたのは結構嬉しかった。家事など全面的に協力してくれた奥さんには本当に感謝の気持ちしかない。

GIAC Reverse Engineering Malware(GREM)合格体験記

tl;dr

  • GIAC Reverse Engineering Malware(GREM) に 81.33% で合格した
  • 勉強方法
    • 受講したトレーニングのテキストを読み込むのと、演習をすべてやり直す
    • 模擬試験を本番と同様の状況で受ける(紙の辞書やテキストを用意して)
    • 少しでも詰まった概念などについては、ググって知識を補完した
  • レーニング以外の総合計勉強時間は30 ~ 40時間ほど
  • 試験言語は、英語だが英語自体の難易度は高くない
    • よっぽど英語に自信がない限りは、保険のために紙の辞書を持っていくと良い

はじめに

今回GREMと呼ばれるGIACのマルウェア解析系の資格試験を受けてきて、見事81.33%で合格することができた。この資格については、あまり情報を公開できないのだが、触れられる範囲で勉強法など当日までの道のりをメモしておく。私自身、初めてGIACの試験を受けたのだが、あまり事前情報がない(日本国内の)ため、今後受ける人の参考になると嬉しい。

はじめに、この手の話は筆者のスペックを語っておいた方が勉強時間や勉強方法などの参考になると思うので少し触れておく。私は、CTFを通して主にELFファイルの解析等を3年ほどやっているため、普通のx86amd64のバイナリ(逆アセンブル結果)なら苦じゃなく読むことはできる。しかしながら、PEバイナリなどWindows環境やWin32 API、今流行りのマルウェアやキャンペーンなどについては、ド素人である。マルウェアがどういうレジストリキーを書き込むとか、どんなファイルを作成するとかその手の話題も正直あまり詳しくない。そこで、私は2019年3月にSANS For 610というコースに参加してきた。そのため、何もトレーニングを受けてない人に比べるとかなり優位ではある。このコースでは、主に前述した内容などを学んできた。そのため、当初に比べるとかなりスキルは上がったような気はする。また、英語スキル的には、英語で書かれたドキュメントや技術洋書は苦じゃなく読むことができるが、ちょこちょこ英単語ググりながら読んでるレベルである。正直得意ではない。以上がざっとしたスペックである。

勉強方法

レーニングを受講してから、およそ4ヵ月以内に本試験を受けなければならない。社会人2年目になった私は、あまり勉強時間が取れないと思い、このGWに勉強しようと決めてGWに突入した。当初の予定では、このGWに勉強して、受験期限日のギリギリに試験を受ける予定だった。

SANS For610では、5日間にかけて講義を行う。そのため、5つのテキストが手元にはある。そこで、1日1冊を丁寧に復習するようにした。1冊復習するのに、だいたい5,6時間はかかったと思う。テキストの復習では、主にテキストの内容をざーっと眺めつつ、トレーニング中にやっていた演習などをやり直した。しかしながら、バイナリ解析の基本的なところはすでに得意分野だったので、x86アセンブリ自体の話などは斜め読み程度だった。特に苦手なPE周りやマルウェアの特徴的な挙動だったり解析方法、ツールの使い方などに注力した。公式サイトで、試験でどんなことが問われるかなどは書いてあるので、絶対に見るべし。

GIACの試験では、トレーニングテキストを持ち込むことができるため、必要なことをすべて丸暗記する必要はないが、ある程度覚えておいたほうが必要なときに参照するスピードがあがるので良い。また、英語の試験だが、紙の辞書も持ち込める ため英語に自信がないなら持ち込んだほうが良い。

すべてのテキストを復習し終えたら、模擬試験を受けた(模擬試験のスコアが73,4%程度だったので、実はこの時かなりスレスレで、内心険しかった。)。模擬試験を受ける際は、本番と同じ時間、状況で行うことをおすすめする。そのため、紙の辞書なども用意して受けた。あまり問題などについては詳しくいえないが、模擬試験を受けると結果が見れるので、そこで苦手分野を特定して、再度その分野を勉強し直した。その際は、最初よりもより丁寧にテキストを読み込んだり、少しでも詰まった単語や挙動、概念などについてはテキストにとどまらずググって知識を補完した。模擬試験ではだいたい試験時間の半分以下で解答し終わっていたので、本番は丁寧に英文を読み、時間をいっぱい使おうと決めた。また、私は、模擬試験を受けた翌日に本試験を申し込んでいたので、苦手分野を復習し終えた後は、ひたすら寝る時間が来るまでテキストの精読と疑問点や気になったところの知識の補完に努めた。このフェーズでは、もう演習系はやらなかった。総合計の勉強時間としては、30~40時間ほどはやったと思う。

当日

当時は、朝起きてすぐに昨日の復習をして、試験開始の1時間前ぐらいに試験会場に向かった。事前に本人確認などの手続きがあるため、最低でも15分前に来いと書かれていた。持ち物としては、私が受けた試験会場(もしくはGIAC)では、顔写真付きの公的証明書系が2つ必要だったので、パスポートとマイナンバーカードを持っていた。また、試験予約したときのメールも印刷しろと書かれていたので、持っていった。正直ここらへんは、人の記事読むよりはちゃんと自分で現時点で必要なものを確認することをおすすめする。その他、トレーニングテキスト一式と紙の英和辞典を持っていた。

試験中

パソコンでぽちぽちやるのだが、トレーニングテキストを持ち込むとやたらと机が狭くなり難しかった。それに加え辞書などを持ち込んでいると机が狭く圧迫感を感じるので気をつけてほしい。試験中は、ひたすら問題解くのとテキストや紙の辞書をめくりまくった記憶がある。私の場合は、模擬試験でかなり時間が余っていたので、すぐに答えがわかっても再度テキストを見直して本当にあってるかなどを再確認したりして解いていった。これでケアレスミスを防げたので、この作業が合否を分けたと思う。結果として、1時間30程度で本試験を終えた。また、本試験の特徴として、わからない問題など後で見返すために問題をスキップできるのだが、結局10問ほどはそれをやって最後に解いた。定期的に、「あーこの話どこかで見たけどテキストで見つからねぇ・・・」みたいなのがやってくるから、そういいった問題はすぐにスキップした。最終問題を解き終えると、その場で合否がわかる。そのため、「この問題があってれば合格できる!」といった願掛けみたいなことを脳内で思って答えた。最終問題を答え、出てきた画面には、合格を表す文章が現れていた。やったぜ。

やっておけばよかったこと

合格しておいてアレだが、個人的にやっておけばよかったことを箇条書きでまとめておく。

  • もっと詳細にテキストを読み込む
  • テキストだけでとどまらず用語や挙動などをインターネットで調べる
  • 英語の勉強
    • 文意が読み取りにくいことがあり、何を問われているか若干わからず時間を溶かした
  • 紙の辞書をめくる練習
    • 久しぶりで結構もたついた

おわりに

以上が、GREM合格までの話である。一般に、資格試験というのは比較的勉強した成果がちゃんとついてきてくれるものだと思っている。受ける方は、ぜひいっぱい勉強して受かってほしい。この試験勉強を通して学んだことはとても有意義で良いスキルが身についたと思った。某なんちゃら支援士よりもよっぽどスキルが身についた気がする。

所感だが、なんとかGWの勉強の成果が出てよかった。実は、本試験は、受験期限日のギリギリに受ける予定だったのだが、模擬試験でスコアがふるわず若干ヤケになって模擬試験を受けた翌日に試験を申し込んでいた。その結果、夜に飲み会があるのに、午前中に試験を受けるというアホなスケジュールになってしまった。不合格だったら落ち込んで飲み会に行くつもりだったが、それは避ける事ができたよかった。

最後に、勉強時間を捻出するために、家事など全面的に協力してくれた奥さんに感謝したいと思う。