[go: up one dir, main page]

JP2021068160A - Information processing system and information processing device - Google Patents

Information processing system and information processing device Download PDF

Info

Publication number
JP2021068160A
JP2021068160A JP2019192687A JP2019192687A JP2021068160A JP 2021068160 A JP2021068160 A JP 2021068160A JP 2019192687 A JP2019192687 A JP 2019192687A JP 2019192687 A JP2019192687 A JP 2019192687A JP 2021068160 A JP2021068160 A JP 2021068160A
Authority
JP
Japan
Prior art keywords
request
business
unit
framework
business processing
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
JP2019192687A
Other languages
Japanese (ja)
Other versions
JP7536436B2 (en
Inventor
近藤 健
Ken Kondo
健 近藤
貴宏 昼間
Takahiro Hiruma
貴宏 昼間
歩 岩佐
Ayumi Iwasa
歩 岩佐
達哉 戸島
Tatsuya Toshima
達哉 戸島
太田 茂
Shigeru Ota
茂 太田
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute 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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2019192687A priority Critical patent/JP7536436B2/en
Publication of JP2021068160A publication Critical patent/JP2021068160A/en
Application granted granted Critical
Publication of JP7536436B2 publication Critical patent/JP7536436B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】フレームワークの脆弱性に起因するリスクを低減する。【解決手段】業務処理部20は、OSSフレームワーク24により提供される機能を利用する業務アプリケーション(業務App28)を実行する。アダプタ部30は、クライアント装置14から送信された業務App28に対する複数種類のリクエストを受け付ける。アダプタ部30は、受け付けたリクエストを予め定められた単一形式のリクエストに変換し、変換後のリクエストを業務処理部20に渡す。【選択図】図2PROBLEM TO BE SOLVED: To reduce a risk caused by a vulnerability of a framework. A business processing unit 20 executes a business application (business App 28) that uses a function provided by an OSS framework 24. The adapter unit 30 receives a plurality of types of requests for the business App 28 transmitted from the client device 14. The adapter unit 30 converts the received request into a predetermined single format request, and passes the converted request to the business processing unit 20. [Selection diagram] Fig. 2

Description

この発明は、データ処理技術に関し、特に情報処理システムおよび情報処理装置に関する。 The present invention relates to a data processing technique, particularly to an information processing system and an information processing apparatus.

近年、業務処理に必要な機能を実装する複数のアプリケーション間で共通する機能をアプリケーションフレームワーク(以下単に「フレームワーク」と呼ぶ。)として実装し、アプリケーションはフレームワークの機能を利用することでシステム開発の効率化が図られることがある(例えば特許文献1参照)。 In recent years, functions common to multiple applications that implement functions required for business processing have been implemented as application frameworks (hereinafter simply referred to as "frameworks"), and applications are systems by using the functions of the framework. Development efficiency may be improved (see, for example, Patent Document 1).

特開2016−012272号公報Japanese Unexamined Patent Publication No. 2016-012272

フレームワークにセキュリティ上の脆弱性が存在する場合に、そのフレームワークを利用するアプリケーションに対する脆弱性の影響範囲を確認することは容易でない。また、脆弱性を解消するためにフレームワークをバージョンアップすることも考えられるが、アプリケーションがフレームワークの既存機能に強く依存する場合、フレームワークのバージョンアップが困難なこともあった。 When a framework has a security vulnerability, it is not easy to check the range of impact of the vulnerability on the application that uses the framework. It is also possible to upgrade the framework in order to eliminate the vulnerability, but if the application strongly depends on the existing functions of the framework, it may be difficult to upgrade the framework.

本発明は、上記課題を鑑みてなされたものであり、1つの目的は、フレームワークの脆弱性に起因するリスクを低減することにある。 The present invention has been made in view of the above problems, and one object is to reduce the risk caused by the vulnerability of the framework.

上記課題を解決するために、本発明のある態様の情報処理システムは、アプリケーションフレームワークにより提供される機能を利用する業務アプリケーションを実行する業務処理部と、外部装置から送信された業務アプリケーションに対する複数種類のリクエストを受け付け、受け付けたリクエストを予め定められた単一形式のリクエストに変換し、変換後のリクエストを業務処理部に渡すアダプタ部と、を備える。 In order to solve the above problems, the information processing system of a certain aspect of the present invention includes a business processing unit that executes a business application that uses a function provided by an application framework, and a plurality of business applications transmitted from an external device. It includes an adapter unit that accepts types of requests, converts the received request into a predetermined single format request, and passes the converted request to the business processing unit.

本発明の別の態様は、情報処理装置である。この装置は、アプリケーションフレームワークにより提供される機能を利用する業務アプリケーションに対するリクエストであって、外部装置から送信された複数種類のリクエストを受け付ける受付部と、受付部により受け付けられたリクエストを予め定められた単一形式のリクエストに変換し、変換後のリクエストを業務アプリケーションを実行するプロセスに渡す変換部と、を備える。 Another aspect of the present invention is an information processing apparatus. This device is a request for a business application that uses a function provided by an application framework, and a reception unit that accepts a plurality of types of requests transmitted from an external device and a request received by the reception unit are predetermined. It is provided with a conversion unit that converts the converted request into a single format request and passes the converted request to the process that executes the business application.

なお、以上の構成要素の任意の組合せ、本発明の表現を、装置、方法、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。 It should be noted that any combination of the above components and the expression of the present invention converted between a device, a method, a computer program, a recording medium in which the computer program is stored, and the like are also effective as aspects of the present invention.

本発明によれば、フレームワークの脆弱性に起因するリスクを低減することができる。 According to the present invention, the risk caused by the vulnerability of the framework can be reduced.

実施例の通信システムの構成を示す図である。It is a figure which shows the structure of the communication system of an Example. 図1の業務処理装置の機能ブロックを示すブロック図である。It is a block diagram which shows the functional block of the business processing apparatus of FIG. 引数解決オブジェクトの一部を示す図である。It is a figure which shows a part of an argument resolution object. 業務処理装置におけるリクエスト変換の例を示す図である。It is a figure which shows the example of the request conversion in a business processing apparatus.

実施例のシステム(後述の業務処理装置12)は、所定のフレームワークの機能を利用する業務アプリケーション(以下「業務App」とも呼ぶ。)を実行する。実施例のシステムは、業務Appに対してフレームワークの脆弱性が影響する範囲が限定されたソフトウェアスタックとなるように構成される。また、実施例のシステムでは、業務Appに影響を及ぼすフレームワークの脆弱性が発覚した場合に、業務Appに手を加えずに脆弱性に対応可能となるポイントを設ける。これにより、フレームワークの脆弱性に対して迅速かつ柔軟な対応を可能にする。 The system of the embodiment (business processing device 12 described later) executes a business application (hereinafter, also referred to as “business application”) that uses a function of a predetermined framework. The system of the embodiment is configured to be a software stack in which the range affected by the framework vulnerability on the business application is limited. Further, in the system of the embodiment, when a framework vulnerability that affects the business application is discovered, a point is provided so that the vulnerability can be dealt with without modifying the business application. This enables quick and flexible response to framework vulnerabilities.

なお、脆弱性とは、コンピュータプログラムの不具合や設計上のミスが原因となって発生した情報セキュリティ上の欠陥のことをいう。フレームワークの脆弱性を突いた攻撃には、特定のデータ列を含むリクエストを送りつけることによって、任意のコードを実行させることや、任意のOS(Operating System)のコマンドを実行させること、任意のファイルを参照すること等がある。 A vulnerability is an information security defect caused by a computer program defect or a design error. Attacks that exploit vulnerabilities in the framework can be executed by sending a request containing a specific data string to execute arbitrary code, or to execute an arbitrary OS (Operating System) command. You may refer to a file.

図1は、実施例の通信システムの構成を示す。通信システム10は、業務処理装置12、クライアント装置14a、クライアント装置14b、クライアント装置14c(総称する場合「クライアント装置14」と呼ぶ。)を備える。業務処理装置12とクライアント装置14は、LAN・WAN・インターネット等を含む通信網16を介して接続される。 FIG. 1 shows the configuration of the communication system of the embodiment. The communication system 10 includes a business processing device 12, a client device 14a, a client device 14b, and a client device 14c (collectively referred to as "client device 14"). The business processing device 12 and the client device 14 are connected via a communication network 16 including a LAN, WAN, Internet, and the like.

業務処理装置12は、企業等の業務を支援するサービスを提供する情報処理装置である。クライアント装置14は、業務処理装置12が提供するサービスを利用する情報処理装置である。クライアント装置14は、業務処理装置12が実行する業務アプリケーションに対するリクエストを業務処理装置12へ送信する。 The business processing device 12 is an information processing device that provides a service that supports the business of a company or the like. The client device 14 is an information processing device that uses the service provided by the business processing device 12. The client device 14 transmits a request for a business application executed by the business processing device 12 to the business processing device 12.

図2は、図1の業務処理装置12の機能ブロックを示すブロック図である。本明細書のブロック図で示す各ブロックは、ハードウェア的には、コンピュータのプロセッサ、CPU、メモリをはじめとする素子や電子回路、機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。 FIG. 2 is a block diagram showing a functional block of the business processing device 12 of FIG. Each block shown in the block diagram of the present specification can be realized by an element such as a computer processor, a CPU, and a memory, an electronic circuit, and a mechanical device in terms of hardware, and can be realized by a computer program or the like in terms of software. However, here, the functional blocks realized by their cooperation are drawn. Therefore, it is understood by those skilled in the art that these functional blocks can be realized in various forms by combining hardware and software.

業務処理装置12は、業務処理部20とアダプタ部30を備える。業務処理部20は、アプリケーションコンテナとも言え、アプリケーションフレームワークが提供する機能を利用する業務Appを実行する。アダプタ部30は、アダプタコンテナとも言え、クライアント装置14から送信された業務Appに対する複数種類のリクエストを業務処理部20の前段で一旦受け付けるOS上のプロセスである。アダプタ部30は、受け付けたリクエストを予め定められた単一形式のリクエストに変換し、変換後のリクエストを業務処理部20に渡す。 The business processing device 12 includes a business processing unit 20 and an adapter unit 30. The business processing unit 20 can be said to be an application container, and executes a business application that uses a function provided by an application framework. The adapter unit 30 can be said to be an adapter container, and is a process on the OS that temporarily receives a plurality of types of requests for the business application transmitted from the client device 14 in the first stage of the business processing unit 20. The adapter unit 30 converts the received request into a predetermined single format request, and passes the converted request to the business processing unit 20.

業務処理部20とアダプタ部30の構成を詳細に説明する。業務処理部20は、サーブレットエンジン22、OSSフレームワーク24、ミドルウェア26、業務App28を含む。 The configuration of the business processing unit 20 and the adapter unit 30 will be described in detail. The business processing unit 20 includes a Servlet engine 22, an OSS framework 24, middleware 26, and a business App 28.

OSSフレームワーク24は、オープンソースのアプリケーションフレームワークであり、実施例では「Spring Framework」である。ミドルウェア26は、株式会社野村総合研究所が提供するフレームワーク製品である「オブジェクトワークス(登録商標)」である。業務App28は、OSSフレームワーク24およびミドルウェア26により提供される機能を利用するよう実装され、かつ、業務固有の機能が実装されたアプリケーションソフトウェアである。 The OSS framework 24 is an open source application framework, which is the "Spring Framework" in the examples. The middleware 26 is "Object Works (registered trademark)" which is a framework product provided by Nomura Research Institute, Ltd. The business application 28 is application software implemented so as to utilize the functions provided by the OSS framework 24 and the middleware 26, and the business-specific functions are implemented.

OSSフレームワーク24は、業務App28に対するリクエストを業務App28で処理可能なJava(登録商標)オブジェクトに変換する機能として、複数種類のリクエストに対応する複数種類の変換機能を備える。業務App28は、OSSフレームワーク24の変換機能を利用して、リクエストをJavaオブジェクトとして取得し、そのJavaオブジェクトのデータを用いて業務処理を実行する。 The OSS framework 24 includes a plurality of types of conversion functions corresponding to a plurality of types of requests as a function of converting a request for the business App 28 into a Java (registered trademark) object that can be processed by the business App 28. The business App 28 uses the conversion function of the OSS framework 24 to acquire the request as a Java object, and executes the business process using the data of the Java object.

アダプタ部30は、リクエスト受信部32、変換部34、リクエスト送信部36、レスポンス転送部38を含む。これら複数の機能ブロックに対応する複数のモジュールを含むコンピュータプログラムが、記録媒体に格納され、その記録媒体を介して業務処理装置12のストレージにインストールされてもよい。または、このコンピュータプログラムがネットワークを介して業務処理装置12のストレージにインストールされてもよい。業務処理装置12のCPUは、このコンピュータプログラムをメインメモリに読み出して実行することにより上記複数の機能ブロックの機能を発揮してもよい。 The adapter unit 30 includes a request receiving unit 32, a conversion unit 34, a request transmitting unit 36, and a response transfer unit 38. A computer program including a plurality of modules corresponding to the plurality of functional blocks may be stored in the recording medium and installed in the storage of the business processing apparatus 12 via the recording medium. Alternatively, this computer program may be installed in the storage of the business processing apparatus 12 via the network. The CPU of the business processing device 12 may exert the functions of the plurality of functional blocks by reading the computer program into the main memory and executing the program.

リクエスト受信部32は、複数のクライアント装置14から送信された複数種類のリクエストを受け付ける。複数種類のリクエストは、HTTP(Hyper Text Transfer Protocol)で規定された複数の通信メソッドを含む。例えば、GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE、PATCHを含む。また、通信データの形式も「https://www.iana.org/assignments/media-types/media-types.xhtml」のTemplate列に記載されるように複数存在する。 The request receiving unit 32 receives a plurality of types of requests transmitted from the plurality of client devices 14. The plurality of types of requests include a plurality of communication methods specified by HTTP (Hyper Text Transfer Protocol). For example, it includes GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH. In addition, there are a plurality of communication data formats as described in the Template column of "https://www.iana.org/assignments/media-types/media-types.xhtml".

変換部34は、リクエスト受信部32により受け付けられたリクエストを予め定められた単一形式のリクエストに変換する。変換部34により変換されるリクエストの形式は、JSON(JavaScript Object Notation)(「JavaScript」は登録商標)である。変換部34は、変換後のリクエストをリクエスト送信部36に渡す。リクエスト送信部36は、変換部34による変換後のリクエストを業務処理部20に送信し、すなわち、変換後のリクエストを業務App28を実行するプロセスに渡す。 The conversion unit 34 converts the request received by the request reception unit 32 into a predetermined single format request. The format of the request converted by the conversion unit 34 is JSON (JavaScript Object Notation) (“JavaScript” is a registered trademark). The conversion unit 34 passes the converted request to the request transmission unit 36. The request transmission unit 36 transmits the request converted by the conversion unit 34 to the business processing unit 20, that is, passes the converted request to the process that executes the business App 28.

レスポンス転送部38は、クライアント装置14からのリクエストに対するレスポンスデータであり、業務処理部20から送信されたレスポンスデータを受け付ける。レスポンス転送部38は、受け付けたレスポンスデータを変換せずにそのままリクエスト送信元のクライアント装置14へ送信する。 The response transfer unit 38 is the response data for the request from the client device 14, and receives the response data transmitted from the business processing unit 20. The response transfer unit 38 transmits the received response data to the client device 14 of the request transmission source as it is without converting it.

既述したように、実施例のOSSフレームワーク24はSpringである。通常では、Springを利用する業務App28の起動時に、リクエストをJavaオブジェクトに変換するための多くのリクエスト−Javaオブジェクト変換機能が有効化される。リクエスト−Javaオブジェクト変換機能は、例えば、リクエストパラメータ変換、パス変数変換、ボディ(JSON)変換、ボディ(フォーム)変換、ファイルアップロード、ヘッダ変換等を含む。実施例の業務処理部20では、Springが備える複数種類のリクエスト−Javaオブジェクト変換機能の一部を無効化するように構成される。言い換えれば、Springが備える複数種類のリクエスト−Javaオブジェクト変換機能のうちJSONデータをJavaオブジェクトに変換するために必要な機能(例えばボディ(JSON)変換、ヘッダ変換)のみ有効化する。 As mentioned above, the OSS framework 24 of the embodiment is Spring. Normally, many request-Java object conversion functions for converting a request into a Java object are enabled when the business App28 using Spring is started. The request-Java object conversion function includes, for example, request parameter conversion, path variable conversion, body (JSON) conversion, body (form) conversion, file upload, header conversion, and the like. The business processing unit 20 of the embodiment is configured to invalidate a part of the plurality of types of request-Java object conversion functions provided in Spring. In other words, of the plurality of types of request-Java object conversion functions provided by Spring, only the functions necessary for converting JSON data into Java objects (for example, body (JSON) conversion, header conversion) are enabled.

具体的には、通常では、Springを利用する業務App28の起動時に、リクエスト−Javaオブジェクト変換機能として、26種類の引数解決オブジェクト(HandlerMethodArgumentResolver)が生成される。図3は、引数解決オブジェクトの一部を示す。引数解決を行う際には、引数解決オブジェクトごとに引数解決を行うかを判定し(supportsParameterメソッド)、該当した最初の引数解決オブジェクトを使用して引数解決を行う(resolveArgumentメソッド)。 Specifically, normally, 26 types of argument resolution objects (HandlerMethodArgumentResolver) are generated as a request-Java object conversion function when the business App 28 using Spring is started. FIG. 3 shows a part of the argument resolution object. When performing argument resolution, it is determined whether to perform argument resolution for each argument resolution object (supportsParameter method), and argument resolution is performed using the first corresponding argument resolution object (resolveArgument method).

業務処理部20(ミドルウェア26およびOSSフレームワーク24)は、Springが提供する26種類の引数解決オブジェクトのうち図3の有効化対象欄で「○」を付した項番7、8以外の引数解決オブジェクトを無効化する。言い換えれば、業務処理部20は、業務App28の起動時に、図3の項番7、8の引数解決オブジェクトのみ起動する。図3の項番7、8の引数解決オブジェクトは、JSON形式のリクエスト処理に必要な引数解決オブジェクトである。 The business processing unit 20 (middleware 26 and OSS framework 24) resolves arguments other than the items 7 and 8 marked with "○" in the validation target column of FIG. 3 among the 26 types of argument resolution objects provided by Spring. Disable the object. In other words, the business processing unit 20 activates only the argument resolution objects of items 7 and 8 in FIG. 3 when the business App28 is activated. The argument resolution objects of items 7 and 8 in FIG. 3 are argument resolution objects required for request processing in JSON format.

このように、実施例の業務処理装置12では、クライアント装置14から送信されうる業務App28に対する複数種類のリクエストをアダプタ部30が一括して受け付ける。アダプタ部30は、受け付けうる複数種類のリクエストを単一形式(JSON形式)のリクエストに変換した上で、変換後のリクエストを業務処理部20に渡す。これにより、業務処理部20側で必要となるOSSフレームワーク24の機能(例えばリクエスト−Javaオブジェクト変換機能)の種類を低減し、OSSフレームワーク24に脆弱性が存在する場合のリスクを低減することができる。 As described above, in the business processing device 12 of the embodiment, the adapter unit 30 collectively receives a plurality of types of requests for the business App 28 that can be transmitted from the client device 14. The adapter unit 30 converts a plurality of types of requests that can be accepted into a single format (JSON format) request, and then passes the converted request to the business processing unit 20. As a result, the types of OSS framework 24 functions (for example, request-Java object conversion function) required on the business processing unit 20 side can be reduced, and the risk when a vulnerability exists in the OSS framework 24 can be reduced. Can be done.

また、実施例の業務処理装置12によると、クライアント装置14に対して業務処理部20(OSSフレームワーク24)の外部インタフェース仕様を隠蔽することで、業務処理部20の脆弱性(ここではSpringの脆弱性)を突いた攻撃を受けるリスクを低減することができる。攻撃者にとっては、外部インタフェース仕様が隠蔽されていないシステムを攻撃対象とすることが効率的であり、逆に、外部インタフェース仕様が隠蔽されたシステムは攻撃対象から早々に除外されやすいからである。 Further, according to the business processing device 12 of the embodiment, by hiding the external interface specifications of the business processing unit 20 (OSS framework 24) from the client device 14, the vulnerability of the business processing unit 20 (here, Spring) It is possible to reduce the risk of being attacked by exploiting a vulnerability). This is because it is efficient for an attacker to target a system in which the external interface specifications are not hidden, and conversely, a system in which the external interface specifications are hidden is likely to be excluded from the attack target at an early stage.

