OSAKA NDS Embedded Linux Cross Online Forum #13

組込みLinux開発における課題と商用ディストリビュータの位置づけ
ウインドリバー株式会社
営業技術部 シニアエンジニア
木内 志朗(shiro.kiuchi@windriver.com)

2021年7月9日

2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D

１．組込みLinux開発の動向
２． Linuxを使用した製品開発における課題

アジェンダ

３．商用ディストリビューション
としてのWind River Linux
４． Wind River ソリューションまとめ
５． まとめ2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D2Wind River 製品ポートフォリオ
CLOUDNATIVEDEVELOPER CAPABILITIESDIGITALTWINS

DEVSECOPSPIPELINEAUTOMATIONOPERATOR CAPABILITIESDIGITALFEEDBACK LOOPVMCLOUDBIG DATAANALYTIC

AUTOMATION

DISTRIBUTEDCONTAINER CLOUD

CLOUD SCALEWIND RIVER STUDIOCUSTOMERPROFESSIONALSERVICES
SUCCESSPROFESSIONALSERVICESEDUCATIONLIFECYCLE + DEVELOPMENT TOOLSDIAB COMPILER

WIND RIVER WORKBENCHIP SERVICESR E S E R V E DTITANIUM +CRUCIBLE

DYNAMICSIMICSR I G H T S

STATICTRAINING ANDSUPPORTA L L

MANAGED SERVICESSTARLAB

R I V E R ,VXWORKS CERTWIND RIVER HELIXW I N D

VXWORKS 653

WIND RIVER LINUX

2 0 2 1DEVELOPMENTVXWORKS

GPOS

RTOS

OPERATING SYSTEMS

組込みLinux開発の動向

2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D

4

組込みシステムからインテリジェントエッジへ
from Embedded System to Intelligent Edge
 従来のIoT ⇒ インテリジェントエッジへ
IoT → インテリジェントエッジ → クラウド
 なぜインテリジェントエッジ？

- リアルタイム性の確保- セキュリティリスクの低減- 通信量の削減

 インテリジェントエッジにLinuxは最適

出典：IoT Magazine (https://theiotmagazine.com)

2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D5

コンテナ/Docker /OTA技術の利用拡大
 IT系で使われてきている技術が組込みシステムで求められている

インダストリアルにおけるユースケース

コンテナ- Linux
共通のカーネル上で独立したアプリケーショ

•

ン実行環境

- Docker
コンテナ型の仮想環境を作成、配布、実行す•るためのプラットフォーム

車載ゲートウェイにおけるユースケース

The Air)- OTA（Over
無線通信などによるカーネルやアプリケー•

ションのアップデート

2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D

6

新しいソフトウエア開発の流れ
 早くて安全な開発に対応するためIT系で培われた開発プロセス、開発スキームの導入が求められている- CI/CD- DevOps、DevSecOps- Cloud Native

Cloud Native

CI/CD

DevOpsDevSecOps
2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D

7Linuxを使用した製品開発における課題

2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D

8Linux/OSSを使用した組込み開発の課題
OSSを使用した組込みシステム開発は、非常に大きなメリットとともに、多くの問題や課題をクリアする必要がある。
予め想定されるリスクへの準備が重要となります。
ユーザビリティ

リアルタイム性

省電力化

Yocto

GUI

AI

GENIVI Alliance

製品企画
パフォーマンス

サービサビリティ

堅牢性

ツールチェーン

製品開発
製品設計

保守・メンテナンス

メモリサイズ削減

ファイルシステム

OSSコミュニティ

ネットワーク
自動テスト環境

ブートローダLinuxバージョン

セキュリティホール

高可用性

起動時間短縮製品テスト

フィールドでの障害
⾧期間メンテナンス

改版管理

脆弱性対応

知的財産権リスク

信頼性確保

Linux Standard Base

デバイス対応
技術者育成

グローバル開発

CI/CD

OSSライセンス2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D

9Linuxを使用した製品開発における主な課題
 システムデザイン
 製品の信頼性確保
 オープンソースライセンス
 セキュリティ脆弱性
 製品ライフサイクルにわたるメンテナンス CI/CD、DevOpsなどの導入
 技術者の開発スキル

2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D

10セキュリティ脆弱性への対応
 IoT機器などのネットワークに接続される組み込みシステムにおいてセキュリテイへの対策が非常に重要になりつつある
セ キュ リ テ ィ ソ フ ト の不在

セ キュ リ テ ィ ソ フ ト やフ ァ イ ヤウォ ール

機器ご と に防御対策！によ る 防御- インターネットへの接続

ゲーム機• 外部からの乗っ取り、情報漏洩、DDoS攻撃

