これで分かる「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を実施する際の課題と解決策を解説する。
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
3
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
4
221人調査で分かった「情シス最大のストレス」は?
-
5
「データストレージの活用方法」に関するアンケート
-
6
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
7
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
-
8
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
9
本当に安いPCで十分か? “すぐ重くなる”を防ぐノートPC選びの絶対条件
-
10
Claudeの不可視透かしに批判殺到 著作権消失や誤判定に潜む企業リスク
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー