CISSP合格ノート・CBK#05 暗号(Cyptography)・リモートワーク

CBK#05 暗号(Cryptography)

go to menu page

CBK#05 暗号(Cryptography)

5.1. セキュリティ原則

・完全性
・機密性
・信頼性
・否認拒否
(暗号では可用性を確保できない。)


5.2. 定義 (Definitions)

アルゴリズム (Algorithm): 

└ 暗号化および復号化に使用される数学的法則の集合。
*データ暗号化アルゴリズム(DEA:Data Encryption Algorithm)

暗号法 (Cryptography):

└ データを意図した個人にのみ利用可能な形でデータを保存・送信することができるようにする科学。

暗号システム (Cryptosystem): 

└ メッセージを暗号化したり復号したりする。ハードウェア・ソフトウェアによる暗号の実装。

暗号解読 (Crypto analysis): 

└ 暗号文から鍵なしで平文を得たり、 暗号を破ったりすること。

暗号理論 (Cryptology):

└ 暗号法と暗号解読の学問。

暗号文 (Cipher text):

└ 暗号化され読むことができないフォーマットのデータ。

暗号化 (Encipher):

└ データを読むことができないフォーマットへ変換すること。

復号 (Decipher):

└ 読むことができるフォーマットにデータを変換すること。

鍵 (Key):

└ 秘密のビット列や命令で、 暗号化・復号にとって重要な物。

キークラスタリング (Key clustering):

└ 2つの異なる鍵が1つの平文から同じ暗号文を生成すること。

キースペース (Key space):

└ 鍵の構築に使用できる値。

平文 (Plaintext):

└ 読むことができるフォーマットのデータ “Clear text”とも呼ばれる。

ワークファクター(Work factor):

└ ある暗号システムを破るための時間、手間、 リソースの推定値。

5.3. 暗号のタイプ (Types of ciphers)
換字式暗号 (Substitution cipher): *シーザー暗号に使われていた。

└ ビット、文字、文字ブロックを他のビット、文字、文字ブロックで置き換える。

転置式暗号(Transposition cipher):

└ 文字の位置変更が行われる。すなわち文字の順序がスクランブルされる。鍵は、文字の移動先を決める。

頻度分析(Frequency analysis):

└ メッセージや会話で使用された文字の頻度パターンを分析する。

多換字暗号 (Polyalphabetic cipher): *例としてVigenera暗号がある。

└ 数個の異なるアルファベットを使用し、頻度分析に対抗する。

ランニングキー (Running key cipher):

└ 本(ページ、 行数、 語数)のような我々の周りにある物理世界のステップを使用する。それぞれの単語はシーケンス番号によって示される。

遮蔽暗号 (Concealment cipher):

└ 平分の真の文字を装置またはアルゴリズムで隠蔽する/偽装する。

ステガノグラフィー(Steganography):

└ データを他のメッセージの中に隠し、データの存在を隠すこと。メッセージはwave ファイル、 画像、ハードディスクの未使用領域、使用不能とマークされたセクターに隠される。

クリッパーチップ(Clipper chip):

├ NSAが設計したデータ暗号化用チップで、不正使用できないようになっている。
スキップジャック(Skipjack)アルゴリズムを使用している。
├ クリッパーチップ毎に一意のシリアルナンバーがあり、ユニットキーのコピーはこのシリアルナンバーでデータベースに格納される。
├ 送信側のクリッパーチップはLEAF(Law Enforcement Access Field)値を生成して送信メッセージに含めて送る。
└ 80ビット鍵と16ビットチェックサムに基づいている。

鍵寄託 (Key Escrow):└ ユニットキーが2つのセクションに分けられ2つの異なる寄託エージェンシーが維持する。

Fair crypto systems

├ 復号に必要な鍵を分ける。
└ この方法は公開鍵を使うソフトウェア暗号における手法であり、 ハードウェア暗号チップが使用されている場合には鍵寄託を使用する。

 

5.4. 暗号の手法 (Methods of Encryption):

5.4.1. 共通鍵暗号 (Symmetric key Cryptography):

├ 暗号化と復号で同じ鍵を使用する。 
├ 提供できるのは機密性のみである。
├ 速く、また解読が困難である。
└ 鍵はメッセージとは異なるチャネル(Out-of-Band)を通じて送信される。

(長所):

├ 非対称システムに比べて非常に速い。
├ 鍵サイズが大きいと解読が困難。
└ データの暗号化に用いられるアルゴリズムとツールはフリーで入手可能(可用性)

(短所):

├ 鍵配布(鍵を適切に渡すのにセキュアなメカニズムが必要) 
├ スケーラビリティー(ユーザの組毎にユニークな鍵が必要)
└ セキュリティの制限 (機密性しか提供できない)
├ データを暗号化し、そのアクセスを制限するのみ
└ 作成元の証明や否認防止については提供しなし。

5.4.2.  公開鍵暗号法 (Asymmetric key Cryptography):

├ 暗号化と復号で異なる鍵を使用する。
├ 2つの異なる非対称な鍵が数学的な関係を持つ。
├ 公開鍵から秘密鍵を導くのは計算上不可能。
└ 2つの非対称鍵は公開鍵と秘密鍵と呼ぶ。
├ 公開鍵での暗号化は機密性をもたらす。
秘密鍵での暗号化は作成元の証明をもたらす。

(長所) :

├ 効率の良い鍵配布。
├ 共通鍵方式に比べてスケーラビリティーがある。
└ 機密性、認証、否認防止機能も提供する。
├ 機密性/プライバシー(適切な秘密鍵がないとデータを解読できない。)
├ アクセス制限(秘密鍵は一人にのみ限定する必要がある。)
├ 認証(送信者の身元を確認する。)
├ 完全性(データが改竄されていない。)
└ 否認防止(送信者は送信の事実を否定できない。)

(短所):

├ 計量重点指向型
└ 遅い(対象鍵暗号方式よりも1,000倍遅い)

セキュアメッセージフォーマット (Secure message format):

└ 受信者の公開鍵で暗号化する

オープンメッセージフォーマット (Open message format):

└ 送信者の秘密鍵で暗号化する

セキュアアンドサインドフォーマット (Secure and signed format):

└ 送信者の秘密鍵で暗号化し, それを受信者の公開鍵で暗号化する

 

5.5. 2種類の対称鍵アルゴリズム (Two types of symmetric algorithms):
5.5.1.  ストリーム暗号 (Stream ciphers):

├ メッセージをビットやバイトのストリームとして扱い、それぞれに対して数学的処理を行う。 
├ 鍵はストリーム暗号へのランダム値入力で、これにより鍵ストリーム(Key Stream)データのランダム性が保証される。
├ 一度に1 ビットずつ暗号化・復号を行うのでハードウェア実装により適している。
└ ビットそれぞれが処理されるので集中的であり、 シリコンレベルでの処理が適している。

強度が高く効率的な暗号アルゴリズムの特徴:
├ 鍵ストリーム値が長期間反復されない。
├ 統計的に予測不可能。
├ 鍵ストリームは鍵と線形の関係がない。
└ 統計的に鍵ストリームにバイアスがない(0 と1の数が同程度)

鍵ストリーム生成器 (Key stream generator):
└ 暗号文を生成するために平文にXOR処理されてビットストリームを生成する。

5.5.2. ブロック暗号 (Block ciphers):

├ メッセージがビットのブロックに分けられる。 
├ 拡散(diffusion)と混乱(confusion)を使用する。 
├ それぞれのステップでS-ボックス(S-box: substitution box)を使用する。これは、平文に対してどの関数がどの順序で適用されるかを決定する鍵である。 
├ 通常データバスの幅(64 ビット)と等しいデータブロックを処理するために、ソフトウェアでの実装に適している。 
└ ブロック暗号はストリーム暗号をエミュレートするモードでも実行されることがある。

混乱 (Confusion):

└ 異なる未知の鍵値が使用される。

拡散 (Diffusion):

└ 多くの異なる関数を通じて平文にビットを挿入する。これによりアルゴリズムを通じて分散される。

S-ボックス (S-BOX):

└ ビットをどのように順序を変えるか、移動するかについての指示をする参照テーブルを持つ。 復号処理で使用される鍵はどのS ボックスをどの順序で使用するかを決定する。


5.6. 共通鍵暗号のタイプ (Types of symmetric key Cryptography):
5.6.1.  データ暗号標準 (DES: Data Encryption Standard):

├ NISTが承認したアルゴリズムで、IBMの128ビットアルゴリズムLuciferを基にしている。ブロック暗号アルゴリズムで、入力・出力共に64ビットである。
├ 56ビットが実際の鍵で、8ビットがパリティに使われる。64ビットのブロックが半分に分けられそれぞれの文字が一度に暗号化される。
├ 文字は16ラウンドの転置と、置換関数で処理される。 
└ 動作には4つの異なるモードがある:

5.6.2. DESの5つのモード
5.6.2.1. ブロックモード
電子コードブック (ECB: Electronic Code Book):

├ 64ビットのデーターブロックを一度に一つずつ処理する。
├ 複合化は、同じ鍵を使用して、暗号文ファイルの先頭から開始し、ファイルの終わりまで、一度に64ビットを処理する。
└ 早くて簡単だが既知平文攻撃を最も受けやすい。

(問題点)

├ 64ビットの各ブロックに同じ正しい鍵を使用すると、別々に攻撃できるという問題点がある。
├ 平文の所定の64ビット値は、常に同じ暗号文を生成する。
└ 所定のメッセージ鍵は、常に同じ暗号文を生成する。

暗号ブロックチェーン (CBC: Cipher Block Chaining):

├ 前のブロックの値が次のブロックのテキストに重ねあわせられる。
└ 毎回異なる所期ベクトルを選んだ場合、全く同じファイルであって異なる暗号文が生成される。

5.6.2.2. ストリームモード

暗号フィードバックモード(CFB: Cipher Feedback Mode):

├ 最後の暗号化されたブロックが乱数を生成するためのアルゴリズムで処理される。
├ この乱数が現在処理している平文のブロックに対して

使用されて暗号文を作成する。

└ このモードは個々の文字が必要なときに使用される。出力フィードバック(OFB:

Output Feedback):

├ 暗号文を生成するために平文と組み合わせられるランダムなバイナリビットのストリームが生成され、ストリーム暗号のように働く。
└ 暗号文はアルゴリズムに戻され、次のビットストリームを暗号化するための一部を形成する。

カウンター (CTR):

└ OFBモードと、各平文ブロックとXOR(排他的論理和)をとった結果が平文と暗号文の両方と無関係に生成される点で酷似している。

(利点)

├ OFBと同様、キーストリームを事前生成する事ができる。
└ OFBと違って、暗号化は平行作業が行える。

(不利な点)

└ シングルキーで暗号化された場合のカウンター値は、全てのメッセージに対して固有のものでなければならない。

5.6.3. ダブルDES (Double DES)

├ 意図された鍵長112ビット
├ DESと比較しても特にセキュアな事が判明している(中間一致攻撃)。
└ DESの2倍の解読時間

5.6.4. トリプルDES (Triple-DES)

├ 計算に48 ラウンドかかる。パフォーマンスが重く、 暗号化や復号に最大でDES の3倍の時間がかかる。
├ DES-EEE3:3つの異なる鍵でトリプルDES暗号化。
├ DES-EDE3:3つの異なる鍵でトリプルDES演算。
  (暗号化-複合化-暗号化)
└ DES-EEE2:DES-EDE2:EDE3と同じだが1回目の演算と3回目の演算は同じ鍵を使用する。

5.6.5. AES (Advanced Encryption Standard)

NISTのSESに代わる標準。ラインダールが優勝した。これは可変ブロック長と可変鍵長のブロック暗号である。
├ 3つの不可逆変換の層から成る循環変換を採用している。
非線形層 (The non-linear layer) 
├ 線形混合層 (the linear mixing layer) 
└ 鍵加算層 (the key addition layer)
└ 地域制限のない高速チップやスマートカード上の小さなプロセッサに適している。
├ 128、192、256ビットのブロックと鍵長をサポート。
(FIPSでは鍵長128bitで鍵長128,192,256の使用が承認されている。)
└ 多様な回数のラウンドで、各ラウンドは4段階(ビットの入れ替え、列のシフト、段の並び替え、ラウンドキーの挿入)を踏む。

IDEA (International Data Encryption Algorithm) :
├ 64ビット・ブロックで処理するブロック暗号。
├ 鍵長は128ビット。
└ 64ビットのデータブロックは、16の小さなブロックに分けられ、それぞれが8ラウンドの数学関数で処理されるPGP暗号ソフトウェアで使用されている。

Blowfish :

├ 64ビットブロックで処理するブロック暗号。
├ 鍵長は448ビットまで。
└ データブロックは、16ラウンドの暗号関数で処理される。

RC5 :

├ ブロック暗号で、様々なブロック長、鍵長、ラウンド数が使用できる。 
└ ブロックサイズは32/64/128ビット、鍵長は2048ビットまで。

RC2 =  Ron Rivest氏によって開発された秘密鍵暗号方式。8バイト単位で暗号化を行なう。DESと比べて動作速度が速く、鍵の長さをある程度任意に設定できる。詳細な仕様はRSA Security社が保持しており、公開はされていない。また、特定の鍵を使用すると解読されやすいなどの事情により、現在はRC4やRC5が一般的に使われている

5.7. 公開鍵暗号法のタイプ (Types of asymmetric key Cryptography)
5.7.1.  RSA (R.Rivest / A.Shamir / L.Adelman)

├ 公開鍵アルゴリズム、3つの公開鍵のニーズを全て満たす。
├ データの暗号化
├ 共通鍵の鍵配布
└ 否認防止のためのデジタル署名
├ 認証(電子署名)と暗号化を提供する。 
├ 2つのの大きな素数から作成される。(セキュリティは大きな数の因数分解が困難)
└ SSLと共に多くのウェブブラウザで使用されている。

5.7.2. Diffie-Hellman 鍵交換 (Diffie-Hellman Key Exchange)

公開鍵暗号の考えを最初に紹介した。
└ 鍵配布に使用、メッセージの暗号化や復号はできない。

5.7.3. エルガマル (El Gamal)

├ 公開鍵アルゴリズムで、デジタル署名と暗号化の両方に使用される。
├ 有限体上の離散対数計算に基づく。
Diffie-Hellman 鍵交換プロトコルの変形でRSAに酷似している。

5.7.3. 楕円曲線暗号システム (ECC: Elliptic Curve Cryptosystem)

├ デジタル署名、セキュアな鍵配布、データの暗号化を提供する。 
├ 他のシステムに比べてリソースが少なくてすむ。
└ 公開鍵システムの楕円曲線の性質に基づいている。

(利点)

暗号化と署名の速度が速い
├ ハードウェアとソフトウェア
├ 非常に小さなハードウェア実装に理想的
└ 暗号化サービスとデジタル署名サービスを別々に提供

公開暗号鍵方式の強度の比較

ECC鍵の
サイズ
RSA鍵の
サイズ
百万命令
/秒(MIPS)年
160
1024
10Combin
320
5120
10Combin
600
21000
10Combin
1200
120000
10Combin

Merkle-Hellmanナップザック

└ 組み合わせ理論の部分集合和の問題に基づく。
(和があらかじめ決められた重みと等しくなる大きな集合から、指定の重みを持つオブジェクトを選択する。)

5.8. ハイブリッド暗号方式 (Hybrid Encryption Methods)

├ 共通鍵アルゴリズムは速度が速く、強度が高い。(十分な鍵長がある場合)
├ 公開鍵アルゴリズムは、鍵の管理がしやすいが、速度が極めて遅い。
└ ハイブリッドは、各技術の長所を利用環境に合わせて利用する。
├ 大量データの暗号化のための共通アルゴリズム
└ 鍵の自動配布のための公開鍵アルゴリズム

5.8.1  公開鍵暗号(Public Key Cryptography)

