はじめに
STORES でセキュリティエンジニアをしている横山です。
hey アドベントカレンダー 2020 の20日目の記事です。
今回はエンジニア向けに行ったセキュリティ勉強会の一部を紹介したいと思います。
セキュリティグループでは、セキュリティ施策の一部として脆弱性診断をしています。その中で、他チームのエンジニアから、「Webアプリケーション診断ってどうやってやっているの?」といった質問があり、「Webアプリケーション診断の体験会」を12月上旬に開催しました。
勉強会のアジェンダ
Webアプリケーション診断って
- どういうことをやっているの?
- どうやって進めるの?
の理解を目的に下記アジェンダで開催しました。
(1)はじめに
(2)Webアプリケーション診断の進め方
(3)環境準備
(4)演習1
(5)演習2
(6)演習3(演習2までクリアして時間が余ったかた用)
勉強会の内容
(1)はじめに
ここでは、脆弱性診断の種類、Webアプリケーション診断の主な診断項目とガイドラインなどを紹介しました。
(2)Webアプリケーション診断の進め方
ここでは、大きく以下の2フローでWebアプリケーション診断を進めていくことを紹介しました。
1)診断対象の整理
2)診断実施
(3)環境準備
今回の勉強会のメインである演習の時間確保のため、参加者にはBurp Suite(プロキシツール)のインストールと設定、Webブラウザの設定を事前に依頼しました。
演習環境は、Heroku、AWS、Dockerなどを利用して簡単に環境構築できる OWASP Juice Shop を利用しました。OWASP Juice Shopは、OWASP Top 10 を中心としたWebアプリケーションの脆弱性が埋め込まれたオープンソースのサイトで、さまざまな難易度の課題を解きながらWebアプリケーションの脆弱性を学ぶことができます。
(4)演習1
この演習では、以下のお題を出して、Burp Suite(プロキシツール)の操作に慣れてもらうことを目的にサイトクローリングしながら、どのようにHTTPリクエストを確認できるのか、どのようにしてHTTPリクエストを改ざんできるのか、を体験してもらいました。
回答の解説はこちらが分かりやすいです。
(5)演習2
この演習では、Burp Suite(プロキシツール)のrepeater機能(Webブラウザ上から何度もHTTP通信をBurpでキャプチャせずに、効率よくHTTPリクエストを繰り返し送信できる機能)の説明を前段にしつつ、以下のお題に取り組んでもらいました。
回答の解説はこちらが分かりやすいです。
(6)演習3
演習2までクリアして時間が余った人用に以下のお題も用意していました。
回答の解説はこちらが分かりやすいです。
勉強会を実施してみて
勉強会後のアンケート結果では、
- 「Webアプリケーション診断ってどういうことをやっているの?」に対して、「わかった」が約90%
- 「Webアプリケーション診断ってどうやって進めるの?」に対して、「わかった」が約90%
- 「今後業務に役立ちそう?」に対して、「結構あった」が約80%
といった回答で、事前準備の苦労が報われました。
今回、初めてオンラインで演習を含めた勉強会を開催しましたが、特にコンテンツと時間のバランス、フォロー方法に課題を感じました。
理由としては、
- 勉強会のコンテンツと時間が適切ではなかったこと
今回、1時間の勉強会に演習を取り入れましたが、Burp Suiteの操作説明の時間を確保できませんでした。参加者の皆さんは演習以前にツールの操作方法に時間が掛かってしまったと思っています。 - 演習時のフォローがやりにくいこと
受講者が上手く進捗できないとき、オフラインでは直接画面を確認してフォローしますが、オンラインだと、受講者のPC画面を確認できないのでどこで止まってしまっているのか、把握が難しかったです。また、勉強会の時間が短くフォローする時間を確保できませんでした。
次回の勉強会では上記課題を改善して、より役に立つ内容で開催したいと思っています。
最後に
今回、社内セキュリティ勉強会を紹介しましたが、 弊社では社内勉強会が活発に行われていて、読書会、自社システムのインフラで利用されている技術や新規リリースした機能の技術仕様の共有会など、様々なテーマの勉強会が行われていて、ナレッジの共有や交流を自発的にする文化が根付いています。