さらにまた、実施例の業務処理装置12では、リクエストが単一形式(JSON形式)に変換されることで不要となったOSSフレームワーク24のリクエスト−Javaオブジェクト変換機能を無効化する。これにより、仮に、変換後のリクエストの処理に不要なOSSフレームワーク24のリクエスト−Javaオブジェクト変換機能に脆弱性が見つかっても、業務App28への影響を低減でき、例えば、業務App28の改修の必要性を低減できる。 Furthermore, in the business processing device 12 of the embodiment, the request-Java object conversion function of the OSS framework 24, which is no longer needed because the request is converted into a single format (JSON format), is invalidated. As a result, even if a vulnerability is found in the request-Java object conversion function of the OSS framework 24, which is unnecessary for processing the request after conversion, the impact on the business App 28 can be reduced. For example, it is necessary to repair the business App 28. The sex can be reduced.

さらにまた、これまではアダプタという概念がなかったため、フレームワークに脆弱性が存在した場合、フレームワークをバージョンアップする必要があった。しかし、フレームワークとアプリケーションとは密に結合しており、フレームワークをバージョンアップするとアプリケーション全体の再テストが必要になるため、フレームワークのアップデータは現実的に困難なことがあった。実施例の業務処理装置12の構成によると、OSSフレームワーク24に脆弱性が存在しても、アダプタ部30の変換機能でその脆弱性による悪影響を回避できる場合、アダプタ部30の変換機能をバージョンアップ(改修や機能追加等)することで対応でき、業務App28への影響を回避することができる。 Furthermore, since there was no concept of an adapter so far, if there was a vulnerability in the framework, it was necessary to upgrade the framework. However, the framework and the application are tightly coupled, and upgrading the framework requires retesting the entire application, so updating the framework can be practically difficult. According to the configuration of the business processing device 12 of the embodiment, even if there is a vulnerability in the OSS framework 24, if the conversion function of the adapter unit 30 can avoid the adverse effect due to the vulnerability, the conversion function of the adapter unit 30 is versioned. It can be dealt with by improving (repairing, adding functions, etc.), and it is possible to avoid the influence on business App28.

