(Aさん)システム部の偉い安全太郎部長に、いま開発中のシステムの贅肉性診断を外部にちゃんと依頼したか確認されたんだけど、
私は何をすればいいのかわからないの!!
ねぇねぇ肉子は、太郎部長の意図していることわかったりする??
(肉子)BMI値69の私に、何てこと聞くのよ!
本当に失礼ねーぇ
(肉子)よくよく考えて!安全太郎部長が、贅肉診断をしろと私たちのことを真剣に気にするなんておかしくない??
贅肉診断じゃなくて、開発中のシステムについてだったら、脆弱性診断のことをいってるんじゃなくて??
(A子)あ!なるほど!
私ったらトン(豚)だ勘違い!
「社内やクライアント様から脆弱性診断を実施してほしいと頼まれたが、どうすればいいかわからない…」インターネットが社会インフラとして重要になればなるほど、自社ネットワークやWebアプリケーションのセキュリティレベルを高く維持しなければ攻撃から守ることができません。脆弱性診断はシステム開発において様々なセキュリティリスクから守るために欠かせない診断です。今回は脆弱性診断でよくあるお悩みについて解説していきます。
脆弱性診断とは
脆弱性診断とは、ネットワークやWebアプリケーションなどのシステムに関する脆弱性の有無を検査するものです。脆弱性とは、システムに生じるバグやセキュリティ上の欠陥を指します。脆弱性診断を実施し、ネットワーク・Webアプリケーションのセキュリティ確認によって、情報漏洩などのリスクを防ぐことができます。脆弱性診断は、ウイルス対策の実施、OSやアプリケーションのバージョンアップなどの基本的な対策の次に必要とされる対策であり、比較的安価かつ短期間での実施ができる費用対効果の高いセキュリティ対策です。
脆弱性診断は診断領域に応じて以下の4つに分類されます。
- webアプリケーション診断
- スマートフォンアプリケーション診断
- ネットワークスキャン診断
- ソースコード診断
脆弱性診断がなぜ必要なのか
脆弱性は、Webアプリケーションの開発や運営に伴う身近な問題であり、放置すると情報漏洩やウイルス感染などさまざま様々なリスクを引き起こします。個人情報が漏洩した場合、補償や顧客への対応などに加えて社会・経済面からの制裁によって企業の存続に大きな影響をもたらす危険性をはらんでいます。だからこそ自社による対策だけでは発見できない脆弱性を専門家の診断によって洗い出し対策まで講じる必要があります。
脆弱性診断を実施することで、以下のメリットを享受できます。
1 | セキュリティリスクの特定 | システムやネットワーク上の脆弱性が特定されることにより、 企業はセキュリティリスクを特定し、対応することができます。 |
2 | セキュリティ対策の改善 | 特定されたリスクに対し、適切な対策を講じることができます。 これにより、企業のセキュリティレベルが向上し、 セキュリティインシデントを未然に防ぐことができます。 |
3 | 法的リスクの軽減 | 脆弱性診断が法的要件となっている業界が一部あり、 その要件クリアにつなげることができます。 |
4 | 顧客からの信頼度向上 | 顧客はセキュリティに関する問題がある企業には信頼を置きにくい傾向があります。 脆弱性診断を行うことにより、顧客からの信頼度を向上させることができます。 |
5 | コスト削減 | 早期に問題を特定し、対策を講じることができるため、 セキュリティインシデントによるコストを削減することにつながります。 |
システムバグやセキュリティ上の欠陥が発生する4つの原因
システムバグやセキュリティ上の欠陥が発生する原因は以下の4つが挙げられます。
1つ目はコーディングや各種設定などの人為的なミスです。既に公表された攻撃の対策を施したコーディングを行わないと脆弱性が発生します。
2つ目は上流工程の設計ミスです。システム構築などにおける上流の設計でミスが起こると下流工程では修正困難となるため上流工程の設計時点から脆弱性対策の検討が重要となります。
3つ目はWebサイトやシステムが動作する土台となるOSやミドルウェアの欠陥です。この場合、OSやミドルウェアの修正プログラムを早急に適用する必要があります。
4つ目は今までになかった新しい攻撃手法の発見です。設計当時は問題なかった箇所が新たに脆弱性として表面化した場合、修正プログラムの適用やシステムの改修などを行う必要があります。
脆弱性による3つの大きなリスク
脆弱性を放置するとさまざまなリスクが生じる可能性があります。
1つ目はネットワークへの侵入です。サイバー攻撃者が脆弱性を悪用するプログラムを組み込んだ添付ファイルを送信するケースが頻発しています。添付ファイルを開くと悪性プログラムが実行され、内部ネットワークに侵入されます。
2つ目は公開しているウェブサイト上でのデータ盗難です。ウェブサイトにSQLインジェクションという脆弱性があると、入力フォームへの不正な文字列の挿入によって、データベースに不正アクセスされ情報が盗まれます。
3つ目はマルウェア感染です。マルウェアとは、有害な動作を行う目的で作られた悪質なソフトウェアやコードを指します。マルウェアの感染によって、パソコンが起動できなくなったりシステムの動作にトラブルが生じたりします。
お悩み①どうやって実施するのか?
脆弱性診断は、ネットワーク、OS、アプリケーションのように分けて行うことが一般的です。Webアプリケーション診断の場合、攻撃者の視点から脆弱性を想定し、疑似攻撃などを織り交ぜることで安全性を調査し、サイバー攻撃のリスクを最小化できます。
具体的には、次のような項目をチェックします。
- 各種インジェクション系攻撃に対する脆弱性の有無 ※1
- 不適切な認証に利用される脆弱性の有無
- 不適切なアクセス制御の有無
- 機密情報の暴露の有無
- セキュリティ設定ミスの有無
- クロスサイトスクリプティングに対する脆弱性の有無 ※2
- 既知の脆弱性を持つミドルウェアの検出
- 不十分なログの有無
※1 文字入力を受け付けるプログラムに対して攻撃者がデータベースに指示を出すための言語を送って想定外の動きをさせたり、システムを抜き取ったりする攻撃への診断。
※2 HTMLに悪質なスクリプトを埋め込む攻撃への診断。
しかし、脆弱性診断はセキュリティ知識や診断経験が少ない企業状態では十分なセキュリティ対策を行えない可能性があります。GENZでは、専門のエンジニアを必要なときに必要な計画とリソースを使った診断実施で行う体制が整っているため、様々な案件に柔軟に対応可能です。GENZのノウハウが詰まった脆弱性診断に関するサービス資料や報告書サンプルが以下からダウンロードできます。ぜひ参考にしてください!
脆弱性診断サービス資料 はこちらから
脆弱性診断[Web診断]報告書サンプル はこちらから
脆弱性診断[ネットワーク診断]報告書サンプル はこちらから
Web診断における対象カテゴリ一覧 はこちらから
お悩み②費用はどれぐらいかかるのか?
脆弱性診断は、ツールを用いて自動で診断するツール診断と、技術者が直接診断する手動診断に分類できます。ツール診断は、いつでもすぐに効率よく診断できる一方で、診断前の状況設定や業務の流れの設定などの手間や、脆弱性の見逃し、誤検出が発生する恐れもあります。手動診断はインターネットを通じた疑似攻撃や技術者の訪問により診断します。専門家の経験、判断、あらゆる攻撃を想定する工程設定や想像力によって、ツールよりも高い脆弱性の検出精度を実現できます。
Webアプリケーション診断では、多くの場合HTTPリクエストのリクエスト数をもとに、「Webサイト等のドメイン数×単価」で計算されます。
具体的な費用や見積りなどのご依頼はお気軽にお問い合わせください。
お悩み③スケジュールや頻度はどの程度なのか?
脆弱性診断は小規模なものの場合は1〜2週間で診断が完了しますが、サイトの規模が大きく複雑な場合は、数週間から1ヶ月以上かかることもあります。多くの企業では、企画や設計段階、テストやリリース段階、運用や保守の段階など、複数回に分けて脆弱性診断を実施します。適切な実施時期はそれぞれの会社の取り組み方で異なりますが、運用や保守の監査を目的とするのであれば年に1回、もしくは四半期に1回の実施を推奨します。また、システムのアップデート時に再診断、定期的な見直しを目的として行うのも適切な実施時期だと言えます。
まとめ
脆弱性診断の実施により企業に潜むシステムバグやセキュリティ上の欠陥は発見可能となります。しかし、脆弱性診断の工程策定や実施手順、頻度など十分な準備と、実施者の知見が重要となり、高いレベルで脆弱性診断を実施するためには、外部専門家に依頼することも検討されることをお勧めします。
株式会社GENZでは、お客様のシステム課題にあわせて、経験豊富なスタッフが、テストプロジェクト全体の品質、コスト、納期のバランスを整理したうえで、最適なプランをご提案いたします。脆弱性診断について、ご不明な点やご質問がございましたら、お気軽にお問い合わせください。