ソフトウェア考古学者へ。Hack-The-Box はいいぞ

この記事は Calendar for Akerun | Advent Calendar 2021 - Qiita の 6日目の記事です。

昨日に引き続き、 daikw - Qiita です。最近、 Hack The Box に手を出しています。

昨日書いたソフトウェア考古学は実際に社内で行なっていますが、この業務に ペネトレーションテスト の経験が生きたなと感じました。今日はそんなお話です。

要約

  • 「よくわからないものを、よくわからないなりに、何とか扱う」という点で、 攻撃的セキュリティソフトウェア考古学 の構造はかなり似ている。
  • みんなで Hack-The-Box を勉強してつよいエンジニアになろう!

意義と建前

攻撃的セキュリティ (Offensive-Security) を学ぶことで、防衛に役立てる。もって事業継続を確かなものとする。

情報セキュリティを語るとき、リスク脅威守るべき資産守るための活動 などに分けて考えることができます。

インターネット上の全ての主体は、常に何らかの 脅威 に晒されていることが知られています。 守るべき資産 が脅威に晒されるとき、 リスク が生じます。

リスクに対してノーガードでは一瞬で首を刈られます。リスクを知り、緩和し、資産を 守るための活動 を一定行う必要があります。

脅威やリスクのカテゴライズは色々な団体が行っており、例えば 情報セキュリティ10大脅威 2021:IPA 独立行政法人 情報処理推進機構 から引用すると*1、 組織外部の主体的な脅威(ランサムウェア・標的型攻撃)が上位に来ています。

昨年順位 個人 順位 組織 昨年順位
1位 スマホ決済の不正利用 1位 ランサムウェアによる被害 5位
2位 フィッシングによる個人情報等の詐取 2位 標的型攻撃による機密情報の窃取 1位
7位 ネット上の誹謗・中傷・デマ 3位 テレワーク等のニューノーマルな働き方を狙った攻撃 NEW
5位 メールやSMS等を使った脅迫・詐欺の手口による金銭要求 4位 サプライチェーンの弱点を悪用した攻撃 4位
3位 クレジットカード情報の不正利用 5位 ビジネスメール詐欺による金銭被害 3位
4位 インターネットバンキングの不正利用 6位 内部不正による情報漏えい 2位
10位 インターネット上のサービスからの個人情報の窃取 7位 予期せぬIT基盤の障害に伴う業務停止 6位
9位 偽警告によるインターネット詐欺 8位 インターネット上のサービスへの不正ログイン 16位
6位 不正アプリによるスマートフォン利用者への被害 9位 不注意による情報漏えい等の被害 7位
8位 インターネット上のサービスへの不正ログイン 10位 脆弱性対策情報の公開に伴う悪用増加 14位

事実上の戦争であって、誰もが巻き込まれており、他人事にはできそうにありません。

戦争を起こさんと脅威をデザインする攻撃者達の、考え方や道具( ~= 攻撃的セキュリティ)を学び理解することで、防衛に役立てることができるでしょう。 *2

参考リンク

概論

脅威モデリング

ニュース記事等

ペネトレーションテスト と Hack The Box

前章でそれっぽい意義を与えたので、技術者にとって魅力的な点を強調していきしょう *3

攻撃的セキュリティの実践的活動のうち、特に代表的な ペネトレーションテスト - Wikipediaペネトレ / Pentest とも)より、

ネットワークに接続されているコンピュータシステムに対し、実際に既知の技術を用いて侵入を試みることで、システムに脆弱性がないかどうかテストする手法

Pentest の独学はかなり難しく、なぜなら

  • 脆弱性のあるシステムを用意するのがやや難しい
  • 現実世界で攻撃をするのは犯罪である

ため。ただ、最近はこのハードルを下げてくれるサービスがさまざま存在します。例えば、

特に Hack The Box (HTB) の Machine と名前のついたカテゴリが、Pentest に近い分野です。

攻撃的セキュリティ と ソフトウェア考古学 の関係

次の点で、 攻撃的セキュリティソフトウェア考古学 はかなり似ています。 *4 「オペレータ」を、それぞれの活動をする主体として、

  • オペレータは、対象のシステムに対し事前知識を(ほとんど)持たない
  • オペレータは、対象システムから効率的に情報を取得して利用したい
  • オペレータは、対象システムを壊したくない

ホワイトハッカーの資格(Certified Ethical Hacker)の母体となる団体の ECCouncil によれば、攻撃の手順は5段階に分けられます。 Learn the 5 Phases of Ethical Hacking and Build a Career in it より、

  1. Reconnaissance (偵察)
  2. Scanning (スキャン)
  3. Gaining Access (アクセスの取得)
  4. Maintaining Access (アクセスの維持)
  5. Clearing Tracks (痕跡の除去)

このうち、1~3 で必要な技術は、遺跡調査に応用できます。

例えば、遺跡調査では、ネットワークスキャンによって対象サーバを発見し、対象サーバに対するポートスキャンによってサービスを特定することがあります。

遺跡調査では痕跡の除去は必ずしも必要ありませんが、下手なことをして二次被害を起こしたくありません。慎重な作業が求められるという点で同じと言えます。

まとめると、

  1. Hack The Box で勉強することで、
  2. 攻撃的セキュリティを学び、調査力がつくことで、
  3. ついでに考古学力を高めて、圧倒的な事業貢献となる

わけですね。こうしてつよつよエンジニアが量産されるのです。

いざ、攻撃的セキュリティに取り組む

もっとハードルを下げる

実は Hack The Box は参加すること自体がちょっと難しいです。ログインページでちょっとした問題を解く必要があります。

さらに、コンテンツは全て英語なため、念能力の素養のない Newbie にはなかなか勧めることができません。

そういった場合は、CpawCTF - Main pageEnvader | Linuxが学べるオンライン学習サイト が オススメできます。

強くなるには

ひとまず、Retired Machine を 公式の walkthrough や IppSec - YouTube の動画を見ながらたくさん解いてみるといいです。それで雰囲気が掴めると思います。

www.youtube.com www.youtube.com

でも、 Active Machine に30時間くらい取り組んでも解けないことは普通にあります。強くなりたければ、人間性を捧げましょう。

f:id:photosynth-inc:20211205193137p:plain
Kaggleを取り掛かるまでにやったこととと、モチベーションの維持のために必要だったこと - にほんごのれんしゅう より引用

なお、僕はまだ人間性を宿しています(Hacker になれてない ..........)。

参考リンク


株式会社フォトシンスでは、一緒にプロダクトを成長させる様々なレイヤのエンジニアを募集しています。 hrmos.co

Akerun Proの購入はこちらから akerun.com

*1: jmalarcon/markdowntables: markdownTables - Turn HTML table syntax into Markdown を使って変換

*2: なお、懲罰的抑止モデルには攻撃を抑止する効果がない、という議論があります( サイバー空間の安全保障をめぐる課題とアメリカの動向JIIA -日本国際問題研究所-研究活動 など)。こういった知識は、抑止目的ではなく、防衛目的で利用することになります。

*3: 資源の限定された企業活動では、たぶんランチェスター戦略が有効。なお、研究活動に選択と集中を要求するのは間違い。

*4: ただし DoS攻撃や Suicide Hacker を除く