はじめに
本記事は過去に作成したGIAC試験攻略法に追記修正し、体裁を見直したものです。
GIACとは
GIACは、GCFA、GPEN、GCIHなどの資格試験を開発している組織の名称です。すべての資格名の冒頭に「GIAC」の「G」が付きます。
GIACが開発している資格試験は50種類以上あり、ペネトレーションテスト、フォレンジック、マルウェア解析といったセキュリティの各分野に特化したものと、セキュリティ全般を広く扱ったものの両方があります。
資格試験の一覧は以下を参照してください。
GIAC資格の種類
これまで私が取得したGIAC資格や、他の方が持っている代表的なGIAC資格として、GCFA,GPEN,GCIH,GREM,GSECなどが挙げられます。
これらはPractitioner certificationsと呼ばれており、いずれも対応するSANSのトレーニングがあります。
GCFAであればFOR508、GPENであればSEC560です。
これとは別にApplied Knowledge certificationsと呼ばれる資格があり、本記事執筆時点でGX-IH、GX-CS、GX-IA、GX-FA、GX-PTの5つが存在します。
これらの資格はいわゆる上位資格であり、対応するトレーニングは存在しません。ただし、試験範囲に最も近いトレーニングコースは存在します。GX-IHであればSEC504、GX-CSはSEC401です。
試験形式
試験によって難易度、内容は異なりますが形式は基本的に決まっています。
共通ルール
最初に試験によって変わることがない共通のルールについて記載します。
言語
どの試験も共通して英語で出題されます。問題文だけでなく選択肢ももちろん英語です。
ただし、画面キャプチャを見て解答する問題もあり、その場合の問題文は、「以下の画面キャプチャから言えることは?」のようなもので、英語を読まなくても解答できます。
試験問題の英語は理解しやすい文章になっており、辞書がなくても解答できる問題が多いと思います。
不安な人は辞書を持ち込んだり、よく出てくる英単語と和訳のリストを作っておくと良いと思います。
オープンブック
GIACはすべての試験がオーブンブックです。印刷物であれば模擬試験のコピー以外、すべて持ち込むことが可能です。トレーニングコースのテキストはもちろん、英和辞典、自作の資料、市販の書籍も持ち込み可能です。
ただし、すべての問題の答えを持ち込み資料から探すことは時間的にできません。半分程度は何も見ずに解答するつもりで準備した方が良いです。
回答は1回のみ
一度解答を決めると後から変えることはできません。
ただし、Skipボタンを押すことで一定数(試験によって異なる。10問または15問)の問題のみ後から解答することができます。
なお、Skipボタンの下にフィードバッグを送れるボタンがあります。これは試験問題にスペルミスがある、正解が2つあるように見えるなどの不具合があった場合に報告するボタンです。ただし、仮に不具合があったとしてもその問題を採点対象外にするなどといったことはできません。実際に問題の不具合を見つけたことはないですし、このボタンは基本的に使わないと思った方が良いでしょう。
15分の休憩時間
試験時間とは別に休憩時間として15分用意されており、いつでも取ることができます。この休憩時間でトイレに行くことも可能です。休憩時間はどの試験でも共通して15分です。
この休憩は2回まで取ることができ、2回の合計時間が15分です。
試験ごとに異なるルール
ここからは試験によって異なるルールを記載します。
Practitioner certifications
Practitioner certificationsは、GPEN、GCFA、GREM、GCIH、GSECなどの種類があります。
以下に日本人がよく取得している資格を挙げます。
攻撃技術を扱うオフェンシブの分野ではGCIH、GPEN、GWAPT、GXPNなどを見かけます。GIACでは赤色のロゴになっています。このうちGCIHはインシデントハンドリングの資格とされていますが、実際に受験した経験からはオフェンシブ分野の資格だと思いました。GXPNはSEC660に対応する資格でGIAC最難関の一角と聞いたことがあります。
ディフェンス分野ではGSEC、GCIA、GCED、GPYC、GSOCなどです。GIACでは青色のロゴになっています。防御技術を扱う分野ですがその幅は広いです。GSECは攻撃技術も含めたセキュリティ全般、GCIAはパケット調査に関する分野全般、GCEDはセキュリティの各技術分野から出題、GPYCはPythonによるコーディング、GSOCはSOCアナリスト向けという具合にバラエティに富んだ資格があります。私の個人的な経験からは、他の分野に比べると、この分野の試験は比較的易しめかなと思います。
DFIR(デジタルフォレンジックおよびインシデントレスポンス)分野ではGCFA、GCFE、GNFA、GBFA、GIME、GREMなどです。GIACでは黒色のロゴです。WindowsフォレンジックのGCFE、macOSとiOSのGIME、保全に特化したGBFA、マルウェア解析のGREM、そして大規模なインシデントの調査のGCFAです。特にGCFAは取得者も多く、この分野では著名な資格と言えます。
Practitioner certificationsの場合、ほとんどが3~5択の選択式です。試験によってはCyberLiveと呼ばれる仮想マシンを操作して解答する問題が1割程度あります。
問題数は試験によって異なり、75問~106問であることが多いですが、これ以下の問題数の試験もあります。
試験時間も試験によって異なり、2時間、3時間、4時間のいずれかです。
Applied Knowledge certifications
Applied Knowledge certificationsは前述のとおり5種類あり、共通してCyberLiveの問題が25問、試験時間は4時間です。
試験攻略法
ここまでに記載したGIACの試験ルールと形式、さらに多くのGIAC試験に合格した経験も踏まえた攻略法をご紹介します。
Practitioner certificationsの攻略法
勉強方法
多くの人が受験するであろうPractitioner certificationsは、原則として対応するトレーニングコースの内容から出題されます。このためいかにコースの内容を理解し、かつ問題で問われている内容をテキストから探せるかが勝負です。
多くの受験者はインデックスと呼ばれる目次に相当する資料を作成しています。私もこれを強く推奨します。
インデックスは自身の好みの形式で良いと思いますが、多くの人が以下のような形式で作成しており、私もこの形式を採用しています。
これを作成するためにはテキストを一読する必要があります。時間はかかりますが、おそらくこれが最も早く合格する方法です。
言葉 | 意味 | ページ番号 |
---|---|---|
CIA | 機密性、完全性、可用性 | 10 |
ペネトレーションテスト | 疑似攻撃 | 11 |
もし英語に不安があれば、上記に加えて英語と日本語の対応表を作成しておくと良いと思います。以下のような形式で良いと思います
英語 | 日本語 |
---|---|
vulnerability | 脆弱性 |
detect | 検出する |
私が行っている準備は以上で、後は模擬試験を受けてインデックスを見直したり、理解が足りないところを再度確認したりします。模擬試験を2回受け終わる頃にはテキストの内容はほとんど頭に入ってくると思います。
なお、模擬試験の1回目で不合格でも悲観する必要はありません。1回目不合格で焦ったこともありましたが、きちんと復習しておけば2回目では合格点を取れることが多いです。
また、模擬試験の英語はネイティブ向けなのかわかりにくいことがあります。選択肢も判断に迷う表現になっていることが多いように思います。
本番の試験問題はかなりわかりやすく書かれており、選択肢も正しく判断すれば正解が導けるようになっています。このため英語がわからなくて模擬試験が突破できないという人でも、本番では意外と読めるかもしれません。
CyberLive問題について
Practitioner certifications試験のCyberLive問題は、基本的にトレーニングコース内のラボが理解できていれば問題ありません。問題文に使うツールが指定されていることも多く、まず間違えることはないでしょう。
トレーニングを受けていない場合でも、その分野の知見が十分にあれば正解できるはずです。
選択式問題より配点が高いとされていますが、問題自体は簡単なことが多いように思います。
なお、Practitioner certifications試験のCyberLive問題は基本的に全問正解または1問ミスに抑えることが合格においてほぼ必須だと考えた方が良いと思います。
私はCyberLive問題が出題されるGIAC試験を複数受験していますが、本番の試験でCyberLive問題を全問正解できた試験はほぼ80%を超えているのに対し、1問ミスしたGSECは79%でした。GSECは全体的に入門向けの問題ばかりで、全体的に得点で来ている分野がほとんどですが、CyberLiveの1問ミスが得点を大きく下げていると思われます。
一方、GIAC最難関とも言われるGXPN試験も同じ79%でした。こちらはCyberLive問題を全問正答できたおかげで選択式問題のミスを取り戻せたと思います。
模擬試験の成績や本番の成績を踏まえると、選択式問題を1点とすると、CyberLiveは3点ほど、つまり3倍の配点になっていると思われます。この配点であると仮定して正答割合を計算すると、模擬試験においては実際の成績とほぼ一致します。
試験の難易度
Practitioner certifications試験にはペネトレーションテストのGPEN、GWAPT、フォレンジックのGCFA、GCFE、マルウェア解析のGREM、Cyber Defense(攻撃を検知あるいは予防する分野をGIACではCyber Defenseと呼んでいるようです)のGCIA、Pythonに特化したGPYCなどの個々の分野に特化した試験や、GSECのようなセキュリティ全般を広く試験範囲としているものがあります。
いずれの試験であっても攻略法は上記の方法で問題ありませんが、難易度は試験によって大きく異なります。概ね対応するトレーニングコースが400番台であれば簡単、500番台であれば中くらい、600番台であれば難しいという大雑把な区分はあります。
しかしこれもそれほど正確ではありません。後述しますが、例えばSEC504に対応したGCIHは500番台としては簡単な試験だと思いますし、同じ500番台の中でも難易度は異なります。
個人的に特に難しいと感じたのはGCFA、GREMです。GCFAは初めて取得したGIAC資格であったこと、あまり使ったことがないツールが多く含まれていたため難しいと感じました。GREMはいくつかのツールは使用経験がありましたが、アセンブラの読解が特に難しいと感じました。
逆に簡単だったと思うのは、GSEC、GCIH、GBFAです。GSECは試験そのものが簡単です。範囲こそ広いですが、ある程度セキュリティ分野を経験していればトレーニングなしでも合格できるレベルです。GCIHも脆弱性診断の経験があれば難しくありません。GBFAは主に保全方法から出題されるため、フォレンジックの経験がある程度あればそれほど難しくはないでしょう。
Applied Knowledge certificationsの攻略法
私はGX-IAに合格しています。合格直後に書いた受験記も参考にしてください。
GX-IAを受けてみた感想としては、直前に受けたGCIAの続きという感じの試験で、使われるツールそのものは同じであることが多いものの、一発で解答できる問題は少なく、複数ステップが必要な問題ばかりでした。
テキストの内容を理解していれば解答できるPractitioner certificationsより難易度が高く、実際に手を動かせないと合格は難しいと思います。
現状ではこうすれば合格できるというものはないのですが、試験範囲に最も近いトレーニングのテキストがあるなら一読しておくことと、CyberLiveで解答できるように各種ツールをオプションも含めて使い込んでおくことが重要かなと思います。
メタ推理
これは完全に試験テクニックなのですが、私は解答がわからない問題や英語が理解できない問題に対してメタ推理をしています。格付けチェックでGACKTさんが行っていたものと同じで、問題そのものに解答するのが困難な場合、作問者の意図を読み取るというテクニックです。
一般的な4択の試験問題は4択のうち2つは明らかな不正解、残り2つで解答に迷うように作られています。
このため解答の性質が異なるものを見つけることで正解に近づけます。
例えば4択の回答が以下の4つだったとします。
1.機密性
2.完全性
3.汎用性
4.冗長性
特に問題文がなくても、セキュリティの試験だったら1か2だろうという予想はつくと思います。これだけで4択から2択まで絞れました。
選択肢がツール名であれば、問題文はおそらく「〇〇という操作をするためのツールはどれですか?」のような問題でしょう。選択肢のツールのうち、用途が似ているものと異なるものがあると思います。例えば選択肢にhashcatとjohnがあった場合、ユーザのパスワードを特定するという目的においては、普通はどちらを使っても良いはずです。答えは1つなので、この2つは正解ではなく、問題文はユーザのパスワードを特定するためのツールは問われていないことが予想できます。
逆によく似ているけど若干違うツールが出てくるかもしれません。例えばddとFTK Imagerはディスクの保全を行うという点では同じですが、FTK ImagerはGUIであり、機能も豊富です。この点を踏まえると、問題文で問われている内容は、「GUIのツールはどれですか?」や「メモリダンプをするためのツールはどれですか?」になるでしょう。
あるいは問題作成者の気持ちになって考えてみるのも手です。前述のとおり、4択から2択までは絞りやすく、2択から正解を見つけるのは難しいというのが一般的な試験問題です。つまり4択のうち2択は明らかに間違いなのですから、仲間外れを探すつもりで選択肢の違いを見つけてみるのも良いと思います。
例えば先ほどのddとFTK Imagerの例であれば、他の選択肢は明らかに用途が異なるnmapだったりMetasploitだったりするかもしれません。ddとFTK Imagerのどちらかまでは絞れずとも、明らかにnmapやMetasploitではないとわかるなら、正解する確率を大幅に上げることができます。
以上のように解答がわからないという場合でも、作問者の意図を読み取ってみたり、性質の異なる選択肢がないか探してみるなどの方法で正解を特定したり、選択肢を絞り込むことができる可能性があります。
これから初めてのGIAC試験に挑む方の参考になれば幸いです。