• Save
SPCamp2011-セキュアなOSクラスの概要
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 1,009 views

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

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

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

Statistics

Views

Total Views
1,009
Views on SlideShare
1,009
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

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