情報セキュリティの基本

# 情報セキュリティ
## 情報セキュリティとは
- 情報に関するセキュリティ
  - PCのデータ、紙の情報など

## 目的
- 会社の資産を盗まれないように守る事
- 現実的な範囲内で守るべきものを守る

## 情報セキュリティの考え方
- どのように守れば良いか、全員がきちんと知る

### 情報セキュリティの3要素
- 機密性
  - 認可された人だけがアクセスできるようにする。
  - 暗号化などで対応。
- 完全性
  - その情報が正しくあること
  - 書き換えられないこと
- 可用性
  - 必要な時に情報にアクセスできること
  - サーバーが落ちないこと
  - 1つのサーバーが落ちた時にも動くような仕組みであること。
  - DoS攻撃に耐えられるように

### 3要素＋α 要素
- 真正性
  - 正しく本人であることを証明する
  - なりすまし防止
- 責任追跡性
  - 責任を追っていけるかどうか
  - ログの管理等
- 否認防止
  - 否認できないようにする。
  - ログなどの証拠を用意する
- 信頼性
  - システムを信用して動かせる
  - システムが常に動かし続けられること

### 情報資産
- どのような情報があるのかを全て洗い出しておくのが重要
- その後、守るべきものが何かを決める

### リスク
- 脅威と脆弱性の掛け合わせがリスク
- 脅威自体が存在しない場合、脆弱性に対する必要性は低くなる

### 不正のメカニズム
- 機会、正当化、動機が揃った際に不正が行われる。
- 機会
  - 不正が可能かどうか
- 正当化
- 動機
  - お金を稼ぎたい、正義のため、テロ等
  - 職場関係を整えたりして不満を無くすなどする

# 情報セキュリティマネジメント
## 情報セキュリティマネジメントとは
- 組織の情報セキュリティの確保に体系的に取り組むこと
- そのための仕組みがISMS(Information Security Management System)

## ISMS
### PDCAサイクル
- 計画
  - セキュリティ対策の計画を立てる
- 実行
  - 計画に基づいて運用の実行をする
- 評価
  - 実施した結果の監視、監査を行う
- 改善
  - 改善策を考え、実施する

### ISMSの標準
- JIS規格が存在する
- JIS Q 27001
  - 要求事項
- JIS Q 27002
  - 情報セキュリティ管理策の実践のための規範

### 情報資産台帳
- 情報資産とその機密性、重要性、グループなどをまとめたもの
- 情報資産を漏れなく記載する
- 変化に応じて更新していく

### ポイント
- トップ
  - トップのリーダーシップが必要
  - ISMSの適用範囲を明確に定義
  - 計画を立てて目的を明確にし、明文化する
  - 責任や権限を割り当てて指揮をとる
- 組織に所属する人全て
  - 情報セキュリティポリシーを知る
  - ISMSを有効にするために、貢献する
  - ISMS要求事項に適合しないとどう困るかを知る

### ISMSの計画策定
- まずは情報資産を洗い出す
- 情報セキュリティリスクアセスメントを実施する
  - 全てを実施する訳ではなく、必要なもののみ実施する
- 情報セキュリティリスク対応を選択する

## リスクマネジメント
- リスクをき基準として組織を指揮して管理すること
- 情報資産を調査し、情報資産台帳にまとめる
- リスクを分析・評価し、対応する

### リスクとは
- まだ起こっていないこと
- もし発生すれば、情報資産に影響を与える状態

## リスクのPDCA
### 計画
  - リスクアセスメント
    1. リスク特定
    1. リスク分析
    1. リスク評価
### 実行
- リスク対応
- リスクテイク
    リスクを取るまたは増加させる
    リスク源を除去する、起こりやすさを変える、結果を変える等
- リスクの回避
リスクを生じさせる活動を開始・継続しないと決定する
- リスクの共有
一つ以上の他者とリスクを共有
リスク移転、リスク分散(保険に入る、バックアップサイトを作っておく等)
- リスクの保有
具体的な対策をしないという対応
リスクを保有することを受け入れる
やらないことを決める

### 評価
- モニタリング

### 改善

