セキュ塾 ホワイトハッカー育成コース 研究クラスを徹底レビュー  radare2を使用したマルウェアのバイナリ解析

ホワイトハッカー育成コース 研究クラスとは

 ホワイトハッカー育成コース 研究クラスはホワイトハッカー育成コースを1年間受講修了し、さらにサイバーセキュリティの実践的なスキルを身に付けたいといった方を対象に実施しているコースです。

長い方で4年ほど継続して学習されてますよ!

開催日:毎月第1、第2、第3 土曜  10時〜13時
月謝制:18000円(税別)
申込先:secujuku@heatwavenet.co.jp 

 このクラスでは、仮想環境に脆弱性を持ったサーバーと脆弱性を持ったアプリケーション(通称やられサーバー)を作成し、やられサーバーに対して攻撃、攻略をします。攻撃の過程において、攻撃手法やエクスプロイトの成功可否、また、そのときに残るサーバー側のログなど様々な研究を行える環境を作ります。シンプルなアプリケーションを作成し、そのアプリケーションに対して攻撃することにより、 なぜ、攻撃が成功したのか、または失敗したのかを研究することもできます。

 これらの研究を行うことにより、参加者は、

  • アプリケーションによる脆弱性の原因と結果
  • 攻撃された場合のログの解析
  • 攻撃を検知する手段
  • 攻撃手法
  • その他

を詳しく知ることができます!

研究例
  • インターネット上に公開されている情報の正確さを調査。攻防戦で学んだOSINTツールのShodanを利用して、見つけたサイトにアクセスし、本当に脆弱性が含まれているかの調査を行う。
  • ハニーポット上に届いたウィルス調査
  • バイナリ解析(リバースエンジニアリング)サンプルプログラムをもとにバイナリ解析の演習
  • 脆弱性攻撃演習、脆弱性が盛り込まれた機器対してのハンズオン攻撃の演習
  • セキュリティ製品開発

講師紹介 谷口先生とは

谷口星彦講師
谷口星彦講師

 サーバー、ネットワーク、ミドルウェアを含むインフラ系SEとして従事しながら、セキュリティ研究者として研究を続けておりました。現在は、各種情報を収集、精査するアナリストとして の活動、及びセキュリティ研究者としての研究を行っております。また、Hackerʼs Partyというコミュティの発起人・オーガナイザーとしてのコミュニティ活動も行っております。

radare2開発者pancake氏の講演を聴講

 研究クラスでも使用しているリバースエンジニアリングツール「radare2」の開発者、pancakeことSergi Alvarez氏が来日され、セミナーが開催されました。谷口先生がこのセミナーの主催者側の一員であった縁により、研究クラスではSergi Alvarez氏の講演を聴講しました。

r2jpについて

 今回のセミナーを開催したradare2の日本コミュニティ。

radare2とは

 radare2は、オープンソースのリバースエンジニアリングフレームワークおよびコマンドラインツールセットです。バイナリコードの解析、逆アセンブリ、デバッギング、およびプログラム解析など、様々に使用できます。主に、セキュリティ研究者やソフトウェア解析者などのプロフェッショナルによって利用されています。

radare2の主な特徴には次のようなものがあります。

  • プラットフォームのサポート: 多くのプラットフォームで動作し、Windows、Linux、macOS、BSDなど、さまざまなオペレーティングシステム上で使用できます。
  • バイナリ解析: バイナリコードの解析、逆アセンブリ、ディスアセンブリ、およびデバッギング機能を提供します。
  • マルチアーキテクチャサポート: 複数のアーキテクチャ(x86、ARM、MIPSなど)に対応しており、異なるプラットフォームやデバイス上のバイナリコードを解析できます。
  • プラグインシステム: 拡張性を重視しており、プラグインを利用して機能を拡張できます。これにより、ユーザーが自身のニーズに合わせてradare2をカスタマイズできます。
  • スクリプト言語サポート: JavaScript、Python、Rubyなどのスクリプト言語を使用して自動化およびカスタマイズが可能です。
  • ユーザーフレンドリーなコマンドラインインターフェース(CLI): 豊富なコマンドセットを提供し、独自のCLIを使用して直感的な操作が可能です。
  • セキュリティ調査、マルウェア解析、プログラム解析、逆コンパイルなど、広範なリバースエンジニアリングのタスクに利用されています。