以上の構成による業務処理装置12の動作を説明する。
図4は、業務処理装置12におけるリクエスト変換の例を示す。クライアント装置14は、業務処理装置12に対してHTTP−POSTのリクエストデータ(オリジナルリクエスト40)を送信する(S1)。業務処理装置12のアダプタ部30は、オリジナルリクエスト40をJSON形式に変換する。具体的には、アダプタ部30の変換部34は、オリジナルリクエスト40のヘッダデータとボディデータの両方をJSONのボディ部44に設定する。例えば、オリジナルリクエスト40に含まれるメソッド名、「Content-type」、「Custom-Header」、パス名およびクエリ文字列をJSONのボディ部44に設定する。アダプタ部30は、JSON形式の変換後リクエスト42を業務処理部20へ送信する(S2)。
The operation of the business processing device 12 with the above configuration will be described.
FIG. 4 shows an example of request conversion in the business processing device 12. The client device 14 transmits the HTTP-POST request data (original request 40) to the business processing device 12 (S1). The adapter unit 30 of the business processing device 12 converts the original request 40 into the JSON format. Specifically, the conversion unit 34 of the adapter unit 30 sets both the header data and the body data of the original request 40 in the body unit 44 of JSON. For example, the method name, "Content-type", "Custom-Header", path name and query string included in the original request 40 are set in the body part 44 of JSON. The adapter unit 30 transmits the converted request 42 in JSON format to the business processing unit 20 (S2).

