TOP>セミナー/イベント>開催報告>DevOpsからDevSecOpsへの進化 ~シフトレフトの鍵はセキュリティの自動化にある!~

DevOpsからDevSecOpsへの進化 ~シフトレフトの鍵はセキュリティの自動化にある!~

▼メインタイトル

2018年9月26日にアシスト本社にて、ここ数年注目されているDevOpsをさらに一歩進めたDevSecOps(Secはセキュリティ)の最新動向と事例をご紹介するセミナーを開催しました。

CI/CDパイプラインを整備して開発からデリバリまでの効率化を実現したDevOps事例が増えていますが、実は開発効率化のために活用しているオープンソース(OSS)の脆弱性チェックの時間が足かせとなっています。本セミナーでは、DevOpsを体験することで見えてきたセキュリティ自動化の必要性と、解決策であるDevSecOpsの実現方法についてご紹介しました。



【最新動向】DevOps最新脅威動向 ~コンテナ乗っ取りデモを添えて~


ソフトバンク コマース&サービス株式会社  竹石 渡 様

DevOpsは製品ではなく概念


私はソフトバンクコマース&サービスで、セキュリティ製品のプリセールスを経て、現在DevOps関連の製品の導入・サービスの提供を行っています。本日はDevOpsと最新脅威動向と題してお話をさせていただきます。

DevOpsとは、DevelopmentとOperationsを合わせた造語です。弊社では、DevOpsを「迅速にかつ柔軟にソフトウェアを開発し、本番へリリースするためのプロセスやツール、文化を実践する継続的な活動」と定義しています。システム開発の現場では、新機能を開発したい開発部門とシステムを安定稼働させたい運用部門の対立構造が生まれています。このような組織的な軋轢を「文化的側面」として捉え、テストや環境構築など本来は自動化によって解決されるべき問題を「技術的な側面」として捉えます。DevOpsは、この両側面に着目し開発ライフサイクルを改善する取り組みと言えます。


DevOps実践例 ソフトバンク社の場合


ソフトバンク社では、生産性向上のため「Half & Twice」という目標を掲げました。「Half」とは人件費以外のコストを半分にすること、「Twice」は最新のICTで生産性を倍にすること、この二つを同時に実現するチャレンジのためにDevOpsを採用しました。

DevOps以前は、デリバリの遅延、無駄な開発工程、低品質などが課題でしたが、DevOps後、Agile開発、スクラムの実践、CI/CDパイプラインの整備、コンテナ化などの自動化を進めた結果、テスト実施時間を99%削減、2週間のデプロイ回数は118倍と驚異的な効果を生むことができました。


DevOps環境におけるセキュリティ脅威


DevOpsに使用されるテクノロジーの代表例として、コンテナ化、OSS、マイクロサービスアーキテクチャ、Infrastructure as Code、Continuous Integration、ChatOps、Immutable infrastructureなどがあり、利便性を上げるテクロノジーとして活用されています。当然ハッカーもこれらの新しいテクノロジーの脆弱性を狙ってきます。

ここでは仮想通貨のマイニングを目的とした二つの攻撃事例をご紹介しましょう。一つ目は、Dockerにマルウェアを感染させた攻撃事例です。ハッカーはDockerベースのマルウェアを作成し、Docker Hubのパブリックなレジストリにプッシュします。Docker Hubはパブリックのため、アップロードされると誰でもダウンロード可能となり、簡単に拡散します。マルウェアは匿名性の高い仮想通貨「Monero」をマイニング対象としていました。このマルウェアはユーザーに気づかれないようにハッカーにMoneroを送信し、ハッカーは収益を上げることができたのです。この悪意のあるDockerイメージは500万回以上ダウンロードされ、ハッカーは合計1,000万以上の収益を上げています。

二つ目は、Jenkinsの脆弱性を悪用してマルウェアに感染させた攻撃事例です。昨年Jenkinsに脆弱性CVE-2017-100353が発見されました。この脆弱性を突かれ、Jenkinsが稼働しているサーバがマルウェアに感染してマイニングが行われた結果、ハッカーは10,800 Monero(約3億5千万円)の獲得に成功しています。

攻撃のトレンドが、この1年でランサムウェア(前年比1/35に減少)からマイニングウイルス(前年比9倍に増加)にシフトしていることも特徴的です。ハッカーがより収益性を求めた結果と言えます。

ここで私のPCを使ってコンテナ乗っ取りの操作を実演してみましょう。ターゲットは、Apache Struts2のコンテナ、悪用する脆弱性はCVE-2016-4438、利用環境はCentOS、Docker Engine、Container (Apache Struts2)です。次のような手順です。

  (1) 脆弱性を悪用し、meterpreter(ペイロード)をインストール
  (2) kali linuxにコールバック
  (3) コンテナプロセス乗っ取り
  (4) Webページの改ざん

