ネットワークセキュリティ対策

2019年6月3日作成,2021年9月1日更新

マルウェア

マルウェアとは、有害なプログラムの総称であり、様々な種類のマルウェアが存在している。

コンピュータウイルス

狭い意味では,自己伝染機能,潜伏機能,発病機能がある悪意のあるソフトウェア。マルウェア一般の総称として用いられることもある。

ワーム

独立したプログラムで,自身を複製して他のシステムに拡散する性質をもったマルウェア。感染するときに,宿主となるファイルを必要としないことが特徴。

ボット

インターネット上で動く自動化されたソフトウェア全般を指す。マルフェアとは限らない。不正目的のボットがボットネットとして協調して活動し,様々な攻撃を行う。例えば,離れたところから遠隔操作を行うことができる遠隔操作ウイルスはボットに該当する。

ハーダーといわれる攻撃者からの指示に従って動作し、あらゆる攻撃に利用される危険性がある。例えば、企業などで社内外の境界においてセキュリティ対策を行っていたとしても、社内のコンピュータが1台でもボットに感染すると、そのコンピュータを踏み台にして社内に攻撃が行われるおそれがある。

コンピュータウイルスの感染形態

拡張子が EXE や COM などの実行型ファイルの一部を書き換えて感染する形態は、ファイル感染型といわれる。

ハードディスクなどの起動時に使用されるシステム領域を感染対象とし、感染ディスクからコンピュータが起動されると感染する形態は、ブートセクタ感染型といわれる。

Word や Excel などの文書に備わっている簡易プログラムに感染し、感染した簡易プログラムが実行されると他の文書やテンプレートに感染する形態は、マクロ感染型といわれる。

マルウェア対策技術

マルウェアの脅威からコンピュータを守るため、一般に、ウイルス対策ソフトウェアが用いられる。ウイルス対策ソフトウェアがマルウェアを検知する手法の一つにヒューリスティック方式がある。これは、マルウェアが引き起こす特徴的な動作を検知するもので、一般に、未知のマルウェアを検知できる可能性がある反面、誤検知率が高いという欠点があるとされている。

感染防止

マルウェアの対策では,次の 3 つを確実にすべてのコンピュータで行うことが重要である。マルウェアの感染は,ほぼこの 3 つが正しく行われていないコンピュータで起こる。

  1. ウイルス対策ソフトの導入
  2. ウイルス定義ファイルの更新
  3. ソフトウェア脆弱性の修正

リムーバブルメディアを介したコンピュータウイルスの感染

リムーバブルメディアを介したコンピュータウイルスの感染を防ぐ方法の一つとして、パーソナルコンピュータのオートラン機能を無効にする方法がある。

検出

マルウェアを検出するための手法には,次のものがある。

パターンマッチング

パターンマッチング方式は、既知のウイルスのパターンが登録されているウイルス定義ファイルと、検査の対象となるメモリやファイルなどを比較してウイルスを検出することが可能である。

ウイルス定義ファイル(パターンファイル)と呼ばれるファイルと比較することでウイルスを検出する。主流となっている手法で,既知のマルウェアのパターンを効率的に検出できる。ウイルスの元ファイルではなく,そのハッシュ値などを利用して簡便にチェックすることが一般的である。

ビヘイビア法

ウイルスと疑われる異常な挙動(ふるまい)を検出する方法である。既知のマルウェア以外に,不審な挙動をする未知のマルウェアを検出できる。

コンペア法

安全な場所に保管しておいた原本と比較し,ウイルス感染を検出する方法である。ハッシュ値やファイル容量などで簡便に変更をチェックするコンペア法を,特にチェックサム法ということもある。

駆除

マルウェアを検知したときは,ウイルス対策ソフトの事業者が対策を発表している既知のマルウェアであれば,その対応手順に従って対処する。未知のマルウェアであれば,契約している情報セキュリティ事業者に報告するなどして対処を依頼する。