サーバ／デス ク ト ッ プ
T V /家電- PCと同様のセキュリティの脅威• PCと同様のセキュリティの脅威にさらされている• 組み込み製品向けのセキュリティ対策ソフトが不在

ス マ ホ ／タ ブ レ ッ ト

産業機器

ク ラ ッ カ ーの攻撃

産業用PC
キオス ク 端末W eb カ ム

出典：JVN iPedia脆弱性データベース(http://jvndb.jvn.jp)

Linux Kernelの脆弱性報告数
400
300
200
1000

2008

2009

2010

2011

2012

2013

2014

2015

2016

2017

2 0 2 12018

W I N DR I V E R ,

2019

A L L

R I G H T S

R E S E R V E D

11セキュリティ脆弱性へ対応するためには セキュアなシステムの開発- セキュリティ対策の作り込みが必要- Linux Security Module（SELinux、AppArmor、Tomoyo、SMACKなど)によるアクセス制御- セキュアーブート、ファイル暗号化

 セキュリティ脆弱性情報の収集（セキュリティモニタリング）- 製品開発中、リリース後に発見される脆弱性についての情報を把握する必要がある- 該当する脆弱性が製品に与える影響を分析

 素早いセキュリティ脆弱性への対応- ゼロデイ攻撃を防ぐ- OSSコミュニティでの修正パッチの適用- 自社製品に影響がある場合、脆弱性に対応した修正を開発、あるいはOSSアップデートパッチを適用

 製品のアップデート機能- リリース後の製品に対する修正プログラムの配布方法をあらかじめ組み込む必要がある- OTA（Over The Air）、S/Wアップデート配布、回収／アップデート／再配布
2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D12

製品ライフサイクルとOSSのメンテナンス
Kernel.org(Upstream)
5.0

EOL
5.1

EOL

5.2 LTS

EOL

EOL

5.3

EOL

5.4
5.X LTS

EOL
EOL

5.Y

Yocto Prj
EOL

2.73.03.1 LTS

EOL

EOL
EOL

3.2

パッチはどこから入手する？

Semi Linux (Yocto base)
EOL?

製品リリース
Yocto 2.6
Kernel 4.17

製品
EOL

製品ライフサイクル （例えば１０年～１５年）
インシデント発生

インシデント発生2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D

13

製品の信頼性確保
 OSSを使用した製品開発において品質を確保するには課題が多い- 膨大なOSSの組み合わせ- OSSの場合、設計の上流工程まで遡ることが困難- OSSの仕様書はどこに？

 使用しているOSSに対して何を保証するかを明確にする- ２７００万行以上あるLinuxカーネルをすべてテストして信頼性を確保できますか？
- 使用しているOSSの組み合わせで何を保証するか？

 基本的に自分自身で保証しなくてはならない- 製品リリースする前にはきちんとテストする、あるいは誰かにテストしてもらう必要がある

 安全認証はまだ課題- ELISAプロジェクト（https://elisa.tech)への期待

2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D

14

テストの自動化による信頼性の確保
非常に多くのテスト、フレームワークが利用可能

 OSSアップストリームとの連携- OSSコミュニティでの対応状況の把握- 関連する修正パッチの適用

 OSSを理解したテスト工程の制定
 繰り返しテスト（CI/CD パイプラインの導入）- 自動化テストシステムの利用- テストツールなどの利用

 品質の作り込み

出典：https://elinux.org/Test_Systems
2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D15

新しい開発の仕組みの導入
 CI/CD- バージョン管理システムにソースコードをコミットしたタイミングで、自動的にソースコードのビルドとテストを実行することで、バグを早期に検出する手法

 DevOps- 「開発チーム（Development）と運用チーム（Operations）がお互いに協調し合うことで、開発・運用するソフトウェア／システムによってビジネスの価値をより高めるだけでなく、そのビジネスの価値をより確実かつ迅速にエンドユーザーに届け続ける」という概念

 DevSecOps- DevOpsにセキュリティの概念を統合

 Cloud Native の世界へ

2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D

16

CI/CD パイプライン
 不具合、セキュリティ脆弱性へ効率的に対応するためにCI/CDパイプラインといった自動化の仕組みは必要- 製品開発中にも多くのバグ修正やセキュリティ対応が追加されている- CI/CDパイプラインの導入は簡単ではない
OSS製品開発スキル
ローカル開発環境

リポジトリ

アップストリームから最新パッチの適用

CI/CDパイプライン

実行環境

継続的インテグレーション（CI） 継続的デリバリ（CD）
コード変更
コードマージバージョン管理

静的解析

開発環境
ビルドテストデプロイ

テスト環
境ローカルPCリリース
2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D17

2 0 2 1

W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D

商用ディストリビューション
としてのWind River LinuxLINUXを使用した組込みシステム開発におけるリスクマップ
OSSを使用した組込みシステム開発では数多くの課題が発生する可能性があります。
予めリスクに対する構えをもつことにより、最大限OSSのメリットを享受することができます。
製品企画