業務処理部20の業務App28は、OSSフレームワーク24が提供するリクエスト−Javaオブジェクト変換機能を利用して、変換後リクエスト42に対応するJavaオブジェクトを取得する。業務App28は、取得したJavaオブジェクトから変換後リクエスト42のデータ(すなわちオリジナルリクエスト40のデータ)を取得し、そのデータに基づく業務処理を実行する。業務処理部20は、業務App28による処理結果を含むレスポンス46をアダプタ部30へ送信する(S3)。アダプタ部30のレスポンス転送部38は、業務処理部20から受け付けたレスポンス46をそのままリクエスト元のクライアント装置14へ転送する(S4)。 The business App 28 of the business processing unit 20 uses the request-Java object conversion function provided by the OSS framework 24 to acquire the Java object corresponding to the converted request 42. The business App 28 acquires the data of the converted request 42 (that is, the data of the original request 40) from the acquired Java object, and executes the business process based on the data. The business processing unit 20 transmits a response 46 including the processing result by the business App 28 to the adapter unit 30 (S3). The response transfer unit 38 of the adapter unit 30 transfers the response 46 received from the business processing unit 20 to the request source client device 14 as it is (S4).

以上、本発明を実施例をもとに説明した。実施例に記載の内容は例示であり、実施例の構成要素や処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。 The present invention has been described above based on examples. The contents described in the examples are examples, and it is understood by those skilled in the art that various modifications are possible in the combination of the components and processing processes of the examples, and that such modifications are also within the scope of the present invention. By the way.

