セキュリティ オペレーティングシステム 第14回 今回の内容 OSのセキュリティを確保する機能 順不同で 既に取り上げたのものも すべてがOSではない セキュリティとは セキュリティとは(1) 安心してコンピュータを使うことができるようにす ること “安心して”とは,どういうことか? セキュリティとは(2) セキュリティが“確保”されている(コンピュータ) システムとは 機密性 confidentiality 完全性 integrity 可用性 availability の三つが確保されているもの 機 密 性 利用することを認められた者だけが,利用するこ とができる “情報へのアクセス”という観点からだと, 機密性が維持されていれば,情報漏えいが起 こらない 完 全 性 システムが正しく稼働する “処理する情報”という観点からだと, 情報がなくなったり,おかしくなったりしない 可 用 性 必要なときに利用することができる “情報”という観点からだと, 必要なときに,必要な情報にアクセスできる 機密性,完全性,可用性の三つの観点から, 以降の事項を見てほしい CPUの動作モード C P U (6) 第2回 実行モード 特権モード OSを実行するためのモード すべての命令を実行可 非特権モード(一般ユーザモード) 一般のプログラムを実行するためのモード 特権命令(システムを管理するための命令 など)は実行不可 特権モード すべての命令を実行できる システムのハードウェアを自由に使える 例 HDDの全部データにアクセス可 というようなことは,一般ユーザには行わせた くない 補 足(4) 第5回 内部割込みの例(3) 特権命令違反 システム管理命令を一般ユーザモードで実行 割出し(トラップ) 一般の利用者が実行できないことをOSに依 頼(する命令の実行-システムコール) プログラマが意識的に発生させる割込み 仮想計算機 第13回の仮想計算機は,この考え方を発展させ たものとも考えることができる 仮 想 化(2) 第13回 仮想計算機 実際のコンピュータ上に,別のOSを(複数)実 行できるようにする仕組みを用意 そのOSが実行され,アプリケーションを実行 する アプリケーションを直接実行しているわけでは ない 仮 想 化(3) 第13回 仮想計算機 の動作,つ まりアプリ の動作を 監視する メモリ,ファイルへのアクセス 記憶管理の他の重要な機能 第 9回 多重プログラミング環境 別のプログラムが,自分のデータを読み書き 別のプログラムのデータを読み書き 禁止する(保護) ただし,禁止だけではない(情報共有) 同じ記憶装置(メモリ) 読み書きできる部分と出来ない部分 ア ク セ ス 管 理(2) 第11回 保護属性 ファイルの保有者 共有の可否・可能な者 アクセス方法(読出し,書込み など) など 誰が,どのようにアクセスできるか R A I D(1) 第11回 Redundant Array of Inexpensive (Independent) Disks 複数のディスクを用いる 障害対策+高速化 RAID0~6まで R A I D(2) 第11回 データだけを記録しているのではない 付加情報 障害発生でデータを失っても,回復可能 R A I D(4) 第11回 RAID 1 ミラーリング コピーを別の 媒体に記録 障害対策には なる ディスクの使用 効率は悪い R A I D(5) 第11回 RAID 5 parity1は,AとBから 生成する Aとparity1から,B を復元できる Bとparity1から,A を復元できる 多重化システム Multiple system HDDだけでなく,システム全体を多重化する 同じシステムを複数用意 システムの構成方法 デュアル構成 デュプレックス構成 デュアル構成 dual configuration システムを多重化 同じ処理を複数のシステムで同時に行う 結果をお互いにチェック 高信頼性を要求されるシステム 交通制御やプラント制御など デュプレックス構成 duplex configuration システムを多重化 処理を行うのは一つ 障害が発生すると,別のシステムに切換え 待機しているシステムで,別の処理を行うこと もある 銀行のシステム,座席予約システムなど 誰でもシステムを利用すること ができるのか? 利 用 者 認 証(1) システムを利用する権限があるかどうかのチェッ ク 通常は,IDとパスワードで確認 OSは,IDとパスワードを記録したファイル(パス ワードファイル)を管理 利 用 者 認 証(2) パスワードファイルの漏えい対策 パスワードをそのまま記録せず,暗号化して 記録 OS(システムの管理者も)は,パスワードその ものを知らない 初期のUnixでは,パスワードを暗号化している ということで,パスワードファイルを利用者が 見ることができた(今は不可) 利 用 者 認 証(3) 不正ログイン対策 パスワード入力ミスを何回か連続するとログイ ンできなくなる(アカウントロック) Windowsでは,アカウントロックが起きる入力ミ スの回数と,ロックしている時間を設定できる かってはよく起きていた データ転送中のエラー データは電気信号としてバスを伝わる 外部からのノイズで乱れることがある そのことを検知する仕組み 以降のスライドは“ネットワークシステム”の講 義のもの 転送中のデータの誤り 通信回線は外部から影響を受けることがある 雑音(ノイズ) 転送中のデータが変化することがある “0101010” を転送中に “0111010” となることがある パ リ テ ィ (1) 転送するデータに含まれる“1”の数を数える 例 “0101010” 7ビットのデータ中に“1”は3つ パ リ テ ィ (2) 転送するデータの最後に “1”の数が偶数なら“1”を “1”の数が奇数なら“0”を 付け加えて,データを送る 例 データが “0101010”なら “01010100”を送る パ リ テ ィ (3) つまり,送信するデータ中の“1”の数を奇数個に する “01010100” (最後に“0”を付ける) “01010001” (最後に“1”を付ける) 受信側で“1”の数を数え,偶数個であったら,そ のデータは誤りであることが分かる “01010101” (誤り!) 誤り検出 パ リ テ ィ (4) 転送中に2ビット変わったら,誤りを検出できない 例 “01010100” が “00110100” となっても, 受信側では誤りを検出できない パ リ テ ィ (5) 以上のように,送信するデータ中の“1”の個数を 奇数個にするものを 奇数パリティ “1”の個数を偶数個にする場合もある 偶数パリティ パ リ テ ィ (6) 実際には,転送するデータを一定の大きさに区 切って適用する 通信だけに用いられる手法ではない メモリから読み出したデータのチェック この手法を“パリティチェック(parity check)”と呼 ぶ パ リ テ ィ (7) ハミングコードチェック(hamming code check) 付加するビットを増やして,誤りの検出だけで なく,訂正も可能としたもの もちろん,完全なものではない パ リ テ ィ (8) 誤り検出・訂正の手法は他にもある どのような方法があり,どのような特徴がある か? 我々の身のまわりでも使われている 音楽用CD チ ェ ッ ク サ ム (1) 送信するデータの合計を求め,データだけでなく 合計も送り,受信側でチェックに用いる チ ェ ッ ク サ ム (2) 例 24ビットのデータ バイト(8ビット)ごとに区切り, 和を求める 00110011 01000100 01110111 和 11101110 データ これも送信する チ ェ ッ ク サ ム (3) 受信側でも同様にして,和を求める 送られてきた和と比較する 各バイトでパリティチェックをすることもある 合計といっても,単純な和でない場合もある 誤りをみつけたら 訂正できる手法を用いているなら,訂正 検出だけなら,どうするか? そのデータは使えない 再度,送信してもらう 再送が無理な場合は? OSの話なら,“割込み” ま と め ま と め OSの重要な機能の一つにセキュリティ維持 セキュリティの完全な確保は不可能 コストをどれだけかけることができるのか
© Copyright 2024 ExpyDoc