みなさんこんにちは、事業推進部の中堂です。
Offensive Security社の資格であるOSCE3(Offensive Security Certified 3)を取得したので、この資格を取得するまでの道のりを紹介したいと思います。
- そもそもどういう資格なのか
- どうすれば取得できるのか
- どのような技術を身につけられるのか
など興味のある方はぜひ参考にしてみてください。
では、そもそもOSCE3を初めて聞いた人もいると思うので、まずは簡単に概要から。
OSCE3とは
OSCE3は、Offensive Security社の以下の3つの資格を取得することで自動的に認定されるというユニークな資格で、昔からあった旧OSCE (Offensive Security Ceritified Expert)資格の代わりとしてリリースされました。
- OSEP (Offensive Security Experienced Penetration Tester)
- OSED (Offensive Security Exploit Developer)
- OSWE (Offensive Security Web Expert)
日本では、ペネトレーションテストの入門資格であるOSCP (Offensive Security Certified Professional) が徐々に認知されつつありますが、
実はさらにその先の資格があり、OSCPの上位資格として位置付けられるOSEP、OSED、OSWEの3つの資格を獲得することでOSCE3ホルダーとなることができます。
このOSCE3は、2021年より認定されるようになった新しい資格であり、世界的にも資格取得者はまだまだ少ないのが現状です。
実際、Offensive Security社の公式Discord Serverで現在(2022年4月13日時点)のOSCE3取得者数を確認すると54名しかおらず、非常にレアな資格になります。(一方のOSCPは2238人)
そもそもどうしてOSCE3を取ったの?
Offensive Security社の資格は、他の資格とは異なり、実技試験で成果を出すことができてようやく合格できる非常にハードな資格であり、
特にOSCE3関連の資格は実技48時間+レポート作成24時間の合計3日間の試験を突破することで取得できる苦行のような資格です。
では、どうして3つの資格をコンプするという修羅の道を選んだかというと、
やはりこのような実技試験をこなせるようにする過程で技術力が格段に向上するだろうと思ったことが理由です。実際どうだったかは後述します。
(加えて、資格コレクター的なモチベと、弊社NFLabs.では資格取得することで報奨金が得られるというよこしまな感情があったことも理由として挙げられます)
OSCE3を取得するまで
以上のような背景で3つの資格を取得し、2022年2月にOSCE3に認定されたのですが、初めはOSEP資格の取得から始めました。
なお、前提として開始時点のバックグラウンドは以下の通りです。
- OSCP、旧OSCEは取得済
- レッドチーム/ペネトレーションテスト業務に従事
OSEP取得(2021年3月~2021年5月)
このOSEPという資格は、PEN-300というセキュリティ機構が実装され、成熟した企業環境に対するペネトレーションテストを主題にしたコースを受講し、試験に合格することで獲得することができる資格になります。
OSEP資格取得は、他2つの資格と比べて個人的にはぶっちぎりに楽しかった印象で、
- アンチウイルスソフトに検知されないペイロードの作成方法
- Windows / Active Directoryに関する脆弱な設定や仕様
- 企業環境における横展開のテクニック
- マクロを使った初期侵入 ...etc
と様々なテクニックを学ぶことができました。
始めの一ヶ月はコースの教材の学習、二ヶ月目はコースのラボ、三ヶ月目は試験で使えるツールの作成といったスケジュールで学習を進め、合格することができました。
試験準備を行うことで、Active Directoryに対する理解が深まり、ADへの苦手意識が解消したような気がします。また、あくまで基礎的な内容ですが検知回避手法を身に付けることができ、様々なセキュリティ製品をバイパスするためのエッセンスを知ることができました。
Active Directoryと仲良くなりたい、検知回避に入門したいという方にはうってつけの資格という印象です。
OSED取得(2021年8月 ~ 2021年10月)
OSEP取得後、次の資格としてOSEDの取得を目指しました。このOSEDは、EXP-301というトレーニングを受講し、試験合格することで得られる資格です。
このEXP-301は、Windowsのユーザーモードで動くプログラムのExploit開発ができるようになるためのトレーニングで、
簡単なスタックオーバーフローから始まり、SEH OverwriteやDEP、ASLRのバイパスといった最新のセキュリティ機構も突破できるモダンなExploit開発手法を学ぶことができます。
また、バイナリをリバースエンジニアリングして脆弱な実装を探し出す方法についても丁寧に解説しているので、脆弱性を発見してExploitを作るために必要な知識を得ることができます。(実際、OSED取得後、CVEを獲得した人もいるそうです)
このEXP-301の試験準備として、始めの一ヶ月はコースの教材の学習、二ヶ月目はコースのラボやExtra milesと呼ばれる演習課題、三ヶ月目は以下のような脆弱なプログラムの解析、Exploit開発などをしていました。
試験は、他の2つと比べるとぶっちぎりで難しかった印象で、48時間の実技時間のうち4時間しか睡眠を取ることができないほどに追い詰められました。
久しぶりに心身ともに追い詰められ、もう二度とOffensive Security社の試験は受けないと固く誓ったことを覚えています。
なんとか合格することができましたが、OSED資格取得を経て、バイナリを読み解く力が身についたことが一番の収穫かなと思います。
業務中、ググってもわからないWindowsの仕様に直面した際、「とりあえずバイナリ読むか (?) 」とリバースエンジニアリングで解決できるようになりました。
一方で、EXP-301のコンテンツは以下が扱われないため、Exploit開発の技術についてはまだまだ入門レベルかなという印象です。
- 64 bit プログラム
- Kernel Exploit
- Heap Overflow ...etc
この辺りはEXP-301の上位トレーニングであるEXP-401を受講してマスターする必要があり、今後の個人的な課題です。
OSWE取得(2021年12月 ~ 2022年2月)
やはりOffensive Security社の高難度の試験を合格する達成感の虜になってしまうと止まらないもので、
OSEDの試験を経て「もう二度とあんな辛い試験は受けない」と誓った1ヶ月後には、次のトレーニングであるWEB-300を申し込みを行い、OSWE資格取得に向けた準備を始めました。
このWEB-300は、Webアプリケーションに対するペネトレーションに焦点を当てたトレーニングで、コース内容が定期的にアップデートされていることもあり、最新の攻撃手法を身につけることができます。
- SSRF(Server Side Request Forgery)
- JavaScript Prototype Pollution
- Blind SQL Injection
- PHP type juggling
- XML external entity injection ...etc
ホワイトボックス、ブラックボックスでWebアプリケーションの脆弱性を発見し、攻撃する手法について実際のアプリケーションを例に一から丁寧に解説しており、自分自身Web初学者でしたが難なく進めることができるコンテンツでした。
WEB-300もおよそ3ヶ月ほどの学習期間を経て、試験を受験しました。試験はホワイトボックスのアプローチでWebアプリケーションを解析するような構成で、他2つと比べるとわりかし簡単な印象です。
トレーニングから試験を通して、大量のWebアプリケーションのソースコードを読むことを強制されるため、コースの主題であるWebのExploitation手法を習得できたことに加え、他の人が書いたコードを読んで理解する力が養われたように感じます。
従って、Web脆弱性診断を業務で行う人のみならず、日々コードレビューを行うWeb開発者の方は取得して損はない資格かなと思います。
OSCE3取得(2022年2月)
このWEB-300の試験に2022年2月に合格し、OSWE資格を取得したことに合わせて、OSCE3の認定を通知するメールを受領しました。
Dear Yuya,
Our heartfelt congratulations on your incredible accomplishment and achieving the Offensive Security Certified Expert.
On behalf of the Offensive Security family we would like to recognize your momentous achievements. Earning the OSEP, OSWE, and OSED certifications demonstrates an incredible mastery of the offensive security domain.
約一年の長い道のりを経て、OSEP・OSED・OSWEを取得しようやくOSCE3ホルダーになることができました。
なお、今回OSEP、OSED、OSWEという順に取得しましたが、弊社の他のOSCE3取得者を見るに順番はそこまで重要ではないと思います。
従って、業務都合や嗜好に合わせて取得いただくことをおすすめします。
最後に
以上がOSCE3取得するまでの道のりです。
このような挑戦を経て、上位レイヤーから低レイヤーまで幅広いセキュリティ技術を習得し、様々なドメインで成果を出すための足腰を鍛えることができたと思います。
一般的には、資格だけで技術力の有無を評価することは難しいですが、
このOSCE3は、実技試験が要される資格だからこそ幅広い技術力を保持することの証明であり、少なくとも弊社では高く評価される資格の一つです。
この記事をきっかけに、OSEP、OSED、OSWEの3つの資格を取得し、OSCE3ホルダーになるという辛く楽しいチャレンジに挑む方が増えると嬉しい限りです。