脅威の種類・マルウェア・パスワード攻撃

このページでは、情報セキュリティのCIAと脅威の種類、マルウェアの種類と検出方法、辞書攻撃やパスワードリスト攻撃などの手口、ポートスキャンの種類がわかります。

  • 一言で言うと:
    • 守るべきもの(機密性・完全性・可用性)と、それを脅かすマルウェア、パスワードの盗み方、攻撃の下調べ、いろいろな攻撃手法を、用語として押さえる話
    • 試験では、攻撃名と中身・対策の組合せがよく問われる

何を守るか(CIA・脅威の種類)→ 悪いプログラム(マルウェア)→ パスワードを盗む → 下調べ(ポートスキャン)→ 攻撃する(攻撃手法)→ その他の対策と用語

覚え方の軸

  • 情報セキュリティは「CIA」の3つ+追加の4つ
    • 機密性(見せない)、完全性(正しく保つ)、可用性(使いたいときに使える)
    • 追加で、真正性、責任追跡性、否認防止、信頼性を含めることもある
  • 脅威は「物・技術・人」の3つ
    • 物理的脅威(火事や盗難)、技術的脅威(バグやマルウェア)、人的脅威(ミスや内部犯)
  • マルウェアは「寄生するか、自分で広がるか、何をするか」で分ける
    • ウイルスは、他のファイルに寄生して増える
    • ワームは、寄生せず、自分でネットワークを伝って広がる
    • トロイの木馬は、役に立つふりをして入り込む。感染(自己増殖)はしない
    • あとは「何をするか」で名前が決まる(盗む=スパイウェア、遠隔操作=ボット、身代金=ランサムウェアなど)
  • パスワード攻撃は「何を固定して、何を変えるか」で分ける
    • ブルートフォース攻撃は、IDを固定して、パスワードを総当たり
    • リバースブルートフォース攻撃は、パスワードを固定して、IDを次々に変える
    • パスワードスプレー攻撃は、アカウントロックを避けながら、1つのパスワードを多くのIDに少しずつ試す
    • パスワードリスト攻撃は、他のサイトから流出したIDとパスワードの組をそのまま試す
  • 攻撃者の行動は「準備(下調べ)→ 攻撃 → 目的実行」の3段階
    • 下調べがフットプリンティングで、その代表がポートスキャン

情報セキュリティと脅威:何を守り、何が脅かすか(★)

① 情報セキュリティのとらえ方

  • 情報セキュリティの目的:
    • 情報を保全し、安全に企業業務を遂行すること
  • 情報セキュリティ:
    • JIS Q 27000:2019(情報セキュリティマネジメントシステム-用語)での定義
    • 「情報の機密性、完全性及び可用性を維持すること(真正性、責任追跡性、否認防止、信頼性などの特性を維持することを含めることもある)」
  • JIS Q 27000:
    • ISMSの各規格で、共通に使う用語などを決めたもの
  • エンティティ:
    • 「実体」「主体」などともいう
    • 情報セキュリティの文脈では、情報を使う組織及び人、情報を扱う設備、ソフトウェア及び物理的媒体などのこと
特性 英語 JIS Q 27000での定義 例え(銀行の預金)
機密性 confidentiality(コンフィデンシャリティ) 認可されていない個人、エンティティ又はプロセスに対して、情報を使用させず、また、開示しない特性 他人に残高を見られない
完全性 integrity(インテグリティ) 正確さ及び完全さの特性 残高が勝手に書き換えられない
可用性 availability(アベイラビリティ) 認可されたエンティティが要求したときに、アクセス及び使用が可能である特性 引き出したいときにATMが動いている
  • CIAの覚え方:
    • 頭文字で「CIA」(機密性、完全性、可用性)
    • 攻撃で言うと、盗聴は機密性、改ざんは完全性、DoS攻撃は可用性を損なう
  • DLP(Data Loss Prevention):
    • 情報漏えい防止を目的としたツール
    • データそのものを守る
    • 特定の重要情報を監視して、利用者によるコピーや送信などの挙動を検知し、ブロックする
    • 例えば、顧客名簿のファイルをUSBメモリにコピーしようとすると止める

