EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

DevSecOps実現が生き残りのカギ DXを成し遂げるためのセキュリティにおける勘所

edited by Security Online   2020/10/27 11:00

 2020年9月18日「Security Online Day 2020」がオンラインで開催された。「ポストコロナ時代の企業生き残りの鍵はDevSecOpsにあり!~IaaS/PaaSにおけるクラウドネイティブセキュリティの実現~」と題した講演には、マカフィー セールスエンジニアリング本部 サイバー戦略室 シニアセキュリティアドバイザーの佐々木弘志氏が登壇。企業がDXをセキュアに実現する際の鍵となる、IaaS/PaaSのセキュリティ対策と、ソフトウェア開発におけるDevSecOpsを実現するソリューションについて紹介した。

DXを進める際のセキュリティを取り巻く動向

 新型コロナウイルスのパンデミックの影響で、人々の生活も企業の働き方も大きく変わっている。リモートワーク中心の体制に移行して、オフィスを縮小し働き方改革に取り組む企業も出てきた。

 様々な新型コロナウイルスの影響がある中、減益の企業もあれば業績を伸ばす企業もある。この急激な環境変化は企業が経験したことがないものであり、「地球上で恐竜が絶滅するくらい大きな変化です」と、佐々木氏は言う。そういった大きな変化の中では、いかに機敏に変化に対して追随できるかが企業存亡を左右する。

マカフィー株式会社 セールスエンジニアリング本部 サイバー戦略室 シニアセキュリティアドバイザー
マカフィー株式会社 セールスエンジニアリング本部
サイバー戦略室 シニアセキュリティアドバイザー 佐々木 弘志氏

 生き残るためには、DXを一層進める必要がある。そしてDXを加速する方法の1つが、DevSecOpsだと佐々木氏は指摘する。DXは顧客や市場など、外部の変化に対応するために企業の内部を変えることだ。「DXのプラットフォームを導入するだけでなく、組織文化の変革も伴った形で、企業が競争力をもって生き残ることを目指すのが、本来のDXの在り方です」と佐々木氏は言う。

講演資料より抜粋して掲載。以下同様
講演資料より抜粋して掲載。以下同様

 DXを進める中で、企業のサイバーセキュリティの状況はどうなっているのか。現状IT部門は社内システムのクラウド移行などで手一杯なところもあり、その上で既存社内システムも今まで通り動かさなければならない。一方で企業の様々な部門が、DXの取り組みを始めている。たとえば、工場が外部と接続しリモートメンテナンスを行ったり、現場のデータを収集してクラウド上で分析するなどの取り組みが始まっている。これら事業部門の取り組みは、IT部門の動きとは必ずしも同期がとれていない。

 開発部門も製品を市場に出した後に、クラウドと連携させ新たなサービスを展開している。そのためにIaaSやPaaSを使い、Webアプリケーションを構築している例も多い。しかしこういった社外のアプリケーションは、IT部門が関与しておらず、これも企業のガバナンスやセキュリティの新たな課題となっている。

 これらの状況を踏まえて「IT部門の人が足りない中、どうやって社内外のビジネスに対するセキュリティリスクを下げるかが新たな課題です」と佐々木氏は言う。さらに問題となるのが、サービスの開発や運用をシステム子会社などに任せている場合であり、こういった体制はよりガバナンスを効かせにくくするのだ。

 もう1つの視点として、DXを実現するためのソフトウェア開発の手法が変わってきたことがある。かつてはウォータフォール型で1年、2年の長期サイクルで開発が進められてきた。この方法は更新のループが大きすぎ、市場変化について行けない。そして長い開発サイクルでは、終盤にテスト工程がきてそこで初めてバグや問題を調べ対策することになる。しかしウォーターフォール型のソフトウェア開発では「問題の解決が後ろのフェーズにいくほど、その対処にコストがかかります」と佐々木氏。そのためなるべく前のフェーズでリスクを見つけ解決することが、以前からの課題でもあった。

DXを加速させる開発手法となるDevSecOps

 これら課題を解決しリスクを低減し、DXを推進するアプリケーションを迅速に開発して、市場変化に追随できるようにする。そのために生まれた新たな開発手法がDevOpsだ。DevOpsでは開発と運用が密に連携し、短いサイクルで開発を行う。DevOpsのサイクルをどんどん回すには、スピードが必要だ。そのためのツールが、継続的インティグレーションと継続的デリバリーのCI/CDだ。CI/CDを使えば、開発したものを自動でテストしデプロイできるようにもなる。

 DevOpsをセキュアに進める工程で重要な概念が「シフトレフト(Shift Left)」である。開発工程のなるべく前のフェーズで、脆弱性などのセキュリティリスクを見つけることで、後の手戻りコストを下げられる。DevOpsとCI/CD、そしてテストのシフトレフトの3つで、企業のDXを迅速に進められるようになる。そしてこのDevOpsに、セキュリティをしっかりと取り込むのがDevSecOpsだ。

 さらに、DevOpsの開発、運用のそれぞれのフェーズで、セキュリティチェックを確実に実施し、負荷を上げず自動化できる方法について佐々木氏は解説。DevOpsでDXを加速するためのアプリケーション開発、運用のプラットフォームに、コンテナを採用・検討するケースが増えてきた。

 コンテナで様々な機能を部品として構築し、それを連携させ必要な機能に組み立てる。コンテナで作ることにより、可搬性も確保できる。そして短いサイクルで更新できるようにするため、一つひとつの機能を小さな単位にし、それにより影響範囲を最小化することで対処をしやすくもできるのだ。

 コンテナベースのアプリケーションを開発する際には、コンテナを動かすIaaS/PaaSの脆弱性を突かれるような脅威がある。実際、Amazon S3の設定ミスを突くGhostWriter攻撃が発見されており、外部からS3に書き込める設定となっていたことで、間接的に脅威の媒介者になるといったセキュリティ脅威が報告されている。

