ja

Asana のセキュリティチームのご紹介

security engineering

この記事は英語でもお読みいただけます。

Asana のエンジニアリングチームに所属するメンバーにチームの仕事やその進め方についてインタビューする「メンバーのご紹介」シリーズへようこそ。

今回は、当社のセキュリティ部門長を務める Sean Cassidy にインタビューを行いました。Sean は、社内のすべての部門とセキュリティ部門、および Asana のお客様とセキュリティ部門とをつなぐ橋渡し役として活躍しています。この記事では、セキュリティチームがお客様のデータを安全に保護する方法、チームが使用しているテクノロジー、ダンプスター (路上に置かれる大型のごみ収集箱) の形をしたキャンドルが好きな理由などを、Sean 本人の言葉でお伝えします!

Asana のセキュリティチームの仕事とは?

セキュリティチームの仕事は、Asana とお客様のデータを保護することです。それには、Asana や当社が使う AWS インフラストラクチャに存在する脆弱性を見つけて修正する、敵からの攻撃を検出し、封じ込める、およびセキュリティインシデントへの対応などが含まれます。当社のクラウドインフラと企業インフラは Asana のセキュリティに欠かせないものであるため、セキュリティチームは、インフラチームおよび IT チームと緊密に連携して作業を行います。

Asana では、セキュリティ、可用性、パフォーマンス、機能というフレーズが頻繁に口にされます。それは、私たちのトレードオフに対する考え方を示しているのです。セキュリティが最初に挙げられている理由は、お客様からお預かりしたデータを保護できなければ、どのような機能も提供する意味がないからです。会社全体からこうした理解を得ることで、セキュリティチームは単独で取り組むよりも大きな成果を上げることができるのです。

Asana を開発する上で、チームが一番気に入っていることは何か?

セキュリティチームは一般的に、ミーティングに参加したり、コンプライアンスに準拠するための作業を行ったり、関係者に最新情報を周知したりするなど、たくさんの「仕事のための仕事」に追われている場合が多いでしょう。Asana の開発では、ミーティングへの参加や最新情報の作成などに追われることなく、一番得意な作業、つまりリスク管理に集中できます。

セキュリティチームでは、チーム内でも Asana を多用していますので、新たな意思決定について知り、最新情報を確認するのはとても簡単です。自社製品を多用し、その製品が毎月のように成長していくのを見れるのは楽しいです。

セキュリティチームは、毎日の仕事にどのようなテクノロジーを使用していますか?またそれはどのように選択していますか?

私たちは、Scala と Node を使って Asana を構築しています。チーム内では、さらに Python を使って独自のセキュリティツールのコーディングを行っています (Rust も少し使います)。またセキュリティチームは、AWS を多用しています。そのインフラストラクチャを幅広く活用することにより、当社のセキュリティを一から設計しています。

Asana では、社内のテックスタックに新しく追加するテクノロジーについて、慎重に検討するようにしています。単純に新しくて、面白いというだけでなく、新しいニーズを解決するツールでなければいけないと考えています。セキュリティチームは、いくつかのツールチェーンや、新しいツールにかかるコストについてよく理解しているので、そうした考え方をしっかりと認識しています。

セキュリティチームが最近開発した機能のうち、あなたが特に誇りに思うものは何ですか?

私たちが使う Macbooks に組み込まれている、Secure Enclave を使って、SSH 用の MFA を実装しました。そうすることにより、MFA だけでなく、より強力なセキュリティ保証である存在証明も提供されます。Secure Enclave で SSH に 2 つ目の認証要素を追加することにより、重大な侵害が起こる可能性を大幅に抑え、特定の種類のエンドポイント侵害を簡単には行えないようにしています。

エンジニアとして、Asana をどのように使用していますか?何かヒントがあれば教えてください。

