12/8(水)は、SOC アナリスト 日吉龍の記事です。HACK THE BOX を利用したスキル研鑽について紹介します。

---

今回は、NTTセキュリティの有志が取り組んでいる、HACK THE BOX という外部サービスを活用したスキル研鑽についてご紹介します。

みなさんは、SOCアナリストがどのようにしてSOCアナリストとしてのスキルを習得し、またそれを維持していると思われるでしょうか。アナリストはセキュリティを ”守る” 立場にあるため、SANS などに代表されるセキュリティ関連の資格取得や研修などを通して、必要とされるスキルを日々研鑽しています。また、アナリストはセキュリティ機器が出力する膨大なログの中から、真に対応が必要とされる攻撃を見極める業務を日々行っているため、日常業務の中でも培われてゆきます。

研鑽が難しいハッキングスキル

しかし、それだけでは養うことができない経験や能力もあります。それが、”攻撃する”側が用いるさまざまな技術の実践と習得です。攻撃と防御は表裏一体の関係にあり、どのような攻撃が行われるかが頭の中にあれば、それがどのようにログの中に現われるかを想像できるようになります。普通に見ているだけでは見落としてしまうようなわずかな攻撃の痕跡を見逃さない、あるいはそれに紐づく別の挙動を追いかける上で、攻撃者が用いる様々な手法やテクニックを知ることは、防御力を高める上でとても大事と言えるでしょう。

その一方で、そのようなスキルを研鑽するのは容易ではありません。たとえば、攻撃者が悪用する脆弱性の詳細情報の入手は難しくはありませんが、攻撃者が実際どのようにその脆弱性を悪用するのかや、悪用した結果として被害対象に何が起きるのか、侵入に成功した後に攻撃者が何をするのかなどは、攻撃者の立場で考え、同等の手法を実践してみないと、真の意味で理解することはできません。

どこでハッキングスキルを伸ばすのか

そのようなスキルの研鑽を行うことが可能な貴重な場の一つにCTFがあります。CTFは期間が決まった大会として行われることも多く、そういったCTFでは、終了後に有志が個人ブログなどでWrite-upと呼ばれる解法を公開していますが、終了と同時に設問環境は基本閉鎖されてしまうため、回答を見ながら腰を据えて取り組むことが難しいというデメリットがあります。また、最近のCTFはレベルが大幅に向上しており、簡単とされる問題ですら初学者ではまったく歯が立たないことも少なくありません。 

そこで、弊社では、自身のスキルレベルに合わせ、また業務との兼ね合いもつけやすいよう好きなタイミングで取り組めるCTFおよびその環境を有償で提供する外部サービスを利用することにしました。それがHACK THE BOX (以下HTB)です。

HACK THE BOX

HACK THE BOX Walkthrough

ここではまず、誰でも作成できる無償アカウントで利用可能なサービスを簡単に紹介します。サービスメニューとしてはもっと色々ありますが、アクセス可能なリソースの最小単位は以下のいずれかとなります。

Challenges

Challengeを一言で言うと、”開催期間がとても長いCTF”です。一般のCTFの開催期間は通常数日、長くて1週間程度ですが、Challengeではそれよりはるかに長期間問題が公開されています。たとえば”Easy Phish”というChallengeは2年以上も公開され続けているため、これで時間が足りないという方はまずいないでしょう。執筆時点で、10分野に分類された146 Challengeが公開されており、これだけでも十二分な手ごたえがあります。

Machines

Challengeがファイルや特定のWebサービスなどを攻略対象とするのに対し、Machinesは仮想マシン一台丸ごとが攻略対象になります。挑戦者に与えられるのはIPアドレスと簡単なヒントだけで、それこそ攻撃者目線で様々なツールを駆使して綻びを見つけ、そこを取っ掛かりに脆弱性を突くなどして侵入し、しかる後に権限昇格をして管理者権限を奪取することを目指します。こちらは執筆時点で20 Machinesが公開されていました。

ちなみに、ChallengesやMachinesの解法について議論する、HTB公式のフォーラムあります。いわゆる“ネタバレ”は厳禁とされており、それに近い書き込みは削除されるので、安心してヒントを探し求めることができます。他の挑戦者がどのような試行錯誤をしているのかを知ることができるのも興味深いでしょう。

有償アカウントでできること

