2014年度 計算機科学概論・第14回 技術者倫理篇

24
計算機科学概論・講義資料 脇田 建 大学院情報理工学研究科数理・計算科学専攻 7 17 1 / 24

description

2014年度 計算機科学概論 第14回 技術者倫理篇 脇田建担当

Transcript of 2014年度 計算機科学概論・第14回 技術者倫理篇

Page 1: 2014年度 計算機科学概論・第14回 技術者倫理篇

計算機科学概論・講義資料

脇田 建

大学院情報理工学研究科数理・計算科学専攻

7月 17日

1 / 24

Page 2: 2014年度 計算機科学概論・第14回 技術者倫理篇

目次

社会的 IT基盤の事故IT基盤の深刻な事故閑話休題:最も高くついて1バイトの間違い国際的セキュリティ認証レベル:ISO/IEC 15408の EAL

形式的手法数学の定理の形式的な証明ソフトウェアの形式的検証の試み

2 / 24

Page 3: 2014年度 計算機科学概論・第14回 技術者倫理篇

社会的 IT基盤の事故

世間を揺がす社会基盤の事故

! 2012.12: 中央自動車道笹子トンネル天井板落下事故130mにわたってコンクリートの天井板が落下.死亡者 9名,負傷者 2名,完全復旧まで 3ヶ月.

3 / 24

Page 4: 2014年度 計算機科学概論・第14回 技術者倫理篇

社会的 IT基盤の事故 IT基盤の深刻な事故

2011年 3月:みずほ銀行での障害

! 3.11 震災発生! 3.14 義援金口座で取引数/日がオーバーフロー! 3.14 TV局が法人・リーフ口で口座新設.それでも旧口座への振り込みが集ってしまった.

! 3.14 夜間の一括処理が異常終了 ← 振り込みデータの処理件数がオーバーフロー(日中とは別の上限値)

! 3.15 10:25オンラインシステムが 90分遅れで起動 ←夜間処理が終了しなかったから

! 3.15 午後,別の義援金口座への送金が急増し,オーバーフロー! 15日中に送信すべき振り込み 31万件が未了 ← 夜間処理が終了しなかったから

! 未送信問題への対応中に二重振り込みのミス4 / 24

Page 5: 2014年度 計算機科学概論・第14回 技術者倫理篇

社会的 IT基盤の事故 IT基盤の深刻な事故

口座の種類

口座種別 記帳の有無個人 通帳口(記帳あり)法人 リーフ口(記帳なし)

! 2005.9: 個人・リーフ口で口座開設! 2007.12 TV局の要望で個人・通帳口に設定変更

5 / 24

Page 6: 2014年度 計算機科学概論・第14回 技術者倫理篇

社会的 IT基盤の事故 IT基盤の深刻な事故

システム障害はなぜ二度起きたか

日経コンピュータ,システム障害はなぜ二度起きたか~みずほ 12年の教訓,2011年 8月

日経コンピュータ「動かないコンピュータ」シリーズ

6 / 24

Page 7: 2014年度 計算機科学概論・第14回 技術者倫理篇

社会的 IT基盤の事故 IT基盤の深刻な事故

あわや人命にかかわる事態に

! 2011年 1月 東京消防庁・ケーブル配線ミスで 119番通報が混乱緊急車両の出動支援の情報システムが 16時間にわたって停止.通報への対応に大幅な遅れ.原因はいつのまにかネットワークスイッチにループ接続された 1本の LANケーブル.

! 2010年 1月 国土交通省・羽田空港の管制システムがダウンレーダー情報システムへの気象データの統合により,メモリーのオーバーフロー.管制用端末が起動できず,手作業に.欠航24便,遅延 177便.

! 2009年 3月 気象庁・データ配信が 17時間停止サーバ内の時計が故障.データベースの時刻フィールドが破壊.他のプロセスも停止.バックアップへの回線切替器も停止.

日経コンピュータ,システム障害はなぜ二度起きたか,2011年 8月より,

7 / 24

Page 8: 2014年度 計算機科学概論・第14回 技術者倫理篇

社会的 IT基盤の事故 IT基盤の深刻な事故

動かないコンピュータ

1. 楽天証券: 取引システムの一括処理が不具合.3度の業務改善命令

2. ソフトバンク: 基幹系ハード処理能力不足のためMNP処理が停止

3. 全日本航空: 認証サーバの認証期限切れのため端末が停止.63便欠航

4. 東京工業取引所: 待機系ルータの過負荷のため本番系がダウン

5. 国土交通省: 航空管制システムのダウン

6. JR北海道: SQLインジェクション攻撃.4ヶ月の閉鎖

7. ゴルフダイジェスト: SQLインジェクション攻撃.10日間の販売停止