├ 非対称暗号アルゴリズムによって生成された2つの鍵を使用して、暗号化鍵と鍵配布を保護する。
秘密鍵は対称暗号アルゴリズムによって生成され、大量の暗号化に使用される。
├ 非対称暗号アルゴリズムは公開鍵と秘密鍵を使用して暗号化・復号を行う。
├ 対称暗号アルゴリズム秘密鍵を使用して暗号化・復号を行う。
秘密鍵は実際のメッセージを暗号化するのに使用される。
秘密鍵は対称鍵の別称。
└ 非対称鍵は公開鍵もしくは秘密鍵のことを指す。
セッション鍵(Session keys)
├ 2人のユーザ間のメッセージを暗号化するのに使用される秘密鍵。 
└ 1つのセッションでのみ有効。

5.9. 共通鍵システムと公開鍵システムの比較

属性
共通鍵
公開鍵

2つ以上のエンティティーが1つの鍵を共有する。
一方のエンティティーが公開鍵を持ち、他方が秘密鍵を持つ
鍵交換
帯域外
秘密鍵は暗号化されメッセージと一緒に送られる。 つまり鍵は帯域内で配布される
速度
アルゴリズムが複雑でなく速い。
アルゴリズムが複雑で遅い。
鍵長
固定長
可変長
用途
大量の暗号、ファイルの暗号化等
鍵暗号化および鍵配布。
提供できるセキュリティ
機密性と安全性
機密性, 安全性, 認証, 否認防止


5.10. 公開鍵基盤 (PKI: Public Key Infrastructure)

├ PKI電子用取引に対し以下のものを提供する。
└ 機密性/アクセス制限/完全性/認証/否認防止サービス
├ 公開鍵/秘密鍵のペアと生成と配布を管理する。
├ 公開鍵を「証明書」として発行する。
└ 高信頼性を提供する。
秘密鍵は安全に保管される。
├ 特定の公開鍵は、特定の秘密鍵に厳密にリンクされる。
秘密鍵/公開鍵のペアを保有する当事者は、その当事者が本人であることを証明できる。

PKIの中核

認 証=ある名前を名乗る人を、本当にその人であることを保障すること。
完全性=「ある場所」と「ここ」との間で、または「ある時」と「今」との間で、データが意図的にまたは偶然に変更されていない事の証明。
機密性=受信者が明確に意図した場合を除き、データの特定部分を誰も読み取る事が出来ないということの証明。

電子証明書 (Digital certificate):

└ 他の識別情報と共に個人の公開鍵を含む証明書。

認証局 (CA: Certificate authority):

└ 公開鍵証明書を発行し維持管理する組織。
└ 申請、認可(申請者の認証)、発行、許可、取り消し

証明書失効リスト (CAL: Certificate revocation list):

└ 何らかの理由により無効になった証明書全てのリスト。このリストは定期的に整備される。

証明書 (Certificate):

└ 公開鍵を、所有者と主張する人とユニークに認証するのに十分な要素と結び付けるために使用されるメカニズム。

登録局(RA: Registration authority):

└ 証明書登録業務を行う。

PKIのエンティティーと機能:

├ CA/RA
├ 証明書リポジトリ (certificate repository) 
├ 証明書失効システム (certificate revocation system) 
├ 鍵のバックアップ・回復システム (key backup and recovery system)
├ 自動鍵更新 (automatic key update) 
├ 鍵履歴管理 (management of key histories) 
├ 他のCAとの相互認証 (cross-certification with other CAs) 
├ タイムスタンプ (time stamping) 
└ クライアントソフトウェア (client-side software)


5.11. ハッシュ関数 (Hash Function):

├ 一方向の計算が逆方向に比べ用意であるような数学関数
├ 任意の長さのメッセージを圧縮し、固有の固定長結果にするときに使用する。
└ デジタル署名アルゴリズムによって生成される署名に使用する。

 

優れたハッシュ関数の属性

├ 個々のハッシュ値が与えられた場合に、組み合わせた2つのメッセージのハッシュ値を計算する事ができない。
├ ハッシュは、メッセージ全体について計算されなければならない。
├ ハッシュは一方向関数なので、その署名によってメッセージは開示されない。
├ メッセージとそのハッシュ値が与えられた場合、同じハッシュ値を持つ別のメッセージを計算することは計算上実行不可能である。
└ 誕生日攻撃 (birthday attack:同じハッシュ値を持つ2つのメッセージを見つける)を阻止できる。

トラップドア一方向関数 (Trap door one-way function):
公開鍵暗号の基になっているもの。
└ 公開鍵は暗号化を行い、秘密鍵(トラップドア)は復号を行う。

ハッシング関数の種類(例)

├ RSAメッセージダイジェスト
├ MD2、MD4、MD5のアルゴリズム
├ セキュアハッシュアルゴリズム
└ SHA-1、SHA-256、SHA-384、SHA-512
└ HAVAL
└ 128~256ビットのさまざまなメッセージダイジェスト出力サイズをサポート


5.12. メッセージ完全性 (Message integrity)
一方向ハッシュ(One-way hash):

└ 可変長メッセージを圧縮してハシシュ値と呼ばれる固定長の値に変換する関数。

メッセージダイジェスト(Message digest):
├ 一方向ハシシュのハッシュ値
└ 公開鍵暗号では一方向関数が使用されている。
 機能:
├ 逆方向には実行できない。
├ メッセージの完全性を提供するが、機密性、認証は提供しない。
├ 一方向ハッシュの結果はハシシュ値である。
└ メッセージの指紋(fingerprint)を作成するためのハッシュ計算に使用される。

電子署名 (Digital signatures): 

└ 暗号化された、メッセージのハシシュ値。

デジタル証明標準 (DSS: Digital signature standard):
電子署名およびその機能や容認できる使用についての標準。
電子署名アルゴリズム(DSA: Digital Signature Algorithm)とセキュアハッシュアルゴリズム(SHA: Secure Hash Algorithm)を必要とする。


5.13. 他のハシシュアルゴリズム
MD4:

└ 128ビットのハシシュ値を生成する。ソフトウェア実装で高速計算に用いられ、マイクロプロセッサに最適化されている。

MD5:

└ 128ビットのハッシュ値を生成する。 MD4より複雑。テキストを512ビットのブロックで処理する。4ラウンドの変換を受ける。

MD2 :

└ 128ビットのハシシュ値を生成する。 MD4や MD5より遅い。

SHA: 

└ 160ビットのハシシュ値を生成する。メッセージの署名を計算する DSAに入力される。メッセージ全体ではなくメッセージダイジェストが署名される。

SHA1:

└ SHAの更新版。

HAVAL:

└ 可変長の一方向ハシシュ関数でMD5の改良版。テキストを1024ビットのブロックで処理する。

5.13.1. 一方向関数に対する攻撃

├ 衝突(Collision)あるアルゴリズムによって2つの異なるメッセージに対して同じ値を生成すること。
└ 誕生日攻撃(Birthday attack)総当たりによるハシシュ関数への攻撃。攻撃者は同じハシシュ値を持つ2つのメッセージを見つけようとする。


5.13.2. 使い捨て方式 (One-time pad)

├ 破ることが不可能で、padは-度しか使用されない。
├  繰り返しのないランダムピットセットを使用し、暗号文を生成するためにメッセージにピット毎のXOR処理を行う。
├ ランダム鍵はメッセージと同じ長さで1回しか使用されない。
└ 乱数のパッドを必要とする人全てに配布するのが難しい。


5.14. デジタル署名(Digital Signature)

├ メッセージの出所と送信者の身元を検証するための認証手段
├ 各ユーザは、公開鍵と秘密か銀Pペアを持っている。
秘密鍵で署名を作成し、公開鍵で署名を証明する。
└ デジタル署名は、送信者の秘密鍵でメッセージのダイジェストまたはハッシュ値を暗号化することで作成される。

5.14.1. DSS(デジタル署名標準: Digital Signature Standard)

├ DSA(デジタル署名アルゴリズム: Digital Signature Algorithm)
└ RSA、ElGamal、Fiat-Shamir,Schnorr、など

5.14.2. デジタル署名の運用
メッセージに署名を付ける

├ 送信者はメッセージダイジェストを計算する。
(公開ハッシュ関数を使用する。)
├ 暗号「署名」は送信者の秘密鍵で作成される。
(ダイジェストに適用すると、デジタル署名が作成される。)
├ デジタル署名はメッセージと共に送信される。
└ メッセージそのものは秘密になっていない。

メッセージを検証する。

├ 受信者は受信したメッセージダイジェストを再計算する。
├ 送信者の公開鍵を使用して署名を複合化し、送信者のオリジナルダイジェストを抽出する。
└ 再計算したダイジェストと複合化したダイジェストが一致するか検証する。

5.15. 鍵管理 (Key Management)

鍵の管理活動内容
├ 鍵の生成
├ 鍵の変更
├ 鍵の廃棄
├ 鍵の復旧
└ 暗号鍵の管理

Kerberos:

└ 暗号化に使用するセッション鍵を鍵発行局(KDC:  key distribution center)が保存、配布、維持する。

Diffie-Hellman

└ 鍵交換アルゴリズム(KEA: key exchange algorithm)を使用する。

5.15.1.  鍵管理の原則 (Key Management principles)

完全に自動化しなければならない。
├ 鍵の規律性と機密性
├ 鍵の生成に当っては、秘密裏にかつ信用できうるプロセス。
└ 鍵のスペース全体からランダムに鍵を選択する。
(パターンは、作業量を減らすことによって攻撃相手に活用される。)

暗号化と鍵の管理がアプリケーションと一体化
(ユーザから暗号を隠し易く、且つエラーを削除できる。)

キー暗号化キーはデータ暗号化キーと区別しなければならない。

└ 平文はキー暗号化キーで暗号化されない。
(キー暗号化キーは、総当り攻撃(Brute Force)に対して脆弱で無い状態に保つ。)

すべての平文オブジェクトのパターンを暗号化前に変換する。(暗号文のみ攻撃を阻止する。)

鍵を長時間使用することは避ける。

└ 同じ鍵を長時間使用すると、攻撃が成功する可能性がたかくなり、生じる結果が重大なものとなる。

鍵のコピーは一つにする。

├ 鍵のコピーを増やすと、開示の可能性が増す。
└ サーバー複数時は、共通のソースからの証明書を持つ各サーバーでそれぞれ違う鍵を使用する。

ファイル暗号化アプリケーションの復旧には緊急時用の鍵使用する。

└ 通信の暗号化の場合には、鍵を変更して使用する。

・暗号デバイスの外では平文であってはならない。
・バックアップコピーを作成し、必要なときに簡単に使えるようにしておく。
・緊急時の鍵復元のために、複数人のコントロールを選択することも出来る。すなわち鍵を復元する必要があるときに、元プロセスを行うのに複数の者が必要である。

5.15.2.  鍵および鍵管理のルール

├ 必要なレベルの保護を行う為に鍵長は十分長くなければならない。
├ 鍵の保管や送信はセキュアな方法で行わなければならない。
├ 鍵は非常にランダムでキースペースの全範囲を使用していなければならない。
├ 鍵の寿命は保護すべきデータの機密性に対応していなければならない。
├ 鍵が使用される頻度が高いほど, 寿命は短くなければならない。
├ 鍵は非常事態のためにバックアップするか鍵寄託を利用するべきである。
└ 鍵の寿命が来た場合は適切に破壊しなければならない。

 

├ 衛星リンク、T3、電話回線などのような特定のコミュニケーションパスにおいて全てのデータを暗号化する。
├ パケットの一部であるユーザ情報、ヘッダ、トレーラ、アドレス、ルーティングデータ等も暗号化される。
├ パケットスニファや盗聴に対する防御となる。
├ ホップ毎にパケットが復号され、また暗号化される。
└ 物理レベルで行われる。

7.16.2.  終点間暗号化 (End-to-end encryption)

├ 情報のみが暗号化される。
├ 通常、送信元のコンピュータのアプリケーション層において初期化される。
├ 送信元から送信先まで暗号化されたままである。
└ それぞれのアプリケーションやユーザは異なる鍵を用いることにより、高いグラニュラリティの暗号化が行える。

 

7.17. 電子メールセキュリティ
メッセージ出所の認証

└ 送信者は、その当事者が本人であることを認証する。

コンテンツの完全性

└ 送信者がメッセージを送信した後に、そのメッセージが変更されていないことを保障する。

コンテンツの機密性

└ 必ず意図した受信者のみがメッセージを読むようにする。

配達証明

└ メッセージが配達されたこと証明する。

メッセージ順序の完全性

└ 必ず全てのメッセージが正しい順番で配達されるようにする。

配達の否認防止

└ 受信者がメッセージを受信したことを証明できる。

メッセージセキュリティのラベル付け

└ 取り扱い指示命令で、メッセージにラベル付けを行う。

メッセージフローの機

└ 誰と密性メール交換をしているのか、誰にも知られないようにする。

セキュアアクセス。

└ 許可なしに電子メールシステムを他者が使用しないようにする。

7.17.1. プライバシー強化メ-ル (PEM : Privacy-enhanced mail)

└ 認証、メッセージの完全性、暗号化、鍵管理の機能を持つ。

使用されるコンポーネント:

CBCモードのDESでメッセージが暗号化される。
├ 認証はMD2もしくはMD5で行われる。
├ 公開鍵管理はRSAによって行われる。
└ X.509 標準が証明書構造とフォーマットに使用される。

*    X.509  v3は電子証明書は公開鍵のバージョン番号、証明書のシリアル番号、公開鍵情報、証明書を発行した認証局情報、証明書の有効期間、証明される主体者の情報、拡張領域といった項目で構成される。拡張領域には電子メールアドレスやIPアドレスなどといった情報を用いることができる。
      X.509v3 はSSLTLSなどといったインターネット上における暗号化、プライバシー保護の手段として様々な状況下で利用されている。

7.17.2. メッセージセキュリティプロトコル (MSP: Message Security Protocol,)

└ メッセージに署名して暗号化し、ハッシュ関数を実行する。

7.17.3. PGP: Pretty Good Privacy

├ 最初に普及した公開鍵暗号システム。
├ 鍵管理にRSA公開鍵暗号を使用し、データの大量暗号化にはIDEA対称暗号を使用している。
├ PGPではパスフレーズが使用され、これはユーザのハードディスクに保存される、ユーザの秘密鍵を暗号化するのに使用される。
└ 鍵管理アプローチは「信用の輪(web of trust)」に依存している。

カギリング(Key ring):
└ 他のユーザから受け取った, 署名された公開鍵を集めたものをそれぞれのユーザが持っている。

7.18. インターネットセキュリティ
7.18.1. HTTP: Hypertext Transport Protocol

TCP/IP の最上位に位置するステートレスなプロトコルで、クライアントとウェブサーバは操作毎に接続を確立し、切断する。

7.18.2. S-HTTP: Secure Hypertext Transport Protocol

└ セキュアハイパーテキスト転送プロトコル
├ セキュアなコミュニケーションを提供するために開発された。
├ 計算によって得られたセッション鍵でメッセージを暗号化する。
├ 完全性と送信者の認証機能を持つ。
├ ステートレスなプロトコルではない。
├ 複数の暗号化モードおよびタイプをサポートする。
├ 公開鍵技術と対称暗号を使用できる。
└ 個々のメッセージの暗号化が必要なときに使用される。

7.18.3. HTTPS: Hyper Text Transfer Protocol over SSL

├ 2つのコンピュータ間のコミュニケーションを保護する。
├ クライアントとサーバ間の保護された回線を提供するためにSSL とHTTP を使用する。
└ 2つのコンピュータ間の全ての情報の暗号化が必要なときに使用される。

RC4-40  

 ・現在HTTPSの暗号化に多く使われている。
・通信の都度、40bit暗号鍵を生成。
・暗号化と複合化に同じ鍵を使用する。
・使い捨ての鍵を用いる事により、暗号化の強度を上げている
・現在RC4-128という128bitsの鍵が使われるようになりつつある。

