Full System Simulator: How DevSecOps Professionals Are Saving up to 90% of Their Testing Time-Japan

 



フルシステムシミュレータ:DevSecOpsのプロフェッショナルが
テスト時間を最大90%短縮している方法とは?

Jan 11, 2023 産業機器

James Hui

DevSecOpsのプロフェッショナルは、それぞれの分野の歴史上、他の誰も直面したことのないある課題を抱えています。しかし、効果的なフルシステムシミュレータによって、テスト時間を短縮し、効率を最大90%改善できるとしたらどうでしょうか。

プログラミングとコンピューティングの時代において、ソフトウェア開発者とエンジニアは、企業が競争力を維持するためには、様々な技術スタックの組み合わせや異なるプロセッサアーキテクチャ、複数のエンドユーザーデバイス、そしてもちろん、幾つもの階層のネットワークセ
キュリティを考慮する必要があります。

ソフトウェアの設計とテストの反復において、DevSecOpsチームがすばやく作業を回せることがかつてないほど重要になっています。力業で頑張るのではなくもっとスマートなやり方が求められているのです。

ハードウェアベースのテストがもう限界になった理由

ハードウェアベースのテストは、何十年にもわたって標準的なものでしたが、今日の環境ではいくつかの制限があります。まず、ハードウェアベースのテストでは、最新のハードウェアが利用可能であること、プロトタイプがさまざまなデバイスやオペレーティングシステムをサポートしていることが必要です。この基本的な要件に加えて、開発者がエラー状態の調査やリグレッションテストを実行する必要がある場合、ハードウェアであるが故の限界を認識する必要があります。最後に、スケールを拡大して成功するためには、DevSecOpsチームが効率とイノベー
ションを最大化するために、より良いコラボレーションを主導する必要があります。

そこで登場するのが、クラウドベースのシミュレーションプラットフォームです。

Wind River Simicsは、「チップからシステムまで」のデジタルツインを作成することができるフルシステムシミュレータです。ウインドリバーのシミュレーションプラットフォームにより、企業はDevOpsチームを加速して効率性を高め、平均で80~90%のQA時間を短縮することができます。

今後数年間、競争力を維持するためには、どの企業でもフルシステムシミュレータを取り入れる必要があるでしょう。多くの企業は、例えばサイバーセキュリティ攻撃シミュレータの重要性は理解していますが、複雑なシステムのためのフルシステムシミュレータの重要性はあまり認識していません。

クラウドベースのシミュレーションソフトとは、どのようなものなのでしょうか?また、どのように使用するのでしょうか?

Simicsが提供しているシミュレーションを使うと、ユーザのハードウェアのデジタルツインを構築することができます。これは、ソフトウェア開発者がテストしたり、トラブルシューティングしたり、単一または複数のソフトウェアテストの同時実行結果を記録したりするためのシミュレートされた仮想環境です。

「テストの60〜80%は、ハードウェアベースのテストからシミュレータベースのビヘイビアテストに移行することができます。そして、そのテストを関連付け、カバレッジ解析を行うことができ、ハード
ウェアテストへの依存度を減らすことができます」

シミュレーションテクノロジーを利用することで、開発者はソフトウェアのテストを実行、反復、自動化することができ、インテリジェント
エッジが持つ高度で複雑なソフトウェアをかつてないほど迅速に立ち上げることができます。また、仮想システムは、簡単に複製できますので、どこからでもより多くのテストを回すことができます。特注のハードウェアを準備しなければいけなことからも解放され、コラボレーションを容易化します。

つまり、長く使い続けられる堅牢なソフトウェアを構築でき、テストをより効率化し、将来のテスト自動化につなげられることを意味します。

シミュレーションにおいてディターミニズムが重要な理由

シミュレーションにはディターミニズム(決定論性)という優れた特性があり、ベースラインさえ作れば何度も再実行したり記録したりしても全く同じ結果が得られます。 このことから、本来ならテストするのが難しい環境や状況下であってもソフトウェアのテストをシミュレーションできます。例えば、意図的にソフトウェアに罠を仕掛けたり、管理された状態でソフトウェアに故障を仕掛けたりするなど、コード上のさまざまな部分に対して特異な状況での動きをテストすることができます。

このシミュレーションは、DevSecOpsのプロフェッショナルが与えられた課題に対して合理的なアプローチを採用し、時間の経過とともにソフトウェアを進化させるのに役立ちます。

「ソフトウェアを作りあげることが重要なのは分かります。しかしもっと重要なのは、ソフトウェアをテストすることです。そうすれば作ったソフトウェアを長く使い続けることができるようになりますし、テストもより効率化されていきます」