ChallengesもMachinesも、実は時々問題の入れ替えがあります。誰でも挑戦できる状態の問題はActiveと呼ばれ、入れ替わりで “引退” した問題はRetiredと呼ばれます。無償アカウントから挑戦可能なのはActiveな問題だけですが、有償アカウントだとすべてのRetiredな問題に挑戦することができます。執筆時点でRetired Challengesは110以上、Retired Machinesは190以上もあり、自分で好きな問題を選んで自分のペースで取り組むことができます。Retiredな問題には公式のWrite-upが添付されており、自力で解くことができない場合でも、公式の回答を参照しながら攻撃者が利用するツールやコマンドを追体験することで、スキル向上を図ることができるようになっています。

また、無償アカウントの環境が共用環境であるのに対し、有償アカウントは専用環境になります。共用環境の場合、リソースの問題でレスポンスが悪くなったり、他の人が作成したファイルが見えたり、回答に辿り着くことが不可能な状態になっている場合さえあります。専用環境であれば、他者の干渉が一切ない環境で、落ち着いて問題に取り組むことができます。

有償アカウントには複数のレベルや追加オプションがありますが、その中にはさらに上級者向けのコンテンツも多数あります。その中でもポピュラーなのは、一台のMachineではなく、複数のMachineが接続されているネットワークそのものを攻略するProfessional Labでしょう。私はリリース前のあるProfessional Labのベータテストに参加しましたが、複数のMachinesが有機的に絡み合っている、とても手が込んでいるコンテンツで、ゲーム感覚で時間を忘れて熱くなってしまった記憶があります。

他にも自分の所属企業に限定したスコアボードなど、いわゆるゲーミフィケーションの手法も随所に採り入れられており、飽きることなく長期的に取り組むことができるように工夫がされています。

大刷新された企業向けプラットフォーム

2021年11月まで、HTBの企業向けのサービスは無償ユーザと同じ基盤の上にあり、WebUIもほぼ同一でした。しかし、2021年11月末頃に有償アカウント利用者向け (主に企業と教育機関) の新たなプラットフォームが公開され、より使いやすい専用のWebUIで利用できるようになりました。

現在絶賛移行中で、我々も本格的な利用はこれからではありますが、以下を管理者がコントロールできるようになっており、学習プラットフォームとしての機能性が大きく向上していることは実感できました。

  • Machines単位でのWrite-upを表示制御
  • 研鑽したい分野のMachineの抽出 ~ それらで構成される独自研修コースの策定 ~実施・達成状況の確認
  • 同一企業内でのサブチームの編成

企業が利用する学習プラットフォームとして十分に機能や操作性が改善されており、本格的な利用が現実的なものになってきたと感じました。おそらくですが、世間的にそのようなニーズが高まってきた表れなのではないかと思います。

NTTセキュリティでの活用状況

NTTセキュリティでは、国内外の数十名のSOCアナリストがHTBの有償アカウントを活用した攻撃スキル研鑽に取り組んでいます。必要に応じて自由に目標を立て、各メンバーが各々のペースで取り組んでいます。足の長い取り組みなので人や時期によって取り組みの強弱はありますが、“無限に時間が溶ける” ほどハマったアナリストもいたようです。

鍛錬した成果を試す意味も含めて、HTB主催のCTFには有志を募ってチームを組んで参戦するようにしています。あるときは日本を含む世界各国のアナリストでドリームチームを組んで勝ちを狙いに行き、ある時は国別にチームを編成してSOC同士で競い合い、難易度が低いCTFには初学者のみで誘い合わせて参戦するなど、参加要件や状況に応じて最大のシナジーや学習効果が得られるように工夫しています。CTFは本質的に個人戦ではありますが、チャットシステムなどをコミュニケーションチャネルとして活用しながら、チームとして参加している実感を得られるようにも心掛けています。

また、HTBの企業向けのサービスの一つに、自分で作ったMachineをアップロードし、HTBのプラットフォームを使った社内限定CTFを構築できる機能があるのですが、現在海外SOCの有志の主導で活発な意見交換と環境構築が進められており、今年の夏には試験的なプレ大会が開催されています。来年度にはより本格的な社内CTFの開催も計画されており、この時はより広く参加者を募ってHTBを体験してもらい、さらなる参加者増と全社的なスキルレベルの向上に役立ててゆきたいと考えています。

最後になりますが、最近HTBから企業が求人を出すことができるようになりました。実は弊社もここでSOCアナリストやエンジニアの募集を行っているので、興味がある方は是非ご覧ください。執筆時点でHTBから募集しているポストの勤務地は米国、英国、スウェーデンのみですが、海外のSOCアナリスト業務にも直接応募できます。(日本でのSOCアナリスト等の業務はHTBでは求人を出していませんが、絶賛メンバー募集中です。日本での採用活動などに関しては、後日、別の記事にて紹介予定です。お楽しみに。)

NTT Securityの求人情報 (一部)