第1変形例を説明する。アダプタ部30のリクエスト受信部32は、処理対象とするリクエストのパターンを制限してもよい。リクエスト受信部32は、複数パターンのリクエストのうち業務処理部20(業務App28)が想定するパターン以外のリクエストを拒否してもよく、それらのリクエストに対する後続の処理(JSON形式への変換処理等)をスキップしてもよい。例えば、既述したように、HTTPの通信メソッドには、GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE、PATCHがあるが、リクエスト受信部32は、GET、POST以外のメソッドを指定するHTTPリクエストを拒否してもよい。 The first modification will be described. The request receiving unit 32 of the adapter unit 30 may limit the pattern of the request to be processed. The request receiving unit 32 may reject requests other than the patterns assumed by the business processing unit 20 (business App 28) among the requests of a plurality of patterns, and subsequent processing (conversion processing to JSON format, etc.) for those requests. May be skipped. For example, as described above, the HTTP communication methods include GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, and PATCH, but the request receiving unit 32 specifies a method other than GET and POST. You may reject the HTTP request to do so.

同様に、リクエスト受信部32は、複数形式のリクエストのうち業務処理部20(業務App28)が想定するパターン以外のリクエストを拒否してもよく、それらのリクエストに対する後続の処理(JSON変換処理等)をスキップしてもよい。例えば、リクエスト受信部32は、「application/json」、「application/x-www-form-urlencoded」、「multipart/form-data」以外の通信形式をとるHTTPリクエストを拒否してもよい。第1変形例によると、JSON形式への変換処理の実装を容易化でき、また、業務処理部20(業務App28)に対する攻撃を受けるリスクを一層低減することができる。 Similarly, the request receiving unit 32 may reject requests other than the pattern assumed by the business processing unit 20 (business App 28) among the requests of a plurality of formats, and the subsequent processing (JSON conversion processing, etc.) for those requests may be performed. May be skipped. For example, the request receiving unit 32 may reject an HTTP request having a communication format other than "application / json", "application / x-www-form-urlencoded", and "multipart / form-data". According to the first modification, the implementation of the conversion process to the JSON format can be facilitated, and the risk of being attacked by the business processing unit 20 (business App 28) can be further reduced.