クリックすると拡大
クリックすると拡大

 「これはAWSの基盤である低いレイヤの話で、クラウドでのアプリケーション開発の際には、そういったところまでしっかりと見ていかなければなりません」と佐々木氏。またコンテナにも脆弱性はある。それを突かれコンテナを不正にマイニングに使われた例もある。つまりコンテナのインフラについても、開発者がセキュリティを考慮する必要があるのだ。

 クラウドを利用するのだから、そういったインフラの脆弱性管理はクラウドベンダーがやってくれるのではと考えるかもしれない。しかしそれは違うと佐々木氏は指摘する。クラウドは責任共有モデルになっており、クラウド事業者と利用者で対処すべきことは分けられている。そしてIaaS/PaaSの利用では、実は利用者側が対処すべきことがたくさんある。そのことを、認識しておかなければならないのだ。

 実際にクラウドでアプリケーションを開発し利用していく際には、CWPP(Cloud Workload Protection Platform)とCSPM(Cloud Security Posture Management)の2つの領域のセキュリティ対策が必要となる。CWPPは従来のワークロードに対するセキュリティ対策で、アンチウィルスや仮想マシンのセキュリティ対策などがそれだ。

 一方CSPMは、クラウドのインフラ設定を確実に行い、セキュリティを担保するものだ。「これら2つの機能を組み合わせていくことが、これからのトレンドです。それがCNAPP(Cloud Native Application Protection Platform)という新しいカテゴリーになっています」と佐々木氏。ここで言うCNAPPのクラウドネイティブとは、クラウド上のAPIなどを使い、クラウド基盤と直接やり取りすることでセキュリティ管理を行うソリューションを指す。

MVISIONを使えばDevSecOpsを手間なくセキュアに実現できる

 従来のようにOSやネットワークのセキュリティを担保し、さらにクライアント環境のマルウェア対策なども施すのはもちろんだ。その上で、OSの上にあるコンテナのセキュリティ対策も考える必要がある。これらをマカフィーでは、CNAPPに対応したMVISION Cloud(以下、MVISION)で対応している。

 企業のクラウド活用の現状として、クラウドの選択を1つに絞るのではなく、複数利用するマルチクラウドがキーワードとなっている。それぞれのクラウド提供事業者がセキュリティ対策を用意しているが、MVISIONなら複数のクラウドに対して、一つのポリシーに基づいてセキュリティ対策を実現できるため、ポリシー策定の手間が省けるし、クラウド選択の自由度も広がる。

 たとえば金融機関であれば、PCI-DSSなど業界独自の規制があり、それを各社がセキュリティポリシーに落とし込んでいる。MVISIONを使えば、そのポリシーを複数クラウドに対して統一的に適用できる。「MVISIONならAPIレベルで、リアルタイムに対応できます」と佐々木氏。たとえばAmazon S3のGhostWriterの対策も、S3に書き込まれた際にすぐにチェックし、対策のアクションを迅速にとることが可能となるのだ。

 DevSecOpsの観点でのセキュリティ対策としては、コードを書いてビルドしてそれを公開するそれぞれのフェーズの間に、MVISONがAPI連携してセキュリティスキャンや脆弱性スキャンを実施することで実現する。DevOpsの開発サイクルのビルド、シップ、デプロイ、ランの間に、コンテナの脆弱性チェックを行い、さらにコンテナオーケストレーションの動きもモニタする。また裏ではIaaSの脆弱性チェックなども並行して走らせることも可能だ。

クリックすると拡大
クリックすると拡大
クリックすると拡大
クリックすると拡大

 将来的にはMVISIONで、開発におけるあらゆるタイミングでセキュリティをチェックし、安全性を担保できるようにする。それを自動的に行えるようにすることを目指すと、佐々木氏は言う。

 デモではCI/CDのツールであるJenkinsを用い、CI/CDのパイプラインにMVISIONを連携させる様子が紹介された。コードを書きビルドをすると、MVISIONでセキュリティチェックが自動で走り、セキュリティの甘い部分を指摘する。当該部分では、プログラムのバグを修正するのと同様な作業でコードを修正して対処できる。

 セキュリティエラーの詳細は、開発者だけでなく管理者も見ることができる。子会社などに開発を委託している場合にも、プロジェクト管理者がコードレベルのセキュリティ対策状況を確認し、着実に管理できる様子が示された。

 佐々木氏はDevSecOpsを実践することで、セキュリティをしっかりと組み込んだDXのためのアプリケーション開発ができると主張し、それによりさらなるDXに取り組んで欲しいとメッセージを贈り講演を締めくくった。

著者プロフィール

  • 谷川 耕一(タニカワ コウイチ)

    EnterpriseZine/DB Online チーフキュレーター かつてAI、エキスパートシステムが流行っていたころに、開発エンジニアとしてIT業界に。その後UNIXの専門雑誌の編集者を経て、外資系ソフトウェアベンダーの製品マーケティング、広告、広報などの業務を経験。現在はフリーランスのITジャーナリストとして、クラウド、データベース、ビッグデータ活用などをキーワードに、エンタープライズIT関連の取材、執筆を行っている。

  • 丸毛透(マルモトオル)

    インタビュー(人物)、ポートレート、商品撮影、料理写真をWeb雑誌中心に活動。  

All contents copyright © 2007-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5