13-セキュアプログラミング の変更点

Top > 13-セキュアプログラミング

#br
セキュアプログラミングに関するページです。
#br
●システム開発工程における実装の例
#br
 ・セキュリティ基本方針の決定

  セキュリティ目標、準拠するセキュリティ規格やISO等

 (例:ISO 15408(セキュリティ技術− 情報技術セキュリティの評価基準) JISでは「X 5070-1」

  プロテクションプロファイル,セキュリティ要求仕様書(Protection Profile) を作っていきます。
#br
 ・リスク分析の実施

  主に想定される脅威等の洗い出し、脅威モデリングを使用しシナリオ作成と検証の実施
#br
 ・セキュリティ要件の決定

  実装要件をまとめていきます。こちらでは専門知識が問われます。

  認証、アクセス制御、暗号化、データ保護、マルウェア対策、Dos攻撃対策

  ※その後の脆弱性診断シナリオにも使われます
#br
  言語等に応じたセキュリティ要件(C++等はBF等に関し、strcpyは使わないやStackGuard,Libsafe使用等)

  GCC使用に際しては、Automatic Fortification使用など。
#br
  Java系はクラスの外部許可するアクセスは必要最低限になるよう,メソッド構成に注意。

  重要な情報を扱うオブジェクトについてはReadOnlyインタフェースを用いる方法がある。

  DBセキュリティと同様に、必要最低限の権限と組み合わせにしたい。
#br
  システムセキュリティ管理要件

  ID管理、パッチ管理、構成管理、鍵管理、証明書管理 など
#br
 ・セキュリティ設計/構築手順書の整備

  共通モジュールの仕様、モジュール間 I/F仕様等の決定
#br
 ・セキュアプログラミングガイド作成

  プログラミング工程開始前までに作成すること。セキュリティテストコードのテンプレ。
#br
 ・コーティング/レビュー

  重要なPGについては専門家によるレビュー(検証シナリオに基づき)する。

  ツールを使用した自動化が望まれる。
#br
 ・脆弱性検査

  ブラックボックス型で第三者検証と、ホワイトの組み合わせが望まれる。

  C++系は可能であればファジングも。
#br