② 脅威の種類

  • 脅威:
    • システムまたは組織に損害を与える可能性がある要因
    • 結果的に、組織が持つ情報資産に害を及ぼすもの
脅威 中身 例
物理的脅威 直接的に情報資産が脅かされる脅威 火災、地震、侵入者による機器の破壊や盗難
技術的脅威 OSやソフトウェアのバグ、マルウェア、不正アクセス、サーバへの攻撃などで、情報が漏えいしたり破壊されたりする脅威 ウイルス感染、不正アクセス
人的脅威 ミスによるデータや機器の破壊、または内部犯による確信的な犯行で、情報資産が漏えいしたり失われたりする脅威 誤送信、置き忘れ、社員による持ち出し

マルウェアの脅威と対策:悪いプログラムを知り、防ぐ(★)

  • マルウェア(不正プログラム):
    • コンピュータウイルスに代表される、有害なソフトウェアの総称
    • 利用者の意図に反してコンピュータに入り込み、悪意のある行為をする
  • マルウェアの分類:
    • 種類別、動作別、感染方法別などいろいろあるが、ここではこだわらず、試験に出る用語としてまとめる

① 主なマルウェア

マルウェア 中身 例え
(狭義の)コンピュータウイルス ファイルやシステムに寄生して、不正な行為をする。寄主が移動すると、他に感染(自己複製)する 人から人へうつる風邪
ワーム 他に寄生せず独自に活動し、ネットワークを伝わって他のコンピュータに感染する 自分で歩き回って増える虫
トロイの木馬 普段は有用なプログラムとして動くが、きっかけが与えられると不正な行為をする。寄生・感染機能は持たない 贈り物の木馬の中に兵士が隠れている
スパイウェア コンピュータ内の個人情報やアクセス履歴などを収集する のぞき見するスパイ
ボット 外部から遠隔操作することを目的にしたプログラム。感染したコンピュータは、ネットワーク経由で指令を受けるとDDoS攻撃などを一斉に行う 命令を待つロボット
ルートキット(rootkit) 侵入の痕跡が残るログの消去、悪意あるプロセスの隠蔽、次回以降の侵入を容易にするバックドアの作成などを行うソフトウェアを、パッケージ化したもの 泥棒の後片付けと合鍵作りのセット
ランサムウェア Ransom(身代金)とSoftware(ソフトウェア)の造語。PC内のファイルやシステムそのものを暗号化などでロックし、回復のための金銭を要求する 家に勝手に鍵をかけて「開けてほしければ金を払え」
キーロガー キーボードを操作したログを記録する。近年は、キーボードとPCの接続端子の間に付けるハードウェア型もある 手元をのぞいて入力をメモする
エクスプロイトキット(Exploit Kit) 複数のエクスプロイトコードをまとめたもの 泥棒の道具セット
マクロウイルス ワープロや表計算のプログラミング機能(マクロ)で作られたウイルス −
偽セキュリティ対策ソフト 偽のセキュリティ警告を表示して、それを解決するための有償ソフトの購入やサポート契約を迫るウイルス 「あなたのPCは感染しています!」と脅す偽の警告
  • コンピュータウイルスの定義(補足):
    • 「コンピュータウイルス対策基準」では、次の3つの機能のうち、1つ以上を持つ加害プログラムをコンピュータウイルスと定義している
  • 自己伝染機能:
    • 自らの機能で他のプログラムに自らをコピーしたり、システム機能を使って自らを他のシステムにコピーしたりして、他のシステムに伝染する機能
  • 潜伏機能:
    • 発病するための特定時刻、一定時間、処理回数などの条件を記憶させて、発病するまで症状を出さない機能
  • 発病機能:
    • プログラム、データなどのファイルの破壊を行ったり、設計者の意図しない動作をしたりする機能
  • ボットネット:
    • ボットに感染した集団と、ボットに指令を出すC&Cサーバ(Command and Control server)でできたネットワーク
    • 具体例に、IoT機器を狙うMiraiがある
  • バックドア:
    • ウイルスなどが作る、システム上の抜け道
    • ポートの設定変更などで作られ、システムへの不正侵入を容易にする
    • 「システム内に攻撃者がこっそり作った利用者アカウント」も、バックドアの1つ
  • エクスプロイトコード:
    • OSやソフトウェアの脆弱性を攻撃するために作られたプログラム(攻撃コード)の総称
    • もともとは、新しく見つかったセキュリティ上の脆弱性を検証するための実証用コード
  • ダークネット:
    • インターネット上の未使用のIPアドレス空間
    • ダークネットに届くパケットを観測すると、インターネット経由で感染を広げるマルウェアの活動傾向などがわかる
    • 本来は誰も使っていない住所に届く郵便は、ほとんどが無差別にばらまかれた攻撃、という考え方