第2変形例を説明する。上記実施例では、業務処理部20とアダプタ部30を同じ装置(業務処理装置12)内に設けたが、業務処理部20とアダプタ部30を異なる装置内に設けてもよい。すなわち、業務処理部20を備える第1装置と、アダプタ部30を備える第2装置とが通信して連携することにより、実施例に記載の業務処理装置12と同様の機能を発揮する情報処理システムが実現されてもよい。 A second modification will be described. In the above embodiment, the business processing unit 20 and the adapter unit 30 are provided in the same device (business processing device 12), but the business processing unit 20 and the adapter unit 30 may be provided in different devices. That is, an information processing system that exhibits the same functions as the business processing device 12 described in the embodiment by communicating and cooperating with the first device including the business processing unit 20 and the second device including the adapter unit 30. May be realized.

上述した実施例および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。 Any combination of the examples and modifications described above is also useful as an embodiment of the present invention. The new embodiments resulting from the combination have the effects of the combined examples and the modifications. It is also understood by those skilled in the art that the functions to be fulfilled by each of the constituent elements described in the claims are realized by a single component or a cooperation thereof shown in the examples and modifications.

10 通信システム、 12 業務処理装置、 20 業務処理部、 24 OSSフレームワーク、 28 業務App、 30 アダプタ部、 32 リクエスト受信部、 34 変換部、 36 リクエスト送信部、 38 レスポンス転送部。 10 Communication system, 12 Business processing device, 20 Business processing unit, 24 OSS framework, 28 Business App, 30 Adapter unit, 32 Request receiving unit, 34 Conversion unit, 36 Request transmitting unit, 38 Response transfer unit.