依頼を受けた事業者は,マルウェアの検体(マルウェアだと推定されるソフトウェア)について,逆アセンブル(ソフトウェアからプログラムを復元すること)などの手法で新種ウイルスの動作を解明する。

不正アクセス

不正アクセスとは,不正アクセス禁止法に定義された不正アクセス行為や不正アクセスを助長する行為のことである。

システムを利用する者が、その者に与えられた権限によって許された行為以外の行為をネットワークを介して意図的に行う行為は、一般に、不正アクセスといわれ、不正アクセスによるサーバへの攻撃に不正侵入がある。

侵入行為は、一般に、事前調査、権限取得、不正行為の実行、後処理の段階を経て行われるといわれている。このうち、事前調査によるシステム情報の収集では、不正アクセスの対象とするサーバの TCP ポート番号に対して順番にパケットを送信し、その応答パケットから、稼動しているサービスを調査するポートスキャンなどが行われる。次に、解読ツールなどを使用して、パスワードを強引に解読するパスワードクラッキングが行われる。パスワードクラッキングの手法としては、一致する文字列を総当たり的に調べるブルートフォース攻撃などがある。パスワードクラッキングにより、権限取得に成功した後、改ざん、破壊、不正プログラムの埋め込みなどの不正行為が実行される。不正行為が行われた後には、ログの消去などにより、侵入の形跡を消す証拠隠滅工作が行われる。

また、次回以降の不正侵入が容易に行えるように、設定の変更や、プログラムのインストールが行われて、侵入しやすくするために仕掛けられた侵入経路は、バックドアといわれる。

アタック

OS やアプリケーションの脆弱性(セキュリティホール)を利用して,コンピュータに侵入したり,バックドアを利用して侵入したりすることなどである。

例えば,CGI といわれる仕組みに従って作成された Web アプリケーションにセキュリティホールがあると、サーバ上のファイルを読まれる、悪意のあるプログラムを実行されるなどの被害を受けることがある。

CGI (Common Gateway Interface)
クライアント側の Web ブラウザの要求に応じて Web サーバが外部プログラムを呼び出して,その実行結果が HTTP を介してクライアントの Web ブラウザに送信される仕組みのことである。

DoS 攻撃

DoS 攻撃(Denial of Service attack : サービス不能攻撃)は,サーバなどのネットワーク機器に大量のパケットを送るなどしてサービスの提供を不能にする攻撃である。踏み台と呼ばれる複数のコンピュータから一斉に攻撃を行う DDoS 攻撃(Distributed DoS attack)もある。

ポートスキャン

ポートスキャンは、サーバとの通信が トランスポート 層プロトコルである TCP や UDP を用いて行われていることを利用しており、各ポートに対して開いているかどうかを調べていくことにより、対象サーバが提供しているサービスを特定することができる。

ポートスキャンには様々な手法がある。このうち、 TCP 接続 スキャンは標的ポートに対して完全なスリーウェイハンドシェイクを行うため、対象サーバのログに残る可能性は高い。一方、TCP SYN スキャンはスリーウェイハンドシェイクの処理を途中で中断しコネクション確立を行わないため、対象サーバのログに残りにくい。

ポートスキャンにより提供サービスが攻撃者に知られてしまうと、攻撃を仕掛けられるおそれがあるため、不要なサービスは停止し、ポートを閉じるなどの対策を講じておくことが望ましい。

アドレス・スキャン

公開サーバの IP アドレスや組織内のホストの IP アドレスを探り出す行為は,一般に,アドレス・スキャンといわれる。

IP スピーフィング

IP スプーフィング(IP Spoofing)とは,攻撃元を特定させないため IP アドレスを詐称することにより,その IP アドレス保持者になりすまし,ハッキングなどを行う行為のこと。Spoof とは「だます」という意味で,IP スピーフィングは「IP をだます」という意味になる。

スニッフィング

ネットワーク上を流れるパケットには盗聴のリスクがある。攻撃者がパケットを盗聴する目的の一つは,パスワード,個人情報など攻撃者にとって有益な情報を取得することであり,この行為はスニッフィングといわれる。スニッフィング対策には,ワンタイムパスワードを利用し認証を行うごとに毎回異なるパスワードとする,セッションを暗号化するなどの方法がある。

