JP2008107982A - 開発支援プログラム、開発支援方法および開発支援装置 - Google Patents

開発支援プログラム、開発支援方法および開発支援装置 Download PDF

Info

Publication number
JP2008107982A
JP2008107982A JP2006288837A JP2006288837A JP2008107982A JP 2008107982 A JP2008107982 A JP 2008107982A JP 2006288837 A JP2006288837 A JP 2006288837A JP 2006288837 A JP2006288837 A JP 2006288837A JP 2008107982 A JP2008107982 A JP 2008107982A
Authority
JP
Japan
Prior art keywords
information
security
requirement
definition information
method definition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006288837A
Other languages
English (en)
Other versions
JP4961943B2 (ja
Inventor
Takao Okubo
隆夫 大久保
Yoshiro Watakuchi
吉郎 綿口
Hiroko Kojima
裕子 兒島
Hidehiko Tanaka
英彦 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006288837A priority Critical patent/JP4961943B2/ja
Publication of JP2008107982A publication Critical patent/JP2008107982A/ja
Application granted granted Critical
Publication of JP4961943B2 publication Critical patent/JP4961943B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】セキュリティ要件を満たすために必要な作業を、容易かつ確実に得る。
【解決手段】コンピュータ1において、格納手段2は、セキュリティ対策要件と、複数の実装方法定義情報と、実装方法定義情報毎の実装方法を実行する際に必要な作業の情報毎に与えられるパラメータに応じて実装方法定義情報毎に算出されたセキュリティ保証レベルとを備える実装情報3を格納する。提示手段4は、第三者によるセキュリティ対策要件とセキュリティ対策実行要件との入力に応答して実装情報3を参照し、入力されたセキュリティ対策要件に対応する実装方法定義情報を提示する。計算手段5は、提示に対する選択に応答して、セキュリティ対策実行要件の要素の実行コストを、選択された実装方法定義情報の作業の情報毎に与えられたパラメータを用いて計算する。出力手段6は、計算手段5により計算された要素の実行コストをセキュリティ保証レベルとともに出力する。
【選択図】図1

Description

本発明は開発支援プログラム、開発支援方法および開発支援装置に関し、特に、セキュリティ対策要件を充足する情報を提供する開発支援プログラム、開発支援方法および開発支援装置に関する。
近年、ソフトウェアの脆弱性を原因とするセキュリティインシデントが多発し、ソフトウェアセキュリティの重要性が注目されている。
しかし、ソフトウェア開発の現場においては、セキュリティ品質確保のために必要な作業の体系化が不十分であるのが現状である。例えば、セキュリティ知識に乏しい開発現場では、セキュリティ確保のために何をどれだけ行えばよいかが分からないという問題がある。また、プロジェクト管理者にとっては、セキュリティ品質を確保するためのコスト(作業の費用や工数等)が見えにくく、完成したシステムの品質を評価することが難しいため、セキュリティ投資もしにくいという問題がある。
このような問題に対し、セキュリティ知識に乏しい開発者を支援する種々の方法が知られている(例えば、特許文献1参照)
特開2001−222420号公報
しかしながら、セキュリティに関する品質の確保、保証という点では、従来のソフトウェア開発体系は十分ではない。セキュリティ脆弱性は、ソフトウェアにおける一般的なバグとは異なり、本来の仕様を満たしていてもそれ以外に意図しない挙動をする場合がある。それらは「仕様通りか」の確認を行うテストでは検出することが難しく、「意図しない挙動をしない」という設計仕様の記述方法も従来の方法では困難である。また、仮にセキュリティ要件を満たすような設計を行ったとしても、実装の段階で脆弱性が混入してしまう場合がある。
本発明はこのような点に鑑みてなされたものであり、セキュリティ要件を満たすために必要な作業を、容易かつ確実に得ることができる開発支援プログラム、開発支援方法および開発支援装置を提供することを目的とする。
本発明では上記問題を解決するために、図1に示すような処理をコンピュータ1に実行させるための開発支援プログラムが提供される。
本発明に係る開発支援プログラムは、セキュリティ対策要件を充足する情報を提供するプログラムである。このような開発支援プログラムをコンピュータ1に実行させることで、図1に示す機能が実現される。
格納手段2は、セキュリティ対策要件と、このセキュリティ対策要件を解決する複数の実装方法定義情報と、実装方法定義情報毎の実装方法を実行する際に必要な作業の情報と、これら作業の情報毎に与えられるパラメータに応じて実装方法定義情報毎に算出されたセキュリティ対策要件を保証するセキュリティ保証レベルとを備える実装情報3を格納する。
提示手段4は、第三者によるセキュリティ対策要件とこのセキュリティ対策要件を実行するための要素を備えるセキュリティ対策実行要件との入力に応答して、実装情報3を参照し、第三者により入力されたセキュリティ対策要件に対応する実装方法定義情報を提示する。
計算手段5は、実装方法定義情報の提示に対する第三者による選択に応答して、セキュリティ対策実行要件の要素の実行コストを、選択された実装方法定義情報の作業の情報毎に与えられたパラメータを用いて計算する。
出力手段6は、計算手段5により計算された要素の実行コストをセキュリティ保証レベルとともに出力する。
このような開発支援プログラムによれば、格納手段2により、セキュリティ対策要件と複数の実装方法定義情報と作業の情報とセキュリティ保証レベルとを備える実装情報3が格納される。提示手段4により、第三者によるセキュリティ対策要件とセキュリティ対策実行要件との入力に応答して実装情報3が参照され第三者により入力されたセキュリティ対策要件に対応する実装方法定義情報が提示される。計算手段5により、実装方法定義情報の提示に対する選択に応答して、セキュリティ対策実行要件の要素が、選択された実装方法定義情報の作業の情報毎に与えられたパラメータを用いて計算される。出力手段6により、計算手段5により計算された要素の実行コストがセキュリティ保証レベルとともに出力される。
本発明によれば、第三者に与えるべき実装手段の候補が提示され、かつ、開発の早期段階でセキュリティ対策要件実行に必要な要素(例えば作業の質、量、コスト等)を容易かつ明確に把握することができる。
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
まず、本発明の概要について説明し、その後、実施の形態を説明する。
図1は、本発明の概要を示す図である。図1に示すコンピュータ1は、セキュリティ対策要件を充足する情報を提供するプログラムを実行する装置である。
コンピュータ1は、格納手段2と、提示手段4と、計算手段5と、出力手段6と、実装情報作成手段7とを有している。
格納手段2は、セキュリティ対策要件と、このセキュリティ対策要件を解決する複数の実装方法定義情報と、実装方法定義情報毎の実装方法を実行する際に必要な作業の情報と、これら作業の情報毎に与えられるパラメータに応じて実装方法定義情報毎に算出されたセキュリティ保証レベルとを備える実装情報3を格納する。セキュリティ保証レベルは、例えばセキュリティ対策要件を保証する値である。
この実装情報は、例えば実装情報作成手段7によって作成される。ここで、パラメータとは、例えば、誤検出の割合や、検出漏れの割合や、ツールを使用する際の調達費用等をいう。
図1では、1つのセキュリティ対策要件Aに対して、4つの実装方法定義情報B1、B2、B3、B4が関連づけられている。そして、実装方法定義情報B1、B2、B3、B4それぞれに作業の情報C1、C2が関連づけられている。さらに、実装方法定義情報B1、B2、B3、B4それぞれにセキュリティ保証レベルD1、D2、D3、D4が関連づけられている。
提示手段4は、第三者によるセキュリティ対策要件と、このセキュリティ対策要件を実行するための要素を備えるセキュリティ対策実行要件との入力に応答して、実装情報3を参照し、第三者により入力されたセキュリティ対策要件に対応する実装方法定義情報を提示する。
計算手段5は、実装方法定義情報の提示に対する第三者による選択に応答して、セキュリティ対策実行要件の要素の実行コストを、選択された実装方法定義情報の作業の情報毎に与えられたパラメータを用いて計算する。ここで要素とは、例えばセキュリティ専門家の要員数や、非(セキュリティ)専門家の要員数や、ツールの有無や、プログラム規模や、作業者の作業単価等の情報をいう。
出力手段6は、計算手段5により計算された要素の実行コスト(見積もり情報)をセキュリティ保証レベルとともに出力する。
このような開発支援プログラムによれば、格納手段2により、セキュリティ対策要件と複数の実装方法定義情報と作業の情報とセキュリティ保証レベルとを備える実装情報3が格納される。提示手段4により、第三者によるセキュリティ対策要件とセキュリティ対策実行要件との入力に応答して実装情報3が参照され第三者により入力されたセキュリティ対策要件に対応する実装方法定義情報が提示される。計算手段5により、実装方法定義情報の提示に対する選択に応答して、セキュリティ対策実行要件の要素が、選択された実装方法定義情報の作業の情報毎に与えられたパラメータを用いて計算される。出力手段6により、計算手段5により計算された要素の実行コストがセキュリティ保証レベルとともに出力される。
以下、本発明の実施の形態を説明する。
図2は、開発支援装置のハードウェア構成例を示す図である。
開発支援装置(コンピュータ)100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。また、HDD103内には、プログラムファイルが格納される。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。このようなハードウェア構成の装置において開発支援処理を行うために、開発支援装置100内には、以下のような機能が設けられる。
図3は、開発支援装置の機能を示すブロック図である。
開発支援装置100は、実装手段蓄積情報作成部110と、実装手段蓄積情報格納部120と、見積もり情報作成部130とを有している。
実装手段蓄積情報作成部110は、セキュリティ専門家41からの操作入力を受け付ける。具体的には実装手段蓄積情報作成部110は、GUI(Graphical User Interface)を有しており、実装手段入力受付画面等の各種画面をモニタ11の画面に表示する。
また、実装手段蓄積情報作成部110は、ユーザからのGUIを利用した操作入力に従って、実装手段蓄積情報テーブル121を作成(編集)し、実装手段蓄積情報格納部120に蓄積する。
新規データ作成時には、セキュリティ専門家41が操作を行い、新規データ作成を指示する。すると、実装手段蓄積情報作成部110が、入力受付画面を立ち上げ、モニタ11に表示する。
データ編集時には、セキュリティ専門家41が操作を行い、HDD103に格納されている実装手段蓄積情報テーブル121を指定する。すると、実装手段蓄積情報作成部110が、HDD103から実装手段蓄積情報テーブル121を読み込み、その内容を反映させた入力受付画面をモニタ11に表示する。
セキュリティ専門家41は、入力受付画面上で、実装手段蓄積情報テーブル121を作成または編集する作業を行う。
また、実装手段蓄積情報作成部110により、セキュリティ専門家41による操作入力の内容が監視され、適宜、実装手段蓄積情報テーブル121に格納される。
実装手段蓄積情報格納部120は、実装手段蓄積情報テーブル121が格納(記録)されたデータ格納領域である。
見積もり情報作成部130は、プロジェクト管理者51からの見積もりの操作入力を受け付ける。プロジェクト管理者51は、必ずしもセキュリティ専門家である必要はない。
見積もり情報作成部130は、GUIを有しており、見積もり入力受付画面をモニタ11の画面に表示する。そして、ユーザからのGUIを利用した操作入力に従って、見積もり情報を作成(編集)する。作成された見積もり情報は、例えばモニタ11の画面に表示され、HDD103に格納される。
ところで開発支援装置100の処理は(1)主として実装手段蓄積情報作成部110を用いた実装手段蓄積情報テーブル121の作成、(2)主として、実装手段蓄積情報格納部120、見積もり情報作成部130を用いた作業見積もりおよび指示書の作成、の大きく2つに分けることができる。以下、それぞれについて詳しく説明する。
<1>実装手段蓄積情報テーブル121の作成
図4は、実装手段蓄積情報テーブル作成処理を示すフローチャートである。
なお、以下の動作は、実装手段蓄積情報作成部110が行う。
まず、セキュリティ専門家41からシステム要件の入力を受け付けると、その内容を実装手段蓄積情報テーブル121に格納する(ステップS1)。
ここでシステム要件とは、例えばプログラム言語、ミドルウェア、ソフトウェア等をいう。
次に、セキュリティ専門家41からセキュリティ要件の入力を受け付けると、その内容を実装手段蓄積情報テーブル121に格納する(ステップS2)。
ここでセキュリティ要件とは、ソフトウェアで想定している具体的な脅威に対する、ソフトウェア要件レベルでの対策方針をいい、例えば、「(Webアプリケーション開発において)クロスサイトスクリプティング(XSS)脆弱性がないように実装すること」等が挙げられる。
次に、セキュリティ専門家41から実装手段(実装方法定義情報)の入力を受け付けると、その内容を実装手段蓄積情報テーブル121に格納する(ステップS3)。
ここで、実装手段とは、設計、実装工程において、セキュリティ要件を実装する方法のうち、対策として推奨でき、かつコーディング規約などの形で制約として明示可能なものをいい、例えば、「(XSS対策として)規定の出力タグ(<bean:write>)を使用すること。」等が挙げられる。
次に、セキュリティ専門家41から代替手段の入力を受け付けると、その内容を実装手段蓄積情報テーブル121に格納する(ステップS4)。
ここで、代替手段とは、セキュリティ要件を実装する手段であるが、上記の実装手段の条件を満たさない、次善の策をいい、例えば、「第三者によるXSSのブラックボックス監査を行うこと。」等が挙げられる。
次に、セキュリティ専門家41から実装手段と代替手段との相互関係を示す情報の入力を受け付けると、その内容を実装手段蓄積情報テーブル121に格納する(ステップS5)。
次に、実装手段の保証レベル計算処理を行う(ステップS6)。
次に、他のセキュリティ要件が存在するか否かを判断する(ステップS7)。他のセキュリティ要件が存在する場合(ステップS7のYes)、ステップS2に移行してステップS2〜ステップS6の動作を繰り返し行う。一方、他のセキュリティ要件が存在しない場合(ステップS6のNo)、他のシステム要件が存在するか否かを判断する(ステップS8)。他のシステム要件が存在する場合(ステップS8のYes)、ステップS1に移行してステップS1〜ステップS7の動作を繰り返し行う。一方、他のシステム要件が存在しない場合(ステップS8のNo)、実装手段蓄積情報テーブル121を実装手段蓄積情報格納部120に格納する(ステップS9)。
以上で実装手段蓄積情報テーブル作成処理を終了する。
次に、ステップS6の実装手段の保証レベル計算処理について説明する。
図5は、実装手段の保証レベル計算処理を示すフローチャートである。
まず、セキュリティ専門家41から制約パターンの入力を受け付けると、その内容を実装手段蓄積情報テーブル121に格納する(ステップS61)。
次に、実装手段および代替手段を複数の部分に分解する(ステップS62)。
次に、分解した各部分について保証レベル(セキュリティ保証レベル)の計算の要否を判別する(ステップS63)。
次に、ステップS63で計算が必要となった部分についてセキュリティ知識の要否を判断する(ステップS64)。セキュリティ知識が不要の場合(ステップS64のNo)、計算が必要となった部分に対応する詳細情報項目を設定する(ステップS65)。
次に、詳細情報項目に対して値(パラメータ)の入力を受け付けると、それらの値を詳細情報項目に関連づけて格納する(ステップS66)。
一方、セキュリティ知識が必要の場合(ステップS64のYes)、計算が必要となった部分に対応する詳細情報項目を設定する(ステップS67)。
次に、詳細情報項目に対して値を算出し、それらの値を詳細情報項目に関連づけて格納する(ステップS68)。
次に、詳細情報項目に関連づけられた値に基づいて、保証レベルを算出し、実装手段および代替手段に関連づけて格納する(ステップS69)。
その後、元のルーチンに復帰する。
以上で実装手段の保証レベル計算処理を終了する。
以下、実装手段蓄積情報テーブル作成処理について具体例を用いて説明する。
図6は、システム要件の入力を示す図である。
セキュリティ専門家41が、システム要件を入力すると、実装手段蓄積情報作成部110により、実装手段蓄積情報テーブル121のシステム要件の欄にシステム要件が格納される。
図7は、セキュリティ要件の入力を示す図である。
セキュリティ専門家41が、システム要件毎に複数のセキュリティ要件を入力すると、実装手段蓄積情報作成部110により、セキュリティ要件がシステム要件毎に関連づけられて実装手段蓄積情報テーブル121のセキュリティ要件の欄に格納される。
図8は、実装手段の入力を示す図である。以下、実装手段蓄積情報テーブル121の一部を省略して表す。
セキュリティ専門家41が、セキュリティ要件毎に複数の実装手段を入力すると、実装手段がセキュリティ要件毎に関連づけられて実装手段蓄積情報テーブル121の実装手段の欄に格納される。図8では、1つのセキュリティ要件に2つの実装手段が関連づけられて格納される。なお、1つの実装手段が複数のセキュリティ要件に関連づけられていてもよい。
図9は、代替手段の入力を示す図である。
セキュリティ専門家41が、実装手段毎に代替手段(代替方法定義情報)を入力すると、代替手段が実装手段毎に関連づけられて実装手段蓄積情報テーブル121の代替手段の欄に格納される。なお、図9では、各実装手段に対し、共通の代替手段が入力された場合を示しているが、1つの実装手段に対し、複数の代替手段が入力された場合は、複数の代替手段が、それぞれの実装手段に関連づけられて格納される。
図10は、相互関係の入力を示す図である。
セキュリティ専門家41が、セキュリティ要件と実装手段との相互関係および実装手段と代替手段との相互関係を入力すると、セキュリティ要件と実装手段との相互関係および実装手段と代替手段との相互関係が実装手段蓄積情報テーブル121の相互関係の欄にそれぞれ格納される。これにより、各関係を明確なものとすることができる。また、相互関係にある実装手段と代替手段とをグループ化して別名をつけておいてもよい。これにより、管理を容易に行うことができる。
ここで、セキュリティ専門家41は、相互関係として「AND」、「OR」または「XOR」を入力することができる。
「AND」は、要件の充足には、他の手段との併用が必須な関係をいう。
「OR」は、他の手段を含むいずれか1つの手段で要件の充足が可能な関係をいう。
「XOR」は、いずれか1つの手段で要件の充足が可能、かつ、他の手段との併用が不可能な関係をいう。
なお、代替手段は、実装手段とは「OR」の関係に設定する。また、「XOR」の関係は、実装手段間のみ、および代替手段間のみに設定することができる。
また、以下では、実装手段「SQL文の発行にはjava.sql.PreparedStatement(java:登録商標)のみを使用する」を、実装手段(a)といい、実装手段「SQL実行の直前で危険な文字をエスケープする」を実装手段(b)といい、代替手段「ブラックボックス形式による第三者監査」を代替手段(I)という。
ここまでの各要件および各手段がそれぞれ入力されると、実装手段蓄積情報作成部110が、制約パターン画面を立ち上げ、モニタ11に表示する。
図11は、制約パターン画面を説明する図である。
制約パターン画面111の制約の欄には、実装手段および代替手段について課す制約がそれぞれ設定されている。また、制約パターンの欄には、制約の欄に示される項目および実装範囲指定の欄に示される項目の制約を課すとき、および制約を課さないときの制約パターンがそれぞれ符号化されて示されている。
例えば実装手段(a)に、「特定部品の強制」かつ「実装範囲指定なし」の制約を課す場合、セキュリティ専門家41は、制約パターンP2を選択する。すると、実装手段(a)と制約パターンP2とが関連づけられて実装手段蓄積情報テーブル121に格納される。
同様に、実装手段(b)に、「特定の手順の強制」かつ「実装範囲指定あり」の制約を課す場合、セキュリティ専門家41は、制約パターンP5を選択する。すると、実装手段(b)と制約パターンP5とが関連づけられて実装手段蓄積情報テーブル121に格納される。また、代替手段(I)に、「制約なし」を指定する場合、セキュリティ専門家41は、制約パターンP8を選択する。すると、代替手段(I)と制約パターンP8とが関連づけられて実装手段蓄積情報テーブル121に格納される。これらのパターン化により、コスト計算を効率よく行うことができる。
ここまでの動作が行われると、実装手段蓄積情報作成部110は、制約パターンと関連づけられた各実装手段および各代替手段をそれぞれ3つの部分に分解する。
図12は、実装手段および代替手段の分解を示す図である。なお、図12では、実装手段蓄積情報作成部110は、各実装手段および各代替手段をそれぞれ「制約部分」、「制約箇所の検出部分」、「制約違反の検出部分」に分解する。
そして、制約パターンと、予め用意された制約パターン効率化テーブルとに基づいて、分解された各項目について保証レベルの計算が必要か否かを判断する。
図13は、制約パターン効率化テーブルを示す図である。
制約パターン効率化テーブル122は、制約のパターン部分、各箇所の計算部分に分かれている。
制約のパターン部分には、制約パターン画面111の制約の欄および実装範囲指定の欄、並びにこれら各欄に対応した項目が設定されている。
各箇所の計算部分には、図12にて分解された項目に対応した欄が設けられている。これら各欄には、制約のパターン部分に対応して保証レベルの計算要または計算不要が設定されている。
図14は、制約パターン効率化テーブルを用いて計算の要否を設定した結果を示す図である。
実装手段蓄積情報作成部110は、制約パターン効率化テーブル122を用いて得られた実装手段および代替手段の部分毎の制約パターンの計算の要否を実装手段蓄積情報テーブル121に格納する。
次に、実装手段蓄積情報作成部110は、計算の要否の欄にて「計算要」となっている部分について詳細情報項目を設定する。
図15は、詳細情報項目を設定した実装手段蓄積情報テーブルを示す図である。
セキュリティ専門家41は、詳細情報項目を入力する。すると、実装手段蓄積情報作成部110が、実装手段蓄積情報テーブル121の計算の要否の計算要の部分に対応してそれぞれ詳細情報の欄を作成し、詳細情報の欄に、詳細情報項目を設定する。ここで、調達費用とは、実装手段を実行、または制約違反を検出するためのツールの調達に必要な費用をいう。
詳細情報項目が設定されると、実装手段蓄積情報作成部110が、検出容易性選択画面を立ち上げ、モニタ11に表示する。
図16は、検出容易性選択画面を説明する図である。
検出容易性選択画面112には、検出容易性の欄の各項目に応じたパターンがそれぞれ示されている。
セキュリティ専門家41は、計算の要否の欄にて「計算要」となっている部分にこれらのパターンを割り当てる。例えば制約違反の検出部分がツールで機械的に検出可能な場合、パターンE1を割り当てる。なお、実装手段(a)および実装手段(b)の各制約部分の欄は、それぞれ文字列検索レベルで検出可能なことが判断された際には、予め用意された値が入ることになるため、計算対象から除外する。文字列検索レベルとは、grep等のように固定の文字列がそのソースコード中に存在するかどうかを確認することと同様の容易性で、(違反等の確認が)可能なレベルをいう。
パターンが割り当てられると、実装手段蓄積情報作成部110は、実装手段蓄積情報テーブル121の、セキュリティ専門家41がパターンE1を割り当てた実装手段の詳細情報の「セキュリティ知識の要否」の項目の値を「不要」に設定し、セキュリティ専門家41がパターンE2、E3を割り当てた場合は、「要」に設定する。
<セキュリティ知識不要の場合>
実装手段蓄積情報作成部110は、セキュリティ知識「不要」が設定された実装情報における詳細情報の未設定項目入力画面を立ち上げ、モニタ11に表示する。
図17は、未設定項目入力画面を示す図である。
セキュリティ専門家41は、未設定項目入力画面113の値の欄に、各詳細情報項目に対応する値(パラメータ)を入力する。
図18は、未設定項目が入力された実装手段蓄積情報テーブルを示す図である。
セキュリティ専門家41によって入力された値が、実装手段蓄積情報作成部110により実装手段蓄積情報テーブル121に格納される。
<セキュリティ知識要の場合>
実装手段蓄積情報作成部110は、セキュリティ知識「要」が設定された実装情報における詳細情報の未設定項目入力画面114を立ち上げ、モニタ11に表示する。
図19は、未設定項目入力画面を示す図である。
セキュリティ専門家41は、未設定項目入力画面114の値の欄に、各詳細情報項目に対応する値を入力する。また、データベースに登録済のツールの場合は、実装手段蓄積情報作成部110により、そのツールの詳細情報が自動的に入力されるようになっていてもよい。
図20は、未設定項目が入力された実装手段蓄積情報テーブルを示す図である。
セキュリティ専門家41によって入力された値が、実装手段蓄積情報作成部110により実装手段蓄積情報テーブル121に格納される。
また、実装手段蓄積情報作成部110は、単位プログラム規模あたりの追加工数の欄の値を計算によって求める。
ここで、ツールの工数(単位プログラムあたり):d
ツールの検出漏れ率:e
ツールの誤検出率:f
セキュリティ専門家が検出漏れを1%削減するのに必要な工数:g
非専門家が検出漏れを1%削減するのに必要な工数:h
セキュリティ専門家が検出漏れを1%削減するのに必要な工数:i
非専門家が検出漏れを1%削減するのに必要な工数:j
とすると、単位プログラム規模あたりの追加工数(セキュリティ専門家の場合)は、(d+e×g+f×i)で求めることができる。よって図19に示す例では、(0.5+20×0.03+30×0.01)=0.9となる。
また、単位プログラム規模あたりの追加工数(非専門家の場合)は、(d+e×h+f×j)で求めることができる。よって、図19に示す例では、(0.5+20×0.1+30×0.05)=4となる。
なお、このような計算に必要な情報が、予めテーブル化されて開発支援装置100内に格納され、実装手段蓄積情報作成部110が参照するようになっていてもよい。
次に、実装手段蓄積情報作成部110は、セキュリティ要件を実行する際の、保証レベルを算出する。
図21は、保証レベルの算出を示す図である。
図21の例では、検出各部分の保証レベルを(100−(false negative))で計算し、算出された保証レベルのうち、最も大きい値を実装手段(代替手段)の保証レベルとする。本実施の形態では、実装手段(a)の保証レベルは「95」となる。
なお、実装手段(b)や代替手段(I)についても同様のデータ構造を作成することにより、保証レベルを求めることができる。
開発支援装置100は、以上説明した動作をシステム要件、セキュリティ要件毎に繰り返し行い、全てのシステム要件、セキュリティ要件に対する保証レベルが算出された実装手段蓄積情報テーブル121を完成させる。
このように、実装手段を限定することにより、制約遵守(または違反)を確認することで、セキュリティ要件の充足の確認をその実装手段の範囲に限定することができる。また、その実装手段の実施によってセキュリティ要件を充足できることが分かっている場合、実装手段の遵守の確認の精度を、セキュリティ要件の充足度(保証度)として利用することができる。これにより、実装手段の確認の容易性から作業量や作業内容を導出することによって、セキュリティ要件に必要な作業の見積もりを容易に行うための実装手段蓄積情報テーブル121を作成することができる。
また、代替手段を定義することにより、セキュリティ要件を充足するための次善の手段を用意することができ、選択の自由度が広がる。
また、相互関係を規定することにより、実装手段間や実装手段と代替手段との間での重複の排除や、不足手段の補完を確実に行うことができる。
また、制約パターン効率化テーブル122を用いたり、検出容易性選択画面112を表示し、パターンE1〜E3をセキュリティ専門家41に入力させたりすることにより、各部分計算の効率化をさらに図ることができる。
<2>見積もり情報作成
次に、見積もり情報作成処理について説明する。
まず、フローチャートを用いて大まかな流れについて説明し、その後、各ステップについて詳細に説明する。
図22は、見積もり情報作成処理を示すフローチャートである。なお、以下の動作は、見積もり情報作成部130が行う。
まず、プロジェクト管理者51の要求に応じてシステム要件およびセキュリティ要件の入力を受け付ける(ステップS11)。
次に、プロジェクト情報(セキュリティ対策実行要件)(後述)の入力を受け付ける(ステップS12)。
次に、プロジェクト情報を満たす実装手段候補を表示する(ステップS13)。
次に、表示した実装手段候補の中からの実装手段または代替手段の選択を受け付ける(ステップS14)。
次に、選択された実装手段または代替手段の保証レベル、見積もり計算結果を表示し(ステップS15)、プロジェクト管理者51に確認を促す(ステップS16)。
プロジェクト管理者51の了解が得られた場合(ステップS16のYes)、見積もり情報を作成し、見積もり情報作成処理を終了する(ステップS17)。
一方、プロジェクト管理者51の了解が得られない場合(ステップS16のNo)、ステップS14に移行して処理を継続する。
以下、見積もり情報作成処理について具体例を用いて説明する。
まず、プロジェクト管理者51が、システム要件、セキュリティ要件、および各プロジェクト情報を入力する。
図23は、システム、セキュリティ要件入力画面を示す図である。
システム、セキュリティ要件入力画面131では、システム要件およびセキュリティ要件を入力(選択)することができる。
システム、セキュリティ要件入力画面131には、複数のシステム要件およびセキュリティ要件と、それらに対応するチェックボックスとが表示される。ユーザにより、1つのシステム要件および1つのセキュリティ要件が選択され、送信ボタンが押下されると、入力された情報が確定するとともに、プロジェクト情報入力画面がモニタ11に表示される。
図24は、プロジェクト情報入力画面を示す図である。
プロジェクト情報入力画面132には、複数のプロジェクト情報が表示される。図23では、一例としてプログラム開発規模、セキュリティ総予算、セキュリティ要員の入力欄が設定されている。なお、他にもツール仕様の有無や保証レベル等の入力欄が設定されていてもよい。
プロジェクト管理者51により、プロジェクト情報が入力され、送信ボタンが押下されると、入力された情報が確定する。
次に、見積もり情報作成部130は、入力されたシステム要件、セキュリティ要件に対応する実装手段、代替手段を、実装手段蓄積情報テーブル121から取得する。
図25は、取得された実装手段を示す図である。
この際、見積もり情報作成部130は、実装手段の一覧を保証レベルの高い順番に並び替えて受け取った実装手段に応じた実装手段表示画面を選択候補としてモニタ11に表示する。図25では、太線で示した部分をモニタ11に表示する。なお、相互関係が「AND」の場合は、これらの実装手段をまとめてモニタ11に表示する。このとき、選択候補は実装手段が代替手段に優先して表示される。すなわち、プロジェクト条件に一致する可能性の高いものから優先して表示される。
なお、プロジェクト情報入力画面132に保証レベルの入力欄を設け、保証レベルが入力された場合は、見積もり情報作成部130が、入力された保証レベル以上の実装手段または代替手段のみを表示するようになっていてもよい。
図26は、実装手段表示画面を示す図である。
プロジェクト管理者51により、実装手段表示画面133内の1つまたは複数の実装手段が選択され、送信ボタンが押下されると、入力された情報が確定する。
次に、見積もり情報作成部130は、選択された実装手段のみで入力されたプロジェクト情報の条件を満たすか否かを判断する。そして、システム要件を満たさない場合は、相互関係を参照し、不足する実装手段に対応する代替手段を選択に追加する。
次に、見積もり情報作成部130は、選択されている各実装(代替)手段の各部分の工数、費用を、実装手段蓄積情報テーブル121を参照することにより計算し、合計する。
例えば実装手段(a)では、セキュリティ要員が「不要」であるため、工数は、単位プログラム規模あたりの追加工数(セキュリティ非専門家の場合)×プログラム開発規模、すなわち、0.1×50=5となる。
また、費用は、調達費用+工数×単価、すなわち、100000+5×30000=250000となる。
見積もり情報作成部130は、上記のように全ての実装手段の工数、費用、保証レベル、セキュリティ知識の要否を計算し、合計する。
ここで、工数:実装手段の各部分の値の合計。但し、ツールを用いる場合については、重複分の費用は除外する。
費用:実装手段の各部分の値の合計。但し、ツールを用いる場合については、重複分の費用は除外する。
セキュリティ保証レベル:実装手段の各部分の値の最小値。
セキュリティ知識の要否:実装手段の各部分のうち1つでも要ならば「要」となる。
次に、手段毎の工数、費用、保証レベル、セキュリティ知識の要否と、選択した組み合わせでの工数、費用、保証レベル、セキュリティ知識の要否の見積もり結果をモニタ11に表示する。この際、セキュリティ要件を満たす条件が複数存在する場合は、より好ましい条件が優先して表示されるようになっていてもよい。
図27は、見積もり結果画面を示す図である。なお、図27では、一例として2つの実装手段(実装手段(a)、実装手段(b))と1つの代替手段(選択なし)が見積もり結果として表示されている。
プロジェクト管理者51により、見積もり結果画面134の採用する見積もりがチェックされ、OKボタンが押下されると、見積もり情報作成部130が、見積もり情報として各指示書を出力する。一方、NGボタンが押下されると、再び実装手段表示画面133を表示し、再度実装手段の選択が行われる。
図28は、実装手段指示書およびテスト指示書の一例を示す図である。
図28(a)は、実装手段を選択した場合の実装手段指示書およびテスト指示書を示している。また、図28(b)は、代替手段を選択した場合のテスト指示書を示している。
以上説明したように、開発支援装置100によれば、プロジェクト管理者51は、実装手段毎にセキュリティのための費用や工数の情報を得られるため、元々のソフトウェアに係る予算、工数を含め総合的に勘案して実装手段を選択することができる。図26の場合では、セキュリティ専門家41が推奨する実装手段が、プロジェクト管理者51にとっても最善すなわち、コストが最小かつ、最も高い保証レベルになることが提示されている。これにより、セキュリティ知識の低いプロジェクト管理者においてもセキュリティ品質と作業コストという明確な指標を開発の早期段階で把握することができる。
また、各実装手段および各代替手段をそれぞれ「制約部分」、「制約箇所の検出部分」、「制約違反の検出部分」に分解し、それぞれのコストを算出することにより、従来見落とされがちな制約箇所の検出部分や制約違反の検出部分のコストも計算対象となり、より正確な(現実の使用に則した)計算結果を得ることができる。
なお、本実施の形態では、工数、費用、セキュリティ知識の要否を見積もり情報作成部130が作成したが、実装手段蓄積情報作成部110が作成しておいてもよい。
以上、本発明の開発支援プログラム、開発支援方法および開発支援装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
また、本発明は、前述した実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって(コンピュータに所定の開発支援プログラムを実行させることにより)実現することができる。その場合、開発支援装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等が挙げられる。磁気記録装置としては、例えば、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等が挙げられる。光ディスクとしては、例えば、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等が挙げられる。光磁気記録媒体としては、例えば、MO(Magneto-Optical disk)等が挙げられる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
開発支援装置プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
(付記1) セキュリティ対策要件を充足する情報を提供する開発支援プログラムにおいて、
コンピュータを、
セキュリティ対策要件と、前記セキュリティ対策要件を解決する複数の実装方法定義情報と、前記実装方法定義情報毎の実装方法を実行する際に必要な作業の情報と、前記作業の情報毎に与えられるパラメータに応じて前記実装方法定義情報毎に算出された前記セキュリティ対策要件を保証するセキュリティ保証レベルと、を備える実装情報を格納する格納手段、
第三者による前記セキュリティ対策要件と前記セキュリティ対策要件を実行するための要素を備えるセキュリティ対策実行要件との入力に応答して、前記実装情報を参照し、前記第三者により入力された前記セキュリティ対策要件に対応する前記実装方法定義情報を提示する提示手段、
前記実装方法定義情報の提示に対する前記第三者による選択に応答して、前記セキュリティ対策実行要件の前記要素の実行コストを、選択された前記実装方法定義情報の前記作業の情報毎に与えられたパラメータを用いて計算する計算手段、
前記計算手段により計算された前記要素の実行コストを前記セキュリティ保証レベルとともに出力する出力手段、
として機能させることを特徴とする開発支援プログラム。
(付記2) 前記コンピュータを、さらに、前記セキュリティ対策要件と、複数の前記実装方法定義情報と、前記実装方法の前記作業の情報と、前記作業の情報毎に与えられるパラメータとの入力に応答して前記実装手段毎に、前記セキュリティ対策要件を保証するセキュリティ保証レベルをそれぞれ算出し、算出した前記セキュリティ保証レベルをそれぞれ前記実装方法定義情報に関連づけ、前記セキュリティ対策要件と前記実装方法定義情報と前記セキュリティレベルとを関連づけて前記実装情報を作成する実装情報作成手段として機能させることを特徴とする付記1記載の開発支援プログラム。
(付記3) 前記実装情報作成手段は、前記実装方法定義情報に対する代替方法の入力に応答して前記実装方法定義情報に代替方法定義情報を関連づけ、前記代替方法定義情報毎の代替方法を実行する際に必要な作業の情報と、前記作業の情報に与えられるパラメータとの入力に応答して前記代替方法定義情報の前記セキュリティ保証レベルを算出し、算出した前記セキュリティ保証レベルをそれぞれ前記代替方法定義情報に関連づけ、前記セキュリティ対策要件と前記代替方法定義情報と前記セキュリティレベルとを関連づけた前記実装情報を作成し、
前記提示手段は、前記セキュリティ対策要件と前記セキュリティ対策実行要件との入力に応答して、前記実装情報を参照し、前記第三者により入力された前記セキュリティ対策要件に対応する前記実装方法定義情報および前記代替方法定義情報を提示することを特徴とする付記2記載の開発支援プログラム。
(付記4) 前記計算手段は、選択された前記実装方法定義情報のみを用いて入力された前記セキュリティ対策要件を満たすか否かを判断し、前記セキュリティ対策要件を満たさない場合、選択された前記実装方法定義情報に関連づけられた前記代替手段についての前記セキュリティ対策実行要件の前記要素の実行コストをも計算することを特徴とする付記3記載の開発支援プログラム。
(付記5) 前記実装情報は、前記セキュリティ対策要件と複数の前記実装方法定義情報とが論理和または論理積の関係により関連づけられており、前記提示手段は、セキュリティ対策実行要件の入力に応答して、前記第三者により入力された前記セキュリティ対策要件に関連づけられた前記実装方法定義情報を全て提示することを特徴とする付記1記載の開発支援プログラム。
(付記6) 前記実装情報作成手段は、前記実装方法定義情報に対する制約パターンの入力に応答して、前記セキュリティ保証レベルの算出が必要か否かを判断し、必要がない前記セキュリティ保証レベルの算出を行わないことを特徴とする付記2記載の開発支援プログラム。
(付記7) 前記実装情報作成手段は、前記作業の情報を作成する際、前記実装方法定義情報に対する複数の注目部分に分類し、分類された前記作業の情報毎に、前記セキュリティ保証レベルを作成することを特徴とする付記2記載の開発支援プログラム。
(付記8) 前記実装情報が、セキュリティ知識の有無に応じて異なる前記パラメータを備えている場合、前記セキュリティ対策実行要件に前記セキュリティ知識の有無の情報が含まれていれば、前記提示手段は、前記セキュリティ知識の有無に応じた前記実装方法定義情報を提示することを特徴とする付記1記載の開発支援プログラム。
(付記9) 前記セキュリティ対策実行要件に前記セキュリティ保証レベルの情報が含まれている場合、前記提示手段は、前記セキュリティ保証レベルを満たす前記実装方法定義情報を提示することを特徴とする付記1記載の開発支援プログラム。
(付記10) 前記作業の情報は、主として費用、工数の情報であることを特徴とする付記1記載の開発支援プログラム。
(付記11) 前記提示手段は、前記実装方法定義情報を、関連づけられた前記セキュリティ保証レベルとともに提示することを特徴とする付記1記載の開発支援プログラム。
(付記12) セキュリティ対策要件を充足する情報を提供する開発支援方法において、
格納手段が、セキュリティ対策要件と、前記セキュリティ対策要件を解決する複数の実装方法定義情報と、前記実装方法定義情報毎の実装方法を実行する際に必要な作業の情報と、前記作業の情報毎に与えられるパラメータに応じて前記実装方法定義情報毎に算出された前記セキュリティ対策要件を保証するセキュリティ保証レベルと、を備える実装情報を格納し、
提示手段が、第三者による前記セキュリティ対策要件と前記セキュリティ対策要件を実行するための要素を備えるセキュリティ対策実行要件との入力に応答して、前記実装情報を参照し、前記第三者により入力された前記セキュリティ対策要件に対応する前記実装方法定義情報を提示し、
計算手段が、前記実装方法定義情報の提示に対する前記第三者による選択に応答して、前記セキュリティ対策実行要件の前記要素の実行コストを、選択された前記実装方法定義情報の前記作業の情報毎に与えられたパラメータを用いて計算し、
出力手段が、前記計算手段により計算された前記要素の実行コストを前記セキュリティ保証レベルとともに出力する、
ことを特徴とする開発支援方法。
(付記13) セキュリティ対策要件を充足する情報を提供する開発支援装置において、
セキュリティ対策要件と、前記セキュリティ対策要件を解決する複数の実装方法定義情報と、前記実装方法定義情報毎の実装方法を実行する際に必要な作業の情報と、前記作業の情報毎に与えられるパラメータに応じて前記実装方法定義情報毎に算出された前記セキュリティ対策要件を保証するセキュリティ保証レベルと、を備える実装情報を格納する格納手段と、
第三者による前記セキュリティ対策要件と前記セキュリティ対策要件を実行するための要素を備えるセキュリティ対策実行要件との入力に応答して、前記実装情報を参照し、前記第三者により入力された前記セキュリティ対策要件に対応する前記実装方法定義情報を提示する提示手段と、
前記実装方法定義情報の提示に対する前記第三者による選択に応答して、前記セキュリティ対策実行要件の前記要素の実行コストを、選択された前記実装方法定義情報の前記作業の情報毎に与えられたパラメータを用いて計算する計算手段と、
前記計算手段により計算された前記要素の実行コストを前記セキュリティ保証レベルとともに出力する出力手段と、
を有することを特徴とする開発支援装置。
本発明の概要を示す図である。 開発支援装置のハードウェア構成例を示す図である。 開発支援装置の機能を示すブロック図である。 実装手段蓄積情報テーブル作成処理を示すフローチャートである。 実装手段の保証レベル計算処理を示すフローチャートである。 システム要件の入力を示す図である。 セキュリティ要件の入力を示す図である。 実装手段の入力を示す図である。 代替手段の入力を示す図である。 相互関係の入力を示す図である。 制約パターン画面を説明する図である。 実装手段および代替手段の分解を示す図である。 制約パターン効率化テーブルを示す図である。 制約パターン効率化テーブルを用いて計算の要否を設定した結果を示す図である。 詳細情報項目を設定した実装手段蓄積情報テーブルを示す図である。 検出容易性選択画面を説明する図である。 未設定項目入力画面を示す図である。 未設定項目が入力された実装手段蓄積情報テーブルを示す図である。 未設定項目入力画面を示す図である。 未設定項目が入力された実装手段蓄積情報テーブルを示す図である。 保証レベルの算出を示す図である。 見積もり情報作成処理を示すフローチャートである。 システム、セキュリティ要件入力画面を示す図である。 プロジェクト情報入力画面を示す図である。 取得された実装手段を示す図である。 実装手段表示画面を示す図である。 見積もり結果画面を示す図である。 実装手段指示書およびテスト指示書の一例を示す図である。
符号の説明
1 コンピュータ
2 格納手段
3 実装情報
4 提示手段
5 計算手段
6 出力手段
7 実装情報作成手段
41 セキュリティ専門家
51 プロジェクト管理者
100 開発支援装置
110 実装手段蓄積情報作成部
111 制約パターン画面
112 検出容易性選択画面
113 未設定項目入力画面
114 未設定項目入力画面
120 実装手段蓄積情報格納部
121 実装手段蓄積情報テーブル
122 制約パターン効率化テーブル
130 見積もり情報作成部
131 システム、セキュリティ要件入力画面
132 プロジェクト情報入力画面
133 実装手段表示画面
134 結果画面
A セキュリティ対策要件
B1 実装方法定義情報
C1 作業の情報
D1 セキュリティ保証レベル

Claims (5)

  1. セキュリティ対策要件を充足する情報を提供する開発支援プログラムにおいて、
    コンピュータを、
    セキュリティ対策要件と、前記セキュリティ対策要件を解決する複数の実装方法定義情報と、前記実装方法定義情報毎の実装方法を実行する際に必要な作業の情報と、前記作業の情報毎に与えられるパラメータに応じて前記実装方法定義情報毎に算出された前記セキュリティ対策要件を保証するセキュリティ保証レベルと、を備える実装情報を格納する格納手段、
    第三者による前記セキュリティ対策要件と前記セキュリティ対策要件を実行するための要素を備えるセキュリティ対策実行要件との入力に応答して、前記実装情報を参照し、前記第三者により入力された前記セキュリティ対策要件に対応する前記実装方法定義情報を提示する提示手段、
    前記実装方法定義情報の提示に対する前記第三者による選択に応答して、前記セキュリティ対策実行要件の前記要素の実行コストを、選択された前記実装方法定義情報の前記作業の情報毎に与えられたパラメータを用いて計算する計算手段、
    前記計算手段により計算された前記要素の実行コストを前記セキュリティ保証レベルとともに出力する出力手段、
    として機能させることを特徴とする開発支援プログラム。
  2. 前記コンピュータを、さらに、前記セキュリティ対策要件と、複数の前記実装方法定義情報と、前記実装方法の前記作業の情報と、前記作業の情報毎に与えられるパラメータとの入力に応答して前記実装手段毎に、前記セキュリティ対策要件を保証するセキュリティ保証レベルをそれぞれ算出し、算出した前記セキュリティ保証レベルをそれぞれ前記実装方法定義情報に関連づけ、前記セキュリティ対策要件と前記実装方法定義情報と前記セキュリティレベルとを関連づけて前記実装情報を作成する実装情報作成手段として機能させることを特徴とする請求項1記載の開発支援プログラム。
  3. 前記実装情報作成手段は、前記実装方法定義情報に対する代替方法の入力に応答して前記実装方法定義情報に代替方法定義情報を関連づけ、前記代替方法定義情報毎の代替方法を実行する際に必要な作業の情報と、前記作業の情報に与えられるパラメータとの入力に応答して前記代替方法定義情報の前記セキュリティ保証レベルを算出し、算出した前記セキュリティ保証レベルをそれぞれ前記代替方法定義情報に関連づけ、前記セキュリティ対策要件と前記代替方法定義情報と前記セキュリティレベルとを関連づけた前記実装情報を作成し、
    前記提示手段は、前記セキュリティ対策要件と前記セキュリティ対策実行要件との入力に応答して、前記実装情報を参照し、前記第三者により入力された前記セキュリティ対策要件に対応する前記実装方法定義情報および前記代替方法定義情報を提示することを特徴とする請求項2記載の開発支援プログラム。
  4. セキュリティ対策要件を充足する情報を提供する開発支援方法において、
    格納手段が、セキュリティ対策要件と、前記セキュリティ対策要件を解決する複数の実装方法定義情報と、前記実装方法定義情報毎の実装方法を実行する際に必要な作業の情報と、前記作業の情報毎に与えられるパラメータに応じて前記実装方法定義情報毎に算出された前記セキュリティ対策要件を保証するセキュリティ保証レベルと、を備える実装情報を格納し、
    提示手段が、第三者による前記セキュリティ対策要件と前記セキュリティ対策要件を実行するための要素を備えるセキュリティ対策実行要件との入力に応答して、前記実装情報を参照し、前記第三者により入力された前記セキュリティ対策要件に対応する前記実装方法定義情報を提示し、
    計算手段が、前記実装方法定義情報の提示に対する前記第三者による選択に応答して、前記セキュリティ対策実行要件の前記要素の実行コストを、選択された前記実装方法定義情報の前記作業の情報毎に与えられたパラメータを用いて計算し、
    出力手段が、前記計算手段により計算された前記要素の実行コストを前記セキュリティ保証レベルとともに出力する、
    ことを特徴とする開発支援方法。
  5. セキュリティ対策要件を充足する情報を提供する開発支援装置において、
    セキュリティ対策要件と、前記セキュリティ対策要件を解決する複数の実装方法定義情報と、前記実装方法定義情報毎の実装方法を実行する際に必要な作業の情報と、前記作業の情報毎に与えられるパラメータに応じて前記実装方法定義情報毎に算出された前記セキュリティ対策要件を保証するセキュリティ保証レベルと、を備える実装情報を格納する格納手段と、
    第三者による前記セキュリティ対策要件と前記セキュリティ対策要件を実行するための要素を備えるセキュリティ対策実行要件との入力に応答して、前記実装情報を参照し、前記第三者により入力された前記セキュリティ対策要件に対応する前記実装方法定義情報を提示する提示手段と、
    前記実装方法定義情報の提示に対する前記第三者による選択に応答して、前記セキュリティ対策実行要件の前記要素の実行コストを、選択された前記実装方法定義情報の前記作業の情報毎に与えられたパラメータを用いて計算する計算手段と、
    前記計算手段により計算された前記要素の実行コストを前記セキュリティ保証レベルとともに出力する出力手段と、
    を有することを特徴とする開発支援装置。
JP2006288837A 2006-10-24 2006-10-24 開発支援プログラム、開発支援方法および開発支援装置 Expired - Fee Related JP4961943B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006288837A JP4961943B2 (ja) 2006-10-24 2006-10-24 開発支援プログラム、開発支援方法および開発支援装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006288837A JP4961943B2 (ja) 2006-10-24 2006-10-24 開発支援プログラム、開発支援方法および開発支援装置

Publications (2)

Publication Number Publication Date
JP2008107982A true JP2008107982A (ja) 2008-05-08
JP4961943B2 JP4961943B2 (ja) 2012-06-27

Family

ID=39441298

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006288837A Expired - Fee Related JP4961943B2 (ja) 2006-10-24 2006-10-24 開発支援プログラム、開発支援方法および開発支援装置

Country Status (1)

Country Link
JP (1) JP4961943B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013191042A (ja) * 2012-03-14 2013-09-26 Ntt Docomo Inc 情報処理装置、情報処理システムおよび情報処理方法
JP2016004569A (ja) * 2014-06-16 2016-01-12 トヨタ自動車株式会社 静的分析および性能データを使用するコードベースのリスク分析
WO2024042719A1 (ja) * 2022-08-26 2024-02-29 日本電気株式会社 システム設計装置、システム設計方法、記憶媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002024526A (ja) * 2000-07-10 2002-01-25 Mitsubishi Electric Corp 情報セキュリティ評価装置及び情報セキュリティ評価方法及び情報セキュリティ評価プログラムを記録した記録媒体
JP2003173258A (ja) * 2001-09-28 2003-06-20 Recruit Co Ltd ソフトウェア開発支援方法およびこれを実現するシステム
JP2003196476A (ja) * 2001-12-27 2003-07-11 Hitachi Ltd セキュリティポリシーの作成支援システムおよびセキュリティ対策決定支援システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002024526A (ja) * 2000-07-10 2002-01-25 Mitsubishi Electric Corp 情報セキュリティ評価装置及び情報セキュリティ評価方法及び情報セキュリティ評価プログラムを記録した記録媒体
JP2003173258A (ja) * 2001-09-28 2003-06-20 Recruit Co Ltd ソフトウェア開発支援方法およびこれを実現するシステム
JP2003196476A (ja) * 2001-12-27 2003-07-11 Hitachi Ltd セキュリティポリシーの作成支援システムおよびセキュリティ対策決定支援システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013191042A (ja) * 2012-03-14 2013-09-26 Ntt Docomo Inc 情報処理装置、情報処理システムおよび情報処理方法
JP2016004569A (ja) * 2014-06-16 2016-01-12 トヨタ自動車株式会社 静的分析および性能データを使用するコードベースのリスク分析
US10275333B2 (en) 2014-06-16 2019-04-30 Toyota Jidosha Kabushiki Kaisha Risk analysis of codebase using static analysis and performance data
WO2024042719A1 (ja) * 2022-08-26 2024-02-29 日本電気株式会社 システム設計装置、システム設計方法、記憶媒体

Also Published As

Publication number Publication date
JP4961943B2 (ja) 2012-06-27

Similar Documents

Publication Publication Date Title
CN110928772B (zh) 一种测试方法及装置
US6757889B1 (en) Source program checking device and program and method for same
US20080115104A1 (en) Software development system and method for intelligent document output based on user-defined rules
US8312415B2 (en) Using code analysis for requirements management
CN101171571A (zh) 分析和组织软件应用程序中的物件的设备
JP2007316905A (ja) アプリケーションプログラムを監視する計算機システム及びその方法
JP5942481B2 (ja) 運用作業管理システム、方法、及びプログラム
JP5246258B2 (ja) ファイル生成プログラム、ファイル生成装置およびファイル生成方法
US20160364674A1 (en) Project management with critical path scheduling and releasing of resources
JP4961943B2 (ja) 開発支援プログラム、開発支援方法および開発支援装置
Silva et al. Towards a library of usability requirements
KR102021018B1 (ko) Bim 품질 체크 규칙 정의 장치 및 그의 bim 품질 체크 규칙 정의 방법
JP3997495B2 (ja) ソフトウェア解析装置及びソフトウェア解析方法
JP7108458B2 (ja) プロジェクト状況管理装置、コンピュータプログラム及びプロジェクト状況管理方法
JP2009069925A (ja) 情報処理システム及び情報処理プログラム
US20040230822A1 (en) Security specification creation support device and method of security specification creation support
JP5910216B2 (ja) 情報処理装置及び情報処理プログラム
JP5269722B2 (ja) セキュリティ設計支援装置及びプログラム
JP4592022B2 (ja) 自動実行コマンド生成システムと方法およびプログラム
JP5987581B2 (ja) Ft計算支援プログラム、ft計算支援方法及びft計算支援装置
JP2009134535A (ja) ソフトウェア開発支援装置、ソフトウェア開発支援方法及びソフトウェア開発支援プログラム
CN112699011A (zh) 统计增量代码覆盖率的方法、装置及电子设备、存储介质
JP4983027B2 (ja) チェックプログラム及びチェック方法
JP4683535B2 (ja) ジョブネット管理システム
JP5243908B2 (ja) モデルの品質を検証するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120228

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120312

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees