JP2022153237A - security test system - Google Patents
security test system Download PDFInfo
- Publication number
- JP2022153237A JP2022153237A JP2021145656A JP2021145656A JP2022153237A JP 2022153237 A JP2022153237 A JP 2022153237A JP 2021145656 A JP2021145656 A JP 2021145656A JP 2021145656 A JP2021145656 A JP 2021145656A JP 2022153237 A JP2022153237 A JP 2022153237A
- Authority
- JP
- Japan
- Prior art keywords
- transition
- security
- application
- scenario
- screen
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 75
- 230000007704 transition Effects 0.000 claims abstract description 96
- 238000007689 inspection Methods 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims abstract description 10
- 238000011161 development Methods 0.000 abstract description 43
- 238000000034 method Methods 0.000 abstract description 21
- 230000008569 process Effects 0.000 abstract description 15
- 238000012795 verification Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 33
- 238000007726 management method Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 18
- 238000001514 detection method Methods 0.000 description 9
- 238000003745 diagnosis Methods 0.000 description 9
- 208000032005 Spinocerebellar ataxia with axonal neuropathy type 2 Diseases 0.000 description 4
- 208000033361 autosomal recessive with axonal neuropathy 2 spinocerebellar ataxia Diseases 0.000 description 4
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、アプリケーションの開発技術に関し、特に、アプリケーションの脆弱性を検査するセキュリティテストシステムに適用して有効な技術に関するものである。 The present invention relates to application development technology, and more particularly to technology effectively applied to a security test system that inspects application vulnerabilities.
昨今のアプリケーションやシステムではネットワークの利用がほぼ前提となっており、セキュリティの管理は重要な要件となっている。 Recent applications and systems are almost premised on the use of networks, and security management is an important requirement.
アプリケーションやシステムにおけるセキュリティ管理の技術として、例えば、特開2005-134995号公報(特許文献1)には、パラメータ名と検査項目との対応関係を定義した設定ファイルを保持し、検査対象となるパラメータが指定されると、設定ファイルに基づいてこれに対応する検査項目を特定して、当該パラメータに対して実行することで、システム管理者がプログラムレベルでセキュリティ対策の状況を把握することを可能とするセキュリティ管理システムが記載されている。 As a technology for security management in applications and systems, for example, Japanese Patent Application Laid-Open No. 2005-134995 (Patent Document 1) discloses that a setting file that defines the correspondence between parameter names and inspection items is stored, and parameters to be inspected are stored. is specified, it is possible for the system administrator to grasp the status of security measures at the program level by identifying the corresponding inspection items based on the configuration file and executing them for the relevant parameters. It describes a security management system that
一方、このようなアプリケーションやシステムに対するセキュリティ管理を実施もしくは支援する仕組みに加えて、アプリケーションやシステムの開発段階においても、セキュリティホールや脆弱性等の有無を検査してこれを排除しておくことが求められている。この点、従来は、アプリケーションの開発工程(例えば、仕様策定→設計→実装→単体テスト→結合テスト→総合テスト)とは切り離された活動として、開発者や開発チームとは別の「セキュリティ診断士」のようなスペシャリストに依頼して診断を行ってもらい、セキュリティを担保するというのが通常であった。 On the other hand, in addition to the mechanism to implement or support security management for such applications and systems, it is also necessary to inspect and eliminate security holes and vulnerabilities at the development stage of applications and systems. It has been demanded. In this respect, conventionally, as an activity separated from the application development process (for example, specification formulation → design → implementation → unit test → integration test → comprehensive test), a "security consultant" separate from the developer and development team In the past, it was common to request a specialist such as the above to perform a diagnosis to ensure security.
アプリケーションの開発段階におけるセキュリティの担保を、「セキュリティ診断士」のようなスペシャリストに依頼して診断してもらうことには以下のような課題がある。すなわち、診断を行うスペシャリストや外部のベンダ等にスケジュールが依存してしまい、実施のスケジュールを自由にコントロールしにくい上に、リソースの状況によっては断られてしまい、診断すらできないこともある。 There are the following problems in requesting a specialist such as a "security diagnostician" to perform a security check at the development stage of an application. In other words, the schedule depends on the specialist who performs the diagnosis, an external vendor, etc., and it is difficult to freely control the implementation schedule.
また、発注や作業依頼のためのオーバーヘッドコストが大きく、細かい単位で柔軟に診断を依頼することが難しいため、例えば、ある程度開発テーマがまとまったタイミングで実施することになり、診断未了のままアプリケーションがリリースされてしまう場合もある。さらに、アプリケーションの開発工程とは別工程となるため、開発者側によるアプリケーションの動作に係るテスト工程が完了してからセキュリティの診断を実施するケースも多く、問題が検知されるタイミングが遅くなってその分手戻りのリスクやコストも大きくなってしまう。 In addition, the overhead cost for ordering and requesting work is large, and it is difficult to flexibly request diagnosis in small units. may be released. Furthermore, since this process is separate from the application development process, there are many cases where security diagnosis is performed after the developer has completed the test process related to the operation of the application, which delays the timing at which problems are detected. This increases the risk and cost of rework.
そこで本発明の目的は、アプリケーションの開発段階におけるセキュリティの担保を、アプリケーションの開発工程とは切り離された活動として「セキュリティ診断士」のようなスペシャリストが実施するのではなく、開発者や開発チームが一連の開発工程の中の一工程として組み込まれた「セキュリティテスト」として実施することを可能とするセキュリティテストシステムを提供することにある。 Therefore, the purpose of the present invention is to ensure security at the development stage of an application, not by a specialist such as a "security consultant" as an activity separate from the application development process, but by a developer or a development team. To provide a security test system that can be implemented as a "security test" incorporated as one step in a series of development steps.
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記載および添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will become apparent from the description of the specification and the accompanying drawings.
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。 A brief outline of typical inventions disclosed in the present application is as follows.
本発明の代表的な実施の形態であるセキュリティテストシステムは、アプリケーションにおけるセキュリティの脆弱性の有無を検査するセキュリティテストシステムであって、ユーザによるブラウザ上での前記アプリケーションに対する操作により発生するリクエスト/レスポンスの情報を含む画面遷移の情報を記録する遷移記録部と、複数の前記画面遷移の情報をマージした遷移グラフをグラフ記録部に遷移シナリオとして記録するシナリオ管理部と、前記遷移シナリオの内容に従って前記アプリケーションに対してリクエストを送信する遷移再現部と、前記遷移再現部により送信されたリクエストを取得して、指定された脆弱性の検査パターンに従って当該リクエストの内容を改変して前記アプリケーションに対して送信し、前記アプリケーションから受信したレスポンスの内容に基づいて前記指定された脆弱性の有無を検査する診断処理部と、を有するものである。 A security test system, which is a representative embodiment of the present invention, is a security test system that inspects the presence or absence of security vulnerabilities in an application. a transition recording unit for recording screen transition information including the information of; a scenario management unit for recording a transition graph obtained by merging a plurality of screen transition information as a transition scenario in the graph recording unit; a transition reproducing unit that transmits a request to an application; and a request transmitted by the transition reproducing unit that is obtained, modifies the contents of the request according to a specified vulnerability inspection pattern, and transmits the request to the application. and a diagnostic processing unit that inspects the presence or absence of the specified vulnerability based on the content of the response received from the application.
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。 Among the inventions disclosed in the present application, the effects obtained by representative ones are briefly described below.
すなわち、本発明の代表的な実施の形態によれば、アプリケーションの開発段階におけるセキュリティの担保を、開発者や開発チームが一連の開発工程の中の一工程として組み込まれた「セキュリティテスト」として実施することが可能となる。 That is, according to the representative embodiment of the present invention, the security guarantee at the application development stage is implemented as a "security test" incorporated as one step in a series of development processes by developers and development teams. It becomes possible to
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。一方で、ある図において符号を付して説明した部位について、他の図の説明の際に再度の図示はしないが同一の符号を付して言及する場合がある。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In principle, the same parts are denoted by the same reference numerals throughout the drawings for describing the embodiments, and repeated descriptions thereof will be omitted. On the other hand, parts that have been described with reference numerals in one drawing may be referred to with the same reference numerals, although they are not shown again in the description of other drawings.
<概要>
本発明の一実施の形態であるセキュリティテストシステムは、アプリケーションやシステムの開発段階において、その開発工程の中の一工程として、開発者や開発チームが独自に「セキュリティテスト」を実施することを可能とする情報処理システムである。
<Overview>
The security test system, which is one embodiment of the present invention, enables developers and development teams to independently conduct "security tests" as one step in the development process of applications and systems. It is an information processing system that
これにより、例えば、開発チームにおいてテストの一つとして実施することができるため、外部のベンダ等の都合に合わせる必要がなく、開発の進捗に合わせてスケジュールを調整していつでもテストすることが可能となる。また、開発における内部プロセスとして実施するため、発注や作業依頼のためのオーバーヘッドコストがないことから、開発やリリースの単位に合わせた柔軟で細かい単位での実施が可能となり、セキュリティがチェックされていない(完了していない)状態でのリリースがされるのを防止することができる。さらに、モジュール間での機能疎通がとれるようになったタイミングで個々のモジュールごとにセキュリティテストを実施することが可能となるため、早期にテストを実施して問題を洗い出すことが可能となる。また、修正後の再確認もすぐに行えるため、問題発見→修正のサイクルを効率的に回してセキュリティを強固にしていくことが可能となる。 As a result, for example, it can be implemented as one of the tests in the development team, so there is no need to match the convenience of external vendors, etc., and it is possible to adjust the schedule according to the progress of development and test at any time. Become. In addition, since it is implemented as an internal process in development, there is no overhead cost for ordering or requesting work, so it can be implemented in flexible and detailed units according to the unit of development and release, and security is not checked. It is possible to prevent a release in the (not completed) state from being done. Furthermore, since it becomes possible to implement a security test for each individual module at the timing when functional communication between modules becomes possible, it is possible to carry out the test at an early stage and identify problems. In addition, since reconfirmation after correction can be performed immediately, it is possible to efficiently rotate the cycle of problem discovery → correction to strengthen security.
アプリケーションの開発工程にセキュリティテストを組み込むとした場合でも、例えば、開発チームにセキュリティの知識を持ったエンジニアがいない、もしくはそもそもセキュリティに取り組んだことがない、何らかのツールを用いるとしても、セキュリティエンジニア向けのツールでは開発チームで使いこなせない、ツールのコストが高いなど、通常は容易に組み込むことは難しい。 Even if security testing is incorporated into the application development process, for example, there are no engineers with security knowledge in the development team, or even if some tools are used that have never worked on security in the first place. Usually, it is difficult to easily incorporate tools, such as the development team not being able to master them and the tools being expensive.
そこで本実施の形態では、セキュリティの知識をもったエンジニア向けではなく、「開発者」向けのセキュリティテストシステムとすることで、開発工程に容易に組み込むことを可能とするものである。具体的には、例えば、クラウドサービスとして実装することで、サーバ機器等のセットアップなどを必要とせずに、テストシナリオの登録から実行・結果確認までを開発者がブラウザで行うことができるようにする。そして、テストシナリオ(画面遷移)の登録やテストの実行について、画面遷移の部分単位で各開発者が柔軟に行えるようにするとともに、シナリオやテスト結果の情報を開発チームで共有できるようにすることで、必要な部分だけを必要なタイミングで対応可能な開発者がテストする等、効率的でスピーディーなテスト実施と管理を可能とするものである。 Therefore, in this embodiment, the security test system is designed not for engineers with security knowledge, but for "developers", so that it can be easily incorporated into the development process. Specifically, for example, by implementing it as a cloud service, without the need to set up server equipment, etc., developers can perform everything from registering test scenarios to executing them and checking results using a browser. . Each developer should be able to flexibly register test scenarios (screen transitions) and execute tests for each part of the screen transitions, and share scenario and test result information with the development team. This enables efficient and speedy test execution and management, such as having developers who can handle only the necessary parts test at the necessary timing.
<システム構成>
図1は、本発明の一実施の形態であるセキュリティテストシステムの構成例について概要を示した図である。セキュリティテストシステム1は、例えば、サーバ機器やクラウドコンピューティングサービス上に構築された仮想サーバ等によりサーバシステムとして構成されたセキュリティテストサーバ3と、各開発者がそれぞれ使用するパーソナルコンピュータ(PC)等の情報処理端末であるユーザ端末2とからなり、これらが図示しないインターネットやVPN(Virtual Private Network)、LAN(Local Area Network)などのネットワークを介して相互に接続される構成を有する。
<System configuration>
FIG. 1 is a diagram showing an overview of a configuration example of a security test system that is an embodiment of the present invention. The
そして、ユーザ端末2やセキュリティテストサーバ3は、それぞれ、図示しない開発用のサーバシステム等にアクセスして、開発中のアプリケーションやシステム、すなわちセキュリティテストの対象である対象アプリケーション4を実行させることができる。
Then, the
ユーザ端末2は、例えば、ブラウザ20を備え、開発者からの指示や操作に基づいて、ブラウザ20を介して対象アプリケーション4を実行することができる。また、セキュリティテストサーバ3にアクセスして、対象アプリケーション4に係るセキュリティテストの実施やテストシナリオの登録、テスト結果の確認などを行うことができる。ブラウザ20は、ユーザが拡張機能やアドオンを実装することができるAPI(Application Programming Interface)等のインタフェースを有するものであれば、一般的に用いられているWebブラウザを適宜使用することができる。以下では、特に断らない限りブラウザ20としてGoogle Chrome(登録商標、以下同じ)を用いるものとして説明する。
The
ブラウザ20は、拡張機能やアドオン(Google Chromeの場合はExtensions)として実装された遷移記録部21を有する。遷移記録部21は、ブラウザ20上でユーザが対象アプリケーション4を実行・操作した際における、ブラウザ20が送信したリクエストと受信したレスポンスの組合せを記録することで、ユーザによる操作や画面遷移を記録する機能を有する。記録した情報は、後述するセキュリティテストサーバ3に送られ、これに基づいて遷移シナリオが生成・登録される。なお、Webブラウザがアプリケーションとの間で授受するリクエストとレスポンスに基づいて画面遷移を記録し、さらに、記録したリクエストの内容を改変することで画面遷移や動作内容を変更する手法については、一般的なWebアプリケーションのテストツールにおいて広く用いられていることから、詳細な説明は行わない。
The browser 20 has a
セキュリティテストサーバ3は、図示しないCPU(Central Processing Unit)により、HDD(Hard Disk Drive)等の記録装置からメモリ上に展開したOS(Operating System)、Webサーバ等のミドルウェアや、その上で稼働するソフトウェアを実行することで、開発チームによるセキュリティテストの実施に係る後述する各種機能を実現する。なお、本実施の形態では、セキュリティテストサーバ3は、クラウドコンピューティングサービス上に構築された仮想サーバにより実装するものとする。
The
このセキュリティテストサーバ3は、例えば、ソフトウェアにより実装されたUI処理部31、基盤機能部32、シナリオ管理部33、遷移再現部34、診断処理部35、およびテナント管理部36などの各部を有する。また、データベースやファイル等により実装されたグラフデータベース(DB)37、診断データDB38、およびユーザDB39などの各データストアを有する。
The
UI処理部31は、例えば、図示しないWebサーバプログラムを介してユーザ端末2上のブラウザ20からの要求を受け、後述するようなセキュリティテストに係る各種の管理画面やテストの実行に係る画面等をブラウザ20に表示する機能を有する。基盤機能部32は、セキュリティテストサーバ3での各種処理の際に各部により共通的に用いられる各種の基盤機能を提供する機能を有する。基盤機能としては、例えば、いわゆるCI/CD(継続的インテグレーション/継続的デリバリー)環境、本システム自体のセキュリティ機能やログ管理機能などが含まれる。
For example, the
シナリオ管理部33は、例えば、ブラウザ20により記録された画面遷移等に係る情報に基づいて、後述するように、対象アプリケーション4の画面遷移に係る構造を有向グラフ(遷移グラフ)として表現し、これをグラフDB37に保持する機能を有する。また、ユーザから指定された検査対象のURL(Uniform Resource Locator)に対して、当該URLに至る最適経路(遷移シナリオ)を遷移グラフに基づいて生成し、出力する機能を有する。
For example, the
遷移再現部34は、例えば、シナリオ管理部33により生成された遷移シナリオに係るリクエストを生成して、対象アプリケーション4に対して送信することで画面遷移を再現する機能を有する。診断処理部35は、例えば、セキュリティテストを実施する際に、遷移再現部34が対象アプリケーション4に対して送信したリクエストをインターセプトして、ユーザに指定された1つもしくは複数のシグネチャ(検査対象の脆弱性ごとの検査のパターン)に従ってパラメータを書き換え、そのレスポンスを判定することで、セキュリティホールや脆弱性の有無を診断し、診断結果を診断データDB38に記録する機能を有する。
The
テナント管理部36は、例えば、複数の開発者が共同もしくは分担してセキュリティテストを行えるようにするためのチームの管理やテナント(契約者)の管理を行う機能を有する。開発者やチーム、テナントの情報についてはユーザDB39に登録する。
The
<ユースケース>
図2は、本発明の一実施の形態におけるセキュリティテストのユースケースの例について概要を示した図である。検査対象の画面(URL)に対するセキュリティテストを実施するためには、検査対象の画面に実際に遷移する必要がある。本実施の形態では、まず、ユーザは、ブラウザ20の拡張機能である遷移記録部21により、検査対象の画面に至るまでのブラウザ20上での操作をレコード(記録)することで、画面遷移の情報を登録する(S1)。一度登録した遷移情報は、他のユーザも含めて繰り返し再利用することができる。
<Use case>
FIG. 2 is a diagram outlining an example of a security test use case according to an embodiment of the present invention. In order to perform a security test on the screen (URL) to be inspected, it is necessary to actually transition to the screen to be inspected. In this embodiment, first, the user records (records) operations on the browser 20 up to the screen to be inspected using the
その後、ユーザは、検査対象の画面(URL)と、シグネチャ(検査パターン)を選択してスキャン(脆弱性検査)を実行する(S2)。ここでは、セキュリティテストサーバ3の遷移再現部34および診断処理部35により、開発サーバ上の対象のURLにアクセスして、書き換えたリクエストを投げ続けることになる。
Thereafter, the user selects a screen (URL) to be inspected and a signature (inspection pattern), and executes scanning (vulnerability inspection) (S2). Here, the
スキャンの実施後は、検知された脆弱性について、ユーザ(対象のテストを実施した者自身であってもよいし、開発チームのリーダーや担当者、上司等の承認権者であってもよい)がトリアージ(検査結果精査)を行う(S3)。すなわち、検知された脆弱性が誤検知によるものか否かの判定、および当該脆弱性に対する対応の要否の判定を行う。検査結果については、複数のユーザがそれぞれ行ったスキャン結果を統合・マージして一元的に管理するため、ユーザは、自身が一部の小さい単位のスキャンのみを行っていたとしても、全体の検査結果の一覧を見れば、自身が行ったスキャンの結果も含めて全体の状況を把握することができる。なお、トリアージを行うには一定の知識や経験が必要となるため、脆弱性の解説や、検知時のログ情報、過去のトリアージ時のコメント等の付随情報が重要となり、これらを当該脆弱性に関連付けて管理・提示できるようにするのが望ましい。 After the scan is performed, the user (it may be the person who performed the target test, or the person in charge of the development team, the person in charge, or the approval authority such as the superior) will be notified of the detected vulnerabilities. performs triage (scrutinization of test results) (S3). That is, it determines whether or not the detected vulnerability is caused by false detection, and determines whether or not countermeasures are necessary for the vulnerability. As for the inspection results, the scan results performed by multiple users are integrated and merged and managed centrally. By looking at the list of results, you can grasp the overall situation, including the results of the scans you have performed. Since a certain level of knowledge and experience is required to perform triage, accompanying information such as commentary on the vulnerability, log information at the time of detection, and comments at the time of past triage are important. It is desirable to be able to manage and present them in association with each other.
検知された脆弱性については、開発者がこれを修正する(S4)。修正後は、脆弱性が解消されていることを確認するため、ステップS2に戻って、スキャン以降の一連のステップを脆弱性が解消されるまで繰り返す。本実施の形態では、上述したように、スキャンの際に検査対象のURLとシグネチャを指定して、小さい単位でスキャンすることができるため、修正後のスキャンでは、修正した箇所だけに絞り込んでスキャンして効率的に確認することが可能である。 The developer fixes the detected vulnerability (S4). After correction, in order to confirm that the vulnerability has been resolved, the process returns to step S2 and repeats the series of steps after the scan until the vulnerability is resolved. In this embodiment, as described above, the URL and signature to be inspected can be specified at the time of scanning, and scanning can be performed in small units. It is possible to check efficiently by
<遷移シナリオ管理>
図3は、本発明の一実施の形態における遷移シナリオの管理の例について概要を示した図である。上述の図2のステップS1においてブラウザ20の遷移記録部21によりレコードされた画面遷移の情報について、本実施の形態では、図3の左側の図に示すように、遷移中の各画面をノードとし、画面間の遷移をエッジとした有向グラフ(遷移グラフ)として表現し、グラフDB37に登録して保持する。このとき、例えば、「1」→「2」→「3」→「4」の経路の遷移と、「1」→「2」→「5」→「4」の経路の遷移における「1」、「2」、「4」のノードのように、複数のレコード結果において共通する画面については同一のノードにマージして表す。これにより、遷移した画面について遷移グラフ上のリンク(経路)をたどって当該画面をノードとして追加する(レコードする)ことで、リンク網が大きくなり、到達可能な検査対象のURLが増えていくことになる。
<Transition scenario management>
FIG. 3 is a diagram showing an overview of an example of transition scenario management in one embodiment of the present invention. Regarding the screen transition information recorded by the
ユーザにより検査対象のURLが指定されると、セキュリティテストサーバ3のシナリオ管理部33は、遷移グラフから最適経路を生成する。例えば、図3の左側の図の遷移グラフにおいて、検査対象のURLとして「9」のノード(画面)が指定された場合に、ここに至る最適経路として、「1」→「6」→「7」→「9」の経路を生成する。なお、この最適経路は、必ずしも最短経路であることを要するものではない。生成された経路が図3の右側の図に示すように遷移シナリオとなり、この遷移に従ってスキャン(脆弱性検査)が行われる。
When the user designates a URL to be inspected, the
なお、遷移シナリオには、画面遷移の経路に加えて、例えば、各画面間の遷移を発生させるために必要となる画面操作(アクション)をレコードした情報も含まれる。例えば、「1」の画面から「6」の画面に遷移させるためには、「詳細」をクリックした後、「ユーザ情報」のボタンをクリックするアクションが必要であることを示している。これらの情報は、例えば、ブラウザ20が発生させるDOM(Document Object Model)のイベントや、XPath(XML Path Language)等により取得した当該画面のロケータ情報として表すことができる。 In addition to the screen transition path, the transition scenario also includes, for example, information in which screen operations (actions) required to generate transitions between screens are recorded. For example, in order to make the transition from screen "1" to screen "6", it is necessary to click "details" and then click the "user information" button. These pieces of information can be expressed, for example, as DOM (Document Object Model) events generated by the browser 20, or locator information of the relevant screen acquired by XPath (XML Path Language) or the like.
図4は、本発明の一実施の形態における遷移シナリオの記録手法の例について概要を示したシーケンス図である。まず、ユーザが、ブラウザ20上で対象の画面(URL)に至るまで操作を行うことで、ブラウザ20の拡張機能の遷移記録部21が、対象の画面までの遷移を記録する(図中1)。遷移記録部21は、シナリオ管理部33に対して、記録した遷移がグラフDB37に登録されているか否かを確認する(図中2)。シナリオ管理部33は、対象のURLに到達するまでの最適経路の遷移シナリオを生成して返却する(図中3)。
FIG. 4 is a sequence diagram outlining an example of a transition scenario recording method according to an embodiment of the present invention. First, the user operates the browser 20 up to the target screen (URL), and the
その後、ユーザが、ブラウザ20上のローカル環境で、返却された遷移シナリオに基づいて画面遷移を再現できるか否かをテストし(図中4)、結果がOKの場合は、対象のURLまでの画面遷移をシナリオ管理部33に対して本登録する(図中5)。シナリオ管理部33では、遷移シナリオをグラフDB37に本登録した上で、これを遷移再現部34に送信する(図中6)。そして、遷移再現部34は、取得した遷移シナリオに基づいて対象アプリケーション4に対してリクエストを送信して画面遷移を再現できるか否かをテストする(図中7)。テストがOKの場合は、シナリオ管理部33により、対象の遷移シナリオをスキャン可能であるとしてグラフDB37に登録する(図中8)。
After that, the user tests whether or not the screen transition can be reproduced based on the returned transition scenario in the local environment on the browser 20 (4 in the figure). The screen transition is officially registered with the scenario management unit 33 (5 in the figure). The
その後、ユーザは、シナリオ管理部33を介してブラウザ20に一覧表示等されたスキャン可能なURLの中から検査対象のURLを選択し、シグネチャを指定してスキャンの実行を指示する(図中9)。シナリオ管理部33では、指定されたURLに係る遷移シナリオを、グラフDB37に登録された遷移グラフに基づいて生成し、遷移再現部34により対象アプリケーション4上で遷移シナリオに従った画面遷移を再現するとともに、診断処理部35によりリクエストをインターセプトしてパラメータを書き換えることで、指定されたシグネチャに対する脆弱性検査を実行する(図中10)。
After that, the user selects a URL to be inspected from the list of scannable URLs displayed in the browser 20 via the
<脆弱性検査結果の統合>
本実施の形態では、複数のユーザがそれぞれ個別に行った複数のスキャンの結果について、対象のURL、指定したパラメータ、および検知された脆弱性の組み合わせを単位として、同様の結果があった場合でもこれらをマージすることで、一元的に管理する。これにより、各ユーザは、それぞれが小さい単位でスキャンを繰り返していたとしても、自身が行ったスキャンの結果も含めて開発チーム全体の検査結果の状況を把握することができる。
<Integration of vulnerability inspection results>
In this embodiment, for the results of multiple scans individually performed by multiple users, even if there are similar results in units of combinations of target URLs, specified parameters, and detected vulnerabilities, By merging these, centrally managed. As a result, even if each user repeats scans in small units, each user can grasp the status of the inspection results of the entire development team, including the results of the scans performed by the user himself/herself.
図5は、本発明の一実施の形態における脆弱性検査結果を統合する例について概要を示した図である。図中の左側では、対象のURLに対する「スキャン1」の結果として、「パラメータA」、「パラメータB」、および「パラメータC」を指定した場合に脆弱性が検知され、また、対象のURLに対する別の「スキャン2」の結果として、「パラメータA」を指定した場合に「スキャン1」と同様の脆弱性が検知され、「パラメータB」、および「パラメータC」を指定した場合には脆弱性は検知されなかったという例を示している。 FIG. 5 is a diagram showing an overview of an example of integrating vulnerability inspection results according to one embodiment of the present invention. On the left side of the figure, vulnerabilities are detected when "parameter A", "parameter B", and "parameter C" are specified as a result of "scan 1" for the target URL. As a result of another "scan 2", a vulnerability similar to "scan 1" is detected when "parameter A" is specified, and a vulnerability is detected when "parameter B" and "parameter C" are specified. is not detected.
本実施の形態では、これら「スキャン1」と「スキャン2」の検査結果を統合(マージ)して一元化する。図中の右側では、マージした検査結果の例を示しており、対象のURLについて「パラメータA」ではいずれのスキャンでも同様の脆弱性が検知されたことから、検査結果が「検知」と設定されていることを示している。 In the present embodiment, the inspection results of these "scan 1" and "scan 2" are unified (merged). The right side of the figure shows an example of the merged inspection results. Since the same vulnerability was detected in both scans for "parameter A" for the target URL, the inspection result is set to "detected." indicates that
また、「パラメータB」では「スキャン1」で脆弱性が検知されたものの、その後の「スキャン2」では検知されず、その間に修正対応がされていた(例えば、いずれかのスキャン結果に対してこのようなコメントが残されていた等)ということで、検査結果が「対応済み」と設定されていることを示している。また、「パラメータC」では「スキャン1」で脆弱性が検知されたが、誤検知であると判断されている場合、その後の「スキャン2」で再度脆弱性が検知されたとしても、検査結果が自動的に「誤検知」と設定され、改めて検知結果を精査する必要がないことを示している。
Also, for "parameter B", although a vulnerability was detected in "scan 1", it was not detected in the subsequent "scan 2", and corrective measures were taken during that time (for example, for one of the scan results Such comments were left, etc.), indicating that the inspection result is set as "solved". In addition, if a vulnerability was detected in "
図6は、本発明の一実施の形態における脆弱性検査結果を統合する際のルールの例について概要を示した図である。ここでは、同一のURLに対して同一のパラメータで行った2つの脆弱性検査の結果について、一方の結果に他方の結果をマージするときに脆弱性の検知状況をどのように設定するかの例を示している。なお、3つ以上の検査結果がある場合は、例えば、時系列に沿って過去の検査結果から1つずつ順にマージしていくことで最終的に全ての検査結果をマージすることができる。 FIG. 6 is a diagram outlining an example of rules for integrating vulnerability inspection results according to an embodiment of the present invention. Here is an example of how to set the vulnerability detection status when merging one result with the other for the results of two vulnerability tests performed with the same parameters for the same URL. is shown. If there are three or more test results, for example, all the test results can be finally merged by merging the past test results one by one in chronological order.
図示するように、本実施の形態では、「検知」、「受容」、「誤検知」、「確認待ち」、および「対応済み」の5つの検知状況の遷移によって管理する。概ね、「検知」は脆弱性が検知されている状況、「受容」は当該脆弱性の存在を受け入れた状況、「誤検知」は検知されていた脆弱性が誤検知であったという状況、「確認待ち」は検知された脆弱性に対して修正等がなされたため検知されなくなったという状況において、脆弱性が実際に解消したか否かを確認中である状況、「対応済み」は脆弱性が解消したことが確認できた状況であることを示している。 As shown in the figure, in the present embodiment, five detection state transitions of "detected", "accepted", "erroneous detection", "waiting for confirmation", and "handled" are managed. In general, "detection" is the situation in which a vulnerability is detected, "acceptance" is the situation in which the existence of the vulnerability is accepted, and "false positive" is the situation in which the vulnerability that was detected was a false positive. "Waiting for Confirmation" indicates that the detected vulnerability has been corrected and is no longer detected, and that it is currently being confirmed whether or not the vulnerability has actually been resolved. This indicates that it has been confirmed that the problem has been resolved.
なお、複数の検査結果をマージするには、それぞれのURLが同一であることが必要となり、URLの同一性が問題となるが、URLが僅かに相違するだけで実質的には同一の画面であるということもある。したがって、実質的に同一であるURLを名寄せするためのルールや条件を設定できるようにしてもよい。 In order to merge multiple inspection results, each URL must be the same, and the sameness of the URL is a problem. Sometimes there is. Therefore, rules and conditions for merging substantially identical URLs may be set.
<ユーザインタフェース>
本実施の形態では、セキュリティテストサーバ3のUI処理部31によりブラウザ20に表示される画面(UI)として、SPA(Single Page Application)として実装され、主に複数の情報の一覧的な表示や、各種の設定を行う画面を表示するメインUIと、ブラウザ20の拡張機能により、主に一覧から選択された個別の事項の詳細な情報や、画面遷移の記録に係る内容を表示するサブUIを有する。
<User interface>
In the present embodiment, a screen (UI) displayed on the browser 20 by the
メインUIでは、例えば、テナント(契約)単位での情報と、開発チーム単位での情報、さらにチーム内の個人の単位での情報を表示する。テナント単位では、例えば、テナント内での開発チームの管理(チームの作成・削除・アーカイブなど)や、テナントの設定(請求・課金管理、テナント内で共通の設定など)に係る画面を表示する。また、個人単位では、例えば、個人設定(表示名やアイコン等の変更など)やパスワードの変更などを行う画面を表示する。 The main UI displays, for example, information for each tenant (contract), information for each development team, and information for each individual within the team. For each tenant, for example, screens related to development team management within a tenant (team creation, deletion, archiving, etc.) and tenant settings (billing/accounting management, common settings within a tenant, etc.) are displayed. In addition, on an individual basis, for example, a screen for personal setting (change of display name, icon, etc.) and password change is displayed.
開発チーム単位では、例えば、検査対象となるURLの一覧、スキャン結果の一覧などの画面を表示する。開発チームに係る各種の設定や、チームに所属するメンバーの管理を行う画面を表示してもよい。また、対象の開発チームについてのテスト状況等を示すダッシュボード画面を表示してもよい。 For each development team, for example, screens such as a list of URLs to be inspected and a list of scan results are displayed. A screen for managing various settings related to the development team and members belonging to the team may be displayed. Also, a dashboard screen may be displayed that shows the test status of the target development team.
図7は、本発明の一実施の形態におけるブラウザ20に表示される画面の例について概要を示した図である。図7では、検査対象のURLの一覧表示の例を示している。例えば、検査対象のURLの一覧からユーザにより選択されたURLについて、右側に表示されたサイドパネルにより詳細情報をシームレスに表示する。サイドパネルに表示する詳細情報としては、図示するものの他に、例えば、URLの詳細(URLの名称やカテゴリ等)、リクエスト/レスポンス(URLのリクエスト/レスポンスのパラメータ一覧)、当該URLに到達するための遷移シナリオ(例えば、図3の例に示したような図)、関連URL(検査対象のURLからリンクされているURLの一覧)などが含まれる。 FIG. 7 is a diagram showing an overview of an example of a screen displayed on the browser 20 according to one embodiment of the invention. FIG. 7 shows an example of a list display of URLs to be inspected. For example, for a URL selected by the user from a list of URLs to be inspected, detailed information is seamlessly displayed on the side panel displayed on the right side. In addition to the detailed information displayed on the side panel, for example, URL details (URL name, category, etc.), request/response (URL request/response parameter list), transition scenario (for example, a diagram as shown in the example of FIG. 3), related URLs (a list of URLs linked from the URL to be inspected), and the like.
図8は、本発明の一実施の形態におけるブラウザ20に表示される画面の他の例について概要を示した図である。図8では、脆弱性検査(スキャン)の結果一覧の例を示している。例えば、検知された脆弱性の一覧からユーザにより選択された脆弱性について、右側に表示されたサイドパネルにより詳細情報をシームレスに表示する。サイドパネルに表示する詳細情報としては、図示するように、例えば、脆弱性の情報(脆弱性の説明や対応方法)、検知の詳細内容(実際に検査を行った際のリクエスト/レスポンス)、トリアージの内容(過去の検知結果や精査の判定結果、コメント等)などが含まれる。 FIG. 8 is a diagram outlining another example of the screen displayed on the browser 20 according to one embodiment of the present invention. FIG. 8 shows an example of a vulnerability check (scan) result list. For example, for vulnerabilities selected by the user from a list of detected vulnerabilities, the side panel displayed on the right seamlessly displays detailed information. Detailed information displayed on the side panel includes, as shown in the diagram, vulnerability information (vulnerability description and countermeasures), detection details (requests/responses when actually inspected), triage content (past detection results, judgment results of scrutiny, comments, etc.).
サブUIでは、例えば、ユーザがブラウザ20上で開いている画面に関連した情報を、ユーザが使用中の開発者ツール(例えば、Google Chromeの場合はDevTools)上に表示する。これにより、当該ユーザは対象アプリケーション4の開発中にシームレスにこれらの情報にアクセスしたり操作したりすることができ、生産性を向上させることができる。サブUIで表示する内容は、サブUI(ブラウザ拡張機能)に固有の機能である画面遷移のレコード機能に係る内容以外は、基本的に上述したメインUIにおいてサイドパネルに表示する内容と同様である。したがって、例えば、表示に係る各パーツをコンポーネントとして構成することで、メインUI(SPA)とサブUI(ブラウザ拡張機能)とで可能な限りパーツを共用することが望ましい。
In the sub UI, for example, information related to the screen that the user has opened on the browser 20 is displayed on the developer tools that the user is using (eg, DevTools in the case of Google Chrome). This allows the user to seamlessly access and operate this information during development of the
なお、サブUI(ブラウザ拡張機能)に固有の機能である画面遷移のレコード機能に係る内容を除き、他のユーザインタフェースに係る構成については、上述した構成に限られず、要件や制約等に応じて適宜の構成とすることができる。例えば、本実施の形態では、メインUIをSPAとして実装するものとしているが、他の実装方式であってもよい。 In addition, except for the content related to the screen transition recording function, which is a function specific to the sub UI (browser extension function), the configuration related to other user interfaces is not limited to the configuration described above, and may be changed according to requirements, restrictions, etc. It can be configured as appropriate. For example, in the present embodiment, the main UI is implemented as SPA, but other implementation methods may be used.
以上に説明したように、本発明の一実施の形態であるセキュリティテストシステム1によれば、「セキュリティテスト」を開発工程に容易に組み込んで、開発者や開発チームが独自に行うことが可能となる。具体的には、各開発者が行ったスキャンの結果を統合・マージして一元的に管理するため、各開発者がそれぞれ一部の小さい単位のスキャンのみを行っていたとしても、全体の検査結果の一覧を見ることで、自身が行ったスキャンの結果も含めて全体の状況を把握することが可能となる。
As described above, according to the
また、画面遷移のシナリオの登録に際して、各開発者がブラウザ20上で行った操作と画面遷移を、ブラウザ20の拡張機能として実装される遷移記録部21により記録し、有向グラフとして管理する。これにより、他の開発者が登録したものも含む既存の画面遷移を再利用することが可能となり、画面遷移の任意の箇所から柔軟に画面遷移を記録することができるとともに、スキャンについても一部の小さい単位に絞り込んで繰り返しスキャンするということが可能となる。すなわち、対象アプリケーション4のうち必要な部分だけを必要なタイミングで対応可能な開発者がテストする等、効率的でスピーディーなテスト実施と管理が可能となる。
Further, when registering screen transition scenarios, the operations and screen transitions performed by each developer on the browser 20 are recorded by the
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は上記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。 Although the invention made by the present inventor has been specifically described above based on the embodiments, the present invention is not limited to the above embodiments, and can be variously modified without departing from the scope of the invention. Needless to say.
なお、上記の実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、上記の実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。 It should be noted that the above embodiment has been described in detail in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to those having all the described configurations. Moreover, it is possible to add, delete, or replace some of the configurations of the above-described embodiments with other configurations.
例えば、図7の例の検査対象のURLの一覧や、図8の例の脆弱性検査(スキャン)の結果一覧において、各URLに対して、ユーザがスキャンを実行する前、又は、実行してスキャン結果を参照した際などに、対象URLに開発バージョン番号(開発内容を特定する番号)を入力し、各URLのスキャン結果と開発バージョン番号を関連付けて記録するような構成としてもよい。これにより、ユーザは、開発バージョン番号から、各スキャン結果や対象URLを検索して表示することも可能となる。 For example, in the list of URLs to be inspected in the example of FIG. 7 and the result list of vulnerability inspection (scan) in the example of FIG. It is also possible to input a development version number (a number specifying the content of development) to the target URL when referring to the scan result, and record the scan result of each URL and the development version number in association with each other. This enables the user to search and display each scan result or target URL from the development version number.
また、本実施の形態では、画面遷移の情報を有向グラフとして保持するものとしているが、同様の機能を実現できる他の方式により保持するものであってもよい。 In addition, in the present embodiment, screen transition information is held as a directed graph, but it may be held by another method that can realize a similar function.
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、またはICカード、SDカード、DVD等の記録媒体に置くことができる。 Further, each of the above configurations, functions, processing units, processing means, and the like may be realized by hardware, for example, by designing a part or all of them using an integrated circuit. Moreover, each of the above configurations, functions, etc. may be realized by software by a processor interpreting and executing a program for realizing each function. Information such as programs, tables, and files that implement each function can be stored in recording devices such as memories, hard disks, SSDs (Solid State Drives), or recording media such as IC cards, SD cards, and DVDs.
また、上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。 Further, in each of the above drawings, control lines and information lines are those considered to be necessary for explanation, and not all control lines and information lines for implementation are necessarily shown. In fact, it may be considered that almost all configurations are interconnected.
本発明は、アプリケーションの脆弱性を検査するセキュリティテストシステムに利用可能である。 INDUSTRIAL APPLICABILITY The present invention can be used for a security test system that inspects application vulnerabilities.
1…セキュリティテストシステム、2…ユーザ端末、3…セキュリティテストサーバ、4…対象アプリケーション、
20…ブラウザ、21…遷移記録部、
31…UI処理部、32…基盤機能部、33…シナリオ管理部、34…遷移再現部、35…診断処理部、36…テナント管理部、37…グラフDB、38…診断データDB、39…ユーザDB
1 -- security test system, 2 -- user terminal, 3 -- security test server, 4 -- target application,
20... browser, 21... transition recording unit,
31
Claims (1)
ユーザによるブラウザ上での前記アプリケーションに対する操作により発生するリクエスト/レスポンスの情報を含む画面遷移の情報を記録する遷移記録部と、
複数のユーザのコンピュータによりそれぞれ記録された複数の前記画面遷移の情報をマージした遷移グラフをグラフ記録部に遷移シナリオとして記録するシナリオ管理部と、
前記遷移シナリオの内容に従って前記アプリケーションに対してリクエストを送信する遷移再現部と、
前記遷移再現部により送信されたリクエストを取得して、指定された脆弱性の検査パターンに従って当該リクエストの内容を改変して前記アプリケーションに対して送信し、前記アプリケーションから受信したレスポンスの内容に基づいて前記指定された脆弱性の有無を検査する診断処理部と、を有し、
検査結果に対してユーザのコンピュータから指定されたコメントを当該検査結果に関連付けて記録し、当該記録したコメントをユーザのコンピュータに対して提示する、セキュリティテストシステム。 A security testing system for checking for security vulnerabilities in an application,
a transition recording unit that records screen transition information including request/response information generated by a user's operation of the application on a browser;
a scenario management unit for recording, in a graph recording unit, a transition graph obtained by merging a plurality of pieces of screen transition information respectively recorded by computers of a plurality of users, as a transition scenario;
a transition reproducing unit that transmits a request to the application according to the contents of the transition scenario;
acquiring the request transmitted by the transition reproducing unit, modifying the contents of the request according to the specified vulnerability inspection pattern and transmitting the request to the application, and based on the contents of the response received from the application a diagnostic processing unit that inspects the presence or absence of the specified vulnerability;
A security test system that records a comment specified by a user's computer on an inspection result in association with the inspection result, and presents the recorded comment to the user's computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021145656A JP2022153237A (en) | 2021-03-29 | 2021-09-07 | security test system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021055127A JP6942277B1 (en) | 2021-03-29 | 2021-03-29 | Security test system |
JP2021145656A JP2022153237A (en) | 2021-03-29 | 2021-09-07 | security test system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021055127A Division JP6942277B1 (en) | 2021-03-29 | 2021-03-29 | Security test system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022153237A true JP2022153237A (en) | 2022-10-12 |
Family
ID=77847063
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021055127A Active JP6942277B1 (en) | 2021-03-29 | 2021-03-29 | Security test system |
JP2021145656A Pending JP2022153237A (en) | 2021-03-29 | 2021-09-07 | security test system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021055127A Active JP6942277B1 (en) | 2021-03-29 | 2021-03-29 | Security test system |
Country Status (1)
Country | Link |
---|---|
JP (2) | JP6942277B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023094338A (en) * | 2021-12-23 | 2023-07-05 | エムオーテックス株式会社 | Vulnerability diagnosing device, control method of vulnerability diagnosing device, and vulnerability diagnosing program |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4745819B2 (en) * | 2005-12-26 | 2011-08-10 | 三菱電機株式会社 | Vulnerability determination system and inspection device |
JP4193196B1 (en) * | 2007-05-30 | 2008-12-10 | 株式会社ファイブドライブ | Web service providing system inspection apparatus and Web service providing system inspection program |
US10152559B2 (en) * | 2013-02-28 | 2018-12-11 | Kyoto University | Relational graph database system |
JP2016038627A (en) * | 2014-08-05 | 2016-03-22 | Kddi株式会社 | Monitoring system, observation apparatus, analyzer, monitoring method, and computer program |
-
2021
- 2021-03-29 JP JP2021055127A patent/JP6942277B1/en active Active
- 2021-09-07 JP JP2021145656A patent/JP2022153237A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2022152374A (en) | 2022-10-12 |
JP6942277B1 (en) | 2021-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7092868B2 (en) | Digital Asset Traceability and Guarantee with Distributed Ledger | |
Molyneaux | The art of application performance testing: from strategy to tools | |
US9910941B2 (en) | Test case generation | |
US10152367B2 (en) | System dump analysis | |
US10922212B2 (en) | Systems and methods for service catalog analysis | |
JP5246258B2 (en) | File generation program, file generation apparatus, and file generation method | |
Frantz et al. | A cloud‐based integration platform for enterprise application integration: A Model‐Driven Engineering approach | |
JP6283096B2 (en) | Program test service | |
US20170351509A1 (en) | Prototype management system | |
JP6942277B1 (en) | Security test system | |
JP5968451B2 (en) | Computer system and program | |
US11113357B2 (en) | Method and system for onboarding a virtual network function package utilized by one or more network services | |
Pillai | Software architecture with Python | |
CN117112060A (en) | Component library construction method and device, electronic equipment and storage medium | |
JP2010267265A (en) | Generation of driver for analysis of event-driven application | |
US9170796B2 (en) | Content space environment representation | |
US10326648B2 (en) | Virtual use of electronic design automation tools | |
Raab et al. | Unified Configuration Setting Access in Configuration Management Systems | |
KR102602534B1 (en) | Test automation system and method for testing system-on-chip design validation | |
Waseem et al. | Understanding the Issues, Their Causes and Solutions in Microservices Systems: An Empirical Study | |
Velozo et al. | Evaluation of a Mobile Software Development Company | |
Ochia | Unified System on Chip RESTAPI Service (USOCRS) | |
Serban et al. | BaseHub Platform for Monitoring IoT Devices | |
Ghorbani | Validation and Verification of Modular Software Applications | |
Fernandes | Desenvolvimento de um ERP com CI/CD, Autenticação e Auditoria do sistema |