どうでしょう、簡単に改ざんできたことがおわかりいただけたと思います。
ガートナーが昨年発表した注目されるセキュリティのトップテクロノジーに、コンテナセキュリティとOSSスキャニングセキュリティが取り上げられています。今回ご紹介した攻撃事例は、WhiteSource に代表されるツールを活用すれば未然に防ぐことができたはずです。DevOpsをセキュアにする有効な手段としてご検討されることをお勧めします。また、弊社ではDevOpsに関するノウハウを体系化し、「DevOps Assistサービス」としてご紹介しています。DevOpsの情報サイトDevOps Hub を公開していますので、ぜひご覧ください。



【お客様事例】intra-martが取り組むDevSecOpsの取り組み


株式会社エヌ・ティ・ティ・データ・イントラマート  榎本 潤 様

パッケージ開発とDevOps


本日は弊社が開発するパッケージソフトウェア「intra-mart」の開発におけるDevOps、DevSecOpsへの取り組みについてお話をさせていただきます。パッケージ開発とそのデリバリのため、お客様に直接サービスを提供する企業と事情が多少異なるかもしれませんが、一つの例としてご参考いただけると思います。

現在、「intra-mart」は200社のパートナー企業様を通じて、6,000社のお客様にご採用いただいております(2018年3月末時点)。お客様やパートナー企業様からの様々な機能改善要望を製品に反映させることで、10年以上にわたり進化を続けてきました。

現在、年に3回アップデートリリースをお客様にお約束し、パッチやドキュメントは毎月リリースしています。開発スタイルにはアジャイルとスクラムを取り入れ、開発サイクルは一般的なCIの流れとなっています。

まず環境面ですが、Amazon Web Service上にソースコード管理システムGitHub Enterprise、ビルドサーバにはJenkins、ビルドジョブを実行する環境は全てDockerを利用したコンテナを使用しています。Dockerイメージの自動生成まで行うことで、すばやく環境を立ち上げることを可能とし、開発リポジトリが更新された際には自動でテスト環境を最新化しています。

この環境を利用し、開発者は成果物をビルドサーバでビルドします。ビルドされた成果物は開発用リポジトリにデプロイされ、さらにその開発者や別の開発者が開発を進め、試験環境として社内に公開します。この最新環境のデプロイは日に10回以上行われることも珍しくありません。この環境からさらに開発を行い、最終的にパッケージとしてのintra-martをリリースします。この開発サイクルにおける効率や品質の改善、および開発環境の安定運用への取り組みがintra-martにおけるDevOpsとなっています。


DevOpsからDevSecOpsへ


intra-martをアップデートしていくにつれ、組み込むOSSのライブラリも増加していきました。フロントエンド開発で利用しているJavaScriptのライブラリは1,400を超えており、ビルド時に利用して製品には含まれないライブラリも多数あります。OSSの脆弱性情報、不具合の情報などを常に監視・確認を行ってきましたが、組み込んだOSSが増加したことで、複数バージョンにまたがる監視や個々の対応内容の確認といった作業が増え、リソースを消費していました。今後OSSライブラリがさらに増加すると、intra-martの定期的なアップデートリリースに支障が出る恐れがありました。そこで次のステップとして、OSSの脆弱性とコンプライアンスのチェックをCI環境に組み込み、ソースをコミットするだけで自動チェックをかけるDevSecOpsの実現を目指すことにしました。


WhiteSourceの導入と効果


WhiteSource のダッシュボードでは、利用しているライブラリに含まれる脆弱性の情報やライブラリごとのライセンス情報などが表示されます。WhieSourceは弊社のビルド環境に容易に組み込むことができ、JavaやJavaScriptなどのライブラリの検証が可能となりました。OSSライブラリの依存先のさらにその先のライブラリの検出まで行えるようになったため、意図しないライセンスの混入を確認できるようになりました。また、ライブラリに対する既知の脆弱性の検出が行われるため、これまでの確認作業で漏れていたような脆弱性をすばやく検出できるようになりました。特に便利だったのが修正コミット情報まで出てくる部分です。

当初はOSSライブラリ数が多すぎて依存性の確認は事実上不可能とあきらめていましたが、WhiteSourceにより自動化・無人化が実現されたことで、1リリースあたり10人月程度の削減効果を実現できました。また担当者がチェック作業から解放されたことは工数面だけでなく、ストレス軽減やリソースの最適配置の観点からも大きな成果です。


DevOps成功の鍵


ご紹介したように弊社も様々なツールを活用していますが、いかにツールを活用して優れた自動化システムを作ったところで、実際にそれを意図した通りに利用してもらえなければ、せっかくの改善活動も意味がありません。

実際、弊社でも導入当初はかなりの反発があり苦労をしました。私は比較的軽視されがちな組織文化の改善がDevOpsの成功のカギを握っていると思います。経験からですが、CI、DevOps環境の導入はトップダウンの導入だとうまく回りづらいと感じております。まずは現場のリーダーが中心となって、ボトムアップでDevOpsへ一歩目を踏み出してみることが大切だと思います。弊社の取り組みと経験が参考になりましたら幸いです。