NAPT

NAPT(Network Address and Port Translation)とは,プライベートアドレスをグローバルアドレスに変換する際に,ポート番号も変換することにより,1 つのグローバルアドレスに対して,複数のプライベートアドレスを割り当てる技術のこと。

バナーチェック

サーバ上で稼働しているアプリケーションに対して,具体的なソフトウェアやそのバージョンを探り出す行為は,一般に,バナーチェック(banner check)といわれる。コンピュータに外部から侵入可能な保安上の弱点(脆弱性)がないか調べる手法の一つで、コンピュータ上で動作しているソフトウェアへ外部からメッセージを送り、それへの応答を取得してソフトウェアの種類やバージョンなどを調べる。

ルートキット(rootkit)

ルートキットとは攻撃者が自らの攻撃をしやすくするように使用されているソフトウェアの集合体であり,主に自らを含むソフトウェアの動作やデータを隠ぺいすることに用いられる。ルートキットという言葉自体は特定のマルウェアを指しているのではなく,攻撃者による行為を支援するために作られたツールの総称を指す。

ブルートフォース攻撃(総当たり攻撃)

ブルートフォース攻撃(Brute Force Attack)とは,適当な文字列を組み合わせて力任せにログインの試行を繰り返す攻撃のことである。文字列が長い場合や文字の種類が多い場合には長時間を要するか又は高速処理が可能なコンピュータが必要となる。

辞書攻撃

辞書攻撃(Directionary Attack)とは,パスワードの割り出しや暗号の解読に使われる攻撃手法で,辞書にある単語を使う方法のことである。

迷惑メール

迷惑メールには,商品やサービス,Web サイトの宣伝などの広告宣伝を目的とするもの,金銭をだまし取ろうとする詐欺目的のもの,法外なサイト利用料を要求するもの,ウイルス感染を目的とするものなどがある。

クロスサイトスクリプティング攻撃

悪意あるサイトが、脆弱性を持っているサイトを利用して、クライアントが意図しないスクリプトをブラウザ上で動作させることによって行われる攻撃は、クロスサイトスクリプティング(XSS : cross site scripting)攻撃といわれる。

不正アクセス対策技術

ファイアウォール

インターネットにおいて、機密性完全性及び可用性を妨げる主な行為としては、盗聴、改ざん、なりすまし、システムやデータの破壊などがある。これらの不正行為への代表的な対策技術には、暗号、認証、ファイアウォールなどがある。

ファイアウォール(FW)とは,ネットワーク間に設置され,パケットを中継するか遮断するかを判断し,必要な通信のみを通過させる機能をもつものである。判断の基準となるのは,あらかじめ設定された ACL(Access Control List : アクセス制御リスト)である。

ファイアウォールの方式には主に,IP アドレスとポート番号を基にアクセス制御を行うパケットフィルタリング型と,HTTP,SMTP などのアプリケーションプログラムごとに細かく中継可否を設定できるアプリケーションゲートウェイ型の 2 種類がある。

ファイアウォールは、組織の内部ネットワークとインターネットの間で許可する通信と禁止する通信を管理するものであり、一般に、パケットフィルタリング型とアプリケーションゲートウェイ型に大別される。このうち、アプリケーションゲートウェイ型は、パケットのペイロード部分をチェックし、アクセスの許可又は不許可を判別することが可能である。

ファイアウォールで実現可能な機能としては、一般に、アクセス制御、通信にかかわるログの取得などがある。また、ファイアウォールの付加機能として、コンテンツフィルタリング機能、NAT 機能、VPN 機能などがある。コンテンツフィルタリング機能は、不適切な Web サイトの閲覧を制限する手法として用いられることが多い。

フィルタリング

フィルタリング(filtering)とは,インターネット上のウェブページなどを一定の基準で評価判別し,選択的に排除する機能のこと。

