2022年6月、GIAC のGold paperの2回目の合格を無事果たしました。
日本でも、サイバーセキュリティをある程度やっている人ならば、SANSのトレーニングやそれに伴うGIACの認定試験について知っている人も多いと思います。
GIACはアメリカのSANSが運営している資格ですが、そのレベルからグローバル資格として、特に実務的な能力があることを示す資格として高難易度と言われています。
「ホントかなぁ~?」と思うそこのアナタ!ググってみてくださいよwww
さて、今回はそのGIACの有資格者が、「Gold認定(GIAC Gold status)」にステップアップするために書くGold paperについてのお話です。
保有している資格に応じた論文(paper)を書き、内容を査読されて合格すれば認定される、というものです。
(当然、全文英語というところで、英語苦手な私はハードルが高いどころかそこでもう高跳びのレベルなのですが・・・)
GIACの公式でも受験の手順が書かれており、これをよく読めば普通に受験し、合格することが可能です。
今回は、私自身の体験を元にした受験の流れの紹介です。
私の周りでも、GIACの資格は持っているものの、Goldまでは取ってないという人ばかりなので、「どうせならGoldも取ればいいのに」ってことで、私の体験を書いておこうと思いました。
読んでみて、「これくらいなら私にもできる」と思うか、「こんなんムリゲww」と思うかは各個におまかせしますw
*注:あくまで私の視点での記録なので、難易度や感じ方はもちろん差があると思うのでご了承ください。
受験の条件
GIAC Goldの受験では、いくつかの必要項目があります。
まず必要なのは、「論文を書こうとしている内容に対応したGIACの資格」です。
あたりまえだろうwww
という話なんですが。
私、1つめのGold Paperのネタができた時、まだGIACの資格持ってなかったんだわwww
・・・という、計画性の無いおバカさんも稀にいるんですわ。
WannaCryの解析に成功して、ワーム部分の分析結果とそれを利用した検知・遮断方法の発見と解説、って内容だったので、マルウェア解析の「GIAC GREM」を短期集中決戦で勉強して合格し、その後1ヶ月もせずGoldの試験を申し込みましたわ。
こんな風に思いつきで受験せず、みんなは計画的に受験しような?
実際のところ、現在自分が持っているGIACの資格に対応したネタを探すことになると思います。
(実際、2回目はそうなった。)
概ね、自分が持っている資格とやっている仕事または研究は被ると思うので、ネタが的外れってことで心配することは無いとは思いますが。
GIACの資格系統については、SANSの以下のHPに掲載されています。
SANS Cyber Security Skills Roadmap
「SEC401のGSEC取っておけば、概ねどんな内容のGoldペーパー書いてもいいんじゃなかろうか?」という気がしないでもないけど、一応レベル感もあるのでそこも考える必要があるでしょう。
実技系では、レベルが上がると大まかに「サイバー防衛のオペレーション」、「ペネトレーションテスト」、「フォレンジック調査とインテリジェンス収集」の3ルートに分類されています。
これは聞きかじりの話ですが、SANSのトレーニングに数字が振られていますが、一番上の桁(百の位)の数字も大きい方が難易度が高いと言われています。
私の持っているGREMは、「3. CRUCIAL SKILLS, SPECIALIZED ROLES」の「Threat Intel & Forensics」に分類されているFOR610 Malware Analysis となっています。
あれ?おっちゃん無名のクセに割とグレード高い・・・?
マネジメントはそれだけで独自の系統となっています。
また、近年需要がでてきたクラウドやICSがポツンと出てきており、時代の流れと発生した課題に対応してカリキュラムも増えていっていることが分かります。
SANSの系統はこのようになっているので、自分が得意とする系統でどのようなトレーニングや資格があるかを確認し、受講や受験の準備をすると良いでしょう。
テーマの選定と論文の目途
GIACの有資格者であれば、基本的にいつでも Gold paper に挑戦できます。
ただし、やはり合格を目指すには、下準備は整えておいたほうがいいでしょう。
GIACの注意事項にもありますが、論文にはページ制限があり、図表を含めても30ページ以内です。
また、通常は20ページ以上は必要、となるので、それぐらいのボリュームになるネタである必要があります。
Gold Paperの試験は長丁場で、6か月以内に最終版を提出となっています。
ただし、この期間全てを自身が原稿を書くために使えるわけではありません(後述)。
Gold paperの受験時には、必ず1名のMentorがアサインされます。
原稿が出来上がると、そのMentorに提出して、評価してもらいます。もちろん、よほどペーパーを書き慣れている人でなければ一発でOKということはなく、不備を色々指摘されます。
それを修正してまた提出・・・というサイクルを繰り返します。
このやりとりは、割と時間がかかります。
Mentorは現場で実績のあるプロの方が付いてくれるのが大きな魅力ですが、反面 Mentor の方はたいへんお忙しいです。
なにしろ、現役最前線の人なので、調査の真っただ中だったり、フォーラムに呼ばれて数日出張だったりします。
その中から、時間を割いて読んでもらい、指摘していただくので、当然レスに時間はかかります。
一回提出したら、1~2週間は回答に時間を要するものと思っておいたほうがいいでしょう。
返信の指摘に対して、内容や文章を修正したり、追加で調査したり、参考文献を探したりと、受験者自身の作業時間も必要なので、提出と返信受け取りのサイクルを1ヶ月で2サイクルいけるかどうか、といったことになります。
このため、最初の提出が遅いと、Mentorの指導や筆者の推敲が間に合わなくなり、時間切れで不完全なまま提出するか、最悪提出できなくなってしまいます。
試験は、まずはWeb上のGIACのアカウントで Abstract を書いて申し込み、その Abstract が認められた後、受験者が試験費用を振り込んでGIAC側がそれを確認し、 Mentor をアサインした日から開始になります。
締め切りの期日と Mentor のアサインおよび連絡先のメールが届きます。
このため、Abstract を書く段階では、書く内容の全体の検証等は一通り完了しているか目途がついており、全体の構成も決まっているほうが余裕をもって試験に臨めると思います。
ちなみに、私の場合では、2回目の試験で以上のような準備をしたうえで最終提出までに4か月ほどを要しました。
特に、私のように英語が苦手な人は、翻訳や文法ミスのチェックに結構な時間がかかるため、注意が必要です。
私の考える論文内容の考え方や注意事項
この項は、GIACの公式ではなく、あくまで私の私見ですので、それを踏まえて読んでいただくか、すっ飛ばしてください。
GIACの Gold Paper の解説をしっかり読めば書いてあるので、そちらが最も正しく最優先であることが前提ですが。
私が Gold paper を書くにあたっては、やはり一般的な論文の要件は意識しました。
すなわち
- 新規性
- 有用性
- 信頼性
をある程度以上担保することを意識しました。
例えば、特に新しいわけではないサイバー攻撃であったとしても、それまで指摘されていなかった特徴の発見や画期的な対策が見つかったなら、それは十分新規性もあり、有用性もある、ということになります。
また、技術的な根拠を示したり、実際の検証結果を示すことで、信頼性を担保すべきでしょう。
これは、「実用性で定評がある」と言われる SANS なので、技術的な裏付けは特に意識しました。
Gold の1本目となった「Reverse Engineering of WannaCry Worm and Anti Exploit Snort Rules」では、
- 新規性
- 今まで(少なくとも自分で色々調べた限りでは)提案されていないEternal Blue および Double Pulsar のSnort定義を提案する。
- 有用性
- 提案したSnort定義であれば、マルウェアのペイロードが暗号化によって変化しても検知に影響がなく、効果的にWannaCryの攻撃を遮断できる。
- メタ情報をターゲットとしたSnort定義の有用性と優位性を示す。
- 信頼性
- マルウェアを実際に解析して技術的根拠を示す。
- 提案したSnort定義で本当に検知できるか、模擬的な環境を構築して実際に検証し、有用性を証明する。
といった点を重視して、これらを軸にした文章を心掛けました。
Gold 2本目となった「Malware Function-based encryption technique」では、
- 新規性
- 関数単位での暗号化と復号化についての仕組みや動作について、詳細に解説しているものがなく、その説明や解析方法の提示に新規性があると考えた。
- 有用性
- マルウェアで実際に使われている仕組みや解析方法を解説することで、他のアナリストが解析するために有用な情報となることを目指した。
- セキュリティ製品の改善に資する情報の提供を目指した。
- 信頼性
- マルウェアを実際に解析して技術的根拠を示す。
といった点を重視して、これらを軸にした文章を心掛けました。
これらは、あくまで私が2本のGold Paperを書くにあたって強く意識した軸であり、この考えが正しいと強弁する自信まではないですが、少なくとも私の場合はこれが奏功したと思っています。
また、論文の構成では、以下のような構成になるようにしました。
- 問題の提起
- 問題(技術)の解説
- 解決法の提示、可能であればその検証
- 結論
支援体制
オマケ程度の話題ですが、周りに助けてもらう体制もあったほうがいいと思います。
Gold Paperでは、Mentor 以外の助言はNGなんてことはありません。
同僚や学識者に下書きの論文を見せて所感をもらって修正してもかまいませんし、私の場合は「ネイティブの英語ができるフレンドはいないか?」なんてことまで Mentor に聞かれました(それだけ英語がボロボロだったんだyo!)。
特に私のように英語が苦手な場合、有償ですが次善の策としてネイティブチェックも視野にいれてもいいかもしれません。
ツールの活用もアリです。
私の場合、英語がダメダメなので、グラマーチェックの Grammarly をインストールしてチェックしました。
というか、そもそも最初か2回目の提出のあと、Mentor からのレスで Grammarly でのチェック結果も添付されていたりして・・・。
結構な指摘があり、私も焦って同じツールを導入して文法の不備を潰して回ったり、言い回しを全面的に見直したりなどをしました。
こういったことは、一般的な大学の論文でもOKな範囲だと思います。
Gold paperでも、同様の範囲内なら認められるようなので、完成度を高めるために活用するといいでしょう。
もし不安なら、Mentor に相談してみてもいいと思います。
え?それならゴーストライターによる代筆もできるんじゃないかって?
GIACのGold paperクラスを代筆できるゴーストライターの知り合い、いる?w
そんなん代筆するくらいなら、自分でGold取って「ワイがトップレベルやぁ(ドヤァ)」ってすると思いますけどネ。
以上、GIAC Gold Paper を書いた経験から、取り掛かる前に必要な準備等について書いてみました。
もしかすると、後で思い出して追記・修正したりするかもしれませんので、その点はご容赦を。
次回は、試験編を書こうかなと思います。