セキュリティチームがどのように Asana を使っているか、と考えると、主に 2 つのことが頭に浮かびます。

  1. 各 OKR をプロジェクトとしてセットアップし、スプリントごとに、1 回ずつステータス更新を行っています。「リスクあり」または「要対応」の状態にあれば、軌道に戻すためのタスクを作成するか、その OKR は達成できないと関係者に伝えます。これで、進捗報告に悩まされることはありません。
  2. また、社内のリスク登録簿も Asana に保管しています。たとえば、攻撃者が AWS の権限をエスカレートするために、「PassRole」と「RunInstances」を使った場合はどうするかなど、非常に細かいレベルでリスクを管理し、便利に使えるようにしています。また、リスク登録簿は、最新の状態に保ち、計画プロセスの一環として使うことにより、インパクトの一番大きいリスクに集中できるようにしています。

セキュリティチームの作業に Asana を使ってみたいという方には、いくつかおすすめしたいことがあります。

  • システムごとにプロジェクトを 1 つ作成し、リスクを示す新しいタスクを追加し、カスタムフィールドを使うことにより、セキュリティ管理に対する信頼度を示すこと。またプロジェクトのステータス更新機能を使うことにより、リスクに対する進捗を関係者に知らせることができます。
  • 脆弱性管理の結果を新しいタスクとして Asana プロジェクトに追加すること。それらは、カスタムフィールドやセクションを使ってトリアージできます。私たちは、CVSS スコアと可能性およびインパクトに対する自分たちの判断の両方にカスタムフィールドを使っています。
  • インシデント対応のカスタムテンプレートを作成すること。私たちのテンプレートには、インシデントを開始させるために行う必要のあるすべてのタスクをまとめた Setup (セットアップ) というセクション、セキュリティ侵害インジケーターごとに 1 つのタスクが設けられる Indicators of Compromise (セキュリティ侵害インジケーター) というセクション、未解決の質問の内容とその答えを記入するセクション、および緩和措置のセクションがあります。私たちは、通常、緩和措置を別のバグプロジェクト、脆弱性プロジェクト、または別のチームのバックログにマルチホーミングしています。また、プロジェクトのステータス更新機能を使って、関係者に私たちが実行するインシデント対応について知らせています。以下は、Asana を使った社内プロジェクトの 1 例です。

セキュリティチームの新メンバーについて教えてください!

実は、私はセキュリティチームの新メンバーなんです!Patreon でセキュリティ部門長として務めていて、数か月前にまたセキュリティ部門長として Asana のセキュリティチームに加わったばかりなんです。その前は、DefenseStorm というセキュリティ企業を共同創設しました。

私は、企業内で「セキュリティを正しく行う」文化を築くのが好きなんです。セキュリティを正しく行う文化というのは、セキュリティがエンジニアリングチームとプロダクトチームの一部であり、サイロの内に留まることなく、会社全体に対してしっかりとしたセキュリティ教育を行い、レベルアップさせていける文化です。そうすることで、セキュリティチームは発展し、影響が特に大きい仕事に注力できるというわけです。

チーム内に楽しい習慣のようなものはありますか?あれば教えてください。

最近、インシデント対応で活躍したメンバーにプレゼントをするようになりました。それが、ダンプスターキャンドルです。最近発生した重要インシデントでは、チームメンバーの 1 人がよい働きをしましたので、実際にこのキャンドルがプレゼントされました。

現在、Asana のセキュリティチームの一員として、楽しいと感じていることはありますか?

Asana にとって、セキュリティチームはとても重要な存在です。私たちはお客様のデータを守るために働いています。Asana のお客様の数、保管するデータの量、および従業員の数が増える中でセキュリティチームをスケールさせることは、チームメンバーにとってはスキルを上達させて、エンジニアとして成長する大きなチャンスなのです。

ここには、楽しくて、やりがいのある仕事がたくさんあります。セキュリティに関する大規模な取り組みを指揮する大きなチャンスもあります。たとえば、この秋には、会社全体で CTF (ハッキングコンテスト) を実施する予定です。その目的は、社内のエンジニアと従業員に Asana と自分自身を攻撃者から守るための最適な手段を教えることです。これは、私がセキュリティエンジニアを採用しながら、楽しみにしていることの 1 つにすぎません!

Asana で Sean 率いるセキュリティチームと一緒に働きませんか?ぜひ、募集職種をご覧ください。皆さまからのご応募お待ちしております。

Would you recommend this article? Yes / No