NFLabs. エンジニアブログ

セキュリティやソフトウェア開発に関する情報を発信する技術者向けのブログです。

長崎大学の学生にマルウェア解析の講義を行いました

はじめに

こんにちは。ソリューション事業部 教育ソリューション担当の西田、三村、黒川、吉武です。
2023年6月2日~7月7日にかけて、長崎大学情報データ科学部の小林研究室・荒井研究室所属の学生およそ17名に向けて全6回のセキュリティ講義を実施しました。

本記事では、その状況や具体的な実施内容、感想について紹介します。

講義の概要

「学生向けセキュリティ講義 マルウェアの表層・動的解析 - Windows OS -」という題目で、全6回にわたりハンズオンを交えたマルウェアの表層解析・動的解析について講義を行いました。
メイン講師は西田、サブ講師は三村、黒川、吉武が担当しました。

第2回~第6回はオンラインで実施しましたが、初日は長崎大学の校内で行い、学生と直接交流しながら、ファイルの拡張子の偽装などの簡単な内容からファイルフォーマットまでの基本について学んでもらいました。
講義中は真剣に話を聞いており、ハンズオンでは学生同士で話し合いながら手を動かしていて、とても積極的に参加していました。


実施内容

表層・動的解析を用いたPEファイルの解析方法を説明し、無害な実行ファイルを用いて解析を体験してもらいました。ここでは、その内容を簡単に説明していきます。

表層解析

  • ファイルタイプ判定

ファイルタイプを拡張子とファイルフォーマットから判定する方法を説明しました。

  • 文字列とファイルヘッダ・難読化

ファイルからの文字列抽出、PEヘッダの情報から分かることを説明したのち、その解析を妨害するために攻撃者が用いる手法を説明しました。具体的には、パッカーと暗号化であり、その妨害を対処する方法も併せて解説しました。

動的解析

動的解析では、プロセス・ファイル・レジストリの3つにおいて、正規の使われ方と悪意のある使われ方を扱いました。その上で、それらの情報を動的に取得する方法も扱いました。
なお、本来であればネットワークも扱うべきですが、時間の都合上割愛しました。

  • プロセス

プロセスの概要を説明したのち、その挙動を主にWindows APIから確認する手法を扱いました。正規のプログラムではどのように見えるか、簡単な永続化やプロセスインジェクションを試みる場合にはどのように見えるかを解説しました。

  • ファイル

ACLやファイルの読み書きをするWindows APIの説明をしたのち、マルウェアがそれらの機能をどのように悪用することが考えられるかを説明しました。その上で、それらの挙動がどのように見えるかについて、演習を交えて解説しました。

  • レジストリ

レジストリの概要を説明したのち、マルウェアがどのように悪用するか、そしてどのように調査するかについて解説しました。

感想

今回はハンズオンをたくさん用意し、学生には実際に手を動かしながら悪意のあるプログラムの挙動を解析してもらいました。初日の対面での講義後にはバイナリエディタによるPEフォーマットの見方について、熱心に質問に来る学生がとても印象に残っています。

全くの初学者にとっては難しく感じる講義内容ではありますが、講義を行う前に実施した理解度テストに比べて、講義後には半数以上の学生が点数を大幅に向上させるなど、高い習熟度を確認することができました。

また、講義後のアンケートでは「今まではセキュリティについて触れる機会があまりなく、まったく知識がない状態でしたが本講義を通じて基本的な内容を理解する事が出来ました。今後の生活や研究等に生かしていきたいです。」「講義内容は専門性が高く、難しいと感じましたが、講師の方々の丁寧な講義のおかげで、理解できた部分も多くありました。」といったポジティブな感想をたくさん頂き、大変嬉しく思います。これをきっかけに、セキュリティに興味を持つ学生が少しでも増えてくれたら良いなと考えています。

最後に、このような貴重な機会を設けてくださった長崎大学の小林先生や荒井先生をはじめとする先生方には心より感謝申し上げます。

エヌ・エフ・ラボラトリーズが提供している研修にご興味をお持ちの方は、以下の窓口からお問い合わせください。
エヌ・エフ・ラボラトリーズ 問い合わせ窓口