技術面に対するリスク

製品設計• Ｈ/Ｗ設計• プラットフォーム設計• アプリケーション設計

S/W選定のための情報が不足

技術情報の不足

製品開発• プラットフォーム開発• アプリケーション設計• 車体テスト

製品テスト• Ｓ/W統合テスト• システム統合テスト

製品製造

製品保守

• 不具合対応• Ｓ/Wアップデート

新しいH/W（CPU）への対応
製品パフォーマンスの問題
OSSについての技術が不足

S/Wアップデート方法

プロジェクトマネージメントに起因する問題
Linuxに詳しいエンジニアの確保

人的資源に対するリスク

テストエンジニアの確保

設計変更による開発スケジュールへの影響

スケジュールに対するリスク

製品品質に対するリスク

見積の甘い開発スケジュールによる影響
製品開発スケジュールの遅延
製品設計について高品質が考えられていない

使用しているOSSの品質確保が出来ない

フィールドでの不具合発生

ソフトウェアのテストが不十分

セキュリティホールの顕在化

品質確保のためのクライテリアが不明確
ソフトウェア開発費用の増大

財務上のリスク
法務上のリスク保守できるエンジニアの確保

エンジニアのスキル不足

製品回収費用の発生

テスト工数の増大

保守費用の増大

外注費用の増大OSSライセンス違反

外注企業との開発契約に関連する問題
内部情報漏洩
OSSライセンスの混入、伝搬知的財産権の侵害

2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D19

OSS開発の潜在的リスクに対するウインドリバーソリューション
ウインドリバーが提供する包括的なソリューションにより、Linux/OSS開発にともなうリスクを軽減します。
トータルな製品開発費用の削減が可能です。
製品企画

技術面に対するリスク

製品設計• Ｈ/Ｗ設計• プラットフォーム設計• アプリケーション設計

S/W選定のための情報が不足

技術情報の不足

製品開発• プラットフォーム開発• アプリケーション設計• 車体テスト

製品テスト• Ｓ/W統合テスト• システム統合テスト

製品製造

製品保守

• 不具合対応• Ｓ/Wアップデート

新しいH/W（CPU）への対応
製品パフォーマンスの問題
OSSについての技術が不足

S/Wアップデート方法

Wind River Linux サブスクリプション
プロジェクトマネージメントに起因する問題

人的資源に対するリスク

スケジュールに対するリスク

製品品質に対するリスク
財務上のリスク
法務上のリスクLinuxに詳しいエンジニアの確保

Wind River Linux プロフェッショナルサービス
エンジニアのスキル不足

保守できるエンジニアの確保

テストエンジニアの確保

・Long Term Maintenance・カスタムBSP、デバイスドライバ開発
設計変更による開発スケジュールへの影響
・Custom Contents Management
・BSPバリデーション/サポート/メンテナンス
見積の甘い開発スケジュールによる影響
・Frozen Branch Maintenance
製品開発スケジュールの遅延
製品設計について高品質が考えられていない

使用しているOSSの品質確保が出来ない

フィールドでの不具合発生

ソフトウェアのテストが不十分

セキュリティホールの顕在化

Wind River Linux製品

品質確保のためのクライテリアが不明確

ソフトウェア開発費用の増大

製品回収費用の発生

テスト工数の増大

包括的なソリューションにより全体コストを最適化

保守費用の増大

外注費用の増大OSSライセンス違反

外注企業との開発契約に関連する問題

Wind River コンサルティングサービス
内部情報漏洩

OSSライセンスの混入、伝搬

2 0 2 1W I N D

知的財産権の侵害

R I V E R ,A L L

R I G H T S

R E S E R V E D

20Wind River Linux 全体図
OSSコンプライアンス用書類に対応
脆弱性対応

⾧期サポートとメンテナンス

最大15年の⾧期サポート（ 5 年間 の標 準サ ポー ト＋オ プ ションのプ レミア ムサ ポ ート・メン テ ナン ス）
Star Lab セキュリティ
製品群

Yocto Project互換のオープンソース開発環境
最適化されたクロスアーキテクチャランタイ
ムによる優れたエクスペリエンス

Workbench
統合開発環境とツールキット

追加テストと検証による高い信頼性
必要な技術資料が用意されたシームレスなカスタマーエクスペリエンス

ディストリビューション
管理サービス

2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D

21Yocto Projectのトップレベルのコントリビュータとして貢献
オープンソースにおけるリーダーシップ

出典:https://insights.lfx.linuxfoundation.org/projects
Screenshot:May27/2021 (Select time range last 6 months)

2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D22定期セキュリティ監視
CVE数は年々増加

