コンテンツへスキップ

デバイスの保護

AP サイバーセキュリティ · トピック 4

查看幻灯片 練習する
このトピックのビデオレッスン 動画ページを開く
9:32

デバイスの保護

忙しい病院の月曜日の朝です。一分未満で、病室、薬局、記録室のスクリーンがすべて変わります。それらにあるすべてのファイルは…

英語ナレーション・英語+中文字幕 burning-in

4.1

デバイスの脆弱性と攻撃

シラバス

学習目標 4.1.A: コンピューティングデバイスの種類を特定する。

  • 4.1.A.1 サーバーコンピュータは、他のコンピュータに対して1つ以上のサービス(例:DNS、DHCP、FTP)を提供するデバイスです。すべてのコンピュータがサーバーになることができ、企業環境ではサーバーは通常、パーソナルコンピュータよりも高い処理能力とストレージを持ちます。
  • 4.1.A.2 パーソナルコンピュータは、一人の人が業務や娯楽目的で使用するよう設計されたデバイスです(例:ワード処理、グラフィックデザイン、ウェブブラウジング、メディア制作または視聴)。これにはデスクトップ、ラップトップ、ノートパソコンが含まれます。
  • 4.1.A.3 ハンドヘルドコンピュータ(モバイルコンピュータや情報家電とも呼ばれる)は、パーソナルコンピュータより小さく、バッテリーで動作します。これにはタブレット、スマートフォン、スマートウォッチのようなウェアラブルテクノロジーが含まれます。
  • 4.1.A.4 エンベッドドコンピュータは、機械の一部であるデバイスです。エンベッドドデバイスは、組み込まれている機械の専用コンポーネントとのインターフェース用に特定の命令セットを持っています。エンベッドドコンピュータは他のコンピュータより遅く、安価であり、ストレージ容量も最小限です。
  • 4.1.A.5 エンベッドドコンピュータを搭載した日常的なデバイスは、Often Internet of Things (IoT) デバイスと呼ばれます。エンベッドドコンピュータは、輸送機器(例:自動車、鉄道、航空機)、重要インフラを稼働させるデバイス(例:変電所の遮断器操作、浄水場のポンプ)、医療機器(例:点滴ポンプ、MRIスキャナー、ペースメーカー、インスリンポンプ)、そして洗濯機、コーヒーメーカー、サーモスタットなどの日常品に見られます。

学習目標 4.1.B: サイバー攻撃で使用されるマルウェアの種類を特定する。

  • 4.1.B.1 マルウェアは、デバイスやネットワークを損傷または破壊したり、攻撃者にデバイスへのアクセスやデバイス上のデータへのアクセスを許容する悪意あるソフトウェアです。
  • 4.1.B.2 マルウェアは、攻撃者の最終的な目標達成のための計画の一部を遂行するためのツールとしてよく使用されます。マルウェアには多くの種類があります。例えば:
    • ユーザーがファイルを実行または開くことで起動されなければならないマルウェアであるウイルス。
    • 人間の介在なく、一台のコンピュータから別のコンピュータへ拡散するワーム。
    • 無害そうに見える他のソフトウェアに埋め込まれたマルウェアであるトロイの木馬。リモートアクセストロイ(RATs)は、攻撃者に対して標的システムへのリモートアクセスを提供します。
    • デバイスのファイルを暗号化し、ユーザーがデバイス上のファイルにアクセスできなくするランサムウェア。通常、ランサムウェアはユーザーに対し、画面を表示して支払いを要求し、一定期間内に支払えばファイルの復号鍵を提供すると約束します。
    • ユーザーのコンピュータ上での行動を追跡し、情報を攻撃者に送信するスパイウェア。
    • ユーザーのキー入力をログ記録し、情報を攻撃者に送信するソフトウェアまたはハードウェアであるキーロガー。攻撃者はキーロガーのデータからユーザー名やパスワードを抽出できることが多いです。
    • 特定の条件が満たされた場合にのみ効果を発動するよう設定されたロジックボム;条件には日付と時間、特定のOSタイプやバージョン、コンピュータが使用している文字集合などが含まれます。
    • ターゲットコンピュータのオペレーティングシステムに侵入し、システムのほぼあらゆる側面を制御できる高度なマルウェアであるルートキット。ルートキット自体を検知不可にすることも可能です。
  • 4.1.B.3 ほとんどのマルウェアはファイルまたはファイルの集まりですが、ファイルレスマルウェアはRAM上に存在し、デバイスに既にインストールされている正規のプログラムを利用してそれを侵害する悪意あるコードです。

学習目標 4.1.C: 攻撃者が一般的なデバイスの脆弱性をどのように利用して、損失、損傷、妨害、または破壊を引き起こすかを説明する。

  • 4.1.C.1 攻撃者は、ソフトウェア(オペレーティングシステムを含む)の既知の脆弱性に対するエクスプロイトを開発できる。パッチ未適用のソフトウェアを搭載したデバイスはこれらのエクスプロイトに対して脆弱であり、システムをクラッシュさせたり、ユーザーの操作を監視したり、デバイス上のさまざまなサービスやコンポーネントを有効化または無効化したり(例:Webカメラやマイクのオン/オフ)、さらにはデバイスを掌握して自らの命令を発令し、デバイス上の情報を盗取または破壊する命令を含めることができる。
  • 4.1.C.2 攻撃者は、認証要件が緩弱な点を利用し、ユーザーのパスワードを推測したり、ソーシャルエンジニアリングによってユーザーにパスワードを洩れ出させたりすることができる。
  • 4.1.C.3 システムに基本入出力システム(BIOS)または統合拡張ファームウェアインターフェース(UEFI)にパスワードがない場合、攻撃者はより高い権限を与える特別なモード(例:「回復モード」)でコンピューターをブートさせることができる。BIOSやUEFIによる保護がない場合、攻撃者は外部ドライブから独自のオペレーティングシステムをデバイスに読み込み、専門的なツールを使用してユーザープロフィールを変更または作成することができ、ユーザーパスワードの変更も含まれる。
  • 4.1.C.4 攻撃者は外部ドライブにマルウェアを読み込むことができ、 autorun が有効化されている場合、外部ドライブを挿入するとデバイスがそのマルウェアを実行する。
  • 4.1.C.5 攻撃者は開放されたポートを利用してデバイスに接続することができる。
  • 4.1.C.6 攻撃者は悪意のあるデータを送信してデバイスを妨害したり、それらを掌握しようと試みることがある。ファイアウォールがない(または誤設定のファイアウォールを持つ)デバイスは、この悪意のあるデータをフィルタリングできない。
  • 4.1.C.7 攻撃者はoften、デバイスを妨害または制御するためにマルウェアのインストールを試みる。アンチマルウェアソフトウェアー缺失するデバイスは、この種のアタックに対してより脆弱である。

