資格「OSCP」について
概要
本記事ではセキュリティ資格Offensive Security Certified Professional (OSCP)について記載する。
OSCPはクラッキング技術に特化した、kali linuxを提供している会社のベンダー資格である。
本資格の特徴として、知識を問う筆記試験ではなく、完全な実技である点がある。
日本でセキュリティの資格といえば「情報処理安全確保支援士」が最も一般的だ。日本でセキュリティ業務を実施するなら必須な資格ではあるが、実は難易度は高くない。そのため、業界人のほぼ全員が持っている資格といえる。
OSCPは日本では取得者も少なく、また高難易度なため差別化に最適な資格の1つだ。
特に海外でペネトレーションテストを実施するのであれば必須要件であり、今後日本でもその方向に向かう可能性は高い。
本記事では、OSCPの取得までの流れを記載する。
受講資格
受講資格は一切ない。
プランにもよるが、約12万円の費用が掛かるだけである。
(試験だけを受けるのであれば8000円ほどで可能)
しかし、下記の条件は揃えておかないと受ける意味は薄いだろう。
① 情報処理安全確保支援士程度の知識
クラッキング技術の実技であるため、基本的なセキュリティ知識は前提条件となる。そのため上記の資格水準の知識は必須だ。
②十分な勉強時間(3か月で200時間以上)
後述するが、膨大な練習課題を時間制限付きで与えられる。これらを全体的に実施し、本番の試験に備えるのであれば200時間は最低限必要である。
③研究・検証できる能力
日本の資格のように問いに対して「明確な答え」がない。現実で起きる問題がそうであるように、自身で答えを探索し、それらを検証する必要がある。つまり、教科書を暗記しても試験には合格できない。
④プログラミング
OSCPではインターネットに公開されたエクスプロイットコードを理解し、カスタマイズする技能が求められる。言語は当然多岐にわたりC、java、python、ruby、PHP….etc、と一通りの言語の基本は抑える必要がある。もちろんすべての言語を覚えることは困難だが、ドキュメントを参照すれば理解できる程度の能力が必要になる。
主に①~④が満たせれば受講資格があるといえる。
英語力は必要ない。すべて英語であるが、中学生程度の英語力と翻訳機があれば充分である。
申し込み
申し込みはOSCPのHPから応募するだけである。
応募後には国際的な身分証明書、つまりパスポートが求められる。
料金は練習用サーバの貸し出し期間によって推移する。
1~3か月のプランがあるが、初めてであれば2か月以上を強く推奨する。
社会人にとって1か月は、膨大な勉強をする期間としては短すぎる。
練習期間
申し込み後、受験者は教科書としてのpdfと、練習用サーバへのopenVPNが与えられる。
教科書による基礎
まず受験者はpdfを熟読することをお勧めする。
pdfには18章構成で数百ページにわたり、クラッキングの基本が記載されている。
クラッキング経験のないエンジニアが体系的に技術を学ぶには、非常に優れた教科書だといえる。
ただ、このpdfはあくまで基礎でしかないことを忘れてはいけない。
試験では応用やpdfに記載されていない技術を使う必要がある。
そのためpdfを丸暗記しても合格することはできない。もちろん、pdfを読み飛ばしていいわけではないが。
また、クラッキングが初めてであれば、全ての章を読み込むのに50時間ほどを想定するといい。
練習用サーバ
教科書を一通り理解したら、次は練習用サーバに取り掛かる。
練習用サーバは模擬試験の場である。
用意されたサーバのroot権限を取ることが目的になる。
練習用サーバは約50~60用意されており、どのサーバから始めてもいい。
これが非常に時間のかかる作業になるだろう。あなたが初心者であれば、1サーバ当たり5~20時間かかることを想定するといい。
もちろん20時間かければ確実に解けるものでもない。
受験者は、教科書とグーグルで検索しながら、あらゆる可能性を列挙し、検証する必要がある。
あくまで目安であるが、10~15サーバを攻略できれば試験に受かる見込みが出てきたといえる。
課題レポート
OSCPの試験には課題レポートが存在する。
課題レポートを完成させることで、わずかに試験結果に加点される(最大5ポイント)。
課題レポートには「教科書内の課題全ての答え」と「練習用サーバ10台の攻略手順」を記載する必要がある。
かなり膨大な作業(200ページ以上のレポート)になるが、実施することをお勧めする。
試験の採点は非常にシビアであるため、数ポイントでも加点されるのは大きい。
また、試験と比較して、課題は簡単であるため、練習の意味を込めてすべて完了させるべきだ。
試験の予約
全ての準備が整ったら試験を予約しよう。
試験の予約はあらかじめ専用サイトで日付を指定する必要がある。
注意点として、1日に同時に受験できる受験生には制限がある。
そのため、定数以上の人数が同日を指定すると、自身がその日を指定できなくなる。
予約が埋まるのは早く、私の時は1か月後の予定が全て埋まっていた。
そのため、試験の日程は余裕をもって決めることをお勧めする。
試験実施
ルール
試験のルールを簡単に説明しよう。
開始と同時に、複数(おそらく5個)のサーバのIPアドレスと各サーバの点数が提示される。
受験者はこの各サーバのroot権限を24時間以内に取ることが目的になる。
各サーバごとに10~25点割り振られ、合計で100点満点となる(自身の時は10,20,20,25,25だった)。
合格点は70点である。
部分点が存在し、rootを取れなくてもlocal shell(rootではない権限)を取得すれば、対象のサーバに設定された半分以下の点数が加点される。
使用するツールにはいくつか制限があり、まず無償ツールであること、そしてMetasploitは1サーバのみ使用可能である。
以上のルールの中で受験者は奮闘する。
攻略に必要な複数の手順
1サーバを攻略するために、複数の手順を必要とする場合が多い。
例えば、ポートスキャンから始まり、Webアプリの脆弱性調査や、FTP,、SMTP、SMBから得られる情報の列挙を行う。サーバに侵入すれば、動作しているプログラムの調査や、脆弱な設定を隅々まで調べる。
大抵の場合5~10ポートは開いているため、脆弱性のあるサービスの決めつけが難しく、全体的に調査する必要がある。
1つ1つを綿密に調べ、そこからどのようにサーバに侵入できるか、権限を昇格できるかを考えるのが本試験だ。
時間と集中力
5つのサーバを攻略するには1サーバあたり5時間が目安になる。
はっきり言って時間に余裕はない。しかし、必ず休憩を十分とることをお勧めする。
経験上、試験開始から12時間あたりで集中力が切れる。本試験は暗記ではなく、情報の列挙とアイデアが必要になるため、睡眠をとってでも集中力を維持する必要がある。
合格点
70点という点数も実は余裕がない。
部分点の条件が厳しく、「何もわからない」というサーバが出てきたとき、20~25点のマイナスになる。そうなると、他の4サーバを完璧に回答しない限り合格できない可能性が高い。
この後に実施するレポートで減点される可能性を考えるなら、合格の最低条件は4サーバのrootを取得することだといえる。
技術的にも、肉体的にも、精神的にも辛いテストだが、受験者は全力を尽くす必要がある。
レポート作成
素晴らしい技術によって、合格に達しているであろう結果を残しても、それで終わりではない。
試験終了時から24時間以内にレポートを提出する必要がある。
もっとも、テスト後は疲労がピークだと思われるため、一度眠ってからレポートを書くことをお勧めする。
レポートには、各サーバに対する再現可能な攻略手順を記載する必要がある。
そのためには攻略中に各手順のエビデンスを残すことが必須だ。
お勧めとしては、一度サーバを攻略したらサーバを初期化し(提供されるコントロールパネルから簡単にできる)、再度エビデンス取得用に手順を再現することだ。
こうすれば確実にレポート用のエビデンスが取れる。
全体的なレポートの書き方はサンプルがあらかじめ用意されているため、迷うことは少ないだろう。
レポートのページ数は40~50ページ程度になるはずだ。
英語に関しては中学生英語で十分だ。ポイントとしては短い文の連続にするといい。Google翻訳を使うのもいいだろう。
手順やroot権限取得のエビデンスがないと、減点及び0点になるため、レポートの作成は慎重に行おう。
合格通知
レポート提出後、約3日後に合否通知がくる。
幸運にも合格していた場合は、合格者用のリンクが記載されている。
リンクでは合格証明書を送付する住所を打ち込もう。
それからさらに1か月後、入力した住所に合格証明書とカードが送付される。
CTFとの違い
もしあなたがCTFに挑戦したことがあるなら、同じように見えるかもしれない。
類似する部分はあるが、本質的には異なっていると考える。
確かに隠された情報を手に入れるという点では似ているが、求められる方向が異なっているからだ。
CTFでは攻撃対象が定められており、それを綿密に調査する。
OSCPでは、攻撃対象を探す点が中心になる。
また扱う技術も少しずつ異なるため、比べてみるのもいいだろう。
ただ、CTFの知識がOSCPに役に立つことは間違えないので、得意な人はチャンスだといえる。
まとめ
本記事ではOSCP取得までの流れを記載した。
現在、日本ではマイナーな資格であり、大企業でも取得している人がいないことが多い。
しかし、だからこそ案件の入札では有利になるし、あなたがフリーであれば1つのアピールポイントになるはずだ。もし海外に職を求めるのであれば、高給の仕事を手に入れる良い材料になるだろう。
本記事を理由にOSCPを知ってもらえたなら幸いである。
P.S.
より具体的な合格へのテクニックを有料記事で公開しました。