こんにちは、Cottiです。
私は業務で脆弱性診断を行っています。
まだまだ駆け出しの脆弱性診断員ですが、
正直に言うと業務として携わるまでは脆弱性診断についてあまり知りませんでした。
脆弱性診断ってなんだか難しそうですよね。
「どんなことを診断するの?」
「なぜ必要なの?」
「名前は聞いたことがあるけど、よくわからないなぁ」
と思っている方も多いのではないでしょうか。
そんな疑問を持っている方に向けて、
この記事では、脆弱性診断についてわかりやすくご紹介したいと思います。
・脆弱性診断に興味がある方
・情報処理やセキュリティの勉強をされている方
etc.
脆弱性診断(セキュリティ診断)とは?
脆弱性診断とは何か
脆弱性とは
そもそも、脆弱性とはなんでしょうか。
脆弱性はセキュリティ上の欠陥や弱点のことです。
脆弱性があると、なぜ危険なのか?
住宅を例に考えてみましょう。

このように、システム(=住宅)に欠陥があると、攻撃者(=泥棒)は脆弱性(=「鍵のかけ忘れ」などのセキュリティ上の弱点・隙)を悪用しようと考えます。
脆弱性があることで、不正アクセス被害やウイルス感染などに遭い
情報資産の漏洩につながってしまうのです。
脆弱性診断とは
脆弱性診断は、システムの各要素を検査し、ネットワークやOS、ミドルウェア、Webアプリケーションなどに脆弱性がないかを診断します。
悪用される恐れのある脆弱性を見つけ出し、その影響を評価することを目的としています。
診断方法には、手動診断や自動(ツール)診断があります。
手動診断と自動(ツール)診断の違いと特徴
手動診断と自動診断の違いは実施者および脆弱性の判断主体は誰か?というところにあります。
手動診断でも補助的にツールの使用はありますが、スキャンの実施者および脆弱性の判断主体は人間です。
自動診断ではツールのスキャン設定等は人間が行いますが、実際のスキャンの実施と脆弱性の判断はツールが自動で行います。
- 手動診断と自動診断の特徴
手動診断はプロの技術者が経験と知識に基づき、検査を行います。
手動診断のメリットは、認証・認可に関する脆弱性などのツールでは見つけることが難しい脆弱性の発見が期待できることです。
特に、ECサイトなどの大量の個人情報を扱うサイトでは、手動診断が必須と言えます。
その一方で、自動診断と比べると、診断結果が出るまでの時間と費用がかかってしまう場合もあります。
自動診断は自動化されたソフトウェアツールを使用して脆弱性を検出します。
ツールによっては、実行速度は異なりますが、ツールで設定されている検査項目を診断するため、
サイトを網羅的に診断することができます。
しかし、自動診断は、万能というわけではなく、誤検知や検知漏れが手動診断と比べて多く、結果に対する精査が必要となります。
また、サイトの仕様によってはうまくツールスキャンできない場合があることがデメリットです。
脆弱性診断の種類
Webアプリケーション診断
Webアプリケーション診断は、主にオンライン上で動作するアプリケーションを対象とした診断です。
この診断では、インターネットを通じてアクセスされるWebアプリケーションのセキュリティリスクを総合的に評価します。
具体的には、SQLインジェクションやクロスサイト・スクリプティング(通称XSS)などの攻撃手法を考慮し、システムの脆弱性の洗い出しを行います。
多くの企業が運用するWebアプリケーションは、外部からのアクセスが多く、悪意のある攻撃者による情報の盗難やシステムの不正操作が懸念されます。
ユーザーの入力が引き起こす問題や不正アクセスのリスクを評価し、セキュリティ上の問題を早期に発見することで、ユーザーとシステムの安全を確保するための対策を講じることが可能です。
プラットフォーム(ネットワーク)診断
プラットフォーム(ネットワーク)診断は、システムを支えるOSやネットワーク機器を対象とした診断です。
この診断では、OSやミドルウェアのバージョン情報、ネットワーク機器の設定などから脆弱性を探します。
インターネットから診断対象をスキャンする場合と内部ネットワークからのスキャンを行う場合があります。
プラットフォーム診断のチェック項目例
- 脆弱性情報が公開されているサーバ、ミドルウェアのバージョンかどうか
- 不要なポートが開いていないか
企業内のネットワークは、外部からの攻撃だけでなく、内部からの攻撃や不正アクセスのリスクもあります。
企業内のネットワークのセキュリティ対策を十分にしておくことは、社内の大事な情報を守るために非常に重要です。
その他の診断
- ソースコード診断
- スマートフォンアプリケーション診断
- クラウド診断
- 組み込み機器診断
などがあります。
脆弱性診断の必要性
なぜ脆弱性診断が必要なのか?
脆弱性診断を実施する場合と実施しない場合に分けて考えてみましょう。
脆弱性診断を実施しない場合
脆弱性診断を実施しないで外部公開してしまった場合、
攻撃者が悪用できる脆弱性が存在している可能性があるため、サイバー攻撃の被害が発生する可能性があります。
サイバー攻撃を受けてしまうと、個人情報の漏洩、Webサイトの改ざん、システムダウンによる機会損失などの被害が想定されます。
これらの被害は、企業の信用の失墜や利益の低減につながってしまいます。

脆弱性診断を実施する場合
脆弱性診断を実施した場合、潜在的な脆弱性を把握することができます。
また、診断結果を踏まえ修正すべき脆弱性の優先度を考慮し、システムの修繕を行うことが可能となります。

脆弱性診断を行うことで、安心・安全なWebサイトを提供でき、企業の信用の保持や機会損失の防止につながります。
脆弱性診断の実施頻度
診断頻度を考慮する上での基準
診断頻度の基準は、診断対象となるWebアプリケーションやサーバの用途によります。
また、業界やサイトで扱う情報の内容によっても実施頻度は異なります。
一般的には、少なくとも年に1回、脆弱性診断の実施が推奨されます。
自社のWebアプリケーションの設定や脆弱性チェックをする場合は、機能追加などの変更が実装された際にも診断を行うことが重要です。
また、ECサイトなど大量の個人情報を扱っている企業にとって、不正アクセスによる情報漏えいはビジネスに致命的な影響を及ぼします。
自社サイトに直接的な被害はなくとも、脆弱性が悪用され、Webサイトを攻撃の踏み台にされる場合もあります。
自社だけでなくサプライチェーン全体のセキュリティまでを考慮し、
このようなリスクに対処するためには、定期的な脆弱性診断の実施が重要です。
また、自社が属する業界において、実施頻度に関する取り決めやガイドライン等がある場合もございますので合わせてご確認ください。
最後に
- 脆弱性診断は情報セキュリティを強化するために重要なプロセス
- システムやアプリケーションに潜む脆弱性を特定し、リスクを評価できる
サイバー攻撃や標的型攻撃の手法は日々進化しています。
さらに、悪意ある攻撃者が簡単なツールやクラウドサービスを利用して脆弱性を悪用した攻撃によってもたらされる被害が急増しています。
今後、日々変化する脅威に対して対応できように、定期的に脆弱性診断を実施して備えることが重要です。
また、長期的に安定したセキュリティを維持するために、定期的な診断の実施が有効です。
SCSKセキュリティの脆弱性診断では、お客様の環境に合わせてカスタマイズされたサービスを提供します。
また、予算についてのご相談も承っており、最適なプランをご提案致します。
SCSKセキュリティの脆弱性診断について気になった方はこちら↓をご参照ください!
scsksecurity.co.jp
【関連記事】
blog.scsksecurity.co.jp