② マルウェア対策

  • マルウェアへの対策:
    • セキュリティ対策ソフトの利用
    • OSやアプリケーションの脆弱性をなくす修正プログラムやパッチの適用
  • マルウェアに対する基本対策:
    • メールに添付された出所不明なファイルを不用意に開かない
    • プログラムを安易にダウンロードしない
    • 怪しいWebサイトを閲覧しない
  • セキュリティ対策ソフト:
    • シグネチャ(パターンファイル)と呼ばれる、マルウェアの特徴を書いたデータベースを持ち、ローカルノードに流れ込むデータを監視する
    • 監視中のデータにマルウェアと同じパターンがあれば、そのデータを隔離して、ユーザに警報を表示する
    • 定期的にハードディスクやメモリの感染チェックをする
  • パターンファイルの注意:
    • パターンファイルは、過去のマルウェア情報の蓄積
    • だから、新種のマルウェアに対応するには、パターンファイルを常に最新に保つことが大事
  • セキュリティパッチ:
    • OSやアプリケーションなどにセキュリティホールがあった場合、開発元から配られる修正プログラム
    • セキュリティパッチを適用し、OSやアプリケーションを常に最新の状態に保つことが大事
  • セキュリティホール:
    • セキュリティ上の弱点
    • OSやアプリケーションなどのソフトウェアにある、設計・開発時の瑕疵(欠陥)
  • ゼロデイ攻撃:
    • セキュリティパッチが提供される前に、そのパッチが対象とする脆弱性を悪用する攻撃
    • 例えば、鍵の欠陥が見つかって、新しい鍵が届く前に、その欠陥を狙って泥棒に入る
  • WORM(Write Once Read Many)機能:
    • 「一度書き込んだデータの上書きや削除ができなくなる」機能
    • ランサムウェア対策に有効
    • この機能を持つストレージにバックアップすれば、ランサムウェアがデータを暗号化しようとしても上書きできず、データを守れる
    • ※マルウェアの「ワーム(worm)」とは別もの(ひっかけ注意)

③ マルウェアの検出方法

  • パターンマッチング:
    • セキュリティ対策ソフトがマルウェアを見つける基本の方法(パターンファイルと照合する)
方法 やり方
コンペア法(比較法) 感染が疑わしい検査対象のハッシュ値と、安全な場所に保管している原本のハッシュ値を比べる。ファイルそのものを比べる方法もある
チェックサム法(インテグリティチェック法) 感染していないことを保証する情報(チェックサム、ハッシュ値、デジタル署名など)を、あらかじめ検査対象に付けておき、検査時に不整合があればマルウェアとして検出する
ビヘイビア法(動的ヒューリスティック法) 検査対象を仮想環境内(サンドボックス)で実行して挙動を監視し、マルウェアによく見られる行動を起こせばマルウェアと判断する。パターンマッチングでは見つけられない未知のマルウェアやポリモーフィック型マルウェアにも対応できる
  • サンドボックス:
    • 「砂場」という意味
    • システムに悪影響が及ばないよう保護された特別な領域
    • 例えば、公園の砂場の中なら、何を作って壊しても外には影響しない
  • ポリモーフィック型マルウェア:
    • 感染ごとに、マルウェアのコードを異なる鍵で暗号化して、同じパターンでは検知されないようにするマルウェア
    • 例えば、毎回変装して現れる泥棒。顔写真(パターン)では見つけられないが、行動(ビヘイビア)を見ればわかる
  • コンペア法とチェックサム法の違い:
    • コンペア法は、別に保管した原本と比べる
    • チェックサム法は、検査対象に付けておいた情報と比べる