Claims (4)

アプリケーションフレームワークにより提供される機能を利用する業務アプリケーションを実行する業務処理部と、
外部装置から送信された前記業務アプリケーションに対する複数種類のリクエストを受け付け、受け付けたリクエストを予め定められた単一形式のリクエストに変換し、変換後のリクエストを前記業務処理部に渡すアダプタ部と、
を備えることを特徴とする情報処理システム。
A business processing department that executes business applications that use the functions provided by the application framework,
An adapter unit that accepts multiple types of requests for the business application sent from an external device, converts the received request into a predetermined single format request, and passes the converted request to the business processing unit.
An information processing system characterized by being equipped with.
前記アプリケーションフレームワークは、前記業務アプリケーションに対するリクエストを前記業務アプリケーションで処理可能なオブジェクトに変換する機能として複数種類の変換機能を備えるものであり、
前記業務処理部は、前記アプリケーションフレームワークが備える前記複数種類の変換機能の一部を無効化するよう構成されたことを特徴とする請求項1に記載の情報処理システム。
The application framework has a plurality of types of conversion functions as a function of converting a request for the business application into an object that can be processed by the business application.
The information processing system according to claim 1, wherein the business processing unit is configured to invalidate a part of the plurality of types of conversion functions included in the application framework.
前記アダプタ部により変換されるリクエストの形式は、JSON(JavaScript Object Notation)であることを特徴とする請求項1または2に記載の情報処理システム。 The information processing system according to claim 1 or 2, wherein the format of the request converted by the adapter unit is JSON (JavaScript Object Notation). アプリケーションフレームワークにより提供される機能を利用する業務アプリケーションに対するリクエストであって、外部装置から送信された複数種類のリクエストを受け付ける受付部と、
前記受付部により受け付けられたリクエストを予め定められた単一形式のリクエストに変換し、変換後のリクエストを前記業務アプリケーションを実行するプロセスに渡す変換部と、
を備えることを特徴とする情報処理装置。
A reception unit that accepts multiple types of requests sent from external devices, which are requests for business applications that use the functions provided by the application framework.
A conversion unit that converts a request received by the reception unit into a predetermined single format request and passes the converted request to a process that executes the business application.
An information processing device characterized by being equipped with.
JP2019192687A 2019-10-23 2019-10-23 Information processing system and information processing device Active JP7536436B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019192687A JP7536436B2 (en) 2019-10-23 2019-10-23 Information processing system and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019192687A JP7536436B2 (en) 2019-10-23 2019-10-23 Information processing system and information processing device