7.18.4. セキュアソケットレイヤー (SSL:Secure Sockets Layer)

├ コミュニケーションチャネルを保護する。
公開鍵暗号を使用する。
├ データ暗号化、サーバ認証、メッセージの完全性、最適なクライアント認証を提供する。
├ どちらかがセッションを終了させるリクエストをするまで、コミュニケーションパスは開いている。
└ アプリケーション層の下でトランスポート層の上に位置する。

7.18.5. 多目的インターネットメイル拡張 (MIME:Multipurpose Internet Mail Extension)

└ マルチメディアデータおよび電子メール添付を送信する方法を示す。

7.18.6. セキュアMIME (S/MIME:Secure MIME)

├ 電子メールの暗号化と電子署名の標準で、ファイル添付とセキュアなデータ伝送機能を持つ。
└ 暗号化アルゴリズムによって機密性を、ハッシュアルゴリズムによって完全性を、X.509 公開鍵証明書によって認証を、署名されたメッセージによって否認防止を提供する。

7.18.7. セキュアエレクトロニックトランザクション (SET:Secure Electronic Transaction)

└ クレジットカード番号を暗号化して送信するために開発された。
3つの主な部分から構成される。 
├ 電子財布。
├ 店側のウェブサイトのサーバ上で実行されているソフトウェア
└ 店の取引銀行にある支払サーバである.

7.18.8. クッキー(Cookies)

├ ユーザのハードディスクにブラウザが持つテキストファイル。
├ 人口統計学的に、宣伝用情報に使用される。
├ ユーザとサーバ間のセッションの制限時間を適用するのにも使用される。
└ 重要な情報を含んだクッキーは、送信するサーバ側で暗号化されるべきである。

7.18.9. セキュアシェル(SSH: Secure SHell)

├ リモートコンピュータへのターミナルアクセスに使用する。トンネリングメカニズムとして機能する。
telnet, ftp, rlogin rexec, rsh の代わりに使用する。
└ 2つのコンピュータがハンドシェイクをして, セキュアなチャネルが確立される.

 

7.18.10. インターネットプロトコルセキュリティ (IPSec:Internet Protocol Security)

├ 2つのデバイス間のデータ交換を保護するためのセキュアチャネルを確立する手法。
├ セキュアなネットワーク層通信のための、広く受け入れられた標準である。
公開鍵暗号を採用し、強力な暗号と認証方法を持つ。
├ VPNを確立するために使用される。
├ オープンでモジュール構成のフレームワークなので、柔軟性がある。
├ 2つの基本的なセキュリティプロトコルがある。

認証ヘッダ(AH:Authentication Header):

└ 認証プロトコル

暗号ペイロード(ESP:Encapsulating Security Payload):

└ 認証と暗号化のプロトコルで、送信元認証。
├ 機密性、メッセージの完全性を提供するために暗号メカニズムを使用している。
└ 2つのモードで動作する:
├ トランスポートモード (Transport mode): メッセージのペイロードが暗号化される。
└ トンネルモード (Tunnel mode): メッセージのペイロード、ルーティング、ヘッダ情報が暗号化される

*  インターネットで暗号通信を行なうための規格。IPのパケットを暗号化して送受信するため、TCPUDPなど上位のプロトコルを利用するアプリケーションソフトはIPsecが使われていることを意識する必要はない。現在インターネットで使われているIPv4ではオプションとして使用することができるが、次世代のIPv6では標準で実装される。

セキュリティ・アソシエーション(SA:Security association):

├ 認証および暗号化鍵、使用するアルゴリズム、鍵の有効期限、送信元IP アドレスを持つ。
└ それぞれの接続に1 つのSA が対応する。

セキュリティ・パラメータ・ンデックス(SPI:Security parameter index):
└ 異なるSA を追跡し、デバイスにどのSA を呼び出すかを伝えるインデックス。

インターネット・セキュリティ・アソシエーション・および鍵管理プロトコル
(ISAKMP:Internet Security Association and Key Management Protocol):
└ 認証と鍵交換アーキテクチャーで、使用される鍵メカニズムには依存しない。

7.19. 攻撃
7.19.1. 暗号文攻撃 (Cipher text-only attack)

├ 攻撃者は複数のメッセージの暗号文を持っている。
└ それぞれのメッセージは同じ暗号化アルゴリズムを用いて暗号化されている。

7.19.2. 既知平文攻撃 (Known-plaintext attack)

└ 攻撃者は1つもしくは、複数のメッセージの平文、および暗号文を持っている。

7.17.3. 選択平文攻撃 (Chosen-plaintext attack)

└ 攻撃者者平文と暗号文を持っており、暗号化する平文を選択することが出来る。

7.17.4. 選択暗号文攻撃 (Chosen-cipher-text attack)

└ 攻撃者は復号する暗号文を選択し、復号されて得られた平文にアクセスできる。

7.17.5. 仲介者攻撃 (Man-in-the-middle attack)

├ 他の会話を盗聴する。
電子署名をセッション鍵交換に使用することにより、攻撃を回避することが出来る。

7.17.6. 辞書攻撃 (Dictionary attacks)

└ パスワードファイルを一方向関数にかけ、一方で一般によく使用されるパスワードのリストを同じ一方向関数にかける。そしてこれらのファイルを比較する。

7.17.7. リプレイ攻撃 (Replay attack)

└ 攻撃者はチケットをコピーしてその暗号化を破る。そして後からそのクライアントのふりをしてチケットを再送し、許可されていないリソースへのアクセスを得る。

 

 

 

go to menu page

 

narto.hatenablog.com

CISSP合格ノート・CBK#04 アプリケーションおよびシステムの開発(Applications & Systems Development Security)・リモートワーク

CBK#04 アプリケーションおよびシステムの開発(Applications & Systems Development Security)

go to menu page

 

CBK#04 アプリケーションおよびシステムの開発(Applications & Systems Development Security)

4.1. セキュリティ原則

機密性 (Confidentiality)

├ 直接的な損失(バックドア、ウィルスなど)
└ 間接的な損失(機密情報の無許可の開示による間接的な損害など)

完全性 (Integrity)

├ プログラム、システム、データ
└ 信頼関係(公式、非公式なサイト等との信頼関係)

可用性 (Availability)

└ プログラム、データ、処理、リソース

4.2. マルウェア(悪意のあるソフトウェア)とウィルスの定義 (Malware and Virus Definition)

悪意のあるソフトウェア (Malware):

├ システムへの不正侵入、セキュリティポリシーの侵害、不正コードや破壊的コードの送り付けを目的として設計された、ソフトウェアまたはプログラム。
バックドア、改竄、DDoS(Distributed Denial of Service:分散型サービス不能攻撃)、デマ情報、論理爆弾プランク(嫌がらせ)、RAT、トロイの木馬、ウィルス、ワーム、ゾンビなど。

4.3. データベースシステムとデータベース管理 (Database systems and database management)

データベースのタイプ (Types of databases):

├ 階層型(Hierarchical)
├ メッシュ(Mesh)
オブジェクト指向(Object oriented)
└ リレーショナル(Relational)

データベース管理システム (DBMS: Database Management System)

├ 様々なタイプのユーザがアドホッククエリを使って、大きな構造的なデータセットを管理するためのプログラム群。
├ 構造化された大量のデータセットを管理
├ 複数のユーザにデータアクセスを提供
└ データの完全性を実現

DBMSの条件

トランザクションの持続
├ フォルトトレーランス(対障害性)と復元
├ 複数ユーザによよる共有
└ セキュリティ管理

セキュリティに関する問題点

├ データの管理が可能
デッドロックの回避(2つ以上のプロセスが、それぞれ相手が何かするのを待機し、前に進めない膠着状態。)<完全性>
└ アクセス制御により認証されたユーザだけが許可された行動をとる事ができる許可された活動。(最小特権を実現するための機能) <機密性>

データベース (Database):

└ 意味のある方法で保存されたデータの集合で、必要に応じて複数のユーザやアプリケーションがアクセスし閲覧し、データの更新を行うことが出来る。

4.3.1. データベース用語 (Database terms)/jargon
レコード (Record):

 └ 関連するデータアイテムの集合

ファイル (File): 

 └ 同じタイプのレコードの集合

データベース (Database):

 └ 相互に参照されるファイルの集合

DBMS (Data Base Management System):

 └ データベースを管理しコントロールする

ベースリレーション (Base relation):

 └ データベースに保存されたテーブル

タプル/レコード (Tuples/Record):

 └ データベース内の行

属性(Attribute):

 └ データベース内の列

主キー(Primary key):

 └ 行を一意に決める列

ビュー(View):

 └ データベース内に定義された仮想的な関係で、サブジェクトが閲覧できるデータをコントロールする。

外部キー(Foreign key):

 └ あるテーブルのある属性が他のテーブルの主キーになっている。

セル(Cell):

 └ 行と列の交差。

スキーマ(Schema):

 └ データベースを表すデータ。

データディクショナリ(Data dictionary):

└ データエレメントとその関係の中央のリポジトリ

濃度(Cardinality):

└ リレーション内の行数。

度(Degree): 

 └ リレーション内の列数。

ドメイン(Domain): 

 └ ある属性が取りうる値の集合。

 

4.3.2. データベースモデル (Database models)
リレーショナルデータモデル(Relational data model) :

├ 属性(列)とタプル(行)を使用し情報を格納・整理する。
└ 主キーがレコード内の全てのデータを対応する値に対応づけるフィールドである。

階層型データモデル(Hierarchical data model) :

├ レコードとフィールドを論理木構造で関係づける。
├ 子は1つでもよく、複数でもなくてもよい。
└ 一対多の関係をマッピングする際に有用。

分散型データモデル (Distributed data model) :

├ 複数のデータベースにデータが保存されているが、論理的にはつながっている。
└ それぞれのデータベースは別々の管理者が管理できるが、全体の論理的データベースは1人もしくは1つのグループが管理しなければならない。

4.3.3. リレーショナルデータベースのコンポーネント:
データ定義言語(DDL: Data Definition Language):

└ データベースの構造とスキーマを定義する。

構造(Structure):

└ テーブルサイズ、キープレースメント、ビュー、データエレメントリレーションシップ。

スキーマ(Schema):

└ 保存され操作されるデータのタイプとプロパティ。

データ操作言語(DML: Data Manipulation Language):

└ ユーザがデータベースを閲覧、操作、使用することができるコマンド全て。

クエリ言語(QL: Query Language):

└ ユーザがデータベースにリクエストをすることができる。

レポートジェネレータ(Report Generator):

└ ユーザが定義した形式でデータの印刷を行える。

4.3.4. データディクショナリ (Data dictionary)

データエレメントとそのリレーションシップの中央のリポジトリ
└ データエレメント、スキーマオブジェクト、参照キーの集合。
スキーマオブジェクト(Schema objects):
└ テーブル、ビュー、インデックス、プロシージャー 関数、トリガを含む。

4.3.5. キー (Keys)
主キー(Primary key):

├ テーブル内でユニークに識別し、テーブル内の個々のタプルもしくは行を明らかに指し示す。
└ テーブル内の候補キーのサブセットである。

外部キー(Foreign key):

└ 他のリレーション内の主キーに相当する、あるリレーション内の属性(行)。

4.3.6. 完全性 (Integrity)
同時性問題(Concurrency problems):

└ 異なるサブジェクトが最新の情報を得られるようにする。

意味整合性(Semantic integrity):

├ 構造的・意味的なルールが守られるようにする。 
└ これらのルールはデータ型、論理値、一意性制約、オペレーションに関係し、データベース構造に悪影響を及ぼす。

参照整合性(Referential integrity):

└ 存在しないレコードやNULL 値の主キーへの参照をしているレコードを持たないようにするメカニズム。

エンティティー整合性(Entity integrity):

└ 属性がNULL の場合。

ロールバック(Rollback):

└ 現在のトランザクションを終了させ、データベースに対する更新を全てキャンセルする文。

コミット(Commit):

トランザクションを終了させ、そのユーザが行った全ての更新を実行する。

チェックポイント(Checkpoint):

└ システムの不具合が生じたときやエラーが検知されたときに、ユーザがいつでもシステム障害前の時点に戻ることができる。

4.3.5 データベースセキュリティ問題(Database security issues)

集約(Aggregation):

└ 特定の情報にアクセスするクリアランスや許可がユーザにないが、この情報の構成要素へのアクセスが許可されている場合、このユーザは残りの見当をつけることができ制限された情報を得る

推論(Inference):

サブジェクトがアクセスを制限されている情報を、アクセスできるデータから推定するときに起きる。
└ 低いセキュリティレベルのデータが、高いセキュリティレベルのデータを間接的に表すときに見られる。

内容依存アクセス制御(Content-dependents access control):

└ アクセス制御を決めるときにファイルの内容を見る。 このタイプのアクセス制御は処理のオーバーヘッドが高いがより細かいコントロールができる。

セル隠蔽Cell suppression):

└ 推論攻撃に使用されうる情報を含んだ特定のセルを隠したり見せなかったりすること。

パーティショニング(Partitioning):

└ データベースをいくつかの部分に分け、許可されていない者がデータを集めて推論したり発見したりすることを難しくする。

ノイズと混乱(Noise and perturbation):

└ 攻撃者を誤った方向へ誘導したり混乱させたりして実際の攻撃を意味のないものにするために、偽の情報を挿入する技術。

データベースビュー(Database views):

└ 1つのグループや特定のユーザに特定の情報を閲覧することを許可し、他のグループには全く許可しない。

ポリインスタンス (Poly instantiation):

└ リレーションにおいて同じ主キーのタプルを含むことができ、それぞれのインスタンスはセキュリティレベルで識別される。

OLTP/オンライントランザクション処理(On Line Transaction Processing):

└ 問題を監視し、起きたときに適切に対応するメカニズムを提供する。

2相コミットサービス(Two-phase commit service):

└ 全てのデータベースが受け入れて更新をするまでトランザクションが完了しない

データウェアハウジング(Data warehousing):

├ 複数のデータベースから得たデータを組み合わせて大きなデータベースにし、完全な情報取得とデータ分析を行う。
├ レポーテイングおよび分析の為に最適化される。
└ データの相関関係を見えるようにする。データマイニングにより意思決定をサポート。
└ データの相互関係を定義しメタデータを生成する。

データマイニング(Data mining):

└ データウェアハウス内のデータをより有用な情報にする処理。

メタデータ(Metadata):

データマイニングツールによって作成されたデータで、関連性、相関を見つけるためのもの。
├ リソースの体系的な管理が可能なので、情報検索が向上する。
└ 利点
├ データ間の目に見えない関連性を明確にする。
└ 無関係に見えるデータを関連づける事ができる。

オブジェクト指向データベース(OODB: Object-Oriented Data Bases):

├ コードと分析の再使用が簡単で、保守の手間が省けると言う特徴がある。 
├ 問題の分析からデザインや実現への移行が容易である。
└ 主要な短所としては、ラーニングカーブが急であること、開発と運用のためのハードウェア・ソフトウェアのオーバーヘッドが高いことが挙げられる。

オブジェクトリレーショナルデータベース(Object Relational Databases):

オブジェクト指向とリレーショナル技術の特徴を組み合わせる。

 

4.4. システムライフサイクルのフェーズ / ソフトウェアライフサイクル
(System life cycle phases / Software life cycle)

4.4.1. 開発プロセス (software life cycle development process)
プロジェクト開始(Project initiation):

├ プロジェクト定義の構想
└ 提案


機能デザイン分析と計画 (Functional design analysis and planning)

├ 要件を明らかにし、定義する。
└ システム環境の仕様の決定。


システムデザイン仕様(System design specifications)

├ 機能デザインレビュー
├ 機能分析
├ 詳細計画の導入
└ コードデザイン

ソフトウェア開発 (Software development)

