公開鍵暗号方式
暗号化は公開鍵、復号化は秘密鍵を使用します。暗号化鍵と復号鍵は一対のペアとして生成され、1つの暗号化鍵で暗号化されたデータは、その鍵のペアである復号鍵でしか元のデータに戻せないため、復号を行えるのは正当な受信者のみであることが保証されている。送信データの改ざん検知に使用するディジタル署名は公開鍵暗号式の技術を応用した仕組みである。代表的なアルゴリズムはRSA、楕円曲線暗号など
公開鍵と秘密鍵どっちが暗号化だっけみたいなことがおこると思います。自分の覚え方を共有します。
秘密を知る(復号化)ためには秘密鍵!
RSA
非常に大きな数の素因数分解が困難(短い時間では鍵を特定することが困難)なことを利用する暗号方式。2019年現在、RSAの鍵長は2,048ビット以上を使用することが推奨されています。公開鍵暗号方式は暗号化・復号に要する計算量が多いため、RSAの鍵長は処理負荷の面でネックとなっています。代わりに、鍵長が少なくて済む楕円曲線暗号の人気が高まってきています。
楕円曲線暗号
楕円曲線の点の演算を用いた暗号方式。楕円曲線によって定義された有限可群上の離散対数問題を解く際の計算量の多さを安全性の根拠とし、同じ強度を想定した場合、RSAより鍵長を短くできる利点があります。
共通鍵暗号方式
暗号化と複合化は共通鍵を使用します。暗号化と復号に同じ鍵を使用する暗号方式。暗号化通信を行う前にあらかじめ使用する鍵を相手に安全に送る必要がある。ロジックが単純なためシステムに組み込みやすく、計算量も少ないため暗号化・復号に要する処理時間が短いという利点がある。代表的なアルゴリズムはDES、AES、IDEAなど
AES
ブロック暗号で鍵長は128ビット、192ビット、256ビットの3つが利用できる。
同じ程度の暗号強度をもつ鍵長を選んだ場合,公開鍵暗号方式と比較して,暗号化や復号に必要な時間が短い。
ファジング
検査対象のソフトウェア製品に「ファズ(英名:fuzz)」と呼ばれる問題を引き起こしそうなデータを大量に送り込み、その応答や挙動を監視することで(未知の)脆弱性を検出する検査手法のこと。
ボットネット
サイバー犯罪者がトロイの木馬やその他の悪意のあるプログラムを使用してのっとった多数のゾンビコンピュータ(外部から乗っ取られた状態のコンピュータ)で構成されるネットワークのこと。攻撃者は、ゾンビコンピュータに個別に接続して操作することができる。また同じマルウェアに複数台に感染させた場合には、これをボットネットと呼ばれるネットワークに組織かし、一度の指示で一斉に同じ動作を行えるようにする。この時の指示を出し、動作を制御する役割を果たす中央サーバーのことをC&Cサーバーという。
情報セキュリティー要素
C-I-A(3要素)
① 機密性(Confidentiality)
認可されていない個人、エンティティまたは、プロセスに対して、情報を使用させず、また開示しない特性
② 完全性(Integrity)
正確さ及び完全さの特性
③ 可用性(Availability)
認可されたエンティティが要求した時にアクセス及び使用が可能である特性
3+4要素
上の3つに加えて、4つの特製を含めることもあります。
④ 真正性(Authenticity)
エンティティーはそれが主張した通りであることを確実にする特性
⑤ 責任追跡性(Accountability)
あるエンティティーの動作が、その動作から動作主のエンティティーまで一意に追跡できることを確実にする特性
⑥ 否認防止(Non-Repudiation)
主張された事象または処置の発生、及びそれを引き起こしたエンティティーを証明する能力
⑦ 信頼性(Reliability)
意図する行動と結果が一貫しているという特性
RASIS(レイシス)
信頼性の基本的な要素
概念 | 意味 | 指標 |
信頼性 (Reliability) | 故障しにくいこと | MTBF (平均故障間隔) |
可用性 (Availability) | 使いたい時に使える状態であること | 稼働率 |
保守性 (Serviceability) | 故障から迅速に復旧できること | MTTR (平均修復時間) |
完全性 (Integrity) ・保全性 |
改ざんが行われていないこと、データに整合性があること | ー |
機密性 (Security) | 不正アクセスされにくいこと | ー |
認証プロトコル
ユーザーや機器を認証するプロトコル代表的なもの
SPF(Sender Policy Framework)
電子メールを受信するサーバが,電子メールの送信元のドメイン情報と,電子メールを送信したサーバのIPアドレスから,ドメインの詐称がないことを確認する。
SPFの手順
①送信側は、送信側ドメインのDNSサーバのSPFレコード(又はTXTレコード)に正当なメールサーバのIPアドレスやホスト名を登録し、公開しておく。
②送信側から受信側へ、SMTPメールが送信される。
③受信側メールサーバは、受信側ドメインのDNSサーバを通じて、MAIL FROMコマンドに記載された送信者メールアドレスのドメインを管理するDNSサーバに問い合わせ、SPF情報を取得する。
④SPF情報との照合でSMTP接続してきたメールサーバのIPアドレスの確認に成功すれば、正当なドメインから送信されたと判断する。
DKIM(Domain keys Identified Mail)
ディジたる署名を用いて送信者の正当性を立証する。署名に行う公開鍵をDNSサーバに公開しておくことで、、受信者は正当性を確認できる。
SMTP-AUTH
送信メールサーバで、ユーザー名とパスワードなどを用いてユーザーを認証する方法です。通常のSMTPのポート番号ではなく、サブミッションポートと呼ばれる特別なポートを利用する場合が多い
OAuth
あらかじめ信頼できるサービスを構築して、ユーザーの合意のもと、セキュリティを確保した上でユーザーの権限を受け渡しする手法
無線LAN
無線LANのネットワークを識別
SSID(Service Set Identifier)というIDで無線LANのネットワークを識別します。
無線LANの暗号化
WEP(Wired Equivalent Privacy)がありましたが、アルゴリズムに脆弱性があるため、より強靭なWPA (Wi-Fi Protected Access)への移行が推奨されています。
無線LANの認証
MACアドレス認証やIEEE802.1Xを使う
攻撃のまとめ
バッファオーバーフロー攻撃(BOF)
バッッファの長さを超えるデータを送り込むことによって、バッファの後ろにある領域を破壊して動作不能にし、プログラムを上書きする攻撃
SQLインジェクション
攻撃者が、Webアプリケーションの入力データとしてデータベースへの命令文を構成するデータを入力し、管理者の意図しないSQL文を実行させる攻撃
クロスサイトスクリプティンング(XSS)
悪意のあるスクリプトを、標的サイトに埋め込む攻撃
クロスサイトリクエストフォージェリ攻撃(CSFF)
攻撃者が、利用者をWebサイトに誘導した上で、WebアプリケーションによるHTML出力のエスケープ処理の欠陥を悪用し、利用者のWebブラウザで悪意のあるスクリプトを実行させる
セッションハイジャック攻撃
セッションIDによってセッションが管理される時、攻撃者がログイン中利用者のセッションIDを不正に取得し、その利用者に成りすましてサーバーにアクセスする攻撃
DNSキャッシュポイズニング攻撃
DNSキャッシュサーバーに偽のドメイン情報を注入し、サーバーの利用者を誤ったサーバーに誘導する攻撃
Dos攻撃(Denial of Service 攻撃・サービス不能攻撃)
サーバなどのネットワーク機器に大量のパケットを送るなどしてサービスの提供を不能にしたり悪化させたりする
フィッシング
信頼できる機関を装い、とても似てる偽のWebサイトに誘導する攻撃
パスワードクラック
パスワードを不正に取得する攻撃
辞書攻撃 | 辞書に出て来る用語を使用してパスワードを見つける |
ブルートフォース攻撃 | 適当な文字を組み合わせて力任せにパスワードを見つける |
リプレイ攻撃 | 認証情報の入ったパケットを取得しそれを送信する |
スニッフィング | パスワードを盗聴してパスワードを見つける |
パスワードリスト攻撃 | 他のサイトで取得したパスワードのリストを利用してパスワードを見つける |
ランサムウェア
コンピュータをロックしたり重要なファイルを暗号化したりしてシステムのアクセスを制限し、その制限を解除するための身代金を要求するマルウェアのこと
ディレクトリトラバーサル
管理者が意図していないパス名を指定して、サーバー内の本来は許されていないファイルにアクセスする攻撃手法
ポリモーフィック型マルウェア
自己を複製する時にプログラムのコードを変化させ、検知されないようにするマルウェア
ドライブバイダウンロード
Webサイトにアクセスしただけで、ソフトウェアをダウンロードさせる攻撃
SEOポイズニング
Web検索サイトの順位付けアルゴリズムを悪用して、検索結果の上位に悪意のあるサイトを意図的に表示させる攻撃
マルウェアの解析
動的解析
サンドボックス上でプログラムを実際に動作させてその挙動を監視し、その動作を解析すること
静的解析
逆アセンブルしたプログラムの命令列を直接読んで、どのような動作をするか解析すること
サンドボックス:攻撃をされても大丈夫な仮想環境を作りだし、その中に未知のファイルを隔離して動作させて分析させます。ファイルの分析だけでなく、メール中に記載されている怪しいURLを開いて発生する不具合なども検証できます。つまりサンドボックスとはハニーポットのような囮ではなく、不審なファイルやURLを隔離した環境で検証できる仮想環境のことを意味しています。
ハニーポット:不正なアクセスを受けることを前提としたシステムやネットワークのことで、ネットワークに故意に脆弱性があるコンピュータを設置してインターネットで公開します。脆弱性があると言っても、実は不正なアクセスや攻撃を徹底的に監視して調査する機能を有しています。
コンペア法:検体のハッシュ値を計算し,オンラインデータベースに登録された既知のマルウェアのハッシュ値のリストと照合してマルウェアを特定する
ガイドライン系
CSIRTマテリアル
組織的なインシデント対応体制の構築や運用を支援する目的でJPCERT/CCによって作成されている
CSIRT (Computer Security Incident Response Team,シーサート):対象とする範囲でセキュリティ上の問題が起きていないかどうかを監視するとともに、セキュリティインシデントの発生時に対応にあたるチームや組織の総称です。セキュリティ意識の高まりとともに企業や組織内に設置される事例が増えています
ISMSユーザーズガイドライン
ISMS認証基準(JIS Q 27001:2014)の要求事項について一定の範囲でその意味するところを説明しているガイドです。JIPDECによって作成されています。
証拠保全ガイドライン
電磁的証拠の保全手続きの参考として、様々な事案について広く利用できるように策定された指針です。デジタル・フォレンジック研究会によって作成されています。
組織における内部不正防止ガイドライン
組織における内部不正防止ガイドラインは、組織が管理する情報と情報システムに対する内部不正の防止、および不正行為発生時の早期発見と拡大防止のための体制の整備を推進するための指針です。IPAによって作成されています。
サイバーセキュリティーガイドライン
サイバー攻撃から企業を守る観点で、経営者が認識する必要のある「3原則」、及び経営者が情報セキュリティ対策を実施する上での責任者となる担当幹部(CISO等)に指示すべき「重要10項目」をまとめたものです。経済産業省とIPAによって作成されている。
SIEM:シーム(Security Information and Event Management:セキュリティ情報イベント管理)
OS、データベース、アプリケーション、ネットワーク機器など多様なソフトウェアや機器が出力する大量のログデータを分析し、異常があった場合に管理者に通知したり対策を知らせたりする仕組みのこと。
不正のトライアングル
機会
不正を行おうと思えばいつでもできるような職場環境のこと。例えば、「悪用可能なシステムの不備が存在する」、「チェックする人がいない」「やってもばれない」という職場環境が、これに当てはまる。
動機・プレッシャー
自己の欲求の達成や問題を解決するためには不正を行うしかないという考えに至った心情のこと。例えば、「過大なノルマ」、「個人的に金銭的問題がある」という心情が、これに当てはまる。
正当化
自分に都合の良い理由をこじつけて、不正を行う時に感じる「良心の呵責(かしゃく)」を乗り越えてしまうこと。例えば、「組織のためであり、悪いことではない」、「自分のせいではない、組織・制度が悪い」「職場で不遇な扱いを受けている」等の身勝手な言い訳(罪悪感からの逃避や責任転嫁)が、これに当てはまる。
テスト
テストの流れ、①→②→③→④の順に実行していきます。
① 単体テスト(モジュール毎にテストする)
ホワイトボックステスト:モジュールの内部構造に注目してテストを作成する
ブラックボックステスト:モジュールの機能仕様やインターフェースの仕様に基づいてテストを作成する
② 結合テスト(複数のモジュールでテストする)
ボトムアップテスト:下位のモジュールから上位のモジュールへ順にテストをする
トップダウンテスト:上位のモジュールから下位のモジューるへ順にテストする
状態遷移テスト:設計された状態遷移図どおりにイベントや状態が遷移するかを確認するテスト。
③ システムテスト(システム全体でテストする)
ストレステスト:システムに通常以上の負荷をかけて、要求されている処理能力の限界状態における動作が正常かを確認するテスト
④ 運用テスト(ユーザーと同じ環境でシステム全体をテストする)
その他のテスト↓↓
リグレッションテスト(退行テスト)
プログラムにバグが見つかり、修正を行った場合は、その修正が他の部分に影響を及ぼしていないかどうかをテストする。
ベンチマークテスト
標準的なプログラムを実行させ、その処理性能を測定し比較するテスト。
ペネトレーションテスト
コンピュータやネットワークセキュリティー上の弱点を発見するために、システムを実際に攻撃して侵入を試みるテスト
リスクマネジメント
①リスク基準の確立
②リスクの特定
③リスク分析
④リスク評価
⑤リスク対応
リスク分析・リスク評価の結果明らかになったリスクに対応方法を講じることです。リスク対応では、リスクの大きさ、顕在化の可能性、情報資産の重要度、予算などを踏まえて最適な対応策をとることが重要となります。
・リスクコントロール
潜在的なリスクに対して、リスクを回避したり低減したりする対策を講じること。リスク回避・リスク低減・リスク移転などがある。
・リスクファイナンス
リスクが顕在化した場合に備えて、損失の補てんや対応のための資金確保策を講じること。
・リスク受容(保有)
リスクの損失額や顕在化の可能性が低いため、予算などとの兼ね合いからあえて対処を行わないこと。
IDS (Intrusion Detection System,侵入検知システム)
ネットワークやホストをリアルタイムで監視し、異常を検知した場合に管理者に通知するなどの処置を行うシステムです。異常を通知することを目的としたシステムのため通信の遮断などの防御機能を持たないことがほとんどです。
セキュアブート
コンピュータの起動時にOS起動ファイルやドライバのディジタル署名を検証し、起動プロセスを認証することで、不正なプログラムの実行を未然に防止する仕組みです。BIOSに代わる新仕様であるUEFI(Unified Extensible Firmware Interface)で規定されていて、WindowsではWindows8以降が対応しています。
セキュアブートを行うことで、HDDのブートセクタに感染するタイプのマルウェアの実行も防止できます。