何から情報を守ればよいか、攻撃手法を知ろう

2018年2月13日(火)
棚橋 英之

はじめに

「情報処理安全確保支援士」は、サイバーセキュリティに関する専門的な知識・技能を活用する専門人材の育成と確保を目指した国家資格です。そのため、試験対策としても必然的にサイバー攻撃とその対策へ焦点を当てる必要があります。そこで今回は、様々な攻撃手法について解説します。

サイバー攻撃の手口

守りを固めるには攻撃手法を知ることが大切です。サイバー攻撃が一般的にどのように行われるのかを押さえておきましょう。実際によく行われているサイバー攻撃を段階的に分けると、「1.情報収集」「2.権限奪取」「3.不正実行」「4.証拠隠滅、裏口(バックドア)の作成」の4段階に分けることができます。それぞれの段階で何が行われるのか、具体的にどのような攻撃があるのかを確認しましょう。

以降では、過去8回分の午前/午後問題に出題された主な攻撃手法(選択肢のみも含む)を様々な観点からまとめていきます。

※「主な対策例」は対策の一例です。単独では根本的な対策にならないものもあります。

1. 情報収集

攻撃者は標的を定めるために、インターネットに公開されている情報などをもとに様々な情報を集めます。特に注目するのは攻撃対象マシンの「OSの種類/バージョン」や「動いているサービスの種類/バージョン」などの情報です。攻撃者は、これらの情報を得ることで適切な攻撃手法を講じてきます。

その主な情報収集の手法はポートスキャンにより動いているサービス(ポート番号)を推定したり、脆弱性検査ツールを用いて利用しているOSやソフトウェアを推定したりします(表1)。

これらの攻撃の主な対策法として、まずは不用意に情報がインターネット上へ公開されないように注意しましょう。また、自分たちの情報がどのように公開されるかを把握することも大切です。また、利用していないサービスなどを停止したり、セキュリティパッチを適用して脆弱性をなくしたりすることも重要です。

表1:攻撃者による情報収集の手法

攻撃手法 特徴 主な対策例
ポートスキャン ポート番号を調査 公開情報の管理、不要なポートの停止
脆弱性検査 脆弱性を検査 公開情報の管理、セキュリティパッチの適用

2. 権限奪取

攻撃対象の情報を収集したら、続いて不正操作を行うためにアカウント権限を奪おうとします。特に特権ID(管理者権限)を奪取されると、実質その対象マシンではあらゆる不正行為を許すことになります。

その主な手法は「パスワードクラッキング」によりアカウントを乗っ取る手法や、「バッファオーバーフロー(BOF)」などによるソフトウェアの脆弱性をついてアカウント権限を乗っ取る手法があります。

主な対策として、「パスワードクラッキング」の場合は他者に推測されにくいパスワードを設定することが重要です。パスワードリスト攻撃のような難しいパスワードでも運用の不備でクラッキングされるケースもあるため注意が必要です(表2)。

表2:権限奪取(パスワードクラッキング)

攻撃手法 特徴 主な対策例
ブルートフォース攻撃 総当たりにより推定 ・長いパスワード
・ロックアウト(オンライン攻撃のみ)
辞書攻撃 辞書ファイルを基に推定 推測されにくいパスワード
パスワードリスト攻撃 他システムで利用したパスワードを用いて推定 パスワードを使い回さない

また、「バッファオーバーフロー」の場合は、基本的にはセキュリティパッチの適用で対応します。最近のOSなどに搭載されているアドレス空間のランダマイズ化データ実行防止(スタックベースのみ)機能なども有効な対策なので、セットで覚えておきましょう(表3)。

表3:権限奪取(バッファオーバーフロー)

攻撃手法 特徴 主な対策例
スタックベースBOF スタック領域を標的 セキュリティパッチの適用、アドレス空間のランダマイズ化、データ実行防止
ヒープベースBOF ヒープ領域を標的 セキュリティパッチの適用、アドレス空間のランダマイズ化