モニタリング：
CVE数
評価：
Wind River Linuxに対する修正数
修正：サポートしたリリース数

重要なセキュリティ
脆弱性案件

8486

6588

6527

13191

16536

17191

1844

2330

5161

9920

6656

6407

4445552014

2015

2016

2017

2018

2019

CVE-20140160 aka
Heartbleed

CVE-20150235 aka
Ghost

CVE - CVE2016-0800
aka DROWN

Stack-heap
Overflow
CVE-20171000364-66

Spectre /Meltdown
CVE-20183639-40

Zombieload
FallOut
RIDL

2019年の1日の平均CVEの数 = 47
2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D

23Wind River Linuxの優位性 ソリューションパートナとしてLinux開発に貢献
 適切なレベルに応じたアウトソーシング
 検証された製品＋豊富なサポート＆サービス
 セキュリティ脆弱性対応
 グローバルチームによるサポート＆メンテナンス 敵的なパッチ提供による品質維持
 お客様の製品ライフサイクルに応じた⾧期サポート
 ライセンスコンプライアンス・輸出管理

2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D24

2 0 2 1

W I N DR I V E R ,A L L

R I G H T S

R E S E R V E DWind River ソリューション

Linuxを使用した製品開発におけるメンテナンススキーム
自社でのメンテナンス（RYO）

Update patch(Vulnerability, Bug fix)

OSS
UpstreamStandard Support

EOL

R E S E R V E DYocto

SOP
Product A2SOP
Product B

W I N D

Product A

R I V E R ,A L L

SOP

2 0 2 1Custom
BSP1

R I G H T S

自社Linux
プラット
フォーム

Linux/OSS Branch control (2)Wind River Linux の採用

Update patch(Vulnerability, Bug fix)

Subscription＋Standard Support

Standard Support

Legacy support?

?

?

SOP
Product A2SOP
Product B

W I N D

Product A

R I V E R ,

A L L

SOP

2 0 2 1Custom
BSP1

R I G H T S

自社Linux
プラットフォーム

R E S E R V E DWind River
Linux LTS

Linux/OSS Branch control (3)Wind River Linux + オプションサービス（CCM : Customer Contents Maintenance）
Wind River Linux + オプションサービス

Standard Support

Update patch(Vulnerability, Bug fix)

Legacy support

Wind River
Linux LTS
CustomBSP2
R E S E R V E DCustom
BSP1

R I G H T S

自社Linuxプラットフォーム

SOP
Product B

W I N DSOP
Product A22 0 2 1

Product A

R I V E R ,A L L

SOP

Linux/OSS Branch control (4)Update patch(Vulnerability, Bug fix)Wind River Linux + Total support (包括的なメンテナンス)
Subscription +包括的なメンテナンスサービス

Standard Support

Legacy support

Wind River
Linux LTSR E S E R V E DCustom
BSP1

R I G H T SCustomer
Branch

SOP
Product B

W I N DSOP
Product A22 0 2 1

Product A

R I V E R ,A L L

SOP

OSSプラットフォーム開発の習熟性
OSベンダーとの協業により競争領域の開発に専念することが可能になります。

OSS技術
ナレッジベース

OSSライセンス
ガイドライン

共通テスト環境

社内向け共通基本
プラットフォームの提供
教育/トレーニング

OSS Development Office/Center

Wind River Linux ソリューション
2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D30

2 0 2 1

W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D

まとめまとめ 組込みシステム／IoTでOSSの使用は不可欠になりつつある- デバイス対応、サポート機能など最新トレンドを追従するにはOSSの利用なしには考えにくい

 OSSを利用した製品開発での大きなリスクは次の５点- 技術的な達成可能性• まずは評価/検証。手を動かす。 → OSSのメリットの１つ- 品質評価• 自社でやると腹をくくるか？信頼できるパートナーと組むか？
• CI/CD、DevOps- OSSライセンス• OSSを利用するための組織としてのポリシーが必要- セキュリティ対策• 製品ライフサイクルを考慮した脆弱性対策の制定• 製品に搭載している脆弱性の把握と迅速な対応- 技術スキル• どのような技術スキルが求められるかを明確化• その上で足りないスキルをどのように補うか？ 社内教育 or アウトソース

 OSSを利用するメリット → 全体最適によるコスト削減
2 0 2 1W I N DR I V E R ,A L L

R I G H T S

R E S E R V E D32

コミュニティ版 WIND RIVER LINUXへのアクセス
GitHubからWind River Linux無償版をダウンロード
https://www.windriver.com/japan/products/linux/download/
お問い合わせはこちらから

www.windriver.com/japan/company/contact組込みLinux開発における課題と商用ディストリビュータの位置づけ
ウインドリバー株式会社
お問い合わせhttps://www.windriver.com/japan/contact