## 情報セキュリティに対する取り組み方
### CSIRT
- Computer Security Incident Response Teamの略
- 情報セキュリティインシデントに対して迅速かつ効果的に対応する専門チームのことを指す
- 下記の役割を持つ
  - インシデント対応:
サイバー攻撃やデータ漏洩、ウイルス感染などのセキュリティインシデントが発生したときに、迅速かつ効果的に対応する。
  - 被害最小化:
インシデントによる被害を最小限に抑えるための対策を講じる。
  - インシデント調査:
インシデントの原因を突き止め、再発防止策を講じる。

### 組織内の情報セキュリティ機関
- 情報セキュリティ委員会
情報セキュリティの管理を行う機関
- CISO
セキュリティに関して責任を持つ取締役
- 組織内CSIRT
セキュリティの専門家の集まり
- SOC
オペレーションを行う機関
組織全体のセキュリティを監視し、サイバーインシデントに迅速に対応するための重要な機関

### 脆弱性を判断する指標
- CVE
特定の脆弱性を一意に識別するための標準的なIDシステム
- CVSS
脆弱性の深刻度を定量的に評価するためのスコアリングシステム。
- CWE
ソフトウェア開発における共通の弱点や欠陥を分類するためのフレームワーク

# 情報セキュリティに関する技術
## 暗号技術
### 暗号化とは
- 平文を読めない文章(暗号文)に変換すること
- 元に戻せる(復号)事が前提

### 共通鍵暗号方式
- 暗号化鍵と復号鍵が同じ方式
- 送信者は受信者に暗号鍵(秘密鍵)を渡して複合してもらう
- その秘密鍵を持っていない人は読めない
- 受信者に秘密鍵を渡す方法が問題
- DES, RC4, AES, Camellia, KCipher-2がこれに当たる
- 古い暗号方式のものはセキュリティ的に危険

### 公開鍵暗号方式
- 暗号化鍵と複合鍵が違う方式
- 使用する一人一人が、公開鍵と秘密鍵のペア(キーペア)を作る。
- 公開鍵は見られても良いが秘密鍵は厳重に保管する
- 秘密鍵で暗号化したものを公開鍵で復号化/復号鍵で暗号化したものを公開鍵で復号化する
- 受信者の公開鍵で暗号させて、受信者の秘密鍵で複合させる方法が一つ
- 送信者の秘密鍵を使って暗号化させて、受信者は送信者の公開鍵で複合する事で署名を行う事が多い
- RSA, DH鍵交換, DSA, 楕円曲線暗号がこれにあたる

### ハッシュ関数
- 一方向性の関数であり、暗号化できても復号できない関数
- ハッシュ値を比較して、改ざんを検出する事ができる
- パスワードをハッシュ化して保存するなどの使い方もある
- MD5, SHA-1, SHA-2, SHA-3などがこれにあたる

### ディジタル署名
- 送信者は平文をハッシュ関数でハッシュ値に変換する。
- ハッシュ値を送信者の秘密鍵で暗号化する
- 受信者は送信者の公開鍵で復号化してハッシュ値を取得する
- 受信者は平文のハッシュ値と比較し、同じ値かを確認する

### 基本の認証技術
- サーバー、クライアント、人が正しいのかを確かめる事
- Authentication(二者間の認証)とCertification(三者間の認証)の二種類がある
- 認証の3要素
下記の中から2つ以上組み合わせるのが重要
  - 知識
  パスワードを知っていたら入れる等
  盗まれたら突破されてしまう
  - 所持
  ICカードなど持っていればOK等
  盗まれたら突破されてしまう
  - 生体
  指紋認証、顔認証等
  たまに認証されない事もあったりする

### PKI
- 政府や第三者機関の認証局（CA）にディジタル署名を行って証明書を発行してもらう
- 証明書は依頼者の証明書のハッシュ値をCAの秘密鍵で暗号化したもの
- 顧客に証明書を渡し、顧客側はCAの公開鍵で復号して認証してもらう
- 証明書の内容として発行者、有効期限、シリアル番号が含まれる

### アクセス制御技術
- ファイアウォール
アクセスを止めたり通したりする仕組み
IPアドレス、ポート番号で制御する
- IDS
侵入を検知する仕組み
- IPS
侵入を防御する仕組み
- UTM
複数の機能を統合したセキュリティソリューション