3. 不正実行

不正実行は攻撃者の最終目的です。ウイルス(マルウェア)に感染させて機密情報を持ち出したり(表4)、DoS攻撃によりサーバーを停止させたりすることが該当します(表5)。ウイルス感染の共通の対策はウイルス対策ソフトの導入や定義ファイルの更新です。

表4:不正実行(ウイルス感染)

攻撃手法 特徴 主な対策例
ランサムウェア ファイルを暗号化 データのバックアップ
ポリモーフィック型ウイルス ウイルス対策ソフトのパターンマッチングの回避 パターンマッチング以外のウイルス対策
ダウンローダ型ウイルス 他のマルウェアをダウンロード/実行 攻撃の検知、出口対策の強化

DoS攻撃共通の対策はネットワーク帯域の制限や該当通信のブロックです。多くのDoS攻撃はIPを偽装(IP Spoofing)して行われます。DoS攻撃には様々なパターンがあるため、代表的な攻撃については整理しておきましょう。近年ではIoT機器を用いたDoS攻撃が急速に増えています。

表5:不正実行(DoS攻撃)

攻撃手法 特徴 主な対策例
ICMP Flood攻撃 Pingにより大量のechoリクエストを送る ブロードキャスト宛のパケットの制御
Smurf攻撃 Pingにより大量のechoリプライを送る ブロードキャスト宛のパケットの制御
SYN Flood攻撃 SYNパケットを大量に送る SYNパケットの帯域制限
EDoS攻撃 クラウドサービス、従量課金を対象 基本的なDoS攻撃の対策
NTPリフレクション攻撃 ntpdのmonlistを悪用したリフレクション攻撃 monlist機能の無効化
DNS Amp攻撃 キャッシュサーバーに問い合わせ、回答先を攻撃対象とする。この時、問い合わせ内容よりも回答内容を大きくすることでデータを増幅する。DNSリフレクション攻撃とも呼ぶ DNSをオープンリゾルバとして活用しない
DNS 水責め攻撃 キャッシュサーバーに対して攻撃対象のランダムサブドメインを大量に問い合わせ、攻撃対象の権威サーバーを過負荷にする DNSをオープンリゾルバとして活用しない

4. 証拠隠滅、裏口(バックドア)の作成

攻撃者は不正行為を行った後、その痕跡を隠そうとします。すなわち、証拠となるログ情報を消去、改ざんします。ログは不正行為を見つけ出すために非常に重要な情報なので、対策として適切なログ管理が重要となります。

また、攻撃者は一度攻撃に成功した対象へもう一度楽に攻撃を仕掛けられるように裏口(バックドア)を設置することも多いです。バックドアとなりうるのは主に「rootkit」やトロイの木馬に分類される「マルウェア」が中心です(表6)。これらにはログの消去や改ざんを行うものもあります。

表6:証拠隠滅、裏口の作成

攻撃手法 特徴 主な対策例
rootkit 複数の不正プログラム群 ウイルスと同様の対策、セキュリティパッチの適用
ウイルス感染 ※表4:不正実行(ウイルス感染)を参照

攻撃手法の分類(分野別)

ここまで、各種の攻撃の流れはイメージできたでしょうか。続いて、視点を変えて攻撃手法を技術分野ごとに整理してみましょう。

表7はTCP/IPの仕様に基づいた攻撃手法です。その対策にはTCP/IPの特徴をしっかりと押さえておく必要があります。特にIP Spoofingは様々な攻撃の起点となることが多い攻撃手法のため、目にすることも多いでしょう。

表7:TCP/IPの仕様に基づいた攻撃

攻撃手法 特徴 主な対策例
ARPポイズニング ARPテーブルの改ざん ネットワークセグメントの分離
IP Spoofing IPアドレスの偽装 不正なIPによる通信のフィルタリング
ICMP Flood攻撃 ※表5:不正実行(DoS攻撃)を参照
Smurf攻撃
SYN Flood攻撃