Publications (2)

Publication Number Publication Date
JP2021068160A true JP2021068160A (en) 2021-04-30
JP7536436B2 JP7536436B2 (en) 2024-08-20

Family

ID=75637367

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019192687A Active JP7536436B2 (en) 2019-10-23 2019-10-23 Information processing system and information processing device

Country Status (1)

Country Link
JP (1) JP7536436B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005105A1 (en) * 2001-05-30 2003-01-02 Anne Robb Method and apparatus for a common management software systems
JP2018515835A (en) * 2015-04-08 2018-06-14 アマゾン テクノロジーズ インコーポレイテッド Endpoint management system that provides application programming interface proxy services
JP2018523244A (en) * 2015-08-14 2018-08-16 オラクル・インターナショナル・コーポレイション UI state restoration in transaction system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9007243B2 (en) 2012-09-05 2015-04-14 IQ-Analog Corporation System and method for customizing data converters from universal function dice
JP6157420B2 (en) 2014-06-30 2017-07-05 株式会社日立製作所 Business processing system and business processing method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005105A1 (en) * 2001-05-30 2003-01-02 Anne Robb Method and apparatus for a common management software systems
JP2018515835A (en) * 2015-04-08 2018-06-14 アマゾン テクノロジーズ インコーポレイテッド Endpoint management system that provides application programming interface proxy services
JP2018523244A (en) * 2015-08-14 2018-08-16 オラクル・インターナショナル・コーポレイション UI state restoration in transaction system

Also Published As

Publication number Publication date
JP7536436B2 (en) 2024-08-20

Similar Documents

Publication Publication Date Title
US12158958B2 (en) Web attack simulator
US11907700B2 (en) Upgrading method and system, server, and terminal device
JP6912469B2 (en) Access request conversion method and device
US11232405B2 (en) Computer readable storage media for dynamic service deployment and methods and systems for utilizing same
US6804773B1 (en) System and method for transferring information over a network
CN113158195B (en) Distributed vulnerability scanning method and system based on POC script
CN104137115A (en) Network service interface analysis
EP3872630B1 (en) Request processing method and apparatus, electronic device, and computer storage medium
US11552868B1 (en) Collect and forward
CN116647375B (en) A fingerprint recognition method, device and electronic device
CN120075102A (en) Internet of things communication method, device, equipment, storage medium and program product
US11392700B1 (en) System and method for supporting cross-platform data verification
JP2021068160A (en) Information processing system and information processing device
CN110769065A (en) Remote management method, system, terminal equipment and server
CN114090082B (en) Method and system for calling external interface by integrating rule engine
CN115086393B (en) Interface calling method, device, equipment and storage medium
CN119316481B (en) Service request processing method and device
CN115525362B (en) Parameter changing method and device based on kernel parameter adjusting platform of operating system
CN121255251A (en) Application patching methods, devices, equipment and media
JP5234738B2 (en) Cryptographic protocol execution device, cryptographic protocol execution method and program
CN115643253A (en) Cross-domain file request method and device and business service system
CN121118045A (en) API and database access association auditing method and related equipment
CN117978791A (en) Data processing method, system, equipment and medium based on gRPC gateway
CN115396276A (en) Method, device, equipment and medium for processing internet platform interface document
CN113886892A (en) Data acquisition method and device for application program, storage medium and electronic equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231205

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240401

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240807

R150 Certificate of patent or registration of utility model

Ref document number: 7536436

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150