クラウドベースのシミュレーションソフトウェアを使用する4つの理由

クラウドベースのシミュレーションは、複雑化するシステムおよびソフトウェア設計のテストとQAプロセスを合理化するだけではありません。以下に、シミュレーションを活用したテスト環境に移行することで、チームが享受できる4つのポイントを紹介します。

1.    スケーラビリティ(拡張性):   クラウドテクノロジーにより、シミュレーションの規模を拡張することができます。例えば、1つのボードや1つのCPUをシミュレーションするだけでなく、基地局全体のシミュレーションを行うことができます。

2.    開発者のコラボレーション: ソフトウェア開発はチームワークです。シミュレーションをテスト媒体として使用することで、ハードウェア間の個体差によるさまざまな結果の相違を少なくすることができ、グローバルなコラボレーションが容易になります。これは、開発者が集結し、信頼できる唯一の情報源を見ることで、一緒にソフトウェアを改善するのに役立ちます。

3.    開発期間の短縮: チームによるグローバルなコラボレーションを可能にすることで、ソフトウェアの設計とテストにかかる時間や、エラーを減らすための時間を劇的に短縮します。実際、ウインドリバーのお客様は、ワークフローにシミュレーションを導入した後、80〜90%の時間を短縮することができたと報告されています。

4.    Simicsによる効率化: フルシステムシミュレータは、ソフトウェアエンジニアが複雑な電子システムのハードウェアをシミュレートするために使用することができます。チームのコラボレーションを支援し、常時稼働するプラットフォーム上で迅速に仕事をこなすことができます。

ソフトウェア開発チームのためのシミュレーションの始め方

テストにフルシステムシミュレータを使用することで、より速い、効果的な結果を保証し、DevSecOpsチームが何時間もかかるテストを数分で完了させることができます。Simicsにより、複雑なシステムのソフトウェア開発がより簡単かつ迅速になり、さらにスマートなセキュリティと安全機能が搭載されています。このシミュレーションテクノロジーは、プロセスの加速化に役立つだけでなく、コスト削減とパフォーマンス指標の提供により、日々効率的な運用を可能にします。

ウインドリバーのフルシステムシミュレーションプラットフォームがお客様のビジネスにどのように役立つかは、「Tips for Using Simulation Technology to Launch a Robotic System Program」をご覧ください。 製品の詳細については、以下からお問い合わせください。
https://www.windriver.com/japan/contact

Keeping current with Embedded Linux on a Raspberry Pi 4-Japan

 



Raspberry Pi 4で組込みLinuxを使って最新を維持する方法

Jan 23, 2023 Linux

Swetaa Suresh

はじめに

組込みシステムは、アップデートの必要なしに長期間稼働するよう設計されていますが、インテリジェントエッジの一部として接続されているものについては、定期的にアップデートが必要な場合があります。組込みシステムのイメージをアップデートするユースケースの一例として、IoTデバイスやホームオートメーションシステムなどの組込みLinuxベースのデバイスメーカーがあります。メーカーは、デバイス上で動作するオペレーティングシステムとアプリケーションの定期的なアップデートをリリースし、パフォーマンスの向上、新機能の追加、または発見されたセキュリティ脆弱性の修正を行います。また、お客様がこれらのアップデートを簡単にデバイスに適用できる仕組みを提供したり、新しいデバイスの製造プロセスの一部としてアップデートしたりすることもあります。そのためには、要件に合ったオペレーティングシステムを選択することが重要です。商用のサポート付き組込みOSは、自社で開発者が構築・保守するのに比べて、コスト効率を高くできます。

Ubuntu Coreは、IoT(Internet of Things)機器などの組込みシステムでの利用を想定したUbuntu Linuxオペレーティングシステムの1つ です。 IoTデバイスの実行に必要な必須コンポーネントとサービスのみを含む軽量かつ最小バージョンのUbuntuで、高い安全性と効率性を実現します。 Ubuntu Coreは、さまざまなセキュリティや管理機能を備え、ソフトウェアのパッケージングやシステムのデプロイメントに使用される独自技術「snaps」(システムコンテナ用の圧縮アプリケーション)によるカスタマイズを提供します。その汎用性、セキュリティ、使いやすさから、開発者に人気のある製品です。