└ ソフトウェアの開発とプログラミング

インストール (Installation)/実装 (implementation)

├ 製品のインストール
└ テストと監査

運用 (Operational)/保守 (maintenance)

└ 製品の変更、修正、マイナーな変更

廃棄 (Disposal)/更新と入れ替え (Revision and replacement)

└ 更新や全ての入れ替えによって製品を変更

4.4.2. ウォーターフォールモデル (The Waterfall Model)

├ システム要件 (System requirements)
├ ソフトウェア要件 (Software requirements)
├ 分析 (Analysis)
├ プログラムデザイン (Program design)
├ コーディング (Coding)
├ テスト (Testing)
└ 運用と保守 (Operations & Maintenance)

4.4.3. V&Vを組み入れた修正版ウォーターフォールモデル
(Modified Waterfall Model incorporating V&V)

├ システム実現可能性 (System feasibility)     ⇒ 妥当性確認 (validation)
├ ソフトウェアプランと要件 (Software plans & requirements)     
    ⇒ 妥当性確認 (validation)
├ 製品デザイン (Product design)     ⇒ 検証 (verification)
├ 詳細デザイン (Detailed design)     ⇒ 検証 (verification)
├ コーディング (Coding)     ⇒ 単体テスト (unit test)
├ 製品のインテグレーション (Integration Product)     
    ⇒ 検証(verification)
├ 実装(Implementation)     ⇒ システムテスト(system test)
└ 運用と保守(Operations & Maintenance)     ⇒ 妥当性再確認(revalidation)

 

4.4.4. セキュリティ問題

システム開発のそれぞれのフェーズでセキュリティが考慮されなければならない。
├ セキュリティは開発の最後で取り扱ってはならない。なぜならコスト、時間、手間がかかり機能が欠けるからである。
├ 職務分離が、ロール、環境、製品開発に関する機能において実践されなければならない。
プログラマーは作成されているコードに直接アクセスできないようにする。
├ システム内のセキュリティメカニズムのテストと評価に関する証明。
├ システムとそのセキュリティレベルに関するマネジメントの正式な認定。
└ 変更に関しては承認を得、テストし、記録しなければならない。 そしてその変更はシステムのセキュリティレベルやセキュリティポリシーの実施能力に影響を与えてはならない。

4.4.5. 変更管理のサブフェーズ (Change control sub-phases)

├ リクエスト管理 (Request control)
├ 変更管理 (Change control)
└ リリース管理 (Release control)

4.4.6. 変更管理のプロセス(Change control process)

├ 変更の正式なリクエストをする。
├ リクエストを分析する。
├ 実行計画を立てる。
├ 実行のコストを計算する。
├ セキュリティに対する影響をレビューする。
├ 変更リクエストを記録する。
├ 承認を得るために変更リクエストを提出する。
├ 変更の開発。
├ 製品のコーディングを行い、機能の追加や削除を行う。
├ これらのコードの変更を正式な変更リクエストにリンクさせる。
├ テストと品質承認のためにソフトウェアを提出する。
├ 品質が適切な物になるまで繰り返す。
└  バージョンの変更を行う。

4.4.7. コンフィギュレーション管理 (Configuration management)

コンフィギュレーションの特定 (Configuration identification)
コンフィギュレーション管理 (Configuration control)
コンフィギュレーション状況説明 (Configuration status accounting)
└  コンフィギュレーション監査(Configuration audit)

4.4.8. CMM/ソフトウェアプロセス成熟度モデル (Software Capability Maturity Model)
Level 1: 初期レベル(Initiating)

└ 有能な人々と英雄; プロセスは正式でなく場当たり的

Level 2: 反復できるレベル(Repeatable)

└ プロジェクト管理プロセス; プロジェクト管理の実践が制度化されている。

Level 3: 定義されたレベル(Defined)

└ エンジニアリングプロセスと組織のサポート; 技術的な実践がマネジメントの実践と統合され制度化されている。

Level 4: 管理されたレベル(Managed)

└ 製品とプロセスの改善; 製品とプロセスが量的にコントロールされている。

Level 5: 最適化されたレベル(Optimized)

└ プロセスの改善の継続; プロセス改善が制度化されている。


4.5. アプリケーション開発方法論 (Application Development Methodology)
4.5.1. 言語のタイプ (Types of languages)
マシン語(Machine language):

└ コンピュータやプロセッサが直接理解して処理できる。

アセンブリ言語(Assembly language):

└ システムは直接理解できないので処理されてマシン語に変換される。

高級言語(High-level language):

└ システムは直接理解できないので処理されてマシン語に変換される。

4.5.2. プログラム (Programs)
インタープリタ型プログラム(Interpreted programs):

└ プログラムによって命令が1つずつ読まれ解釈される。

コンパイルされたプログラム(Compiled programs):

高級言語で書かれコンパイラと呼ばれるプログラムによってマシンが読める形式に変換される。

 

4.5.3. オブジェクト指向プログラミング (OOP: Object-Oriented Programming)

├ クラスおよびクラス内のオブジェクトを使用する。
├ クラスが定義されると、作成されたクラスのメンバーやインスタンスのために属性が再利用される。
├ オブジェクトは属性値をカプセル化する。
├ 情報は1つの名前の元にパッケージ化されて他のオブジェクトによって1つのエンティティーとして再利用される。
├ オブジェクトには共通部分が存在する。
├ 他のコンポーネントと相互作用するインターフェイスオブジェクトにはプライベートな部分が存在する。
└ 実際にどのように動くか、リクエストされたオペレーションをどのように実行するかインターフェイスから入力されたメッセージが、リクエストされて実行されるオペレーションやメソッドを特定する。

情報隠蔽(Information hiding):

└ 他のコンポーネントは、それぞれのオブジェクトが内部でどのように動くかについて知っている必要はない。

抽象化(Abstraction):

└ 不必要な詳細を隠し、重要な継承プロパティが吟味・レビューされるようにする機能。

4.5.4. オブジェクト指向のフェーズ (Phases of object orientation)
オブジェクト指向要件分析 (OORA: Object-Oriented Requirements Analysis):

└ オブジェクトのクラスとその相互作用を定義する。

オブジェクト指向分析(OOA: Object-Oriented Analysis):

オブジェクト指向の概念においては、問題ドメイン内の特定の問題を理解しモデリングする。

ドメイン分析(DA: Domain Analysis):

└ 与えられたドメイン内の全てのアプリケーションに共通するクラスとオブジェクトを特定する。

オブジェクト指向デザイン(OOD: Object-Oriented Design):

└ オブジェクトはモジュールの基本単位; オブジェクトはクラスのインスタンス

オブジェクト指向プログラミング(OOP: Object-Oriented Programming):

└ 他のプログラミングアプローチのようなタイプや変換ではなくオブジェクトやメソッドの採用を強調する。

4.5.5. オブジェクト指向プログラミング(OOP)の特長
カプセル化(Encapsulation):

└ 内部データとオペレーションを隠す。

相性(Polymorphism):

└ オブジェクトのコピーを作成し、これらのコピーに変更を加える。

Poly instantiation:

└ ブジェクト内のデータ間の違いにより、低いセキュリティレベルのサブジェクトが高いセキュリティレベルの情報を知ることのないようにする。

継承 (Inheritance):

└ プロパティと属性を共有する。

重継承 (Multiple inheritance):

└ あるクラスが複数の親クラスから動作特性を継承する状態。

委譲 (Delegation): 
└ ブジェクトからのリクエストを他のオブジェクトに転送もしくは委譲すること。この転送は、リクエストを受け取ったオブジェクトがリクエストにサービスするためのメソッドを持ってない場合に必然となる。

4.5.6. データモデリング (Data Modeling)
構造化分析アプローチ (Structured analysis approach):

└ アプリケーション内の全てのオブジェクトとサブジェクトを見て、関係、コミュニケーションパス、継承プロパティーマッピングする。

データモデリング (Data modeling):

└ データが処理される方法やコンポーネントとは独立してデータを考える。

4.5.7. データ構造 (Data Structures)

データ構造(Data Structure):

└ データエレメント間の論理的関係の表現。

凝集性(Cohesive):

└ 凝集性のあるモジュールは、他のモジュールの助けをほとんどもしくは全くなくてもあるタスクを実行できる。

低凝集性(Low Cohesion): 
└ 分散していて複数のタスクを実行する。

高凝集性(High Cohesion): 

├ 1つのタスクに集中する。
└ 最適なプログラミングではできる限り凝集性の高いモジュールを使用するが、異なるモジュールはデータをやり取りしコミュニケートしなければならないため、通常は完全に凝集的にはならない。

結合(Coupling):

└ アプリケーション内モジュール間の相互結合の尺度。

Low Coupling:

└ 独立したモジュール。

High Coupling:

├ 他のモジュールに依存する結合度が低いほど、よりよいソフトウェアデザインである。なぜならモジュールが独立だからである。
コンポーネントが独立であるほどアプリケーションが簡潔で、変更やトラブルシューティングが容易である。

4.5.8. オブジェクト管理アーキテクチャー (OMA: Object Management Architecture)
オブジェクトリクエストブローカ(ORB: Object Request Brokers):

コンポーネント間の全てのコミュニケーションを管理し、異質で分散した環境において相互に作用しあうことを可能にする。

CORBA: Common Object Request Broker Architecture:

├ 異なるソフトウェア、プラットフォーム、ハードウェア環境における相互運用性を提供する。
├ 場所や開発者に関わらず、アプリケーションが相互にコミュニケートできるようにする。
└ この互換性を実現するために、ユーザは小さな初期コードとインターフェイス定義言語(IDL: Interface Definition Language)を開発する。

共通オブジェクトモデル (COM: Common Object Model):

└ プログラム間でのオブジェクトの交換をサポートする。

分散型共通オブジェクトモデル (DCOM: Distributed Common Object Model):

├ ネットワーク環境でオブジェクトを共有するための標準を定義する。
└ 環境内のユーザ、リソース、コンポーネントを一意に識別するために、グローバルでユニークな識別子であるGUID を使用する。

オープンデータベース接続 (ODBC: Open Database Connectivity):

└ 様々なタイプのリレーショナルデータベースへの接続に使われる標準SQLを提供する。

動的データ交換 (DDE: Dynamic Data Exchange):

├ IPC を提供することにより異なるアプリケーションでデータを共有する。
└ 2つのアプリケーション間での直接対話を可能にするコミュニケーションメカニズム。


分散コンピューティング環境 (DCE: Distributed Computing Environment):

├ RPC を元にした、コミュニケーションレイヤを持つ管理サービスの集合。
ネットワーク層の上にあるソフトウェアのレイヤで、その上のアプリケーションにサービスを提供する。
├ ユニバーサル一意識別子(UUID)を使用し、環境内のユーザ、リソース、コンポーネントをユニークに識別する。
├  RPC 関数はプログラムを送りネットワーク越しに送信するために準備することによって、引数とコマンドを収集する。
└ DFS(Distributed File Services、分散ファイルサービス) が、全てのDCE ユーザが共有するために使用する単一の統合されたファイルシステムを提供する。

4.5.9. エキスパートシステム /知識ベースシステム(Expert systems/knowledge based systems)

人工知能を使用し人間の知識をエミュレートして問題解決する。
├ 知識ベースとアルゴリズムセットとルールを持ち、知識と入ってきたデータから新しい事実を推論するために使用されるコンピュータプログラム。
├ ルールベースプログラミング(Rule├based programming): 
エキスパートシステムの一般的な開発手法である。
├ パターンマッチング(Pattern matching): 
└ if-then ロジックユニットに基づく。
└ 推論エンジン(Inference engine): 
└ 自動的に事実をパターンにマッチングさせ、どのルールが当てはまるかを決定するメカニズム。

4.5.10. 人工神経ネットワーク (Artificial Neural Networks)

├ 脳のニューラル構造に基づいた電子モデル。
ニューロンとその回路の基本的な機能を模倣して新しい方法で問題を解決しようとしている。

4.5.11. Java

├ プロセッサに依存しない中間コードであるバイトコードを生成するのでプラットフォームに依存しない。
Java 仮想マシンバイトコードマシン語に変換する。
Java アプレットは、アプレットのアクセスをユーザシステムの特定の領域にのみ制限したサンドボックスを採用したセキュリティスキームを使用しているので、不正やアプレットの不具合から守られる。

4.5.12. ActiveX

マイクロソフトの技術で、インターネットユーザがダウンロードして機能やインターネット体験を強化するためのコントロールを書くために使用される。
├ プログラムがどこから来たかをユーザに知らせることによりセキュリティを守っている。
└ 電子証明と信頼された認証局に依存したコード署名技術を使用している。

4.5.13. 不正なコード (Malicious Code)

ウイルス、ワーム、トロイの木馬論理爆弾等、以下によって検知される:

├ ファイルサイズの増加
├ 予期しない多くのディスクアクセス
└  更新・変更日時の変更

4.5.14. ウイルス (Virus)

他のプログラムを探して自らのコピーを埋め込んで感染するプログラム。
感染したプログラムが実行されると埋め込まれたウイルスが実行され感染が広がる。

ブートセクターウイルス(Boot sector virus):

└ データをブートセクターに移動するか、新しい情報で上書きする。

ステルスウイルス(Stealth virus): 

└ ファイルやブートレコードに施した変更を隠す。

ポリモーフィック型ウイルス(Polymorphic virus): 

└ 自らと異なるが動作するコピーを作成する。

└ ハードディスクのブートセクターおよび実行ファイルに感染する。

セルフガーブリングウイルスSelf-garbling virus:

├ 自らのコードを変造してアンチウイルスソフトウェアから隠そうとする。
└ ウイルスが広まるにつれてコードのエンコード方法が変化する。

 

4.5.15. ワーム (Worm)

ホストアプリケーションがなくとも自分自身で再生成される自己完結型プログラム。

4.5.16. 論理爆弾 (Logic bomb)

あるイベントが発生したときにプログラムやコードストリングを実行する。

4.5.17. トロイの木馬 (Trojan horse)

他のプログラムとして偽装されたプログラム。


4.6 攻撃(Attacks)
4.6.1. サービス拒否攻撃 (DoS: Denial of Service):

攻撃者は被害者の帯域やリソースを消費しシステムのクラッシュを引き起こしたり他のパケットの処理を妨害したりする。

4.6.2. Smurf
3者必要である:

├ 攻撃者、被害者、増幅用ネットワーク攻撃者はパケットヘッダの送信元IP アドレスをスプーフもしくは変更し、ICMP ECHO パケットが被害者のシステムから送信されたように偽装する。
├ このICMP ECHO メッセージは増幅用ネットワークにブロードキャストされ、返答が返される。
└ これにより被害者のシステム・ネットワークは使用できなくなる。
Pingツールが実行されると、応答IPアドレスを含んだICMP(Internet Control Message Protocol)エコー要求パケットが目標のマシンに送信されます。目標のマシンがTCPパケットを受信した場合、Ping要求に認証の応答を返します。
Smurf DoS攻撃の場合は、Pingのパケット応答IPアドレスを、標的となるマシンのIPに偽装させます。このPingはIPブロードキャストアドレス全体に発信されます。その結果、全てのマシンが偽のPingパケットに反応して標的のマシンに応答するため、標的のマシンに過重負荷がかかってしまいます。

この攻撃は、SmurfというDoSツールを使用することから、Smurf攻撃と呼ばれています。
このような攻撃に遭う危険性を抑える手段の一つとして、使用頻度が低かったり必要のないIP-ダイレクトのブロードキャストを無効にしておくという方法があります。OSによっては、マシンがICMPパケットに応答しないよう設定することも可能です。
Smurf アタックの主なターゲットとなるは IRC サーバです。


4.6.3. Fraggle

UDP を武器として選択する。
└ 攻撃者はスプーフされたUDP パケットを増幅用ネットワークにブロードキャストし、その返答は被害者のシステムに返される。