学習目標 4.1.D: デバイスの脆弱性からのリスクを評価し、記録する。

  • 4.1.D.1 デバイスの脆弱性からのリスクは、不正アクセスやマルウェアにより、攻撃者が authorized user を騙り、デバイスに遠隔でアクセスし、デバイスのドライブを暗号化してデータを拉致したり、デバイスのメモリを消去してデータを破棄したり、デバイスを機能不全に陥らせたりすることを可能にする。リスクの程度は、デバイスの重要性や、デバイスが提供するサービスや保持するデータの重さに応じて異なる。
  • 4.1.D.2 デバイスの脆弱性による高リスクは、機密情報の漏洩や重要な運用への潜在的な侵害を伴う。
    • 4.1.D.2 の例:
      • 組織がメールサーバーの最新アップデート(既知の重大な脆弱性を修正するパッチが含まれている)を未導入の状態にある。
  • 4.1.D.3 デバイスの脆弱性による中程度のリスクは、弱い認証要件や、エクスプロイトされる可能性が低い脆弱性から生じることがある。
    • 4.1.D.3 の例:
      • 水処理プラントにはポンプを制御する組み込みシステムがある。プラントの遠隔管理のために、ユーザー名とパスワードでポンプに遠隔アクセスできるが、デバイスにはマルチファクタ認証(MFA)が要求されていない。
  • 4.1.D.4 デバイスの脆弱性による低リスクは、通常、エクスプロイトされたとしても影響が小さい脆弱性に関連している。
    • 4.1.D.4 の例:
      • 社員のラップトップに telnet ポート 23 が開放されている。

出典: College Board AP コースおよび試験説明書

デバイスとは、サーバー、個人用ノートパソコン、スマートフォン、または機械に組み込まれた組込コンピュータを含むすべてのコンピューターを指します。組込コンピュータを備えた日常的なデバイスはInternet of Things (IoT) デバイスと呼ばれ、給水ポンプから洗濯機まであらゆるものを駆動しています。

デバイスの4つのクラスと、クラスが重要な理由

クラス 内容 セキュリティ上の影響
サーバー 多くのユーザーのためのサービスを動作させる共有マシン 最高価値ターゲット;一度侵害されると全員に影響が及ぶ
パーソナルコンピューター デスクトップとラップトップ 汎用的なので、ユーザーがインストールしたものは何でも動作する
手持ちコンピューター(モバイルコンピューターや情報機器とも呼ばれる) PCより小さく、バッテリー電源で動作 — スマートフォン、タブレット、スマートウォッチおよびその他のウェアラブルテクノロジー 紛失や盗難になりやすく、信頼できないネットワークを越えて持ち運ばれることが多い
組込コンピュータ 機械の一部となるコンピューター — 車のエンジンコントローラー、サーモスタット、医療ポンプ コンポーネントとのインターフェース用に特殊な命令セットを持ち、遅く、安価、かつ最小限のストレージに傾向するため、セキュリティ機能が省略されることが多く、アップデートも稀である

最後の行が、組込デバイスやIoTデバイスが攻撃シナリオで頻繁に登場する理由です。これらを安価にする制約条件は、同時に防御を困難にする同一の制約条件でもあります。

デバイスに対する主な脅威はマルウェアです。恶意软件。種類を学びましょう:

  • ウイルス - ホストファイルやプログラムに付着し、そのホストが実行された際に動作します。感染したファイルを開くことが一つのトリガーとなる可能性があります。
  • ワーム - 人間の操作なしに独自に拡散します。
  • トロイの木馬 - 安全そうに見えるソフトウェアの中に隠れます。リモートアクセストロイ(RAT) は攻撃者に遠隔操作権限を与えます。
  • ランサムウェア - ユーザーのファイルを暗号化し、解錠鍵に対して金銭を要求します。
  • スパイウェア - 秘密裡にユーザーの行動を追跡します。
  • キーロガー - すべてのキーストロークを記録し、パスワードを盗み出します。
  • 論理爆弾 - 特定の条件(日付、バージョンなど)が満たされた場合にのみ発動します。
  • ルートキット - オペレーティングシステムに深く隠れており、自身を不可視にすることもできます。

ほとんどのマルウェアはファイルですが、ファイルレスマルウェアは異なります:これはRAMにのみ存在し、デバイス既に存在する正規のプログラムを悪用するため、スキャナが見つけるためのファイルを残しません。

攻撃者はパッチ未適用のソフトウェア、弱いパスワード、保護されていないBIOS/UEFIの起動設定、開かれたポートを悪用します。私たちはデバイスの価値と重要性に基づいてリスクを評価します — パッチ未適用のメールサーバーを持つ病院のサーバーはリスクが高いですが、 unused 開いたポートが1つある従業員のラップトップはリスクが低いです。

一般的なデバイスの脆弱性と、それらを用いた攻撃
一般的なデバイスの脆弱性と、それらを用いた攻撃
探索

挙動からマルウェアの名前を答える

各マルウェアには一つの特徴があります。ワームは自己複製し、ウイルスはユーザーによる実行を必要とし、ランサムウェアは金銭目的で暗号化し、ルートキットはOSの奥深くに隠れます。

English 日本語
embedded computer/emˈbedɪd kəmˈpjuːtə/ 組み込みコンピューター
Internet of Things (IoT)/ˈɪntənet ɒv θɪŋz/ インターネット・オブ・シングス (IoT)
handheld computers/ˈhændheld kəmˈpjuːtəz/ 手持计算机
malware/ˈmælweə/ マルウェア
RAM/ræm/ RAM
unpatched software/ʌnˈpætʃt ˈsɒftweə/ 未パッチのソフトウェア
cryptographic hash function/ˌkrɪptəˈɡræfɪk hæʃ ˈfʌŋkʃn/ 暗号ハッシュ関数
4.2

認証

シラバス

