2019年3月12日にNECが開催した「次の時代に必要なサイバーセキュリティ〜キーマンが語るデジタル社会への対応〜」では、企画・設計段階からセキュリティを埋め込んでいく「セキュリティ・バイ・デザイン」の在り方とその先の方向性を業界のリーダーが語った。
サイバーセキュリティの必要性が叫ばれるようになって久しいが、いまだに多くの企業が、「マルウェアに感染した」「パスワードが漏えいした」といった事象に見舞われては、その都度、対応に振り回されている。大抵の企業ではさまざまなセキュリティ対策を導入済みだ。にもかかわらず、なぜこうした状況が続いてしまうのだろうか。
根本的に発想を転換し、モノ作りの企画・設計段階からシステムや製品・サービスにセキュリティを埋め込んでいく「セキュリティ・バイ・デザイン」がSociety 5.0時代に向けて再び重要視されている。
NECはこの「セキュリティ・バイ・デザイン」に対して、さらに力を入れて取り組むことでこのような状況を改善し、ひいては日本品質のセキュリティを実現できると考えている。
セキュリティ業界を牽引(けんいん)するリーダーたちもまた、この考え方を共有しており、「衛る」技術を競う競技イベント「Hardening Project」といった形で堅牢化(けんろうか)技術の底上げを支援してきた。
2019年3月12日にNECが開催したイベント「次の時代に必要なサイバーセキュリティ〜キーマンが語るデジタル社会への対応〜」では、キーマン3人を呼びトークセッションを開催、NEC独自の取り組み「NECサイバーセキュリティ訓練場」との現場中継を併せて、セキュリティ・バイ・デザインを実践する様子を見せた。
登壇したのはWeb Application Security Forum(WAS Forum/ワスフォーラム)のHardening Projectでオーガナイザーを務める岡田良太郎氏(アスタリスク・リサーチ代表取締役 エグゼクティブ・リサーチャ)と、株式会社メルカリのCSO(Chief Security Officer)としてグローバルなメンバーとともにセキュリティチーム作りに取り組む伊藤彰嗣氏、そして東京オリンピック・パラリンピック競技大会組織委員会(東京2020組織委員会)の警備局サイバー攻撃対処部に所属し、CSIRTの構築・演習に携わる中西克彦氏。司会役は、やはりHardening Projectに実行委員として携わるNEC サイバーセキュリティ戦略本部の淵上真一氏が担当した。
伊藤氏は「セキュリティを通じて新しい価値を作っていく」ことをミッションに掲げ、メルカリの中にセキュリティを埋め込む活動を進めている。
「何でもかんでもリスクを軽減しなければいけないという姿勢ではなく、メンバーに寄り添いながら、受容できるリスクは受容してビジネスを後押しするセキュリティを作り上げようとしている。
セキュリティをインプリメントした結果、ビジネスが成功しなくなっては元も子もない」という方針を貫いているそうだ。
東京2020組織委員会での中西氏のミッションも、「オリンピックというビジネスをどうやって安全に回していくか」であり、伊藤氏と根本は同じだ。
ただ、過去の大会と東京とでは大きな違いもある。一つは、クラウド普及などのトレンドによって、システム実装のスピードが何倍にも早まっていること。もう一つは役割が細分化され、複雑なビジネス要件がある中ではなかなか全体を見通せる人がいないことだ。
この中でどうやってセキュリティ・バイ・デザインを実現するかが課題だと中西氏は述べた。
これを受けて岡田氏は、「セキュリティはPDCAだと言われて久しい。本当にPDCAで改善されるならば、そろそろわれわれはセキュリティのことを気にしなくてよくなっているはずだ」と指摘した上で、シフトレフトによるセキュリティ・バイ・デザインという考え方についてあらためて説明した。
モノ作りにおける企画、設計、実装、検証、運用、対応というサイクルの中で、セキュリティインシデントによる大きなビジネスインパクトは「対応」のフェーズにあり、その負荷は尋常ではない。そんな事態を回避するために、そこにつながるチェインを時間軸の逆である「左」にさかのぼって打ち手を施すことがシフトレフトだ。例えば、運用対応フェーズではじめて問題が発覚するよりも、その前段階のQA/品質管理チームによる検証段階で問題を指摘できれば、インパクトは比較的小さくなる。
そうした取り組みを進めれば、「何度も同じような問題指摘を受けないためには、あらかじめどうしたらいいか」と、安全に作りやすい仕組み、設計から考慮するセキュリティ・バイ・デザイン的な考え方におのずとつながっていくという。だが、時間や予算のプレッシャーにさらされる中では、設計の見直しからさらに一歩左に踏み込み、ビジネスの企画や計画のところから想定リスクを明確に検討することがセキュリティ・バイ・デザインの実現につながると岡田氏は指摘した。
こうした考え方を支援すべく、技術面では「OWASP Top 10」のような重大な影響を及ぼすセキュリティリスクに関する情報がまとめられている。また、それらの問題を防ぐための検証手段として、SAST(Static Application Security Testing:静的なコード解析テスト)/DAST(Dynamic Application Security Testing:動的なシステムテスト)ツール、またペネトレーションテスト(Penetration Testing:システム侵入テスト)といった手段が普及してきた。しかし岡田氏は「このままテスト手段だけが進んでも、世の中がセキュアになるかというと課題が残る。今後、このセキュリティ確保のスキームは、リバイスされなければならないのではないか」と述べた。
なぜなら、今まさにサービスの作り方が大きく変化しているからだ。システム当たり1〜2本のコードレポジトリーで済んだ時代は終わり、システムに関わる「役者」の数が社内外に増えた。このようにプロジェクトが分散できるアーキテクチャとして、マイクロサービス化が進んでいる。米NetFlixのように600を超えるマイクロサービスで構成されるサービスも登場することを例に「ネットワークでセキュリティを守れると思っていた時代はもう終わり。マイクロサービス同士が複雑に接続するような、いわば『デススター』にも見えるアーキテクチャ図の中で、どうセキュリティを実現するかを考えなければならない」と岡田氏は述べた。
まさにモノリシックなアーキテクチャからマイクロサービスへの移行を進めているメルカリにおいて、伊藤氏は「セキュリティチームのエンジニアは機能組織として、開発や運用メンバーをサポートする立場で活動している。各チームが何を作りたいか、どう作るか、その中にどうセキュリティという要素を入れ込むかを一緒に考えている。また、運用においてもどう運用するか、その中で得られたさまざまな情報を各チームにフィードバックし、サービス全体を改善している」と述べた。
マイクロサービスと一口にいっても、機能ごとに細分化された縦のマイクロサービスと、ビジネスオーナーが形作る横断的な横のマイクロサービスがある。伊藤氏は、「各マイクロサービスを担当するチームと、マイクロサービスチームを横断して取り組む個別のプロジェクトをセキュリティチームとして支援している」と、淵上氏の質問に答える形で説明した。
この取り組みを進めるには、手を動かすメンバー、モニタリングするメンバー、ルールを作るメンバーなど、異なる役割を持つさまざまなメンバーが共同作業しなければいけないと伊藤氏は述べた。同氏は「カオスな状況の中で、私たちだけでやり切るのは困難。社内外のさまざまなエンジニアと協働し、サービスのセキュリティ品質を高めていきたい」と述べ、互いの専門領域を尊重し、交換し合いながら、セキュリティ面からの支援を進めており、それが人材採用戦略にも影響するとした。
メルカリの一連の活動にはさまざまなロールが必要だが、中でも重要な仕事として捉えているのが「モニタリング」だそうだ。伊藤氏は「私たちは事故が起きることを前提とした開発・運用体制を構築している。トレーニングを通じて事故を体験し、精度や仕組みを整えていかなければならない」という考えから、Hardening Projectと協力して社内で「Mini Hardening」を実施し、一緒に学んでいく計画だと述べた。
まるで毛色の違う組織に見える組織委員会の場合も、メルカリでいう「オーナーチーム」と「ドメインチーム」の組み合わせの中で模索を続けていると中西氏は述べた。組織委員会は52種類のファンクショナルエリア(FA)に分かれており、例えばチケット販売サイトを作るときには、チケット業務のオーナーが複数のFAや役割別の委託先をドメインとして組み合わせ、組み上げていく形になるそうだ。
ただでさえ出向元も違えば文化も違うメンバーによって構成される組織委員会。委託先も含めると多様なプレーヤーが関わり、セキュリティの成熟度もまちまちな中でどうセキュリティ・バイ・デザインを実現していくのかが課題だという。
「放っておくと、皆が自分の役割、自分のコンテキストだけでセキュリティを語ってしまう。そういうプロジェクトは自滅してしまう」(中西氏)。そうした事態を避けるために東京2020組織委員会では、実施すべき事柄を具体的に示したガイドラインを策定することにとどまらず、企画段階からチェックリストで対応方針の確認を行うとともに「皆が自分たちの役割だけをばらばらにやるのではなく、他の役割を持つ人と連携して進めてほしい」という狙いで、いわゆる「H型人材」が活躍できるセキュリティスタイルを求めていくとした。
メルカリでは、H型人材をさらに拡大した「韮(ニラ)型人材」なるものの育成に取り組んでいるという。「例えば会計や法律といった専門知識とIT、セキュリティという側面を組み合わせ、多面的な人が業務を遂行していくことが、セキュリティを高めることにつながるのでは」(伊藤氏)。一緒に仕事を進めることでセキュリティのベースラインが高まるし、セキュリティチームの側も、ビジネスを理解した上で最適な方法を考える役に立つ、というわけだ。
岡田氏は一連の話を受けて「DevOpsといわれるけれど、実は発想の転換が必要だ。プロフィットを生むのは『Ops』。F1でいうと、トップスピードで走るべきドライバーの状態を無視して、ピットのエンジニアが勝手に『このオイルなら勝てる』と判断しても速く走れるわけがない」と指摘した。
岡田氏は、伊藤氏が触れた「モニタリング」は非常に重要なセクションだと述べた。「モニタリングからのアウトプットがプランの上流にあり、次のループのトップに来る。重要なのはPDCAよりもむしろ『OODAループ』ではないか。まず現場の観察(Observe)から仮説を立て(Orient)、どういう方策でいくかを決めて(Decide)、すぐにやってみて(Act)、またその効果を観察し、また仮説を立てて、どうするかを決め、すぐにやる……これはDevではなくOpsオリエンテッドでの発想だと思う」(岡田氏)
そしてOODAループはビジネス上のゴールを実現する上でも有効だが、セキュリティに関しても同じことがいえるとした。
「現状をつぶさに観察し、分析すれば、パフォーマンスやカスタマーペインはどこかといったことが分かるのと同様、セキュリティインシデントの発生をスピーディに検知するログの機構や有事のバックアッププランなど、アーキテクチャのどこに問題があってセキュリティ対策の有効性や不足状況が分析できる。それに基づいてシステムのどこをどうチューニングすれば改善できるか、どういう手だてを打つべきかが分かる。それではじめて、セキュリティ機能を適切に設計できる。これがOODAループだ」(岡田氏)
「そうすると、これまでコストセンターとしてみなされがちなDevすなわち開発側も、プロフィットセンターであるビジネスシステムを助けてくれる力強い味方になる。これはセキュリティ・バイ・デザインを回していくための重要なポイントだ」(岡田氏)
つまり「オブザーブ」つまりモニタリングすれば、リスクとの兼ね合いで今できていること、いないことが一目瞭然になる。OODAループでセキュリティ・バイ・デザインを回す際のポイントはスピードだと付け加えた。
三氏それぞれの話を受け、淵上氏は「スピードを持ったモニタリングをするには、センシングをするセンスや技術を磨く必要があると思っている」と述べ、Hardening Projectの経験を踏まえて開設した「NECサイバーセキュリティ訓練場(以下、訓練場)」を紹介した。
「当社の訓練場はHardeningに近い仕組みで、受講者にECサイトを運営している模擬環境を与える。受講者はそのシステムの不備や脆弱(ぜいじゃく)性をつぶし、堅牢化・要塞化して、講師側からの攻撃を受けないように取り組んでいく。Hardeningと構図は同じだが、NECのSEを対象としていることもあり、堅牢化の重要性を重視して、1日かけて事前にトレーニングを行い、堅牢化してから攻撃を受ける流れを取っている」(淵上氏)
実はこの訓練場は、実際にHardeningに参加して悔しい思いを味わったNEC社員のアイデアがきっかけで創設されたものだ。
会場と訓練場とをつないだ中継に登場した山田英直氏と松井祐輔氏は、2017年に淡路島で開催された「Hardening 2017 Fes」の参加者だ。「相当時間をかけて準備していったが、思うように衛ることができなかった。可用性を維持しながら守り、インシデントハンドリングしていくのがいかに大変かを社内のメンバーに発表の形で伝えたが、なかなか現場のSEには伝わらなかった。ならば、同じような仕組みを作って皆に体験してもらおうと考え、訓練場を作った」と、山田氏は訓練場開設の意図を説明した。
訓練場を形にするに当たっては、「大変さを認識してもらうためには、堅牢化する時間を十分にとるべきだと感じたので、初日は徹底的に堅牢化を実施するための時間を確保した。また、演習に参加したSEに、限られた時間でなるべく多くのものを持ち帰ってもらうためのシナリオ作りやゲーム性の部分で苦労した」(松井氏)という。
この訓練場に参加して自分の堅牢化したシステムが攻撃されるという経験を得て、2018年11月に宮古島で行われた「Hardening II SecurEach」で見事グランプリを飾ったチームのメンバーが山本秀一氏だ。山本氏は両方のHardeningに参加した経験を踏まえ、「訓練場では1日目にシステムの堅牢化、2日目にインシデントレスポンスというように分けられており、システムをじっくり修正できる。その意味で、堅牢化に重きを置いていると感じた」と述べた。
訓練場の演習では、1日目に参加者の堅牢化作業が終わった後に講師側が攻撃を行う。翌朝、参加者は、堅牢化したシステムが惨憺たる状況になっているのを目にする(あるいは、しっかり堅牢化できて、してやったりと感じる)流れだ。攻撃シナリオの作成検討に当たっている小泉嘉彦氏によると、「よくある脆弱性やパスワードを突いた攻撃よりも、設定の不備を狙った攻撃を中心にしている」という。
数々のマルウェア解析コンテストに参加し優れた成績を残している小池倫太郎氏も、訓練場参加者の一人だ。小池氏は「訓練場で扱う設定の不備や運用の不備は、現実世界でよくあるものを扱っている。現実的に行われている攻撃を体験できると思う」と述べ、実際、自身が参加したチームでも見落としがちな設定不備を利用され、攻撃に利用できるファイルを書き込まれてしまったと振り返った。
Hardening Projectでは攻撃にバリエーションを持たせ、参加者に多くの学びを持ち帰ってもらうことを大切にしている。小泉氏もその精神をくみ、「最終的には、SEが攻撃を受けた経験を踏まえ、実体験を基にした説得力ある提案を行ったり、設計や設定を行う際に『なぜこのパラメーターが必要か』を根拠に基づいて理解できたりするきっかけになることを狙っている」と述べた。
訓練場からの中継を受け、イベント会場の中西氏は「Hardeningでは実践と同時に継続的な学習も重視している。勝つことだけを目的にするのではなく、学習するポイントを入れてほしい」とコメント。岡田氏も「こういったトレーニングでは、普段のバッドプラクティスを改善するカンフル剤になるかどうかが重要なポイントだ」と述べ、いかにスピード感や緊迫感を持たせるかという部分も運営側の腕の見せ所だと指摘。そして、参加者同士が互いの取り組みを発表し、共有する「Softening Day」もぜひ実施してほしいと述べた。
山田氏によると、こうした振り返りもカリキュラムに組み入れ済みだという。訓練場では2日目の終わりに各チームが全体のまとめを行い、最後に攻撃の種明かしと衛り方の事例を紹介することで、ナレッジを共有し、定着を図っている。伊藤氏の「グローバルなチームでも学べるような場になってほしい」というリクエストには、「ゆくゆくはインターネット経由でどこでもHardeningができる仕組みができたらいいと考えている」とした。
こうして見ていくと、バラバラに見えるセキュリティ・バイ・デザインとモニタリング、訓練場というキーワードが実はつながっている。中西氏は最後に「役割が細分化し、ビジネスのスピード感が上がり、マイクロサービスが加速する中で、これからはシフトレフトによるセキュリティ・バイ・デザインをしっかりやっていかないと、気付いたときには手遅れという問題が顕在化してしまうのではないか」と指摘した。
伊藤氏は、開発や運用を支えるチームを形にしていく中で、「信頼を積み重ねていくアプローチが必要だ。こうした活動は、常に積み重ねていかなければならない。セキュリティ・バイ・デザインから始めてモニタリングし、OODAを回していく活動を真摯(しんし)に進めることが必要ではないか」とした。
そして岡田氏は、「プロセスをきっちり固めることが物事をセキュアにすると信じられていた時代があったが、本当はプロセスが増えれば増えるほどセキュリティから遠ざかっていることに早く気付かないといけない。シフトレフトという言葉は、何となく上流工程のプロセスを増やすだけのものに思われがちだ。確かに何もしていない状態から始める場合はその通りだが、本質は、各段階で注力すべき事柄、フォーカスを定めるものだと考えた方がよい」と述べた。
さらに「お金も時間もないからセキュリティができない」ではなく、「セキュリティをやらないからお金も時間もなくなる」ということに気付き、これまでしてきたムダなことを省き、自分たちが最もフォーカスすべきことを知っている人とともに、前へ進んでほしいとした。
岡田氏によると2019年7月第1週には札幌市で、次のHardeningが開催される予定だ。「ぜひ注目してほしいし、Hardeningという意味からもNECにも期待している」(岡田氏)
「シフトレフトの左側のさらに『左側』がどんなものかが3人のお話から垣間見えたと思うが、それには、まず左側をしっかり固めることが必要だ。NECでは訓練場や他のさまざまな試行錯誤を通じてこの左側を固めていきたい」(淵上氏)
Copyright © ITmedia, Inc. All Rights Reserved.
提供:日本電気株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2019年4月11日