EN

NRIセキュア ブログ

SANS SEC760に挑む|難易度最高峰のペンテストトレーニング

目次

    blogtop

    サイバーセキュリティを生業にしている皆さま、日々どのようにして新しい技術を学ばれていますか? 書籍やネットを主な情報源とする方もいればセミナーやカンファレンス、あるいは有志のコミュニティに所属して情報共有されている方もいるでしょう。体系的な情報を短い時間で習得したいのであればトレーニングを受講するという手段も有効に思えますが……自分に合ったサイバーセキュリティのトレーニングを選ぶのはなかなか難しいですよね。特に、難しいと評されたり開催回数が少なかったりするコースについては情報を集めることすら困難であり、受講の決め手が欠けることも少なくないかもしれません。

     

    本記事ではそのような極めてニッチなお悩みを解消すべく、あるトレーニングカリキュラムの中でも非常に難しいと言われるコースを受講し、その体験を皆さまに共有させていただくことにしました。

     

    今回の調査対象となるトレーニングはSANSの「SEC760: Advanced Exploit Development for Penetration Testers」です。これは同社によるとペンテストカリキュラムの「頂点」と評されており、極めて高度な内容を学べることが期待できます。また、日本での開催もわずか過去3回であるため、あまり日本語の情報も出回っておりません。

     

    ちなみに筆者はペネトレーションテスト関連の業務に就いているものの毎日のようにエクスプロイト開発を行っているような人物ではなく、CTF(Capture The Flag)のpwn系の問題のwrite upを読んで「あー、そんな感じね(?)」といった具合で理解(??)できる程度の知識量だと思ってください。このような人物から見てSEC760がどれくらい高い山だったのかを皆さまにお話できればと思います。

     

     

     

    SANSとSANSトレーニング

    今回受講したトレーニング自体のお話に移る前に、まずはそのトレーニングを提供している組織であるSANS Instituteを改めてご紹介したいと思います。SANSは世界でもトップレベルのサイバーセキュリティに関する研究・教育機関であり、同組織が提供するトレーニングコースは実務ですぐに役立てられる実践的なカリキュラムとして組み立てられています。トレーニングは経験を積み最先端の技術・知識を備えた講師による授業と豊富なハンズオンから構成されており、受講者は学習した内容をその場で実践し、理解を深めることができます。

     

    受講形式も様々であり、対面式の「In-Person」やインターネット経由でリアルタイムの講義を受講可能な「Live Online」、自分のペースでトレーニングを進められる「OnDemand」などがあります。SANSのトレーニングは英語にて提供されることが多いのですが、In-PersonとLive Onlineについては技術翻訳チームによる質の高い日本語同時通訳が提供されることも見逃せません。

     

    また、トレーニングコース自体も多種多様であり「監視や検知」「ペネトレーションテスト」「インシデントハンドリング」「スレットインテリジェンス」「デジタルフォレンジック」「マルウェア解析」「ICSやクラウドなど特殊な環境に特化した技術」など様々な職種に合わせたスキルを学習可能です。

     



     2023 Roadmap 03-23 - Japanese

    https://www.sans.org/cyber-security-skills-roadmap/

     

    なお、SANSトレーニングコースには、コースに紐づく認定資格であるGIAC(Global Information Assurance Certification)という資格試験が用意されています。サイバーセキュリティに従事する者としてはその資格を取得することで満足感を得つつ、スキルを客観的に示すことができる一石二鳥の制度ですね。多くのトレーニングコース毎に相当する認定資格が存在するのですが、残念なことにSEC760に相当するGIAC認定資格は2023年現在まだ存在していません。(なお、GIAC取得のメリットの詳細についてはコチラの記事も併せてご覧ください。)

     

    セキュリティ資格一覧|セキュリティ資格の解説とその取得メリット・選択ポイント(上)

    SEC760に挑む

    それではいよいよ「SEC760: Advanced Exploit Development for Penetration Testers」についてご紹介したいと思います。SEC760はそのタイトル通りエクスプロイト開発の手法を学ぶことができるコースであり、ペネトレーションテスターやセキュリティ研究者等を対象にしたコースです。実際、筆者がペネトレーションテストを実施する際にも必要に応じて自分でエクスプロイトを書く必要に迫られるため、このような知識を体系的に学ぶことができるのは非常にありがたいと感じました。

     

    さて、本稿は難しいコースを受けてみるという触れ込みで始めたわけですが、このトレーニングはどれだけ難しいのかについてもご紹介していきたいと思います。まず見ていただきたいのはコースの番号です。SANSのトレーニングコースには数字が割り当てられており、百の位の数字が大きくなればなるほど難しい内容のコンテンツが提供されます。2023年6月の本稿執筆時点では700台のコースがふたつしか存在せず、そのうちの片方が「SEC760: Advanced Exploit Development for Penetration Testers」という状況です。その上、トレーニングコースの公式ページにもvery challengingなコースである旨が明記されているだけでなく、トレーニング自体の一ページ目も受講者の覚悟(?)を問うような内容であることから既に難易度の高さを察していただけるかと思います。

     

    本トレーニングで扱うトピックはヒープに対する攻撃やWindowsカーネルエクスプロイト、パッチ解析の方法、そして最新のエクスプロイト対策技術等です。その前提となる知識であるWindowsやLinuxのアプリケーションをエクスプロイトする方法、Data Execution Prevention(DEP)やASLR(Address Space Layout Randomization)などのエクスプロイト攻撃緩和対策を回避する方法、Return-Oriented-Programing(ROP)などは身に着けているものとして授業が進みます。もし、これらの領域について十分に理解できているか心配な場合は、「SEC560: Network Penetration Testing and Ethical Hacking」、または「SEC660: Advanced Penetration Testing, Exploit Writing, and Ethical Hacking」の受講もご検討ください。

     

    また、リバースエンジニアリング業界においてデファクトスタンダードとなっているツールのひとつにIDA Proがありますが、本トレーニングコースではトレーニング期間(+復習期間)に利用可能なIDA Proのライセンスが払い出され(2023年3月受講時点)、このツールの基本的な使い方に加えてスクリプティングや他ツールとの連携等の実践的な使い方も学ぶことができました。

     

    1日目はツールの使い方の解説がメインであり、そこまで難しい内容ではなかったため、まさか翌日からSEC760の猛攻が始まるとも思わず油断をしておりました。

     

    2日目はLinuxのヒープに関する基礎技術とそれに対する攻撃技術が説明され、そのハンズオンを行うという流れでした。文字にすると簡単なように見えますが、それぞれの理論は複雑であり事前知識無しにこれらを授業時間内に理解することは中々難しい上、ハンズオンでは「前段として知っているべきセキュリティ対策回避」も当然のように求められるため、一瞬たりとも気が抜けません。

     

    3日目はパッチを解析しつつ、それに対するエクスプロイトを作成することになりました。様々な道具を使い脆弱性を見つけつつ、その悪用方法やエクスプロイトを考えることとなります。ここでも新しい知識に加え、「前段として知っているべきセキュリティ対策回避」を組み合わせる必要があるため、常にクリエイティブに攻撃手法を考え続けなければなりませんでした。

     

    4日目のWindowsカーネルエクスプロイト入門と5日目のWindowsエクスプロイトは純粋に情報量が多く、説明された個別の技術要素とそれらの関係性を必死で理解し続ける必要がありました。よほど特殊な状況でもない限り低レイヤのエクスプロイトを開発するような案件には出会えないため、私の知識が不足していたのも難しさを感じた一因かもしれません。

     

    僭越ながら、ここまでのSEC760講義についての感想を述べさせていただきますと、毎日のクラス(しかもずっと気を抜けない)に加えて予習と復習は必須であり、コース終了後も「こりゃ全体を通して復習しなきゃならんなあ」というような難易度でした。その分、日々新しいことを学び続けられているという達成感も得られていました。

     

    なお、SEC760の最終日にはCTF(Capture The Flag)が開催され、そこではトレーニングを通して学習した内容を試すための課題が出題されます。授業の内容をどれだけ理解していたか、あるいはどれだけツールに習熟できたかを振り返ることができるため、このアクティビティを通して自分でも気づけなかった、知識が不完全なポイントを洗い出すことができます。なお、SANSでは恒例としてCTFの成績優秀者のみにチャレンジコインが授与されます。今回参加したNRIセキュアのメンバーは見事チャレンジコインを取得することができました!是非とも皆さまも挑戦してみてください。

    03

    おわりに:SEC760はおすすめか?

    これまでにご紹介してきたようにSEC760は噂にたがわぬ難易度の高さを見せつけてきました! そしてその難度にふさわしい情報量、実用性も同時に兼ね備えています。エクスプロイト開発を必要とするペネトレーションテスターであれば、一度は受講しておくべきトレーニングであると感じました。

     

    しかしながら残念なことに、このトレーニングが人を選ぶコースであることは疑いようがありません。実際、SEC760のコース作成者は10問のクイズを用意しており、それぞれの正当率によってSEC760を受けるべきかどうか判断できるようになっています。(ご参考までに筆者がトレーニング受講前にこのクイズを受講したときには9点のスコアを獲得しました。)

     

    もし「エクスプロイト開発を学びたいもののSEC760では難しすぎる!」という場合はSEC760の前段であるSEC560(GPEN)SEC660(GXPN)や、NRIセキュアのグループ会社であるNDIASが開発した「攻撃・防御技術研修 ~スタックBOF~」を受講されるのもの良いでしょう(詳細はコチラの記事をご覧ください)。

     

    「攻撃テクニック」を学ぶ方法|高度なセキュリティを実現する組織の在り方

     

    サイバーセキュリティに従事する人間は攻撃者に負けぬよう日々新しい知識を身に付け続ける必要がありますが、トレーニングは極めて有効な手段のひとつであると言えます。今回、SEC760への挑戦を紹介してきましたが、NRIセキュアでは、皆さまのスキルアップに対して様々な形でご支援可能です。また、このような技術に裏付けられたペネトレーションテストも提供しておりますので、まずはご相談いただければと思います。

     

    ▶ セキュリティ教育・研修