Skip to main content

セキュアコーディング標準導入サポート

ソフトウェアを安全に開発するにはセキュアコーディング標準が必要です。セキュアコーディング標準の導入はISO 27000(国際情報セキュリティ標準)でもシステム開発の要求事項となっています。

 

セキュアコーディング標準とは?

セキュアコーディングは米カーネギーメロン大学のCERTにより提唱されいる「安全なプログラム構築に必要な概念と技術を標準化」した物です。CERTでは言語レベル(C、C++、Java、Android、PERL)のセキュアコーディング標準が公開されています。

CERTが提供する言語別のセキュアコーディング標準を利用するだけでは「セキュアコーディング標準」技術を採用したことになりません。セキュアコーディング標準は「ソフトウェア開発組織またはプロジェクト」が”独自に構築するコーディング標準”です。開発組織/プロジェクトによって利用する開発環境(OS/ライブラリ/言語/フレームワークなど)が異なります。

  • POINT -  セキュアコーディング標準は組織が利用している技術や指針に対応した物を”自前”で構築する物です。

特定の開発環境で安全なコード(プログラム)を書くためには、その環境でのノウハウが必要になります。このノウハウを文書化し標準化したものが「セキュアコーディング標準」です。

 

セキュアコーディング標準の構築より大切な原則

CERTは10のセキュアコーディング原則を公開しています。その原則では「セキュアコーディング標準の構築」は10番目、つまり最後の原則としています。セキュアコーディング標準構築よりも重要な原則は9つあります。

現在のソフトウェア開発では20世紀のソフトウェア開発パラダイムである「とにかく動く」が未だに大勢を占めています。セキュリティ対策としては「不正な動作を行わせない」(ブラックリスト型)対策が一般的です。

セキュアコーディングの考え方は「正しく動くこと、動いたこと保証する」です。これを可能とする原則が定義されています。

 

コンピュータは正しく動作しないもの

コンピュータは入力が正しくなければ、得意とする整数演算さえ正しくできない機械です。

セキュアコーディング、その前身の防御的プログラミングが提唱されたのは1990年代初めです。四半世紀が過ぎても危険なブラックリスト型設計で「不正な動作を行わせない」ソフトウェアが一般的です。

セキュアコーディングを正しく導入すれば、コンピュータプログラムを正しく動作させることが容易になります。

 

対象

  • ITシステム開発全般

 

サービス内容

  • セキュアコーディング標準構築セミナー
  • セキュアコーディング標準の構築サポート
  • セキュアコーディング標準準拠状態の評価
  • ソースコード検査によるセキュアコーディング標準導入前後の効果測定

 

契約形態

  • プロジェクト単位の個別契約
  • 開発サポート契約の一部としてサポート

 

Contact us