ニュース
「Chrome」のセキュリティレビュー文化に学ぶ、開発とセキュリティが協働する方法:「意見の相違」はどう解決? レビュアーはどう教育?
Googleは公式ブログで、セキュリティ中心のエンジニアリング文化がある「Google Chrome」のセキュリティレビュー文化を例に、どのようにレビューを進めたり、レビュアーを育成しているのか解説した。
Googleは2023年7月20日(米国時間)に公式ブログで、セキュリティ中心のエンジニアリング文化がある「Google Chrome」(以後、Chrome)のセキュリティレビュー文化を例に、どのようにセキュリティレビューを進めたり、レビュアーを育成しているのか解説した。
Chromeにおけるセキュリティレビュー
Chromeにおけるセキュリティレビューは、提案された機能の設計に焦点を当てたレビューであり、コードレビューとは異なるものだ。意見の相違は重視され、失敗から学び、決定を再検討することもある。
開発者はセキュリティチームを、機能を安全にリリースするためのパートナーとして見なしている。セキュリティチーム内では、質問と学習を奨励することでお互いをサポートし、レビュアーがレビュースキルを向上できるよう指導とコーチングを行っている。このように、セキュリティレビューは容易な仕事ではないと、Googleは述べている。
セキュリティレビューを学ぶには?
Googleは、セキュリティレビューを学ぶ方法を以下のように解説した。
シャドーイングから始める
- 学ぶための最良の方法は、何が必要かを観察し、確認することである。シャドーイングから始めて、プロセスの感覚をつかむべきだ
- シャドーイングする人に、どのようにレビューに取り組むつもりかを尋ね、自分でも資料を確認する
- レビューの詳細よりも、レビューの方法を学ぶことに集中する。あまり深入りせず、レビュアーのやり方を観察し、その理由を尋ねること
- 共同レビューするときは、フィーチャーチームに質問し、レビュアーと自分の考えを話す。最終的な承認の判断はレビュアーに任せる。これを数回繰り返せば、メインのレビュアーになれる
決断するのに十分な量を読む
- たくさん読む。その機能が何をしているのか、何が新しく、何が既存の承認された仕組みの上に構築されているのかを理解する
- コンテキストの理解には古いドキュメントやコードをざっと読む。関連するレビューを見て、繰り返される問題や解決策を探すのも助けになる
- 全てを理解しようとしない。何度かレビューしているうちに、やめどきを判断できるようになるだろう
ドキュメンテーション改善のために質問する
- 確かな部分を理解できるまで質問する。質問には価値があり、チームが何かを違う方法で行うべきだと気付くきっかけになる場合も多い
- 無知だと思われるのが心配なら、周りの経験豊富なレビュアーにチャットで質問したり、マンツーマンで教えを乞う時間を予定に組み込んでもらう。そうすれば質問を練る時間も十分にとれるし、質問がフィーチャーチームにとって有益なものにもなる
セキュリティ分析において人を中心に据える
- 人々を助けるためにここにいることを忘れず、考えや議論の中心に人を置く。人々はその機能をどのように使うのか? その人たちは誰なのか? 他の人たちよりも傷つきやすい人々を守るために何ができるか? その機能は人々にどのような印象を与えるか? アプリケーションの体験はどのように変わるか? 彼らの生活はどのような影響を受けるか? などの質問を他のレビュアーと議論する。
何がうまくいかないのかを考える
- セキュリティレビューの目的は、新しいアイデアを世界に解き放つ前に、立ち止まって考えることである。時間をかけて考え、別の視点を持ち込もう
- 深い知識よりも懐疑的で探求的な考え方の方が役に立つ
承認の前に考えを整理する
- セキュリティレビュアーはレビューを行った後、最終的な承認を出す前に、立ち止まるべきだ。セキュリティレビュアーが考えを整理し、十分な時間をかけて決定を下すことが重要だからだ
間違いを犯すことを想定し、そこから学ぶ
- セキュリティとは、製品を使用する人々に価値を提供する代わりに、新たなリスクが見つかることでもある。時間が限られる中、見落としが起こるのは避けられない。特定の問題を見つけるのは良いことだが、もっと重要なのは一般的なセキュリティ原則を見つけて適用することである
セキュリティレビューを上達させるための取り組み
Googleはこれらのアドバイスに加えて、経験豊富なセキュリティレビュアーが何に取り組み、組織に何をもたらしているのか紹介した。
- バランスが大切:セキュリティは重要だが唯一の要素ではないことを理解し、製品全体のバランスを考える必要がある
- チーム全体を支援する:開発者の経験が浅く、セキュリティのリクエストに応えられない場合は、専門家を見つけるか自分が実装する
- 対立を乗り越えるトレーニングを積む:立場の相違による意見の違いを乗り越えるために、コーチングやメンタリングの技術を身につける
- 影響力を広めるように努める:持続可能なセキュリティの作業量を維持しつつ、チーム全体が成長できるよう、良いパターンを奨励したり、ガイダンスやポリシーをまとめる
セキュリティレビューは人々を危害から守り、製品に対する信頼を高める重要な要素だ。レビュアーが成長できる文化を維持し、安全性を念頭に置いて他のチームが新機能を開発できるように支援すべきだと、Googleは述べている。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Google、Webアプリのテストや自動操作ができる「Chrome for Testing」を提供開始
Googleは、Webアプリケーションのテストや自動操作を想定した「Chrome」ブラウザの開発者向けバージョン「Chrome for Testing」を発表した。 - 「Chrome 113」β版で「WebGPU」が利用可能に JavaScriptの負荷軽減、機械学習モデル推論を3倍以上改善
Webブラウザ「Chrome 113」のβ版で、新しいWebグラフィックスAPI「WebGPU」が利用可能になった。 - GoogleがOSSのWebサイト監査ツール「Lighthouse 10」公開 「ペースト禁止」は改善対象?
Googleは、Webページの品質向上に役立つオープンソースWebサイト監査ツールの最新版「Lighthouse 10」を公開した。