### SSL/TLS
- インターネット上でデータを暗号化して安全に送受信するためのプロトコル
- SSLは現状3.0まであるがどれも既に安全ではない
- TLSはSSLの後釜で、TLS1.3が新しく安全
- 流れとしては下記
  - PKIで認証を行う
  - 鍵を交換する
  - 公開鍵暗号方式で暗号化
  - ハッシュ関数を用いて改ざん検知を行う
- HTTPでSSL/TLSを使用するとHTTPSになる

### IPsec
- 主にVPNで使われる
- 二者間認証をした後、鍵交換を行い、共通鍵暗号方式で暗号化する

### S/MIME
- メールを暗号化するためのプロトコル
- 共通鍵暗号方式で行う
- ディジタル署名にも使われる

# サイバー攻撃
## Webサイトに関する攻撃
### クロスサイトスクリプティング(XSS)
- 悪意のあるスクリプトをウェブページに挿入する攻撃手法
- ユーザーのセッションの乗っ取りや個人情報の盗難などのリスクがある
- 入力のサニタイズ、出力のエスケープ、Content Security Policyの設定などの対策がある

### クロスサイトリクエストフォージェリ(CSRF)
- 認証されたユーザーを利用して不正な操作を行わせる攻撃手法
- 流れは下記の通り
1. ユーザーがサイトAにログイン：
ユーザーは、サイトA（例：銀行のウェブサイト）にログインし、認証されたセッションが維持される。
1. 攻撃者が悪意のあるサイトBを作成：
攻撃者は、自分が管理するサイトBにCSRF攻撃のコードを埋め込む。
1. ユーザーがサイトBを訪問：
ユーザーが無意識にサイトBを訪れる（例：リンクをクリック、電子メールのリンクを開く、広告をクリックするなど）。
1. サイトBからリクエストが送信される：
サイトBにアクセスすると、サイトAへの不正なリクエストがユーザーのブラウザから送信される。
1. サイトAがリクエストを処理：
サイトAは、ユーザーが認証されたセッションを持っているため、不正なリクエストを正当なリクエストとして処理し、操作が実行される。

### ディレクトリトラバーサル
- 撃者がサーバのファイルシステムに不正にアクセスし、機密情報を読み取る攻撃手法
- 攻撃を防ぐためには、ユーザー入力の検証や適切なパスの構成、アクセス制御の導入などの対策が不可欠

### SQLインジェクション
- 攻撃者がWebアプリケーションのデータベースに不正なSQLクエリを実行させる攻撃手法
- 攻撃を防ぐためには、プリペアドステートメントの使用、入力のサニタイズとエスケープ、ORMの利用、最小限の権限設定、エラーメッセージの制御などの対策が重要

### バッファオーバーフロー攻撃(BOF)
- メモリ管理の脆弱性を利用した、攻撃者がシステムの制御を奪う攻撃手法
- 攻撃を防ぐためには、安全な関数の使用、入力の検証、メモリ保護技術の活用、コードレビューと静的解析、最新のコンパイラとライブラリの使用などの対策が効果的

### そのほかのWebサイト攻撃
- ドライブバイダウンロード
  - ユーザーが意図せず悪意のあるソフトウェアが自動的にダウンロードされる攻撃手法。
- クリックジャッキング
  - ユーザーに意図せず特定の操作をさせるため、透明なフレームや隠し要素を使用する攻撃手法。
- フィッシング
  - ユーザーの機密情報を盗むために、信頼できる機関を装った偽のウェブサイトやメールを使用する攻撃手法。

## 接続に関する攻撃
### セッションハイジャック
- 正当なユーザーのセッションを攻撃者が盗み取ることでユーザーになりすます攻撃手法
- 攻撃を防ぐためには、セッションIDの予測不能性、通信の暗号化、クッキーのセキュリティ設定、セッションのタイムアウト、二重認証などの総合的なセキュリティ対策を講じる必要がある

### 踏み台攻撃
- 攻撃者が一つのシステムを侵害し、そこを踏み台にして他のシステムに対する攻撃を拡大する手法
- 防ぐためには、ネットワークのセグメンテーション、厳格なアクセス管理、セキュリティの監視とログの分析、迅速なパッチ適用、教育とトレーニング、多層防御などの包括的な対策が重要