学習目標 4.2.A: ハッシュ(ハッシュ出力、チェックサム、メッセージダイジェスト、またはダイジェストとも呼ばれる)がパスワードの保存に使用される理由を説明する。

  • 4.2.A.1 暗号ハッシュ関数(メッセージダイジェスト関数とも呼ばれる)は、任意の長さのバイナリデータを受け取り、一連の指示に従って処理し、固定長のバイナリ文字列であるハッシュ(チェックサムまたはメッセージダイジェスト)を出力する数学的アルゴリズムである。有名な暗号ハッシュには以下が含まれる:
    • MD5
    • SHA-1, SHA-256, SHA-512(SHA は Secure Hash Algorithm の略)
    • NTHash
    • RIPEMD-160
  • 4.2.A.2 nビットハッシュは $2^n$ 個の出力を持つ。入力数は無限大であるため、必ず2つの異なる入力が同じハッシュを生成することになる。これを衝突(collision)と呼ぶ。
  • 4.2.A.3 暗号ハッシュ関数には以下の性質がある:
    • ハッシュは衝突耐性があります;同じハッシュ関数に対して同じ出力を生成する2つの異なる入力を見つけるのは困難です。
    • ハッシュには事前画像耐性があります;与えられたハッシュから、そのハッシュを生成した入力を特定することは非現実的です。
    • ハッシュは反復可能です;同じ入力は常に同じハッシュを生成します。
    • ハッシュは固定長です;特定のハッシュ関数におけるハッシュのビット長は、入力のサイズに関わらず一定です。
  • 4.2.A.4 攻撃者は、ハッシュ関数の出力に衝突を強要することでハッシュ関数を乗っ取ろうとします。特定のハッシュ関数に対して衝突を強制する効率的なアルゴリズムが存在する場合、そのハッシュ関数は廃止され(セキュアな環境での使用が中止される)。MD5 と SHA1 は廃止されたハッシュ関数の例である。
  • 4.2.A.5 パスワードベースの認証サービスでは、攻击者がユーザー:パスワードディレクトリにアクセスしても直ちにすべてのユーザーのパスワードを知られないよう、パスワードを平文で保存してはならない。代わりに、ユーザーのパスワードはハッシュ化され、そのハッシュがデータベースに保存されるべきである。ユーザーがパスワードを入力すると、それはハッシュ化され、ファイルに保存されたハッシュと比較される。ハッシュが一致した場合、ユーザーは認証される。
  • 4.2.A.6 2人のユーザーが同じパスワードを使用していた場合、user:passwordディレクトリ内のハッシュも同一になります。これを防ぐため、数ビットのランダムな値(ソルトと呼ばれる)をユーザーのパスワードと併せてハッシュ化して生成します。各ユーザーのソルトは一意であるため、2人のユーザーが同じパスワードであっても異なるソルトを持つため、パスワードハッシュも異なります。

学習目標 4.2.B: パスワード攻撃が脆弱性をどのように利用するかを説明する。

  • 4.2.B.1 攻撃者が正規ユーザーのパスワードを乗っ取ることができ、そのユーザーの組織がMFAやその他の認証保護を有効化していない場合、攻撃者はその組織内で、そのユーザーに付与されているすべてのアクセス権限と権利を使って行動できます。
  • 4.2.B.2 パスワード攻撃は、オンラインまたはオフラインに分類されます。
    • オンラインパスワード攻撃は、アクティブな認証ポータルでuser:passwordの組み合わせを試行します。
    • オフラインパスワード攻撃では、ユーザー:パスワードデータベースを捕獲しており、自身のコンピューター上でデータベースに対してパスワード攻撃を実行できます。この手法により、設定されている可能性のあるアカウントロックアウト保護を回避できます。
  • 4.2.B.3 多くのユーザーは、警告にも関わらず、所有するすべてのサービスやアカウントで同じパスワード(またはその変形)を再利用しています。組織のユーザーデータベースが盗まれた場合、ユーザー名、メールアドレス、パスワードは攻撃者に売られたり、オンラインで公開されたりします。攻撃者はよく、標的個人のステールまたはリークされた資格情報を試すことで、アカウント乗っ取りを試み始めます。
  • 4.2.B.4 多くのユーザーは推測しやすいパスワードを設定し、攻撃者はユーザーのアカウントで一般的なパスワードを推測しようと試みます。「パスワードスプレー」は、攻撃者が多数の異なるユーザーアカウントに対して共通のパスワードを試行する攻撃です。
  • 4.2.B.5 一部のサービスやデバイス(スイッチ、ルーター、IoTデバイスなど)には、デフォルトの管理者ユーザーとパスワードが事前構成されています。「クレデンシャルスタフィング」とは、攻撃者が一般的なデフォルト資格情報や盗まれたアカウント資格情報を使用してこれらのサービスやデバイスへのアクセスを試みる攻撃です。
  • 4.2.B.6 オフラインパスワード攻撃は、自動化されたハッシュクラッキングツールを使用して可能なパスワードをハッシュ化し、捕獲したハッシュと比較します。ハッシュは逆算できませんが、攻撃者はこれらのツールを使用して多数の潜在パスワードをハッシュ化し、ターゲットハッシュと比較できます。攻撃者が一致するハッシュを見つけると、そのハッシュを生成したパスワードを使用してユーザーのアカウントにログインできます。オフライン攻撃には以下が含まれます:
    • ブルートフォース攻撃:攻撃者が自動化されたツールを使用して、ユーザーが使用し得るすべての潜在パスワードを試すもの
    • ディクションアタック:攻撃者が自動化されたツールを使用して、一般的なパスワードのリストを試すもの
  • 4.2.B.7 レインボーテーブル攻撃では、一般的なパスワードのリストを使用してレインボーテーブルを生成します。レインボーテーブルとは、各潜在パスワードとそのハッシュを含むテーブルです。このテーブルはハッシュ順にソートされ、攻撃者は自動化されたツールを使用してハッシュリストから捕獲したハッシュを検索します。ハッシュが一致すれば、攻撃者は同じハッシュを生成するパスワードを見つけたことになります。このパスワードを使用することで、攻撃者はユーザーのアカウントにログインできます。

