2018/ 6/ 25/ 岩間 章
0 セキュリティ
情報漏えいのリスクには技術的なものと人的なものがある。
マルウェア
悪さをするプログラムの総称。
種類 | 特徴 |
コンピュータウイルス | プログラムのファイルに感染する |
ワーム | 単独で動作し、自己増殖する |
ボット | 遠隔操作で起動され、悪さをする |
スパイウェア | 通常のプログラムのふりをして情報を盗む |
トロイの木馬 | 通常のプログラムのふりをして情報を破壊する |
キーロガー | キー入力監視ソフトを悪用して情報を盗む |
マクロウイルス | オフィスソフトのデータファイルに感染する |
バックドア | 不正アクセスするための裏口を用意する |
ソーシャルエンジニアリング
人間の心理的な隙や行動のミスにつけ込んで情報を盗む行為。
1 攻撃手法
●SQLインジェクション攻撃(SQL injection)
データベースアプリケーションの入力欄に、悪意のあるSQL文を入力してデータベースのデータを不正に取得したり改ざんしたりする。
●DNSキャッシュポイズニング
(Domain Name System cache poisoning)
DNSサーバの中にキャッシュされている内容を書き換え、悪意のあるWebサイトに誘導する。
●ディレクトリトラバーサル攻撃(directory traversal)
パス名を含めてファイルを指定することによって、管理者が意図していないファイルを不正に閲覧する。
●フィッシング(phishing)
あらかじめ用意しておいた偽Webサイトへ誘導するURLを電子メールで送信し、利用者に個人情報を入力させる。
●その他の有名な攻撃手法
- クロスサイトスクリプティング(cross site scripting)
- DoS攻撃(Denial of Service attack)
- DDS攻撃(Distributed Denial of Service Attack)
- セッションハイジャック
聞いたことがあるものも多いと思います。
名称の英語の意味を調べると理解しやすいかもしれません。
興味があったら調べてみましょう。
2 セキュリティ技術
暗号化
ネットワークで伝達されるデータは、通信系路上で物理的に盗まれることを防げない。
そのため暗号化して内容を読ませないようにする。
平文(暗号化する前のデータ)を暗号化し暗号文(暗号化されたデータ)にし、
暗号文を復号(暗号文を平文に戻す)し平文にする。
このときに暗号化と復号で使われる数値を鍵と呼ばれる。
共通鍵暗号方式
1つの共通鍵を使って暗号化と復号を行う。
共通鍵を知らせる必要があるためネットワーク上では使えない。
ex. シーザー暗号文
アルファベットを3文字ずらして暗号化、3文字戻して復号。共通鍵は3。
lysisを暗号化 → obvlv となる。 各アルファベットを3文字ずらす。
公開鍵暗号方式
2つの鍵、公開鍵と秘密鍵を使う。
公開鍵で暗号化し秘密鍵で復号する。
手順
①受信側が、一方で暗号化、他方で復号できる性質の鍵のペアを作る。
②送信側へ、一方の鍵をネットワークで送る。このときの鍵はネットワークの性質上、公開されているようなもので公開鍵と呼ぶ。
③送信側が、この公開鍵で情報を暗号化する。
④ネットワークで情報を受け取る側へ送る。
⑤受信側が、秘密鍵(ペアの他方の鍵)で暗号文を復号する。
ハイブリッド暗号
共通鍵暗号方式と公開鍵暗号方式の長所を組み合わせた技法。
共通鍵暗号方式
長所 → 処理が早い 短所 → 鍵をネットワークで送れない
公開鍵暗号方式
長所 → 鍵をネットワークで送れる 短所 → 処理が遅い
基本的に処理の早い共通鍵暗号方式を使い、公開鍵暗号方式で共通鍵を暗号化して送る。
手順
①受信者が、公開鍵と秘密鍵のペアを作る。
②受信者が公開鍵を送信者に送る。
③送信者が、受信者は情報を共通鍵暗号方式で暗号化する。この共通鍵を受信者の公開鍵を使い公開鍵暗号方式で暗号化する。
④送信者が、共通式暗号方式で暗号化した暗号文と、公開鍵暗号方式で作った共通鍵を受信者に送る。
⑤受信者が、自分の秘密鍵で公開鍵暗号方式で暗号化された共通鍵を復号する。
⑥復号された共通鍵で共通鍵暗号方式で暗号化された情報を復号する。
ディジタル署名
公開鍵暗号方式を応用して、送信者が本人であることと情報の内容に改ざんがないことを示すために使われる。
手順
①情報の送信者が、秘密鍵と公開鍵のペアを作り、公開鍵を受信者に送る。
②送信者が、情報を構成するすべての文字の文字コードを使い、その情報固有の値(ハッシュ値)を求める。
③ハッシュ値を自分の秘密鍵で暗号化する。(この秘密鍵で暗号化されたハッシュ値がディジタル署名になる。)
④送信者が、受信者に情報の本文とディジタル署名をネットワークで送る。
⑤受信者が、受け取った情報のハッシュ値を求める。
⑥受信者が、秘密鍵で暗号化されたハッシュ値を公開鍵で復号する。
⑦このときの復号したハッシュ値と、受信者が求めたハッシュ値が一致していれば送信者の本人確認と改ざんが無いことの確認ができる。
※暗号化の冒頭でも述べましたが、ネットワークでデータを伝達する場合は物理的に盗まれることを防げません。
そのための暗号化ですが、鍵の解析などはとてつもない労力と時間をかければ可能です。
興味がある方は調べてみましょう。公開鍵、秘密鍵、一方向関数など。
認証局(Certificate Authority)
ディジタル署名が暗号化をしても、完全になりすましや情報改ざんのリスクが無くなるわけではありません。
そこで認証局が発行するディジタル証明書(公開鍵証明書)をディジタル署名に添付し、なりすましや情報改ざんの脅威を防いでいます。
3 セキュリティ対策
ウイルス対策ソフト
マルウェア全般の検出と除去を行うソフトウェア。
名称 | 検出方法 |
チェックサム法 (check sum) |
ファイルのチェックサムが合わなければ、感染していると判断する |
コンペア法 (compare) |
ウイルスが感染していない原本と比較して、異なっていれば、感染していると判断する |
パターンマッチング法 (pattern matching) |
既知のウイルスの特徴を記録しておき、プログラムの中に一致する部分があれば、感染していると判断する |
ヒューリスティック法 (heuristic) |
ウイルスが行うであろう動作を決めておき、プログラムの中に一致する動作があれば、感染していると判断する |
ビヘイビア法 (behavior) |
プログラムの動作を監視し、通信料やエラーの急激な増加などの異常があれば、感染していると判断する |
名称の英語の意味が分かると理解しやすいと思います。
興味があったら英語も調べてみましょう。
ファイアウォール(fire wall)
社内LANの内部と外部を行き来するパケットをチェックし、許可されていないパケットの通過を禁止する。
○パケットフィルタリング型ファイアウォール
データの宛先と差出人のIPアドレスとポート番号を見て、パケットの通過の禁止と許可を判断する。
DMZ(De- Militarized Zone = 非武装地帯)
ファイアウォールの機能を持つルータ。
社内のネットワークを2つの部分に分け、一方にインターネットに公開するWebサーバやメールサーバを配置し、もう一方にインターネットに公開しないデータベースサーバやクライアントを配置することがある。
このときインターネットに公開するサーバを置いた部分をDMZと呼ぶ。
WAF(Web Application Firewall)
ファイアウォールで防げるのは、基本的には不正アクセスのみ。
ファイアウォールがDMZにあるWebサーバへアクセスを許可している場合、Webアプリケーションへの攻撃をブロックしているのがWAF。
ファイアウォール → パケットの通過を禁止して不正アクセスをブロック
WAF → Webサーバとアプリケーションへの攻撃をブロック
4 セキュリティ管理
セキュリティ三大要素
- 機密性(confidentiality) → 情報が盗まれないこと
- 完全性(integrity) → 情報が改ざんされていないこと
- 可用性(availability) → 情報サービスが停止しないこと
リスクアセスメント(risk assessment)
リスクの大きさを事前に把握し、許容範囲外なら事前に対策を立てる。
リスクファイナンス(risk finance)
リスクによる損失に備える資金的な対策。
※カタカナ英語になってしまうと分かりにくいですが、英語本来の意味で名称を調べてみましょう。理解しやすくなるかもしれません。
セキュリティテストと検査
ペネトレーションテスト
システムの脆弱性を見つけるため、実際にシステムに侵入するテスト。
ポートスキャナ
Webサーバで稼動しているプログラムから、不要なプログラムが稼動していないことを確認してサーバの脆弱性を調べる。