### IPスプーフィング
- 攻撃者が送信元のIPアドレスを偽装し、信頼できるホストのふりをしてネットワーク通信を行う攻撃手法
- 攻撃を防ぐためには、パケットフィルタリング、暗号化と認証、ネットワークセグメンテーション、ルータとファイアウォールの適切な設定、セキュリティ監視とログ分析など、複数の防御策を組み合わせることが重要

### DNSキャッシュポイズニング攻撃
- 攻撃者がDNSサーバに偽の情報を注入し、ユーザーを悪意のあるサイトに誘導する攻撃手法
- 攻撃を防ぐためには、DNSSECの導入、DNSキャッシュデータの管理、DNSソフトウェアの更新、問合せ送信元ポートやクエリIDのランダム化、信頼できるソースIPアドレスのフィルタリング、および侵入防止システムの利用など、複数の対策を講じることが重要

## その他の攻撃
### ソーシャルエンジニアリング
- 人間の心理的な弱点を突いて情報を不正に取得する攻撃手法
- フィッシングやスピアフィッシング、テールゲーティングなど多様な手法が存在する
- 防ぐためには教育とトレーニング、多要素認証、物理的なセキュリティの強化など、包括的な対策が必要

### パスワードに関する攻撃
- ブルートフォース攻撃（Brute Force Attack）
  - 全ての可能な文字の組み合わせを試すことで正しいパスワードを見つける手法。
- 辞書攻撃（Dictionary Attack）
  - 普通に使われる単語やフレーズをリスト（辞書）として準備し、そのリストを利用してパスワードを試す手法
- レインボーテーブル攻撃（Rainbow Table Attack）
  - ハッシュ化されたパスワードを逆算するための事前計算されたハッシュテーブルを使用する手法

### DoS攻撃
- DDoS
  - 複数のコンピュータやデバイス（通常はボットネットを構築したもの）を利用して、同時にターゲットに対して大量のトラフィックを送り込み、サービスを妨害する攻撃手法
- EDoS
  - クラウドサービスのリソースを過剰に消費させ、経済的な損害を与えることを目的とした攻撃手法
  - クラウド環境に依存するビジネスの特性を悪用し、膨大な運用費用を発生させることを狙う

### 標的型攻撃
- 特定の個人、企業、組織を狙って行われる計画的かつ継続的なサイバー攻撃
- 攻撃者は事前にターゲットの情報を収集し、その弱点や脆弱性を探し出して攻撃を実行する
- 多層的なセキュリティ対策の導入と継続的なセキュリティ教育が不可欠

# 情報セキュリティ対策
## 人的セキュリティ対策
### 内部不正対策
- 犯罪をやりにくくする
- 捕まるリスクを高める
- 犯罪の見返りを減らす
- 犯行の誘因を減らす
- 犯罪の弁明をさせない

### パスワード管理
- 質の良いパスワードを設定させる
- 同じパスワードを使い回さない
- 組み合わせでパスワードを管理する
- パスワードをPCに保管しない

### 利用者管理のポイント
- 必要最低限の権限を与える
- 個人ごとに固有のアカウントを配布し、責任の所在を明確にする
- 業務上の責任を分け、重要な操作や取引においては複数の関与者が必要となるようにし、不正行為を防止する
- 管理者アカウントやシステムアカウントなどの特権アカウントは厳密に管理し、アクセス履歴を監視する
- 利用者の退職や役割変更に応じて、アカウントを速やかに削除または権限を変更し、不正アクセスを防ぐ
- クセスログを定期的に監査し、利用者に対して監視されていることを認識させることで、不正行為の抑止効果を高める

## 物理的セキュリティ対策
### 耐震耐火設備
- 建物やサーバールームに耐震構造を導入し、火災対策として耐火材や自動消火システムを設置して、災害からの保護を強化する。

### 二重化技術
- システムのハードウェアやネットワークを二重化し、一つが故障してもサービスを継続できるように冗長性を確保する。

### 遠隔地バックアップ
メインデータとは別の地理的に離れた場所にデータのバックアップを実施し、災害や故障時のデータ消失を防止する。