sumurf の変種として fraggle があります。 これは ICMP の代わりに UDP を使用します。 この場合、echo、chargen、daytime、qotd の各ポートが応答のトリガとして利用されます。 これらのポートは pingpong アタックでも狙われやすいので、 オフにしておく必要があります。

4.6.4. SYN Flood

├ スプーフされたパケットでSYN メッセージを継続的に送信する。
└ 被害者はこのコミュニケーションソケットに必要なリソースを割り当て、SYN/ACK メッセージを返し、ACK メッセージを待つ。

4.6.5. ティアドロップ攻撃 (Teardrop Attack):

├ 攻撃者は、システムがフリーズもしくはリブートするような非常に小さいパケットを送信する。
└ いくつかのシステムではパケットが大きすぎないかについてはチェックしないが、小さすぎないかについてはチェックしないために起きる。

 断片化されたIPパケットをつなぎ合わせる際の、TCP/IPの実装上の問題を突いた攻撃方法。ネットワーク上にデータを転送するとき、ネットワークによって決められている最大伝送単位(MTU)を超えるようなIPパケットは、複数の小さなIPパケットに分割されます。分割されたそれぞれのIPパケットには、分割される前のパケットのどの部分であるかを示すオフセット情報が含まれています。分割されたIPパケットを受け取った側は、このオフセット情報を元にしてIPパケットを組み立て、元のパケットを復元しようとします。
 Teardrop攻撃では、このオフセット情報を偽造することにより、オフセットが重複するような不正なIPパケットの断片を作成し、ターゲットとなるコンピュータに送信します。受信した側のコンピュータが、重複したIPパケットの断片をうまく処理できないというTCP/IPの実装上の問題を持っていた場合、システムはクラッシュしてしまうことがあります。この攻撃を防ぐためにはTCP/IPの実装上の問題を修正したパッチを当てる必要があります。

4.6.6. 分散サービス拒否攻撃 (DDoS: Distributed Denial of Service):

├ DoS攻撃の論理的な拡張。
└ 攻撃者はスレーブ/ゾンビマシンをコントロールするマスターコントローラーを構築する。

 

4.6.7. DNS DoS 攻撃 (DNS DoS Attacks)

├ 偽のIP アドレスを指す新しいレコードでDNS サーバのレコードを入れ替える。
└ キャッシュ汚染(Cache poisoning):
└ 実際のレコードを入れ替えるのではなくサーバのキャッシュにデータを挿入する.

 

 


<参考>

ウイルスの種類

ファイル感染型    マルチパータイト型    ブートセクタ感染
システム感染型    電子メールウイルス    ポリモーフィック
マクロウイルス    スクリプトウイルス    デマ情報

マルウェアの種類

