情報セキュリティとは
インターネットにつながる = 外部ネットワークに潜む悪意ともつながる
→ 企業の持つ情報資産をいかに守るか!(情報セキュリティ)
情報セキュリティの3要素
「安全性」を重要視 → 「利便性」がよくない
→ 安全性・利便性のバランスが重要(情報セキュリティマネジメント基本的考え方)
→ 3つの要素を管理してバランスを取ろう!
要素 | 説明 |
---|---|
機密性(コンフィデタリティ) | 許可された人だけがアクセスできる |
完全性(インテグリティ) | 情報が書き換えられず、完全な状態 |
可用性(アベイラビリティ) | 利用者が必要な時に利用できる |
* 「機密性」 を保証する対策 : 例) データの暗号化
* 「完全性」 を保証する対策 : 例) 機械的なチェック + 人目によるチェック
* 他の要素も加わることあり
要素 | 説明 |
---|---|
真正性 | 偽造ではなく本物である、間違いなく私ですと証明できるようにする |
信頼性 | 思い通りに動く、バグ/障害が起こらないようにする(=デュアルシステムで実現) |
責任追跡性 | 責任を追跡する(=ログ取得で実現) |
否認防止 | 「自分じゃない」と否定できない(=デジタル署名で実現) |
情報資産・脅威・脆弱性
- 情報資産:企業にとって価値のある情報
- 脅威:情報資産に攻撃をすること
-
脆弱性(セキュリティホール):セキュリティ上の弱点
- セキュリティパッチ:修正プログラム → 配布される
- ゼロデイ攻撃 :セキュリティパッチが配布される前の攻撃
リスクマネジメント
- リスク:脅威によって、企業が損する可能性
- リスクマネジメント:リスクを管理すること → リスクアセスメント・リスク対応
リスクアセスメント(リスクを評価する3手順)
- リスク特定 :リスクを洗い出す
- リスク分析 :リスクの大きさ(リスクレベル)を計算 = 損失額+発生確率
- リスク評価 :リスク対策が必要か判断
リスク対応(リスクアセスメント → 2種類の対応策)
情報セキュリティポリシ
組織内の情報セキュリティの対策などをまとめた文書
・ 情報セキュリティ基本方針 :組織のトップ→情報セキュリティへの姿勢を宣言するもの
→ 参考にする教材:情報セキュリティ管理基準・・・政府が策定したもの
・ プライバシポリシ :組織の個人情報の扱い方を定める
・ CSIRT(シーサート):企業などに設けるセキュリティ対策チーム
ISMS適合評価制度(Information Security Management System)
組織の情報セキュリティに対する取り組み → 第三者が審査する制度
セキュリティバイデザイン
システムのデザインの段階から、セキュリティ対策を考えよう!
・ プライバシーバイデザイン :上流工程から個人情報保護を考えよう!
脅威とマルウェア
脅威の種類
- 物理的脅威: 災害による故障、侵入者による破壊・妨害
-
人的脅威 : 操作ミス、紛失、不正利用など人による脅威
-
ソーシャルエンジニアリング: 人の心理につけこんで情報を入手すること
- 例)画面を覗き見る: ショルダーハッキング
- 対策①) 離籍時は画面をロックする: クリアスクリーン
- 対策②) 盗まれてもわかるように机を整頓する: クリアデスク
-
ソーシャルエンジニアリング: 人の心理につけこんで情報を入手すること
- 技術的脅威: コンピュータウイルス、サイバー攻撃などITを使った脅威
(PCを破棄する時)
HDDから情報を抜かれる可能性
(対策)
➡︎データ消却用ソフト:ビット列を上書き
➡︎HDDを物理的に破壊
(不正行為)
不正のトライアングル理論
機会・動機・正当化 = 三要素が揃うと不正行為をしてしまう
(対策)
職務分掌: 役割分担
マルウェア = Malicious(悪意)+Software
悪意を持って作られたプログラムの総称(マルウェア=広義のコンピュータウイルス)
種類 | 説明 |
---|---|
コンピュータウイルス(狭義) | 自己伝染・潜伏・発病のいずれかの機能を持つもの |
マクロウイルス | ワープロソフト、表計算ソフトのマクロ機能を悪用 |
ワーム | 自己増殖機能をもつ |
ボット | ウイルスに感染したPCを外部から操る/ C&C サーバ:外部から悪意ある命令を出すサーバ |
トロイの木馬 | 良いプログラムと見せかけて、潜伏後悪意ある動作 |
スパイウェア | 意図せずインストール → 個人情報を収集 |
ランサムウェア | PCのファイルを暗号化して読めなくする → 金銭要求 |
キーロガー | キーボードのログ→個人情報盗む |
ルートキット | バックドアを作る→侵入の痕跡を隠すプログラム |
* バックドア:侵入するために作ったアクセス経路
ウイルス対策ソフト
マルウェアから守り、安全性を高めるソフトウェア ↓持つ
ウイルス定義ファイル(パターンファイル) : ウイルスを識別するコード(シグネチャコード)を記録
→ ウイルス定義ファイルを使ったウイルス検出方法
方法 | 内容 |
---|---|
パターンマッチング方法 | 検査対象 ↔︎ シグネチャコード =未知ウイルスは検知できない |
ビヘイビア方式 | 仮想環境で実行→監視 =未知ウイルスも検知できる |
端末の管理
- BYOD(Bring Your Own Device): 個人のPC・スマホを業務に使うこと
- シャドーIT: 会社の許可なく自分のPC・スマホ、社外のクラウドサービスを業務に使うこと
- MDM(Mobile Device Management): 社員に貸すスマホなどを一元管理すること
サイバー攻撃
インターネットを通じてコンピュータシステムに侵入 → 情報の盗聴・窃盗、データの改ざん・破壊をすること
→ さまざまな攻撃方法
標的型攻撃
標的型攻撃: 標的を決めて行う攻撃
種類 | 内容 |
---|---|
APT攻撃 | 特定の組織 → 執拗に攻撃 |
水飲み場攻撃 | よく使われる企業Webサイト → ウイルス仕込む |
パスワードクラック攻撃
パスワードクラック: パスワードを解析すること
種類 | 内容 |
---|---|
辞書攻撃 | 辞書単語 → ログイン試行 |
ブルートフォース攻撃(総当たり攻撃) | 文字を組み合わせたパスワードを総当たり → ログイン試行 |
リバースブルートフォース攻撃 | 文字を組み合わせたIDを総当たり → ログイン試行 |
パスワードリスト攻撃 | 他サイトのID・パスワード → ログイン試行 |
* 対策: パスワード入力に制限・複数のサイトで同じパスワードを使わない
サービスを妨害する攻撃
・ Dos攻撃: 特定のサーバに大量のパケット送る → サーバの機能を停止させる
・ DDos攻撃: 複数のコンピュータから一斉に攻撃する
(対策)
・ IDS(Intrusion Detection System):侵入検知システム
・ IPS(Intrusion Prevention System): 侵入防止システム
不正な命令による攻撃
Webサイトの入力スペース → 不正な命令注入
クロスサイトスクリプティング
- 利用者がデータを入力
- 悪意のあるスクリプトを埋め込んだ入力データを送る
- 偽ページへ移動し、悪意のあるスクリプトを埋め込んだリンクあり
- リンクをクリックすると、攻撃者へ入力内容を送信する
(対策)
-
サニタイジング: 有害な入力を無害化
- エスケープ処理: 入力データにHTMLタグ → HTMLタグではない他の文字列に置き換える
- WAF(Web Application Firewall):Webアプリケーション専用ファイアウォール
- アクセス制限の方法
- IPアドレス・ポート番号 → ヘッダで判断
- 直接のデータ内容で判断
- アクセス制限の方法
SQLインジェクション
Webアプリケーションの入力欄 → 悪意あるSQL 注入 → 意図しないSQL実行する
■ 対策
入力文字 → DBの操作に使う、特別な文字に解釈されないように他の文字列に変える
なりすましによる攻撃
なりすまし: 攻撃者が利用者になりすますこと
種類 | 内容 |
---|---|
セッションハイジャック | セッションIDを盗む → 利用者になりすます |
DNSキャッシュポイズニング | DNSサーバーに偽のドメイン入れる → 利用者を偽サーバへ |
SEOポイズニング | 悪意Webサイト → 検索結果の上位に表示 |
IPスプーフィング | 送信元IPアドレスを詐称 → ホストになりすます(なりすまし=スプーフィング) |
Evil Twins攻撃 | 公衆無線LAN:アクセスポイントなりすまし |
ディレクトリトラバーサル(Traversal:横断する)
攻撃者:パス名でファイル指定 → 不正に閲覧する
(対策)
上位ディレクトリを指定する文字(../)を含む時は入力を受け付けない
他の攻撃
種類 | 内容 |
---|---|
ドライブバイダウンロード | Webサイト閲覧 → マルウェアをダウンロードさせる |
フィッシング | 電子メール → 偽Webサイトにアクセスさせる |
バッファオーバーフロー攻撃 | 入力のデータ → 大きいサイズ → 想定外の動作 |
クリックジャッキング攻撃 | 偽サイトのコンテンツ:透明なボタン → 意図しない動作 |
* Webビーコン: Webページに埋め込まれた画像(利用者に見えないほど小さい)
(目的) 利用者のアクセス情報を収集
攻撃の準備
フットプリンティング: 攻撃前の情報収集
→ポートスキャン: 攻撃できそうなサービスがあるか調べること
ディジタルフォレンジクス(Forensics:鑑識):コンピュータ犯罪の証拠を集めて、解析すること
暗号技術
丸裸のデータが送信者から受信者にいくまで、3つの脅威
脅威 | 内容 |
---|---|
盗聴 | 送信者 → 受信者 送信データを盗む |
なりすまし | 送信者 → 受信者 送信者を装う |
改ざん | 送信者 → 受信者 データを書き換える |
盗聴の対策
暗号化
共通鍵暗号方式(秘密鍵暗号方式)
- 鍵の管理に注意(鍵が盗まれる→復号できちゃう)
- 暗号化・復号:処理が速い
- 代表例) AES → 無線LANの暗号化に使われる
- 具体例) 家の鍵
公開鍵暗号方式
- 鍵の管理が簡単(一方の鍵を公開しても、秘密鍵を持つ人しか復号できないため)
- 暗号化・復号の処理が遅い
- 代表例)
- RSA:大きな数の素因数分解が困難なことを利用
- 楕円曲線暗号:RSAより短い鍵長で、同等の安全性を提供できる
- 具体例) 南京錠
なりすまし、改ざんの対策
ディジタル署名(電子署名)
受信者:『送信者が本人か確認できる』『データが改ざんされてないか確認できる』
(送信者の処理)
- 電子文書 → (ハッシュ関数)文字列を作成
- 文字列 → (送信者の秘密鍵)ディジタル署名を作成
- 電子文書 + ディジタル署名 で送信
(受信者の処理)
- 電子文書 → (同じハッシュ関数)文字列を作成
- ディジタル署名 → (送信者の公開鍵)復号 = 送信者が本人か確認
- 文字列が同一か比較 = 電子文書が改ざんされてるか確認
* ハッシュ化: ハッシュ関数→電子文書から文字列(ハッシュ値・メッセージダイジェスト)を作ること
→ 一部でも改ざん=同じハッシュ値はできない
→ ハッシュ値から、元の電子文書を復元/推測できない
→ 代表的なハッシュ関数:SHA(Secure Hash Algorithm)、SHA-256、SHA-512
なりすましの対策
認証局(CA:Certification Authority)
公開鍵暗号方式・デジタル署名:公開鍵が正当性を証明する
* CRL(証明書失効リスト):有効期限内に失効させた証明書の一覧
* PKI(Public Key Infrastructure)(公開基盤): 認証局・公開鍵暗号方式・ディジタル署名 → 安全な通信ができる仕組み
改ざんの対策
メッセージ認証
共通鍵 → メッセージ内容の改ざんを確認する仕組み
(流れ)
- 事前に送受信者 → 共通鍵を秘密で共有
- 送信者: メッセージ(公開鍵+ハッシュ関数) → メッセージ認証コード(MAC(Message Authentication Code))生成
- 送信者: メッセージ・MAC送信
- 受信者: 受信したメッセージ(公開鍵・同じハッシュ関数) → MAC 生成
- MACが一致するか比較
(ディジタル署名・メッセージ認証の比較)
ディジタル署名 | メッセージ認証 | |
---|---|---|
なりすまし対策 | ● | ● |
改ざん対策 | ● | ● |
否認防止 | ● | ✖︎ |
鍵 | 公開鍵・秘密鍵 | 秘密鍵・秘密鍵 |
付加 | ディジタル署名 | MAC |
盗聴・改ざんの対策
SSL
通信を暗号化して、盗聴・改ざん防ぐプロトコル
- パスワード・クレカ番号などを安全にやりとりできる
- Webブラウザに搭載
- HTTPS(HTTP Over SSL):SSL(暗号通信)をHTTPに実装したもの
- PC → Webサーバ:SSL暗号通信をリクエスト
- Webサーバ:「サーバの公開鍵」&「サーバ証明書」送る
- サーバ証明書= +αハッシュ値+認証局の秘密鍵=「デジタル署名」も付ける
- PC:サーバの公開鍵を取得/サーバ証明書を確認
- サーバ証明書:デジタル署名→認証局の公開鍵で復号
- → サーバ証明書が改ざんされていない
- → サーバ証明書の正当性
- サーバ証明書:デジタル署名→認証局の公開鍵で復号
- PC:共通鍵を2つ生成
- PC:共通鍵(1つ)→ サーバの公開鍵で暗号化
- PC → Webサーバ:暗号化された共通鍵 → 送る
- Webサーバ:暗号化された共通鍵 → サーバの秘密鍵で復号 ➡︎ 両者が「共通鍵」を持った状態に=暗号通信開始
- 「共通鍵」で暗号化されたデータの通信をする
↓
※ ハイブリッド方式
共通鍵暗号方式 + 公開鍵暗号方式 組み合わせた方式(長所を生かす)
→ 暗号化・復号= 共通鍵暗号方式(処理早)
→ 鍵の配布= 公開鍵暗号方式(鍵の配布簡単)
※ セキュアブート
PC起動前 ➡︎ マルウェア実行を防ぐ
※ TPM:PCなどに組込むセキュリティチップ
→ 公開鍵・秘密鍵・デジテル署名・ハッシュ値計算・・・をする
ネットワークセキュリティ
利用者認証(ユーザ認証)
「あなた誰?利用許可されてる人?」確認作業
- 多要素認証:二つ以上の認証を組み合わせる
認証の方法はいくつかある
ワンタイムパスワード
1回限り使えるパスワード(毎回違う)
バイオメトリクス認証(生体認証)
身体的特徴を使って認証する
- 身体の特徴:指紋・静脈・声帯認証
- 行動の特徴:署名の速度・筆圧
- FRR(Fale Reject Rate) :本人を間違って拒否する割合
- FAR(Fale Accept Rate) :他人を間違って許可する割合
CAPTCHA(キャプチャ)
チャレンジレスポンス認証
シングルサインオン
最初に1回認証 → ログアウトまで利用できる
ファイアウォール
外部ネットワーク ↔︎ 内部ネットワーク間の壁になる → 不正アクセスを防ぐ仕組み
パケットフィルタリング
パケット(ヘッダー情報)見てアクセス可否をする
プロキシサーバ / リバースプロキシサーバ
DMZ(DeMilitarized Zone)
- 外部・内部ネットワークから隔離されたゾーン
- 外部から直接アクセスできる非武装地帯
- セキュリティ上、優先順位が低いものしか置かない
※ ゼロトラスト:外部&内部ネットワーク信用しない → 全ての通信:認証機能
その他のセキュリティ対策
- UTM(Unified Threat Management):複数のセキュリティ機能まとめた製品
- SIEM:動作ログ一元管理
- ぺネトレーションテスト:あえて攻撃 → 脆弱性見つける
- ファジング:エラー出そうなデータ入力 → 脆弱性見つける