DXが進む現代社会において、セキュリティ対策は範囲を広げ、複雑化し、システム運用に欠かせない要素となっています。
機密情報の漏洩は、金銭的な損失だけでなく企業への信用も墜落しかねません。
だからこそ、セキュリティ上のリスクを洗い出す脆弱性診断(セキュリティ診断)は、とても重要な役割を果たします。
今回はそんな脆弱性診断について、概要やメリット、重要性について解説していきます。ぜひ最後までご覧ください!
脆弱性診断とは、コンピュータシステムやソフトウェア、ネットワークなどの情報システムに存在するセキュリティ上の脆弱性をチェックすることを指します。このチェックで発見された脆弱性については、危険性や緊急性に応じて対策を打っていきます。
セキュリティ上の弱点を特定することは、サイバー攻撃やハッキングなど、システムの安全性やデータの機密性を保守するためにとても重要です。また、近年はクラウド化により、インターネットを介して機密情報を扱う機会が増えているため、より脆弱性診断の重要性が増しています。
企業において機密情報や個人情報の保護は、顧客や取引先との信頼構築、そして会社の存続において非常に重要です。しかし、企業による情報漏洩・流出がたびたび起きているのが現状です。
ミュンヘンの保険会社が行った2022年の調査結果によると、2021年の全世界でのサイバー攻撃による経済損失額は6兆円ののぼると言われており、この額は今後も増大すると予想されています。
個人に焦点を当てると、2021年時点で日本人7人に1人がサイバー被害に遭っており、その被害額は320億円というデータも出ています。(出典:ノートン サイバーセーフティレポート2022[1])
そのため、日本では総務省のホームページにサイバーセキュリティについてのページ[2]が用意されているほどです。
また、近年ではランサムウェア(英語で身代金を意味するランサムとソフトウェアを繋げた造語)という、パソコンやデータを人質として多額の身代金を要求する犯罪が横行しています。
システムを止めたりデータを流出させると脅し、個人情報の入力や金品の要求をするという手口で、日本でもランサムウェアの被害にあった企業のうち32%が身代金を支払っているというデータもあります。(出典:経済産業省サイバーセキュリティ課|最近のサイバー攻撃の状況を踏まえた経営者への注意喚起[3])
他にも、米連邦捜査局(FBI)によるサイバー犯罪被害を集計した「Internet Crime Report 2022」という報告によると、2022年の米国内サイバー犯罪被害額は103億ドルで、前年の69億ドルを大きく上回りました。被害要因は、過去7年間ビジネスメール詐欺が1位であったのに対し、2022年は投資詐欺が1位になりました。
このようにサイバー攻撃は手段や形を変えてどんどん進化しているため、サービス提供側はセキュリティの脅威について十分に理解する必要があります。そうすると必然的に脆弱性診断の重要性も見えてくるかと思います。
脆弱性を放置すると、以下のような深刻なリスクが発生する可能性があります。以下で、脆弱性診断を行うメリットも踏まえて紹介します。
・サイバー攻撃
脆弱性の放置=侵入を企む悪意ある攻撃者の入り込む隙を与えていると解釈もできます。悪意ある人がシステムにアクセス成功すると、システムの乗っ取りやなりすまし、個人情報や企業の機密情報の漏洩・流出、システムダウンなど、様々な方面に大きな影響を与えてしまう可能性があります。脆弱性診断を行うことで、セキュリティの甘い部分を発見しあらかじめ対処できる=侵入の隙間を塞げるため、サイバー攻撃の予防になります。
・ウイルス感染する
脆弱性を持つシステムやアプリケーションは、攻撃者によってウイルスやマルウェアで感染させられる可能性が高まります。このウイルス感染は、コンピュータやネットワーク全体に被害を及ぼし、データの破壊や不正な動きを引き起こす可能性あります。また、攻撃を受けたシステムを運営している会社だけではなく、第三者であるお客様へ被害が広がってしまう可能性もあるため、サイバー攻撃同様、脆弱性診断によりセキュリティが弱い部分を補強することで、予防することができます。
・金銭的な損失
脆弱性を持つシステムは、金銭を目的とした犯罪の標的にされることがあり、個人情報の盗難、クレジットカード情報の不正利用、なりすましの金銭要求など、金銭絡みの悪質な犯罪に発展するケースも増えています。このようなことが起きてしまうと。会社の信頼欠如や存続危機や大損失にも関わります。ただ、このような犯罪も脆弱性を放置した結果の1つであるため、脆弱性診断を実施することで、システム内の潜在的な弱点を特定し、攻撃からの被害を事前に防ぐための修正を行えます。
このように、定期的な脆弱性診断と、発見された脆弱性箇所の対策は、情報資産を守るために必要不可欠です。
脆弱性と一言に言っても種類がいくつかあり、クロスサイトスクリプティング(不正なコードを仕込み、ユーザーに実行させる攻撃)、SQLインジェクション(データを盗む攻撃手法)、なりすまし、システム停止、情報漏えい、データ改ざん、サイト改ざん、不正アクセスなどがあります。このような脆弱性の有無を確認する診断としては、以下の2種類があります。
・プラットフォーム診断
プラットフォーム診断は、ネットワーク機器、OS、サーバ、ミドルウェアなどを対象に行われる診断です。プラットフォーム診断の目的は、ネットワーク機器やサーバーに存在するセキュリティ上の問題や脆弱性を特定し、全体のセキュリティを向上させることです。特に新しいWebサービスをリリースする企業や、前回の脆弱性診断から時間が経過した場合に重要です。
・Webアプリケーション診断
アプリケーション診断は、企業が開発したWebアプリケーションを対象に行う診断です。Webアプリケーション診断の目的は、対象のWebアプリケーションに内在するセキュリティの脆弱性を特定し、それらを修正してセキュリティを向上させることです。多様な機能とプログラミング言語に対応する柔軟な診断が必要です。
また、脆弱性診断について関連して、「ペネストレーションテスト」というワードも頻出します。これは、明確の意図のある攻撃者が攻撃を仕掛けた場合、それが成功してしまうかどうかを、擬似攻撃によって、脆弱性の特定や、セキュリティ耐性があるのかを確認する手法です。
セキュリティ攻撃は様々なパターンが誕生し、複雑化しています。ここでは、それらの診断方法を紹介していきます。
【手動診断】
手動診断は、経験と専門性を持つ技術者により、セキュリティの観点からシステムやアプリケーションを評価し、潜在的な脅威や脆弱性を手動で細かい部分まで特定する方法です。人間の経験や洞察力に基づくため、ツール診断ではカバーできない複雑で精緻な診断が可能です。
〈メリット〉
・専門技術を持つ人が診断を行うため、新たな攻撃手法や複雑な脅威に対処することが可能。
・検査項目が多岐に渡り、機械では見落としがちな部分も含めて、細かな検査を実現。
・自動化ツールでは検出しづらい複雑な脆弱性を特定するのに適している。
〈デメリット〉
・システムが動作している必要がある。
・手動で行うため、日数と時間がかかる。
【ツール診断】
セキュリティベンダーが開発した、自動化されたセキュリティスキャンツールやソフトウェアを使用して、各機能の脆弱性を検出する方法です。このアプローチは、大規模なアプリケーションやネットワークに対して一貫性のある診断を提供し、短期間で多くの脆弱性を特定するのに適しています。
〈メリット〉
・自動化により、短期間で導入から大量かつ迅速なスキャンが可能。これにより多くの脆弱性を効率的に特定することを実現。
・一般的な脆弱性データベースを使用して、定期的に脆弱性を検出するため、最新のセキュリティアップデートが適用されていないシステムの問題の特定も可能。
・費用が手頃なことが多い。
〈デメリット〉
・複雑な構成やカスタムアプリケーションに対処できないことがある。
・表面的な脆弱性の特定には適しているが、細部の診断やビジネスロジックに基づく脆弱性の特定が難しいことがある。
ここでは、プラットフォーム診断とWebアプリケーション診断の一般的な脆弱性診断項目を紹介します。
【プラットフォームの診断項目】
・ポートスキャン
ポートスキャンは、コンピュータネットワーク上のコンピュータやネットワークデバイスに対して、どのポート(通信の出入り口)が開いているかを調べるプロセスです。サーバ上で実行されているサービスとそのポートを確認し、不審で不要なサービスを無効化します。
・セキュリティホールのチェック
既知のセキュリティホールが存在するかどうかを確認し、それらを修正します。
・アカウント情報の取得難易度
アカウント情報を簡単に入手できたり推測可能なアカウントが設定されていないかを調査します。
・設定の確認
サービスに誤った設定がされていないか、アクセスが適切に制御されているかを確認します。
【Webアプリケーションの診断項目】
・認証とアクセス制御
ウェブアプリケーションの認証はユーザーが正当な権限を持っているかどうかを確認するプロセスで、アクセス制御は認証されたユーザーがどのデータや機能にアクセスできるかを制御します。脆弱性診断により、不適切な認証、アクセス制御、不正アクセスのリスクがあるかどうかを確認します。
・SQLインジェクション
SQLインジェクションとは、ユーザーが検索フィールドに不正なSQLコードを挿入して、データベースから機密情報を抽出しようとする試みです。これを阻止するために、脆弱性診断はユーザー入力を適切に検証し、SQLインジェクション攻撃から保護されているか確認します。
・クロスサイトスクリプティング(XSS)
クロスサイトスクリプティングとは、攻撃者が悪意のあるスクリプトをWebページに埋め込み、そのページを閲覧した不特定多数のユーザーに実行させる攻撃手法で、これにより攻撃者はユーザーの情報を盗んだり不正操作を実行させたりできます。脆弱性診断により、攻撃のリスクを特定し、保護されているか確認します。
・クロスサイトリクエストフォージェリ(CSRF)
クロスサイトリクエストフォージェリとは、攻撃者がユーザーに意図しない操作を実行させる攻撃手法です。ユーザーがURLにアクセスしてしまい、意図しないリクエストを特定のページに送ってしまいます。これを実行させないための対策を評価します。
・セッションハイジャック
攻撃者がとあるユーザーのIDを盗み、乗っ取る攻撃手法です。脆弱性診断により、不正に取得し侵入されるリスクを評価します。
ここまで、脆弱性診断についてその概要やメリット、実際の診断内容について解説してきました。
情報システムに存在するセキュリティ上の脆弱性を発見する脆弱性診断は、人の手で行う手法と自動化された診断ツールが行う手法があり、診断箇所や項目も多岐に渡ります。
少し手間がかる印象がありますが、この脆弱性を放置していると、企業が悪意ある攻撃者からの攻撃を防ぐことができず、システムダウンや企業の機密情報や個人情報等の情報漏洩、それによって金銭的損出や信頼失墜する可能性もあります。だからこそ、安心したシステム運用のためにも、脆弱性診断は企業のシステム運用において必須項目と言えるでしょう。
JIITAKでは、サイバーセキュリティエンジニアがセキュリティテストを実施し、データの暗号化、セッション管理、API、認証、外部ライブラリの使用、アクセス制御など各レベルで検証・改善を行うサービスを提供しています。新規開発だけでなく、既存サービスのリニューアルや保守・運用も行っておりますので、お困りごとのある方はぜひ一度JIITAKまでご相談ください!