...

組み込みシステムにおける セキュリティ対策技術 および研究動向

by user

on
Category: Documents
17

views

Report

Comments

Transcript

組み込みシステムにおける セキュリティ対策技術 および研究動向
組み込みシステムにおける
セキュリティ対策技術
および研究動向
(独)産業技術総合研究所
セキュアシステム研究部門
制御システムセキュリティ研究グループ長
古原 和邦 (こばら かずくに)
製品設計講座:古原
ICSインシデント/脆弱性報告件数
ICS-CERT “Year in Review” より
ICS: Industrial Control System
製品設計講座:古原
2
背景
• 攻撃者の興味がPCから非PCへ拡大
– 産業用制御システム、自動車、医療機器
• 理由:
– 実社会との接点 => インパクトの大きさ
– 対策が十分でない場合が多い
– 仕組みやアルゴリズムが暴かれ参入が
容易に
• 興味本位から実利へ
– 金銭、サイバースパイ、恐喝、サイバー
テロ
製品設計講座:古原
3
対象システムの探索
http://shodanio.wordpress.com/2014/02/18/introducing製品設計講座:古原
shodan-maps/
4
製品設計講座:古原
4
組込システム周りに存在する潜在リスク
設定/操作系
• 認証方式の甘さ(デフォルトパスワード、パスワードリ
セット、短すぎるパスワードなど)による侵入と不正操作
組込システム
•
•
•
•
•
•
通信路
組込システム
盗聴
改ざん
リプレイ
なりすまし 本体(開発/実行/運用時)
中間侵入 • セキュリティホール
• 侵襲型/非侵襲型攻撃
DoS
– サイドチャネル攻撃
• 複製/模倣品
ファームウェア/起動・設定ファイル
• 内容の解析による脆弱性の発見、ファームウェア中に記述されて
いる鍵やパスワード情報などの漏えい
• 改ざんによる不正な挙動の仕込み(トロイの木馬)
製品設計講座:古原
5
潜在リスク 開発/実行/運用時
への対応策 設定/操作系
• 利用者認証/鍵共有強化
• パスワード/鍵管理
•
•
•
•
•
セキュアコーディング
コンパイラーによる対策
コード解析/自動生成
ファジング
実行環境による対策
• ESP, ASLRなど
• 侵入検知/防御
通信路
• 暗号化
• 改ざん/再送検出
• 相手認証/鍵共有
本体
• 耐タンパー性
ファームウェア/起動・設定ファイル
• サイドチャネル攻撃対策
• 暗号化
• 耐クローン性
• 改ざん検出/生成者認証
• PUF
• MAC/デジタル署名の付与
MAC: Message Authentication Code
PUF: Physically Unclonable Function
製品設計講座:古原
ESP: Executable Space Protection
ASLR: Address Space Layout
Randomization
6
情報セキュリティ対策の難しい点
• とにかくセキュアにすること自体はそれほど
難しくない。
• 必要最低限の対策群の特定
– コスト、使い勝手、性能、互換性、利用環境、
運用体制、ライフサイクルなどを考慮しながら
最適なものを
• 進化する攻撃の予想と対応
– 対策を取るとそれを迂回する攻撃が出てくる
• 将来予想される攻撃の変化も考慮に入れる必要が
ある。
• リスクアセスメント/リスクコントロール
製品設計講座:古原
7
リスクへの対処方法:リスクコントロール
• 予防策を講じる
v
予防策
– 発生確率と影響を抑える(損失予防・抑止)
• 事後の対応策を準備する
– 不測事態対応計画(Contingency Plan)
– 検知、損失軽減、回復
• リスク保有
v
事後
対応
– リスクファイナンス(損失にそなえる資金)
• リスク移転
– 保険、アウトソーシングなど
• リスク回避
– リスクの生じる可能性のあるサービスは行わない
– 関連する情報資産を保有しない
製品設計講座:古原
8
一般的なリスクアセスメント
• (情報資産を含む)資産の洗い出し
• 優先的に管理・保護すべき資産と
そのランクの決定
• 機密性・完全性・可用性の評価
• 脅威と脆弱性の特定
• 資産リスクの評価
• リスク管理方針の決定
• リスク管理策の決定
製品設計講座:古原
視覚的
に検討
9
脅威の進展と対策の視覚化
線の太さで起こしやすさ/頻度を表現
v アクティブチェックリストとし
濃さで重篤度を表現
て利用
v
v
予防策
軽微な脅威
予防策
脅威の初
期段階(兆
候、原因)
中程度の脅
威
脅威の
中段階
v
事後
対応
重篤な脅威
v
v
製品設計講座:古原
事後
対応
v
予防策
監視
10
通常のチェックリスト vs.
アクティブチェックリスト
通常の
チェックリスト
アクティブ
チェックリスト
目的
全ての項目が満た 満たされない場合の
されていることの確 影響の特定と代替案
認
の検討
項目
基本的に全て満た
されるべき
よく分からない
チェックを付
けられない
場合の影響
製品設計講座:古原
満たされない項目が
あってもよい
明確
11
検討すべき項目
• 脅威と対策の全体像
業界で協調しな
がら抜けのない
ものを作成
• 対策方針
– 各対策導入の是非
– 最適な対策の組み合わせ
– 残留リスクを許容できるか
製品設計講座:古原
各社の状況
に応じ最適
なものを
12
一般的な組み込みシステムの
情報セキュリティリスクとその対策例
v
耐タン
パー性
v
v
生成者
認証
侵襲型/非
侵襲型攻撃
耐クロー
ン性
製品設計講座:古原
通信路の盗
聴/改ざん
暗号鍵
特定
パスワード
の推測
/特定
v
情報漏え
い
機能改変
ファームウェ
アの改ざん/
解析
生体認証の
迂回
暗号化・改ざん
検出・再送検出
乗っ取り/
権限昇格
なりすまし
セキュリティ
ホール
v
相手認証/
鍵共有
v
開発/実行
時の対策
不正操作
DoS
v
事後
対応
機能停止
海賊版/模倣品
13
盗聴と改ざんへの対応:
暗号化と改ざん検出
通信路
• 暗号化
• 改ざん/再送検出
• 相手認証/鍵共有
ファームウェア/起動・設定ファイル
• 暗号化
• 改ざん検出/生成者認証
• MAC/デジタル署名の付与
製品設計講座:古原
14
暗号技術
• 暗号化
– 共通鍵暗号、公開鍵暗号
• 改ざん検出
– MAC、デジタル署名
• 生成者認証
– デジタル署名
• 相手認証/鍵共有
– AugPAKE [RFC6628]
– LR-AKE
• 鍵管理
15
暗号技術の比較
共通鍵暗号、MAC
処理速度
速い
公開鍵暗号、デジタル
署名
遅い (100~1,000倍
程度)
比較的容易
鍵共有/鍵 大変
• 配布時の盗聴
管理
• 公開鍵や署名検証
鍵は見られてもよい
• 相手からの鍵漏洩
• 数
MAC: Message Authentication Code
製品設計講座:古原
16
最も単純な構成:マスター鍵方式
(全てのデバイスに共通の鍵を入れる)
欠点: 一箇所から鍵が漏えいするとシステム全体のセキュリ
ティが破綻する。
製品設計講座:古原
17
アプリ用鍵と鍵更新用鍵の分離
各種アプリや通信
用の暗号鍵/MAC
鍵/署名鍵など
デバイス毎に個別:
アプリ鍵や通信鍵の
更新用に利用
製品設計講座:古原
各種アプリ/
通信用鍵
モジュール
鍵更新用鍵
18
本体での対応
本体
• 耐タンパー性
• サイドチャネル攻撃対策
• 耐クローン性
• PUF
製品設計講座:古原
19
侵襲型/非侵襲型攻撃対策
耐タンパー性
• モジュール内から鍵などの重要な情報を取り出
すことが困難な性質
– 漏えい電磁波、消費電力などのサイドチャネル情
報を使った攻撃への耐性 各種アプリ/
通信用鍵
モジュール
鍵更新用鍵
攻撃者
製品設計講座:古原
20
サイドチャネル攻撃
(消費電力/漏えい電磁波解析)
1. 入力データ
3. 消費電力や漏えい電磁波が鍵に依存
2
1
100
200
300
400
2. 鍵と入力に
依存した処理
500
1
2
3
4. 大量の波形を解析することで鍵に関する情報を得られる。
5. 得られやすさは実装方法、対策の有無の他、環境などにも依存。
6. 対策の効果を比較検討可能な共通の環境が必要。
製品設計講座:古原
21
産総研での研究:鍵の保護レベル
評価ボード(対消費電力解析用)
FPGA低消費
電力環境版
SASEBO-GIII
(28-nm Kintex-7 FPGA)
SASEBO-R/-G/-B/-GII
(discontinued)
スマートカード
I/O対応FPGA
LSI、スマートカード評価用
SASEBO-W for smartcards,
and daughter board for LSIs.
製品設計講座:古原
MiMICC (Miniture
Measurement IC
Card)
FPGA
廉価版
ZUIHO experimental board
for education and training.
(90-nm Spartan-3A FPGA)
22
産総研での研究:
漏えい電磁波解析耐性計測環境
オシロスコープ
プローブ
LPF
Kintex-7 without
heat spreader is
mounted.
製品設計講座:古原
50dB
amplifier
23
産総研での研究:
PUFを用いたコピー困難な識別子
コピー/模倣された電子回路
本物の電子回路
5. 回路はコピーで
きても物理的な特
性の違いにより同
じ response を生
成できない。
3. 不正コピー/模倣
2. 本物
Response:
0100111001
Challenge:
0101110011
4. 偽物
Response:
0100111001
Response:
1100001111
1. テスト時まで非公開かつ使い捨て
(鍵を生成し使い回すことも可能)
PUF: Physically Unclonable Function
製品設計講座:古原
24
PUFを応用した漏洩やサイドチャネル攻撃に
強い鍵共有方式
• 毎回(攻撃者が指定できない)異なる鍵を共有させ
ることにより、漏えいやサイドチャネル対策を安価
に実現可能
PUF : Physical
Unclonable Function
PUF
2. 攻撃者が意図的に
同じ鍵を再生させるこ
とは困難
PUF
1. 正規のモジュール間では(毎回異なる)共通の鍵が共有される
製品設計講座:古原
25
分野別M2M市場規模予測
「M2M市場は2018年に1兆円超え、B2CのECは20兆円に 野村総研がICT市場の予測データを公開」
http://it.impressbm.co.jp/articles/-/10749 2013.11
26
ハードウェアセキュリティの予想
市場規模
金融・決済系
エネルギー、
セキュリティ、
自動車、医療
など
未対策
なデバイス
現在
低コスト/
低セキュア
用途:真贋判定、
鍵生成/共有
将来
27
開発/実行時での対応
本体(開発/実行/運用時)
• セキュリティホール
製品設計講座:古原
バッファオーバーフロー
の基本原理
A[1]
B[0]
正しいリターンアドレス
製品設計講座:古原
A[0]
1. Aに大きなサイズ
のデータを書き込む
A[0]
A[1]
攻撃コード
攻撃コードのアドレス
2. 関数から戻る際に攻撃
コードにジャンプする。
スタック領域
29
ESP: Executable Space
Protectionの原理
スタック領域
A[1]
B[0]
正しいリターンアドレス
製品設計講座:古原
A[0]
1. Aに大きなサイズ
のデータを書き込む
A[0]
A[1]
攻撃コード
攻撃コードのアドレス
2. 関数から戻る際に攻撃
コードにジャンプする。
書き込み可能領域の
コードは実行させない
30
ESPを回避する攻撃
ESPにより書き込み可能領域
のコードは実行されない
 Return-to-libc
 Return Oriented Programming