ウイルス        感染し破壊や改竄を行う。
ワーム        感染し破壊や改竄を行う。自己増殖する。
デマ情報        デマのウイルス情報などのチェーンメール
トロイの木馬    表面上は有益なソフトウェア、システムの遠隔操作など。
改竄        データやシステムファイルの変更など
バックドア    メンテナンスフックなど。(ソフトウェア等の裏口)
RAT        Remote Admin Trojan(バックドアトロイの木馬
DDoS        分散型DoS攻撃
プランク        嫌がらせ、イースタンエッグ、だファイル材サイズの増加

実行可能モバイルコード
Webアプレット        自動的にロードされ実行される。
ダイナミック電子メール    電子メールメッセージに含まれる、アクティブなスクリプトメッセージ。

モバイルコードからの保護手段
コードの実行場所を検証する。(サンドボックスを使用する。)


Webアプリケーション環境の懸念要素(検知にはIDSが必要)

    • ハッキングの大多数は、アプリケーションレベル
    • HOST、NW、Userに欠陥を生じさせるもっとも簡単な方法
    • 広くアクセス可能
    • ログの無い場合が多い
    • 最低限の侵入検知
    • ファイヤーウォールで防御できない
    • トランスポート層での暗号化かが約にたたない。

 

ソフトウェア保護手段

    • 既存のシグネチャスキャン
        ◦ 既知のオブジェクト
        ◦ シグネチャの更新
        ◦ 誤検知が多い場合は要注意
・活動の監視
        ◦ 監査
        ◦ 処理、ディスク、通信に関する活動発見的チェック
        ◦ 誤検知
    • 変更検出
        ◦ プログラムやファイルやプロセスに対する変更
        ◦ 新しい実行ファイルの追加(整合性チェックと混同される場合がある。)
        ◦ (誤解)システムの完全性は最初のベースラインが確立される前に既にうしなわれている可能性がある。
        ◦ 誤検知が多い場合は要注意。

DBMSの保護手段(ロック機能ACIDシステム)
原始性(Atomicity)

└ 全ての変更が有効になるか、またはどの変更も有効にならないこと。

一貫性(Consistency)

└ オーナまたはシステムによって定義された整合性制約を満たしている場合のみ、トランザクションを実行する事ができる。

独立性(Isolation)

トランザクション完了しない限りその結果は明らかにならない。
永続性(Durability)
└ 完了したトランザクションの結果は永久に保証される。

 

ここまで

 

go to menu page

narto.hatenablog.com

CISSP合格ノート・CBK#03 情報セキュリティ管理 (Information Security Management)・リモートワーク

CBK#03 情報セキュリティ管理 (Information Security Management)

 

go to menu page

CBK#03 情報セキュリティ管理 (Information Security Management)

1.1. セキュリティの基本原則 (Fundamental Principles of Security)

1.1.1. セキュリティ目標 (Security objectives)
機密性(Confidentiality):

 └ 必要なレベルの機密性を実現する能力を提供する。

完全性(Integrity):

 └ 情報とシステムの正確性と信頼性が提供され、許可されていないデータの変更が防止されているときに保全性が守られていると言える。

可用性(Availability):

 └ サービスや生産の中断を防ぐ。

 ※C.I.Aのバランスが重要

1.1.2. 定義 (Definitions)
脆弱性 (Vulnerability):

└ コンピュータやネットワークなどの情報システムにおいて、第三者が保安上の脅威となる行為(システムの乗っ取りや機密情報の漏洩など)に利用できる可能性のあるシステム上の欠陥や仕様上の問題点。

脅威 (Threat):

└ 情報やシステムにとっての潜在的な危険。

リスク(Risk):

脆弱性を突いた脅威の可能性。/望ましくないイベントが発生する可能性。

露出 (Exposure):

└ 脅威による、損害の危険性にさらされること。

残存リスク

└ 残存する一部のリスク。

対策 (Countermeasure) / 予防策 (Safeguard):

潜在的なリスクを軽減する。

トップダウンアプローチ (Top-down approach):

└ 開始、サポート、指揮がトップマネジメントから中間マネジメントを通じスタッフメンバーに進む。

ボトムアップアプローチ (Bottom-up approach):

└ セキュリティプログラムが、適切なマネジメントのサポートや指揮なしにITスタッフによって開発される。

運用上のゴール (Operational goals):

└ 日々のゴール

戦術上のゴール (Tactical goals):

└ 中期のゴール

戦略上のゴール (Strategic goals):

└ 長期のゴール

リスク管理 (Risk Management):

└ リスク(脅威と脆弱性)を特定して評価し、受け入れられるレベルまで軽減した上で

そのリスクレベルを維持するために適切なメカニズムを実行するプロセス。
    • 総合リスク=脅威、脆弱性、資産価値
    • 軽減管理のコンセプト:総合リスク-対策=残存リスク

1.2. リスク分析 (Risk Analysis)

セキュリティ予防策を正当化するためにリスクを特定し可能性のある損害を見積もる手法。

3つの主要なゴールがある。

├ リスクを特定する。
潜在的な脅威の影響を計る。
└ リスクの影響と対策のコストの経済的バランスを提供する。

リスクには潜在的な損害が存在する。

└ 企業は実際に脆弱性を突かれた場合に何らかの損害を受けるだろう。

遅効型の損害 (Delayed loss):

└ リスクが最初に起こった後に企業に悪い影響がある。

リスク分析のステップ

├ 情報と資産の価額を定める。
├ リスク毎に潜在的な損失を見積もる。
├ 脅威分析を行う
├ リスク毎の全体の潜在的な損失を導き出す
├ それぞれのリスクに対する。対策を選択する。
└リスクの軽減, 譲渡, 受け入れをする。

1.2.1. 定量的アプローチ (Quantitative Approach)

├ 生じる損害と対策のコストに実際の数字を当てはめる。
├ 脅威とリスクの可能性を決めるときに明確なパーセンテージを定める。
└ 質的なアイテムを定量化しようとする手法であるため、純粋に量的なリスク分析は不可能である。

リスクの計算 (Calculating risks) 

├ 露出要素 (EF: Exposure Factor) = 特定の脅威によって起こる資産損失のパーセンテージ
├ 単一損失予測 (SLE: Single Loss Expectancy) = 資産価値×露出要素(FE)
├ 年次発生率 (ARO: Annualized Rate of Occurrence) = 1年間に脅威が起こる頻度の推定値
└ 年次損失予測 (ALE: Annualized Loss Expectancy) = 単一損失予測(SLE)×年次発生(ARO)

 

(強み)

・財務上の費用を明らかにする。
・特定データの運席をより簡明にする。
・分析と計算の自動化
・明確な数量的な結果によりマネージメントへの説明が簡単

(弱み)

・多くの複雑な計算が必要
・多くの時間と労力が必要
・多くの投入データが必要
・いくつかの前提条件が必要

 

1.2.2. 定質的アプローチ (Qualitative Approach)

リスクの可能性の様々なシナリオを一通り見て、脅威の深刻度と資産の重要性にランクを付ける。

シナリオを作成する際の手順:

├ シナリオは主要なそれぞれの脅威を扱う。
├ シナリオはビジネスユニットマネジャーによって現実性のチェックをされる。
├ RAチームはそれぞれの脅威に対して様々な防御策を推薦する。
├ RAチームは脅威, 資産, 防御策を使用してそれぞれの最終的なシナリオを作成する。
└ チームは成果をマネジメントに提出する。

(強み)

・複雑な計算を必要としない。
・時間と労力が少なくて済む
・使用するデータ量が少なくて済む。

(弱み)

・費用を明確に出来ない。
・質的分析は簡明でない。

 

1.2.3. デルファイ法 (Delphi Technique)

グループ意思決定の手法でグループのメンバーのそれぞれが、特定のリスクの結果について率直な意見を言うことを保証する。

1.2.4. 対策とリスクの計算 (Calculating countermeasures and risk)

├ 企業にとっての防御策の価値 
= (防御策導入前のALE) - (防御策導入後のALE) - (防御策の年間費用)
├ 総リスク     = 脅威×脆弱性×資産価値
└ 残余リスク = (脅威×脆弱性×資産価値) * コントロールギャップ

1.2.5. リスクの対処 (Handling Risk)

├ リスク移転 (Transfer risk)     ⇒ 保険の購入
├ リスク軽減 (Reduce risk)     ⇒ 対策の導入(Implements countermeasures)
├ リスク拒否 (Rejecting risk)     ⇒ リスクを拒否もしくは無視する。
└ リスク受入れ (Accept the risk) ⇒ 企業がどのレベルのリスクの元にあるか、また可能性のある損害のコストについて理解し、それと共存して行くことに決める。

 

1.3. セキュリティプログラム (Security Program)

ポリシーのカテゴリー(Categories of policy):

├  規制 (Regulatory)
├  勧告 (Advisory)
└  情報提供 (Informative)

 

1.3.1 セキュリティポリシー(Security Policy)

├ シニアマネジメントが作成する。
└ 経営者の目的と目標を文章化し、伝達する。
├ 組織にとって価値があると見なされる資産および基本原則を明確にする。
├ 対象範囲、機能および組織の目的と目標を明確にする。
├ 個人の責任(説明責任)を明らかにする。
├ 全体的な声明で、組織内においてセキュリティがどのような役割をするかを定める。
└ 一般的な形式で多くの事項についてカバーするために広く外観的な言葉で書かれている。

 

組織のセキュリティポリシー(Organizational security policy): 

└ 組織内全てのセキュリティ活動の範囲と方向を示す。

特定の問題のポリシー(Issue-specific policies): 

└ 包括的な枠組みを構築し、全ての従業員がセキュリティ問題にどのように従うかについて理解するために、マネジメントがより詳細な説明と注意が必要だと感じる特定のセキュリティ問題を扱う。

特定のシステムのポリシー(System-specific policy): 

└ 実際のコンピュータ, ネットワーク, アプリケーション, データに近いマネジメントの意思を示す。

 

1.3.2. スタンダード (Standards): ← 標準

├ ハードウェアとソフトウェア製品がどのように使用されるかを定める。 
└ 特定の技術、アプリケーション、パラメータ、手順が組織全体で決まった方式で実行されるようにする方法を提供する。こうしたルールは通常企業内で強制される。

1.3.3. プロシージャ (Procedure): ← 手順

├ あるタスクを遂行するためのステップバイステップのアクションである。
└ ポリシーチェインの最も低いレベルとみなされる。

1.3.5. ガイドライン (Guidelines): ← 推奨行為

└ 特定のスタンダードが当てはまらない場合に、ユーザ、IT スタッフ、オペレーションスタッフ、その他に対する推奨されたアクションおよび運用上のガイドとなる。

1.3.4. ベースライン (Baselines): ← 基本線

└ 組織全体に必要なセキュリティの最低限のレベルを提供する。

1.4. 情報の分類

目的:

├ 情報資産を適切なレベルで保護できるようにする。
├ セキュリティを類別し、セキュリティ保護の必要性と優先度を明らかにする。
├ 不正な情報変更のリスクを最小限に抑える。
├ 不正な情報開示を防止する。
├ 競争力を維持する。
├ 合法的戦略を保護する。
└ プライバシー方法、規制、業界標準に準拠する。

 

1.4.1. データの分類 (Data Classification)

└ データ分類の主要な目的は、それぞれのタイプの情報に必要なレベルの機密性、完全性、可用性を示すことであり、それによりデータが最も効率的に保護される。
一般的な分類レベル(高レベルから順に):

商業ビジネス(Commercial business)

├ 秘密(Confidential)
├ プライベート(Private)
├ 取り扱い注意(Sensitive)
└ 公開(Public)

軍(Military)

├ 最高機密(Top secret)
├ 機密(Secret)
├ 秘密(Confidential)
├ 非機密だが取り扱い注意(Sensitive but unclassified)
└ 非機密(Unclassified)

 

1.5. 組織内での役割と責任 (Responsibility to consider include):

経営幹部 (Executive Management):

└ 資産保護に関する全ての権限が与えられる。

上級管理職/シニアマネジャー (Senior Manager):

└ 組織のセキュリティと資産の保護に最終的な責任を持つ。

オーナー (Owner)

├ 組織のセキュリティポリシーに基づく適切なセキュリティが情報システムに実装されていることを確認する。(ポリシーとの一貫性)
├ 適切な重要度レベルまたは分類を決定する。
└ アクセス権を決定する。

データ・オーナー (Data Owner):

├ 通常シニアマネジメントの一員で、データの保護と使用の最終的な責任を持つ。
├ 自分が責任を持っているデータの分類を決め、ビジネスニーズが生じたときにはその分類の変更を行う。
└ 日々のデータ保持の責任をデータ管理者に委譲することがある。

情報セキュリティ専門家 (Information Security professional):

├ 組織のセキュリティに関する、ポリシー、スタンダード、ベースライン、プロシージャ、およびガイドラインの策定、実施、管理、見直しを担当する。
└ セキュリティに関して職務上責任を持ち、マネジャーの指示を実行する。

データ/システム管理者 (Data/System Custodian):

└ 通常はネットワーク管理者または当該業務担当者が担当する。
└ データ/システムの保持と保護の責任を付与される。

ユーザ(User)

├ 仕事に関連したタスクのために日常的にデータを使用する個人全て。
├ 職位内で必要なレベルのデータアクセスを持っていなければならない。
セキュリティポリシーに従い、資産の可溶性、完全性、機密性を維持する責任がある。

情報システム監査員 (Information System Auditor):

├ セキュリティ目標が妥当であること、また、スタンダード、ベースライン、プロシージャ、ガイドラインが組織のセキュリティ目標を適切かつ効果的に満たしていることを

経営陣に対して監査の立場から保障する。

└ セキュリティ目標が適切な管理下で達成されているか確認する。

 

1.6. 製品/システムの評価基準 (Product/System Evaluation Criteria)
TCSEC(Trusted Computer System Evaluation Criteria):

├ ベンダーのセキュリティ製品に備わっている機密保持機能の評価基準となる。
├ データの機密性に関するポリシー要件を満たすベンダー製品を選択するための目安となる。
└ 製品における一定のセキュリティレベルを保障する。
├ 顧客 → 信頼性の評価基準
└ ベンダー → 組み込むべきセキュリティ機能

 

ITSEC(Information Technology Evaluation Criteria):

└ セキュリティ基準の国際的な調整
├ 豊富な経験に基づく。
├ セキュリティ基準の相違をなくす。
└ 国境を越えて、また商用であるか政治目的であるか軍事目的で有るかにかかわらず、基本的な概念と手法を統一する。

 

Common Criteria(情報セキュリティ国際評価基準):

├ 製品/システムのITセキュリティ要件を表す共通の構造と言語をあらわす。
└ 共通の基準を設けることで、ITセキュリティの評価結果が多くの関係者にとって有意義なものとなる。
*上記の3つの項目の詳細はCBK#6 Security Architecture 参照

 

ISO17799

└ 作業基準-指針とサポート
├ 情報セキュリティを実施する際のさまざまな管理関する総合的な指針を示す。
└ 良質なアドバイスをパッケージにしたもの。

 

BS7799-2

└ 管理システム基準(認証可能かつ測定可能な要件)
├ 管理システムの標準であり、定義済みの要件の遵守を実施するために用いる。
└ この基準に基づく評価は、選定した管理機能が正しく実施されており、有効であることによって判断する。

 

1.7. 人事セキュリティ (Personal Security)

1.7.1. 採用時等の雇用プロシージャ- (Hiring Procedures):

├ 経歴調査、信用照会調査、学業成績など。
├ 機密保持契約やビジネス倫理承諾書等へのサイン。
├ 最初は雇用時に低レベルのチェックしか行わなかった場合は、昇進時にさらに詳細のチェックを行う必要がある。
└ 雇用は、(配属先のマネージャーだけでなく)人事部門と協力して実施すること。

 

1.7.2. 退職時のプロシージャー (Termination Procedures):

├ アクセスカードや機器類を全て返却させる
└ 退職後は、その従業員のユーザアクセス件を全て削除させる。

 

1.7.3. 推奨慣行 (Good Practice):

仕事内容の説明、役割と責任の明確化。

責任の分離 (Separation of duties):

├ 従業員が牽制し、不正な目的でシステムを操作するのを阻止する。
├ 危険なタスクを1人で実行することができないようにすること。
└破壊や不正を行うのに複数の人間を必要とする場合の共謀(Collusion):の防止

 

ジョブローテーション(Job rotation)

└ 特定の個人にビジネスセグメントのコントロールをあまりに与えすぎないようにするため、長期間1 人の人間を同じポジションに置いておかない。

 

休暇取得義務

└ 休暇中に不正が発覚する。

機密保持契約(Nondisclosure agreements):

└ 従業員が何らかの理由で辞職する。場合に企業を守る。

 

1.8. セキュリティ意識の向上 (Security Awareness)

意識向上を目的とした資料

└ 各従業員が自分のセキュリティ責任を認識する。

レーニングのタイプ(Types of training):

├ オペレーターへのセキュリティ関連ジョブトレーニング。
├ セキュリティが重要な職位の特定の部署やグループに対する啓蒙トレーニング。
├ IT サポート人員やシステムアドミニストレーターに対する技術的セキュリティトレーニング。
├ セキュリティ実行者や情報システム監査者に対する高度な情報セキュリティトレーニング。
└ シニアマネジャー、ファンクショナルマネジャー、ビジネスユニットマネジャーに対するセキュリティトレーニング。

 

教育 (Education)

└ 組織のセキュリティプログラムの成功に不可欠な意思決定スキルとセキュリティ管理を習得する。

 

go to menu page

ここまで

narto.hatenablog.com

CISSP合格ノート CBK#02 Telecommunication Network & Internet Security・リモートワーク

go to menu page

 

CBK#02 通信、ネットワーク、インターネットのセキュリティ
(Telecommunication Network & Internet Security )

2.1  OSI参照モデル(Open System Interconnect Model)

OSI参照モデル

 

第7層

アプリケーション層 (Application layer)
・次の層にプロセスまたはデータを適切にフォーマットしそれを渡す。
・データ通信を利用した様々なサービスを人間や他のプログラムに提供する。
 (代表的なプロトコルSMTP, HTTP, LPD, FTP, WWW, Telnet, TFTP)

 

第6層

プレゼンテーション層 (Presentation layer)
第5層から受け取ったデータをユーザが分かりやすい形式に変換したり、第7層から送られてくるデータを通信に適した形式に変換したりする。(グラフィックフォーマット= TIFF, GIF or JPEG / データ圧縮と暗号化)

 

第5層

セッション層 (Session layer)
通信プログラム同士がデータの送受信を行うための仮想的な経路(コネクション)の確立や解放を行う。
(代表的なプロトコルSSL, NFS, SQL, RPC)

第4層

トランスポート層 (Transport layer)
相手まで確実に効率よくデータを届けルータめのデータ圧縮や誤り訂正、再送制御などを行う。論理的な関係を確立
(Protocol = TCP, UDP)


第3層

ネットワーク層 (Network layer)
相手までデータを届けルータめの通信経路の選択や、通信経路内のアドレス(住所)の管理を行う。
(Protocol= IP, ICMP, RIP, OSPF, BGP, IGMP / パケットの到達を保証しない。)

 

第2層

データリンク層 (Data Link layer)
通信相手との物理的な通信路を確保し、通信路を流れるデータのエラー検出などを行う。(電子信号およびビット・パタンを定義)
(Protocol = SLIP, PPP, RARP, L2F, L2TP, FDDI, ISDN )

 

第1層

物理層 (Physical layer)
データを通信回線に送出すルータめの電気的な変換(送信用電圧にビットを変換)や機械的な作業を受け持つ。ピンの形状やケーブルの特性なども第1層で定められる(HSSI, X.21, EIA/TIA-232, EIA/TIA-449)。
3つの異なるモードのコミュニケーションを提供
単信方式 (Simplex)/半二重方式Half-duplex/全二重方式Full-duplex

※(各層はデータパケットにその層の情報を加える。)

 

TCP/IPモデルとOSI参照モデルとの比較

 いつか掲載(表が上手くはいらないため、そのうち掲載するかも)

 

2.2. プロトコル


システムがネットワークを介してどのように通信するか決める規則の標準。

IP (Internet protocol): 

├ 主な仕事はインターネットの経路指定、パケットの転送、アドレスの付与を助ける。
トランスポート層からそれに渡されたデータを包む、コネクションレスプロトコル

 

TCP (Transmission control protocol):    

├ コネクション型のプロトコルでパケットが目的コンピュータに配達されることを保証する。
├ パケットが送信の間に失われた場合、TCPはそれを再送する能力を持っている。
├ 信頼度を提供し、パケットが運ばれることを保証する。
TCPパケットの中により多くのオーバーヘッドがある。

 

UDP (User Datagram Protocol):

├ ベストエフォート、コネクションレス志向のプロトコル
├ パケット配列、フローおよび過密コントロール、および目的地を持っていない。
└ オーバーヘッドが小さい。

 

TCP Handshake:(TCP・ハンドシェーク)

├  1. Host sends a SYN packet
├  2. Receiver answers with a SYN/ACK packet
└  3. Host sends an ACK packet

IPv4 - Uses 32 bits for its address
IPv6 - Uses 128 bits for its address

 

2.3. LAN media access technologies 

2.3.1. Ethernet:

Characteristics: (特性)

├ メディアの共有/ブロードキャストとコリジョンドメインの使用
├ 搬送波感知多重アクセス/衝突検出(CSMA/CD)アクセス方式
├ 全2重ツィスト・ペア上で実行される全2重をサポート
└ ツィスト・ペアか同軸の使用可能/802.3に準拠

 

10base2 implementation:

同軸ケーブル使用、最長185m、10Mbps

10base5 implementation: 

同軸ケーブル使用、最長500m、10Mbps

10base-T implementation: 

└ ツィスト・ペア・ケーブル使用、10Mbps、通常スター・トポロジーを使用

Fast Ethernet :

└ ツィスト・ペア・ケーブル使用、100Mbps

Token ring (トークン・リング):

├ 星型に形成された位相を備えたトークン・パッシング技術を使用します。
├ 各コンピュータは中央のハブ、MAUに接続されます。マルチステーション・アクセス単位。
└ 16Mbpsの送信データ

Active monitor (アクティブ・モニタ)

└ ネットワーク上で連続的に循環している構造を削除します。

 

Beaconing (ビーコン)

├ コンピュータがネットワークに関する問題を検知する場合信号フレームを送ります。
└ 検知された欠点のまわりで試みて働くためにあるセッティングを再構成することをコンピュータと装置がどこで試みるだろうかは失敗領域を生成します。

 

2.3.2. FDDI--Fiber Distributed Data Interface:

高速トークン・パッシング・メディア・アクセストポロジー

├ 100Mbpsのデータ転送
├ 逆方向からのファイバーリングにより、フォルトトレーランスを提供します。
└ いくつかのトークンがリング上で同時に存在することを可能にします。


2.4. Cabling 

同軸ケーブル (COX: Coaxial Cable):

├  EMI(電磁妨害)に強い。
├ ツィスト・ペアと比較して、より高い帯域幅およびより長いケーブル長を提供する。
├ ベースバンド方式を使用すると、ケーブルは1つのチャンネルのみ伝送することがでる
└ ブロードバンド方式を使用すると、ケーブルがいくつかのチャンネルを伝送することができる

ツィスト・ペア・ケーブル/撚り対線 (Twisted pair cable):

同軸ケーブルより安くより容易。

 

STP Shielded twisted pair (遮蔽撚り対線)

└無線周波数妨害から保護する、遮蔽箔を持つ。

 

UTP Unshielded twisted pair (撚り対線)

└ 異なる種類の配線で異なる特性をもつ。

 

Fiber-optic cabling: (光ファイバー

└ ガラスの使用のため、銅線と比べると、電気的影響や減衰が無く、高速長距離伝送が可能。それはUTPケーブルのように信号を放射しない。工事が困難)

 

Cabling problems:(ケーブリングの問題点)

ノイズ(Noise)
└ モータ、コンピュータ、コピー機械、稲妻および電子レンジによって引き起こされる事象によって、受信終端部は送信された元の形式でデータを受け取れない可能性がある。
減衰(Attenuation)

└ ケーブルの破損もしくは故障による原因もしくは、伝達による信号の強さの損失。

 

漏話、混線(Cross talk

├ 電気的信号が別のワイヤーに流出をする。
└ UTPケーブルは同軸ケーブルやSTPケーブルよりもはるかに弱い。

 

高圧気体スペース(Plenum space) 

└ ネットワーク・ケーブリングを 特定の火災評定を満足するエリアに設置することにより、火災時に有害な薬品を、放出もしくは発生させない。

 

加圧型管路:

└ 被包されたワイヤーにアクセスの試みがある場合、管路は圧力変化でアラームを鳴らすか管理者にメッセージを送る。

 


2.5. 伝送タイプ(Types of transmission):

アナログ伝送信号機器(Analog transmission signals):

└ 信号機器の変調、電磁波

 

ディジタル伝送信号機器(Digital transmission signals):

└ 電気パルスと同様の二進数表記

 

非同期コミュニケーション(Asynchronous communication):

├ 二つの装置は任意の方法で同期しない。
├ 送信側は何時でもデータを送信できる、受信側は常に準備が出来ていなければならない。
└ ターミナルータミナルサーバ、モデム等がある。

 

同期コミュニケーション(Synchronous communication):

├ 同期は二つの装置間に起こる。
└ 通常計時メカニズムによる、ビットス・トリーム・データ転送による。

 

ベースバンド(Baseband)

└ ユーザは送信のために十分なケーブルを使用する。

 

ブロードバンド(Broadband):

└ 一度に異なルータイプのデータを送信することができるように、通常ケーブルをチャンネルに分割します。

 

ユニキャスト方式(Unicast method):

└ パケットは1つの特定のシステムに行く。

 

マルチキャスト方式(Multicast method):

└ パケットはシステムの特定のグループに行く。


ブロードキャスト方式(Broadcast method):

└ パケットはそのサブネット上のすべてのコンピュータに行きます。


2.6ネットワーク・トポロジー(Network Topology):

リング・トポロジー(Ring Topology):

├ 方向性の無い伝送リンクに接続された一連の装置は、リングを形成する。
└ 各ノードは前のノードに依存する。また、1つのシステムが故障になれば、全てのシステムが故障になる。(単一ポイント故障)

 

バス・トポロジー(Bus Topology):

├ ネットワークの全長は単一のケーブルにより構成される。
├ 各ノードは、パケットを受理するか、処理するか、無視することことを決定します。
├ 全てのノードが同一のケーブルに接続される。
└ 単一ポイント故障の可能性がある。


線形バス(Linear bus):

└ それに付けられたノードを備えた単一のケーブルを持っています。

 

ツリー・トポロジー(Tree topology):

└ 単一のケーブルからの枝および、各枝を持っている多くのノードを含むことがでる。

 

スター・トポロジー(Star Topology):

├ 全てのノードは中心のハブかスィッチに接続される。
└ 各ノードは、中央のハブへの専用リンクを持っています。

 

メッシュ・トポロジー(Mesh Topology):

└ システムおよび資源はすべて互いに接続されます。


2.7 LAN媒体アクセス技術(LAN Media Access Technologies):

MTU(Maximum Transmission Unit):

└ 特定のネットワーク上でどれだけのデータかフレームを運ぶことができるか示すパラメータ。

 

トークン・パッシング(Token passing):

├ 24ビットのコントロールフレームを用い、どのコンピュータがどの間隔で通信するかコントロールする。
トークンはコンピュータに適した通信を許可する。
└ 一度に1台のコンピュータだけが通信するので衝突は発生しない。

 

CSMA(Carrier sense multiple access): 搬送波感知多重アクセス方式

CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance):

└ 搬送波感知多重アクセス/衝突回避方式
└ 各コンピュータがデータを送信する前にその意図示すアクセス方式

 

CSMA/CD(Carrier Sense Multiple Access with Collision Detection):

└ 搬送波感知多重アクセス/衝突検知方式
├ ケーブル上の通信稼動状態及びキャリアの稼動稼動状態を監視し、何時(最高の時)データを送信すればよいか決定する。
└ コンピュータは、他の誰もデータを同時に送信していないか、ケーブル上のキャリアー・トンの欠如に聞き耳を立てる。


コンテンション(Contention):

└ノードは共有媒体と競争しなければならない。

衝突(Collision):
└ 2つ以上のフレームが衝突す場合に発生する。
バックオフ・アルゴリズム(Back-off algorithm):

└ 彼らがデータを送信することを試みる前に、ステーションはすべて、遅延を余儀なくさせるへのランダムコリジョンタイマーを実行する。

コリジョンドメイン(Collision Domains):

└ 同じ共有されるコミュニケーション媒体を求め、戦っているか競争している1グループのコンピュータ。

 

ポーリング(Polling):

├ 幾つかのシステムは、プライマリ・ステーションとその他のセンカンダリ・ステーションで構成される。
└ プライマリ・ステーションは、セカンダリ・ステーションが所定の間隔で何か送信する場合、セカンダリ・ステーションに尋ねる。


2.8 プロトコル(Protocols):

ARP(Address Resolution Priotocol):←アドレス解決プロトコル

TCP/IPネットワークにおいて、IPアドレスからEthernet物理アドレス(MACアドレス)を求めるのに使われるプロトコル。(IPアドレスを元に物理アドレスを求める。)
物理アドレスを元にIPアドレスを求めるのは RARP(Reverse ARP)

 

RARP(Reverse Address Resolution Protocol)

TCP/IPネットワークにおいて、Ethernet物理アドレス(MACアドレス)からIPアドレスを求めるのに使われるプロトコル
└ Masquerading attack:攻撃者はARPテーブルを間違った情報に改竄する。

 

DHCP(Dynamic Host Configuration Protocol):

└ 一時的に接続するコンピュータに、IPアドレスなど必要な情報を自動的に割り当てるプロトコル

BOOTP(BOOTstrap Protocol):
TCP/IPネットワーク上で、クライアントマシンがネットワークに関する設定をサーバから自動的に読みこむためのプロトコル

 

ICMP(Internet Control Message Protocol):

├ IPのエラーメッセージや制御メッセージを転送するプロトコル
└ TCP/IPで接続されたコンピュータやネットワーク機器間で、互いの状態を確認すルータめに用いられる。ネットワーク診断プログラム「ping」が使う。

 

 

go to menu page
 

narto.hatenablog.com

CISSP合格ノート CBK#01 Access Control Systems& Methodology・リモートワーク

CISSP Note No1




CBK#01
アクセスコントロールのシステムと方法論

go to menu page

(Access Control Systems & Methodology)

 

 

1.1 セキュリティ原則 (C.I.A)

機密性 (Confidentiality):

許可されていない人、プログラム、プロセスに情報が開示されないこと。

完全性 (Integrity):

情報は正確で完全であり、許可されていない変更から守られなければならない。

可用性 (Availability):

情報、システム、リソースはタイムリーに利用可能である必要がある。

そしてそれにより生産性が影響を受けない。

 

1.2 識別 (Identification)

ユーザの本人性(ユニークさ)を断定する。

保護された監査証跡によるアカウンタビリティ(説明責任)を提供する。

サブジェクト(ユーザまたはプログラムまたはプロセス)が、自ら名乗るエンティティーであることを裏付ける方法。 識別は保証書を使用して確認される。

識別方法の種類

ユーザ名、アカウント番号、個人識別番号(PIN)、などのユーザ識別情報

社員証

生態認証(識別と認証の両方で使用可)

 

1.2.1 生態認証/バイオメトリックス(Biometrics)

その個人にユニークな属性によって識別すること。識別を確認する、最も効率的で正確な方法。

(高速な処理装置や大量の記憶装置が必要であり、その分高価である。)←デメリット

特有の生理的特長(指紋、網膜、虹彩など)

行動特性(キー入力、筆跡など)

 

3つの主要な尺度

・本人拒否率(FRR:False Rejection Rate) タイプ「1」エラー:

正当なサブジェクトが誤って拒否される確率。

・他人受入率(FAR:False Acceptance Rate) タイプ「2」エラー:

不当なサブジェクトが誤って受け入れられる確率。

・等誤り率(CER:Crossover Error Rate)

FRR FAR が等しいパーセンテージ。

 

他に考慮すべき事項

登録時間(Enrollment Time):

評価される生態的特徴のサンプルを提示することによって、システムに最初に「登録」するのに要する時間。

スループットレート(Throughput Rate):

システムが個人を処理, 識別, 認証するレート(受け入れ又は拒否を行う速度)

ユーザが許容出来る範囲 (Acceptability):

システムを使用する際のプライバシー、侵襲性、心理的・物理的な安心の考慮

 

1.2.2. 生態認証の種類/バイオメトリックシステムのタイプ

(生理的特長)

指紋(Fingerprints):

指紋の波型によって表される端や分岐とマニューシャと呼ばれる他の詳細な特徴から成る。

手掌スキャン(Palm Scan):

手掌には、その人物にユニークな皺、隆線、溝がある。

掌形(Hand Geometry):

人の手の形(手と指の長さと幅)が手の構造を測る。

網膜スキャン(Retina Scan):

眼球後ろ側の網膜の血管パターンをスキャンする。

虹彩スキャン(Iris Scan):

眼球の黒目に現れる皺のパターンを識別して本人確認を行なう認証方式。

黒目部分には、瞳孔の外側に「虹彩(アイリス)と呼ばれる環状の部分がある。ここには瞳孔を拡大したり縮小したりする筋肉があり、眼球の形成時に細かい皺が寄る。この皺は誕生する前から形成が始まり、2歳を迎える頃からほとんど変化しないことが知られている。この皺のパターンを指紋のようなその人固有の識別情報と捕らえ、認証に利用するのが虹彩認証である。 虹彩認証はカメラで眼の部分を撮影し、コンピュータ虹彩のパターンを抽出して認証する。接触式であるため衛生的で、心理的抵抗が少ない。顔や声のように年をとっても変化することがなく、指紋のような偽造も難しい。認証率も高く、処理するデータ量も少なくて済むという。

声紋(Voice Print):

人々の話す声とパターンの違いを識別。

顔スキャン(Facial Scan):

骨の構造、鼻の隆線、目の幅、額の大きさ、顎の形等の属性や特徴を考慮する。

ハンドトポロジー(Hand Topology):

個人の手や指のサイズや幅を見る。

 

(行動特性)

署名ダイナミックス(Signature Dynamics):

署名する際に取得されるスピードと時間の電子信号。

キーボードダイナミックス(Keyboard Dynamics):

特定のフレーズをタイプする時の電子信号を取得する。

 

1.3 認証 (Authentication)

正当性を検証する作業。例えば、ユーザ名とパスワードの組み合わせを使って、コンピュータを利用しようとしている人にその権利があるかどうかや、その人が名乗っている本人かどうかなどを確認すること。

サブジェクトは証明のためにセカンドピースを提示しなければならない。

 

パスワード(Passwords):

個人を認証するために使用される、保護された文字列。

クリッピングレベル(Clipping level):

ユーザがロックアウトされるまでに許されたログイン失敗の回数。

パスワードチェッカー(Password checkers):

ユーザが選んだパスワードのテスト。

パスワードジェネレータ(Password Generators):

ユーザのパスワードを生成するもの。

パスワードエイジング(Password Aging):

パスワードの有効期限。

ログイン試行の制限(Limit Login Attempts):

ログイン試行の失敗回数をある回数に設定する。

認知パスワード(Cognitive password):

事実もしくは意見に基づいた情報を使用して個人の識別を行う。

ワンタイムパスワード(One-time passwords) / ダイナミックパスワード(dynamic password):

パスワードが使用された後は無効になる。

トークンデバイス(Token Device):

チャレンジ・レスポンスの枠組みを使用したパスワードジェネレータ。

同期トークンデバイス(Synchronous token device):

認証プロセスのコアピースとして時間やイベントを使用して認証サービスと同期を取る。

時間ベース同期トークンデバイス(Time based synchronous token device):

バイスと認証サービスの内部時計は全く同じ時刻を持っていなければならない。

イベント同期(Event-synchronization)

ユーザはコンピュータ上でログオンシーケンスの初期化を行い、トークンデバイスのボタンを押す必要がある。

非同期トークンデバイス(Asynchronous token device)

チャレンジ・レスポンスの枠組みを使用して認証サービスと通信を行う。

暗号鍵(Cryptographic Keys):

 秘密鍵電子署名を提供する。

パスフレーズ (Pass fraise):

パスワードよりも長い文字列。 ユーザがこのフレーズをアプリケーションに入力し、 アプリケーションがその値を仮想パスワードに変換する。

メモリカード (Memory card):

 情報を保持するカード。しかし情報の処理はしない。

スマートカード (Smart card):

モリーチップ:記憶装置、情報を処理することは出来ない。

マイクロプロセッサチップ:プラスチックカード上にコンピュータあるようなもの。

 

1.3.1. 認証の種類

本人が知っていること。 Type1./知識による認証)

