この記事ではサイバー攻撃についてIT初心者にも分かりやすく解説します。
マルウェア
- トロイの木馬は、無害な普通のプログラムを装って侵入し、データの漏洩や改ざん等の様々な攻撃を行う
- ワームは、ネットワークを通じてコンピュータ間を移動しながら自己複製する。
- ボットは、正常なコンピュータを外部から操って攻撃を行う。
- バックドアは、正規の方法以外でネットワークやサーバにアクセスするために組み込んだ裏口。
サイバー攻撃
- DNSキャッシュポイズニングは、偽のドメイン情報をDNSキャッシュサーバに記憶させて、悪意のあるURLに誘導する攻撃。
- SQLインジェクション攻撃は、攻撃者がWebアプリの入力欄にデータベースを操作する命令文を入力することで、データの改ざんや窃盗を行う攻撃。
- ディレクトリトラバーサルは、攻撃者がURLでパス名を含めてファイルを指定して、管理者が意図していないファイルを不正に閲覧する攻撃。
- ブルートフォースアタックは、考えられるパスワードの全ての組み合わせを試しながら不正アクセスを試みるサイバー攻撃。
- パスワードリスト攻撃は、攻撃者が何らかの方法でIDとパスワードを入手した時に、他のサービスでも同様のIDとパスワードで侵入できるかを試みる攻撃。
- ソーシャルエンジニアリングは、特別な通信技術を使うことなく、巧妙に人間の心理を突いてパスワード等の重要情報を盗み出す攻撃。
- SEOポイズニングは、悪質なサイトが上位に表示されるようにすることで、悪質なサイトにユーザを誘導する攻撃。
- ドライブバイダウンロードは、攻撃者が用意したWebサイトにアクセスした時に、ユーザの意図しない所でマルウェアをダウンロードさせる攻撃。
基本情報ではサイバー攻撃に関する問題が出題されます。是非最後までご覧ください。
マルウェア
悪意のあるソフトウェアの総称をマルウェアと言います。マルウェアの中にはコンピュータウイルスやトロイの木馬など様々なものがあります。
ここでは基本情報に出題されたマルウェアに限定して紹介していきます。
トロイの木馬 | 無害な普通のプログラムを装って侵入し、データの漏洩や改ざん等の様々な攻撃を行う。 |
---|---|
ワーム | ネットワークを通じてコンピュータ間を移動しながら自己複製する。自己複製しながら移動するので大規模感染になりやすい。 |
ボット | 正常なコンピュータを外部から操って攻撃を行う。操られているコンピュータをボットと言い、ボットに命令をするコンピュータをC&Cサーバと言います。 |
バックドア | 正規の方法以外でネットワークやサーバにアクセスするために組み込んだ裏口。 |
トロイの木馬
トロイの木馬は、無害な普通のプログラムを装って侵入し、データの漏洩や改ざん等の様々な攻撃を行います。
![](https://shikaku-dou.com/wp-content/uploads/2023/12/7b0d11633689148d1afc65bb55bf8753-1024x621.jpg)
ワーム
ワームは、ネットワークを通じてコンピュータ間を移動しながら自己複製します。自己複製しながら移動するので大規模感染になりやすいです。
![](https://shikaku-dou.com/wp-content/uploads/2023/12/5e1802f4d5734632d9c20a5a542630cb-e1703389196358-1024x585.jpg)
ボット
外部から操られた正常なコンピュータをボットと言い、ボットに命令をするコンピュータをC&Cサーバと言います。ボットを操って攻撃を行います。
![](https://shikaku-dou.com/wp-content/uploads/2023/12/2b51ca4a3059482d230ca58069cd6ed6-e1703393091535-1024x566.jpg)
バックドア
バッグドアは、正規の方法以外でネットワークやサーバにアクセスするために組み込んだ裏口のことです。
![](https://shikaku-dou.com/wp-content/uploads/2023/12/b706f1a849a69669fc54aa09a9e40221-e1703393958313-1024x582.jpg)
様々なサイバー攻撃
サイバー攻撃とはマルウェアを使用して個人情報を不正に取得したり、データの改ざんを行ったり、第三者になりすます行為のことです。サイバー攻撃には、特定の組織や個人を標的として攻撃と不特定の組織や個人を標的とした攻撃があります。
ここでは基本情報に出題されたサイバー攻撃に限定して紹介していきます。
特定の誰かが標的 | ・DNSキャッシュポイズニング ・SQLインジェクション攻撃 ・ディレクトリトラバーサル ・ブルートフォースアタック ・パスワードリスト攻撃 ・ソーシャルエンジニアリング |
---|---|
不特定の誰かが標的 | ・SEOポイズニング ・ドライブバイダウンロード |
DNSキャッシュポイズニング
DSNサーバ
DNSはドメイン名とIPアドレスを変換する役割を持ちます。DNSサーバにはDNSキャッシュサーバと権威DNSサーバがあります。DNSキャッシュサーバはユーザが実際に問い合わせを行うDNSサーバです。DNSキャッシュサーバはユーザが頻繁に問い合わせるドメイン名を記録していますが、ユーザが問い合わせてきたドメイン名を記録していなかった場合、権威DNSサーバに問い合わせます。
![](https://shikaku-dou.com/wp-content/uploads/2023/12/26d18498815beffbd801bf052133d1d4-e1703486392783-1024x440.jpg)
DNSキャッシュポイズニング
DNSキャッシュポイズニングは偽のドメイン情報をDNSキャッシュサーバに記憶させて、悪意のあるURLに誘導する攻撃です。攻撃者は正しい送信元IPアドレスに偽装して、偽のIPアドレスをDNSサーバに送ります。DNSサーバはこの偽のIPアドレスをユーザに返してしまうので、ユーザは偽のサイトへ誘導されてしまいます。
![](https://shikaku-dou.com/wp-content/uploads/2023/12/64807ac06a78a68490b4d06ebf0762a9-e1703491450227-1024x442.jpg)
SQLインジェクション攻撃
SQLインジェクション攻撃は攻撃者がWebアプリの入力欄にデータベースを操作する命令文を入力することで、データの改ざんや窃盗を行う攻撃です。
![](https://shikaku-dou.com/wp-content/uploads/2023/12/be67bda792f24af093463e5a8b0a9db4-e1722077739828-1024x237.jpg)
SQLインジェクション攻撃はSQLの仕組みを使ったサイバー攻撃です。
![](https://shikaku-dou.com/wp-content/uploads/2023/11/4271e19d9d1de4bb103b4898f44abe37-320x180.jpg)
商品名を入力すると、その商品の情報が表示される場合を考えます。
あらかじめ商品名から商品に関する情報を取得するようなSQLを準備しておきます。
Select * From SYOHIN Where SYOHINMEI = ?
ユーザが商品名を入力すると、?に商品名が入り、商品に関する情報を取得します。
しかし悪意のある人が、データを削除するような命令文を入力するとどうなるでしょうか。
例えば、入力欄に「ティッシュ;TRUNCATE TABLE SYOHIN」と入力すると、
Select * From SYOHIN Where SYOHINMEI = ティッシュ;
TRUNCATE TABLE SYOHIN
のSQLが実行されて、商品データを記録するSYOHINテーブルのデータが削除されます。
これがSQLインジェクション攻撃です。(TRUNCATE TABLE SYOHINがテーブルのデータを削除する命令文です)
プレースホルダ
SQLインジェクション攻撃への対策にプレースホルダを使う手があります。
プレースホルダとは、後から実際の内容を挿入するために仮に確保する場所のことです。
例えば、パワーポイントの「クリックしてテキストを入力」がプレースホルダになります。
SQLインジェクション攻撃は、悪意のある人が入力した命令文を実行してしまうのが問題でした。そこで、入力した内容を「ただの文字列」として扱うようにプレースホルダを設置します。
例えば、入力欄に「ティッシュ;TRUNCATE TABLE SYOHIN」と入力すると、
Select * From SYOHIN Where SYOHINMEI = ‘ティッシュ;
TRUNCATE TABLE SYOHIN’
となり、「ティッシュ;TRUNCATE TABLE SYOHIN」という商品を検索する処理を実行します。
ディレクトリトラバーサル
ディレクトリトラバーサルは、攻撃者がURLでパス名を含めてファイルを指定して、管理者が意図していないファイルを不正に閲覧する攻撃です。
![](https://shikaku-dou.com/wp-content/uploads/2023/12/0118ea81461e335f0d05ae43ed82a0f0-e1703498610864-1024x396.jpg)
ブルートフォースアタック
ブルートフォースアタックとは、考えられるパスワードの全ての組み合わせを試しながら不正アクセスを試みるサイバー攻撃です。ブルートフォースには「総当たり」という意味があります。
例えば、パスワードが数字で6桁の場合、およそ100万パターンのパスワードが考えられますが、正解を引き当てるまで全てのパターンでの不正アクセスを試みます。
パスワードリスト攻撃
パスワードリスト攻撃は、攻撃者が何らかの方法でIDとパスワードを入手した時に、他のサービスでも同様のIDとパスワードで侵入できるかを試みる攻撃です。
ソーシャルエンジニアリング
ソーシャルエンジニアリングは、特別な通信技術を使うことなく、巧妙に人間の心理を突いてパスワード等の重要情報を盗み出す攻撃です。ソーシャルエンジニアリングには様々な方法がありますが、例えば、他人がスマホやパソコン等でパスワードを入力している所を後ろから盗み見る方法や、「あなたの口座が危険に晒されています」等と緊急事態を装い、口座の暗証番号を盗み出す方法があります。
SEOポイズニング
SEOとはGoogleやEdge等の検索エンジンで検索したとき、ユーザに有益なコンテンツを提供できるようにサイトの掲載順位を最適化する仕組みです。
SEOポイズニングはこの仕組みを悪用して、悪質なサイトが上位に表示されるようにすることで、悪質なサイトにユーザを誘導します。
![](https://shikaku-dou.com/wp-content/uploads/2023/12/95f29063d6e686eef985cef8a3b32284-e1703501882693-1024x471.jpg)
ドライブバイダウンロード
ドライブバイダウンロードは、攻撃者が用意したWebサイトにアクセスした時に、ユーザの意図しない所でマルウェアをダウンロードさせる攻撃です。
基本情報技術者試験での出題例
令和6年度問10
基本情報技術者
科目A 令和6年度問10
SQLインジェクションの対策として,有効なものはどれか。
ア URLをWebページに出力するときは,”http://”や”https://”で始まるURLだけを許可する。
イ 外部からのパラメータでWebサーバ内のファイル名を直接指定しない。
ウ スタイルシートを任意のWebサイトから取り込めるようにしない。
エ プレースホルダを使って命令文を組み立てる。
正解は”エ”
SQLインジェクション攻撃とはWebアプリの入力欄に悪意のある命令文を入力することでサイバー攻撃を行う手法です。
プレースホルダを使うことで入力された内容がただの文字列として扱われるため、悪意のある命令が実行されません。
サンプル問題問30
基本情報技術者
科目A サンプル問題問30
緊急事態を装って組織内部の人間からパスワードや機密情報を入手する不正な行為は,どれに分類されるか。
ア ソーシャルエンジニアリング
イ トロイの木馬
ウ 踏み台攻撃
エ ブルートフォース攻撃
正解は”ア”
緊急事態を装う等して人間の心理を操り、重要情報を盗み出そうとする攻撃をソーシャルエンジニアリングと言います。
令和5年度問9
基本情報技術者
科目A 令和5年度問9
ドライブバイダウンロード攻撃に該当するものはどれか。
ア PCから物理的にハードディスクドライブを盗み出し,その中のデータをWebサイトで公開し,ダウンロードさせる。
イ 電子メールの添付ファイルを開かせて,マルウェアに感染したPCのハードディスクドライブ内のファイルを暗号化し,元に戻すための鍵を攻撃者のサーバからダウンロードさせることと引換えに金銭を要求する。
ウ 利用者が悪意のあるWebサイトにアクセスしたときに,Webブラウザの脆弱性を悪用して利用者のPCをマルウェアに感染させる。
エ 利用者に気付かれないように無償配布のソフトウェアに不正プログラムを混在させておき,利用者の操作によってPCにダウンロードさせ,インストールさせることでハードディスクドライブから個人情報を収集して攻撃者のサーバに送信する。
正解は”ウ”
ドライブバイダウンロードは、攻撃者が用意したWebサイトにアクセスした時に、ユーザの意図しない所でマルウェアをダウンロードさせる攻撃です。
令和元年度秋期問35、平成29年度春期問36
基本情報技術者
午前試験 令和元年度秋期問35、平成29年度春期問36
攻撃者が用意したサーバXのIPアドレスが,A社WebサーバのFQDNに対応するIPアドレスとして,B社DNSキャッシュサーバに記憶された。これによって,意図せずサーバXに誘導されてしまう利用者はどれか。ここで,A社,B社の各従業員は自社のDNSキャッシュサーバを利用して名前解決を行う。
ア A社WebサーバにアクセスしようとするA社従業員
イ A社WebサーバにアクセスしようとするB社従業員
ウ B社WebサーバにアクセスしようとするA社従業員
エ B社WebサーバにアクセスしようとするB社従業員
正解は”イ”
問題文の状況を図式化すると下のようになります。
![](https://shikaku-dou.com/wp-content/uploads/2023/12/441af28724d60911ba6f513bfde034da-e1703503036225-1024x442.jpg)
よってA社のWebサーバにアクセスしようとしたB社の従業員が被害に会います。
令和元年度秋期問39
基本情報技術者
午前試験 令和元年度秋期問39
情報セキュリティにおいてバックドアに該当するものはどれか。
ア アクセスする際にパスワード認証などの正規の手続が必要なWebサイトに,当該手続を経ないでアクセス可能なURL
イ インターネットに公開されているサーバのTCPポートの中からアクティブになっているポートを探して,稼働中のサービスを特定するためのツール
ウ ネットワーク上の通信パケットを取得して通信内容を見るために設けられたスイッチのLANポート
エ プログラムが確保するメモリ領域に,領域の大きさを超える長さの文字列を入力してあふれさせ,ダウンさせる攻撃
正解は”ア”
正式な手続きを行わずに、不正にアクセス出来る経路をバッグドアと言います。
令和元年度秋期問41
基本情報技術者
午前試験 令和元年度秋期問41
検索サイトの検索結果の上位に悪意のあるサイトが表示されるように細工する攻撃の名称はどれか。
ア DNSキャッシュポイズニング
イ SEOポイズニング
ウ クロスサイトスクリプティング
エ ソーシャルエンジニアリング
正解は”イ”
平成31年度春期問37
基本情報技術者
午前試験 平成31年度春期問37
パスワードリスト攻撃の手口に該当するものはどれか。
ア 辞書にある単語をパスワードに設定している利用者がいる状況に着目して,攻撃対象とする利用者IDを一つ定め,辞書にある単語やその組合せをパスワードとして,ログインを試行する。
イ パスワードの文字数の上限が小さいWebサイトに対して,攻撃対象とする利用者IDを一つ定め,文字を組み合わせたパスワードを総当たりして,ログインを試行する。
ウ 複数サイトで同一の利用者IDとパスワードを使っている利用者がいる状況に着目して,不正に取得した他サイトの利用者IDとパスワードの一覧表を用いて,ログインを試行する。
エ よく用いられるパスワードを一つ定め,文字を組み合わせた利用者IDを総当たりして,ログインを試行する。
正解は”ウ”
サンプル問題問31、平成30年度秋期問41
基本情報技術者
科目A サンプル問題問31、午前試験 平成30年度秋期問41
ボットネットにおけるC&Cサーバの役割として,適切なものはどれか。
ア Webサイトのコンテンツをキャッシュし,本来のサーバに代わってコンテンツを利用者に配信することによって,ネットワークやサーバの負荷を軽減する。
イ 外部からインターネットを経由して社内ネットワークにアクセスする際に,CHAPなどのプロトコルを用いることによって,利用者認証時のパスワードの盗聴を防止する。
ウ 外部からインターネットを経由して社内ネットワークにアクセスする際に,チャレンジレスポンス方式を採用したワンタイムパスワードを用いることによって,利用者認証時のパスワードの盗聴を防止する。
エ 侵入して乗っ取ったコンピュータに対して,他のコンピュータへの攻撃などの不正な操作をするよう,外部から命令を出したり応答を受け取ったりする。
正解は”エ”
平成30年度春期問36
基本情報技術者
午前試験 平成30年度春期問36
ドライブバイダウンロード攻撃に該当するものはどれか。
ア PC内のマルウェアを遠隔操作して,PCのハードディスクドライブを丸ごと暗号化する。
イ 外部ネットワークからファイアウォールの設定の誤りを突いて侵入し,内部ネットワークにあるサーバのシステムドライブにルートキットを仕掛ける。
ウ 公開Webサイトにおいて,スクリプトをWebページ中の入力フィールドに入力し,Webサーバがアクセスするデータベース内のデータを不正にダウンロードする。
エ 利用者が公開Webサイトを閲覧したときに,その利用者の意図にかかわらず,PCにマルウェアをダウンロードさせて感染させる。
正解は”エ”
サンプル問題問36、平成30年度春期問41
基本情報技術者
科目A サンプル問題問36、午前試験 平成30年度春期問41
SQLインジェクション攻撃を防ぐ方法はどれか。
ア 入力された文字が,データベースへの問合せや操作において,特別な意味をもつ文字として解釈されないようにする。
イ 入力にHTMLタグが含まれていたら,HTMLタグとして解釈されない他の文字列に置き換える。
ウ 入力に上位ディレクトリを指定する文字(../)を含まれているときは受け付けない。
エ 入力の全体の長さが制限を超えているときは受け付けない。
正解は”ア”
SQLインジェクション攻撃はデータベースへの命令文となるような文字を入力することでデータの改ざんや窃盗を行う攻撃なので、入力された文字が命令文とならないようにすれば防ぐことが出来ます。
平成29年度秋期問36
基本情報技術者
午前試験 平成29年度秋期問36
ボットネットにおいてC&Cサーバが果たす役割はどれか。
ア 遠隔操作が可能なマルウェアに,情報収集及び攻撃活動を指示する。
イ 電子商取引事業者などに,偽のディジタル証明書の発行を命令する。
ウ 不正なWebコンテンツのテキスト,画像及びレイアウト情報を一元的に管理する。
エ 踏み台となる複数のサーバからの通信を制御し遮断する。
正解は”ア”
平成29年度秋期問37
基本情報技術者
午前試験 平成29年度秋期問37
DNSキャッシュポイズニングに分類される攻撃内容はどれか。
ア DNSサーバのソフトウェアのバージョン情報を入手して,DNSサーバのセキュリティホールを特定する。
イ PCが参照するDNSサーバに偽のドメイン情報を注入して,利用者を偽装されたサーバに誘導する。
ウ 攻撃対象のサービスを妨害するために,攻撃者がDNSサーバを踏み台に利用して再帰的な問合せを大量に行う。
エ 内部情報を入手するために,DNSサーバが保存するゾーン情報をまとめて転送させる。
正解は”イ”
平成29年度秋期問39
基本情報技術者
午前試験 平成29年度秋期問39
SQLインジェクション攻撃の説明はどれか。
ア Webアプリケーションに問題があるとき,悪意のある問合せや操作を行う命令文をWebサイトに入力して,データベースのデータを不正に取得したり改ざんしたりする攻撃
イ 悪意のあるスクリプトを埋め込んだWebページを訪問者に閲覧させて,別のWebサイトで,その訪問者が意図しない操作を行わせる攻撃
ウ 市販されているDBMSの脆弱性を利用することによって,宿主となるデータベースサーバを探して自己伝染を繰り返し,インターネットのトラフィックを急増させる攻撃
エ 訪問者の入力データをそのまま画面に表示するWebサイトに対して,悪意のあるスクリプトを埋め込んだ入力データを送ることによって,訪問者のブラウザで実行させる攻撃
正解は”ア”
平成29年度秋期問41
基本情報技術者
午前試験 平成29年度秋期問41
マルウェアについて,トロイの木馬とワームを比較したとき,ワームの特徴はどれか。
ア 勝手にファイルを暗号化して正常に読めなくする。
イ 単独のプログラムとして不正な動作を行う。
ウ 特定の条件になるまで活動をせずに待機する。
エ ネットワークやリムーバブルメディアを媒介として自ら感染を広げる。
正解は”エ”
平成29年度春期問37
基本情報技術者
午前試験 平成29年度春期問37
ディレクトリトラバーサル攻撃に該当するものはどれか。
ア 攻撃者が,Webアプリケーションの入力データとしてデータベースへの命令文を構成するデータを入力し,管理者の意図していないSQL文を実行させる。
イ 攻撃者が,パス名を使ってファイルを指定し,管理者の意図していないファイルを不正に閲覧する。
ウ 攻撃者が,利用者をWebサイトに誘導した上で,WebアプリケーションによるHTML出力のエスケープ処理の欠陥を悪用し,利用者のWebブラウザで悪意のあるスクリプトを実行させる。
エ セッションIDによってセッションが管理されるとき,攻撃者がログイン中の利用者のセッションIDを不正に取得し,その利用者になりすましてサーバにアクセスする。
正解は”イ”
平成29年度春期問38
基本情報技術者
午前試験 平成29年度春期問38
共通鍵暗号の鍵を見つけ出そうとする,ブルートフォース攻撃に該当するものはどれか。
ア 一組みの平文と暗号文が与えられたとき,全ての鍵候補を一つずつ試して鍵を見つけ出す。
イ 平文と暗号文と鍵の関係を表す代数式を手掛かりにして鍵を見つけ出す。
ウ 平文の一部分の情報と,暗号文の一部分の情報との間の統計的相関を手掛かりにして鍵を見つけ出す。
エ 平文を一定量変化させたときの暗号文の変化から鍵を見つけ出す。
正解は”ア”
共通鍵暗号の鍵を見つけだすブルートフォース攻撃でも総当たりで鍵を見つけ出そうとします。
基本情報に関する他の記事
ハードウェア | ソフトウェア | システム構成 |
ネットワーク | データベース | 開発手法 | 情報セキュリティ |
情報セキュリティに関する記事
【基本情報】情報セキュリティマネジメントを過去問と一緒に全部解説!
【基本情報】共通鍵暗号方式と公開鍵暗号方式とディジタル署名を解説
【基本情報】出題されるサイバー攻撃を一気に解説!