1. Aに大きなサイズ
のデータを書き込む
A[0]
A[1]
適当なデータ
実行可能なプログラム
2. 関数から戻る際に実
行可能なプログラムの
アドレスにジャンプ
攻撃コードのアドレス
製品設計講座:古原
31
データ配置のランダム化
ASLR: Address Space
Layout Randomization
実行環境が書き込める
領域のコード実行を防止
実行可能なプログラム
1. Aに大きなサイズ
のデータを書き込む
A[0]
A[1]
3. アドレスが異なり、実
行失敗
適当なデータ
攻撃コードのアドレス
製品設計講座:古原
2. 関数から戻る際に実
行可能なプログラムの
アドレスにジャンプ
32
スタック領域
A[1]
B[0]
改ざん検出子
正しいリターンアドレス
製品設計講座:古原
A[0]
1. Aに大きなサイズ
のデータを書き込む
A[0]
A[1]
攻撃コード
検出子も改ざんされる
2. 関数から戻る際に検出子が
改ざんされていないことを確認
コンパイラーによる対応:
リターンアドレス破壊検出
攻撃コードのアドレス
33
開発/運用時の対策
開発者側による対策
(ソースコードを入手で
きる場合)
v
ESP: Executable Space Protection
利用者側に ROP: Return-Oriented
よる対策
Programming
ASLR: Address Space Layout
Randomization
v
コンパイラーによる対応
ASLR
バッファオー
バーフロー
通信、ファイ
ルの読み込
ませなど
攻撃
製品設計講座:古原
Return-tolibc, ROP
v
ソースコード
の解析修正/
セキュアコー
ディング/
コード自動
生成
攻撃
コードの
挿入
挿入した
攻撃コー
ドの実行
v
v
乗っ取り
成功
ESP
バイナリ解析/
ファジング
34
ファジングテスト
製品設計講座:古原
35
設定/操作系への対応
設定/操作系
• 認証方式の甘さ(デフォルトパスワー
ド、パスワードリセット、短すぎるパス
ワードなど)による侵入と不正操作
製品設計講座:古原
36
認証迂回手段の例
• 例1)
• 例2)
XXXX Controller
ID:
Password:
Challenge: 852048145
– 一定回数パスワードを
間違えると、
• 正規の利用者がパスワ
ードを忘れてしまったと判
断して!?
– パスワードを上書きでき
るようになる。
この値のハッシュ値が管理者パス
ワードとなっている(ID不要)
パスワードを忘れても困らないように
マニュアルで迂回方法が説明してある場合もある。
製品設計講座:古原
37
生体認証の迂回(1/2)
• 某スマホの指紋認証の迂回
http://gigazine.net/news/20130924-how-to-hack-iphone-5s-touchid/
製品設計講座:古原
38
生体認証の迂回(2/2)
• 産総研での研究
– ウルフパターンおよび生体認証技術の評価
ウルフパターンの例
製品設計講座:古原
39
複数のデバイスを管理する場合
1. 各機器には長い個別
のパスワードを設定
2. 各機器に設定
した長いパスワー
ドを
に
分散保存
管理者A
の短い
パスワード
管理者B
の短い
パスワード
: 利用者には短いパスワードを許可しな
がら、サーバー、クライアントいずれからの漏えいに
も耐性を持たせたAIST発の相互認証/鍵管理基盤
製品設計講座:古原
40
まとめ
• 組込システム周りに存在する一般的な情報セキュリティリスク
–
–
–
–
–
ファームウェア/起動・設定ファイルなどの解析、改ざん
設定/操作系における認証方式(多くの場合パスワード認証)の甘さ
通信路の盗聴、改ざん、なりすまし、リプレイ、中間侵入、DoS
本体からの鍵漏えい、部品などの複製
開発/運用時のセキュリティホール
• 対策
– 暗号化、改ざん検出、ユーザ認証、機器認証
– 耐タンパー性、サイドチャネル解析耐性評価
– 耐クローン性、物理複製困難関数(PUF: Physically Uncloanable
Function)
– バッファオーバーフロー対策、ファジングテスト
• リスクアセスメント/リスクコントロール
– アクティブチェックリスト
製品設計講座:古原
41
Fly UP