標的型攻撃メール

  • 標的型攻撃メール:
    • 情報窃取など悪意の目的のために、特定の組織に送られてくるメール
    • マルウェアの感染経路の1つ
    • 添付ファイルにマルウェアを仕込んだり、悪意のあるサイトに誘導してマルウェアに感染させたりする仕掛けがある
  • 標的型攻撃メールの特徴:
    • 実在する信頼できそうな組織名や個人名、または関係者を装った差出人になっている
    • 件名や本文に、受信者の業務に関係がありそうな内容が書かれている
    • ファイル名に細工をして、実行形式ファイルを別の形式と偽って開かせようとする
    • 毎回違う内容で、長期間にわたって標的の組織に送り続けられる

パスワードの不正取得と対策:パスワードを盗む手口(★)

  • パスワードクラック:
    • 第三者のパスワードを不正に割り出すこと
手法 中身 対策
辞書攻撃 パスワードに使われやすい単語を辞書として登録しておき、片っ端から入力して割り出す 推測されにくいパスワードを設定する
ブルートフォース攻撃(総当たり攻撃) 文字を組み合わせて、あらゆるパスワードでログインを何度も試みる ログインの試行回数に制限を設ける(アカウントロック)
類推攻撃 パスワードを類推して次々に入力する 氏名や誕生日、電話番号といったパスワードを設定しない
  • リバースブルートフォース攻撃:
    • ブルートフォース攻撃とは逆に、パスワードを固定し、利用者IDを次々に変えながら不正ログインを試みる攻撃
    • 例えば、「123456」というありがちなパスワードで、たくさんのIDを試す
    • 1つのIDに何度も失敗するわけではないので、アカウントロックが効きにくい
  • パスワードスプレー攻撃:
    • 攻撃間隔と攻撃元IPアドレスを変え、アカウントロックを回避しながら、1つのパスワードを複数の利用者IDに同時に試す
    • 不成功なら、パスワードを変えて同じような操作を繰り返す
    • 例えば、殺虫剤のスプレーのように、広く薄くまく

① パスワードリスト攻撃

  • パスワードリスト攻撃:
    • インターネットサービスの利用者の多くが、複数のサイトで同じ利用者IDとパスワードを使い回していることに目を付けた攻撃
    • 他のWebサイトから流出した、または不正に取得した利用者IDとパスワードの一覧を使って、他のWebサイトに不正ログインを試みる
  • パスワードリスト攻撃の対策:
    • 利用者IDとパスワードを使い回さないこと
  • パスワードリスト攻撃の例え:
    • 1つの家の合鍵が盗まれたら、同じ鍵を使っている別荘や車まで開けられてしまう

② レインボーテーブル攻撃

  • レインボーテーブル攻撃(レインボー攻撃):
    • パスワードは、一般にハッシュ化して保存されているので、盗んでも元のパスワードに戻すのは難しい
    • そこで攻撃者は、膨大な数のパスワード候補と、それに対するハッシュ値の対応表(レインボーテーブル)を事前に作る
    • この対応表で、不正に手に入れたハッシュ値からパスワードを見つけ出す
    • 例えば、「ジュース → 元の果物」の早見表を、あらかじめ大量に作っておくイメージ
  • ソルト:
    • レインボーテーブル攻撃の対策
    • パスワードだけをハッシュ化するのではなく、パスワードにソルト(十分な長さを持つランダムな文字列)を加えてハッシュ化する
    • ソルトを加えると、レインボーテーブルを作るのが難しくなる
    • ソルトは「塩」。料理に塩を足すと味が変わるように、同じパスワードでも違うハッシュ値になる
  • ストレッチング:
    • パスワードの解析を難しくする手法
    • パスワード(または、パスワード+ソルト)をハッシュ化し、さらにそのハッシュ値をハッシュ化する操作を、数千回〜数万回繰り返し、最後に得られたハッシュ値を認証情報として保存する
    • 1回の計算に時間がかかるので、総当たりで試すのに膨大な時間が必要になる