表8は昨今、頻繁に話題にあがる標的型攻撃です。インシデントレスポンスとして総合的に対策する必要があります。

表8:標的型攻撃と関連の深い攻撃

攻撃手法 特徴 主な対策例
RLOの利用 文字の表示順を変える制御文字を利用し、ファイル名の拡張子を偽装 ファイル名のみでファイルの種類を判断しない
APT攻撃 特定組織を標的に複数の手法を組み合わせて気付かれないよう執拗に攻撃 攻撃の検知、出口対策の強化
水飲み場型攻撃 標的組織の従業員が頻繁にアクセスするWebサイトに攻撃コードを埋め込む セキュリティパッチの適用、未知の脆弱性に対する情報の収集
ダウンロード型ウイルス ※表4:不正実行(ウイルス感染)を参照

表9はDNSサーバーに関連する攻撃手法です。DNSは重要なサーバーであるため、関連する問題も頻出します。詳しい攻撃手法と対策方法が問われるため、キーワードだけでなく仕組みも確実に押さえましょう。

表9:DNSサーバーと関連の深い攻撃

攻撃手法 特徴 主な対策例
カミンスキー攻撃 DNSキャッシュポイズニング DNSSEC、UDPポート番号のランダム化
DNS Amp攻撃 ※表5:不正実行(DoS攻撃)を参照
DNS 水責め攻撃

表10はWebシステムと関連の深い攻撃です。主にSSL/TLSに関する攻撃に注意が必要です。SSL/TLSは細かいバージョンも覚えておきましょう。

表10:Webシステムと関連の深い攻撃

攻撃手法 特徴 主な対策例
MITM(中間者攻撃) 通信者間の通信を盗聴、改ざんし、なりすます 証明書の活用
MITB マルウェア感染によってWeb通信を盗聴、改ざんし操作を乗っ取る ウイルス対策、トランザクション署名
SSL/TLSバージョンロールバック攻撃 SSL/TLSダウングレード攻撃の1つ。脆弱性の残る古いバージョンを故意に利用させる セキュリティパッチの適用、不要なバージョンの無効化
POODLE攻撃 SSL 3.0の脆弱性 SSL 3.0の無効化
HeartBleed攻撃 OpenSSL 1.01~1.01fの脆弱性 OpenSSL 1.01g以降の利用

表11のサイドチャネル攻撃は攻撃対象の物理デバイスから得られる物理量(処理時間や消費電流など)やエラーメッセージから攻撃対象の機密情報を得る攻撃です。関連する問題が毎回のように出題されているので確実に押さえておきましょう。

表11:サイドチャネル攻撃

攻撃手法 特徴 主な対策例
テンペスト攻撃 処理中に機器から放射される電磁波を観測し解析 電磁的なシールドの活用
タイミング攻撃 処理時間の差異を計測し解析 演算内容による処理時間の差異が出ないようにする

表12はWebアプリケーションの脆弱性に対する攻撃です。主にWebアプリケーションを構築するときに行うべき対策が中心です。この攻撃は午前/午後試験でも頻出ですので、確実に押さえておきましょう。

表12:Webアプリケーションの脆弱性に対する攻撃

攻撃手法 特徴 主な対策例
XSS(クロスサイトスクリプティング) Webページの出力時に不正なスクリプトを埋め込む 出力文字列をエスケープ
OSコマンドインジェクション 外部からOSコマンドを不正に実行 OSコマンドを利用できる機能の活用を避ける
HTTPヘッダインジェクション 不正な情報をHTTPヘッダに埋め込む 外部入力に対して改行コードを削除する
CSRF(クロスサイトリクエストフォージェリ) サイトにログインした状態で、予期しない処理を強制 ログイン時のみでなく、処理を実行する前にも認証を行う
SQLインジェクション 外部からSQLコマンドを不正に実行 プレースホルダを活用
セッションハイジャック セッションIDを奪い、なりすます セッションIDの推測を困難にする、
Cookiesecure属性を与える
ディレクトリトラバーサル攻撃 公開を想定していないファイルを参照 直接ファイルを指定する実装を避ける
セッションID固定化攻撃(セッションフィクセーション) 攻撃者のセッションIDを利用させることでなりすます ログイン成功後に、新しいセッションIDを発行する

