Transcription
こんにちは。本日は情報セキュリティ第2回として、コンピューターウイルスの種類やサイバー攻撃の手法を説明します。
本日の内容は基本的に覚えることが前提の分野であり、説明も単調になりやすいので退屈に感じるかもしれませんが、テストでよく出題されるので頑張って最後までご視聴ください。
本日の動画は画面での説明が少ないので、作業をしながらの聞き流しでもOKです。繰り返し動画をご視聴いただき、サイバー攻撃の種類などを頭に叩き込んでください。
それでは内容を見ていきましょう。まずはマルウェアについて確認します。マルウェアとは、コンピューターに悪影響を与えるソフトウェアの総称のことであり、よく耳にするコンピューターウイルスというのは、このマルウェアの一種です。ここでは9個のマルウェアを紹介するので、その特徴をつかんでいきましょう。
最初はコンピューターウイルスです。これは他のプログラムに寄生しながらコンピューターに悪影響を与えていくものです。
続いてマクロウイルスです。これはExcelやWordなどのソフトウェアのマクロ機能を悪用し、悪意のあるコードを埋め込む攻撃手法です。マクロを普段使い慣れている人は、何気なくファイルの макро を有効化してしまいがちですが、仮に悪意のあるコードが埋め込まれていた場合、不正プログラムが実行されてしまいます。ですので、ウェブサイトからダウンロードしたファイルや作成者がわからないファイルは、マクロを有効化しないようにすることが大切です。
次にワームです。これは自己増殖機能を持つことが特徴で、コンピューターウイルスのように他のソフトウェアに寄生することなく、単独プログラムとして活動できるため、感染が広がりやすいです。
次にトロイの木馬です。正規のソフトウェアやファイルになりすましてユーザーに実行を促し、ユーザーに気づかれないように攻撃を仕掛けるマルウェアです。
次にスパイウェアです。これは他のソフトウェアに紛れてコンピュータにインストールされ、利用者の情報を抜き取るマルウェアです。
次にランサムウェアです。これはデータを勝手に暗号化して利用者が使えないようにした上で、暗号化の解除と引き換えに金銭の要求をするマルウェアです。なお、ランサムとは日本語で身代金のことを意味します。
次にキーロガーです。これはコンピューターのキーボード操作を記録し、IDやパスワードといった個人情報を抜き取ることです。キーボード操作を記録すること自体は、Webサービスを開発する際などに使われており問題ないのですが、悪意のある人間が不正にキーボード操作を記録することで被害につながります。
次にルートキットです。ルートキット自体はウイルスではなく、サイバー攻撃を補佐するツールをひとまとめにしたパッケージのことであり、バックドア生成ツールやログ改ざんツールなどで構成されます。なお、バックドアとは攻撃者がこっそりと作るウェブサイトへの進入経路のことです。バックドアからのアクセスはサイト管理者が検知することができないため、攻撃者はバックドアがあればいつでもこっそりとサイトに侵入できることになってしまいます。
最後はボットです。これはウイルスに感染したコンピューターを不正に操作するプログラムで、コンピューターから情報を抜き取ったり、他サイトへの攻撃に悪用されます。なお、ボットによる遠隔操作のイメージを図に表すと画面のようになります。ウイルスに感染したコンピューターはゾンビと呼ばれ、先ほど説明したように情報を抜き取られたり、他サイトへの攻撃として悪用されます。また、ゾンビコンピューターを遠隔操作するために命令を出すサーバーをC&Cサーバーと呼び、ゾンビとC&Cサーバーをまとめてボットネットと呼びます。こちらは用語を知っておいてください。
さて、このようなマルウェアの被害を防ぐためには、ウイルス対策ソフトが必要です。ウイルス対策ソフトとは、マルウェアを検知してブロックするソフトです。試験ではこのウイルスの検知方法が問われるので、2つの方法を押さえておきましょう。
1つ目はビヘイビア法です。これは仮想環境を用意して、その仮想環境上でマルウェアの可能性がある検査対象プログラムを実際に動かし、その挙動を見てマルウェアなのか正常なソフトウェアなのか検知する手法です。挙動を確認してマルウェアかどうかを判断するため、未知のウイルスでも検知することができますが、誤った検知をしてしまうこともあります。この方法だと、仮に実際に動かしたプログラムがマルウェアだったとしても、動かしているのは仮想環境なので特に問題がないんです。ちなみにビヘイビアとは日本語で態度、振る舞いといった意味のことであり、このビヘイビア法とはまさにプログラムの振る舞いからマルウェアを検知する手法ということになります。
もう一つはパターンマッチング法です。これは既存のマルウェアにあるパターンをデータベース化して、マルウェアの疑いがあるプログラムとそのパターンを比較し検知する手法です。このパターンをシグネチャコードと呼びます。パターンが分かっている既存のマルウェアと比較して検知する方法なので、未知のマルウェアを検知することはできません。
さて、ここまではマルウェアの種類について説明したので、続いて攻撃手法の説明に移ります。全ての攻撃手法を覚えていただきたいのですが、特に優先的に覚えるべき手法を赤文字で記載しています。また、この動画では攻撃手法を覚えやすいように4つのグループに分けて説明していきますが、このグループ分け自体は正式に定義されているわけではなく、僕がわかりやすいようにカテゴリ化したものですので、その点はご注意ください。
それでは最初にパスワードクラックと呼ばれるパスワードを見破る攻撃を5つ説明していきます。ここはイメージがつかみやすいカテゴリだと思います。
1つ目は辞書攻撃です。パスワードは辞書に載っている単語を使用する人が多いということを悪用し、辞書に載っている単語からパスワードを推測する攻撃手法です。
2つ目はブルートフォース攻撃です。これはIDを1つ定め、パスワードとして使用可能な文字を片っ端から総当たりで試していく手法です。総当たり攻撃とも呼ばれます。
3つ目はリバースブルートフォース攻撃です。名前の通りブルートフォース攻撃とは逆、つまり今度はパスワードを1つ定め、IDを片っ端から試していく攻撃手法です。
4つ目はパスワードリスト攻撃です。これは他のサイトで不正に入手したパスワードとIDを用いて、ウェブサイトへのアクセスを試みる手法です。パスワードやIDは使い回している人が多いため、他サイトで入手したパスワードを用いてこのパスワードリスト攻撃を仕掛けます。なお、完全に余談ですが、僕も昔はパスワードを使い回していましたが、今はダッシュレーンというパスワード管理ソフトを使っています。セキュリティが不安な人は調べてみてください。
最後はレインボー攻撃です。これは不正に入手したパスワードのハッシュからパスワードを推測する手法です。ハッシュ値とは次回以降の動画で詳しく説明しますが、データを特定のアルゴリズムで変換したものです。また、変換に使われるアルゴリズムをハッシュ関数と呼びます。このデータの変換は不可逆であり、あるデータからハッシュへデータを変換することはできても、ハッシュ値から元のデータに戻すことはできません。ですので通常、パスワードをハッシュ関数でハッシュに変換した場合、元のパスワードを判明することはできないのですが、レインボー攻撃ではこのパスワードのハッシュ値から元のパスワードを推測します。
以上がパスワードを見破る攻撃の手法です。
次にOSやwebサイトの脆弱性を狙って実施される攻撃を紹介します。
1つ目はクロスサイトスクリプティングです。これはウェブサイトの脆弱性を見つけ、正規のサイトURLに偽のウェブサイトを表示させる手法です。私たちがその偽サイトに気づくことができず、例えば問い合わせフォームなどに個人情報を入力してしまうことで、情報が攻撃者に抜き取られてしまいます。ちなみに名前の由来として、正規のウェブサイトに偽のウェブサイトをクロスさせて表示させるというところからクロスサイトスクリプティングと呼ばれます。
続いて2つ目はSQLインジェクションです。SQLとはデータベースコースで学習しましたが、データベースを操作するための言語のことでした。そのSQLの中に不正な命令文を紛れ込ませることで、利用者が意図しない命令がデータベースに送られ、データの漏えいやデータベースの破壊につながります。なお、インジェクションとは日本語で注入の意味で、SQLに不正な命令を注入するということが語源です。
3つ目はOSコマンドインジェクションです。OSの脆弱性を利用し、OSへの不正な命令文を紛れ込ませる攻撃手法です。OSとはソフトウェアコースで説明しましたが、オペレーティングシステムの略で、パソコンの基本的な操作を実施してくれるソフトウェアのことです。具体的にはファイルの削除や更新などもOSの役割なんですね。そのようなOSに対して不正なコマンド命令を紛れ込ませると、ファイルの漏えいや削除など意図しない操作が実施されてしまいます。名前の由来としては、こちらもOSコマンドをインジェクション、つまり注入するということです。
4つ目はディレクトリリスティングです。これはウェブサイトのディレクトリやファイルを一覧表示させる攻撃です。ちなみにディレクトリとはフォルダと同じ意味合いです。そもそもウェブサイトというのは、HTMLやCSSといった言語で作られたファイルをはじめ、多くのファイルで構成されています。その中にはユーザーに非公開にしているディレクトリやファイルもありますが、ディレクトリリスティングという攻撃では、そのファイル一覧を表示させてしまいます。
最後はディレクトリトラバーサルです。これはウェブサイトで非公開となっているファイルに不正にアクセスをし、ファイルの閲覧や削除などを行う攻撃です。先ほどのディレクトリリスティングと似ていますが、ディレクトリリスティングはあくまでファイル構成を確認する攻撃であるのに対し、ディレクトリトラバーサルではファイルの中身を見たり削除したりする攻撃です。
続いてなりすまし攻撃の説明です。これは利用者が別の人物になりすまして情報などを盗み取る手法です。こちらも5つの攻撃手法を見ていきましょう。
1つ目はDNSキャッシュポイズニングです。DNSとはネットワークコースで説明しましたが、ドメインネームシステムの略で、IPアドレスとドメインを結びつけるサーバーのことでした。IPアドレスやドメインがよくわからない方は、ネットワークコース第3回を確認してください。さて、このDNSキャッシュポイズニングという攻撃手法では、DNSサーバーが保持しているドメインに偽サイトのIPアドレスを不正に紐付けることで、利用者を偽サイトに誘導する攻撃手法です。
続いてフィッシングです。フィッシング詐欺などよく耳にすると思いますが、これは金融機関などを装った電子メールを送信して、偽サイトに誘導し、個人情報などを盗み取る攻撃です。
3つ目はセッションハイジャックです。これはセッションIDと呼ばれる番号を奪取して不正ログインをする手法です。これを理解するためにセッションについて簡単に確認しましょう。セッションとは、Webページにアクセスしたユーザーが行う一連の動作のことであり、例えばユーザーがログインしてからログアウトするまでの一連の動作もセッションです。そしてこのセッションにはセッションIDと呼ばれる識別番号が付与されます。先ほど説明したログインしてからログアウトするまでの動作についても、当然セッションIDが付与されます。そしてこのセッションIDを盗み取ることで、サイトのIDやパスワードがわからなくても、このWebサイトにログインできてしまうんです。このようにして不正にログインする方法がセッションハイジャックです。
4つ目はSEOポイズニングです。SEOとは検索エンジン最適化と呼ばれるもので、ウェブサイトを上位に表示させるためのアルゴリズムのことです。例えば私たちが「基本情報技術者試験勉強法」と検索すると、数万サイトの中からいくつかのサイトがウェブサイトの上位に表示されます。この上位表示される際のアルゴリズムをSEOと呼ぶのですが、このアルゴリズムを悪用して、悪意のあるウェブサイトを検索上位に表示させる手法がSEOポイズニングです。
最後はIPスプーフィングです。これは攻撃者のIPアドレスを正規のIPアドレスに偽装することで、ウェブサイトに不正アクセスする方法です。
それでは最後にパソコンやサーバーへの攻撃を4つ説明します。これはサーバーやパソコンに負荷やマルウェアを送り込んで攻撃する手法です。
1つ目はバッファオーバーフローです。これはサーバーの処理能力を超える大容量データなどを送りつけ、サービスの稼働を停止させる攻撃です。
2つ目はドライブバイダウンロードです。これはウェブサイトを閲覧しただけでPCにマルウェアをダウンロードさせる攻撃手法です。
3つ目と4つ目はDoS攻撃およびDDoS攻撃です。これはサーバーに対して意図的に大量のアクセスを行うことで、サーバーの機能を停止させる攻撃です。アクセスが多すぎてサーバーが落ちてしまったなどはよく耳にすると思いますが、それを意図的に起こす攻撃のことです。最初に説明したバッファオーバーフローと似ていますが、バッファオーバーフローでは大容量データなどを送りつけ、そのデータの処理をサーバーに実行させることでサービスを停止させます。一方、DoS攻撃やDDoS攻撃ではサイトにただただ大量にアクセスするだけです。大量アクセスする際のパソコンが1台の時はDoS攻撃、複数台の時はDDoS攻撃と呼びます。
以上で説明は終わりです。次回の動画でサイバー攻撃やコンピューターウイルスに関する過去問を解いていくので、本日の動画はよく理解しておいてください。
それでは最後までご視聴ありがとうございました。質問はコメント欄に記載いただければ、できる限り回答しますのでお気軽にご期待ください。
[音楽]