DevSecOpsを実現するWhiteSourceのご紹介


株式会社アシスト  永見 絢子

OSSの利用が増加中


アメリカでは約8割の企業がOSSを積極活用しているというデータがあります。日本でも様々な機会にお客様に伺ってみると「これから積極的に」とおっしゃる方が増えてきているなという印象です。同時に、OSSのライセンスをどう管理するか、OSSの脆弱性をどう検知するか、コンプライアンス違反の防止や脆弱性対応を課題として捉えていらっしゃいます。


WhiteSourceによるシフトレフト


これらの課題に対し、WhiteSource は開発したアプリケーションをスキャンして、そのOSSライセンスや脆弱性情報を検知してお知らせする製品です。DevOpsプロセスに簡単に組み込め、手間をかけずに自動でセキュリティチェックを行えます。ですので、これまで開発の最終段階で行ってきたセキュリティチェックをもっと早い段階から、頻度を上げて、例えばビルドごとに行えます。アプリケーション開発の終盤でセキュリティチェックをしたら問題が多発し、必死にリリースに間に合わせたがバグが多発してしまったなどという事態も、セキュリティチェックを時間軸の左側へ前倒し、つまりシフトレフトすることで余裕をもって対応できるようになります。

また、シフトレフトすることで費用面でも大きなメリットがあります。脆弱性の検出が開発プロセスの後ろになればなるほど、その対応にはよりコストがかかると言われています。セキュリティチェックを自動化してシフトレフトできれば、脆弱性対応にかかるコストも削減できます。


WhiteSourceの仕組み


WhiteSourceをDevOpsに組み込んだイメージをご覧いただきます。


例えば開発者がGitHubリポジトリにプッシュするとJenkinsのジョブが実行される場合、JenkinsのジョブからWhiteSourceのスキャンを自動実行できます。つまりビルドごとに脆弱性チェックが行われます。検出された脆弱性情報はオンラインのダッシュボードから確認できますし、メール通知するよう設定もできます。また、例えば脆弱性のレベルが高ければ却下するというポリシーを作って、実際に該当する脆弱性が検知された場合はJenkinsのジョブを失敗させることもできます。このように開発者は意識しなくても自動でセキュリティチェックを行い、早い段階でOSSの脆弱性を検知して迅速な軌道修正を行えます。

WhiteSourceスキャンでは、Jenkinsなどのプラグインが各ファイルのハッシュ値を計算し、ユニークIDを付与します。クラウド上のWhiteSourceサーバにはユニークIDが送付され、ユーザー用のインベントリに保存されます。クラウドにはWhiteSouceが集めた様々なOSS情報を蓄積したマスタDBがあり、マスタDBとインベントリとを突合せ、その結果がダッシュボードに表示されます。クラウドに送付されるのはユニークIDのみで、通信はすべてHTTPSを利用していますので、安心してご利用いただける仕組みとなっています。


WhiteSource 4つのキーワード:可視化・遵守・脆弱性・品質


WhiteSourceは企業がどんなOSSを利用しているのかを可視化し、それらのライセンスを遵守しているのか、脆弱性が含まれていないかを管理します。また、どのOSSを使えばよいのか、最適なOSSを選択して品質を高めるためのお手伝いをします。


新機能Effective Usage Analysis


これまではWhiteSourceが検出したOSS脆弱性が実際に影響を与えるのかどうかは検証が必要でしたが、9月27日にリリースされる新機能「Effective Usage Analysis」で影響度を可視化できるようになりました。これにより、脆弱性対応の優先順位を判断することができるようになり、運用の負荷が大きく減ります。

ここまでご紹介したようにWhiteSourceは各種プラグインが提供されており、DevOps環境に簡単に組み込んで利用できます。脆弱性の情報は多数の情報源から収集しており、特に依存先も含めて脆弱性を検出できるという点は多くのお客様にご評価いただいています。そしてデモンストレーションにてご覧いただいたダッシュボードには必要な情報がわかりやすく表示されるので、どこに問題があるのかをすぐ把握できますし、二次加工のために様々な情報をExcelやXMLに出力できます。またSaaS型サービスですので、お客様はインフラを一切用意することなく、すぐにサービスをご利用いただけます。新しい情報や機能提供も、SaaS型サービスですのでお客様側は特にバージョンアップすることなく、シームレスにご利用いただけます。

もしご興味があれば2週間の無料トライアルが可能ですので、ぜひご自身の環境のOSS利用を可視化してみてください。




Facebookで情報をお届けしています

Facebookでは、アシストの「今」をお届けしています。「めげない、逃げない、あまり儲けない」を合言葉に日々頑張っておりますので、応援よろしくお願いします。



ページの先頭へ戻る