Wind River Linuxは、ネットワーク機器、産業用制御システム、航空宇宙・防衛テクノロジーに見られる組込みシステムで使用するために設計された商用Linuxベースのオペレーティングシステムです。 Wind River Linux Distroは、市場をリードするWind River Linuxを使用した、一般的なコミュニティ主導のYocto Projectベースのバイナリディストリビューションです。Raspberry Pi 4をサポートしています。 Wind River Linux Distroのシステムアップデートをインストールするには、OSファイルのデプロイとアップデートを管理するオープンソーステクノロジーである、OSTreeが必要です。 OSTreeとは、オペレーティングシステムを構成するファイルの集合体であるオペレーティングシステムツリーの作成、展開、およびライフサイクル管理を行うためのツールです。 また、OSTreeは、複数のバージョンのオペレーティングシステムツリーを保存、管理することができ、オペレーティングシステムのアトミックなトランザクションアップデートを可能にし、複数のLinuxベースのオペレーティングシステムで使用されています。

目的

どちらのプラットフォームで、デプロイ後のメンテナンスがより容易かを判断するために、Raspberry Pi 4上のWind River Linux DistroとUbuntu Coreの両方でイメージアップデートを比較したいと思います。両プラットフォームの使用感に注目して、イメージとアップデートパッケージをカスタマイズしてみます。

使用した機材とプログラム

・Raspberry Pi Imager Raspberry Pi OS - Raspberry Pi - ストレージ(SDカード)にイメージをフラッシュするために使用

・Raspberry Pi 4 (RPi4)

・Micro HDMI ポート

・USB-C 電源

Wind River LinuxのDistro Imageのアップデート

1. Wind River Linux Distroのバイナリイメージが起動していること、rootでログインしていることを確認します。

2. OSTree アップグレードラッパースクリプトを実行し、システムをアップグレードし、以下のコマンドを実行します

3. システムを再起動し、イメージに再ログインします。

4. イメージのロックを解除します。イメージのロックを解除するために、以下を実行します。

5. DNFでパッケージのインストール、アップデート、削除をします。

* アップデートするには、パッケージフィードの変更をすぐに確認できるよう、キャッシュを明示的に更新する必要があります。

Ubuntuコアイメージのアップデート

1. Ubuntu Core イメージをアップデートするための最初のステップは、モデルアサーションを使用することです。入力は多くの場合、JSON 形式で行われます。

2. アサーションの設定をするには、snapcraftをインストールし、ログインする必要があります。

3. モデルのアサーション作成には開発者IDが必要です。

4. snapをサポートするLinuxシステム上にイメージをインストールする必要があります

5. イメージファイルそのものを出力するには、以下のスクリプトを実行します。

6. snapを実行するには、以下のスクリプトを使用します。

比較

Wind River LinuxとUbuntu Coreは、いずれもネットワーク機器、産業用制御システム、IoTデバイスなどに搭載される組込みシステム向けに設計されたLinuxベースのオペレーティングシステムです。両OSは、リアルタイム性、高度なセキュリティおよび信頼性などを必要とするアプリケーションに適した、さまざまな機能と性能を備えています。

大きな違いは、Wind River Linuxは、カスタマイズ可能なカーネルと特定のニーズに合わせてOSを設定するためのさまざまなオプションを備えており、高度な設定が可能なように設計されていることです。一方、Ubuntu Coreは、Snap Storeを使用して簡単にパッケージを追加、インストールすることができます。また、シンプルさとセキュリティに重点を置き、最小限のデザインでオペレーティングシステムとその上で動作するアプリケーションが常に最新で安全であることを保証するためのさまざまな機能を備えています。これは、2つのオペレーティングシステムのイメージアップデートとに使用される特定のツールやプロセスに影響を与えます。例えば、Wind River LinuxにはOSイメージの管理とデプロイのためのより高度なツールが含まれており、Ubuntu Coreはアップデートのための安全で使いやすいシステムを提供することに重点を置いています。

もう一つの違いは、Wind River Linux DistroはWind River Systemsが開発した商用OSであり、Ubuntu CoreはCanonicalが開発した人気の高いUbuntu Linuxディストリビューションのバージョンであることです。つまり、Wind River Linux Distroの新しいイメージの作成とデプロイのためのツールやプロセスは、Ubuntu Coreのそれとは若干異なる可能性があります。 Wind River Linuxは、商用ユーザー向けのツールやサービスの提供に重点を置いていますが、Ubuntu Coreには、OSイメージの共同作業やパブリックコミュニティとの共有のためのツールが含まれています。

まとめると、Wind River LinuxとUbuntu Coreの両方は、組込みシステムで使用可能なオプションですが、それぞれで固有の 機能や性能によって 、特定のタイプのアプリケーションや環境に対しては、どちらかのOSが より良い選択肢となるでしょう。カスタマイズ性と長期サポートを重要視するならば、Wind River Linux Distroが適切でしょう。一方、Ubuntu Coreは、シンプルさと最小限のリスクを重要視した場合に適しています。どのオペレーティングシステムを使用するかを判断する前に、プロジェクトの具体的なニーズと要件を慎重に評価することが重要です。