学習目標 4.2.C: ユーザーの身份を確認するために使用される認証の種類を特定する。

  • 4.2.C.1 認証メカニズムは、ユーザーの身份を確認し、承認されたユーザーのみがシステムにアクセスできるようにするための技術的制御です。ユーザーが自身を証明するために提供する証拠は「ファクター」と呼ばれます。一般的な認証ファクターには以下が含まれます:
    • ユーザーが知っていること(知識ファクター)
    • ユーザーが持っていること(所持ファクター)
    • ユーザー自体(生体特徴ファクター)
    • ユーザーがいる場所(位置情報ファクター)
  • 4.2.C.2 知識ファクターには、パスワード、PINコード、または事前に選択された質問に対する回答が含まれます。知識ファクターが効果的であるためには、攻撃者が容易に推測できないものである必要があります。しかし、攻撃者にとって見抜くのが困難な知識ファクターは、ユーザーにとっても記憶しにくい場合があります。
  • 4.2.C.3 所持ファクターとは、ユーザー固有の物体であり、アクセスカード、銀行カード、携帯電話、または認証トークンなどが該当します。攻撃者がその物体(またはそのコピー)を取得することが困難であればあるほど、所持ファクターは安全です。
  • 4.2.C.4 生体特徴ファクターは人体の特徴を測定し、指紋、掌印、顔認識、虹彩または網膜スキャン、音声識別などが含まれます。生体特徴ファクターは個人固有であるため、攻撃者が複製することは困難です。
  • 4.2.C.5 位置情報ファクターは、Wi-Fi信号、GPSデータ、タイムゾーン設定、さらにはIPアドレス情報などの情報を用いて位置を判定します。位置情報ファクターに基づいてアクセスを許可または拒否するルールを設定できます。
  • 4.2.C.6 マルチファクター認証(MFA)とは、システムが複数のファクターを使用してユーザーを認証することです。MFAは単一ファクター認証よりも安全です。なぜなら、ユーザーは少なくとも2つの別々の認証ファクターを提供しなければならないからです。

