JP7422584B2 - アプリケーション開発支援システム、アプリケーション開発支援方法 - Google Patents

アプリケーション開発支援システム、アプリケーション開発支援方法 Download PDF

Info

Publication number
JP7422584B2
JP7422584B2 JP2020056103A JP2020056103A JP7422584B2 JP 7422584 B2 JP7422584 B2 JP 7422584B2 JP 2020056103 A JP2020056103 A JP 2020056103A JP 2020056103 A JP2020056103 A JP 2020056103A JP 7422584 B2 JP7422584 B2 JP 7422584B2
Authority
JP
Japan
Prior art keywords
module
application
vulnerability
application development
modules
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.)
Active
Application number
JP2020056103A
Other languages
English (en)
Other versions
JP2021157401A (ja
Inventor
淳也 藤田
英道 小笠原
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2020056103A priority Critical patent/JP7422584B2/ja
Priority to US17/022,199 priority patent/US11574062B2/en
Publication of JP2021157401A publication Critical patent/JP2021157401A/ja
Application granted granted Critical
Publication of JP7422584B2 publication Critical patent/JP7422584B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/77Software metrics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、フローダイアグラムを用いたソフトウェア開発環境におけるアプリケーション開発を支援する技術に係り、特に、アプリケーションのセキュリティ対策に有効な技術に関する。
ソフトウェア開発において、フローダイアグラムで記述するプログラミング言語を採用することで、プログラミング未経験者でも比較的簡単にアプリケーションを開発できる環境を実現することができる。一方、セキュリティ対策が十分に考慮されておらず、開発したアプリケーションのセキュリティ確保が重要な課題となっている。
本技術分野の背景技術として、例えば、特許文献1のような技術がある。特許文献1には「情報処理装置上で動作し、1つ以上のコンポーネントから構成される対象システムの各コンポーネントについて、セキュリティに関する保証レベルを導出するツールであって、前記対象システムが想定する脅威とコンポーネントが備えるセキュリティ機能との対応関係が格納された、脅威-コンポーネント対応関係テーブルと、前記各脅威のリスクの大きさを示すリスク値の情報が格納された、リスク値テーブルと、前記各脅威に対抗するコンポーネントが備えるセキュリティ機能の効果の大きさに関する情報が格納された、コンポーネント寄与率テーブルと、リスク値とこれに応じて要求される保証レベルの対応関係が格納された、リスク-保証レベル対応関係テーブルと、前記脅威-コンポーネント対応関係テーブルと、前記リスク値テーブルと、前記コンポーネント寄与率テーブルと、前記リスク-保証レベル対応関係テーブルとの各間において、互いの重複項目に基づき、前記各テーブルの連係関係を特定する、テーブル連結利用部と、前記各テーブルの連係関係に基づき、前記脅威のリスク値をコンポーネント寄与率により重み付けすることで、コンポーネントが備えるセキュリティ機能が対抗する脅威のリスク値に見合った各コンポーネントの保証レベルを導出する、コンポーネント保証レベル導出部と、を備えるシステムセキュリティ設計・評価支援ツール」が開示されている。
また、特許文献2には「(A)フローダイアグラムを用いたモデル開発環境における編集中のフローに関して第1ノードが選定された場合に、第2ノードの1以上の候補である1以上の第2ノード候補を提示し、前記第1ノードは、入力ノードと出力ノードのうちの一方の種類のノードに該当するいずれかのノードであり、前記第2ノードは、入力ノードと出力ノードのうちの他方の種類のノードと入力ノードと出力ノードのいずれにもなれる種類のノードである入力/出力ノードとのうちのいずれかの種類に該当するノードのうちの、前記第1ノードに対応するノードであり、(B)前記1以上の第2ノード候補からいずれかの第2ノード候補が第2ノードとして選定された場合に、前記第1ノードと前記第2ノード間の部分フローの1以上の候補である1以上の部分フロー候補を提示する、ことをコンピューター装置に実行させるコンピュータープログラム」が開示されている。
また、特許文献3には「メモリまたはプロセッサのうちの少なくとも1つで実装され、クライアントデバイスおよび一組のリソースと電子的に通信するように構成される、通信モジュールと、(1)一組の脅威からの各脅威に対する一組のリスク緩和スコアに関連付けられている脅威信頼度ベクトル、および(2)前記一組の脅威からの各脅威に対する一組のリソース脆弱性スコアに基づき、前記一組のリソースからの各リソースに対するリソース信頼度基準を定義するように構成されているポリシー定義モジュールと、(1)前記通信モジュールを介して、前記一組のリソースからのリソースに関連付けられている認証要求を示す信号を受信し、(2)前記認証要求に関連付けられている脅威信頼度ベクトルおよび前記一組のリソース脆弱性スコアに基づき前記一組のリソースからの前記リソースに対するリソース信頼度値を定義するように構成されている、ポリシー適用モジュールと、を備え、前記ポリシー適用モジュールは(1)前記一組のリソースからの前記リソースに対する前記リソース信頼度値と前記一組のリソースからの前記リソースに対する前記リソース信頼度基準とを比較し、(2)前記一組のリソースからの前記リソースに対する前記リソース信頼度基準が満たされたときに、前記通信モジュールを介して肯定的認証を示す信号を送信し、前記クライアントデバイスが前記リソースへのアクセスを認められるように構成される装置」が開示されている。
特開2006-331383号公報 特開2019-148859号公報 特表2017-522667号公報
ところで、アプリケーション開発において、情報セキュリティ(Information Security)は情報の「機密性」(Confidentiality)、「完全性」(Integrity)、「可用性」(Availability)の3要素からなると定義されている。この3要素の頭文字をとって「CIA」と呼ばれる。
また、セキュリティ対策の優先度は「影響(Impact)×可能性(Likelihood)」の度合い、つまり「(セキュリティ)リスク」の大きさによって決定される。
「影響(Impact)」は「流れているデータの価値」、すなわち、「機密性」(Confidentiality)、「完全性」(Integrity)、「可用性」(Availability)の3要素で決まる。また、「可能性(Likelihood)」は「脆弱性(Exploitability)」の数と度合い(脆弱性スコア)で決まる。
従って、アプリケーション開発におけるセキュリティ対策には、これらの要素を考慮した開発支援が必要になる。
しかしながら、上記特許文献1,2には、いずれにも「脆弱性スコア」に関する記載はなく、優先度を考慮したセキュリティ対策が行われていないため、開発システムの負荷の増大や必要とする箇所に最適なセキュリティ対策が行われない可能性がある。
また、上記特許文献3は、フローダイアグラムを用いたアプリケーション開発を対象とするものではなく、フローダイアグラムを用いた場合のセキュリティ対策については言及されていない。
そこで、本発明の目的は、フローダイアグラムを用いたアプリケーション開発環境において、必要とする箇所に最適なセキュリティ対策を設定可能なアプリケーション開発支援システム及びアプリケーション開発支援方法を提供することにある。
上記課題を解決するために、本発明は、フローダイアグラムを用いたアプリケーション開発を支援するアプリケーション開発支援システムであって、入力されたアプリケーションフローを読み取り、当該アプリケーションフローを構成する複数のモジュールに関するアプリケーションデータ情報および前記複数のモジュールの各モジュールに関するモジュール情報を出力するアプリケーションファイル解析部と、前記アプリケーションデータ情報に基づいてモジュール間でやり取りされるデータの当該アプリケーションを実行するための重要度を決定するデータ重要度判定部と、前記モジュール情報、およびモジュールとセキュリティリスクに対する脆弱性との関係を予め記憶したモジュール脆弱性データベースから読み出された脆弱性情報に基づいて各モジュールの脆弱性スコアを決定するモジュール脆弱性判定部と、前記データ重要度判定部で決定されたデータ重要度情報、前記モジュール脆弱性判定部で決定された各モジュールの脆弱性スコア、セキュリティ対策情報データベースから読み出されたセキュリティ対策情報に基づいてセキュリティ機能の配置箇所を決定するセキュリティ機能配置箇所判定部と、を備えることを特徴とする。
また、本発明は、コンピュータにより実行され、フローダイアグラムを用いたアプリケーション開発を支援するアプリケーション開発支援方法であって、アプリケーションフローを読み取り、当該アプリケーションフローを構成する複数のモジュールに関するアプリケーションデータ情報および前記複数のモジュールの各モジュールに関するモジュール情報を取得し、前記アプリケーションデータ情報に基づいてモジュール間でやり取りされるデータの当該アプリケーションを実行するための重要度を決定し、前記モジュール情報、およびモジュールとセキュリティリスクに対する脆弱性との関係を予め記憶したモジュール脆弱性データベースから読み出された脆弱性情報に基づいて各モジュールの脆弱性スコアを決定し、前記モジュール間でやり取りされるデータの重要度および前記各モジュールの脆弱性スコア、セキュリティ対策情報データベースから読み出されたセキュリティ対策情報に基づいてセキュリティ機能の配置箇所を決定することを特徴とする。
本発明によれば、フローダイアグラムを用いたアプリケーション開発環境において、必要とする箇所に最適なセキュリティ対策を設定可能なアプリケーション開発支援システム及びアプリケーション開発支援方法を提供することができる。
これにより、最適なセキュリティ対策が施されたアプリケーションを比較的簡単に開発することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
本発明の実施例1に係るアプリケーション開発支援システムの全体構成を示す図である。 本発明の実施例1に係るアプリケーション開発支援方法(主要処理)を示すフローチャートである。 本発明の実施例1に係るセキュリティ機能配置箇所判定部によるセキュリティモジュールの割り当てを概念的に示す図である。 本発明の実施例2に係るアプリケーション開発プラットフォームを概念的に示す図である。 本発明の実施例3に係るアプリケーション開発システムを概念的に示す図である。
以下、図面を用いて本発明の実施例を説明する。なお、各図面において同一の構成については同一の符号を付し、重複する部分についてはその詳細な説明は省略する。
図1から図3を参照して、本発明の実施例1に係るアプリケーション開発支援システム及びアプリケーション開発支援方法について説明する。図1は、本実施例のアプリケーション開発支援システムの全体構成を示す図である。図2は、本実施例のアプリケーション開発支援方法(主要処理)を示すフローチャートである。図3は、図1のアプリケーション開発支援システムによるセキュリティモジュール(セキュリティ機能)の割り当てを概念的に示す図である。
本実施例のアプリケーション開発支援システム1は、図1に示すように、主要な構成として、アプリケーションファイル解析部5と、データ重要度判定部6と、モジュール脆弱性判定部7と、モジュール脆弱性データベース8と、セキュリティ機能配置箇所判定部9と、セキュリティ対策情報データベース10と、プログラム・レポート生成部11を備えている。
アプリケーションファイル解析部5は、入力されたアプリケーション記述ファイル2を解析し、アプリケーションデータ情報とモジュール情報を取得する。アプリケーションデータ情報はデータ重要度判定部6へ出力され、モジュール情報はモジュール脆弱性判定部7へ出力される。なお、アプリケーション記述ファイル2には、アプリケーションフロー(プロジェクト)情報が含まれている。アプリケーションフローは、複数のモジュールから構成される。(図5参照)
データ重要度判定部6は、入力されたアプリケーションデータ情報に基づいてモジュール間でやり取りされるデータの重要度を決定する。
一方、モジュール脆弱性判定部7は、入力されたモジュール情報と、モジュール脆弱性データベース8から読み出された脆弱性情報に基づいて各モジュールの脆弱性スコア(モジュール脆弱性情報:「脆弱性(Exploitability)」の数と度合い)を決定する。
セキュリティ機能配置箇所判定部9は、データ重要度判定部6で決定されたデータ重要度情報と、モジュール脆弱性判定部7で決定された各モジュールの脆弱性スコア(モジュール脆弱性情報)と、セキュリティ対策情報データベース8から読み出されたセキュリティ対策情報に基づいて、アプリケーションフローを構成する複数のモジュールにおけるセキュリティモジュール(セキュリティ機能)の配置箇所を決定する。
セキュリティモジュール(セキュリティ機能)は、脆弱性スコア(モジュール脆弱性情報)と、各モジュール間でやり取りされるデータの重要度が高いフロー、かつ、当該フロー間のモジュールの脆弱性スコア(モジュール脆弱性情報)が高い箇所に優先的(選択的)に割り当てられる。
セキュリティ機能配置箇所判定部9で決定されたセキュリティ機能配置情報は、プログラム・レポート生成部11に入力される。プログラム・レポート生成部11は、入力されたセキュリティ機能配置情報に基づいて、アプリケーションプログラム3を生成し、セキュリティ対策レポート4を発行する。生成されたアプリケーションプログラム3は、必要とする箇所に最適なセキュリティ対策が施されたセキュアなコンピュータプログラム(アプリケーション)となる。
なお、図1では、モジュール脆弱性データベース8及びセキュリティ対策情報データベース10がアプリケーション開発支援システム1に内蔵される構成例を示したが、モジュール脆弱性データベース8及びセキュリティ対策情報データベース10を外部に設置し、モジュール脆弱性判定部7とモジュール脆弱性データベース8、セキュリティ機能配置箇所判定部9とセキュリティ対策情報データベース10を、それぞれ通信ネットワーク等を介して接続する構成としても良い。
上述したアプリケーション開発支援システム1による主要な処理フローを図2に示す。
先ず、アプリケーション記述ファイルを読み込んで解析し、アプリケーションデータ情報およびモジュール情報を取得する。(ステップS1)
次に、取得したアプリケーションデータ情報に基づいて、モジュール間でやり取りされるデータの重要度を決定する。(ステップS2)
続いて、取得したモジュール情報と、モジュール脆弱性データベースから読み出された脆弱性情報に基づいて、各モジュールの脆弱性スコアを決定する。(ステップS3)
次に、決定したデータの重要度と、決定したモジュール毎の脆弱性スコア(情報)と、セキュリティ対策情報データベースから読み出されたセキュリティ対策情報に基づいて、セキュリティ機能の割り当て候補箇所(配置箇所)を決定する。(ステップS4)
続いて、割り当て可能なセキュリティモジュール(セキュリティ機能)が存在するか否かを判定する。(ステップS5)
割り当て可能なセキュリティモジュール(セキュリティ機能)が存在すると判定された場合(Yes)、セキュリティモジュール(セキュリティ機能)の割り当てを実行する。(ステップS6)
一方、割り当て可能なセキュリティモジュール(セキュリティ機能)が存在しないと判定された場合(No)、割り当て可能なセキュリティモジュール(セキュリティ機能)が存在しない旨のセキュリティ対策レポートを発行し(ステップS9)、処理を終了する。
ステップS6において、セキュリティモジュール(セキュリティ機能)の割り当てを実行した後、モジュールの脆弱性スコアを再計算する。(ステップS7)
次に、残存リスクが許容範囲であるか、もしくは、割り当て可能な対策が無いかを判定する。(ステップS8)
残存リスクが許容範囲内である、もしくは、割り当て可能な対策が無い(割り当て可能なセキュリティ機能が存在しなくなった)と判定された場合(Yes)、セキュリティ機能を含むアプリケーションプログラムを生成し、対策割り当てレポートを発行する。(ステップS9)
一方、残存リスクが許容範囲外であり、かつ、割り当て可能な対策が有る(割り当て可能なセキュリティ機能が存在する)と判定された場合(No)、ステップS4へ戻り、残存リスクが許容範囲内である、もしくは、割り当て可能な対策が無い(割り当て可能なセキュリティ機能が存在しなくなった)と判定されるまで、ステップS4からステップS8までの処理フローを繰り返し実行する。
上述したセキュリティ機能配置箇所判定部9によるセキュリティモジュール(セキュリティ機能)の割り当てを図3に示す。
図3において、アプリケーションモジュール1(13)およびアプリケーションモジュール2(14)は、アプリケーションフローを構成している。
セキュリティ機能配置箇所判定部9は、モジュール脆弱性判定部7を介して重み付け(脆弱性スコア化)されたアプリケーションモジュール1(13)のCVSS情報(モジュールの脆弱性)とアプリケーションモジュール2(14)のCVSS情報(モジュールの脆弱性)、セキュリティ対策情報データベース10から読み出されたセキュリティ対策情報、データ重要度判定部6を介して重み付け(重要度を付与)されたモジュール間でやり取りされるデータ(図示せず)に基づいて、対策機能1(12)の配置箇所を決定する。
セキュリティ対策情報データベース10には、適用可能な条件と効果のある脆弱性の組合せが複数の対策機能として格納されている。
以上説明したように、本実施例のアプリケーション開発支援システム及びアプリケーション開発支援方法では、リスク値が高い箇所を順にセキュリティ機能モジュールを割り当て、1つのセキュリティ機能モジュールを割り当てるたびに脆弱性が減ることから、全体のリスクが変わるため、特定のリスクスコア(受け入れ可能なリスク)になるまで再計算し、収束条件として全体のリスクが受け入れ可能な状態になるか、もしくは、割り当て可能なセキュリティ機能モジュールが存在しなくなったタイミングで計算を終了する。
これにより、フローダイアグラムを用いたアプリケーション開発環境において、必要とする箇所に最適なセキュリティ対策を設定することができるため、最適なセキュリティ対策が施されたアプリケーションを比較的簡単に開発することができる。
[変形例1]
なお、各モジュールが、階層化された機能ブロック型モジュール構造を有する場合、モジュール脆弱性判定部7は、各モジュール内のデータフローおよび各モジュールを構成するサブモジュールの脆弱性スコアを基に各モジュールの脆弱性スコアを決定するように構成しても良い。
これにより、抽象化されたモジュールの脆弱性を決定することができる。
[変形例2]
また、各モジュールが、基本モジュール群から構成される場合、基本モジュール群の各々は、各モジュールの特徴に応じた固有の脆弱性スコアを有するように構成しても良い。
これにより、未知モジュールの脆弱性を既知モジュールから決定することができる。
[変形例3]
また、セキュリティ対策情報データベース10に格納されたセキュリティ対策情報は、対策の信頼性を基に生成した信頼性スコア情報を有し、その信頼性スコア情報に基づいて、信頼性の高いセキュリティ機能を優先的に割り当てるように構成しても良い。
これにより、セキュリティ機能の誤動作リスクを軽減することができる。
図4を参照して、本発明の実施例2に係るアプリケーション開発プラットフォームについて説明する。図4は、本実施例のアプリケーション開発プラットフォームの全体構成を概念的に示す図であり、実施例1で説明した本発明のユースケースの一例を示している。
図4に示すように、それぞれ脆弱性情報と紐付けされたアプリケーション部品A,B,Cからなる部品群(開発プラットフォーム)を用いてアプリケーション開発を行う場合、部品群(開発プラットフォーム)に登録されたアプリケーション部品を基に開発者が必要とする機能を実行するアプリケーションを開発する。この際、実施例1で説明したアプリケーション開発支援システムやアプリケーション開発支援方法を用いる。
汎用性が高いアプリケーション部品については、新たな部品として部品群(開発プラットフォーム)に登録され、他のアプリケーションフロー(プロジェクト)にも流用される。
これにより、新たにアプリケーション開発を行う際に、汎用性が高いアプリケーション部品のセキュリティ対策を改めて考慮する必要がなくなり、アプリケーション開発期間を短縮することができる。
図5を参照して、本発明の実施例3のアプリケーション開発システムについて説明する。図5は、本実施例のアプリケーション開発システムの全体構成を概念的に示す図であり、実施例1で説明した本発明のユースケースの一例を示している。
図5において、アプリケーション生成エンジンが実施例1(図1)のアプリケーション開発支援システム1に相当する。
セキュリティの非専門家が作成したアプリケーションフロー(プロジェクト)情報(図1のアプリケーション記述ファイル2に相当)とモジュール脆弱性情報がアプリケーション生成エンジンに入力され、セキュリティ処理エンジンが有する3つの機能(セキュリティリスク分析,セキュリティ機能決定,セキュリティ機能コード生成)により、必要とする箇所に最適なセキュリティ対策が設定されたセキュアなコンピュータープログラム(アプリケーション)が出力される。セキュリティ処理エンジンの3つの機能の内、セキュリティ機能決定に本発明が適用される。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記の実施例は本発明に対する理解を助けるために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
1…アプリケーション開発支援システム
2…アプリケーション記述ファイル
3…アプリケーションプログラム
4…セキュリティ対策レポート
5…アプリケーションファイル解析部
6…データ重要度判定部
7…モジュール脆弱性判定部
8…モジュール脆弱性データベース
9…セキュリティ機能配置箇所判定部
10…セキュリティ対策情報データベース
11…プログラム・レポート生成部
12…対策機能1
13…アプリケーションモジュール1
14…アプリケーションモジュール2

Claims (10)

  1. フローダイアグラムを用いたアプリケーション開発を支援するアプリケーション開発支援システムであって、
    入力されたアプリケーションフローを読み取り、当該アプリケーションフローを構成する複数のモジュールに関するアプリケーションデータ情報および前記複数のモジュールの各モジュールに関するモジュール情報を出力するアプリケーションファイル解析部と、
    前記アプリケーションデータ情報に基づいてモジュール間でやり取りされるデータの当該アプリケーションを実行するための重要度を決定するデータ重要度判定部と、
    前記モジュール情報、およびモジュールとセキュリティリスクに対する脆弱性との関係を予め記憶したモジュール脆弱性データベースから読み出された脆弱性情報に基づいて各モジュールの脆弱性スコアを決定するモジュール脆弱性判定部と、
    前記データ重要度判定部で決定されたデータ重要度情報、前記モジュール脆弱性判定部で決定された各モジュールの脆弱性スコア、セキュリティ対策情報データベースから読み出されたセキュリティ対策情報に基づいてセキュリティ機能の配置箇所を決定するセキュリティ機能配置箇所判定部と、
    を備えることを特徴とするアプリケーション開発支援システム。
  2. 請求項1に記載のアプリケーション開発支援システムであって、
    前記各モジュールは、アプリケーションフローを構成し、
    前記脆弱性スコアと前記モジュール間でやり取りされるデータの重要度が高いフロー、かつ、当該フロー間のモジュールの脆弱性スコアが高い箇所にセキュリティ機能を割り当てることを特徴とするアプリケーション開発支援システム。
  3. 請求項2に記載のアプリケーション開発支援システムであって、
    前記各モジュールは、階層化された機能ブロック型モジュール構造を有し、
    前記モジュール脆弱性判定部は、各モジュール内のデータフローおよび各モジュールを構成するサブモジュールの脆弱性スコアを基に各モジュールの脆弱性スコアを決定することを特徴とするアプリケーション開発支援システム。
  4. 請求項2に記載のアプリケーション開発支援システムであって、
    前記各モジュールは、基本モジュール群から構成され、
    前記基本モジュール群の各々は、各モジュールの特徴に応じた固有の脆弱性スコアを有することを特徴とするアプリケーション開発支援システム。
  5. 請求項2に記載のアプリケーション開発支援システムであって、
    前記セキュリティ対策情報データベースに格納されたセキュリティ対策情報は、対策の信頼性を基に生成した信頼性スコア情報を有し、
    前記信頼性スコア情報に基づいて、信頼性の高いセキュリティ機能を優先的に割り当てることを特徴とするアプリケーション開発支援システム。
  6. コンピュータにより実行され、フローダイアグラムを用いたアプリケーション開発を支援するアプリケーション開発支援方法であって、
    アプリケーションフローを読み取り、当該アプリケーションフローを構成する複数のモジュールに関するアプリケーションデータ情報および前記複数のモジュールの各モジュールに関するモジュール情報を取得し、
    前記アプリケーションデータ情報に基づいてモジュール間でやり取りされるデータの当該アプリケーションを実行するための重要度を決定し、
    前記モジュール情報、およびモジュールとセキュリティリスクに対する脆弱性との関係を予め記憶したモジュール脆弱性データベースから読み出された脆弱性情報に基づいて各モジュールの脆弱性スコアを決定し、
    前記モジュール間でやり取りされるデータの重要度および前記各モジュールの脆弱性スコア、セキュリティ対策情報データベースから読み出されたセキュリティ対策情報に基づいてセキュリティ機能の配置箇所を決定することを特徴とするアプリケーション開発支援方法。
  7. 請求項6に記載のアプリケーション開発支援方法であって、
    前記各モジュールは、アプリケーションフローを構成し、
    前記脆弱性スコアと前記モジュール間でやり取りされるデータの重要度が高いフロー、かつ、当該フロー間のモジュールの脆弱性スコアが高い箇所にセキュリティ機能を割り当てることを特徴とするアプリケーション開発支援方法。
  8. 請求項7に記載のアプリケーション開発支援方法であって、
    前記各モジュールは、階層化された機能ブロック型モジュール構造を有し、
    各モジュール内のデータフローおよび各モジュールを構成するサブモジュールの脆弱性スコアを基に各モジュールの脆弱性スコアを決定することを特徴とするアプリケーション開発支援方法。
  9. 請求項7に記載のアプリケーション開発支援方法であって、
    前記各モジュールは、基本モジュール群から構成され、
    前記基本モジュール群の各々は、各モジュールの特徴に応じた固有の脆弱性スコアを有することを特徴とするアプリケーション開発支援方法。
  10. 請求項7に記載のアプリケーション開発支援方法であって、
    前記セキュリティ対策情報は、対策の信頼性を基に生成した信頼性スコア情報を有し、
    前記信頼性スコア情報に基づいて、信頼性の高いセキュリティ機能を優先的に割り当てることを特徴とするアプリケーション開発支援方法。
JP2020056103A 2020-03-26 2020-03-26 アプリケーション開発支援システム、アプリケーション開発支援方法 Active JP7422584B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020056103A JP7422584B2 (ja) 2020-03-26 2020-03-26 アプリケーション開発支援システム、アプリケーション開発支援方法
US17/022,199 US11574062B2 (en) 2020-03-26 2020-09-16 Application development assistance system and application development assistance method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020056103A JP7422584B2 (ja) 2020-03-26 2020-03-26 アプリケーション開発支援システム、アプリケーション開発支援方法

Publications (2)

Publication Number Publication Date
JP2021157401A JP2021157401A (ja) 2021-10-07
JP7422584B2 true JP7422584B2 (ja) 2024-01-26

Family

ID=77856221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020056103A Active JP7422584B2 (ja) 2020-03-26 2020-03-26 アプリケーション開発支援システム、アプリケーション開発支援方法

Country Status (2)

Country Link
US (1) US11574062B2 (ja)
JP (1) JP7422584B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011086200A (ja) 2009-10-16 2011-04-28 Fujitsu Ltd 開発支援プログラム、開発支援装置、および開発支援方法
WO2015025694A1 (ja) 2013-08-21 2015-02-26 日立オートモティブシステムズ株式会社 セキュリティ上の脅威を評価する評価装置及びその方法
JP2017068825A (ja) 2015-09-29 2017-04-06 パナソニックIpマネジメント株式会社 ソフトウェア開発システムおよびプログラム
WO2019138542A1 (ja) 2018-01-12 2019-07-18 三菱電機株式会社 対策立案支援装置、対策立案支援方法及び対策立案支援プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4663484B2 (ja) 2005-04-25 2011-04-06 株式会社日立製作所 システムセキュリティ設計・評価支援ツール、システムセキュリティ設計支援ツール、システムセキュリティ設計・評価支援プログラム、およびシステムセキュリティ設計支援プログラム
US8695060B2 (en) * 2011-10-10 2014-04-08 Openpeak Inc. System and method for creating secure applications
US9787723B2 (en) 2014-07-18 2017-10-10 Ping Identify Corporation Devices and methods for threat-based authentication for access to computing resources
JP2019148859A (ja) 2018-02-26 2019-09-05 株式会社日立製作所 フローダイアグラムを用いたモデル開発環境におけるデザインパターンの発見を支援する装置および方法
US11514172B2 (en) * 2018-11-15 2022-11-29 Grabango Co. System and method for information flow analysis of application code
US11989307B2 (en) * 2018-12-03 2024-05-21 British Telecommunications Public Company Limited Detecting vulnerable software systems
US11636212B2 (en) * 2020-01-15 2023-04-25 International Business Machines Corporation Predicting exploitability of software vulnerabilities and recommending alternate software packages

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011086200A (ja) 2009-10-16 2011-04-28 Fujitsu Ltd 開発支援プログラム、開発支援装置、および開発支援方法
WO2015025694A1 (ja) 2013-08-21 2015-02-26 日立オートモティブシステムズ株式会社 セキュリティ上の脅威を評価する評価装置及びその方法
JP2017068825A (ja) 2015-09-29 2017-04-06 パナソニックIpマネジメント株式会社 ソフトウェア開発システムおよびプログラム
WO2019138542A1 (ja) 2018-01-12 2019-07-18 三菱電機株式会社 対策立案支援装置、対策立案支援方法及び対策立案支援プログラム

Also Published As

Publication number Publication date
JP2021157401A (ja) 2021-10-07
US20210303697A1 (en) 2021-09-30
US11574062B2 (en) 2023-02-07

Similar Documents

Publication Publication Date Title
Chong et al. Security policies for downgrading
US10241852B2 (en) Automated qualification of a safety critical system
Geismann et al. Towards ensuring security by design in cyber-physical systems engineering processes
CN101164277A (zh) 用于基于凭证的访问控制的支持语句
Koch et al. Graph-based specification of access control policies
Zheng et al. End-to-end availability policies and noninterference
Bass et al. Reasoning frameworks
EP4147416B1 (en) Blockchain-based accountable distributed computing system
Seifermann et al. A Unified Model to Detect Information Flow and Access Control Violations in Software Architectures.
Walter et al. Architectural attack propagation analysis for identifying confidentiality issues
Tan et al. Certificates for mobile code security
Levin et al. Analysis of three multilevel security architectures
JP7422584B2 (ja) アプリケーション開発支援システム、アプリケーション開発支援方法
Young et al. Coding for a believable specification to implementation mapping
Jakobs Speed up configurable certificate validation by certificate reduction and partitioning
Tsai et al. Simulation verification and validation by dynamic policy specification and enforcement
Hollow et al. Approaches to certification of reconfigurable IMA systems
Atchadam et al. Combined security and schedulability analysis for MILS real-time critical architectures
Craigen et al. Ada95 Trustworthiness Study A Framework for Analysis
Liu A unified specification mining framework for smart contracts
Fritz et al. A Framework for Policy Based Negotiation
Abdellatif et al. An end-to-end security model for adaptive service-oriented applications
CN110008098A (zh) 评估业务流程中的节点的运行状况的方法和装置
Nguyen et al. High robustness requirements in a common criteria protection profile
Sheldon et al. Composing, analyzing and validating software models to assess the performability of competing design candidates

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230704

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230928

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: 20231226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240116

R150 Certificate of patent or registration of utility model

Ref document number: 7422584

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150