ペンテストから攻撃解析、トレーニングまで。そんなツールを開発、公開する楽しさとは?
自作セキュリティツール展示会「YOROZU」、SECCONで異彩を放つ
2019年01月10日 12時00分更新
ツールを自作する理由――いろいろあれど、つまりは“楽しいから”
なぜ彼らはセキュリティツールを自作するのだろうか。
「きっかけは人それぞれだと思いますが、単調な作業から少しでも解放されたいという気持ちはある程度共通しているかなと想像します」。そう語るSh1n0g1氏は、開発中は「ツールのおかげで楽になった自分を思い浮かべて頑張ってるんです」と笑う。
イベントログなど膨大な情報を精査する作業を簡素化したい、なるべく手作業を減らしたいといった理由から、現場では簡単なスクリプトを書いて対応している人も多いだろう。しかし、それを「他の人にも使ってもらえるような“ツール/製品”に昇華させて公開、発表するのはまた別の話です」と、Sh1n0g1氏は指摘する。
まず課題となるのが、プログラミング/開発能力だ。自分の使い勝手だけを考えたスクリプトとは異なり、利用者の視点に立って使いやすいように体裁を含め整え、完成品へと持っていくには、相応のプログラミング能力や開発力が必要だ。
「セキュリティ業務は、ネットワーク分野の1つとして派生した経緯もあって、システムの安定稼働を支える運用や監視がメイン業務。既製品のソフトウェアやツールを使いこなす能力は重視されても、プログラミング能力はさほど求められません。そのため、セキュリティ業界で本格的にプログラミングができる人は少数派。できる人はそもそもソフトウェア開発の分野に進んでいます」(Sh1n0g1氏)
また、開発を継続できるかどうかもポイントとなる。ツールを公開、発表すると「こんな機能がほしい」「この機能を改善してほしい」といったフィードバックがユーザーから返ってくる。それを受けてバージョンアップを続けるには、開発者の努力が必須だ。
nao_secメンバーで「tknk_scanner」を開発したpinksawtooth氏は、もともとはコマンドラインでやっていたことを、より多くの人が使えるよう、EKTotalのUIデザインを手がけたnomuken氏に協力してもらいながらツールに仕立てたという。「僕は開発者ではないから、苦労した」と明かすpinksawtooth氏は、公開するからにはツールを多くの人に知って使ってもらいたいと考え、GitHubのReadmeページで画面キャプチャや動画をふんだんに使い、何を実現するツールかを分かりやすく紹介するなど、ツールそのもの以外での作り込みで「良さ」を伝える工夫をしたと語る。
Exgdbを開発したmiyagaw61氏も、きっかけはハッカソンだったが、その後も開発を続け、もっと解析しやすいよう改善に取り組んだという。
発表することで、来場者からたくさんのフィードバックがもらえて刺激になると話す人も多い。YOROZU発表者の大半は、Black HatのArsenalやDEF CONのDemo Labといったツールのデモ展示の経験者。昨年のBlack HatとDEF CONでデモ展示したGyoiThonのbbr_bbq氏は、「発表しているこちらを無視して来場者どうしで議論が始まったりして、とにかく熱いんです」と振り返る。
何より、作っているときが楽しい。「技術力やスキルを向上させたいという理由もありますけど、それ以上に何かを作り上げるのが楽しいんです」。CryptGrep作者のhada2氏は笑顔でそう答えた。
モノづくりにメリットを挙げ連ねたり、理屈をこねたりする必要はないのかもしれない。そんな楽しさや面白さに気付かせてくれるYOROZU、次回の開催にも期待したい。