### 監視カメラ
- 施設内外に監視カメラを設置し、常時録画・監視することで、不正侵入や異常行動を早期に検知する。

### 施錠管理
- サーバールームや重要設備の出入口に施錠を設置し、アクセス権を持つ者のみが入室できるようにする。

### 入退室管理
- 入退室管理システムを導入し、ICカードや生体認証を用いて、誰がいつどこに入退室したかを記録・監視する。

### クリアデスクとクリアスクリーン
- 席を離れる際には机上を整理し、紙類や機密情報が置かれたままにならないようにする「クリアデスク」を遵守する。
- 画面ロックを徹底する「クリアスクリーン」を遵守する。

### 廃棄
- 機密情報を含む書類や電子デバイスは、安全な方法で破砕や焼却処分し、情報漏洩のリスクを排除する。

## 技術的セキュリティ対策
### 不正アクセス対策
- ファイアウォールや侵入検知システム（IDS）、侵入防止システム（IPS）を導入し、外部からの不正なアクセスを検知・遮断する。
- 強力なパスワードポリシーを適用し、定期的に変更する。
- 多要素認証（MFA）を導入し、アクセスの安全性を高める。

### 証拠保全対策
- システムやネットワークのログを詳細かつ長期間にわたり保存し、不正行為やインシデント発生時の証拠を保全する。
- ログ管理の一貫性と完全性を確保し、改ざんを防ぐ手段を講じる。
- システムのバックアップを定期的に実施し、検証する。

### マルウェア対策
- アンチウイルスソフトウェアやアンチマルウェアソリューションを導入し、システム内のマルウェアをスキャン、検出、削除する。
- コンピュータやサーバーのすべてのソフトウェアを最新の状態に保ち、セキュリティパッチを適用する。
不審なファイルやリンクを開かないよう利用者に教育し、メールフィルタリングやウェブフィルタリングを利用する。
- 確実に、全てのコンピュータで行うのが重要

### 携帯端末のセキュリティ対策
- モバイルデバイス管理（MDM）ソリューションを導入し、携帯端末のセキュリティポリシーを一元管理する。
- デバイスの暗号化を有効にし、データ漏洩のリスクを低減する。
- リモートワイプ機能を設定し、端末の紛失や盗難時にデータを遠隔で削除できるようにする。

# 情報セキュリティに関する法律・標準
## サイバーセキュリティ基本法
- サイバー空間の安全を確保するための基本的枠組みを定めた日本の法律
- 国の責任や役割、政府機関および民間企業の役割分担を明確にする。
- 具体的には、サイバー攻撃対策、情報の共有、緊急対応体制の整備などが含まれる。

## 個人情報保護法
- 個人情報の適正な取扱いを確保し、個人の権利利益を保護するための日本の法律
- 事業者は個人情報を収集・利用・管理する際に適切な対策を講じる必要がある

## セキュリティ関連法規
### 不正アクセス禁止法
- 他人のコンピュータやネットワークに不正にアクセスする行為を禁止し、違反者には刑事罰を科す法律。
- 情報システムへの不正アクセス防止を目的とする。

### 電気通信事業法
- 電気通信事業者の義務として、契約者情報の適正な管理や通信の秘密保持、セキュリティ対策の実施を規定している。

### コンピュータ不正アクセス禁止法
- コンピュータウイルスの作成・配布や、電子計算機に対する不正アクセスを禁止する法律。

## セキュリティに関する基準
### ISO/IEC 27001
- 情報セキュリティマネジメントシステム（ISMS）に関する国際標準規格。
- 情報資産を保護するためのマネジメント手法や手続きが定義されている。

### NIST SP 800シリーズ
- アメリカ国立標準技術研究所（NIST）が発行するセキュリティガイドライン。
- 組織の情報システムとデータを保護するベストプラクティスを提供。

### CIS Controls
- Center for Internet Security（CIS）が制定した情報セキュリティのベストプラクティス。
- 20の基本的なコントロールで構成される。

### PCI DSS
- 支払いカード業界データセキュリティ基準（Payment Card Industry Data Security Standard）。
- クレジットカード情報を保護するためのセキュリティ要求事項を規定。