セキュリティにおけるリバースエンジニアリング

 セキュリティにおけるリバースエンジニアリングは、主にセキュリティの観点からソフトウェアやハードウェアの解析を行うプロセスです。セキュリティにおけるリバースエンジニアリングの一般的な用途は次のようなものです。

  • マルウェア解析: 悪意のあるソフトウェアやマルウェアの解析に広く利用されます。セキュリティ研究者やセキュリティ専門家は、マルウェアがどのように機能し、どのように拡散するかを理解するためにリバースエンジニアリングを行います。これにより、対策や防御策の開発が可能になります。
  • 脆弱性解析: セキュリティ研究者は、ソフトウェアやネットワークプロトコルの脆弱性を特定し、それを悪用する方法を理解するためにリバースエンジニアリングを行います。これにより、脆弱性の修復やセキュリティポリシーの改善が可能です。
  • セキュリティツールの解析: セキュリティツールや侵入検知システムなどのセキュリティ関連のソフトウェアをリバースエンジニアリングすることで、その有効性や潜在的な脆弱性を評価できます。また、これにより新たなセキュリティツールの開発にも寄与できます。
  • ファームウェア解析: 組み込みデバイスやIoTデバイスのファームウェアを解析することで、そのセキュリティ上の課題や潜在的な脆弱性を発見し、適切な対策を講じることが可能です。
  • デジタル権利管理(DRM)解析: コピーガードやデジタル権利管理など、著作権保護のための仕組みを解析することで、その仕組みのセキュリティを評価し、悪用を防ぐ手段を考案できます。

 なお、リバースエンジニアリングはセキュリティの向上に寄与する一方で、倫理的な観点から行われるべきです。法的な制約や適切な許可なく実施される場合、問題を引き起こす可能性があります。従って、適切な法的手続きと倫理観を持ってリバースエンジニアリングを行うことが求められます。

研究クラスがradare2を使って何をしているか

 本クラスはホワイトハッカー育成コースを修了した方を対象としたクラスのため、固有のトレーニングプログラムに沿った講義とは違い、ある題材を基にした調査、演習を中心としたクラスです。2024年1月から3月まで、radare2を使用してアプリケーション(マルウェア)のバイナリ解析を行っています。そのマルウェアがコンピュータ上でどのように振る舞い、結果どうなるのか、といった挙動をひとつひとつ読み解いていくことで理解を深めていきます。

 なお、4月以降はまた別のテーマを予定しています。

バイナリ解析とは

 バイナリ解析(Binary Analysis)は、コンピュータのバイナリコード(0と1のバイト列)を分析し、そのプログラムやデータの構造や動作を調査するプロセスで、主にソフトウェアやファームウェア、マルウェアなどのバイナリ形式の実行可能ファイルやデータを解析します。バイナリ解析は、セキュリティ調査、リバースエンジニアリング、デバッグ、脆弱性診断などの様々な目的で利用されます。

マルウェアのバイナリ解析をradare2を使用して行う際の具体的な手順を図解入りで説明します。ここでは、簡単なマルウェアのバイナリ解析例として、以下の手順に従います:

マルウェアのバイナリをradare2で開く。

  1. マルウェアのエントリーポイントを特定する。
  2. マルウェアの挙動を理解する。
  3. データフローの解析。
  4. 動的解析。

以下の手順で詳細に説明します。

1. マルウェアのバイナリをradare2で開く

まず、ターミナルでradare2を起動し、解析対象のマルウェアのバイナリを開きます。

2. マルウェアのエントリーポイントを特定する

マルウェアのエントリーポイントを特定するために、以下のコマンドを使用します。

3. マルウェアの挙動を理解する

マルウェアの挙動を理解するために、以下のコマンドを使用して関数のリストを表示し、挙動を含む関数を見つけます。

4. データフローの解析

データフローの解析を行うために、レジスタの値やメモリの内容の変化をトレースします。

5. 動的解析

最後に、radare2のデバッガ機能を使用してマルウェアを動的に実行し、動作を観察します。

これらの手順を実行することで、radare2を使用してマルウェアのバイナリ解析を行うことができます。これにより、マルウェアがコンピュータ上でどのように振る舞い、結果どうなるのかを詳細に理解することができます。

味原
味原

この記事があなたのお役に立てればうれしく思います。

最後までお読みいただき、ありがとうございます

コメント