学習目標 4.2.D: デバイスをより安全にするためにログイン設定を構成する。

  • 4.2.D.1 パスワードの複雑性の要求は、構成可能なログイン設定です。有効化すると、ユーザーが新しいパスワードを設定する際、各文字セットから少なくとも1文字を含める必要があります。各文字セットの文字を含むパスワードは、1つまたは2つの文字セットの文字のみを使用するパスワードよりも、攻撃者によって解読されることが著しく困難です。通常必要となる主な文字セットは以下の通りです:
    • 大文字(A–Z)
    • 小文字 (a–z)
    • 数字(0–9)
    • 特殊文字(!"#$%&’()*+,-./:;<=>?@ [ \ ] ^_`{|}~)
  • 4.2.D.2 パスワードの最小長さの要件は、設定可能なログイン設定です。これは、ユーザーがパスワードに一定以上の文字数が必要であることを意味します。パスワードが長く複雑であればあるほど、デジタルツールによるパスワードの解読にはより多くの時間がかかります。
  • 4.2.D.3 パスワードの有効期限(最大年齢)の要件は、設定可能なログイン設定です。設定されると、ユーザーは直近のパスワード変更から一定日数後(通常は90日または120日ごと)にパスワードの変更を促されます。もしユーザーのパスワードが漏洩した場合、変更することで攻撃者がアカウントへのアクセスを阻止できる可能性があります。しかし、一部の国家基準では、組織がユーザーに所定の期間ごとにパスワードの変更を義務付けることを推奨していません。これは、ユーザーがパターン化されたパスワード(例:PasswordFall2028)を作成するのを防ぐためです。
  • 4.2.D.4 システムに過去のユーザーパスワードを一定数保存することを要求することは、設定可能なログイン設定です。これにより、ユーザーが同じパスワードを再使用することが防止されます。多くの組織では、再使用を防ぐために過去5〜10回のパスワードハッシュを保存しています。
  • 4.2.D.5 無効なログイン試行回数が一定回数に達した後のロックアウト期間の要件は、設定可能なログイン設定です。これにより、攻撃者が無作為に間違ったパスワードを連続して試行することを防げます。多くの組織では、3〜5回の無効なログイン試行後にアカウントをロックします。ロックアウト期間は異なります。

出典: College Board AP コースおよび試験説明書

マルチファクタ認証
指先を小型光学指紋スキャナに押し当てている人物の姿
指紋スキャナー:生体認証は「あなたが何者か」を確認するものであり、パスワードよりも攻撃者が盗む或いは推測することが遥かに困難です

パスワードを安全に保存するために、システムは暗号化ハッシュ関数を使用します。これは任意の入力を固定長文字列であるハッシュ(またはダイジェスト)に変換する一方向の数学的アルゴリズムです。ハッシュには3つの重要な性質があります。衝突耐性(同じ出力を持つ2つの入力を発見することは困難)、逆算耐性(ハッシュから入力を復元することは一般的に計算上不可能だが、弱いパスワードは推測される可能性がある)、および可逆性(同じ入力は常に同じハッシュを生成する)。

Try it — read real hash results. These inputs use UTF-8 with no final newline. Only the first 16 of each full SHA-256 hash's 64 hex characters are displayed.

入力 ハッシュ接頭辞 完全十六進文字列の長さ
cat 77af778b51abd4a3 64
cat 再度 77af778b51abd4a3 64
cats d936608baaacc6b7 64

どの行が可逆性を示していますか? 入力長が変わったときに何が一定ですか? これらの結果が衝突を不可能にすることを証明していますか?

Worked reasoning. The two identical cat inputs give the same full hash. Both cat and cats have outputs of 64 hex characters. Each hex character represents 4 bits:

$$b = 4h = 4 \times 64\ \text{bits} = 256\ \text{bits}$$

cats に対する変更された出力は入力変化への感応性を示しているが、3つの例では衝突耐性が証明されない。接頭辞が一致するだけでは完全ハッシュが一致することを保証しない。この計算例の完全出力は検証された。

衝突が存在する理由。 $n$ビットの出力には$N = 2^n$個の可能な値があります。玩具的な4ビットハッシュには$N = 2^n = 2^4 = 16$個の出力があります。17個の入力が異なる場合、少なくとも2つは同じ出力を共有する必要があります。この玩具は安全ではありません。実際の暗号化ハッシュは出力空間が遥かに大きいですが、衝突は依然として存在します。目的は、それを見つけることを計算上不可能にすることです。

固定長ハッシュ関数の模式図;描かれたダイジェストのラベルは例示用であり、計算されたSHA-256値ではない
模式図:ダイジェストのラベルは例示用であり、計算されたSHA-256値ではない。復号ステップはなく、推測した値をハッシュして比較することは可能である。

実用的なハッシュ関数には名称があります。Secure Hash Algorithm (SHA) ファミリー、すなわち SHA-256 および SHA-512 が、現在の標準です。攻撃者はハッシュ関数に対して衝突の強要(異なる2つの入力が同じハッシュ値を持つこと)を試みます。効率的な衝突攻撃が存在するようになれば、その関数は廃止(安全な使用からの撤退)されます。MD5 や SHA-1 は典型的な廃止例であり、現在ではデータの保護に決して信頼してはいけません。

安全なサービスは明記パスワードを保存してはいけません。ソルト付きハッシュを保存します。ログイン時、サービスは入力値をハッシュ化して比較します。同一パスワードが同一ハッシュを生成するのを防ぐため、ハッシュ化前にランダムな数ビットであるソルトが追加され、同一パスワードは通常、同一の保存ハッシュを生成しません。ソルトはハッシュと一緒に保存され、秘密である必要はありません。

** worked example.** 2人のユーザーがともにパスワード sunshine を選択した。ソルトがない場合、双方のハッシュは同一になるため、1つを破綻させれば他も即座に破綻する。各ユーザーに固有のランダムなソルトを与え(読みやすさのためここでは x7 と q2 に短縮)、サービスは sunshinex7 と sunshineq2 のハッシュを生成する。これにより保存されたハッシュは全く異なるものとなり、攻撃者は各アカウントを別々に攻めなければならない。ソルトは、無ソルトの検索表を複数のアカウントで再利用することを防ぐが、弱いパスワードを強力なものにするわけではない。この単純な連結は概念を示すに過ぎず、実際のパスワード保管では、適切なサイズの固有ランダムソルトを用いた専用設計の低速パスワードハッシュ方式を使用し、生 SHA-256 は使用しない。

転送 — 一方向であることは推測不可能を意味しない。 盗難されたレコードにはソルト x7 と SHA-256 ハッシュが含まれる。表示される接頭辞は f9325402a7a1542a である。攻撃者が rainbow と sunshine を推測し、ソルトを付加してハッシュ化し、レコードと比較する。rainbowx7 接頭辞は 2a0e6ce47f2c701d であり、sunshinex7 は f9325402a7a1542a で始まる。どちらの推測を完全检查一下すべきか。ハッシュは復号されたのか。ライブアカウントロックアウトはこれらの計算を停止できるか。

** worked answer.** 完全な sunshinex7 ハッシュは保存値と一致するが、完全な rainbowx7 ハッシュは一致しない。これは復号ではなく、推測、ハッシュ化、比較である。ソルトは既知であり、弱いパスワードは依然として推測された。アカウントロックアウト制御はライブログイン試行に対してのみ機能し、盗難されたデータベース上の計算を阻止することはできない。推測はサービス上でログインイベントを発生させないが、データベース盗難や後の認証情報の使用により証拠が残る可能性がある。

攻撃者はパスワード攻撃で反撃します。オンライン攻撃はライブログインに資格情報を提出します;オフライン攻撃はハッシュデータベースを盗み、自身のマシンでクラックします(これはアカウントロックアウト保護を回避します)。技術には以下が含まれます:

  • ブルートフォース - 自動化されたツールは選定された探索空間内のすべての候補を試す。網羅的検索は、空間にパスワードが含まれておりかつ全候補を試せる場合に一致を見つけるが、コストが現実的でない場合がある。長さが $L$ で1位置あたりの選択肢が $A$ の場合、候補数は $N = A^L$ となる。実際の攻撃では、まず可能性の高い選択肢を試すことが多い。
  • 辞書攻撃 - ツールはまず一般的な単語や既知のパスワードのリストを試します。なぜなら、ほとんどの人は予測可能なものを選ぶからです。
  • パスワードスプレー - 1つの共通パスワードを多数のアカウントに対して試します(これはロックアウトを回避します。ロックアウトはアカウントごとの失敗回数をカウントするためです)。
  • クレデンシャルスタッフィング - 盗難またはデフォルトの認証情報を用いて再使用し、ユーザーがサイト間でパスワードを再利用することを悪用します。
  • レインボーテーブル - パスワードとそのハッシュ値の事前計算済みテーブルで、ハッシュ値順にソートされています。そのため、捕獲したハッシュ値を再計算せずとも、照会できます。

パスワードポリシー設定

管理者はログイン設定を構成することによってアカウントを強化します。試験ではこれらの名称を挙げ、それぞれがどのような攻撃から守るか説明することが求められます:

設定 機能 遅らせる攻撃
複雑度 各セット(大文字、小文字、数字、特殊文字)からの文字が必要 ブルートフォース / 辞書
最小長さ N 文字以上の必須(長さは他の要素より重要) ブラ-force(指数関数的に増加)
最大有効期限 パスワード変更の時間制限を設定する;政策メカニズムであり、普遍的な推奨事項ではない 盗まれたパスワードの有効期間を制限する
パスワード履歴 直近5〜10のハッシュ値を保存し、再利用をブロック 古い(漏洩の可能性がある)パスワードの再利用を防ぐ
ロックアウト 3〜5回の誤入力でアカウントをロック ブラ-force / オンライン推測

設定と推奨事項を区別せよ。NIST SP 800-63B-4 は、定期的なパスワード変更や文字クラス構成規則を義務付けるべきではないと述べている。侵害が疑われるまたは確認された場合にパスワードを変更し、一般的または侵害された選択肢をブロックせよ。定期更新は、PasswordFall2028 などの予測可能なパターンを促すことがある。パスワードマネージャー が真の問題を解決する — サイトごとに長く一意のパスワードを生成・保管するため、再使用や推測のリスクがない。

認証因子はあなたの正体を確認するもので、以下のカテゴリに分かれます:あなたが知っているもの(パスワード)、あなたが持っているもの(トークンや電話)、あなたが持つ性質(指紋や網膜スキャンなどの生体情報)、そしてあなたがいる場所(場所因子)。これら2つ以上を使用するのが多重認証 (MFA) で、単独のパスワードよりも遥かに強力です。

小さなUSBハードウェアセキュリティキー2つ
ハードウェアセキュリティキーは、物理的に手にしているものによってあなたの正体を証明します——強力な第2の因子

取り外し可能メディアおよび自動実行の問題

攻撃者は外部ドライブ(USBメモリ、ポータブルディスクなど)にマルウェアを読み込み、誰かが拾い上げる場所に置き去りにします。自動実行が有効な場合、デバイスが挿入された瞬間にクリックなしでそのドライブ内のプログラムを実行するため、ユーザーが信頼するかどうかを決定する前にマルウェアが実行されてしまいます。

これを防ぐための2つの対策があり、試験では両方を名称として挙げることを求めています:

  • 自動実行を無効化 - ドライブを挿入しても自動的に何も実行されないようにする。
  • ユーザーが外部ドライブやメディアを接続することを禁止する - ポリシーおよびUSBポート自体をブロックする技術的制御によって強制される。このため、多くの安全環境では物理的または論理的に無効化されている。
探索

ハッシュが任意の入力を固定されたスロットにマッピングする方法

ハッシュ関数は、すべての入力を固定長の出力に送ります。同じ入力は常に同じ場所に戻り(再現可能)、スロットから入力への逆演算はできません。

English 日本語
hash/hæʃ/ ハッシュ値
collision resistant/kəˈlɪʒn rɪˈzɪstənt/ 衝突耐性
pre-image resistance/priː ˈɪmɪdʒ rɪˈzɪstəns/ 逆像耐性
deprecated/ˈdeprɪkeɪtɪd/ 廃止済み
salt/sɒlt/ ソルト
brute force/bruːt fɔːs/ ブルートフォース攻撃
dictionary attack/ˈdɪkʃənəri əˈtæk/ 辞書攻撃
password spraying/ˈpæswɜːd ˈspreɪɪŋ/ パスワードスプレーイング
credential stuffing/krɪˈdenʃl ˈstʌfɪŋ/ クレデンシャルスタッフィング
rainbow table/ˈreɪnbəʊ ˈteɪbl/ レインボーテーブル
complexity/kəmˈpleksɪti/ 複雑度
minimum length/ˈmɪnɪməm leŋθ/ 最小長さ
maximum age/ˈmæksɪməm eɪdʒ/ 最大有効期限
password history/ˈpæswɜːd ˈhɪstəri/ パスワード履歴
lockout/ˈlɒkaʊt/ ロックアウト
password manager/ˈpæswɜːd ˈmænɪdʒə/ パスワードマネージャー
biometric/ˌbaɪəʊˈmetrɪk/ 生体認証情報
multifactor authentication (MFA)/ˌmʌltɪˈfæktə ɔːˌθentɪˈkeɪʃn/ 多要素認証
autorun/ˌɔːtəʊˈrʌn/ オートラン
acceptable use policy/əkˈseptəbl juːs ˈpɒlɪsi/ 許容使用方針
Anti-malware software/ˈænti ˈmælweə ˈsɒftweə/ アンチマルウェアソフト
patch/pætʃ/ パッチ
host-based firewall/həʊst beɪst ˈfaɪəwɔːl/ ホストベースのファイアウォール
indicator of compromise (IoC)/ˈɪndɪkeɪtə ɒv ˈkɒmprəmaɪz/ 侵害指標 (IoC)
endpoint detection and response (EDR)/endˈpɔɪnt dɪˈtekʃn ænd rɪˈspɒns/ エンドポイント検知と対応 (EDR)
レッスンを視聴
4.3

デバイスの保護

シラバス

学習目標 4.3.A: デバイスセキュリティに関連する管理統制を特定する。

  • 4.3.A.1 許容利用ポリシーは、組織所有のデバイスにおいてユーザーが許可される、禁止される、または必須とする活動の範囲を説明し、以下を含む場合があります:
    • ユーザーによる特定のウェブサイトや種類のウェブサイト(例:SNSやゲームサイト)へのアクセスの禁止
    • ソフトウェアの更新状態を維持することの強制
    • 周辺機器の接続の許可
    • 外部ドライブやメディアの接続の禁止
  • 4.3.A.2 パスワードポリシーは、組織内のユーザーのパスワードに関する要件を詳細に示し、以下を含む場合があります:
    • パスワードの最小または最大長さ
    • 同じパスワードを保持できる最小または最大の期間
    • パスワードの再使用の禁止
    • パスワードの作成ルール(例:辞書語の禁止、文字セット要件など)
    • パスワードメモ書きではなく、安全なパスワード管理ツールの使用を推奨
  • 4.3.A.3 ソフトウェアインストールポリシーは、ユーザーが自分のデバイスにインストールできるソフトウェア(あれば)を説明し、一般的にまた、職務遂行に必要な特別ソフトウェアをリクエストするためのプロセスも含まれ、以下を含む場合があります:
    • ユーザーによるデバイスへのソフトウェアインストールの禁止
    • 職務遂行に必要な新ソフトウェアのリクエストプロセス
    • ユーザーのための承認済みソフトウェア一覧

学習目標 4.3.B: アンチマルウェアソフトウェアがデバイスをより安全にする方法を説明する。

  • 4.3.B.1 アンチマルウェアソフトウェア(アンチウイルスソフトウェアとも呼ばれる)には、システムを損壊させたり、監視したり、破壊したりするマルウェアを隔離・除去するためのツールがあります。マルウェアには検出可能にするインジケーターが含まれており、これらのインジケーターはシグネチャと呼ばれます。
  • 4.3.B.2 アンチマルウェアソフトウェアには、マルウェアのシグネチャデータベースがあります。デバイスのファイルを定期的にスキャンし、ファイルがデータベース内のどのシグネチャと一致するかを確認します。一致がある場合、ソフトウェアは悪質なファイルを隔離・削除します。

学習目標 4.3.C: デバイスのオペレーティングシステムとソフトウェアを更新することの安全性について説明する。

  • 4.3.C.1 オペレーティングシステムやソフトウェアに脆弱性が見つかった場合、そのOSソフトウェアを保守するベンダーや組織が修正し、アップデートを送信します。小さなアップデートはパッチと呼ばれます。
  • 4.3.C.2 コンピュータのオペレーティングシステムおよびアプリケーションソフトウェアを最新バージョンに更新しておくことで、攻撃者が既知の脆弱性を悪用することを防げます。

学習目標 4.3.D: ホストベースのファイアウォールを設定する。

  • 4.3.D.1 ホストベースのファイアウォールは、単一デバイスへの入出力トラフィックを許可または拒否します。ホストが侵害されたネットワークに接続されている場合に備えて、追加のセキュリティ層を提供します。
  • 4.3.D.2 ホストベースのファイアウォールは、デバイス上で動作するソフトウェアであり、ネットワークベースのファイアウォールと同様に一連のルール(ACL)に従います。ファイアウォールルールは順序に従って適用され、最初に一致するルールが適用されます。
  • 4.3.D.3 ホストベースのファイアウォールは、指定された種類のアウトバウンドトラフィックをブロックすることもできます。ホストベースのファイアウォールは、特定のデバイスに不要なポートやサービスを常にブロックすべきです。
    • 4.3.D.3 の参考例:
      • ホストベースのファイアウォールがアウトバウンドFTPトラフィックをブロックするように設定されています。これにより、リモートアクセスを持つ攻撃者がFTPを使用してファイルを攻撃者のサーバーへ転送することを防げます。
  • 4.3.D.4 ホストベースのファイアウォールのルールは、ソースまたは dest port、IPアドレス、サービス、プロトコル、またはアプリケーションに基づいて、トラフィックを許可または拒否できます。

出典: College Board AP コースおよび試験説明書

管理的制御がルールを設定します:許容利用ポリシーはユーザーが何をしてはならないかを明記し、パスワードポリシーは長さや再利用に関するルールを定め、ソフトウェアインストールポリシーはインストール可能なものを管理します。

技術的制御が実際の作業を行います。アンチマルウェアソフトはマルウェアのシグネチャデータベースを保持し、一致するファイルはすべて隔離します。オペレーティングシステムとアプリケーションをアップデートしておく(各パッチを適用する)ことで、攻撃者が利用する前に既知の脆弱性を塞ぎます。ホストベースのファイアウォールは単一デバイスの出入りトラフィックを制御し、不要なポートやサービスをブロックします。

アンチマルウェアスキャナーのウィンドウ:3106件のファイルのスキャン完了、2件の脅威検出、隔離および更新制御あり
アンチマルウェアソフトはファイルをシグネチャデータベースに対してスキャンし、一致するものはすべて隔離します——このスキャンでは2件の脅威が検出されました
English 日本語
Virus/ˈvaɪrəs/ ウイルス
Worm/wɜːm/ ワーム
Trojan/ˈtrəʊdʒn/ トロイの木馬
remote access trojan (RAT)/rɪˈməʊt ˈækses ˈtrəʊdʒn/ リモートアクセス・トロイ(RAT)
Ransomware/ˈrænsəmweə/ ランサムウェア
Spyware/ˈspaɪweə/ スパイウェア
Keylogger/ˈkiːlɒɡə/ キーロガー
Logic bomb/ˈlɒdʒɪk bɒm/ ロジックボム
fileless malware/ˈfaɪlləs ˈmælweə/ ファイルレス・マルウェア
4.4

デバイスに対する攻撃の検知

シラバス

学習目標 4.4.A: デバイスに対する攻撃を検知する方法を説明する。

  • 4.4.A.1 システムプロセスと設定、ログイン試行、ファイルダウンロード試行、およびユーザー操作は、コンピューティングシステムによってログとして記録されます。これらのログは、サイバー事件に至る前および発生時の状況を復元するために使用できます。
  • 4.4.A.2 侵害の指標(IoC)とは、攻撃者がデバイスやネットワークを乗っ取ったことを示す証拠である。
  • 4.4.A.3 認証ログ(auth logs)は、システムへのログイン試行をすべて記録する。認証ログの分析により、試みられた攻撃が判明することがある。
  • 4.4.A.4 ホストベースのIoCは、ログと設定の分析によって発見される。以下の指標などは、認証ログ、ユーザー活動ログ、およびシステム設定ファイルに存在する可能性がある:
    • 不審なファイルの作成または修改
    • 予期せぬプロセスやサービス
    • システム設定に対する無断の変更
    • 無断のソフトウェアインストールまたはアップデート
  • 4.4.A.5 ファイルベースのIoCは、デバイス上のファイルの分析によって発見される。指標は通常、実行可能ファイルに含まれ、以下を含むことがある:
    • 既知のマルウェアとハッシュ値が一致するファイル
    • 特定のマルウェアによって生成されることが知られているファイル名
    • 悪意のある活動に関連付けられているファイルパス
  • 4.4.A.6 ベースド・イン・-behavior IoCは、ログの分析によって発見される。指標は認証ログおよびアクセスログに含まれることができ、以下を含むことがある:
    • 複数のログイン失敗試行
    • 不審なログイン時間や場所
    • 機密データへの無断アクセス試行
    • システム上でのユーザー権限の昇格試行

学習目標 4.4.B: デバイスに対する攻撃を検出するための統制策を決定する。

  • 4.4.B.1 パフォーマンスは検出方法を選択するための基準となる。検出ツールはシステムメモリと処理能力を使用し、デバイスのパフォーマンスに影響を与えることがある。異常ベースの検出ツールは、シグネチャベースのツールよりも多くのシステムリソースを消費する。リソースが少ないデバイスには、シグネチャベースの検出の方が適している。多くの組み込みデバイスは、デバイス上で検出ツールを実行するのに十分なシステムリソースを持っていない。
  • 4.4.B.2 コストは検出方法を選択するための基準となる。検出ソフトウェアを購入する組織は、監視が必要なデバイス数分のライセンスを取得するコストを考慮しなければならない。一部の組織は、サードパーティベンダーからエンドポイント検出およびレスポンス(EDR)サービスを購入する。これらのサービスは高価ではあるが、組織のデバイスに対する脅威検出に対して包括的かつ統合されたアプローチを提供します。通常、デバイスに対する攻撃を監視するための集中型アラートプラットフォームが含まれている。
  • 4.4.B.3 デバイスの感度または重要度は、検出方法を選択するための基準となる。機密情報を保持または処理するデバイスや重要なサービスを提供するデバイスは、攻撃者の標的となりやすく、最大限の保護を提供するために、可能な限りハイブリッド検出モデルを利用するメリットがある。

学習目標 4.4.C: デバイス検出方法の影響を評価する。

  • 4.4.C.1 スピードとパフォーマンスは、検出方法の影響を評価する要因となる。一般的に、シグネチャベースの検出は異常ベースの検出より高速であり、その効果は、異常ベースの検出ツールを効果的に実行する処理能力を欠いていることが多いデバイスにおいてさらに増幅される。リソースを大量に消費する検出ツールをデバイスに実装すると、デバイスのパフォーマンスが低下する可能性がある。
  • 4.4.C.2 攻撃フェーズは、検出方法の影響を評価する要因となる。デバイス上で操作を行うために、攻撃者はまず、物理層またはネットワーク層の防御、抑止、および探知セキュリティ統制の組み合わせを回避しなければならない。デバイスレベルで攻撃を検知して停止することは、攻撃者が機密データにアクセスしたり、重要なサービスを妨害したりすることを防ぐことができる。
  • 4.4.C.3 フォルスポットと検出回避の容易さは、検出方法の影響を評価する要因となる。ほとんどのデバイスレベルの検出ツールはシグネチャベースであり、シグネチャベースの検出はフォールスポットの率が低い。しかし、シグネチャベースの検出は攻撃者にとって回避しやすい。

学習目標 4.4.D: ログファイルを分析してパスワード攻撃の指標を特定する検出手法を適用する。

  • 4.4.D.1 オンラインパスワード攻撃は、認証ログで検出できる。単一のユーザーが多数の誤ったパスワードを試行することは、オンラインパスワード攻撃の指標である。ユーザー:パスワードハッシュデータベースが乗っ取られた場合、データベース内のすべてのユーザーパスワードは不secureと見なされ、すべてのユーザーにパスワードのリセットを強制すべきである。
  • 4.4.D.2 正規ユーザーが予想される場所やIPアドレス、または通常の時間とは異なる場所や時間にログインしている場合、これはユーザーのパスワードが乗っ取られたことを示す指標になることがある。
  • 4.4.D.3 パスワードスプレーの指標は、1つのIPアドレスまたは不審なIPアドレスから、数秒間隔で多数のユーザーがログインしようとしていることである。
  • 4.4.D.4 クレデンシャルスタッフィングの指標は、同じIPアドレスなどから、一度に多数のデフォルトユーザー:パスワード組み合わせがデバイス上で試行されていることである。
  • 4.4.D.5 オフラインパスワード攻撃は、攻撃が攻撃者のコンピュータ上で行われるため、検出できない。

出典: College Board AP コースおよび試験説明書

デバイスはログイン、ファイルの変更、プロセスをログに記録し、これらのログから侵害の兆候(IoC) - 攻撃者が侵入した証拠 - が判明します。ホストベースのIoCは、予期せぬプロセスや変更された設定として現れ、ファイルベースのIoCはハッシュが既知のマルウェアと一致するファイルであり、行動ベースのIoCは多数のログイン失敗や通常ではないログイン時刻などの事象です。

検出手法の選択は、パフォーマンス(シグネチャベースは軽量で弱電化デバイスに適する)、コスト(エンドポイント検出および応答 (EDR) サービスは強力だが高価である)、そしてデバイスの感度のバランスを考慮することです。認証ログを確認するとパスワード攻撃が露見します:あるユーザーに対して多数の誤ったパスワード入力があれば推測攻撃を示唆し、多くのユーザーが短時間で次々と失敗すればパスワードスプレーの兆候です。APコース資料では、迅速なデフォルト署名試行もクレデンシャルスタフィングの兆候として扱います。これらのパターンには文脈が必要です。共有IPアドレス1つだけでは、単独で攻撃を証明するものではありません。オフラインでの推測はライブログインイベントを生み出しません(敵の複製上で実行されるため)ですが、署名の盗難や後日の使用は依然として検出可能です。

速度そのものがセキュリティ要因となります。 シグネチャベースの検出は、見たものを既知の悪意のあるパターンのリストと比較するため、正常な状態をまず学習し、その後すべてのイベントをそのモデルに基づいて測定する異常値ベースの検出よりも速いです。異常値ベースの検出はシグネチャが存在しない攻撃を捉えられますが、処理能力を大幅に消費します - 処理能力が不足しているデバイスでは、この影響が増幅されます:検出が遅くなり、デバイスの性能が低下し、結果としてその手法が効果的に実装されなくなるのです。

コンプロマイズされたデバイスの兆候
コンプロマイズされたデバイスの兆候
4.4

試験対策

  • マルウェア種別を定義的特徴に基づいて理解する:ワームは自己複製する、ウイルスはホストに付着してホスト実行時に動作する、ランサムウェアは金銭目的で暗号化する、RATは遠隔操作権限を提供する、ルートキットは隠蔽する。
  • ハッシュは一方向性かつ固定長であり、uniqueなソルトを使用すればパスワードが一致してもハッシュされた入力は変化します。安全なサービスは、専用設計の遅いアルゴリズムを用いてソルト付きパスワードハッシュを保存すべきであり、生 SHA-256 を直接使用してはなりません。
  • 実際のアルゴリズムの名前を挙げる:SHA-256/SHA-512は現在利用可能であるが、MD5とSHA-1は効率的な衝突攻撃が存在するため非推奨である。
  • パスワード攻撃とログシグネチャを対応させる:ログイン失敗エントリ、タイミング、ユーザー名を引用せよ。これらは兆候であり、確証ではない。AP CEDではデフォルト署名試行をスタフィングに含める。
  • 認証要素を知っているもの / 持っているもの / 属性 / 場所に分類し、MFAは2つ以上を組み合わせることを覚える - フォンプリントとパスワードの組み合わせであり、2つのパスワードではない。
  • オフライン推測はライブログインイベントを生み出さない:計算は敵の複製上で行われる。盗難や後のアカウント利用は、依然として証拠を残す可能性がある。

コース用語と実装の境界。AP CED 4.2.B.5では、デフォルト署名試行をクレデンシャルスタフィングに含める。OWASPのより狭い定義は、盗難したユーザー名/パスワードペアを複数のサービスで再利用することに焦点を当てる。AP問題ではAPの定義を使用しつつ、実際の証拠とメカニズムを識別すること。コースで名称が指定された汎用ハッシュはハッシングの例示に過ぎず、生 SHA-256 でパスワードを保存することを推奨するものではない。OWASP パスワード保管ガイドラインおよびNIST ハッシュ特性を参照こと。

このトピックのインタラクティブ授業

一歩ずつ進め、即時チェック付きの問題で学習します。

過去問

AP サイバーセキュリティ の他のトピック

ログインまたはアカウント作成

IGCSE, A-Level & AP