8. NTTレゾナント: Webメールの刷新に失敗.苦情が 2ヶ月.

ITpro「動かないコンピュータ」その後8 / 24

Page 9: 2014年度 計算機科学概論・第14回 技術者倫理篇

社会的 IT基盤の事故 IT基盤の深刻な事故

動かないコンピュータ

楽天証券 500件の障害データを蓄積・活用ソフトバンク ITスキル強化に活路を見いだす全日本航空 楽しくない DVDを “鑑賞”する東京工業取引所 4ヶ月でバグ修正と再テスト国土交通省 ITベンダーの開発現場に足を運ぶJR北海道 8万人分の顧客データを捨てるゴルフダイジェスト 監視サービスをオーダーメードNTTレゾナント 利用者への告知は最低 1ヶ月前

ITpro「動かないコンピュータ」その後興味のある方はネット検索して下さい

9 / 24

Page 10: 2014年度 計算機科学概論・第14回 技術者倫理篇

社会的 IT基盤の事故 閑話休題:最も高くついて1バイトの間違い

最も高くついた 1バイトの間違い

Poul-Henning Kamp. The most expensive one-byte mistake. Queue,Vol. 9, No. 7, pp. 40:4040:43, July 2011.

配布資料参照

10 / 24

Page 11: 2014年度 計算機科学概論・第14回 技術者倫理篇

社会的 IT基盤の事故 国際的セキュリティ認証レベル:ISO/IEC 15408の EAL

ISO/IEC 15408の EAL

EAL 保証内容 主な用途EAL1 機能テスト 民生EAL2 構造テスト 民生EAL3 方法論に基づいたテスト,デバッグ 民生EAL4 方法論に基づいた設計,テスト,レビュー 民生・政府機関・軍事EAL5 準形式的設計,テスト 政府機関・軍事EAL6 準形式的に検証された設計,テスト 政府機関・軍事EAL7 形式的に検証された設計,テスト 政府機関・軍事

11 / 24

Page 12: 2014年度 計算機科学概論・第14回 技術者倫理篇

社会的 IT基盤の事故 国際的セキュリティ認証レベル:ISO/IEC 15408の EAL

(評価保証レベル) EAL1(機能テスト)

主な対象 セキュリティへの脅威が重大ではない場合に適用され、特定の機能の要件が対処されていることを確認する。仕様に対する評価者のテスト、ガイダンスの調査など開発者の支援を受けずに最小の費用で評価を実施できる。

保証内容 EAL1は、評価されていない ITに比べ、保証の増加を提供する。

12 / 24

Page 13: 2014年度 計算機科学概論・第14回 技術者倫理篇

社会的 IT基盤の事故 国際的セキュリティ認証レベル:ISO/IEC 15408の EAL

EAL2(構造テスト)

主な対象 古くから継承されたシステムの安全性を確保するなど完全な開発資料を提供できないような場合で、低レベルから中レベルの保証されたセキュリティを要する環境で適用できる。開発者からの設計情報と開発者テスト結果の提供レベルで評価を実施する。また、開発環境における構成管理や製品の配付の手続を評価する。

保証内容 EAL2は、EAL1の保証に加え、開発者テスト、基本的攻撃能力を想定した脆弱性分析、さらに詳細な TOE仕様に基づく評価者のテストを要求する。

13 / 24

Page 14: 2014年度 計算機科学概論・第14回 技術者倫理篇

社会的 IT基盤の事故 国際的セキュリティ認証レベル:ISO/IEC 15408の EAL

EAL3(方式テスト及びチェック)

主な対象 中レベルの保証されたセキュリティを必要とし、既存の適切な開発方法を大幅に変更することなく、TOEとその開発の完全な調査を要する状況に適用される。

保証内容 EAL3は、EAL2の保証に加え、テストの網羅性や開発時の TOE改ざんを防止するメカニズムや手続を要求する。

14 / 24

Page 15: 2014年度 計算機科学概論・第14回 技術者倫理篇

社会的 IT基盤の事故 国際的セキュリティ認証レベル:ISO/IEC 15408の EAL

EAL4(方式設計、テスト及びレビュー)

主な対象 既存の商用製品の開発に対し、セキュリティに係るエンジニアリングコストの追加を受け入れられ、中レベルから高レベルの保証されたセキュリティを必要とする場合に適用される。

保証内容 EAL4は、EAL3の保証に加え、より多くの設計記述、ソースコードなどのセキュリティ機能のすべての実装表現、開発時の TOE改ざんを防止する向上されたメカニズムや手続を要求する。

事例 SUSE Linux Enterprise Server 100,Windows {2000, 2003, XP, Vista, 7}

15 / 24

Page 16: 2014年度 計算機科学概論・第14回 技術者倫理篇

