2018に、セキュリティテストツール「GyoiThon」のプレゼンターとして参加してきました。本Blogでは、筆者らが出展したツール「GyoiThon」の概要、そして実際の出展時の様子や出展に際して工夫した点などを紹介します。Arsenalとは、「先進的なセキュリティに関するツールの展示会」であり、独自開発したツールを訪問者の目の前でダイレクトに紹介することができるイベントです。今回は、30件の先進的なツールがArsenalでの展示ツールとして採用されています。2016のSAIVSに続き2回目となります。※当時の参加blogはこちらをご参照ください。今回筆者らは、Webサーバ上で稼働するソフトウエア(OS、Framework、CMS等)の脆弱性を全自動で検出するペネトレーションテストツール「GyoiThon」を出展しました。Meetingで発表したツール「Pythontak」の進化系となります。「PyThontak」は、検査対象WebサーバのトップURLにアクセスして得られたHTTPレスポンスを文字列マッチングと機械学習で解析し、サーバ上で稼働しているソフトウエアを特定するツールでした。「GyoiThon」は「PyThontak」をベースに以下3つの機能を追加したものとなります。クローリングで多くのHTTPレスポンスを収集トップURLのみならず、Webページをクローリングし、ソフトウエア特有のPathや文字列、特徴を含んだ様々なHTTPレスポンスを収集。エクスプロイトの実行HTTPレスポンスの解析でソフトウエアを特定した場合、ソフトウエアに対して有効なエクスプロイトをMetasploit経由で実行。脆弱性を検出した場合、検査結果のレポートを生成。「GyoiThon」の処理フローを纏めると以下となります。「GyoiThon」はこの一連の処理を全自動で実行することが可能であり、ユーザの操作は「GyoiThon」を実行するためのコマンドを1回入力するのみとなります。これにより、ユーザは手間を掛けずに効率良くかつ高精度で(自身が管理する)Webサーバの脆弱性を検出することを目指しています。※本Blogではツール詳細は割愛します。詳しくはGitHubをご参照ください。Arsenalは、「如何に訪問者を退屈させずに場を盛り上げるか」が重視されます。Station)にてツールの魅力的をアピールし、Arsenalを盛り上げることが求められます。このため、プレゼンターは自分の専用ブースに多くの訪問者を集めるために、ツールのロゴが入ったシャツを着たり、ツールの概要を記載した資料を配布したり、ツールのデモンストレーションを面白くしたりと、多くの工夫を凝らす必要があります。今回筆者らは専用のユニフォームを用意し、また、ツールの概要を記した配布資料を用意しました。Stationは6つ用意されており、各国から集まったプレゼンターが各々の方法でツールを猛烈にアピールします。Station6で発表しました。Arsenalのスケジュールボード筆者らは多くの訪問者に関心を持ってもらうため、当日のデモや配布資料の準備だけでなく、事前にGitHubにてツールのプロトタイプや詳細説明、そして、デモ動画を公開しました。発表前夜にTwitterにて発表の告知も行いました。その効果もあってか、発表開始時間となるやいなや非常に多くの訪問者で溢れかえり、その勢いは発表時間終了まで絶え間なく続くものでした。発表の様子1発表の様子2発表の様子3Arsenalはプレゼンターと訪問者の距離が非常に近いです。そのため、訪問者は単にツールのデモを観たり説明を聞いたりするだけではなく、気軽にプレゼンターと会話をすることができます。今回は、ツール仕様の他、実際にツールを動かすための具体的な動作環境などに関する細やかな質問が寄せられました。多くの方から「クールなツールだ!興味があるから使ってみるよ!」との感想をいただいた他、訪問者とガッチリと握手や肩を組んで一体感が生まれる場面も多々ありました。最終的には、100分間で約200名の方に訪問いただき、大盛況と言える結果となりました。GitHubには、Arsenal終了直後に多くのStar(「いいね」のようなもの)や、幾つかのIssuesも寄せられ、関心の高さが伺えます。我々プレゼンター側としては、自分達が有益だと思い立ち開発したツールに対して、世界各国の技術者からダイレクトな反応を得られる点がArsenalの魅力です。今回も多くの訪問者から様々な質問、意見、アイディアをもらうなど非常に貴重かつ有意義な経験をすることができました。「GyoiThon」は未だプロトタイプとなりますが、今後開催される他のカンファレンスなどでバージョンアップした「GyoiThon」をお披露目できるよう、継続して研究を進めていきたいと考えてします。