パスワード、パスフレーズ

本人が持っているもの。 Type2./所有による認証)

トークン、スマートカード

本人の属性。 Type3./本人の属性)

生理学的特長(生態認証)、行動特性

 

1.4 承認(Authorization)

サブジェクトが正しく識別され認証された後、オブジェクトに対するアクセス権を供与すること。

知る必要性 (Need-to-know):

ユーザは、社内において自らの仕事の責任を果たすのに最低限必要な権限と許可を持つ。

1.5 シングルサインオン(Single Sign-on)

ユーザが認証情報を「1 度だけ」入力するだけでネットワークドメイン内の全てのリソースにアクセスすることが出来る。

長所

ログオンプロセスが効率的。

ユーザーが強固なパスワードを使用する可能性がある。

複数のパスワードを使用する必要がない。

タイムアウト値及び最大試行回数がプラットフォーム全体に適用される。

一元管理

短所

侵入者にパスワードが盗まれた場合、許可された全リソースにアクセスされる危険性がある。

個々のプラットフォーム全てを含めるのは困難な場合がある。

 

1.5.1. スクリプティング (Scripting):

バッチファイルやスクリプトにそれぞれのプラットフォームに必要な、それぞれのユーザID、パスワード、ログオンコマンドが含まれている。

スクリプトが認証情報を含んでいるので、 保護された領域に保存され、スクリプトの伝送は慎重に行われなければならない。

 

1.5.2. ケルベロス (Kerberos):

対称鍵暗号を使用してエンドツーエンドセキュリティを提供する。

(アクセス制御のための基本要件)をみたす必要がある。

・セキュリティ 正規ユーザになりすますための情報をネットワーク傍受者が入手出来てはならない。

・信頼性 必要なときにいつでも利用可能。

・透過性 ユーザは認証プロセスを意識しない。

・拡張性 クライアントやサーバーの数にかかわらず、あらゆる規模のシステムに対応できなければならない。

 

(主要な構成要素)

鍵発行局(KDC: Key Distribution Center):

全てのユーザと全てのサービスの暗号鍵を持つ。

認証サービスを提供し、鍵発行機能を持つ。

KDCは例えばユーザ、アプリケーション、サービスのような、プリンシパル(principal)と呼ばれるエンティティーにセキュリティサービスを提供する。

KDC によってチケットが生成され、プリンシパルが他のプリンシパルに認証される必要がある際に与えられる。

KDC コンポーネントプリンシパルの組に対してセキュリティサービスを提供する。これをKerberos ではレルム(realm)と呼ぶ。

認証サービス (AS :Authentication Service):

KDC プリンシパルを認証する。

(あらかじめ交換した秘密鍵で本人を認証する。)

チケット保障サーバ- (TGS :Ticket Granting Server):

KDC はチケットを生成しプリンシパルに渡す。

(二人の当事者間の関係を安全に認証する手段を提供する。)

弱点

KDC は単一点障害(single point of failure)になる。

AS はたくさんのリクエストを扱わなければならない。

秘密鍵がユーザのワークステーションに一時的に保存される。

セッション鍵は復号されユーザのワークステーションに存在する。

パスワード推測に対して脆弱である。

ネットワーク・トラフィックは守られない。

ユーザがパスワードを変えたときには秘密鍵が変更され、KDSが更新されなければならない。

 

1.5.3. SESAME:

共通鍵及び称公開鍵名暗号化手法を使用することによってSSOと共に追加分散アクセス制御機能を提供し、やり取りされるデータを保護する。

役割に基づくアクセス制御を提供する。

ケルベロスのチケットに類似している。

ケルベロスのチケットに類似した、特権属性証明書(PAP:Privilege Attribute Certificate)を使用する。(PACの発行、保護、使用がSESAMEの主な特色。)

ケルベロスV5プロトコルを使用してSESAMEコンポーネントにアクセス出来る。

公開鍵暗号方式を使用して秘密鍵を配布する。

パスワード推測に対して脆弱である。(弱点)

 

1.5.4. シン・クライアント (Thin Clients):

サーバ-に認証される端ダム端末。

 

1.5.5. ディレクトリーサービス (Directory Service)

情報を階層的に整理、管理し、指定された名前に対応する情報を取得するための手段。

ネットワークリソースを一元管理することにより、アクセスと管理が容易になる。

 

1.5.6. セキュリティドメイン (Security Domain)

同じセキュリティ-・ポリシーを共有し、一元的に管理される信頼の範囲。

アクセス制御パラメータ ⇒ サブジェクトアクセス出来るオブジェクトの集合。

分離の原則によってリソースを保護。

サブジェクト共通のサブセット(階層的ドメイン関係)

サブジェクトは同等または下位のドメイン内のオブジェクトにアクセス出来る。

上位特権のドメインは、下位特権のドメインから保護される。

サブジェクトの同等クラス類(各ドメインはそれぞれ1つのサブジェクトにカプセル化される。)

別々のアドレスマップにより、分類を実現。

共通オブジェクトは複数のドメインにマップされる。

 

1.6 アクセス制御モデル (Access Control Models)

サブジェクトがオブジェクトにアクセスする方法を決めるフレーム構造)

 

1.6.1. 任意アクセス制御 (DAC: Discretionary Access Control):

どのユーザにどのようなアクセス権を与えるかをオーナーが決定する。

アクセスは、ユーザに付与された認証に基づいて制限される。

最も一般的なDACの実装はACLによる。(アクセス制御マトリックスを使用し実装)

1.6.2. 強制アクセス制御 (MAC: Mandatory Access Control):

アクセスを許可するユーザをオーナーとシステム(両方の許可)が決定する。

システム管理者 ⇒ クリアランスを設定する。

情報のオーナー ⇒ 機密ラベルを設定する。

システム    ⇒ ポリシーを施行する。

サブジェクト(ユーザ)の特権(クリアランス)及び、オブジェクト(ファイル)の重要度(機密種別)に基づきシステムが決定する。(ラベル付けが必要)

組織のセキュリティー・ポリシーに基づく。

権限決定者に制限を加える。

このモデルは情報分類と機密性が極度に重要な環境で使用される。

 

1.6.3. 機密ラベル (Sensitivity labels):

MACが使用される場合には全てのサブジェクトとオブジェクトには機密ラベルがある。

機密ラベルには分類と、異なるカテゴリが含まれている。

分類は機密レベルを示し、カテゴリはその分類においてどのオブジェクトが持っているかを示す。

 

1.6.4. データへのアクセスルールに基づくアクセス制御

権限を指定したルールリストに基づいてアクセスを決定。

システムオーナーがルールを作成または許可する。(ユーザに割り当てる特権を指定)

調整メカニズムによってルールを適用し、許可されたアクセスだけが行われるようにする。

全ての要求をチェックし、ユーザに与えられている権限と比較した上で決定する。

 

