これで分かる「DevSecOps」の課題と解決【第3回】
Webアプリの“危険なOSSライブラリ”を見抜く「SCA」とは?
安全なWebアプリケーション開発を推進する「DevSecOps」の実践には、「SCA」(ソフトウェア構成分析)が欠かせない。その理由とは。そもそもSCAとは何なのか。
近年、「DevOps」(開発と運用の融合)や「アジャイル」など開発効率を向上させる開発手法が台頭しました。DevOpsにセキュリティを取り入れた「DevSecOps」も登場しています。それに伴って、Webアプリケーション開発におけるオープンソースソフトウェア(OSS)ライブラリの利用が広がっています。ただしOSSライブラリには、さまざまな脆弱(ぜいじゃく)性が存在することも事実です。
私が国内法人の代表を務めるContrast Securityは2021年に、ユーザー企業がWebアプリケーションに利用中のOSSライブラリに関する調査を実施しました。その結果をまとめたレポートが「2021 State of Open-Source Security」です。それによると、Contrast Securityのセキュリティサービスの保護下にあるWebアプリケーションの、およそ90%がOSSライブラリを利用していました。
Palo Alto Networksの調査チームUnit 42は、非営利団体MITREが脆弱性に割り当てる共通脆弱性識別子(CVE:Common Vulnerabilities and Exposures)を分析しました。この分析においてUnit 42は、2020年8月時点で採番(公開、割り当て)済みのCVEを、採番年ごとにカウントしました(図1)。CVEの採番数は増加傾向にあり、2017年から2019年には年間1万4000件以上に上っています。アプリケーションセキュリティベンダーWhite Source(Mend.ioの名称で事業展開)の調査によると、脆弱性の増加傾向はOSSにも現れており、2020年には9658件の脆弱性がOSSで見つかっています。
Webアプリケーションにおいて利用するOSSライブラリの種類が増えると、それだけ脆弱性を抱える可能性が高まりやすくなります。OSSライブラリの積極的な利用が、企業にとって大きな脅威になり得るのです。
DevOpsやアジャイルといった手法に基づくWebアプリケーション開発を安全に進めるには、ソースコードだけではなくOSSライブラリについても、存在する脆弱性の検出や対処を効率化しなければなりません。そこで視野に入るのが「SCA」(ソフトウェア構成分析)の活用です。
そもそも「SCA」とは何か?
併せて読みたいお薦め記事
連載:これで分かる「DevSecOps」の課題と解決
DevSecOpsについて知る
SCAは、Webアプリケーションが利用しているOSSライブラリをスキャンによってリストアップし、脆弱性を調査するツールです。見つかった脆弱性のCVEを特定し、脆弱性の深刻度に基づいて対策の優先順位を付けます。従来、開発部門はその分析結果を調査し、必要な対策を施すという流れでSCAを活用してきました。
Webアプリケーションが脆弱なOSSライブラリを「組み込んでいるかどうか」を判断するのに、SCAは役立ちます。ただし「実際に利用しているかどうか」を調べるのは、極めて困難です。OSSライブラリが提供する関数やクラス(データと処理をまとめたもの)の呼び出しを含め、Webアプリケーションのソースコードにおける処理の流れを目視で追わなければいけないからです。結果として開発部門は、スケジュールに間に合わせるために、脆弱性を十分に検証できないままWebアプリケーションをリリースせざるを得なくなる可能性があります。
依存関係が生む脆弱性検出の落とし穴
SCAはOSSライブラリから複数のクラスを検出します。ただしWebアプリケーションがそれらのクラス全てを利用していることは、ほとんどありません。
例えば図3の状況を考えてみましょう。ソースコードによると、WebアプリケーションはライブラリAとライブラリBを呼び出しています。ライブラリAはライブラリCを呼び出し、さらにライブラリCはライブラリFを呼び出す仕組みです。このように、あるライブラリが別のライブラリを必要とする関係を「依存関係」と呼びます。
ライブラリBにも他のライブラリとの依存関係があり、一部の機能にライブラリDやライブラリEを必要とします。ただし、このWebアプリケーションはライブラリBの全ての機能を使っているのではなく、ライブラリDやライブラリEを呼び出す必要のない機能だけを使っています。つまりライブラリDやライブラリEの脆弱性は、このWebアプリケーションに影響を及ぼさないことになります。
脆弱性修正を効率化する鍵は「優先順位付け」
2021 State of Open-Source Securityは、依存関係を含めて1つのWebアプリケーションにひも付くOSSライブラリのうち、Webアプリケーションが実際に呼び出すOSSライブラリの割合を調査した結果をまとめています。その結果によると、調査対象となったWebアプリケーションにひも付くOSSライブラリ(平均118件)のうち、Webアプリケーションが実際に呼び出すOSSライブラリは半数程度でした。つまり実際には半数程度のOSSライブラリを呼び出していないことになります。呼び出さないOSSライブラリの脆弱性対処に時間を掛けても無駄足になることは、想像に難くありません。
Webアプリケーションが実際に呼び出しているOSSライブラリのみをリストアップし、そのOSSライブラリを優先的にバージョンアップして脆弱性を排除できれば、脆弱性対処を効率化できます。最新のSCAは、エージェントソフトウェアを利用し、Webアプリケーションのソースコードを解析してOSSライブラリを確認する機能を備え始めています。この機能により、SCAは実際に呼び出しているOSSライブラリのみをリストアップし、そのライブラリを優先的にアップデートすることが可能になります。2021年に脆弱性が見つかったことで、広範囲に影響を及ぼしたライブラリ(プログラム部品群)「Apache Log4j」も検出可能です。脆弱性検出ツール「IAST」(インタラクティブアプリケーションセキュリティテスト)も、同様の機能を備えています(IASTの詳細は連載第2回「脆弱性検出ツール『IAST』が『DevSecOps』に欠かせないのはなぜか?」を参照)。
第4回は、開発部門による本番環境の管理を実現する「RASP」(ランタイムアプリケーションセルフプロテクション)を紹介します。
著者紹介
田中一成(たなか・かずなり) Contrast Security Japan
国内システムインテグレーターや外資系企業で営業を経験した後、ArcSight(現Micro Focus)、41st Parameter(現Experian)、SundaySkyなど、主に米国スタートアップのカントリーマネジャーとして6社の日本オフィスを立ち上げ、成長させた。IT業界で約30年の経験があり、ハードウェア、ソフトウェア、クラウド、セキュリティ、データベース、デジタルマーケティングなどさまざまな分野に精通している。Contrast Security日本オフィスの立ち上げに尽力。
Copyright © ITmedia, Inc. All Rights Reserved.
これで分かる「DevSecOps」の課題と解決
アプリケーション開発の新しい手法として、開発から運用までの一連のプロセスにセキュリティを取り入れた「DevSecOps」が注目を集めている。DevSecOpsを実施する際の課題と解決策を解説する。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[LRM株式会社] 「標的型攻撃メール」事例・サンプル集 -
製品資料
[LRM株式会社] セキュリティ教育はなぜ「年間計画」を立てる必要があるのか? -
製品資料
[LRM株式会社] セキュリティの重要性が伝わらない…… 効果がない社員教育から脱却する方法 -
製品資料
[LRM株式会社] 「標的型攻撃メール訓練」導入ガイド 社員の意識を確実に高める仕組みの作り方 -
事例
[株式会社マクニカ] アイカ工業に学ぶ脆弱性対策 情シスが把握できずにいたアセットも正確に把握
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「VMware離れ」は本当か 3000社がVCF 9にかじを切った現実的な理由
-
2
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
-
3
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
4
AI全部入り「Microsoft 365 E7」に企業が二の足を踏む訳 移行意向はわずか4%
-
5
エンジニアが選考を辞退する本当の理由 7割が隠す“面接の違和感”とは
-
6
ISMSの“コンサル丸投げ”が招く数千万円の無駄 NTTドコモビジネスの脱出劇
-
7
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
8
Microsoft製品でここまで自動化できる 情シスがやめられる手作業10選
-
9
Netflixのバックエンドは「ほぼJava」 3000超のアプリを支える開発基盤の裏側
-
10
GitHubが指摘 AIが書いた「おそらく動くコード」が招くシステム崩壊
ホワイトペーパーランキング PR
-
1
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
2
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
3
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
4
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
7
PostgreSQLの「機能」「性能」「運用」「拡張性」に関する悩みの解消法
-
8
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
9
Macの安全神話は崩壊? 最新の脅威動向から見えた攻撃のトレンドと有効な対策
-
10
情報セキュリティ対策早分かりガイド:25の自社診断で弱点と解決策を理解
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー