Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

設計時に「脆弱性対策」は盛り込まれていますか?開発・設計時に注意したいセキュリティ対策

2015/06/30 06:00

 前回は、システム開発時のツール利用や手順書作成時に押さえておくポイントをご紹介しました。今回は、実際の開発を行う時と脆弱性検査を実施する際に注意したいポイントについて解説します。

設計時に「脆弱性対策」は盛り込まれていますか?

 作り込まれてしまう脆弱性の多くは、設計時の検討漏れが原因です。特に新規の開発ではなく、既存システムに対してカスタマイズ開発を行う場合、追加・変更する機能を実装することに注力してしまいがちです。

 これは、そもそも脆弱性に対するコーディングを意識していない、もしくは既存機能で脆弱性の対策が盛り込まれていると思い込んで開発を進めていることが考えられます。既存機能では対策済みであったとしても、開発を担当する開発者自身が脆弱性について意識していないと、追加で開発した機能に脆弱性を作りこんでしまいやすくなります。

設計の段階で脆弱性対策が盛り込まれているか必ず確認しましょう

 そのため、設計の段階で脆弱性対策が盛り込まれているか確認するようにします。合わせて単体テストなどのテストケースを作成する場合でも、正常系や異常系の項目のみを用意するのではなく、脆弱性に対する項目を用意して、必要なテストを忘れずに実施するようにします。

 どのような脆弱性があり、どのようなテストを実施していいか不明な場合は、セキュリティ担当や、セキュリティガイドライン等を確認してみましょう。

 担当している機能で脆弱性が発見された場合、周りのメンバーに脆弱性が発見された箇所や対策内容を共有する体制を用意しておくことが大切です。他のメンバーが開発している機能でも同じような脆弱性が作り込まれているかもしれません。そのため自分一人の中でクローズするのではなく、他のメンバーに共有することで、システム全体の安全性を高める事になります。

テストデータは独自に作成しましょう

 一般的なテストフェーズの流れは、単体テスト、結合テスト、負荷テスト等の順番ですが、それらのテストのために本番のデータを使ってはいけません。本来は”閲覧権限のない”個人情報などを開発担当者へ渡してしまうことは問題です。また、本番データをテストのために安全ではない環境に置くことで、データの漏えいリスクが高まります。

 結合テストや負荷テストでは大量のデータが必要となるため、すでに存在している本番のデータの利用を検討されることがあると思いますが、漏えいリスク等を考えるとランダムデータを作成し利用する方が安全です。

※この続きは、会員の方のみお読みいただけます(登録無料)。


※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • 石田 俊一(イシダ シュンイチ)

    株式会社ソフトウェアサービス 2013年株式会社ラックのグループ企業であるソフトウェアーサービスに入社。 複数のWEBアプリケーション設計と開発に携わり、現在は顧客のサイバーセキュリティ対策を支援する業務に従事。 開発者の経験を活かし、開発者と伴走できるセキュリティ施策を探求している。 犬とお酒が大...

バックナンバー

連載:ITマネージャーのためのWebセキュリティ入門
All contents copyright © 2007-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5