えっ?同じKernelで10年保守を!?
産業向け基盤OSの超長期保守実現に向けた
Civil Infrastructure Platform(CIP)の取り組み
2018/10/27
サイバートラスト株式会社 工藤雅司
Copyright Cybertrust Japan Co., Ltd. All rights reserved.
ミラクルリナックスとサイバートラストが2017年10月に合併、新生サイバートラストとして活動中
サイバートラストの紹介
2017年
10月
2006 年2000
年
2016
年
設立
Embedded
Linux OS
IoT
ビジネス協業
合併
1995
年
2016
年
日本初
認証局運用開始
2015 年SIOTP
IoTソリューション
共同開発
1997 年設立
2017年
3月
2017年
3月
※SIOTP:Secure IoT Platform
2007 年
Asianux
3
謝辞
本発表資料は、10月22日にOpen Source Summit Edinburghで発表された
以下の資料を基に作成しました。
講演名:Civil Infrastructure Platform: Two Year Experience of
Industrial Grade Open Source Base-Layer development
講演者:株式会社東芝 小林良岳様
Siemens AG Urs Gleim様
本資料の使用を快く許諾頂いたお二方にこの場をお借りして感謝申し上げます。
Copyright Cybertrust Japan Co., Ltd. All rights reserved.
本日のアジェンダ
1.CIPの概要
2.CIPの活動状況
3.まとめ
5
CIPの概要
交通運輸
エネルギー
産業
その他
鉄道オートメーション
車両制御
自動改札
産業オートメーション
産業用通信
CNC
ビルオートメーション
健康管理
放送
発電
送電系監視制御
この文明はLinuxの上に成り立つ
7
Linux保守の課題
ある企業での課題:
異なるフレーバ・バージョンの
Linuxを保守
…いくつもの製品に対して
…何年も
picture taken from Pinterest https://www.pinterest.de/pin/554646510344033382/
…事業部毎に
…ビジネス上のメリットなく
同じような課題認識が広まっています
オープンソースカンファレンス2018 Tokyo/Fall
バックエンドでの エコシステム
異なるレベルで異なる役割を担 う複数のユーザ
IoT: Internet of Things IIoT: Industrial IoT SCADA: Supervisory Control And Data Acquisition
ネットワークゾーン制御
プラント解析
SCADA
プラント(デバイス)管理
ローカル / リアルタイム解析
IoTゲートウェイ
エッジ デバイスデータ収集 / プリプロセッシング
センサー / アクター接続
IIoTインフラでのアプリ例
•
ネットワーク接続された産業グレードデバイスの増加
•
セキュリティ管理のために必要な調和のとれたソフトウェア環境
機能がクラウドから”エッジ”に移動
インダストリアルIoT: エッジ・Fogコンピューティング
9 スマート デバイスIoT対応の課題
産業
グレード
• 信頼性
• 機能安全
• リアルタイム性
サステイナ
ビリティ
• 長期に亘る製品寿命
• 互換性
• 標準対応
セキュリティ
• セキュリティ・脆弱性管理
• ファームウェア更新
• デグレードリスクの最小化
つながる数百万の
システムをセキュアに維持
産業システムへのIoTコンセプト
適用
製品品質、
製品寿命の確保
11
Copyright Cybertrust Japan Co., Ltd. All rights reserved.
IoT機器に関連する政府の動向
【IoTデバイスを対象とする広範なサイバーセキュリティ法案2020年1月1日施行】
•
カリフォルニア州
のJerry Brown知事が、
IoTデバイスを対象とする広範なサイ
バーセキュリティ法案に署名
し、法律として成立させた。
米国の州でこうした法案
が採択されるのは初めて
だ。
•
Brown氏は米国時間9月28日、同法案(「SB 327」)に署名した。この法律の下で、
インターネット接続型デバイス(「スマート」デバイス)のメーカーは、「デバイスとそこに保存
された情報を不正アクセス、破壊、使用、変更、および開示から保護」する「相応な」セキュリ
ティ機能をガジェットに搭載することを求められる。
https://japan.zdnet.com/article/35126328/ (2018年10月1日) 11 Open Source Summit Europe 2018社会インフラ構築のためのソフトブロック
として超長期で使用・実装可能な産業
グレードのオープンソースベースレイヤを
提供
CIPで課題解決
https://www.cip-project.org/
since April 2016
オープンソースベースレイヤ (OSBL)とは?
•
OSBL
•
産業グレードに向けたオープンソース
ソフトウェアコンポーネント、ツール、
手法
•
レファレンス実装
•
産業グレードシステムの制御に最低限
必要なパッケージを含有
ユー
ザス
ペー
ス
HW
カーネ
ル
非CIPパッケージ
Linuxディストリビューション(例 Debian)
によるCIPパッケージの補完
CIPレファレンスHW
CIP Coreパッケージ
CIPレファレンスファイルシステムイメージ
+SDK
CIP SLTSカーネル
OSB
L
会員会社が支えるCIP活動
オープンソースプロジェクト(アップストリーム)
開発者、メンテナー
会員会社
CIP
ソースコード
レポジトリ
貢献 & 使用 & 統合 オプション:特定の プロジェクトにファンド CIP 超長期 サポートプロジェクト€
¥
£
$
活動費用
Open Source Summit Europe 2018 13
日立製作所 ルネサス エレクトロニクス Siemens 東芝
企業活動へのCIPのマッピング
CIP Core
パッケージ
(数十)
CIPカーネル
(10年以上サポート)追加パッケージ
(数百)
カーネル, ベースパッケージ, SDK, ビルドチェーン, QA
コーポレート
横断チーム /
セントラルPj
ドメイン専用拡張
会社/事業部
ドメイン専用拡張
…
SBU/製品
CIP Civil Infrastructue Platform project (https://www.cip-project.org/) QA quality ssurance SDK software development kit
Firmware Update Security Hardening Container Runtime …
OSS Open Source Software
OSSライセンスクリア、脆弱性情報監視、カーネル/パッケージメンテナンス、個々の製品へのアプリケーション
移植・テストなどの作業・手間を最大限70%削減可能
15
CIPの活動状況
CIP活動スコープ
ユー
ザス
ペー
ス
カーネ
ルス
ペ
ース
Linuxカーネル
アプリケーションコンテナー基盤
(中期目標)
アプリケーションフレームワーク
(オプション:中期目標)
ミドルウェア/ライブラリ
Safe & Secure
Update Monitoring Domain Specific communication
(e.g. OPC UA) Shared config. & logging
Real-time support safe virtualizationReal-time /
ツール
コンセプト
Build environment
(e.g. bitbake, dpkg)
Test automation Tracing & reporting tools Configuration management Device management (update, download) Functional safety architecture/strategy, including compliance w/ standards (e.g., NERC CIP, IEC61508) Long-term support Strategy: security patch management Standardization
collaborative effort with others License clearing Export Control Classification
デバイス上のソフトウェアスタック
製品開発・メンテナンス
Application life-cycle management Security MultimediaSuper Long Term Supported Kernel (STLS)
1
3
2
CIP Core Packages
4
1
4
4
5
6
オープンソースカンファレンス2018 Tokyo/Fall
CIPの開発モデル
アップストリーム
プロジェクト
KernelCI
LTS
mainline
Jailhouse
CIPがすでに連携(貢献、使用、ファンド等)しているプロジェクト
将来の連携候補
CIPオープンソースベースレイヤ (OSBL)
1
“Upstream first”
1
“Upstream first”
2
使用
3
統合
SWUpdateCIP SLTSカーネル開発 (“Upstream first”開発モデル)
•
アップストリームプロジェクト
•
Linux mainline / LTS
•
アップストリームとの連携
•
Mainline
•
バックポートパッチはマージ前にすべて
アップストリームに入れるのが原則
•
ルネサスボード特有の機能に絡むパッ
チをはじめとしてすでに多くのパッチが
アップストリーム化
•
Linux stable
•
CIP SLTSはLTSベース
•
CIPカーネルチームはLTSレビュー作
業に参加
Mainline / LTS
メンター /
メンテナー
開発者
CIPカーネルチーム
レビュー
テスト結果
フィックス
機能のメイン
ライン化
LTS カーネル
CIP SLTS
カーネル
1
1
2
3
1
1
Up-streaming
2
使用
3
統合
19 Stable Release
LTS
Stable Release
Stable ReleaseStable Release Stable Release
(ご参考)LTSとCIP SLTS
●
LTSは毎年年末のStable Releaseを選択
●
CIP SLTSは2~3年ごとにその時点で最新のLTSを選択
○
“Upstream First”が原則、LTSとの差分は特定ベンダーのSoC依存程度
○
LTSサポート期間後は、CIPによる独自サポートの方向(議論中)
4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 LTS CIP SLTS 10年~ LTSサポート期間(通常は2年、4.4/4.9は現状6年) LTSに準拠 CIP独自サポート Mainline (Linus Tree) CIP独自サポートリリース Mainlineでのリリース LTSでのリリースCopyright Cybertrust Japan Co., Ltd. All rights reserved.
CIP SLTS (linux-4.4.y-cip) → 10年のメンテナンス期間
•
CIP SLTSカーネルツリーは kernel.org (CIPグループ配下)
•
https://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git/
•
CIP RTカーネルも準備中
•
メンター: Ben Hutchings (CIPメンバ)
•
メンテナー:
Nobuhiro Iwamatsu (Cybertrust)
、 N.N. (調整中)
CIP SLTSカーネル開発 (メンテナンス)
Mainline
4.4
CIP SLTS (linux-4.4.y-cip)
セキュリティパッチ
バックポート
された
パッチ
メンテナーにより管理
機能バックポート
1
Stable (linux-stable)
CIP SLTSカーネル開発
•
開発ステータス
•
最新のCIPカーネル:4.4.154-cip28
•
CIPレファレンスボード
•
QEMU x86_64
•
AM335x Beaglebone Black (Armv7)
•
RZ/G1M iWave Qseven Development Kit (Armv7)
•
RZ/G2M-96CE(仮称) (Armv8)
•
CIPレファレンスボード候補(検討中)
•
Physical x86_64 board
•
Cyclone V Development Kit
1
21 オープンソースカンファレンス2018 Tokyo/Fall
CIP SLTSカーネル開発 (次期SLTSカーネル)
Mainline
Stable (linux-stable)
4.4
CIP SLTS (linux-4.4.y-cip)
次期CIP SLTS ( based on LTS )
機能バックポート
バックポート
された
パッチ
CI
Pメ
ン
テ
ナ
ー
が
管理
約2-3年
バックポート終了
セキュリティフィックに注力
Stable (linux-stable-x.y)
次期CIP SLTSカーネル
1
LTSから選択
CI
Pメ
ン
テ
ナ
ー
が
管理
オープンソースカンファレンス2018 Tokyo/Fall
Real-time Linux開発 (PREEMPT_RT)
23
•
アップストリームプロジェクト
•
Real-time Linuxプロジェクト
•
アップストリームとの連携
•
PREEMPT_RTメインラインへの貢献
•
Real-time Linuxプロジェクトにゴール
ドメンバで参加
•
RT stableメンテナンス
•
Daniel Wagner (CIPメンバ) が
4.4.y-stable-rtをメンテナンス
•
CIP 4.4-rt-cipのカーネルベースは
4.4.y-stable-rt
•
CI-RT上でテスト結果参照可能
•
https://ci-rt.linutronix.de/RT-Test/
RT patchのメインライン化
1
CIP SLTS
RTカーネル
3
ファンド
1
Mainline / LTS
Stableカーネル
RT patch
Stable-rt
メンター /
メンテナー
CIPカーネルチーム
メンテナー・開発者
として参加
1
2
2
2
1
Up-streaming
2
使用
3
統合
CIPテスト
•
アップストリームプロジェクト
•
テスト環境としてLAVA2とKernelCIを使用
•
CIPメンバ貢献
•
Fuego
•
アップストリームとの連携
•
KernelCIとLAVA2を使い作成したB@Dで
テスト
•
CIPテスト結果を公開
•
https://lists.cip-
project.org/pipermail/cip-testing-results/
•
作成した機能をパッチとしてポスト
•
テスト結果をFuegoからKernelCIに送付
•
FuegoでのLAVAサポート
•
What’s next?
•
KernelCIとのより密な連携
Board@Desk
3
CIPテストプロジェクト
KernelCI
KernelCI LAVA2
コントリビュータ
として参加
1
2
LAVA2
1
ポスト
KernelCI
3
1
検討中
1
Up-streaming
2
使用
3
統合
オープンソースカンファレンス2018 Tokyo/Fall
CIPテスト
25CIP テストプロジェクト
(
https://wiki.linuxfoundation.org/civilinfrastructureplatform/ciptesting
)
•
B@D の狙い
•
カーネルとベースシステムをローカルにテスト
•
開発マシンにHWを接続
•
B@D 機能
•
kernelci.orgがベース
•
ホストOSとしてLinux と Windows 10サポート
•
VM / Vagrant ベース環境として提供
•
テスト結果とログの共有
•
関連ソースコード
•
https://gitlab.com/cip-project/cip-testing/board-at-desk-single-dev/tree/master
3
CIP Core
•
アップストリームプロジェクト
•
Debian
•
Debian-LTS
•
Debian-Cross
•
Deby / ISAR / ELBE / Yocto
•
CIP Coreのプロファイル
•
Tiny (Bitbake + Debian ソースコード)
•
Debian (
Debian バイナリ (dpkg)
)
•
アップストリームとの連携
•
Debian-LTS へのファンド
•
Debian-crossへのパッチ貢献
•
CIP CoreはYoctoとDebyを使用
•
DebyはPokyでDebianソースコードを
使用
CIP Core3
CIP Coreプロジェクト
Tiny profile Debian profileDebian-LTS
へのファンド
1
Debian-crossクロスコンパイル
パッチの貢献
1
Deby as meta-debian Debianpackages sourcesDebian
Debian
貢献
1
2
2
ISAR ELBE ビルドツール4
meta-*
1
Up-streaming
2
使用
3
統合
オープンソースカンファレンス2018 Tokyo/Fall
CIP Core (Tiny profileの例)
27
CIPベースレイヤーの最小パッケージ例
4
• Flex • Bison • autoconf • automake • bc • bison • Bzip2 • Curl • Db • Dbus • Expat • Flex • gawk • Gdb CIP Core PackagesCIP
Kernel
Dev packages• Kernel
• Linux kernel + backported patches
• PREEMPT_RT patch
• Bootloader
• U-boot
• Shells / Utilities
• Busybox
• Base libraries
• Glibc
• Tool Chain
• Binutils
• GCC
• Security
• OpenSSL
• Git • Glib • Gmp • Gzip • gettext • Kbd • Libibverbs • Libtool • Libxml2 • Mpclib • Mpfr4 • Ncurses • Make • M4 • pax-utils • Pciutils • Perl • pkg-config • Popt • Procps • Quilt • Readline • sysfsutils • Tar • Unifdef • Zlib Reproducible build対象パッケージ 現状のコンポーネントセット注意:パッケージごとにメンテナンス作業に差分あり
CIP Core (DebianとCIPの連携)
4
Debian
Support
▪
期間:3 + 2年(Debian-LTS)
▪
ソースpkg数:25000超
(67776 バイナリpkg)
Build
▪
ネイティブbuild提供必須
▪
クロスbuildパッケージ作業中
(Debian-cross)
▪
Reproducible build
OSS license compliance
▪
DEP-5適用作業中
Testing
▪
パッケージテスト必須
▪
autopkgtest
▪
限定されたパッケージに対する更なる長期
メンテナンス
(CIPはDebian-LTSに参画)
▪
Debian-crossへの貢献
(Debian-crossへのRFC提出)
▪
ライセンスレビュー結果の交換・共有
▪
アップストリームへのテストケースの貢献
Debianとの連携可能性
Support
▪
期間:10+ 年
▪
pkg数:10+ (最小)
Build
▪
ネイティブbuild、クロスbuild両方
必要
▪
バイナリ/ソースコード管理、
reproducible要件
OSS license compliance
▪
レポートの自動生成
▪
容易な再配布
Testing
▪
全パッケージのタイムリーなテスト
オープンソースカンファレンス2018 Tokyo/Fall 29 *: 現在検討中であり、表示のみを目的としています。今後変更になる可能性があります。
Component
S/W Application (sample) User applicationGuideline and evidence
Document
Implement for security Evaluation evidence Security requirement Application note Implements guideline User manual Design document Evaluation document User manual Design document Evaluation document H/W User equipment
Certified platform
(e.g. Reference board)board
Linux Kernel (CIP) Middleware (e.g. Device driver)
CIP deliverables*
Compliant environment for evaluation
Test cases Equipment for
evaluation (TBD.)
Security working group
5
Reference implementations•
サイバーセキュリティに注力
する新たなWGをCIP内で
立ち上げ
•
目標
•
サイバーセキュリティ標準要件
(IEC 62443)を満たすため
に開発者を支援するガイドライン
とレファレンス実装を提供
•
ステータス
•
開始
Software update working group
SWUpdate /
Suricata
https://github.com/sbabic/swupdate https://www.eclipse.org/hawkbit/
Eclipse IoT hawkBit
SWUpdate
6
•
ソフト更新に注力する新たなWGを
CIP内で立ち上げ
•
目標
•
CIP coreにソフト更新の共通ソリューション
を追加
•
ステータス
•
開始
オープンソースカンファレンス2018 Tokyo/Fall
連携:EdgeX Foundry on CIP Core
31
•
EdgeX FoundryにAssociate Memberとして
参加
•
EdgeX Foundry on CIP Core
•
目的
•
IoTシステムに向けたベースシステムをCIP Coreで
構築できることを実証
•
ゴール
•
CIP Core上でEdgeX Foundryを動作させるた
めのサンプル実装を開発
•
PoC (Proof of concept) プロジェクト
•
ステータス
•
ソースコードはCIP GitLabで入手可能
https://gitlab.com/cip-playground/edgex-cip
CIP Core
Docker container
EdgeX Foundry
Sample application
Hardware
連携:Reproducible Builds
Reproducible
CIP Core
3
CIP Coreプロジェクト
Tiny profile
Debian profile
Reproducible Builds
へのファンド
1
Debianpackages sourcesDebian
2
•
Reproducible Buildsの
スポンサー
•
連携計画(目的)
•
reproducible buildをCIP
Coreのライフタイムに亘る保証
1
Up-streaming
2
使用
3
統合
オープンソースカンファレンス2018 Tokyo/Fall
この章のサマリ
33•
CIPの現在の注力領域:
•
Kernel 開発/メンテナンス: real-timeサポートを含むLinuxカーネル開発と
超長期サポート
•
テスト: テストフレームワーク提供、テスト作業推進
•
CIP Coreパッケージ: 必須ビルドチェーンを含む超長期サポートに必要な産業
グレードコンポーネントのセット
•
Security: セキュリティ機能強化とサイバーセキュリティ標準への準拠
•
連携: Linux stable, Debian/Debian-LTS, Real Time Linux,
Reproducible Builds, EdgeX Foundry
オープンソースカンファレンス2018 Tokyo/Fall
全体のまとめ
35•
社会インフラには産業グレードのオープンソースベースレイヤが必要
•
CIPはLinuxで対応
•
サステイナビリティを以下で担保:
•
大手産業系ベンダー、大手半導体ベンダー、Linuxベンダーの参加
•
成熟したオープンソースプロジェクト (Debian, PREEMPT_RT, KernelCI, …)
との密な連携と活用
•
適切なツールチェーンの提供
•
テストの励行
サイバートラストのCIPへの取り組み
•
CIPカーネルメンテナーとして、SLTSカーネル
のメンテナンスに貢献
•
顧客・パートナー、あるいは各種商業イベン
トでCIPを宣伝
•
新しいCIPメンバーの勧誘
•
CIPベースの組込み領域向けDistroを計画
https://www.cip-project.org/blog/2018/08/20/cip-member-spotlight-cybertrust https://www.miraclelinux.com/product-service/total-embedded/r-and-d/cip-member-spotlightCIPスポットライト
37
CIPをカバーするWeb記事
•
CIP – Keeping the Lights on with Linux – Linux.com, June 27
•
Opening Up New Ways to Build and Secure Civil Infrastructure – Transforming
Networking Infrastructure, June 20
•
Cybertrust Joins the CIP Project As Ecosystem for Large Scale Critical Infrastructure
Initiatives Grows – IoT Evolution World, June 20
•
Civil Infrastructure Platform wants Linux to save Civilization
- Linux.com, March 28
•
ELC Presentations - Hacker News, March 22
•
Super long-term kernel support
- LWN.net, March 19
Linux Foundationから入手(2018.7.17)
CIP Blog: Key Learnings
at OSS Japan
CIP活動に参加するには?
最新情報は以下から入手可能
•
CIP Mailing list:
cip-dev@lists.cip-project.org
他のリソース
•
CIP Web site:
https://www.cip-project.org
•
CIP Blog:
https://www.cip-project.org/blog
•
CIPをカバーする記事:
https://www.cip-project.org/news/in-the-news
•
CIP Wiki:
https://wiki.linuxfoundation.org/civilinfrastructureplatform/
•
CIP White Paper:
https://wiki.linuxfoundation.org/_media/civilinfrastructureplatform/white
paper_short.pdf
CIPソースコード
•
CIP GitLab:
http://www.gitlab.com/cip-project
•
CIP kernel:
https://git.kernel.org/pub/scm/linux/kernel/git/cip/linux-cip.git/
信頼とともに
ソフトバンク・テクノロジー グループ
ソフトバンク・テクノロジー エムソリューションズ フォントワークス 環 サイバートラスト アソラテック リデン モードツー