攻撃の準備(事前調査):下調べをする

  • 攻撃者の行動の3段階:
    • 準備(事前調査)→ 攻撃 → 目的実行
  • フットプリンティング:
    • 攻撃に先立って行う、攻撃対象の下調べ
    • 例えば、空き巣が下見で、家の窓やカギの種類、留守の時間を調べる
  • サイバーキルチェーン:
    • 攻撃の手口(攻撃者の行動)を7段階にモデル化したもの

① ポートスキャン

  • ポートスキャン:
    • コンピュータの各ポートに通信を試み、その返答から、ポートの開閉や、開いているポートで動いているサービス及びバージョンなどを特定する行為
    • 事前調査の段階でよく使われる
  • 攻撃者がポートスキャンでやること:
    • どこから侵入できるか、脆弱性のあるサービス(アプリケーション)が動いていないか、探りを入れる
    • 見つけた脆弱性を手がかりに、攻撃を仕掛ける
  • 例:
    • 攻撃者が、ポート79、80、81…と順番にアクセスする
    • 80番ポートが開いているので、「Webサーバが動いていて、HTTP通信ができる状態」と判断できる
  • ポートスキャンの対策:
    • 不要なポートは閉じる
    • IDS(侵入検知システム)を導入する
  • ポートスキャンの別の目的:
    • 対象サーバの脆弱性を検査する目的でも行われる
  • ポートスキャンの例え:
    • マンションの全部の部屋のドアノブを順番に回して、鍵の開いている部屋を探す
スキャン やり方 判断のしかた
TCPスキャン(TCPフルコネクトスキャン) 3ウェイハンドシェイクを行う コネクションが確立されるので、ログに残る
SYNスキャン(ハーフオープンスキャン) 3ウェイハンドシェイクの、最初のSYNだけを送る。完全なTCP接続をしない SYN/ACKが返れば開いている、RST/ACKなら閉じている
FINスキャン TCP接続完了のFINを送る RSTが返るかどうかで、ポートの開閉の判断や、OSの種類の推測ができる
UDPスキャン UDPパケットを送る ICMPの「Port Unreachable」が返れば閉じている、何も返らなければ開いている可能性がある
  • ステルススキャン:
    • ログを残さずにスキャンすること
    • SYNスキャンとFINスキャンは、ステルススキャンの一種
  • UDPスキャンの注意:
    • 「返事がない=開いている」のではなく、「開いている可能性がある」(返事がないのは、途中で捨てられた場合もあるから)

