

プリンシパルセキュリティアーキテクトArlen Baker、サービスデリバリーディレクターSeth Crame
組込み Linux デバイスのセキュリティを確保するための構造化されたアプローチを紹介する 3 部構成のブログの第 2 弾です。
前回のブログ記事では、自社の脅威の状況を完全に把握するための重要な確認事項について説明しました。では、次のステップに進みましょう。遭遇したすべての CVE (重通脆弱性識別) に対して何をしますか?
数字を見てみると、問題が浮き彫りになります。2022年には、25,000以上のCVEが確認されました。もちろん、これらすべてのプラットフォームに当てはまるわけではありませんが、最新のプラットフォームは、通常、ソリューションに含まれる 100 以上のパッケージに基づいて、1,000 以上の CVE に対して脆弱になる可能性があります。
つまり、すべての脆弱性をすぐに修正できるわけではありません。調査によると、企業が1カ月に修正できるのはCVEの5~20%程度とされています。その比較的少ない数の修正にかかる時間とコストはさておき、企業にとっての全体的なリスクについて考えてみてください。たった 1 回のセキュリティ侵害を見逃すだけで、データが侵害され、業務が中断され、評判が損なわれてしまいます。
システムがさらされるCVEを処理するためには戦略が必要です。ここでは、CVEの修復作業の優先順位を決める際に理解すべき7つの重要な構成要素を紹介します。
1. 影響度:CVEがシステムに与える潜在的な影響を理解するには、影響を受けるであろうシステムのコンポーネントの理解から始める必要があります。例えば、Open SSL、X.11、カーネルライブラリ、広く使われているパッケージなど、重要なコンポーネントであれば、その影響は大きくなる可能性があります。次に考慮すべきは、悪用方法、つまりCVEのさまざまな攻撃ベクトルです。脆弱性が、低い優先順位でユーザの操作なしにリモートで悪用できる場合、システムへの物理的なアクセスを必要とする脆弱性よりも大きな影響を与える可能性があります。また、その脆弱性が悪用される可能性のあるユースケースやシナリオも考慮する必要があります。例えば、脆弱性が攻撃によって任意のコードを実行することを可能にする場合、その影響は深刻なものになる可能性があります。
2. 悪用可能性: 公開されているエクスプロイトがあるCVEは、容易に悪用できないものよりも優先されるべきです。これを測定するのに役立つツールがあります。例えば、CISAのウェブサイトでは、「Known Exploited Vulnerabilities Catalog」を提供しています。また、FIRST.orgの一部としてEPSS特別利益グループが提供しているExploit Prediction Scoring SystemまたはEPSSスコアという選択肢もあります。繰り返しますが、目標はリスクの高い脆弱性に焦点を当て、迅速に緩和できるようにすることです。
3. システムのクリティカリティ: システムのクリティカリティを評価することは、重要なビルディングブロックです。なぜなら、機密データの漏洩や金銭的損失をもたらす可能性のある脆弱性は、優先的に修復されるべきものだからです。
4. 修復の容易さ:ベンダーのパッチや回避策で迅速に対処できる脆弱性は、優先順位を高くする必要があります。しかし、どの脆弱性を迅速に修正できるかを知るにはどうすればよいのでしょうか。ウインドリバーは、プロフェッショナルな CVEスキャン を開発しました。これはYocto Projectのビルドレイヤーで、一般に公開されており、Wind River Linuxを含むYocto Projectソリューションのほとんどをサポートしています。このスキャンは、レガシーLinuxプラットフォーム上のCVEを迅速に特定し、どのソリューションがすぐに利用可能かを判断して、修復を優先させることが可能です。スキャン自体は、お客様のスタッフ、またはウインドリバーのエキスパートが、Wind River Studio Linux Servicesのポートフォリオの一部として実施することが可能です。是非、スキャンサービスをお試しください。
5. コンプライアンス規制:政府機関は、セキュリティに関する要求事項を着実に増やしており、その多くは、ソフトウェア部品表(SBOM)、つまり、ソフトウェア部品を構成する材料のリストと、セキュリティ脆弱性の分析と修復のための要件の概要を義務付けるようになっています。SBOMがあれば、ソフトウェアコンポーネントを最新の状態に保ち、新たな脆弱性に迅速に対応することが容易になるため、ソフトウェア プロバイダーにとっては朗報です。これにより、技術的負債の削減と管理が容易になります。
6. 脆弱性の年齢:優先順位付けの基準を満たす、長い間存在するパッチ未適用の脆弱性には、大きな注意を払う必要があります。別の言い方をすれば、技術的負債を一掃することは、高い優先順位であるべきです。
7. 脆弱性スコア:NISTのNational Vulnerability Database(NVD)は、脆弱性の深刻度を0~10のスケールで定性的に評価するCommon Vulnerability Scoring System(CVSS)を提供しています。このスコアは、脆弱性の深刻度、悪用の容易さ、システムに対する潜在的な影響を考慮したものです。脆弱性是正活動の優先順位付けの要因として利用することができます。しかし、CVSSは1つの要素に過ぎないことに留意することが重要です。この記事で概説した他の構成要素も考慮する必要があります。
次回は、重要なLinuxデバイスのセキュリティを確保するために、フルライフサイクルアプローチを導入することの重要性について説明します。また、Studio Linux Servicesの製品ポートフォリオを覧いただき、SBOMを無料のプロフェッショナルグレードCVEスキャンにかけることをお勧めします。私たちは、お客様がサイバーセキュリティの問題を評価し、優先順位と技術的負債を軽減するお手伝いをします。これにより、お客様はイノベーションに専念することができます。
私は現在、ウォータールー大学のCo-op先として、ウインドリバーのソリューションマーケティングインターンとして働いています。ウインドリバーでは、Wind River StudioとVxWorksに携わってきました。ウォータールー大学はウインドリバーと深い関係があり、他の学生からウインドリバーで働いたCo-opの経験について話を聞くことがありました。全員が素晴らしい経験をしたと言っていたので、私の最初のCo-op先として最適な選択だと思いました。組込みソフトウェア企業で働くというのは、目からウロコの体験でした。ソフトウェア、マーケティング、ビジネスについて多くを学び、この経験からウォータールーではコンピューティングの副専攻を目指すことになりました。同じようなインターンシップ先を探している人にもこの経験を勧め、将来的にはどこかのタイミングでウインドリバーで働けらたいいなと思っています。
このブログでは、私のウインドリバーでの体験の一部であります、Wind River StudioとWorkbenchの両方でVxWorksイメージをビルドする際の違いについてご紹介したいと思います。まず、両方の環境でVxWorksソースビルド(VSB)とVxWorksイメージプロジェクト(VIP)を構築しました。VxWorksユーザの多くは、現在もWind River WorkbenchをIDEとして使用してオペレーティングシステムを構築していますが、今回はWorkbenchベースのビルドプロセスとクラウドベースのWind River Studioビルドプロセスの違いを検証しました。
WorkbenchでVxWorksをビルドする
はじめに、VxWorksに付属するEclipseベースのWind River Workbenchを使用して、VxWorksイメージビルドの構築を開始しました。当初、WorkbenchのUIは多くの設定オプションがあり強力に感じましたが、私のような新規ユーザにとっては少し難しく、複雑でもありました。私は、製品のドキュメントとチュートリアルを使って、VxWorksビルドを設定し、自分好みの設定をすることができました。通常のユーザはVxWorksイメージを構築するための環境をすぐに使いこなすことができますが、Workbenchを使うのは今回が初めであり、大学生という限られた経験しかない私にとって、Workbenchを理解し、Eclipseベースのワークフローをナビゲートするのには、努力が必要でした。
WorkbenchでのVSBプロジェクトの作成
Workbenchはローカルコンピュータのリソースに完全に依存しながらVxWorksイメージを構築するため、イメージの構築時間は開発マシンのコンポーネントの速度に左右されます。私の場合、RTOS開発者が使用しないであろう平均的な性能(8GB DDR4、ミッドティアi5、専用GPUなし)のWindowsラップトップを使用し、VSBの構築に1時間弱、VxWorksイメージの構築に1分弱かかりました。平均的なマシンでのこのビルドタイムは理想的ではなく、開発者は、迅速なビルドタイムを望むなら、優れたハードウェアを備えたハイエンドのワークステーションを利用することになるでしょう。
Workbenchでのイメージプロジェクトの設定
Workbench自体には、UIに組み込まれたガイダンスがほとんどなく、VxWorksイメージを構築するための環境の使い方を理解するためには、ウインドリバーのウェブサイトにあるチュートリアルを確認する必要がありました。ウインドリバーは、新規ユーザを支援するサポートを提供しています。Workbenchユーザは、VxWorksビルドを作成する際に使用するツールや設定を選択できるため、特定のプロジェクトの要件を満たすためにRTOS設定を最大限に制御することができます。
Wind River StudioでのVxWorksの構築
次に、Wind River Studioを使用してクラウド上にフルVxWorksイメージを作成しました。VxWorksのビルドプロセスは、Workbenchと同様、VSBからのビルドに始まり、そのVSBをベースにVxWorksイメージプロジェクトを構築しました。
作成したVSBから構築するイメージの設定
VSB と VxWorks イメージのビルドは簡単で、Wind River Studio の UI がビルド環境設定の編集とビルドの設定プロセスをガイドしてくれました。Wind River StudioでのVxWorks構築は、すべてのステップでガイドされ、新規ユーザである私でも、クラウドのパワーとリソースを使用してビルドをコンパイルする前に、好みのRTOSを迅速に構成することができました。クラウド上でビルドが完了するまでの時間は、VSBで3分弱、イメージで1分弱と、迅速でした。つまり、外出先のノートパソコンやオフィスのワークステーションなど、どのようなマシンでビルドを行おうとしても、クラウド上では常に高速なビルド時間を得ることができ、利用できるハードウェアに制限されることはないのです。
VIP Configのスクリーンショット
VxWorksのビルドプロセスは簡単に理解することができ、ビルドを完了するために製品ドキュメントに頼る必要がないほど直感的な環境になっています。また、Wind River Studioでは、VxWorksのビルドに関するチュートリアルやデモも豊富に用意されており、Wind River StudioでのVxWorksビルドプロセスのガイド付きデモをステップごとに体験できるインタラクティブな「Wind River Studio バーチャルツアー」もあります。パワーユーザ向けに、Wind River StudioはDevSecOpsフレームワークによる自動化機能も提供しています。Wind River Studio Pipeline Managerを使用してビルドプロセスを既存のツールと統合し、新しく作成したVxWorksイメージをコード解析、テスト、デプロイ、運用などの進行中のプロジェクトに活用することが可能です。
まとめ
VxWorksイメージを構築する2つのオプションを比較したとき、Workbenchと比較してWind River StudioでVxWorksイメージを構築することの付加価値について、主に3つの要点があると実感しました。
・ Wind River Studioでのクラウドベースのビルドプロセスの速さ
- Wind River Studioでは、クラウドのリソースを使って構築するため、構築スピードは使用しているPCのパフォーマンスに左右されません。
- これは、ハイエンドのワークステーションにアクセスできない開発者にとっては、特に便利な機能です。
・ ユーザインターフェースとWind River Studioのシンプルな環境
- Wind River Studioは、親しみやすくモダンなウェブベースのUIを備えており、私のような新規ユーザにとって理想的です。
- インターフェースは理解しやすく、最初のVxWorksイメージやその他の関連プロジェクトを構築するプロセスを簡素化することができました。
- Workbenchのインターフェースと全体的な体験は、包括的で強力ではあるものの、新規ユーザとしては少々とっつきにくいものでしたが、Wind River StudioではVxWorksイメージの構築は非常に親しみやすいものでした。
- 経験豊富なユーザは、Workbenchの多機能性とコンフィギュアビリティ、およびローカルリソースを使用して環境を自己管理する機能(例えば、安全なラボ)を好むかもしれません。
- Wind River StudioでのVxWorksビルドは、各ステップでのガイドや事前設定により、シームレスに感じられます。一方、Workbenchでは、新規ユーザにとって、VxWorksビルドプロセスの設定と開始方法を把握するのはより複雑な作業となります。
・ Wind River Studioが提供するガイダンスやデモ
- ウインドリバーの最新の開発環境であるWind River Studioは、常に新しいデモやチュートリアルをリリースしています。
- 「Wind River Studio バーチャルツアー」では、VxWorksのWind River Studioベースのビルドプロセスをインタラクティブに体験でるので、実際にビルドする際に何をすればよいかがよくわかります。
- Workbenchで豊富な経験を積んだユーザは、すでに慣れ親しんだ環境を好むかもしれませんが、Wind River StudioはVxWorksのビルドと設定を成功させるために、驚くほど簡単に学習し習得できる環境です。
備考
私は、確立されたソフトウェアソリューションを実際に体験することで、ソフトウェア開発環境とプロセスが身近に感じられるようになりました。インターンシップでの経験を通して、私はクラウドリソースの活用と、それがいかに簡素化、合理化、協調的な新しいソフトウェア開発パラダイムを可能にするかを理解することができました。クラウドリソースを使った開発の威力を目の当たりにし、これからはクラウドで開発することがソフトウェア開発の主流になると確信しました。
Tim Fahey
システムシミュレーションという言葉を聞いたことがありますでしょうか?多くのシステム開発者が導入に躊躇していますが、このテクノロジーは昔からあり、十分に検証されています。システム開発において、検証作業を省略することで品質を向上させることは実績のあるユースケースであり、アジャイル開発プロセスの普及に伴い関心が高まっています。
パンデミックとその余波は、シリコン、ボード、その他のデバイスのサプライチェーンに多くの影響を与えました。ハードウェアそのものや十分なハードウェアがない状況でシステムを検証するのは難しいことですが、そこには、シミュレーションテクノロジーの素晴らしいユースケースがあります。
テストの自動化・並列化による生産性の向上やハードウェア、ソフトウェア、プラットフォーム構成が及ぼす影響の検証などは、シミュレーションのさらに魅力的なユースケースです。
さらに、サイバーセキュリティ対策の強化という別のシミュレーションのユースケースがあります。Mike Thompson氏は、海軍大学院の研究員で、脆弱性解析のための非常に優れたツールのリード開発者です。彼は、フルシステムシミュレーションの強みを生かしたサイバーテストのアプローチを考案し、その洞察を共有してくれました。
Mikeと、ウインドリバーのフィールドアプリケーションエンジニアでありサイバー分野での豊富な経験を持つHans Weggemanが、「Improving Cybertesting through Full System Simulation」と題したウェビナーについてご紹介します。Military + Aerospace Electronicsから登録を行い、是非オンデマンドでの配信をご覧ください。