エンジニアは知るべき! IPA製の脆弱性体験ツール【AppGoat】がタメになる!
「脆弱性って、どんなものがあって、どんな被害があるの?」
お客さんにそう聞かれて、わかりやすく説明できますか?
若いエンジニアさんは、ちゃんと説明できない人が多いんじゃないでしょうか?
まずは、脆弱性にどんな種類があるのか。どんな被害につながるのかを【AppGoat】で1時間ほど学習して説明できるようになりましょう。
AppGoatとは、IPAが提供する脆弱性体験学習ツールです。
- ローカルPCにApacheなどを動作させる
- 脆弱性のあるソフトウェアを起動、マニュアルに従って攻撃手法を実行する
- どんなことが起きるのかを体験する
こんなことができるソフトが、ワンパッケージになったフリーツールです。
ダウンロード1つで一通りのソフトがそろっているので、手間は少ないです
- 主にC言語開発従事者向けの体験型学習
- よくある脆弱性と攻撃手法
- 脆弱性のある実際のソースコード
- 実際にあった脆弱性とその製品名など
紹介されているソースコードは、C++ですが、それ以外の言語開発者でも知っていたほうが絶対いいです。
Windowsに絡む脆弱性も紹介されています。
この記事で紹介していること
AppGoatでわかること

一通りいじってみて、何が分かるかご紹介します。
| 脆弱性名称等 | 学べること | 実際にあった脆弱性事例リンク※ | 
|---|---|---|
| バッファオーバーフロー | 仕組み、攻撃方法と対策 | 2020年 iPhone など | 
| ディレクトリトラバーサル | 仕組み、攻撃方法と対策 | 2019年 ウイルスバスター | 
| リソースリーク | 仕組み、攻撃方法と対策 | 2012年 サン・マイクロシステムズ | 
| 整数オーバーフロー | 仕組み、攻撃方法と対策 | 2020年 Android | 
| フォーマット関数(主にpringf)を用いた攻撃 | 攻撃方法と対策 | 2009年 Mac OS X | 
| 不備のある認証機能 | 具体例、攻撃方法と対策 | 2018年 Spring Framework | 
| 権限管理の不備 | 仕組み、攻撃方法と対策 | 2020年 マカフィー | 
| ジャンクション不備(Windows) | 仕組み、攻撃方法と対策 | 2020年 Windows10 | 
| 暗号の不適切な利用 | 仕組み、攻撃方法と対策 | 2020年 iPhone iPad | 
※実際にあった脆弱性事例リンクは独自調査なので、不確実だったりしてます。
実例をみても、最近発生していますから、甘く見ることはできません。
それに、有名なハード・ソフトの名前がずらり。
お客さんからの「なんでアップデートが必要なの?」という質問にも詳細に答えられそうですね。
AppGoatのダウンロード

IPA製ですが、なんと、Vectorでダウンロードできます。
詳しくは、公式サイトからどうぞ。
脆弱性。説明できます?

現代のエンジニアは守られすぎ
エンジニアのみなさん。脆弱性対策やってますか?
特に意識してやったことない人がほとんどですよね?
脆弱性って、具体的にどんなことなのか、理解していないエンジニアも多いはず!
現代のエンジニアは、フレームワークによって作りこまれた土台に成果物を乗せる作業が9割になったと言っても過言ではありません。
そのため、脆弱性対策といっても、フレームワークがちゃんとやってくれているんですよ。
お客さんは理解しているエンジニアを求めてますよ
お客さんからすれば、プロとしてお金もらっているんだから、それくらい知っているはずと、思われていますよ。
脆弱性とは何か、なぜセキュリティ侵害事案が発生するのか。
説明を求められたら、サクッと答えられるだろうと、思われているかもっ!
やっぱり、こういう知識を持っている人は、単価も高い案件にアサインさせてもらえますよ。
学んでみた感想
脆弱性の名前をみて、どんなものかは知っていたつもりですが、実際に自分で手を動かして体験するのは、とても勉強になりました。
IPAでは、他にも学習コンテンツがたくさんあるので、また面白いのがあったらご紹介します