攻撃に関する過去問題

攻撃手法とその特徴、対策について確認できたところで、攻撃に関する過去問題から、平成29年度春期 午前Ⅱ問題の問11を考えてみましょう。

問11 インターネットバンキングの利用時に被害をもたらすMITB(Man-in-the-Browser)攻撃に有効な対策はどれか。

ア インターネットバンキングでの送信時にWebブラウザで利用者が入力した情報と,金融機関が受信した情報とに差異がないことを検証できるよう,トランザクション署名を利用する。
イ インターネットバンキングでの送金時に接続するWebサイトの正当性を確認できるよう,EV SSLサーバ証明者を採用する。
ウ インターネットバンキングでのログイン認証において,一定時間ごとに自動的に新しいパスワードに変更されるワンタイムパスワードを用意する。
エ インターネットバンキング利用時の通信をSSLではなくTLSを利用して暗号化する。

(平成29年度春期 午前Ⅱ問題 問11(試験問題から引用))

Man-in-the-Browser(MITB)攻撃は、マルウェアの動作によりブラウザとWebサーバー間の通信を盗聴・改ざんする攻撃です。例えば、銀行系のサイトへのログイン時に、そのログインセッションを乗っ取り攻撃者の口座に送金させます。この時ユーザ側の画面は改ざんされており、ユーザはその不正に気付くことができません(図1)。

図1:Man-in-the-Browser(MITB)攻撃

この攻撃が厄介なのは、正規のWebサーバーに正規の方法でログインした後に攻撃を受けているため、証明書によるなりすましの防止や、ワンタイムパスワードによる認証では防げないことです。

主な対策としては、取引内容(トランザクション)である「振込口座番号」や「振込金額」などを基にハードウェアトークンで生成した署名文字列を認証情報として利用するトランザクション署名という方法が有効です。したがって、(ア)が正解です。

(イ)は、証明書を用いることで正規のWebサイトであることが保証されますが、MITBは正規のWebサイトであっても被害が発生します。

(ウ)は、ワンタイムパスワードを用いても攻撃者がそのパスワードを利用してしまうため、 サーバー側では正しい通信としてみなされてしまいます。

(エ)は、MITBでは通信の改ざんをデータ送信前に行うため、SSL/TLSを用いても対応できません。

おわりに

攻撃手法とその対策は現場でも確実に押さえておきたい重要な知識です。仕組みを知らない、対策方法を知らないでは現場で活用できませんので、セットで習得しておくことが大事です。だからこそ試験でも問われます。上記の攻撃手法で不明な点があれば是非詳細に調べてみてください。実際に対策するには認証やファイアウォールの仕組み、各サーバーの仕組みなど様々な知識も要求されますので、これらも紐づけて学習していくことをお勧めします。

また、午後問題では最新事例を基にした問題が出題される傾向があります。以下のサイトなどを参考に、最新の脆弱性情報や攻撃事例に対する情報収集も行っておくと良いでしょう。

●「情報セキュリティ10大脅威
●「JPCERT/CC
●「JVN
「安全なウェブサイトの作り方

次回は、多くのセキュリティ関連技術に関わる「暗号」や「認証」について解説します。

NECマネジメントパートナー株式会社 人材開発サービス事業部
2009年日本電気株式会社入社。人材開発事業部門に所属し、Linuxシステム、Webプログラミング、セキュリティの教育を担当。近年では、官公庁や重要インフラ事業者へのCSIRT要員に対して、インシデント対応の演習を展開している。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています