企業や組織が
サイバー攻撃
の脅威からシステムを守るために、リスクを特定し、リスク対応策を作成するには、システムの
脆弱性
を把握するための脆弱性診断を行うことが必要となります。
それでは、一般的にどのような脆弱性診断を行うべきでしょうか?
1.Webアプリケーションの診断
Webアプリケーションは、インターネット上で公開されているため多くの攻撃者から狙われ、セキュリティの
脆弱性
が悪用される可能性が高いです。Webアプリケーションの脆弱性診断によって、
XSS
(クロスサイトスクリプティング)、SQLインジェクション、CSRF(クロスサイトリクエストフォージェリ)などの脆弱性を見つけることが可能なので、それを修正することで、
サイバー攻撃
のリスクを減らすことができます。
2.ネットワークとサーバの診断
ネットワーク内のサーバやデバイスに対してスキャンを行って、接続されているホストや、OS情報、Webサーバの情報などから
脆弱性
を特定します。これによってサイバー攻撃対策として、不要なポートやサービスを閉じたり、セキュリティパッチを適用する必要があるホストを特定することができます。
3.プログラムソースコードの診断
アプリケーションのソースコードを詳細に分析し、セキュリティ上の
脆弱性
を特定します。プログラム作成によって生成されたコードにはバグや
脆弱性
が存在している可能性があるため、攻撃者はこれを悪用してシステムに侵入するケースがあります。このために潜在的な
脆弱性
やセキュリティの問題を特定し、プログラム修正することが必要となります。
4.ペネトレーションテスト
ペネトレーションテスト
は、システムやネットワークに対して攻撃者が利用する手法を想定して、そのシナリオを使って攻撃テストすることで
脆弱性
を特定します。これによって、システムのセキュリティ強靭度を把握したり、攻撃に対する防御策を強化することに役立ちます。
脆弱性診断には、それぞれの目的に応じたツールやサービスの利用が有効です。
スキャンツールを使用した脆弱性診断がシステムに内在している
脆弱性
という欠陥を調べるのに対し、
ペネトレーションテスト
は、攻撃をする側の視点で、過去の攻撃手法を使って脆弱性を狙ってもし攻撃仕掛けてきたとしたらという想定のテストを行うことで、たとえば侵入を許してしまうのか、どんな状況に陥るのかなどを診断できます。
よって、
ペネトレーションテスト
も重要なデータやシステムの保護を確保するために、脆弱性診断の一貫の手法として実施されるべきものです。
脆弱性診断は、ほぼすべての企業や組織にとって必要ですが、多量の顧客データや機密情報を保有している金融機関や大企業などや、医療機関、自治体、Eコマースなどの個人情報を取り扱う企業は、特に実施が必要です。そして、これらの重要な情報を守るために、
脆弱性
対処後の再診断や、定期的な脆弱性診断の実施が重要です。
また、
PCI DSS
などセキュリティに関連する法的要件や、委託先やパートナー企業から要求される場合などに、脆弱性診断が必須となる場合もあります。過去にセキュリティインシデントやデータ漏洩が発生した企業や、新しいシステムやアプリケーションの展開する場合にも、脆弱性診断によって既知の
脆弱性
やセキュリティホールを特定し、修正することが重要です。
脆弱性診断は、企業や組織のセキュリティ強化の一環として行われるべきもので、リスク評価や独自のセキュリティポリシーの策定にも役立ちます。
脆弱性診断には、
ペネトレーションテスト
も重要