二日目のレポートです。雨模様でした。
11/19 10:00〜11:30
TSI4 つながるIoTシステムのセキュリティ確保に向けて 重要生活機器連携セキュリティ協議会 伊藤 公祐さん
セキュリティのお話で、なかなかまとまった話をweb上で見つけられないのでいい機会でした。
内容:
- クラッカーの視点から (事例紹介)
- IoT標準か動向
- セキュリティ対策のポイント -> 開発プロセスの検討
事例紹介
Jeepのcase
- wifiがインターネットにつながっていて、外から入れる。
VPNの脆弱性(電話会社のサービス)
クラッカーとしては、内部のファームウエアを書き換える際に、「動くファーム」を作ることが大変だった。経路確保や書き換えそのものはおおきな作業ではない。
プラントのセンサネットからメインのネットへの侵入
通常(インターネットからイントラへ)と逆向きの侵入。
センサネットの脆弱性を狙った。ライフルの照準機へのクラッキング
対象物の危険性とリスクを考慮した「重要度」の位置づけ教訓:
設計でセキュリティを作り込む。製品を取り巻く環境まで含めて「製品の一部」として考えてセキュリティの確保をいかにするか。
デバグのためのハードウエアのポート(GPIO)でさえも、バックドアになる可能性。ハードウエアはリバースエンジニアリングされる前提で設計する。
クラッキングの最短ルートは「ファームウエアの書き換え」
クラッカーの視点
- ターゲット: 高価値なものの自由を奪いたい
- そのシステムがどう動いているのか理解するため分解、解析をする
- コントロールを奪う糸口を探す
- できるだけ汎用のインターフェイスを使ってローコストに作業する
インターネットにつながっている機器の口を見つけるサイト:
SHODAN
標準化
- oneM2M 接続レベルの標準化
- ITU-T JCA-IoT IoTの標準化を見守るような立場
- SAE 自動車の中で使われる標準化のなかでIoTの検討
- ETSI 自動車向け標準化組織
C2C 自動車同士の接続 TAL(Trust Assurance Level)というのを定義していて、「お互いどれだけ信頼できるのか」ということを知らせ合い、情報の優先度選択ができるようになっている
TALのような考え方は車だけでなくIoT全般に必要となる。
セキュリティとセーフティの両立:同じアナロジーで考えてみる
- IEC61508-1 プラント・工場の安全性
EN50126-5(draft) 鉄道の安全性
日本の状況
- NISC 2015 セキュリティ方針
IPA ガイドライン
セーフティオリエンテッドデザインとともにセキュリティオリエンテッドな考え方も入れるべき。ISO27001, IEC61508
ただ、IoTにはヘビーな面も。。。。セキュリティコストと製品の価格のバランスが必要(でも、最低限は)
IoTセキュリティ対策
脆弱性はどこにあるか
JVN iPediaに一般的なクラッキングターゲットとなる脆弱性が書かれている。ここから検討していく設計プロセスでの対応
- セキュリティ要件(どの程度)
- セキュリティのアーキテクチャ(どうやって)
- コーディングの工夫(リバースされにくいコーディング)
- テスト(テスト、ファジング)
従来行程から加えるべきもの
- セキュリティ要件、定義
- セキュリティ設計
- verification
- validation
具体的な検討方法 -> CVSS
- 含まれる欠陥、脆弱性の定義
あり得る可能性をリストアップ(脅威分析)
フォルトツリー解析と同様な手法 脆弱性と可能性の積で定量的な「脅威」をはかるIoTに特有なものがあり脆弱なポイントは多い
- 物理的なものへの影響度がある
- 自動的に動作するものについての深刻度・重要度評価
- 「きちんと動作する」というのはどういうことか。正常と異常の定義
複雑さに対する考慮(多数の機器がつながっている場合)
最適な対策を最適な部分にデプロイすることが大切。むやみにやっても危険は減らない。
何が脅威でどうやってリジェクトするのか。- 構成要素がすべて自分の製品の一部と考えること。他人任せにしない
- ファームウエアアップデート手法の最適化
- リバースしにくいハードウエア
- 広い視野で危機を検討
- 他人からみてもらう
感想:
セキュリティというとネットワークの話で、「SSLがどうした」とか言うことかと思ったらもっと全体的な話をしてくれたので、面白かった。
特にジープのインシデントはいかに最近のクラッキングが高度になっているかということがよくわかった(リバースエンジニアリングでファームウエアを作るってすごい)。
またセキュリティを安全性と同様なスキームで考えるとわかりやすい、という点は「なるほど」という感じ。具体的な脅威についての考察はひつようだけれど全体を見渡す大切さを教えてもらった。
2015/11/19 12:00〜13:00
Big Dataのボトルネック 矢野さん 日立製作所技師長
話はAIの宣伝で、タイトルとは全く関係ない感じでしたが、これもまとまった話を聞く機会がないので面白く聞かせていただきました。
パラダイムのシフト
- 旧:ソフトに従ってコンピュータが処理する
- 今:ビッグデータをもとにAIが処理する
AIとは(定義)
- 目的、入出力は人間が決める(どんなデータを入れて何をして何を最適化するのか、の指示)
- 問題に対するロジックを与えない
- 既存システムに追加することができる(システムを変更しない)
ブランコを漕ぐロボットの例->5分ぐらいで最適な漕ぎ方を学習
=>企業戦略に応用できないか
人間の行動も含めてシステムとして入力して、AIが最適化する(工場の例)
アナロジーとしては「ソフトを作るソフト」
###感想:
AIの宣伝だったけど、日立がやっているあたりちょっと怖い感じもする。
本当に企業戦略立案に入れたらその企業は間違いなく「ブラック」になるとおもう。試行錯誤の中では到底人間には受け入れられない仕事が出てくるはず。ま、そこら辺も含めて評価関数に入れてしまえばいいのだけれどね。
あと、気になったのが、人間の作ったシステム、特に金融系やソーシャルなものに対して応用すると、何かのきっかけで系が相変化してしまって応答特性が全くかわってしまった場合、収束が難しくなるような気がする。試行錯誤のTATが十分短ければいいけれど、人間系のシステムはたいてい時定数が長いので答えを収束させている間に系が変化するというのはあり得る話。
結局「十分長い時間でみれば”知能”だけど、人間的時定数からすると”試行錯誤”マシン」というところか。人間の「知恵」というのは、「即決」できるところだと思うけどね。
2015/11/19 14:00〜14:45
IoTを現実のものにするプログラマブル デバイス技術動向 吉澤さん cypress semiconductor
デバイス動向の話。
デバイスの数量的成長は落ちているが、新しいものはどんどん出てきている。特にリーンスタートのためのプログラムブルデバイスとARMベースのプロセッサ。
cypressでのサポート
- spansionとの合併によりFlashメモリ、元富士通のMPU,アナログ系のIPの取り込み
- デジタルではプログラマブルでバイスとプロセッサの融合が進んでいるが、cypressではマイクロプロセッサとコンフィギュアラブルなアナログ回路を融合している
PSocシリーズの紹介
新しく出るもの
- 1pAレベルのノイズの電流アンプ(トランスコンダクタンスアンプ)が入ったデバイス。
- PSoC 7:工業用ARM-M7内蔵
- PSoC 6:コンシューマー用ARM-M4,M0+ 内蔵
- 汎用インターフェイス内蔵:USB,USART,Ethernet,CANなど
- アナログインターフェイス回路
新しく出たもの
- PsoC4 BLE: Lowpower版 メモリを256kBに拡張
感想:
どうもCypressのデバイスは型番が整理されていない印象があって、わかりづらい。
今回もこのプレゼンの後にwebでしらべてみたけれど、型番とシリーズの関連が読みづらい(なれればわかるのかもしれないけど)。
ちょっと面白そうだけど、そこら辺にいまいち感があるものは、ツールや設定方法もいまいち感がある場合が多いので二の足を踏んでいる感じ。
(昔評価キットを買いましたが、使ってません)
2015/11/19 15:00〜15:45
ARM 搭載 SoC FPGA、最新情報と実装例 小山 さん、吉田さん Altera
アルテラのFPGAの技術動向
微細プロセスへの対応
- 現状最先端は10nmプロセス(インテルのファブで製作)
- 製品としては14nm(FPGA)
- 一般的なASSP(ASIC)では65nmなのでだいぶアドバンテージがある
次世代FPGA(Altera Common Architecture)
- Cedar : Cyclone の次世代版 14nmで64bitコアを2コア
- Oak : Arriaの次世代版 14nmでA53を4コア
- Sequoia : Stratixの次世代版 10nm CPU未定
事例:
- 自動運転 Cyclone V
- PLC(工業用シーケンサ)
- 3Dスキャナ
ツール:
- Quartus Prime (IIの次世代版)= SpectraQエンジンを搭載
- OpenCL プロセッサ+周辺回路の設計時のソリューション
- ロジックのみときはHLS
OpenCL
- (ここら辺間違いを書くといけないので、こちら参照)
私の受け取ったところを書くと、
- OpenCLで並列処理システムとして、ARMプロセッサとロジック回路の構造を記述しPC上でシミュレーション、デバッグをしてからFPGAにでプロイする。
- HDLでコードをかかなくとも(真偽のほどは?)OpenCLの記述で回路も構成できる。
- 回路だけ書きたいなら”HLS” (VHDLとかの新しいバージョン?調べてみたらsystemCとかに近い立ち位置なのかしら?)
説明の中でも、「FPGAだけがターゲットであればC/C++で記述してデバグしたものをHLSに落としてさらにHDLに」というようなことを言っていたような気がする。
画像処理の例:
「視的感覚から状況を判断して動作するオブジェクト」を作ることをターゲットとした。
従来、機能フローに対して最適なデバイス(FPGAやCPU)を使っていたが、SoCではすべてが1chipに入っている。
前処理に近いところをFPGA, 後処理をプロセッサ
アプリケーション:
- 自動運転支援システム
- 街灯のインテリジェント化(カメラ、センサ)
- deep learning
OpenCLでのデザイン例をダウンロード可能。
感想:
Intelと一緒になってどうなるかと思っていましたが、最先端プロセスを手に入れて一歩先をいく感じでしょうか。10nmはすんごい速いんだろうなあ。
Intelとしても、ファシリティの減価償却をシェアできるというのはちょっと楽になるですね。
気になるのは最先端プロセスの値段です。1個10万円とかになっちゃう感じですかね。
2015/11/19 16:00〜16:45
簡単に始められるアルテラ MAX 10 FPGA開発 福原 さん Altera
Max10は10世代目製品のうちの一つ
- MAX10 55nm Flashメモリのプロセスを利用(不揮発)
- Arria10 20nm TSMCのプロセス
- Stratix10 14nm Intelのプロセス
MAX10の特徴として
- コンフィグメモリ2つ(切り替えて使える) 10ms程度でコンフィグできる
- DSPブロック、RAM、DDRコントローラ、オンチップオシレータ、電源内蔵
- NIOSII実装可能
Enpirionという電源チップも用意 電源シーケンスを自動で管理
NIOSIIは遅い動作でよければ600〜700LE、速いものでも1000LE〜1500LE程度で実装できる
開発ソフト
- Quartus Primeを使う。
- Qsys : IPの接続をウイザード形式でやってくれる(実際に配線する必要なし)
- 最初にプロジェクトを作るときは、テンプレートから作成することをおすすめ -> Desgin Store
- NiOSIIのコンパイラはEclips環境
キット
- 10M08版(8000LE) で $50ぐらい
トラ技3月ごろキット本を出版予定
感想:
MAX10も使ってみたいと思います。でも利用するアプリケーションがない。
現在の開発環境をアップデートする必要あり。また設定し直すのが面倒くさい。。。。
キット購入しましょう。(以前マクニカのIoT用のキットを買ったけれど、使い方がいまいちわからず放置中)