社会的 IT基盤の事故 国際的セキュリティ認証レベル:ISO/IEC 15408の EAL

EAL5(準形式的設計及びテスト)

主な対象 EAL5レベルの保証をはじめから達成する意図を持って開発され、高レベルのセキュリティを必要とし、専門的なセキュリティエンジニアリング技法の適用する適切なコストを負担する場合に適用される。

保証内容 EAL5は、EAL4の保証に加え、準形式的な設計記述、構造化され分析可能なアーキテクチャ、TOE改ざんを防止するさらに向上されたメカニズムや手続を要求する。

事例 さまざまなスマートカード

16 / 24

Page 17: 2014年度 計算機科学概論・第14回 技術者倫理篇

社会的 IT基盤の事故 国際的セキュリティ認証レベル:ISO/IEC 15408の EAL

EAL6(準形式検証済み設計及びテスト)

主な対象 保護する資産の価値が、高い保証のための追加的な開発コストを正当化するようなリスクの高い状況で使用する場合に適用される。

保証内容 EAL6は、EAL5の保証に加え、さらに広範囲な分析、実装の構造化表現、さらなるアーキテクチャ構造、さらに広範囲な評価者の脆弱性評定、さらに向上された構成管理と開発環境の制御を要求する。

事例 Green Hills Softwareの実時間 OS INTEGRITY-178B

17 / 24

Page 18: 2014年度 計算機科学概論・第14回 技術者倫理篇

社会的 IT基盤の事故 国際的セキュリティ認証レベル:ISO/IEC 15408の EAL

EAL7(形式的検証済み設計及びテスト)

主な対象 リスクが非常に高いか、高い資産価値により、さらに高い開発コストが正当化される場合に適用される。

保証内容 EAL7は、EAL6の保証に加え、数学的検証を伴う形式的表現と対応、広範囲のテストを使用する包括的分析を要求する。

事例 Tenix Interactive Link Data Diode Device, Fox DataDiode

18 / 24

Page 19: 2014年度 計算機科学概論・第14回 技術者倫理篇

形式的手法

後半は「形式的手法」

19 / 24

Page 20: 2014年度 計算機科学概論・第14回 技術者倫理篇

形式的手法 数学の定理の形式的な証明

形式的な検証(~ 証明?) 四色定理いかなる地図も隣接する領域が異なる色になるように塗るには 4色あれば十分である.

! 1852 ガスリーによる問題の定式化! 1879: ケンプによる「証明」! 1890: ケンプの「証明」に間違いが! 1976: アッペルとハーケンが計算機を利用して「証明」

! 1995: アッペルらの証明の簡素化! 2000: GonthierとWernerらが形式的証明に挑戦

! 2004: 四色定理の形式的証明の完了.プログラムの正しさも証明.

20 / 24

Page 21: 2014年度 計算機科学概論・第14回 技術者倫理篇

形式的手法 数学の定理の形式的な証明

四色定理の形式化

Theorem four_color : forall msimple_map m -> map_colorable 4 m.

! simple_mapと map_colorableはそれぞれ 30行以内のスクリプトで定義可能

! 四色定理の証明のスクリプトは 60,000行

21 / 24

Page 22: 2014年度 計算機科学概論・第14回 技術者倫理篇

形式的手法 数学の定理の形式的な証明

定理の形式的な証明の試み

! 2012.9: 奇数位数定理 (Gonthierら 15人× 7年)150,000行の Coqスクリプト.紙上の証明(250ページ)の約 4.5倍の規模.

! Affeldt & Hagiwara: シャノンの定理! Kepler予想(無限の空間の球の被覆)

1998: Halesが証明(300ページ,40,000行のプログラム)を提出,未だに,査読中.現在,Halesは証明の形式化に挑戦中(20年かかると言われている)

22 / 24

Page 23: 2014年度 計算機科学概論・第14回 技術者倫理篇

形式的手法 ソフトウェアの形式的検証の試み

ソフトウェアの検証

! Cコンパイラ (Compcertプロジェクト, since 2004)“2006年当時は「Compcertの検証の完成度は 80%ぐらいだ」と思っていたが,2013年に「振りかえってみれば 20%にすぎなかったといわざるをえない」

! 実時間 OSのマイクロカーネル seL4 (NICTA研究所)

プロジェクト ソフトウェア スクリプト 人年 費用Compcert ??? 50,000 4 ???seL4 7,500 200,000 25 $700/行

23 / 24

Page 24: 2014年度 計算機科学概論・第14回 技術者倫理篇

形式的手法 ソフトウェアの形式的検証の試み

Curry-Howardの対応 (Affeldt, p. 486)

! 形式論理における論証~プログラミング言語の型つけ規則! aが言明 Aの証明である~値 aが型 Aを持つ

24 / 24