――攻撃者視点のセキュリティを実践するため、自動化に取り組んだということですが、具体的には何をやったのですか?
マザル氏 ええ、さまざまな自動化を行ってきました。
特に重要だったのが、Gitのような仕組みを活用し、作業を繰り返し可能かつ監査可能なものにすることです。必要なときだけ環境を立ち上げ、使い終わったら破棄する、といったことも可能になります。
インフラについても、基本的にはInfrastructure as Code(IaC)の考え方で、何かを一度作ったら、それをリポジトリに登録する。自分だけで使うのではなく、適切なガイドラインの下で、他の人も利用したり改善したりできるようにしました。
これは現在のGitLabにも通じる考え方です。
従来、セキュリティはエンジニアリングとは別の「アドバイザリー機能」と捉えられがちでした。プロセス上にゲートやチェックを設け、開発チームに助言するという役割です。
しかしDevSecOpsという変革で、セキュリティチーム自身がスケーラブルなサービスを構築し、自動化するという考え方が広がりました。開発やインフラなど他のチームと協力し、問題を見つけるだけでなく、その解決やアーキテクチャの設計にも関わるようになったのです。
――それはAIが急速に普及する現在の状況にも当てはまるのでしょうか。
マザル氏 そう考えています。
私たちはAIという、全く新しい技術を手にしました。だからこそ、AIがセキュリティ上生み出している新しい問題を、同じAIを使って解決していくことが重要です。
そのためには、開発、セキュリティ、運用などのチームがそれぞれ別々に動くのではなく、エンジニアリングの能力を結集する必要があります。
自動化によって、何が起きているのかをリアルタイムで把握し、信頼性のある形で処理できるようにする。そのためには、誰が何に責任を持つのかという「オーナーシップ」も重要になります。
DevSecOpsでも、こうした責任の在り方を巡って多くの課題が生まれました。AIでも同じ問題が起きています。
――役割や責任の在り方について、あらためて説明してください。
マザル氏 自分の仕事や担当領域を「自分だけのもの」と考えていた人にとって、DevSecOpsによる変化は簡単に受け入れられるものではありませんでした。
従来は、特定の人が特定の作業を繰り返し、その領域を所有していました。しかし自動化が進み、誰もが貢献できるようになると、その役割や責任が「民主化」されます。
これはAIでも同じです。
これまで人が行っていた作業をAIによって拡張したり、自動化したりできるようになる一方で、「誰がその作業を担うのか」「誰が責任を持つのか」という問題が出てきます。
セキュリティにおいても、セキュリティチームが本番コードに直接関わるという考え方は、以前は一般的ではありませんでした。
一方で、理想的な組織では、誰がどこに貢献できるのかを明確にし、安全に変更できる仕組みを用意しています。自動化されたゲートを設け、リアルタイムにフィードバックと検証を行う。そうすれば、組織として定めた基準に沿っているかどうかを継続的に確認できます。
「自分で作ったものを自分で保守し、自分で監視する」という考え方は、重要な方向性だと思います。
Copyright © ITmedia, Inc. All Rights Reserved.