有志のワーキンググループ「セキュリティ人材の会」とは?
Da Vinci Studio には「セキュリティ人材の会」という有志のワーキンググループがあります。 アプリエンジニア、サーバーサイドエンジニア、SREといった多様なメンバーで構成しており、セキュリティに関する知見の取得や議論など、さまざまな活動に従事しています。
今回はセキュリティ人材の会のメンバーに、どんな活動をしているのか聞いてみました。
※この記事の取材は、1月上旬に実施しました。
「セキュリティ人材の会」の名称に込めた想い
―― おっ、坪井さんは紙のメモ派なんですね。僕もそうです。
坪井 そうですね、私はずっとこのメモ帳を愛用してます。
―― 良いですよね、紙のメモ。僕はシャープペンシルで書くのが好きです。ボールペンだと書けないんですよ。
角田 あっ、何かメモあったほうが良いですか?
―― いえいえ、大丈夫です(笑)。僕はともかく、みなさんは特にメモする必要はないです。
多分、坪井さんもそうだと思うんですが、それ自体が思考のツールだったりするので常に出しちゃうんですよね。
角田くんは普段メモとか、どうしてるんですか?
角田 メモが必要なときはPCを使いますね。図が必要なら紙に描いたりしますが。
黒澤 僕はiPadが主体ですね。GoodNotesとNotionを併用してます。
坪井 私、デジタルだとBoost Noteも使ってますね。前に社内でメンバーにオススメされてから気に入っています。
―― みんな個性が出ますね。僕もiPadにしようかなと定期的に悩みつつも、結局シャープペンシルから離れられないですね。
……って今日はメモの話じゃない、セキュリティ人材の会の話なんです(笑)。
それではみなさん自己紹介をお願いします。
坪井 坪井といいます。インフラ基盤部でSREをやっています。今日は何を話したら良いか分からないです!
―― 大丈夫です、気楽に話してくれたら。
黒澤 黒澤です。サーバー部でWebサービス開発全般をやっています。普段はRuby on Railsで開発することが多いですね。肩書は、ちょっと悩みますね(笑)。
―― 立派なサーバー部のユニットリーダーじゃないですか(笑)。
角田 アプリ部でiOS/Androidのアプリ開発をメインにやっています。バックエンドもたまに書いていますね。2019年新卒で3年目です。
―― 角田くんは、RailsもGoも普通に書いてますよね。すごいと思います。
みなさんありがとうございます。幅広い顔ぶれですよね。
坪井 そうですね。それぞれの職種でカバーしている範囲を中心に話すので、いろいろなエンジニアが集まっていることが強みです。
―― あ、関連して気になったんですが、このワーキンググループの名前は「セキュリティチーム」や「セキュリティの会」じゃなくて、「セキュリティ人材の会」なんですね。これが正式名称ですか?
坪井 正式名称ですね。もともとこれは仮名のつもりで、1回、正式名称をどうするかをみんなで話したことがありました。でも、これが一番コンセプトを表現してるよねということで、そのまま採用になりました。
―― なるほど。ではその込められたコンセプトも含めて、セキュリティ人材の会とはどんな会なのかを教えてください。
坪井 各部のエンジニアが集まってセキュリティを学んだり、事例や知見を共有しあって人材として成長すること。さらに各部にフィードバックして、それぞれのプロジェクトで活かすことを目的として活動しています。
―― おお、分かりやすい。各メンバーの成長の意思が含まれているから「人材の会」なんですね。
……坪井さんさっき何を話せばよいかまったく分からない!って言ってたのにものすごくきれいにまとめて話せるじゃないですか(笑)。
どなたか補足あります?
角田 きれいにまとめてくださいましたね(笑)。
黒澤 会としては坪井さんがおっしゃった通りですね。補足するとしたら、社内の啓蒙だけじゃなくて、くふうカンパニーグループ全体に啓蒙や活動を拡げたいなという気持ちもあります。 あと、個人的には自分の知識欲を満たすという目的も強いです。
―― 知識欲!良いですね。セキュリティのどういう面を知りたいと思っていますか?
黒澤 全体像が知りたかったんです。セキュリティって社会的に見てもすごく重要性が高いと思うんですけど、じゃあセキュリティって何?と問われると、答えられないなと。
何をやるべきかもそうですけど、考え方そのものを学んでみたいなと考えていたんです。でも範囲も広くて、自分一人で勉強するのもどこから手をつけたら良いのかが分からなくて。
―― なるほどね。言われてみると確かに最初はとっつきにくいかもしれないですね。
といっても黒澤くんはリーダーの一人ですし、もともと開発におけるセキュリティで気をつけるべきところは抑えられてるじゃないですか。
黒澤 そうですね。例えば「Railsではここを気をつけないとね」というように、ピンポイントでは分かります。でも、体系だって理解はできていないなと感じていたんですよ。
フレームワーク側で吸収していて表面化していない仕組みもありますし、そもそもどう実現してるんだとか、知らないことも多そうだなと思ってました。 この会に参加していると、点と点がつながって知識が広がっていくので楽しんでます。
―― 楽しんでやれるのは重要ですね。
角田 実は、僕は最初あまり乗り気じゃなかったんですよ。各部から参加してと言われたので仕方なく(笑)。何をやるのかあまり分かっていなかったのもありますが。
―― あれ?希望者が参加してって感じじゃなかったですか?
黒澤 そうですね、希望者だけでしたよ。
角田 あれ?そうだったんですか?(笑)でも良いんです。今は参加して本当に良かったなと感じているので。
セキュリティの視点が身についてきたことで、これに関するトピックって身の回りにあふれていたんだなと気づいて、危機感も増しました。 見え方が全然、変わりましたね。
―― 結果、良かったです(笑)。
モチベーションの話になってますが、坪井さんはどうですか?
坪井 私は、もともと好きなトピックだったんですよ。脆弱性診断の会社への依頼や連携を担当していましたし、インフラのセキュリティの周辺は結構、見ていましたから。 でも、アプリケーションの実装まわりだと見えていないことも多かったんですよね。その辺は黒澤さんと同じかもしれません。
インフラは、点としては分かるけれど全体を理解できていないなと思ってました。個人では全部を網羅するのは大変なので、みんなのノウハウを吸収したいなーと。
直近で、要件としてセキュリティを厳しめに設計する案件に携わっていまして、そこでこの会の知見が活かされているので、実務でも助かっています。
ワークショップで議論を重ね知見を増やす
―― 実案件に活かせてくるとテンションが上がりますよね。みなさん楽しんでやってそうですね。
具体的な活動内容は、どういったものなんですか?
坪井 最近あったセキュリティに関するトピックや、気になっている技術からテーマを設定して、各々が自分の専門分野を活かして発表しています。 そこで出てきた技術を、別の回でさらに深堀りすることもありますね。最近はワークショップ形式で仮想的なサービス要件を作って、それを実装するときにどう設計するかをディスカッションしました。
―― ほうほう。テーマ設定には、どういったものがあるんですか?
角田 僕が最初にやったのが確か「アプリで個人情報やトークンなどの秘匿情報を保存する場合のベストプラクティスは何か?」という話でした。 どんな方法があって、それぞれメリット・デメリットはどういった点で、どういうケースに使えるかをディスカッションしましたね。
別の回ではハッシュ関数について取り上げました。そもそもハッシュ関数って何か、どんなアルゴリズムがあるかから話し始めると、坪井さんが話題を広げてくださいました。
坪井 やりましたね。ブルートフォース攻撃や辞書攻撃などの攻撃方法を説明して、ツールを使って実際に突破するまでを実演しました。
―― すごい、そうやって深堀りしていくんですね。実演も入ると面白そうですね。
黒澤 自分の興味範囲を中心に話をするので、より面白く感じます。僕はもともと認証まわりに関心があったので、テーマを認証方式やセッション管理から始めました。 OAuth 2.0やOpenIDとは何かから派生して、公開鍵・秘密鍵の話になったり、SPA(シングルページアプリケーション)でJWTでセッション管理するのは実際には何が問題なんだという議論になりました。
坪井 そうですね。話すときは自分が詳しい範囲が中心になるので、逆に聞くときはカバーできていない部分を知れて面白いです。 私は中間者攻撃や脆弱性診断ツール、IPA(情報処理推進機構)の出しているセキュリティ情報やガイドラインを解説しましたね。
黒澤 IPAの話は網羅的で勉強になりました。
―― いろいろやってますね。こうやって聞くだけでも面白そう。
ワークショップは、どういった内容なんですか?
坪井 仮想的なECサイトをテーマにして、それぞれの立場からセキュリティの観点から必要な対応や望ましい設計を洗い出し、それらを深堀りして議論しました。
角田 個人的に印象に残っているのが、個人情報の管理ですね。「データの暗号化が必要だとして、検索したいという要件があったらどうする?」という議論は面白かったです。
黒澤 それは面白かったですね。いつどこで暗号化するかという暗号化のタイミング。アプリケーションでやるのか、データベースでやるのか。 マネージドサービスの「透過的暗号化」ってどういうメリデメあるんだっけとか。
角田 初期は先ほどあったとおり各メンバーがテーマを選んで話していたんですが、やっぱり概念的になってしまいがちでした。 このワークショップは実践的な内容で、それまでのトピックがつながって理解が進みましたね。
―― そこまでいくと実際の案件でそのまま使えそうな内容ですよね。テーマ自体も面白そう。
視野が広がったことで実務にも効果
―― セキュリティ人材の会をここまでやってきてどうですか?何か変化はありましたか?
角田 個人的には視野というか、見え方が大きく変わったなと感じています。 例えばアプリをストアに出すときの「署名」は、以前は必要な手順の一つくらいにしか考えていませんでした。 でも、署名によって改ざん防止になってリスクが減るメカニズムが理解できたので、同じ作業でも見え方がまったく違います。
坪井 角田さんの言ってること、分かります。今、思うと以前は機械的にやっていた作業も多かったなと感じます。何て言ったらいいんでしょう。 「もっとこうしたら良いのでは」「今後こういうことが起きたらどうしよう」といったことを、より自分ごととして考え想像できるようになった気がします。
少し前に担当していた案件で、要件を話していたら「あっ、これDNSキャッシュポイズニングで話したやつだ」って気づいて、自然にDNSSECで対応しました。
―― なんでしょう、広告かのようなきれいな事例ですね(笑)。
坪井さん、何話したら良いか分からないといいつつ、絶対かなり考えてきてますよね。
坪井 いやいや、たまたまです(笑)。
黒澤 僕は技術選定で悩むようになりました。知識が十分じゃないときは、自分が取れる選択肢も少ないし、ベストプラクティスみたいなものを迷わず選んでいました。
今は自分で選べる選択肢が増えたし、一般的にベストプラクティスとされているものでも、そのユースケースにおいて本当に大丈夫なのかを考えるようになりました。結局のところ、銀の弾丸のようなものはなくて、長所と短所を考えてよりベターなものを選ぶしかないんですよね。
―― そうそう、その視点はすごく重要ですよね。これをやれば正解!みたいなのあるように思いがちだけれど、実際はそういう選択の積み重ねですよね。
今後セキュリティ人材としてやっていきたいこと
―― セキュリティ人材の会、ここまで聞く限りかなり濃い内容のようですが、今後はどんなことをやりたいですか?
黒澤 もっと実際のプロジェクトにつなげていきたいですね。僕自身はまだまだ点と点がつながっていないと感じる部分が多いので。 知識は確実に増えているので、実務に応用していきたいです。
実際に動いているコードで上手な実装や、逆に良くない実装も知りたいですね。さっき出てきたJWTの回で、実際にJWTを使ってるプロジェクトのコードを見たので、そういうのを増やしたり、実際に手を動かすことにもチャレンジしていきたいです。
―― 黒澤くんのその貪欲さ、好きです。そうですね、実際のプロジェクトのセキュリティチェックを実施するのも良さそうですよね。
黒澤 ああ、いいですね。自社開発のプロジェクトだと始めやすそうです。
角田 アプリでもやりたいです。いきなり外部のセキュリティ診断会社ほどは無理でも、普段から僕らでセキュリティレビューするフローになると面白そう。
坪井 それぞれの領域において、新しい視点からあらためて業務に向き合うと良さそうですよね。脆弱性検査のプロセスもそうですし、私の視点だとインフラでやるべきこと、足りてないところに向き合いたいです。また、この会で得た知見を社内の他のメンバーにも見える形にしていきたいです。
―― 冒頭で話した会の目的につながるところですよね。こういう形で全体のセキュリティ意識が高まるのは良いですね。
フロントエンドやデザインにも興味を拡張
―― セキュリティ人材の会は、単なる勉強会の枠を超えていて、個々人の成長度も高そうですし、何よりみなさんが楽しんでいるという点ですごく良い形になっていると思います。
セキュリティ以外のテーマでやるとしたら、どういったテーマに取り組んでみたいですか?
黒澤 個人的にはフロントエンド周りをやりたいです。ここは関与しているプロジェクト次第ということもあって、僕も含め触っている人は少ないので。
また、AWSやGCPのサービスは幅広く使えるようにしておきたいですね。実務ではインフラ基盤部から「ジョブを実行するならこれが良いよ」などアドバイスはもらえるものの、そこに甘えず、自分たちで選択肢を選べるようになりたいんです。
―― なるほど、AWSなどのマネージドサービス系ですね。確かにSREが新サービスの発表を逐次チェックするように、アプリケーション開発者みんながニュースに追いつけるわけじゃないですもんね。
坪井 私は、そもそもサービスをつくるときに何が必要なのかの全体像を知りたいと思ってます。ずっと担当はインフラなので、例えばアプリをストアに登録することや審査が大変だとか、SEOに対応しなきゃとか、言葉としては聞いているものの、実作業を知らないんです。
―― みんなCore Web Vitalsとか言ってるけど何だそれ?みたいなことですよね。
確かに法務との連携など、そういう一連のことは経験しないとイメージがわかないかもしれないですね。
角田 触れてなかったところ、目を向けてなかったところに僕も手を広げていきたいです。例えばインフラとかデザインとか。 デザインに関しては、アプリ部とデザイン部で「マテリアルデザイン勉強会」を開催しています。ペルソナ定義とかサービス設計にも触れてみたいですね。
―― 良いですね、ぜひどんどんやりましょうよ。そしたらまたインタビューしますので(笑)。
みなさん今日はどうもありがとうございました!