※こちらの記事は2020年9月14日公開note版「ラック・セキュリティごった煮ブログ」と同じ内容です
こんにちは、かすたーど先生と申します。
私が所属しているデジタルペンテストサービス部は、IoT、オンラインサービス/ゲーム、情報システム、スマホアプリ等に対してペネトレーションテストや脆弱性診断を行うサービスを提供している部署です。
今回の記事では、そんな部署に配属された新卒社員に対して実施したトレーニング内容や使用したツールの一部をご紹介させていただきます。
OWASP Juice Shop
OWASP Juice Shopとは、Webアプリケーションに関係する脆弱性があらかじめ埋め込まれた、ジュース販売のECサイトに模したWebサイトです。
用意された問題を解いていき、脆弱性を見つけて、攻撃・検証を行いながらWEBセキュリティについて学んでいくことができます。
オンラインサービス/ゲームの調査をする際に必要なWEBセキュリティの知識を学ぶために実施しました。今回のトレーニングでは、調査ツールはFiddlerを使い、Fiddlerの使い方も一緒に学びました。
Ghidra
Ghidraとは、NSA(アメリカ国家安全保障局)が開発したソフトウェアリバースエンジニアリングスイートです。逆アセンブルや、逆コンパイルなどができ、表層解析から静的解析が丸々こなせるツールです。
IoT機器へのペネトレーションテストでは、バイナリ解析を行うので、バイナリ解析に役立つGhidraの使い方をトレーニングしました。
Ghidraについては旧ブログで紹介しておりますので、興味ございましたら是非ご覧ください(記事は外部サイトです)
IoT機器解析
IoT機器ペネトレーションテスト関連ではGhidra研修の他に、脆弱性のありそうなIoT機器を購入して調査する実践式トレーニングも実施しました。
ファームウェアを抽出し解析、管理画面の脆弱性調査、アプリの脆弱性調査、パケット通信の調査等、実際のペネトレーションテストの流れを体験しました。調査の結果、管理者IDやパスワード設定の問題点、SSHをデフォルトでログイン可能な状態で開放しているなどの問題点を発見しました。
研修といえども実践そのもの、当社ではこの調査の過程で分かった結果をとりまとめた記事も公開しています。
(記事は外部サイトです)
Android Developer Fundamentals
Android Developer Fundamentalsは Google 公式の Android アプリ開発トレーニング教材です。実際にアプリを作りながら Android プログラミングの概念を学ぶことができます。
プロジェクトの構造やActivity のライフサイクルなどのスマホアプリ特有の概念を理解してもらうため実施しました。
この教材ではJavaか、Kotlin を使用するコースがあります。弊社の実際の調査では Java を読むことが多いため、トレーニングは Java で行いました。
スマホアプリ診断のトレーニングでは、Android セキュアコーディングガイド も読みました。こちらのガイドでは、Androidアプリケーションのセキュリティについてのノウハウが学べます。
Android セキュアコーディングガイドは、Android Developer Fundamentalsで学んだ後の方が理解しやすいと思うので、終わった後に読むのをおすすめします。
ーーーーーーーーーーーーーーーーーーーーーー
以上、2020年4月から9月にかけて行われた新入社員向けセキュリティ技術研修の一部をご紹介させていただきました。
2020年の新人教育期間は大半が在宅勤務だったため、リモートで実施出来る内容を中心にしました。また、IoT機器以外はどれも無料で使えるツールです。会社の研修でも、個人的な勉強でも使えるツールですので、興味ありましたらぜひお試しください。