情報セキュリティ
機密性・完全性・可用性、脅威とマルウェア、代表的な攻撃手法、共通鍵と公開鍵の暗号、多要素認証とPKIという情報セキュリティの土台を理解できるようになります。
ねらい
情報を守る技術の全体像を学びます。このレッスンを終えると、情報セキュリティの3つの性質、脅威とマルウェアと攻撃手法の分類、共通鍵暗号と公開鍵暗号の違い、認証技術とPKIの仕組みを説明できるようになります。
ストーリー
「ランサムウェアの被害で工場が停止」。そんなニュースが珍しくなくなりました。会社のデータが暗号化されて人質に取られ、業務が止まり、身代金を要求される。守るべきものは何か、敵は誰で、どんな手口を使うのか、そしてどんな武器で守るのか。情報セキュリティを体系立てて学びましょう。
情報セキュリティの目的:3つの性質を守る
情報セキュリティの目的は、情報の次の3つの性質を確保し維持することです。頭文字からCIAと呼ばれます。
| 性質 | 意味 |
|---|---|
| 機密性(Confidentiality) | 許可された人だけが情報にアクセスできること |
| 完全性(Integrity) | 情報が正確で、改ざんされていないこと |
| 可用性(Availability) | 使いたいときに使えること |
3つの性質は、どれか1つだけを追い求めればよいものではなく、三角形の頂点のように支え合っています。
これに加えて、本人であることの真正性、行動を後から追跡できる責任追跡性、「やっていない」と言い逃れさせない否認防止、意図どおりに動く信頼性という4つの特性も挙げられます。守り方の考え方としては、複数の防御を重ねる多層防御、企画・設計の段階からセキュリティを組み込むセキュリティバイデザイン(セキュアバイデザイン)とプライバシーバイデザインが基本です。
脅威と脆弱性
守る対象となる情報やシステムを情報資産、それらに害を及ぼす要因を脅威、脅威につけ込まれる弱点を脆弱性といいます。
脅威の種類
脅威には、災害や故障のほか、人によるものとして、不正アクセス、盗聴、なりすまし、改ざん、情報漏えい、SNSの悪用、迷惑メール(スパム)、乗っ取った機械を攻撃の中継に使う踏み台などがあります。技術ではなく人の心理を突いて情報を聞き出すソーシャルエンジニアリング、取引先を装って送金させるビジネスメール詐欺(BEC)、従業員による内部不正も重大な脅威です。
マルウェア
悪意のあるソフトウェアの総称がマルウェアです。他のプログラムに寄生するコンピュータウイルス(文書ファイルに潜むものはマクロウイルス)、単独で自己増殖するワーム、有用なソフトウェアを装うトロイの木馬、攻撃者のC&Cサーバから遠隔操作されるボット(その集まりがボットネット、遠隔操作型はRAT)、情報を盗むスパイウェアとキーロガー、データを暗号化して身代金を要求するランサムウェア、潜伏を隠すルートキット、侵入口を仕掛けるバックドア、ファイルとして残らないファイルレスマルウェアがあります。
脆弱性と不正のメカニズム
脆弱性には、プログラムのバグやセキュリティホールのような技術的なものと、組織の規律の不備や従業員の不注意のような人的脆弱性があります。会社が把握していない私物の機器やサービスの利用はシャドーITと呼ばれます。内部不正は、機会、動機、正当化の3つがそろったときに起こるとされ、これを不正のトライアングルといいます。3つのどれかを断つことが防止策の考え方です。
攻撃手法
代表的な攻撃を系統で整理します。
- パスワードへの攻撃には、よく使われる語を試す辞書攻撃、すべての組合せを試す総当たり(ブルートフォース)攻撃、パスワードを固定してIDを変えるリバースブルートフォース攻撃、他所から漏れた組を試すパスワードリスト攻撃があります。
- Webアプリケーションへの攻撃には、悪意のあるスクリプトを埋め込むクロスサイトスクリプティング、利用者に意図しない操作をさせるクロスサイトリクエストフォージェリ、透明なボタンを重ねるクリックジャッキング、閲覧しただけで感染させるドライブバイダウンロード、入力欄からデータベースを不正操作するSQLインジェクション、OSの命令を注入するOSコマンドインジェクション、公開領域の外のファイルへ侵入するディレクトリトラバーサル、領域あふれを悪用するバッファオーバーフローがあります。
- 通信への攻撃には、間に割り込む中間者(Man-in-the-middle)攻撃とブラウザ内で改ざんするMITB攻撃、送信元を偽るIPスプーフィング、DNSの応答を汚染するDNSキャッシュポイズニング、偽サイトへ誘導するフィッシング(SMSを使うものはスミッシング)、セッションIDを乗っ取るセッションハイジャックがあります。
- サービスの停止を狙うDoS攻撃と、多数の踏み台から一斉に行うDDoS攻撃があります。
- 特定の組織を執拗に狙う標的型攻撃(APT)には、標的がよく訪れるサイトに罠を仕掛ける水飲み場型攻撃や、メールで信頼を築いてから仕掛けるやり取り型攻撃があります。修正プログラムの提供前を突くゼロデイ攻撃、機器の物理的な挙動から情報を盗むサイドチャネル攻撃、検索結果を汚染するSEOポイズニングもあります。
- AIに対する攻撃として、偽の映像や音声を作るディープフェイク、認識を誤らせる敵対的サンプル、生成AIへの不正な指示であるプロンプトインジェクションが新しい脅威になっています。攻撃の前には、フットプリンティングやポートスキャンといった調査が行われます。
暗号技術:盗まれても読めなくする
共通鍵暗号と公開鍵暗号
暗号化と復号に同じ鍵(共通鍵)を使う方式が共通鍵暗号方式です。処理が速い一方、相手ごとに鍵を安全に届ける鍵管理が課題です。代表はブロック暗号のAESで、少しずつ暗号化するストリーム暗号や暗号利用モードという概念もあります。
公開鍵暗号方式は、誰にでも配れる公開鍵と本人だけが持つ秘密鍵の対を使います。公開鍵で暗号化したものは対の秘密鍵でしか復号できないため、鍵を安全に届ける問題が解決します。代表はRSA暗号です。処理は遅いため、実際の通信では、データ本体は共通鍵で暗号化し、その共通鍵を公開鍵暗号で届けるハイブリッド暗号が使われます。
任意のデータから固定長の値を作るハッシュ関数(SHA-256など)は、改ざんの検出に使われます。暗号は計算機の進歩で安全性が下がる危殆化という宿命を持つため、国が推奨するCRYPTREC暗号リストのような基準を参照します。
認証技術と利用者認証
データの送り主と改ざんの有無を証明する技術がデジタル署名です。送り主が署名鍵(秘密鍵)で署名し、受け取り側が検証鍵(公開鍵)で確かめます。ハッシュ値(メッセージダイジェスト)やメッセージ認証符号(MAC)による改ざん検出、存在した時刻を証明するタイムスタンプ、使い捨ての課題で確かめるチャレンジレスポンス認証、状況に応じて追加確認するリスクベース認証があります。
動かして確かめる
公開鍵暗号による暗号化と、デジタル署名は、鍵の使い方が逆になります。下のトレーナーで、モードと使う鍵を 実際に選んで確かめてみましょう。まちがった鍵を選ぶと、なぜうまくいかないかが分かります。
スタディード / 動く解説
暗号化と署名は、鍵の使い方が逆になる。
モードを選び、最初の一歩で使う鍵を選んでください。正しい鍵なら、届いた先でちゃんと開けます。
利用者認証は、記憶(パスワードやPINコード)、所有(ICカードやセキュリティトークン、ワンタイムパスワード)、生体という3要素に分類され、複数を組み合わせる多要素認証や段階を重ねる多段階認証が推奨されます。パスワードを使わないFIDOなどのパスワードレス認証、1回のログインで複数サービスを使えるシングルサインオン、機械による自動入力を防ぐCAPTCHAも広く使われています。生体認証には静脈・虹彩・顔・網膜などの身体的特徴と、声紋・署名などの行動的特徴があり、本人を誤って拒む本人拒否率(FRR)と他人を誤って受け入れる他人受入率(FAR)の釣り合いで調整します。
PKI:公開鍵の正しさを保証する
公開鍵暗号には「その公開鍵は本当に本人のものか」という問題が残ります。これを解決する社会的な仕組みがPKI(公開鍵基盤)です。認証局(CA)が本人確認のうえでデジタル証明書(公開鍵証明書)を発行し、証明書の連鎖は信頼の基点であるルート証明書(トラストアンカー)にたどり着きます。サーバ証明書やクライアント証明書、中間CA証明書という種類があり、失効した証明書はCRL(証明書失効リスト)やOCSPで確認します。政府の基盤はGPKI、認証局どうしを橋渡しするのはブリッジ認証局(BCA)です。
例題
次の問いに答えてください。
問1 情報セキュリティの3つの性質のうち、「使いたいときに使えること」を表すものは何ですか。
問2 データ本体は共通鍵暗号で暗号化し、その共通鍵を公開鍵暗号で相手に届ける方式を何といいますか。
解答と解説
問1の答えは可用性です。ランサムウェアで業務が止まるのは、まさに可用性が損なわれた状態です。機密性、完全性と合わせてCIAと覚えましょう。
問2の答えはハイブリッド暗号です。速いが鍵配送が課題の共通鍵暗号と、遅いが鍵配送に強い公開鍵暗号の、良いところを組み合わせています。
応用
本試験を意識した問題を解いてみましょう。
問 Webサイトの入力欄に悪意のある問合せの文字列を入力して、データベースを不正に操作する攻撃はどれでしょうか。次の中から選んでください。
- SQLインジェクション
- クロスサイトスクリプティング
- ディレクトリトラバーサル
- バッファオーバーフロー
解答と解説
答えは1のSQLインジェクションです。入力値の検査が不十分なサイトで、入力欄に紛れ込ませた問合せ文がデータベースに直接届いてしまうことを悪用します。2のクロスサイトスクリプティングは、データベースではなく閲覧者のブラウザで悪意のあるスクリプトを実行させる攻撃です。3のディレクトリトラバーサルは、パスの指定を細工して公開領域の外のファイルへ不正にアクセスする攻撃です。4のバッファオーバーフローは、用意された記憶領域を超えるデータを送り込んでプログラムの動作を乗っ取る攻撃であり、問合せ文の注入とは手口が異なります。
分からなかった点・気になった点
読み込み中です。