Swetaa Sureshについて
Swetaa Sureshは、ウインドリバーのプロダクトGo-to-Marketインターンとして、マーケティングおよびセールスチーム向けの製品発売計画の支援や、市場調査、競合分析に携わっています。ウォータールー大学で経営工学の学士号を取得予定です。テクノロジーとビジネスの関係性に関心をもっています。

Path to Secure Linux Platforms-Japan

 



セキュアなLinuxプラットフォーム実現への道

Jan 02, 2023 Linux

Seth Cramer

/sites/default/files/pictures/Cramer.jpg

Linux は、その汎用性、パワー、スピードから、ますます多くのプログラマに信頼されるようになっています。他の開発プラットフォームと異なり、組込み開発者が最も細かいビルディングブロックのコンポーネントへの自由なアクセスを可能にします。プログラマは、自分の好みや特定の用途に合わせて、何でもカスタマイズすることができます。これらの特徴により、迅速な改良や反復を望む開発者にとって特に魅力的なツールとなっています。

しかし、Linuxは高速でパワフルだからといって、脆弱性がないわけではありません。組込み機器が使用されるようになると、未知のセキュリティホールやバグという深刻な問題が発生します。共通脆弱性識別子(CVE)に対応するには、最新のデータ、時間、正確さが重要であり、影響度を理解することが不可欠となります。

Linux Foundationによると、フリー/オープンソースソフトウェア(FOSS)は最新のソフトウェアソリューションの70%から90%を占めていると推定されています。

セキュリティのベストプラクティスは、すべてのコンポーネントの有用性、信頼性、脆弱性を積極的かつ定期的に監視することを規定しています。責任あるセキュリティ対策において最も重要なことは、終わりのないプロセスであること。つまり、常に進化、改善し続ける必要があるということです。

しかし、多くの企業ではそれが出来ていません。Open SF Foundationによると、50%の企業がセキュリティポリシーを持っているが、30%が持っておらず、17%が持っているかどうかわからないと回答しています。

以下の脆弱性管理のライフサイクルは、安全な組込みLinuxプラットフォームへの道につながります。

・ソフトウェア資産の評価、スキャン、および調査結果の報告

・脆弱性のリスクを評価し、影響の有り得る攻撃を考慮したCVEの優先順位の決定

・特定されたリスクの是正、軽減、または受容するための行動計画の実行

・CVEの再評価と行動計画が望ましい結果をもたらしたかどうかを検証するための再スキャン

・成功の判定に使用していた指標の評価と、セキュリティプロセスのアップデート、それらを改善するための SLA の更新。改善に影響を与える根本的な問題の排除

・改善点に合わせた作業のやり直しと修正の繰り返し

企業は、脆弱性管理のライフサイクルの各段階で警戒を怠らず、影響を把握し、ユーザに勧告して企業の対応策を説明するCSIRT(コンピュータセキュリティインシデント対応チーム)を設置する必要があります。

プラットフォームの安定性を確保し維持するためには、社内で実装するか、パートナーによって管理される強固なCI/CDパイプラインが必要です。このパイプラインは、CVE修正の定期的なスモークテストを組み込んで、継続的なテストを実行する必要があります。CVE修正のコーディングに特化したパイプラインは、選択した修正を組込みLinuxとすべてのソリューション層に統合される必要があります。また、求められているアーキテクチャの自動化、テストの自動化、パートナーや組織内でテストをレビューし、これらのコンポーネントを企業が使用するレポに統合する必要があります。

開発チームがCVE修正をパイプラインに統合したら、オープンソースの自動化サーバとCSIRTにより、CVEが修復されたことを示す関連情報を企業とユーザに開示できることを確認する必要があります。

セキュアなLinuxプラットフォームの実現をご検討されている方、また、より詳細な情報を希望される方は、ウインドリバーのウェビナー「Path to Secure Linux Platforms」を是非ご覧ください。このウェビナーでは、脆弱性管理のライフサイクルの各ステップについてご紹介しています。さらに詳しい情報については、ウインドリバーまでお問い合わせください。

.buyButton {display: none;} .ce .buyButton {display: block;} .modal-content { background: #000; color: #FFF; } .modal-header { border-bottom: 1px solid #1AADA4; padding: 15px 25px; } .modal-header h2 { font-size: 34px; font-weight: 300; } .modal-header button.close, .modal-header button.close:focus, .modal-header button.close:hover { color: #FFF; opacity: 1 !important; } .modal-body { padding: 25px; } .modal-body .flex-container { display: flex; gap: 50px; justify-content: space-between; } .modal