「セキュリティ診断」とは、サイバー攻撃を受ける可能性のあるネットワーク機器のOSなどのシステムを調査し、攻撃の対象となる欠陥があるかどうかを調査することです。
上記のような欠陥を一般的には「脆弱性」と言い、コンピュータのOSやアプリケーションに存在する、不具合や設計ミスによる情報セキュリティにおける欠陥を指します。
通常、脆弱性が発見されるとソフトウェアベンダーから修正プログラムが配布されますが、その間にタイムラグが存在するため、修正プログラムの配布前、もしくは、配布後適用する間に攻撃を受けることも考えられます。
また、脆弱性という欠陥は単なる不具合だけではなく、サイバー攻撃に悪用することができるスクリプトやコマンドを実行できるような、ユーザが意図しない動きを許可してしまうようなものも含みます。
脆弱性の原因と発生し得る被害をまとめると以下のとおりです。
【原因】
・Webサーバに設定ミスがある。
・Webアプリケーションに設計ミスや開発ミスがある。
・サプライチェーン攻撃などによって開発段階に攻撃者によって仕込まれている。
・ベンダーから公開されている脆弱性を放置して、使い続けている。
・情報資産を管理する方法に不備がある。
【被害】
・Webサーバへ不正アクセスを受けたり、Webサイトが改ざんされたりする。
・脆弱性から侵入したウィルスがネットワーク内に感染が拡大する。
・機密情報や顧客情報、社員の個人情報が流出する。
・Webサーバに過負荷をかけられ、サーバがダウンする。
・バックドアと呼ばれる、いつでも侵入可能な出入り口を仕掛けられる。
以上のように情報セキュリティにおける脆弱性は、企業の情報資産にとって大いなる脅威となります。
セキュリティ診断はこうした脆弱性の存在を明らかにすることを目的としており、どこを診断するのかによって以下の2種類に分けることができます。
【Webアプリケーション診断】
ショッピングサイトや会員制サイトなど、データベースと連携しているWebアプリケーションは、標的とされやすいと言われています。そのため、次のような診断が必要です。
・クロスサイトスクリプティング診断
不正な文字列やHTMLタグを入力フォームから送信した際に、エスケープ処理が行われているかどうか確認します。
・SQLインジェクション診断
Webアプリケーションからデータベースにアクセスする際に使用されるSQL文を入力フォームから送信した際に、エスケープ処理が行われているかどうかを確認します。
・セッション管理診断
Webアプリケーションにアクセスできる権限が適切に管理されているかどうかを診断します。
・認証診断
Webアプリケーションにログインする機能に不備がないかどうかを確認します。
・ファイル拡張子診断
Webアプリケーションを構成するファイルの中に不正なファイルが含まれていないかどうか診断します。
・OSコマンドインジェクション診断
Webアプリケーションが搭載されているOSに対して不正なコマンドが実行できないかどうかを診断します。
・ディレクトリトラバーサル診断
Webアプリケーションを構成するディレクトリをさかのぼり、本来閲覧不可能なファイルにアクセスできないかどうかを診断します。
・権限昇格診断
本来ユーザ権限しか持たないユーザが管理者権限を有することができるような脆弱性がないかを診断します。
・パラメータ書き換え診断
入力フォームに任意のパラメータなどを追加し、問題が発生しないかを診断します。
【サーバー・ファイアウォール診断】
主にサーバやルータなどネットワーク機器に対して、外部から実際に攻撃に仕掛けて侵入が可能な不備があるかどうかを徹底的に調査します。
導入当初は安全かつ強固な設定がなされていますが、使用しているOSやミドルウェアなどに脆弱性が発見されたり、実は設定時にミスがあったりするような場合があって、そこを突かれた攻撃を受ける可能性もあります。
診断の対象となるのは主に以下のようなシステム及び機器です。
・Webサーバや、メールサーバ、ファイアウォールなど外部に公開されているシステム
・ファイル共有サーバなどの社内で共有され、外部には非公開のシステム
具体的な診断手順の流れとしては、主に2つの方法があります。
① リモート診断
インターネットを経由してサーバなどに存在すると考えられる脆弱性に実際に攻撃を仕掛け、ファイアウォールやルータなどのアクセス設定が適切に行われているかを確認します。
② オンサイト診断
実際に企業内部ネットワークから診断を行います。内部ネットワークに接続されている機器に脆弱性は存在しないか、また、ファイアウォール等による制限がない状態で外部とのアクセスが許可されていないかどうかを確認します。
こうしたセキュリティ診断は定期的に行うことが重要です。
また、セキュリティ診断には高度な専門知識が必要ですので、自社で行うのではなく、専門家に行ってもらい、その後の対策などのアドバイスを受けることも大切です。