Da Vinci Studio インフラ基盤部の坪井です。 当社では、セキュリティ人材の会というセキュリティを学び実践する会が存在します。 活動を始めて1年半以上が経ちました。この会で行ってきたことを紹介したいと思います。
活動概要
CEO吉川を含めアプリ開発、バックエンド開発、SREと社内各部から1〜2名の計8名で構成されています。 活動の趣旨は、この会を通じてWeb開発に携わる身として、セキュリティに詳しい人材となって活躍していくことを目指しています。 最近ではくふうカンパニー法務部のメンバーも加わり活動に幅で出てきました。
活動内容
会の立ち上げ以降、月1回のペースでリモート開催しています。これまで1年半の活動において学習と実践的な活動へと移行してきました。
- 学習フェーズ:2021年1月 〜 2021年12月
- 実践フェーズ:2022年1月 〜
学習フェーズ(2021年1月〜2021年12月)
毎回1〜2名が最近気になる技術や事例について調査および発表し、内容について話を深堀りしていくという活動を続けてきました。
- 発表テーマの一例
- 認証認可とOauth2.0
- 脅威モデリング( STRIDE )について
- 解析ツールを使ってハッシュ値から元の文字列を復元
- JWTによるセッション管理
- 脆弱性検査ツールについて
筆者はこの会で初めてJWTを知りました!
自分が担当する領域以外の技術に触れる事でセキュリティに関する知見が得られたと思います。 テーマについて個人が発表するだけでなく、「セキュアな設計または実装をするにはどうしたら良いのか?」というテーマについて、グループワークを行いました。アプリケーションとインフラストラクチャーの観点で何ができるだろうか?という視点で自由に出し合いました。その後、付箋を確認しながら、具体的にはどういうことだっけとか、他にもこういうことがあるよねなどざっくばらんに話し合いました。 余談ですが、とあるプロジェクトにてこのグループワークで話し合った内容を実装に取り入れたというフィードバックを聞いて、活動の意義を見いだせてきた気がしました。
実践フェーズ(2022年1月〜)
社内開発サービスへの検査の実施
翌年から学習だけでなく実践的な活動への取り組みを開始しました。この頃、Da Vinci Studioで開発したKotorにセキュリティ検査を実施し、検査結果レポートを作成して開発チームへフィードバックしました。KotorはiOSとAndroidのネイティブアプリとバックエンドで構成されています。セキュリティ人材の会は、各部のエンジニアで構成されており、自分たちで検査可能なツールを検討し実施しました。
- Amazon ECR enhanced scanning
- OWASP ZAP CLIとTrivyを利用した脆弱性検査
- OWASP MASVSに沿ったセキュリティレベル要件のチェック
- アプリのリバースエンジニアリングと静的解析(Mobile Security Framework)
社内の他サービスに対して日常的に利用しているものから、今回始めて利用したツールまでありました。 ここでは詳細は割愛しますが、検査の結果、利用ライブラリーに重大度が高いCVEが検出されました。ネイティブアプリの静的解析のスコアも低かったので、チームへのフィードバックを通して改善してもらっています。
インシデント発生のロールプレイング
グループ内で発生したインシデントを題材に挙げ、その際行われた対応履歴を元に「良かった点」「ここはこうすればよかった点」などを議論しました。この会の後、社内インシデントを想定したロールプレイングを実施しました。とあるAWSリソースの費用が急激に高くなっている事をきっかけに、その謎を紐解いていくという内容です。
ボードゲームを通じた体験学習
IPA(情報処理推進機構)が提供しているボードゲームがあるということが話題に挙がったので、希望者向けにCSIRTの活動を体験してみる会を実施しました。現在IPAから提供されているボードゲームは以下の3つです。(CSIRTとは「Computer Security Incident Response Team」の略語で、「シーサート」と読みます。「コンピュータに関するセキュリティ事故の対応チーム」の事を表します。)
この内、ABCIRTとマルウェアスイーパーの2つを社内で体験してみました。ABCIRTは、工業部品を販売する会社のCSIRTメンバーとして、月曜日から金曜日までの1週間、インシデントへの対応を行ないます。1日の工数は8hと限られており、工数内で必要と判断した取り組み対応カードを選択し、ポイントの合計点を競うゲームです。対応カードは0〜100ptのポイントが割り振られています。1日の対応を選択し終わった後に、カードを裏返してポイントを確認していきます。月曜日から木曜日の間の1日のみ残業が可能であり、工数を6h増やすことができます。金曜日は、今までの状況を整理して振り返りを行う日です。
2チームに分かれ点数を競ってもらいました。
今回は、Bチームの勝利です。0ptの対応カードを選ばず着実にポイントを増やしていったのが勝負の明暗を分けました。Bチームはセキュリティ人材の会のエンジニア2人なのでさすがと言ったところです。
毎日の行動を意思決定していくというゲーム性が非常にシンプルでわかりやすかったです。誤った選択をした場合は、大きく時間を割かれてしまうので、現実の世界でインシデントが発生した際は、その時々において何が最適な行動か判断していくことが重要だという事が学べたと思います。ABCIRTは体験者に好評でした。日頃、業務でセキュリティに触れる機会が無い人たちにとっても有意義な体験となったと思います。
筆者は3つのボードゲーム全てを何度か体験しましたが、どれも学びがある内容でした。このようなゲームを通じて体験をすることで、セキュリティ意識を高められる活動を今後も続けていきたいと思います。新卒研修に取り入れる事も検討しています。
最後に
発足当初は、書籍ではセキュリティ対策を読んだことがあるけど、実務では経験したことが無いというメンバーが多かった中、いまでは安全にアプリケーションを作るにはどうしたらよいか、運用するためにはどうしたらよいかという意識が実務でも活かされるようになり、会のメンバーを頼もしく感じます。これからも粛々と活動していくと共に、セキュリティ意識を高めていく活動を、Da Vinci Studio全体へ、ひいてはくふうカンパニーグループへ波及させていく事が今後のミッションです。
セキュリティ人材の会、いかがでしたでしょうか。Da Vinci Studio は、くふうカンパニーグループの開発会社です。 グループ内外の受託開発の他、自社でもサービス開発に取り組んでいます。わたしたちが携わったサービスを安心して利用してもらえるよう、これからも活動を続けていきたいと思います。 Da Vinci Studio では一緒に働ける仲間を絶賛募集中です。 興味のある方は こちら か recruit@da-vinci-studio.net までご連絡ください。