1.6.5. 役割(機能に基づくアクセス制御 (RBAC: Role-based access control):

非任意アクセス制御(nondiscretionary access control)とも呼ばれる。

職務に基づいたアクセス制御を行う。

各役割(職務)にそれぞれ異なるアクセス権限を割り当てる。

職務に適した権限の適用

同一グループ内のユーザには同様もしくは同じ権限を与える必要がある。

役割の決定は任意であり、セキュリティーアクセス制御ポリシーに準拠する。

RBACモデルでは以下の物を使用できる。

・ロールに基づいたアクセス(Role-based access):

社内におけるロールに基づいて決められる。

・タスクに基づいたアクセス(Task-based access):

ユーザに割り当てられたタスクによって決められる。

・格子に基づいたアクセス(Lattice-based access):

そのロールに割り当てられた機密レベルによって決められる。

 

 

1.7. アクセス制御の手法と技術 (Access Control Techniques and Technologies)

様々なアクセス制御モデルをサポートするために利用できる手法と技術。

ロールに基づいたアクセス制御 (RBAC :Role-Based Access Control):

社内での職位の義務を全うするために必要なタスクと責任に基づく。

RBAC = 以下と共に用いられる。

DAC = 管理者はロールを作り、オーナーはこれらのロールがリソースにアクセスできるかどうかを決める。

MAC = ロールは作成され、機密ラベルがこうしたロールに割り当てられてセキュリティレベルを表す。

 

ルールに基づいたアクセス制御 (Rule-Based Access Control):

オブジェクトに対して許可されることされないことを示す特定のルールに基づく。

これは、管理者がルールを設定し、またユーザはこうした制御を変更することが出来ないためMACの一種である。

制限されたインターフェイス(Restricted Interfaces):

ユーザのアクセスケイパビリティーを特定の機能, 情報へのリクエストや特定のシステムリソースへのアクセスを許可しないことによって制限する。

 

1.7.1. 3種類の制限されたインターフェイス

メニューとシェル(Menus and shells):

ユーザには実行可能なコマンドだけが与えられる。

データベースビュー(Database views):

データベースに格納されたデータへのユーザアクセスを制限するメカニズム。

物理的に制限されたインターフェイス(Physically constrained interfaces):

キーパッド上の特定のキーや、画面上の特定のタッチボタンだけを提供することにより実現。

 

1.7.2. アクセス制御マトリックス (Access Control Matrix):

サブジェクトとオブジェクトのテーブルで、個々のサブジェクトが個々のオブジェクトに対して実行できる動作を示す。

通常、DACモデルの属性であり、アクセス権限はサブジェクト(ケイパビリティーcapabilities)やオブジェクト(アクセスコントロールリスト, ACLs,)に直接割り当てられる。

 

1.7.3. ケイパビリティーテーブル (Capability Tables):

保護対象の一覧表

特定のサブジェクトが特定のオブジェクトに対して所有するアクセス権限を定める。

権限(アクセス許可)に基づくシステム。

サブジェクトはケイパビリティーテーブルの制限を受ける。

ケルベロスで使用される。

 

1.7.4. アクセスコントロールリスト (Access Control Lists):

特定のオブジェクトへのアクセスが認証されたサブジェクトのリスト。

どのレベルの認証が付与されているかが定義されている。

認証は個人、ロール、グループに対して決められる。

 

1.7.5. 内容依存アクセス制御 (Content-Dependent Access Control):

オブジェクトへのアクセスはオブジェクトの内容によって決められる。

 

 

 

1.8 アクセスコントロール管理(Access Control Administration)

1.8.1. 中央集中型アクセス制御 (Centralized):

単一エンティティー(個人、部門、装置)がアクセスに関する決定を行う。

特定のオブジェクトにアクセスできるユーザはオーナーが決定し管理部門はこれらの指令をサポートする。

ユーザのアクセス権限をコントロールする、首尾一貫し統一された手法を提供する。

中央集中型アクセス制御技術の例:

RADIUS / Remote Authentication Dial-in User Service:

認証プロトコルで、 ユーザ(ダイヤルアップユーザ)を認証・承認する。

TACACS / Terminal Access Controller Access Control System:

クライアント・サーバプロトコルRadius と同様の機能を提供する。

3つの世代。

TACACS ⇒ 認証と承認を組み合わせる。

XTACACS ⇒ 認証、承認、アカウンティングプロセスを分ける。

TACACS+ ⇒ 認証、承認、 アカウンティングプロセスを分け, 拡張された2要素ユーザ認証を使用する。

 

1.8.2. 非中央集権・分散型アクセス管理 (Decentralized and Distributed Access Administration):

制御件は、リソースに近いもの(部門責任者及び場合によってはユーザ)に与えられる。

アクセス要求は、単一の中央エンティティによって処理されない。

基準が曖昧であったり、権利の重複やセキュリティーホールが存在したりする。

ピアツーピアの関係。

組織を通じての統一性や公平性を提供しない。

非中央集権型アクセス制御管理技術の例:

セキュリティドメイン (Security Domain)

信頼のレルムとして表現される。

全てのサブジェクトとオブジェクトはセキュリティポリシー、手続き、ルールを共有し、同じ管理システムによって管理される。

それぞれのセキュリティドメインは、異なるポリシーや異なる管理を持つ。

ヒエラルキー構造やリレーションによって構築される。

オペレーティングシステムやアプリケーション内で使用され、重要なシステムファイルやプロセスを偶発的な損害から守る。

セキュリティレベルの保護は、メモリースペースとアドレスを分けることにより行われる。

セキュリティドメインは、ユーザが利用可能なリソースとして表される。

 

1.8.3. ハイブリッドアクセス管理 (Hybrid):

中央集権型と非中央集権型のアクセス制御管理手法の組み合わせである。

 

 

1.9. アクセス制御手法 (Access Control Methods)

1.9.1. 管理上の制御 (Administrative Controls)

ポリシーと手続き(Policy and Procedures)

ハイレベルなプランで、組織においてセキュリティがどのように実践されるか、どのようなアクションが許されるか、どのレベルのリスクを会社が受け入れられるかに関してのマネジメントの意志を言明する。

シニアマネジメントはDAC、MAC、RBACアクセス手法のどれを使用するか決め、またこの管理の方法が中央集権的か非中央集権的かを決める。

 

人事管理(Personnel Controls)

従業員がセキュリティメカニズムをどのように遵守するか、そしてこうした期待に関して従わないことに関する問題を示す。

 

職務分離(Separation of duties):

個人が、企業にとって不利になるような重要なタスクを1 人で実行することができない。

 

共謀(Collusion):

不正を行う為に複数の必要でありそれを行う為には協力しなければならない。

 

職務ローテーション(Rotation of duties):

複数の職位の任務を遂行する方法を知る必要がある。

 

管理構造(Supervisory Structure)

個々の従業員には報告を行う上司が存在し、上司はその従業員の行動に責任を持つ。

 

セキュリティ啓蒙トレーニン(Security Awareness Training)

人間は通常最も弱いリンクでありほとんどのセキュリティ侵害や危険の原因となる。

 

テスト(Testing)

セキュリティコントロールやメカニズムは全て定期的にテストされ、設定されたセキュリティポリシー、目標、目的を適切にサポートすることを確認する必要がある。

 

 

1.9.2. 物理的制御 (Physical Controls)

ネットワーク分離(Network Segregation) :

物理的・論理的方法で実行される。

 

境界セキュリティ(Perimeter Security) :

個人、施設, 施設内の備品を守ることによって物理アクセス制御を提供するメカニズム。

 

コンピュータコントロール(Computer Control) :

インストールされ, 設定された物理的コントロール

 

ワークエリア分離(Work Area Separation) :

アクセス制御と企業全体のセキュリティポリシーをサポートするために使用されるコントロール

 

データバックアップ(Data Backups) :

緊急時やネットワーク/システムの崩壊時の情報へのアクセスを確実にする。

 

ケーブリング(Cabling) :

施設内の全てのケーブルは通路を遮ったり、切断、焼失、捲縮、盗聴の危険がないように敷設される必要がある。

 

1.9.3. 論理的制御 (Logical Controls)

システムアクセス:

アクセス制御の目的を強化する技術的制御。

 

ネットワークアーキテクチャ(Network Architecture)

環境の分離・保護を提供するために様々な論理的制御によって構築・強化される. 隔離は物理的・論理的に行うことが出来る。

 

ネットワークアクセス(Network Access)

他のネットワークセグメントへのアクセスは粒状でなければならない。

ルータやスイッチが使われ、特定の種類のトラフィックだけがそれぞれのセグメントを通過できるようにできる。

 

暗号化とプロトコル(Encryption and protocols)

情報がネットワークを通ったりコンピュータ内にあるときに、情報を守るための技術的コントロールとして働く。

 

コントロールゾーン(Control Zone) -

電子信号を発するネットワークデバイスを守る特定のエリア。

 

監査(Auditing)

技術的コントロールで、ネットワーク内、ネットワークデバイス上、特定のコンピュータ上のアクティビティーを追跡する。

 

 

1.10. アクセス制御タイプ (Access Control Types)

(. 物理的 (Physical) / . 管理上の (Administrative) / . 技術的 (Technical))

予防 (Preventative): 望ましくない事が起こるのを抑止・回避するために使用される制御。

柵、錠、バッジシステム、警備員、バイオメトリックシステム、マントラップドア、照明、CCTV、アラーム

セキュリティポリシー、監視・監督、職務分離、ジョブローテーション、情報分類、人事手続き、試験、セキュリティ啓蒙トレーニング。

ACL、ルータ、暗号化、IDS、アンチウイルスソフトウェア、ファイアウォールスマートカードダイアルアップコールバックシステム。

 

探知(Detective): 起きてしまった事を特定するために使用される制御.

警備員、バイオメトリックシステム、講堂探知機、CCTV、アラーム、バックアップ。

監視・監督、ジョブローテーション、人事手続き、調査、セキュリティ啓蒙トレーニング。

監査ログ、IDS、アンチウイルスソフトウェア、ファイアウォール

 

矯正(Corrective): 起きてしまった事を修正するために使用される制御.

柵、錠、バッジシステム、警備員、バイオメトリックシステム、マントラップドア、 照明、CCTV、アラーム

セキュリティポリシー

IDS, アンチウイルスソフトウェア。

抑止(Deterrent): セキュリティ違反を抑止するために使用される制御.

バックアップ

監視・監督,職務分離, 人事手続き(Personnel Procedures).

暗号化、IDS、ファイアウォール

 

復旧(Recovery): リソースや能力を回復するために使用されるコントロール.

柵、錠、警備員、マントラップドア、照明、アラーム、バックアップ

アンチウイルスソフトウェア。

 

補償(Compensation): 他のコントロールの代替となるものを提供するために使用されるコントロール

監視・監督, 人事手続き

 

 

1.10.1. 監視情報の再考 (Review of audit information):

監視削減(Audit reduction)

監視ログ内の情報量を削減する。

変動検出ツール(Variance-detection tool)

コンピュータとリソースの使用傾向を監視し,変動を検出する。

攻撃シグネチャ検知ツール(Attack signature-detection tool)

アプリケーションが特定の攻撃を示す情報のデータベースを持つ。

キーストローク監視(Keystroke Monitoring):

アクティブなセッション中にユーザが入力したキーストロークを監視して記録する。

 

 

1.11. アクセス制御監視 (Access Control Monitoring)

1.11.1. 侵入防止システム (IPS: Intrusion Prevention System)

侵入を予防する。

攻撃をリアルタイムでブロックする機能。

パケットを通信の途中で取り込み、転送する。

「アクセス制御」及びポリシー執行とみなされる。それに対し、IDSは「ネットワークモニタリング」および「監査」とみなされる。

予防制御

 

1.11.2. 不正侵入検知システム (IDS: Intrusion detection):

ネットワーク型IDS(Network-based IDS)

ネットワークもしくはネットワークのセグメントを監視する。

伝送リンクのパケットとトラフィックをリアルタイムに監視する。

プロトコル及びその他の関連パケット情報を分析する。

警報を送信する、あるいは不正な接続を終了する。

ファイヤー・ウォールと統合し、新しいルールを定義できる。

暗号化されたパケットの監視が出来ない。

 

ホスト型(Host-based)

特定のシステムを監視する。

ホスト上で動作するエージェントが明白な侵入を検知

適切に設定されたホスト型IDSは、異常事象の発見時にアラートを送信する。

マルチホスト用型IDSは、複数ホストのデータを監査する。

動作しているホストに負荷が掛かる。

 

パターンマッチングIDS(Pattern matching IDS)

着信パケットを既知(シグネチャ)の攻撃データベース比較することにより検知する。

既知の攻撃を特定する。

未知の攻撃に弱い。

フォールポシティブ(誤検知)する事がある。

シグネチャ-の頻繁な更新が必要。

攻撃は、検知を逃れるために変更される事がある。

 

ステートフルマッチングIDS (State full matching IDS)

個々のパケットではなく、トラフィック・ストリームの文脈内に攻撃シグネチャが無いかスキャンする。

既知の攻撃を特定する。

複数のパケットに広がったシグネチャを検出する。

分析と対応のために特定情報を提供する。

フォールポシティブ(誤検知)する事がある。

シグネチャ-の頻繁な更新が必要。

攻撃は、検知を逃れるために変更される事がある。

 

プロトコル異常検知型IDS

RFC標準から逸脱を探す。

シグネチャ-無しの攻撃を特定できる。

汎用プロトコルを使用してフォールポシティブ(誤検知)を減らす。

汎用していないプロトコルや複雑なプロトコルによって、フォールポシティブ(誤検知)が生じる事がある。

プロトコル分析モジュールは顧客への実装にシグネチャよりも時間が掛かる。

 

トラヒック異常検知型IDS

膨大な量のUDPパケットなどの異常なトラヒックの動きや、ネットワーク上に出現する新サービスを監視する。

未知の攻撃とDos攻撃を特定する。

適切にチューニングする事が難しい事がある。

「正規」のトラヒック環境を明確に理解しなければならない。

 

知識ベースIDS (Knowledge-based)/シグネチャ(signature-based)

攻撃がどのように行われたかについてのモデルが構築される。

挙動ベースIDS (Behaviour-based) / 統計的(Statistical)

ユーザやシステムの行動の予測からの乖離を監視・検知する。

TIM: Time-based induction machine-リアルタイムで異常行動を検知する。

ハニーポット(Honeypot):

ネットワーク内の「偽の」システムで、鍵をかけず、ポートを開けておく。

 

ネットワークスニファー(Network sniffers)

ネットワーク・トラフィックの傍受を目的としてネットワークに接続されるある種の盗聴機。

 

1.12. アクセス制御に対する脅威 (Threats to Access Control)

辞書攻撃(Dictionary Attack):

攻撃者がユーザの信任を識別することを可能にするプログラム。

こうしたプログラムにはよく使用される言葉や文字の組み合わせのリストがあり、プログラムはこれらの値をログオンプロンプトに入力する。

 

総当たり攻撃(Brute Force Attack):

あらかじめ設定されたゴールを達成するために、異なる入力を継続的に試行する攻撃。

ウォーダイアリングにも用いられる。

ログオンのなりすまし(Spoofing at Login):

偽のログイン画面を示し、ユーザの信任情報を得ようとするプログラム。

 

 

1.13. ペネトレーションテスト

キュリティ脆弱性を特定、発見するためにとる一連の調査。

オーナーの依頼によりシステムへの攻撃をシュミレートする。

システムセキュリティを評価し、脆弱性やセキュリティギャップを見つける。

ほとんどの組織に共通する一般的な環境を対象とする。

方法、目標が明確に定義される必要がある。

実際の攻撃と同じ方法または同じ技術を使用する。

論理ハッキングと呼ばれることもある。

 

(テストの種類)

ゼロ知識

調査チームは標的に関する情報は一切もたない。

通常独立した第3者によって実施される。

 

部分的知識

調査チームは標的に関する知識を一部持つ。

 

完全な知識

表的となる環境について詳細に把握しているチームが実行する。

 

(テストの方法)

発見  標的に関する除法を特定し文章化する。

列挙 ⇒ 侵入方法についてより多くの情報を入手する。

脆弱性マッピング ⇒ 環境プロファイルを既知の脆弱性マッピングする。

利用 ⇒ ユーザアクセスや特権アクセスを試みる。

 

1.14. サブジェクトとオブジェクト

サブジェクト

サービスを要求する。能動的である。(ユーザ、プログラム、プロセス、デバイス。)

オブジェクト

要求されたサービスを提供する。受動的である。

(ファイル、データベース、プロセス、プログラム、デバイス。)

 

 

1.15. リファレンスモニター

サブジェクトからオブジェクトへの全てのアクセスを仲介する抽象マシン。

特徴

変更されないように保護される。

検証可能。

常に行使されなければならない。

 

go to menu page

 

narto.hatenablog.com