ISP が提供するフィルタリングサービスには,迷惑メールと判定されたメールを受信者に配信しないで ISP のサーバに保留するものがある。

パケットフィルタリング機能

パケットフィルタリング機能では、一般に、IP パケットのヘッダに記録されている IP アドレスやポート番号などの情報を基に、通信の許可又は不許可を判断している。

侵入検知システム IDS

IDS(Intrusion Detection System : 侵入検知システム)は,ネットワークやホストをリアルタイムで監視し,侵入や攻撃など不正なアクセスを検知したら管理者に通知するシステムである。

侵入防止システム IPS

IDS は侵入を検知するだけで防御はできないので,防御も行えるシステムとして用意されたのが,IPS(Intrusion Prevention System : 侵入防止システム)である。

IDS に比べて安全性は高まるが,処理が遅くなるという欠点がある。

ISP による迷惑メール対策

ISP による迷惑メール対策として,ISP があらかじめ用意しているメールサーバ以外からのメールを ISP の外へ送信しない仕組みである OP25B がある。

OP25B (Outbound Port 25 Blocking)
迷惑メールの送信に自社のネットワークを使われないようにする対策である。直接,25 番ポートで SMTP 通信を行うことを防止する。

サーバの要塞化

サーバの要塞化の目的は、一般に、脆弱な部分や脆弱になるおそれのある部分を減らす又はぜいなくすことにより、セキュリティリスクを小さくすることとされている。

デフォルトの設定で OS をインストールすると、各種のサービスが稼働することがあるため、用途に応じてサービスの停止/無効化の設定を行うのが要塞化の第一歩となる。また、セキュリティパッチを随時適用することも、要塞化にとって極めて重要な作業となる。OS やアプリケーションの脆弱性は日々発見されており、脆弱性を狙う攻撃の手法やウイルスが増えている。そのほとんどは、セキュリティパッチを正しく適用していれば防ぐことが可能である。また、ユーザの階層などに応じて適切なアクセス権を設定することも重要である。アクセス権の設定により、不正な行為や人的ミスの発生などを軽減できる。

OS やアプリケーションをインストールすると、サンプルプログラムも一緒にインストールされることがある。サンプルプログラムの中には脆弱性が存在するものもあるため、攻撃の対象となってしまうおそれがある。このため、不要なファイルやプログラムは、削除するかユーザがアクセスできない場所に移動しておくことが望ましい。

また、ログの分析は、OS やアプリケーションの設定ミス、アクセス権の設定ミス、アプリケーションに対する攻撃などを発見するのに効果が見込めることから、サーバの要塞化として有効な方法である。

検疫ネットワークとシンクライアント

社内ネットワークへのウイルスの侵入や社内ユーザが扱う電子データの情報漏えいなどを防ぐ対策として、検疫ネットワークとシンクライアントなどが有効とされている。

このうち、検疫ネットワークは、外部から持ち込まれたパーソナルコンピュータ(PC)が社内 LAN に接続されることによって、社内 LAN に被害を与えることを食い止めるための仕組みである。

検疫ネットワークを実現する方式のうち、DHCP サーバ方式では、ネットワークに接続された PC に対し、始めに検疫ネットワーク接続用の仮の IP アドレスを付与し、次に検査に合格した PC に対し、社内 LAN に接続できる IP アドレスを払い出す。また、パーソナルファイアウォール方式では、あらかじめ PC に検疫用のソフトウェアをインストールしておき、PC を集中管理するポリシーサーバから配信されたポリシーに従ってネットワークへのアクセス制御を行う。

シンクライアントは、OS やアプリケーションをネットワーク側のサーバで集中管理するシステムである。シンクライアントを実現する方式のうち、画面転送方式では、OS とアプリケーションをサーバで実行し、クライアント PC とはキーボードやマウスの入力情報と画面の出力情報を送受する。また、ネットワークブート方式では、サーバにクライアント PC のディスクイメージを置いておき、PC 起動時にネットワーク経由でディスクイメージをダウンロードし、アプリケーションの処理を PC で行う。

Web アプリケーションのセキュリティ