混同しやすいペア

  • 機密性 / 完全性 / 可用性
    • 機密性は、認可されていない人に使わせず、見せない
    • 完全性は、正確で完全に保つ(改ざんされない)
    • 可用性は、認可された人が使いたいときに使える
  • 物理的脅威 / 技術的脅威 / 人的脅威
    • 物理的脅威は、火災、地震、破壊、盗難
    • 技術的脅威は、バグ、マルウェア、不正アクセス
    • 人的脅威は、ミス、内部犯
  • ウイルス / ワーム
    • ウイルスは、ファイルやシステムに寄生して感染する
    • ワームは、寄生せず、独自にネットワークを伝わって感染する
  • ワーム / トロイの木馬
    • ワームは、自分で広がる(感染する)
    • トロイの木馬は、有用なふりをする。寄生・感染機能はない
  • スパイウェア / キーロガー
    • スパイウェアは、個人情報やアクセス履歴などを収集する
    • キーロガーは、キーボードの操作を記録する(ハードウェア型もある)
  • ボット / C&Cサーバ
    • ボットは、遠隔操作されるプログラム(感染したPC側)
    • C&Cサーバは、ボットに指令を出すサーバ(攻撃者側)
  • ルートキット / バックドア
    • ルートキットは、ログ消去、プロセス隠蔽、バックドア作成などのツールをまとめたパッケージ
    • バックドアは、不正侵入を容易にする抜け道(ルートキットが作るものの1つ)
  • エクスプロイトコード / エクスプロイトキット
    • エクスプロイトコードは、脆弱性を攻撃するプログラム(攻撃コード)
    • エクスプロイトキットは、複数のエクスプロイトコードをまとめたもの
  • 自己伝染機能 / 潜伏機能 / 発病機能
    • 自己伝染機能は、他のプログラムやシステムに自分をコピーする
    • 潜伏機能は、条件がそろうまで症状を出さない
    • 発病機能は、ファイルを壊したり、意図しない動作をしたりする
  • ワーム(マルウェア) / WORM機能
    • ワームは、ネットワークで広がるマルウェア
    • WORM機能は、一度書き込んだら上書きや削除ができない機能(ランサムウェア対策)
  • セキュリティホール / ゼロデイ攻撃
    • セキュリティホールは、ソフトウェアの設計・開発時の欠陥
    • ゼロデイ攻撃は、パッチが出る前にその欠陥を狙う攻撃
  • コンペア法 / チェックサム法
    • コンペア法は、別に保管した原本(のハッシュ値)と比べる
    • チェックサム法は、検査対象に付けておいた情報(チェックサム、ハッシュ値、デジタル署名)と比べる
  • パターンマッチング / ビヘイビア法
    • パターンマッチングは、パターンファイルと照合する。未知のマルウェアは苦手
    • ビヘイビア法は、サンドボックスで動かして挙動を見る。未知やポリモーフィック型にも対応できる
  • 辞書攻撃 / ブルートフォース攻撃 / 類推攻撃
    • 辞書攻撃は、使われやすい単語を試す
    • ブルートフォース攻撃は、すべての組合せを試す(対策はアカウントロック)
    • 類推攻撃は、氏名や誕生日などから類推して試す
  • ブルートフォース攻撃 / リバースブルートフォース攻撃
    • ブルートフォース攻撃は、IDを固定し、パスワードを変える
    • リバースブルートフォース攻撃は、パスワードを固定し、IDを変える
  • リバースブルートフォース攻撃 / パスワードスプレー攻撃
    • リバースブルートフォース攻撃は、パスワードを固定して、IDを次々に変える
    • パスワードスプレー攻撃は、攻撃間隔や攻撃元IPアドレスを変え、アカウントロックを避けながら、多くのIDに同時に試す
  • パスワードリスト攻撃 / ブルートフォース攻撃
    • パスワードリスト攻撃は、他サイトから流出した本物のIDとパスワードの組を使う(対策は使い回さないこと)
    • ブルートフォース攻撃は、パスワードを総当たりで作る
  • ソルト / ストレッチング
    • ソルトは、パスワードにランダムな文字列を加えてハッシュ化する(レインボーテーブルを作りにくくする)
    • ストレッチングは、ハッシュ化を数千回〜数万回繰り返す(解析に時間がかかるようにする)
  • TCPスキャン / SYNスキャン
    • TCPスキャンは、3ウェイハンドシェイクを最後まで行う。ログに残る
    • SYNスキャンは、SYNだけ送る(ハーフオープン)。ステルススキャンの一種
  • SYNスキャン / SYN Flood攻撃
    • SYNスキャンは、事前調査でポートの開閉を調べる
    • SYN Flood攻撃は、SYNを大量に送り付けてサーバのリソースを使い果たさせる(DoS攻撃)
  • DLP / ファイアウォール
    • DLPは、重要なデータそのものを監視し、コピーや送信をブロックする
    • ファイアウォールは、ネットワークの境界で通信を止める

← 08 セキュリティの目次に戻る

タイトルとURLをコピーしました