SPCamp2011-セキュアなOSクラスの概要

  • 727 views
Uploaded on

セプキャン非公式キャラバン福岡(2011/10/15)での本年度キャンプの「セキュアなOSクラスの概要」についてのプレゼン …

セプキャン非公式キャラバン福岡(2011/10/15)での本年度キャンプの「セキュアなOSクラスの概要」についてのプレゼン

http://sites.google.com/site/seckitakyu/home/info/history/caravan

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
727
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
0
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. ”セキュア”なOSを作ろうクラスの概 要 日本ネットワークセキュリティ協会 Microsoft MVP for Identity & Access – Enterprise Security 根津 研介 1
  • 2. 最初におやくそく• 「セキュアなOS」であって、「セキュアOS」では ありません(*^_^*) – 「な」がと~っても*重要*です。取っちゃダメで すよ~。「セキュアOS」は固有名詞です。 – べつにSELinuxやTOMOYOだけのクラスぢゃありませ ん。• 「OS自作クラス」とか「自作OSクラス」と省略し てはいけません。 – 「自作OS」は日本国内では固有名詞です(*^_^*) – 昨年までの「自作OSクラス」のようにターゲットが HariboteOS(http://wiki.osask.jp/?HariboteOS)に限定 されていません。 2
  • 3. 目次• クラス開設の背景• クラスの目標• 講師紹介• 主なプログラムの紹介• 参加者考案のOSをいくつか・・・• トピック SELinuxとTOMOYO Linux 3
  • 4. クラス開設の背景 4
  • 5. バックグラウンド:インターネット+コンピュータの 世界• インターネットがきな臭くなってきた。 「軍事」から生まれて、「学情」で育てられ、「経 済」と「コミュニケーション」で花開いた。そして、 また「軍事」に戻りつつある。 – 「米国は深刻なサイバー攻撃に軍事的に対応する権 利を有する」~と述べ、必要ならサイバー攻撃によ る報復を行うだけでなく、通常戦力の行使も辞さな いと明言。(2011/07/14 米国防総省) ※基盤ソフトウェアとして、自国製のOSやセキュリ ティ 機能を作成したり、海外製のOS/ソフトウェアが 「きれい」であることを検証できる技術者の育成が 喫緊の課題。 5
  • 6. (OS&|セキュリティ)技術者の 分布• 世界的にセキュリティソフトウェアやセキュア OSの開発が盛んなのは・・・。 →米国、韓国、イスラエル、ロシア • 常に戦争/交戦状態で、徴兵制があり(あった)、 膨大な軍事費をかけている国• 日本では、OSやセキュリティを設計・実装でき る現場技術者の人口はごく少数・・・_| ̄|○ – 食っていけるほど稼げない。 – 国家は担保してくれない。 – そういう人材を育成するプログラムがない。 →「無いなら作ってしまおう!」 6
  • 7. 前提とする参加者のレベル• HariboteOSやLinux、または独自設計のOSを設 計、機能拡張、実装したことのある経験者。• OSの基本的な機能(メモリ管理、プロセス管 理、ファイルシステムなど)と実装を知って いて、改良や機能追加などを行ったことのあ る経験者。• もしくは、上記と同等の実力を有するレベル (「いわゆるできるけどやらなかっただけ」 という人)→OSへの理解や経験は要求するが、セキュリティ は初心者でもよい・・・ということ。 7
  • 8. クラスの目標 8
  • 9. クラスの目標• 短期的目標: – OSに必要とされるセキュリティ機能について1 から検討させる。 – 既存のセキュリティ機能やセキュアOSのデザイ ンコンセプトを知り、全体像を捉えることで、自 らの新しい知見により新しいセキュリティ機能を デザインする発想力と実装力を身につける。• 中長期的目標: – 将来的にOS製造メーカーや独自OS作成の国家プ ロジェクトを負って立てる人材を育成することで、 国家の情報資産の保全、保護に寄与しうる人材を 輩出するための基礎力を養成する。 9
  • 10. 参加者の目標設定• 自作OSもしくは既存のOSに対して自らデ ザインしたセキュリティ機能を実装す る。• 何らかの形で、実装したセキュリティ機 能を公表、公開し、広く社会の役に立て る。• 将来的に日本を代表するセキュアなOSを 設計できるOS設計者をめざす。 10
  • 11. キャンプ期間中の マイルストーン• たったの5日間(実質19時間!)でOSの1機能 を新規にデザイン、詳細設計、実装するなんて、 ぜったいムリ!• なので、マイルストーンを以下の様に設定。 – 考案したセキュリティ機能のコンセプトデザインを 設計。 – デザインを机上検討、論理矛盾や漏れがないかを検 証。 – 設計した機能の実装を前提としたときに問題となり そうなところを洗い出す。 – 他の参加者、講師と洗い出した問題点を一緒に検討 し、あらかた解決の方向性を探る。 11
  • 12. デザインレビューの進め方1. 参加者が自らデザインしたセキュリティ 機能について、そのコンセプトの要点と 「どのような脅威」から「誰を?」、 「どのようにして守るのか?」の観点で プレゼン資料を作成。2. 参加者、講師の前でプレゼンを行い、そ の際の指摘事項などをデザインに反映す る。3. 1.~2.を繰り返す。 12
  • 13. 講師紹介 13
  • 14. 講師の紹介• 川合秀美:「新OS,OSASKの開発」採択(IPA未踏ユー ス,2002) 言わずと知れた自作OS(HariboteOS)の教祖。 今は、サイボウズラボ所属。 ・著者:川合秀実 ・定価:3,990円(税込) ・B5変型判 722ページ ・ISBN4-8399-1984-4 ・発売日:2006年02月28日 14
  • 15. 講師の紹介~つづき~• 坂井 弘亮:「組込みこぞう勉強会」、「IT初心者勉強 会」など各種勉強会を主催。組込みOS自作本など、執筆 多数。また、Software Design誌にて「全国津々浦々!勉 強会&イベント探訪記」 連載中! 富士通株式会社所属 15
  • 16. 講師の紹介~つづき~• 半田 哲夫 a.k.a. 熊猫さくら:純国産セキュアOS 「TOMOYO Linux」設計者。 NTTデータ先端技術株式会社所属 • パブリックなところでお 話しするのは苦 手・・・。 • 教壇にたつのは、これが 3回目くらい・・・。 • みんな!CSSを知って戦 争のない平和な世界を実 現しよう! 16
  • 17. 講師の紹介~つづき~• 忠鉢 洋輔:筑波大学コンピュータサイエンス専攻 加藤 研究室で,セキュリティ・分散システムについて研究し ている現役バリバリの研究者。 – 論文:「準パススルー型VMMのマルウェア検出機能による拡 張」 – 論文:「実行時のフェーズを用いたセキュリティポリシ記述の 簡略化」 – 論文:「仮想マシンモニタによるゲストOSのファイル保護」 筑波大学大学院博士課程在籍 17
  • 18. 講師の紹介~そして・・・• 根津 研介:何の因果か、現役バリバリの講師の方々をと りまとめる役になってしまった元UNIXプログラマ←“過 去の栄光“。 – 今は亡き日立ベクトル型スーパーコン S-8000のUNIX OS(日立 版OSF/1)で、スーパコン拡張機能サポートやディスク/テープド ライバを担当。 – ftp.soft.hitachi.co.jpのサーバーの運用管理。 – 日立WS、日立スーパーコンのUNIXにGNUソフトウェア等のフ リーソフトウェアを移植、配布。 →「末席の座布団を温めていたUNIXカーネルプログラマ」 18
  • 19. 講義プログラムの特徴• 様々なコンピューティング環境における「セキュリ ティ」とはどのようなものかという、より多角的、多層 的で水平展開された視点で捉える「セキュリティ」を対 象。 – 自作OS作成者からみたセキュリティ – 汎用OS作成者からみたセキュリティ – 組み込みOS作成者からみたセキュリティ – セキュアOS研究者からみたセキュリティ – 国産セキュアOS機能作成者からみたセキュリティ• 「OSだけの機能に限定せず、一般的な脅威や環境につい て、より大局的な知見から物事を捉える」ために、セ キュリティコース共通プログラムの自由選択プログラム 19 やCTFプログラムにも参加。
  • 20. おもなプログラムの紹介 20
  • 21. プログラム紹介(1)• セキュアなOSの自作へのガイドライン (川合) – セキュリティについて「保護すべき対象」や 「脅威」がどこにあるのか? – 「OSとアプリケーション」という線引きは本 当に必要なのか?全部OSでもいいかもしれな い? – その他、様々な“Just Ideas“から、「凝り固ま らずに柔軟に発想してみよう!」と語りかけ た。 21
  • 22. プログラム紹介(2)• OSとセキュリティ(根津) – 既存の汎用OSが題材。 – セキュリティが必要な原因をコンピューティング の歴史から抽出、現代においても必要か再検討し よう! • マルチタスク/マルチユーザシステム • 管理者権限 • 高速なネットワーク • ネットワーク上で行われる様々な社会活動 – OSを取り巻く脅威を分析し、OSに求められるセ キュリティについて概説、トピックとして「セ キュリティと性能」、「アノマリーディテクト」 などを取り上げた。 22
  • 23. プログラム紹介(3)• 組み込みOSとセキュリティ(坂井) – 組み込みOSのセキュリティについて、組み込み システム特有のシステムライフサイクルやハード ウェア/ソフトウェア制限からくる汎用OSとの違 いについて説明。 – おもに組み込みOSが置かれている環境からくる 開発者のセキュリティ意識を解説。 – 少量多品種生産から大量生産までの幅広い対応を 求められる環境、今後のホームオートメーション 対応によるネットワーク接続の可能性など、組み 込みOS特有のセキュリティ事情について解説を 行った。 23
  • 24. プログラム紹介(4)• アクセス制御とその応用(忠鉢) – MAC(強制アクセス制御)やRBAC(役割による アクセス制御)と、そのベースとなる考え方やモ デルを説明し、実装には理論的裏付けが必要であ ることを強調。 – アクセス制御ポリシーとその実装(メカニズム) を分離する重要性について解説を行った。 – 汎用的なOSのアクセス制御の例としてTrusted Operating Systemを、また、アプリケーションサ ンドボックスの例としてChromeOSを、特権分割 の例としてLinuxのケーバビリティ機能やプロセ ス間通信により権限を分割しているOpenSSHの紹 介を行った。 24
  • 25. プログラム紹介(5)• 事例研究:TOMOYOLinuxが考えたセキュリ ティ(半田) – 現役開発者が、TOMOYOLinuxの開発の歴史と Linuxメインライン化への挑戦の歴史を振り返 ることで、汎用OSでのセキュリティ機能の開 発の難しさや、多くの人に使ってもらうこと の苦労と楽しみを解説した。 – また、現役開発者からみた現状のOSセキュリ ティに関する示唆を行った。 25
  • 26. 余談ですが・・・ 26
  • 27. 自由選択枠「60分でOS自作体験」(川合)• PC用のOSを60分で作成することで、OS作 成体験をさせるプログラム。• PCの専用ブートローダ、32ビットプロテ クトモードへの移行、グラフィックVRAM への描画コードを打ちこみ、コンパイル して、ブートイメージをフロッピーディ スクイメージとしてかき込み、Qemuを用 いてブートするまでを60分で個々に演習 した。 27
  • 28. 自由選択枠「防御におけるVMM利用」(忠鉢)• OSが侵害されるとOSのセキュリティ機能 が有効になる前に侵害が発生しているの でOSのセキュリティ機能が有効に機能し ない。• この対策として、仮想化技術を利用した ハイパーバイザを利用してOSを監視する 手段がある程度有効。• この仮想マシンマネージャ(VMM)によ るOS監視の方法の利点と欠点を明らかに した上で実装例としてBitVisorを紹介。 28
  • 29. BOF枠「ITセキュリティと法律」(根津)• 通常、人は「人殺しがいけない」ということにつ いて、いちいち「刑法」を調べたりはしません。• 不正アクセスや無線LANについても、各人が持っ ている「危険かもしれない」と感じる己の中の 「常識」や「良識」、つまり、「これはよくない こと」という感覚を大事にし、磨くようにしよ う。• 特に、「~~は大丈夫でしょうか?」と聞く人多 数だが、聞いている時点で、「危険!危険!」と 心が警告を発していることを自覚すべき。• 「大丈夫だ」等と無理矢理自分を納得させるので はなく、「踏み越える前」に仲間や講師に聞くよ うにしよう。 29
  • 30. 参加者が考案したOSをいくつ か・・・ 30
  • 31. (その1)ミニマムコア開発: 開発者らしいセキュリティ視点 OSのセキュリティ問題:基本的にバグバグが混入する原因:「アセンブラ」のせ い! 「アセンブラ」と「それ以外」でカーネル内でも違うプロセッサのRINGで実行し 31 よう
  • 32. (その1)ミニマムコア開発:開発者らしいセキュリティ視点~ cont. RING 3 ユーザプロセス ユーザプロセス デーモン RING 1 プロセス制御 C メモリ管理 C RING 0 割込asm I/O asm 32
  • 33. (その2)データ保護の逆転の発 想: VMを利用してデータを保護! VMゲスト (インターネットに接続)保護しな いデータ VMホスト (ネット接続なし) 保護する データ ユーザ 33
  • 34. トピック:SELinuxとTOMOYO Linux 34
  • 35. 共通点• カーネルレベルでのサンドボックス機能 (a.k.a. 箱庭, Jail,..etc…)• MAC(強制アクセス制御)をベース• root(UID=0)がスーパマンでなく、ただの1 ユーザに 35
  • 36. 大きな違い• SELinux: – 理論的、論理的、抽象化された記述。 – `セキュリティのアセンブラ`と呼ばれる。• TOMOYO Linux: – 実践的、経験的、学習させた内容をそのまま 「ルール」として扱う。 – `行動監視ログ`をそのまま正規化(=ルー ル)に。 36
  • 37. 構成方法の違い• 行動ログをとる → SELinuxの場合: 1. プロセス、ファイル、EXEファイル、ユーザIDにそれ ぞれセキュリティ記述子(SID)を振る。 2. 行動ログを、ロール(役割)、ドメイン、ドメイン遷 移、型強制(TE)、FC(ファイル記述子)とその関係に “バラバラ”にして、それぞれ別のファイルで記述。 3. テストして、ルール違反ログを見ては、2.を修 正・・・の繰り返し。 →TOMOYOの場合: 1. 行動ログの精査(やっちゃいけないものがないのを 確認) 2. 行動ログをルールとしてカーネルに読み込む。ー しゅーりょー! 37
  • 38. SELinuxのしくみ init 参照 コンテキスト ファイル ドメインfork() & /bin/loginexec() 入力 ユーザ:SID対応ファイル root_s: root:root_s user1 sys_r: user1:user1_s login_te ドメイン exec() SID:ロール対応ファイル /bin/passwd root_s:sys_r,user_r root_s: 入力 パスワー user1_s:user_r sys_r: ド passwd_te ドメイン コンテキスト定義ファイ exec() /bin/bash ル user1_s: /bin/login: login_te user_r: /bin/passwd:passwd_te bash_te /bin/bash:bash_te 38
  • 39. TOMOYO Linuxのしくみ init fork()&exec() exec() read() B /etc/motd /etc/passwd /etc/motd /bin/login /bin/login /etc/passwd /bin/passwd /etc/shadowA /bin/passwd /etc/shadow /etc/tcsh_login /bin/tcsh /$HOME/.login /etc/bash_profile /bin/bash /$HOME/.profile /bin/vi /bin/vi ※AのviとBのviは異なるモ 39
  • 40. それぞれ特有のもの• SELinux: MLS/MCS – MLS(Multi Level Security): 米国式で日本政府、会社 にはほとんどなじまない。 →ハリウッド映画で、空軍軍人が「私はTOP SECRETの アクセス権限がある」みたいなときに出てくるモデ ル。 – MCS(Multi Category Security):グループ分けしたア クセスセキュリティ。one another DAC group ?• TOMOYO: akari – Main Lineにマージするのに機能が限定された。 – フルスペックをカーネルリコンパイルせずに TOMOYOを利用できるようにデバイスドライバの 形で提供したもの。 40
  • 41. もし、来年度もあったら是非応募するように薦めてください。m(__)m 41