クライアント側で動作する Web アプリケーションは、Web ブラウザと Web サーバが緩く結合されたクライアント・サーバ構成で実行され、一般に、サーバから供給される HTML、XML などの記述に基づいて Web ブラウザが結果を表示する。また、Web ブラウザと Web サーバの間の通信はプロキシサーバなどのキャッシュ機能を持つ設備によって中継されることがある。

Web アプリケーションには幾つかの情報セキュリティ問題が生ずることがあり、一般に、情報暴露に関する問題、エコーバックに関する問題、入力に関する問題、セッションに関する問題、アクセス制御に関する問題などに分類される。

Web アプリケーションが取り込むデータには、攻撃を意図した内容が含まれているおそれがあり、これは入力に関する問題に分類される。取り込むデータのチェックが不十分だと、OS コマンドインジェクションといわれる、OS に対する命令を紛れ込ませて不正に操作する攻撃や、SQL インジェクションといわれる、データベースを改ざんしたり不正に情報を入手したりする攻撃を許してしまうことがある。

また、Web アプリケーションがセッションを維持する仕組みは必ずしも堅固なものではないため、セッションハイジャックのおそれがあり、これはセッションに関する問題に分類される。

SQL インジェクション
SQL インジェクションは,不正な SQL を投入することで,通常はアクセスできないデータにアクセスしたり更新したりする攻撃である。SQL インジェクションでは,「'」(シングルクォーテーション)などの制御文字をうまく組み入れることによって,意図しない操作を実行できる。対策としては,制御文字を置き換えるエスケープ処理や,事前に SQL 分を組み込んでおくバインド機構などが有効である。

セキュリティホール対策技術

情報システムに脆弱性があるとそれが弱点となって外部からの攻撃を受けることがある。脆弱性の元となるプログラムの欠陥などはセキュリティホールともいわれる。

脆弱性を狙った攻撃には,バッファオーバーフロー攻撃,SQL インジェクション攻撃などがある。バッファオーバーフロー攻撃を受けると,入力されたデータを一時的に蓄えておく領域にあらかじめ用意した大きさ以上のデータが送り込まれることにより,プログラムが停止したり,誤動作したりするおそれがある。SQL インジェクション攻撃を受けるとデータベース内のレコードに含まれる情報が改ざん・消去される,情報が漏洩するなどの被害が生ずるおそれがある。

バッファオーバフロー攻撃
バッファオーバフロー攻撃(BOF)攻撃は,バッファ(プログラムが一時的な情報を記憶しておくメモリ領域)の長さを超えるデータを送り込むことによって,バッファの後ろにある領域を破壊して動作不能にし,プログラムを上書きする攻撃である。対策としては,入力文字列長をチェックする方法が一般的である。また,C 言語や C++ 言語など特定のプログラム言語でプログラムを作成したときに起こる攻撃なので,そのような言語を使わないという対策もある。

脆弱性管理

脆弱性(セキュリティホール)は,OS やアプリケーションにおいて随時発見され,修正プログラムを配布するなどの対策が施されている。そのため,企業などの組織では使用している OS やアプリケーションに脆弱性が発見された場合に速やかに対処するための脆弱性管理の仕組みを作っておくことが必要である。

具体的には,IPA 独立行政法人 情報処理推進機構 セキュリティセンターなどで発表される脆弱性情報を日々チェックし,必要な場合には OS のアップデート脆弱性修正プログラムの適用を行う。

セキュリティパッチ

セキュリティパッチとは,プログラムに脆弱性やセキュリティホールなどが発見された際に,それらの問題を修正するためのプログラムのことである。

ソーシャルエンジニアリング対策

ソーシャルエンジニアリングとは,人間の心理,社会的な性質につけ込んで秘密情報を入手する手法のことである。コンピュータを操作している様子を後ろから肩越しに見てパスワードなどの情報を盗み見るショルダハッキングや,ゴミ箱をあさってパスワードの紙を見つけるスキャベンジングなどの手法がある。

本稿の参考文献

inserted by FC2 system