JP2017207876A - Dump mask program, dump mask method, and information processing device - Google Patents

Dump mask program, dump mask method, and information processing device Download PDF

Info

Publication number
JP2017207876A
JP2017207876A JP2016099012A JP2016099012A JP2017207876A JP 2017207876 A JP2017207876 A JP 2017207876A JP 2016099012 A JP2016099012 A JP 2016099012A JP 2016099012 A JP2016099012 A JP 2016099012A JP 2017207876 A JP2017207876 A JP 2017207876A
Authority
JP
Japan
Prior art keywords
data
dump
mask
memory
information 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.)
Pending
Application number
JP2016099012A
Other languages
Japanese (ja)
Inventor
元良 仁枝
Motoyoshi Nieda
元良 仁枝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016099012A priority Critical patent/JP2017207876A/en
Publication of JP2017207876A publication Critical patent/JP2017207876A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To prevent information leakage of secret object data in a memory dump.SOLUTION: An information processing deice 100 detects abnormalities of software SW under execution. The software SW is a system and an application of, for example, an OS, middleware, or the like. The information processing device 100 specifies secret object data in a memory dump when an abnormality of the software SW is detected. The information processing device 100 performs mask processing for rewriting the specified secret object data. The mask processing is processing for rewriting the secret object data into different data to make the original information indecipherable. The information processing device 100 outputs a memory dump subjected to the mask processing.SELECTED DRAWING: Figure 1

Description

本発明は、ダンプマスクプログラム、ダンプマスク方法、および情報処理装置に関する。   The present invention relates to a dump mask program, a dump mask method, and an information processing apparatus.

従来、システム運用時にトラブルが発生した場合、トラブル調査のために、トラブルが発生した時点のシステムの状況を把握することを目的として、メモリ上に展開されているデータを収集することがある。収集されるデータとしては、例えば、メモリダンプ、トレース情報、ログなどがある。   Conventionally, when a trouble occurs during system operation, data developed on a memory is sometimes collected for the purpose of investigating the trouble in order to grasp the state of the system at the time of occurrence of the trouble. Examples of collected data include a memory dump, trace information, and a log.

先行技術としては、例えば、顧客計算機システムで発生した障害に関するメモリダンプを保守センタの計算機システムから診断する場合、機密情報が格納されている領域、あるいは、その空間全体の予め定めた領域の情報を除く他のメモリダンプ情報のみをセンタ計算機システムに送信するものがある。   As a prior art, for example, when diagnosing a memory dump related to a failure occurring in a customer computer system from a computer system of a maintenance center, information on an area in which confidential information is stored or a predetermined area in the entire space is stored. Some of them send only the other memory dump information to the center computer system.

特開平3−34036号公報JP-A-3-34036

しかしながら、従来技術では、メモリダンプに含まれる機密情報(顧客の個人情報など)の漏洩を防ぐことが難しい。例えば、機密情報を含む領域を非収集対象の領域とすると、機密情報を含む領域全体が非収集対象となり、機密情報ではない情報までが収集されなくなって、トラブル調査の際に情報不足を起こすおそれがある。   However, it is difficult for the prior art to prevent leakage of confidential information (such as customer personal information) included in the memory dump. For example, if an area that contains confidential information is a non-collection area, the entire area that contains confidential information will be uncollected, and information that is not confidential information will not be collected. There is.

一つの側面では、本発明は、メモリダンプ内の秘匿対象データの情報漏洩を防止することを目的とする。   In one aspect, an object of the present invention is to prevent information leakage of confidential data in a memory dump.

本発明の一態様によれば、ソフトウェアの異常を検出すると、メモリダンプ内の秘匿対象データを特定し、特定した前記秘匿対象データを書き換えるマスク処理を施し、前記マスク処理を施した前記メモリダンプを出力するダンプマスクプログラム、ダンプマスク方法、および情報処理装置が提案される。   According to an aspect of the present invention, when software abnormality is detected, the confidential data in the memory dump is identified, mask processing for rewriting the identified confidential data is performed, and the memory dump subjected to the mask processing is stored. An output dump mask program, dump mask method, and information processing apparatus are proposed.

本発明の一側面によれば、メモリダンプ内の秘匿対象データの情報漏洩を防止することができる。   According to one aspect of the present invention, information leakage of confidential data in a memory dump can be prevented.

図1は、実施の形態1にかかるダンプマスク方法の一実施例を示す説明図である。FIG. 1 is an explanatory diagram of an example of the dump mask method according to the first embodiment. 図2は、システム200のシステム構成例を示す説明図である。FIG. 2 is an explanatory diagram illustrating a system configuration example of the system 200. 図3は、情報処理装置100のハードウェア構成例を示すブロック図である。FIG. 3 is a block diagram illustrating a hardware configuration example of the information processing apparatus 100. 図4は、ソフトウェアSWの作成手順の一例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of a procedure for creating the software SW. 図5は、ソースプログラムの具体例を示す説明図である。FIG. 5 is an explanatory diagram showing a specific example of a source program. 図6は、実施の形態2にかかる情報処理装置100の機能的構成例を示すブロック図である。FIG. 6 is a block diagram of a functional configuration example of the information processing apparatus 100 according to the second embodiment. 図7は、データの配置イメージを示す説明図である。FIG. 7 is an explanatory diagram showing an image of data arrangement. 図8は、メモリダンプの表示例を示す説明図(その1)である。FIG. 8 is an explanatory diagram (part 1) of a display example of a memory dump. 図9は、実施の形態2にかかる情報処理装置100のダンプマスク処理手順の一例を示すフローチャートである。FIG. 9 is a flowchart illustrating an example of a dump mask processing procedure of the information processing apparatus 100 according to the second embodiment. 図10は、実施の形態3にかかる情報処理装置100の機能的構成例を示すブロック図である。FIG. 10 is a block diagram of a functional configuration example of the information processing apparatus 100 according to the third embodiment. 図11は、対応表1100の具体例を示す説明図である。FIG. 11 is an explanatory diagram showing a specific example of the correspondence table 1100. 図12は、メモリダンプの表示例を示す説明図(その2)である。FIG. 12 is an explanatory diagram (part 2) of a display example of a memory dump. 図13は、実施の形態3にかかる情報処理装置100のダンプマスク処理手順の一例を示すフローチャートである。FIG. 13 is a flowchart of an example of a dump mask processing procedure of the information processing apparatus 100 according to the third embodiment.

以下に図面を参照して、本発明にかかるダンプマスクプログラム、ダンプマスク方法、および情報処理装置の実施の形態を詳細に説明する。   Exemplary embodiments of a dump mask program, a dump mask method, and an information processing apparatus according to the present invention will be described below in detail with reference to the drawings.

(実施の形態1)
図1は、実施の形態1にかかるダンプマスク方法の一実施例を示す説明図である。図1において、情報処理装置100は、メモリダンプ内の秘匿対象データに対してマスク処理を施すコンピュータである。
(Embodiment 1)
FIG. 1 is an explanatory diagram of an example of the dump mask method according to the first embodiment. In FIG. 1, the information processing apparatus 100 is a computer that performs a mask process on confidential data in a memory dump.

ここで、メモリダンプとは、システム運用時にトラブルが発生した際、トラブルの原因究明や検証のために、トラブルが発生した時点のメモリの一部あるいは全部の内容を記録したバイナリ形式の情報である。システムは、例えば、OS(Operating System)、ミドルウェアなどのソフトウェアである。   Here, the memory dump is binary information that records the contents of part or all of the memory at the time of the trouble in order to investigate and verify the cause of the trouble when trouble occurs during system operation. . The system is software such as an OS (Operating System) and middleware, for example.

メモリダンプは、例えば、命令コードやデータを含む。命令コードは、実行するためにメモリ上にロードされたプログラム本体のコードである。データは、命令コードで利用するためにメモリ上に置かれたデータや、DB(Database)やファイルの処理のためにメモリ上にロード(展開)されたデータである。命令コードで利用されるデータとしては、例えば、関数に指定されたパラメータ、戻り値、プログラム内で定義された変数、他システムとのデータのやりとりの内容などがある。   The memory dump includes, for example, an instruction code and data. The instruction code is the code of the program body loaded on the memory for execution. The data is data placed on a memory for use in an instruction code, or data loaded (expanded) on a memory for processing a DB (Database) or a file. The data used in the instruction code includes, for example, parameters specified for functions, return values, variables defined in the program, data exchange contents with other systems, and the like.

一方、メモリダンプには、重要情報(機密情報)が含まれている場合がある。重要情報としては、例えば、顧客の氏名、住所、IP(Internet Protocol)アドレス、マイナンバーなどの個人情報が挙げられる。ところが、メモリ上のデータにはファイルやDBで実施されるようなセキュリティ対策は行われない。このため、メモリ上に展開されたデータは、たとえ重要情報であっても一括してダンプデータとして収集され、以下のような行為が可能となって重要情報が漏洩するおそれがある。   On the other hand, the memory dump may include important information (confidential information). Examples of important information include personal information such as a customer's name, address, IP (Internet Protocol) address, and my number. However, the security measures that are implemented in the file or DB are not performed on the data on the memory. For this reason, even if the data developed on the memory is important information, it is collected as dump data in a lump, and the following actions are possible and the important information may be leaked.

例えば、DBやファイル上ではロックされているデータであっても、メモリ上ではアクセス可能となるため、採取した全データの第三者(例えば、トラブル調査者)による参照が可能となる。具体的には、例えば、顧客の個人情報は、テキストデータであることが多く、バイナリエディタを利用すれば文字として表示され容易に読むことが可能となる。   For example, even if the data is locked on the DB or file, the data can be accessed on the memory, so that all the collected data can be referred to by a third party (for example, a trouble investigator). Specifically, for example, the customer's personal information is often text data, and can be displayed and read easily using a binary editor.

さらに、USB(Universal Serial Bus)メモリ等の記録媒体を利用して、第三者によって顧客先から重要情報が持ち出されて悪用されるおそれがある。したがって、たとえトラブル調査者であっても重要情報については見えないようにすることが望ましい。   Further, using a recording medium such as a USB (Universal Serial Bus) memory, there is a possibility that important information is taken out from a customer by a third party and misused. Therefore, it is desirable to make important information invisible even for trouble investigators.

そこで、本実施の形態では、メモリダンプ内の秘匿対象データに対してマスク処理を施して、元の情報を解読不可能とすることで、メモリダンプ内の秘匿対象データの情報漏洩を防止するダンプマスク方法について説明する。以下、情報処理装置100の処理例について説明する。   Therefore, in this embodiment, a mask process is performed on the data to be concealed in the memory dump so that the original information cannot be decrypted, thereby preventing information leakage of the data to be concealed in the memory dump. A masking method will be described. Hereinafter, a processing example of the information processing apparatus 100 will be described.

(1)情報処理装置100は、実行中のソフトウェアSWの異常を検出する。ここで、ソフトウェアSWは、例えば、OS、ミドルウェアなどのシステムやアプリケーションである。検出対象となる異常は、例えば、異常終了などのトラブル調査でダンプ収集が行われる可能性がある異常である。   (1) The information processing apparatus 100 detects an abnormality of the software SW being executed. Here, the software SW is, for example, a system or an application such as an OS or middleware. The abnormality to be detected is, for example, an abnormality in which dump collection may be performed in trouble investigation such as abnormal termination.

(2)情報処理装置100は、ソフトウェアSWの異常を検出すると、メモリダンプ内の秘匿対象データを特定する。ここで、秘匿対象データは、第三者に見られないようにすることが望ましい重要情報であり、例えば、顧客の氏名、住所、マイナンバー、IPアドレスなどの個人情報である。   (2) When the information processing apparatus 100 detects an abnormality in the software SW, the information processing apparatus 100 specifies data to be concealed in the memory dump. Here, the data to be concealed is important information that is desirably prevented from being seen by a third party, and is, for example, personal information such as a customer's name, address, my number, and IP address.

具体的には、例えば、情報処理装置100は、メモリ(例えば、後述する図3に示すメモリ302)から必要なデータを順次読み出して、ファイル110に格納する前に、当該データに重要情報が含まれるか否かを判断することにより、秘匿対象データを特定する。図1の例では、秘匿対象データD1〜D4が特定された場合を想定する。   Specifically, for example, the information processing apparatus 100 sequentially reads necessary data from a memory (for example, a memory 302 shown in FIG. 3 described later) and stores important information in the data 110 before storing the data in the file 110. The data to be concealed is specified by determining whether or not to be protected. In the example of FIG. 1, it is assumed that the confidential data D1 to D4 are specified.

なお、情報処理装置100は、例えば、メモリダンプを一旦取得して一時ファイルに格納した後、一時ファイル内のデータ(ダンプデータ)を順次読み出して、当該データに重要情報が含まれるか否かを判断することにより、秘匿対象データを特定することにしてもよい。   The information processing apparatus 100, for example, once acquires a memory dump and stores it in a temporary file, and then sequentially reads data (dump data) in the temporary file to determine whether the data includes important information. By determining, the data to be concealed may be specified.

(3)情報処理装置100は、特定した秘匿対象データを書き換えるマスク処理を施す。ここで、マスク処理とは、秘匿対象データを別データ(例えば、別の文字、数字、記号)に書き換えて、元の情報を解読不可能とする処理である。   (3) The information processing apparatus 100 performs a mask process for rewriting the specified confidential object data. Here, the mask process is a process for rewriting the data to be concealed with different data (for example, different characters, numbers, symbols) so that the original information cannot be decoded.

図1の例では、秘匿対象データD1〜D4が黒塗り用コードD1’〜D4’に書き換えられて、ファイル110に格納されている。黒塗り用コードD1’〜D4’は、秘匿対象データD1〜D4を黒塗り状態、すなわち、文字として表示される際に黒塗り表示にするコードである。   In the example of FIG. 1, the concealment target data D <b> 1 to D <b> 4 are rewritten into black codes D <b> 1 ′ to D <b> 4 ′ and stored in the file 110. The black coating codes D1 'to D4' are codes for blackening the confidential data D1 to D4 when they are displayed in black, that is, as characters.

(4)情報処理装置100は、マスク処理を施したメモリダンプを出力する。具体的には、例えば、情報処理装置100は、黒塗り用コードD1’〜D4’を含むファイル110を、トラブル調査者のコンピュータ、あるいは、トラブル調査者のコンピュータがアクセス可能なサーバなどに出力する。   (4) The information processing apparatus 100 outputs a memory dump subjected to mask processing. Specifically, for example, the information processing apparatus 100 outputs the file 110 including the black coating codes D1 ′ to D4 ′ to a trouble investigator computer or a server accessible by the trouble researcher computer. .

このように、実施の形態1にかかる情報処理装置100によれば、ソフトウェアSWの異常を検出すると、メモリダンプ内の秘匿対象データを特定することができる。そして、情報処理装置100によれば、特定した秘匿対象データを書き換えるマスク処理を施して、マスク処理を施したメモリダンプを出力することができる。   As described above, according to the information processing apparatus 100 according to the first embodiment, when the abnormality of the software SW is detected, the data to be concealed in the memory dump can be specified. Then, according to the information processing apparatus 100, it is possible to perform a mask process for rewriting the specified confidential data and output a memory dump subjected to the mask process.

これにより、メモリダンプ内の秘匿対象データの情報漏洩を防止することができる。例えば、メモリダンプ内の顧客の重要情報を黒塗り状態にして元の情報を解読不可能にすることで、トラブル調査の際に、たとえトラブル調査者であっても重要情報の内容が参照できなくなり、顧客の氏名、住所などが漏洩して悪用されるのを防ぐことができる。   Thereby, information leakage of the data to be concealed in the memory dump can be prevented. For example, by making the customer's important information in the memory dump black and making the original information undecipherable, even if it is a trouble investigator, the contents of the important information can not be referred to even when investigating the trouble , Customer name, address, etc. can be prevented from being leaked and misused.

(実施の形態2)
つぎに、実施の形態2にかかる情報処理装置100について説明する。実施の形態2では、ソフトウェアSWのメモリマップが判っている、すなわち、メモリの使い方が判っている場合を想定する。なお、実施の形態1で説明した箇所と同様の箇所については、同一符号を付して説明を省略する。
(Embodiment 2)
Next, the information processing apparatus 100 according to the second embodiment will be described. In the second embodiment, it is assumed that the memory map of the software SW is known, that is, how the memory is used. In addition, about the location similar to the location demonstrated in Embodiment 1, the same code | symbol is attached | subjected and description is abbreviate | omitted.

まず、実施の形態2にかかるシステム200のシステム構成例について説明する。   First, a system configuration example of the system 200 according to the second embodiment will be described.

図2は、システム200のシステム構成例を示す説明図である。図2において、システム200は、情報処理装置100と、調査用端末201と、を含む。システム200において、情報処理装置100および調査用端末201は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。   FIG. 2 is an explanatory diagram illustrating a system configuration example of the system 200. In FIG. 2, the system 200 includes an information processing apparatus 100 and a survey terminal 201. In the system 200, the information processing apparatus 100 and the investigation terminal 201 are connected via a wired or wireless network 210. The network 210 is, for example, a local area network (LAN), a wide area network (WAN), or the Internet.

情報処理装置100は、ソフトウェアSWを実行するコンピュータであり、実行中のソフトウェアSWに異常が発生した際に、メモリダンプ内の秘匿対象データに対してマスク処理を施して、マスク処理を施したメモリダンプを出力する。情報処理装置100は、例えば、サーバである。   The information processing apparatus 100 is a computer that executes software SW. When an abnormality occurs in the software SW being executed, the information processing apparatus 100 performs a mask process on the data to be concealed in the memory dump and performs the mask process. Output a dump. The information processing apparatus 100 is a server, for example.

調査用端末201は、トラブル調査者が使用するコンピュータであり、例えば、PC(Personal Computer)、ノートPC、タブレットPCなどである。なお、トラブル調査者は、ソフトウェアSWに異常が発生した原因の究明や検証を行う者である。   The investigation terminal 201 is a computer used by a trouble investigator, and is, for example, a PC (Personal Computer), a notebook PC, or a tablet PC. The trouble investigator is a person who investigates and verifies the cause of the abnormality in the software SW.

(情報処理装置100のハードウェア構成例)
図3は、情報処理装置100のハードウェア構成例を示すブロック図である。図3において、情報処理装置100は、CPU(Central Processing Unit)301と、メモリ302と、I/F(Interface)303と、ディスクドライブ304と、ディスク305と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
(Hardware configuration example of information processing apparatus 100)
FIG. 3 is a block diagram illustrating a hardware configuration example of the information processing apparatus 100. In FIG. 3, the information processing apparatus 100 includes a CPU (Central Processing Unit) 301, a memory 302, an I / F (Interface) 303, a disk drive 304, and a disk 305. Each component is connected by a bus 300.

ここで、CPU301は、情報処理装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。   Here, the CPU 301 governs overall control of the information processing apparatus 100. The memory 302 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), and a flash ROM. Specifically, for example, a flash ROM or ROM stores various programs, and a RAM is used as a work area for the CPU 301. The program stored in the memory 302 is loaded into the CPU 301 to cause the CPU 301 to execute the coded process.

I/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータ(例えば、図2に示した調査用端末201)に接続される。I/F303は、ネットワーク210と装置内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。I/F303には、例えば、モデムやLANアダプタなどを採用することができる。   The I / F 303 is connected to the network 210 via a communication line, and is connected to another computer (for example, the investigation terminal 201 shown in FIG. 2) via the network 210. The I / F 303 controls an interface between the network 210 and the apparatus, and controls input / output of data from other computers. For example, a modem or a LAN adapter may be employed as the I / F 303.

ディスクドライブ304は、CPU301の制御に従ってディスク305に対するデータのリード/ライトを制御する。ディスク305は、ディスクドライブ304の制御で書き込まれたデータを記憶する。ディスク305としては、例えば、磁気ディスク、光ディスクなどが挙げられる。   The disk drive 304 controls reading / writing of data with respect to the disk 305 according to the control of the CPU 301. The disk 305 stores data written under the control of the disk drive 304. Examples of the disk 305 include a magnetic disk and an optical disk.

なお、情報処理装置100は、上述した構成部のほか、例えば、SSD(Solid State Drive)、キーボード、マウス、ディスプレイなどを有することにしてもよい。また、図2に示した調査用端末201についても、情報処理装置100と同様のハードウェア構成により実現することができる。ただし、調査用端末201は、上述した構成部のほかに、キーボード、マウス、ディスプレイなどを有する。   Note that the information processing apparatus 100 may include, for example, an SSD (Solid State Drive), a keyboard, a mouse, and a display in addition to the above-described components. Also, the investigation terminal 201 shown in FIG. 2 can be realized by the same hardware configuration as the information processing apparatus 100. However, the investigation terminal 201 includes a keyboard, a mouse, a display, and the like in addition to the components described above.

(ソフトウェアSWの作成の手順)
つぎに、図4および図5を用いて、本ダンプマスクプログラムを含むソフトウェアSWの作成の手順について説明する。
(Procedure for creating software SW)
Next, a procedure for creating software SW including the dump mask program will be described with reference to FIGS.

図4は、ソフトウェアSWの作成手順の一例を示す説明図である。図4において、(i)作成者は、ソフトウェアSWのソースプログラムの作成でデータ定義を行う際に、図5に示すように、重要情報にconfidentialを指定して、「このデータは重要情報である」と宣言する。   FIG. 4 is an explanatory diagram showing an example of a procedure for creating the software SW. In FIG. 4, (i) when the creator defines data by creating the source program of the software SW, as shown in FIG. 5, the creator designates confidential as “important information”. ".

図5は、ソースプログラムの具体例を示す説明図である。図5において、ソースプログラム500は、ソフトウェアSWのソースプログラムの一部を抜粋して表示したものである。name[20]、zip[9]、address[50]、ageは、それぞれ名前、郵便番号、住所、年齢を示すデータ項目である。[]内の数字は、データ長(バイト数)を示す。   FIG. 5 is an explanatory diagram showing a specific example of a source program. In FIG. 5, a source program 500 is an excerpt of a part of the source program for software SW. name [20], zip [9], address [50], and age are data items indicating the name, zip code, address, and age, respectively. The numbers in [] indicate the data length (number of bytes).

図5の例では、名前(name[20])、郵便番号(zip[9])、住所(address[50])、年齢(age)の順に、各データ項目のデータが指定されている。また、名前(name[20])、郵便番号(zip[9])、住所(address[50])のデータ項目が重要情報、すなわち、秘匿対象のデータ項目として指定されている。   In the example of FIG. 5, data of each data item is specified in the order of name (name [20]), postal code (zip [9]), address (address [50]), and age (age). In addition, data items of name (name [20]), zip code (zip [9]), and address (address [50]) are designated as important information, that is, data items to be concealed.

図4の説明に戻り、(ii)情報処理装置100は、プリプロセッサにより、本ダンプマスクプログラムの異常監視機能F1およびマスク機能F2を生成して、ソフトウェアSWに組み込む。プリプロセッサは、コンパイル前に前処理を行うプログラムである。   Returning to the description of FIG. 4, (ii) the information processing apparatus 100 generates the abnormality monitoring function F1 and the mask function F2 of the dump mask program by the preprocessor and incorporates them in the software SW. The preprocessor is a program that performs preprocessing before compilation.

異常監視機能F1は、実行中のソフトウェアSWの異常を検出する機能である。マスク機能F2は、ソフトウェアSWの異常が発生した時にメモリダンプ内の秘匿対象データに対してマスク処理を施す機能である。これにより、本ダンプマスクプログラムの異常監視機能F1およびマスク機能F2が組み込まれたソフトウェアSWが作成される。   The abnormality monitoring function F1 is a function for detecting an abnormality of the software SW being executed. The mask function F2 is a function for performing mask processing on the data to be concealed in the memory dump when a software SW abnormality occurs. Thereby, software SW incorporating the abnormality monitoring function F1 and the mask function F2 of the dump mask program is created.

(iii)情報処理装置100は、コンパイラにより、ソフトウェアSWのソースプログラムをコンパイルする。これにより、ソフトウェアSWをコンピュータが実行可能な形式に変換することができる。   (Iii) The information processing apparatus 100 compiles the source program of the software SW using a compiler. Thereby, the software SW can be converted into a computer-executable format.

(情報処理装置100の機能的構成例)
図6は、実施の形態2にかかる情報処理装置100の機能的構成例を示すブロック図である。図6において、情報処理装置100は、検出部601と、特定部602と、書換部603と、出力部604と、を含む構成である。各機能部601〜604は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク305などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F303により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク305などの記憶装置に記憶される。
(Functional configuration example of information processing apparatus 100)
FIG. 6 is a block diagram of a functional configuration example of the information processing apparatus 100 according to the second embodiment. In FIG. 6, the information processing apparatus 100 includes a detection unit 601, a specification unit 602, a rewrite unit 603, and an output unit 604. Each of the function units 601 to 604 is a function as a control unit. Specifically, for example, by causing the CPU 301 to execute a program stored in a storage device such as the memory 302 and the disk 305 illustrated in FIG. The function is realized by the I / F 303. The processing result of each functional unit is stored in a storage device such as the memory 302 and the disk 305, for example.

検出部601は、ソフトウェアSWの異常を検出する。ここで、検出対象となる異常は、発生時にトラブル調査のためにダンプ収集が行われる可能性がある異常であり、任意に設定可能である。なお、図4に示した異常監視機能F1は、例えば、検出部601により実現される。   The detection unit 601 detects an abnormality in the software SW. Here, the abnormality to be detected is an abnormality that may cause dump collection for trouble investigation when it occurs, and can be arbitrarily set. Note that the abnormality monitoring function F1 illustrated in FIG. 4 is realized by, for example, the detection unit 601.

特定部602は、メモリダンプ内の秘匿対象データを特定する。具体的には、例えば、特定部602は、ソフトウェアSWの異常が検出された場合に、ソフトウェアSWに割り当てられたメモリ302内のデータ域の先頭アドレスを取得する。そして、特定部602は、取得したデータ域の先頭アドレスに基づいて、ソフトウェアSWに定義されたデータ構造を参照して、秘匿対象に指定されたデータ項目に対応するメモリ302内のデータを秘匿対象データとして特定する。   The identifying unit 602 identifies the data to be concealed in the memory dump. Specifically, for example, when the abnormality of the software SW is detected, the specifying unit 602 acquires the top address of the data area in the memory 302 allocated to the software SW. Then, the specifying unit 602 refers to the data structure defined in the software SW based on the acquired start address of the data area, and stores the data in the memory 302 corresponding to the data item designated as the confidential target. Identify as data.

ここで、図7を用いて、特定部602の具体的な処理内容について説明する。   Here, specific processing contents of the specifying unit 602 will be described with reference to FIG.

図7は、データの配置イメージを示す説明図である。図7において、ソースプログラム500(図5参照)で定義されたデータ構造に従ってメモリ302上に配置されるデータの配置イメージが示されている。具体的には、名前(name[20])、郵便番号(zip[9])、住所(address[50])、年齢(age)の順に、各データ項目のデータが配置されている。   FIG. 7 is an explanatory diagram showing an image of data arrangement. FIG. 7 shows an arrangement image of data arranged on the memory 302 according to the data structure defined by the source program 500 (see FIG. 5). Specifically, data of each data item is arranged in the order of name (name [20]), postal code (zip [9]), address (address [50]), and age (age).

この場合、例えば、メモリ302内のデータ域の先頭アドレスから20バイト分のデータは、秘匿対象のデータ項目として指定された名前(name[20])のデータである。このため、特定部602は、データ域の先頭アドレスから20バイト分のデータ(データ項目:name)を秘匿対象データとして特定する。   In this case, for example, 20 bytes of data from the start address of the data area in the memory 302 is data of a name (name [20]) specified as a data item to be concealed. For this reason, the specifying unit 602 specifies 20 bytes of data (data item: name) from the start address of the data area as the confidential data.

また、次の9バイト分のデータは、秘匿対象のデータ項目として指定された郵便番号(zip[9])のデータである。このため、特定部602は、次の9バイト分のデータ(データ項目:zip)を秘匿対象データとして特定する。以降同様にして秘匿対象データを特定することができる。   The next 9 bytes of data are data of a zip code (zip [9]) designated as a data item to be concealed. For this reason, the specifying unit 602 specifies the next 9 bytes of data (data item: zip) as confidential data. Thereafter, the confidential data can be specified in the same manner.

図6の説明に戻り、書換部603は、特定された秘匿対象データを書き換えるマスク処理を施す。具体的には、例えば、書換部603は、特定された秘匿対象データを黒塗り状態にする所定のコード(黒塗り用コード)に書き換えることにしてもよい。これにより、元の情報(例えば、氏名、郵便番号、住所)を解読不可能にマスキングすることができる。   Returning to the description of FIG. 6, the rewrite unit 603 performs a mask process for rewriting the identified confidential data. Specifically, for example, the rewrite unit 603 may rewrite the specified concealment target data with a predetermined code (black coating code) for blackening. Thereby, the original information (for example, name, zip code, and address) can be masked indecipherably.

なお、書換部603は、書換前後のデータ長を合わせて、元の情報の長さは維持するものとする。また、所定のコードは、ソフトウェアSWに定義されていてもよく、また、メモリ302、ディスク305などの記憶装置から読み出されることにしてもよい。   Note that the rewriting unit 603 maintains the length of the original information by combining the data lengths before and after the rewriting. Further, the predetermined code may be defined in the software SW, or may be read from a storage device such as the memory 302 and the disk 305.

また、書換部603は、例えば、特定された秘匿対象データを当該秘匿対象データの種類を示す文字列データに書き換えることにしてもよい。ここで、秘匿対象データの種類は、秘匿対象データがどのような特徴、性質のデータであるかを判別するためのものであり、例えば、秘匿対象データのデータ項目である。   In addition, the rewriting unit 603 may rewrite the identified confidential data into character string data indicating the type of the confidential data, for example. Here, the type of data to be concealed is for determining what kind of characteristics and properties the data to be concealed is, for example, a data item of data to be concealed.

例えば、秘匿対象データとして、名前(name[20])のデータが特定されたとする。この場合、書換部603は、秘匿対象データを当該秘匿対象データのデータ項目「name」を示す文字列データに書き換えることにしてもよい。これにより、トラブル調査者に対して元の情報の種類を提示して、マスクされた箇所にどのような情報があったのかを判別可能にすることができる。   For example, it is assumed that data with a name (name [20]) is specified as confidential data. In this case, the rewriting unit 603 may rewrite the confidential data to character string data indicating the data item “name” of the confidential data. As a result, it is possible to present the type of original information to the trouble investigator, and to determine what information is present at the masked portion.

なお、図4に示したマスク機能F2は、例えば、特定部602および書換部603により実現される。   Note that the mask function F2 illustrated in FIG. 4 is realized by the specifying unit 602 and the rewriting unit 603, for example.

出力部604は、秘匿対象データにマスク処理が施されたメモリダンプを出力する。出力部604の出力形式としては、例えば、メモリ302、ディスク305などの記憶装置への記憶、I/F303による外部装置(例えば、図2に示した調査用端末201)への送信、不図示のディスプレイへの表示、不図示のプリンタへの印刷出力などがある。   The output unit 604 outputs a memory dump obtained by performing mask processing on the confidential data. As an output format of the output unit 604, for example, storage in a storage device such as the memory 302 and the disk 305, transmission to an external device (for example, the investigation terminal 201 shown in FIG. 2) by the I / F 303, unillustrated There are display on a display, print output to a printer (not shown), and the like.

具体的には、例えば、出力部604は、秘匿対象データにマスク処理が施されたメモリダンプを格納したダンプファイルを、調査用端末201に送信することにしてもよい。これにより、調査用端末201において、秘匿対象データが解読不可能にマスキングされた状態のメモリダンプを表示することができる。   Specifically, for example, the output unit 604 may transmit a dump file storing a memory dump obtained by performing mask processing on the concealment target data to the investigation terminal 201. Thereby, the investigation terminal 201 can display the memory dump in a state where the confidential data is masked so as not to be decrypted.

(メモリダンプの出力例)
つぎに、メモリダンプの出力例について説明する。ここでは、調査用端末201のディスプレイ(不図示)に表示されるメモリダンプの表示例を例に挙げて説明する。また、バイナリエディタなどを利用して、メモリダンプの内容が文字として表示されている場合を想定する。
(Output example of memory dump)
Next, a memory dump output example will be described. Here, a display example of a memory dump displayed on the display (not shown) of the investigation terminal 201 will be described as an example. In addition, it is assumed that the contents of the memory dump are displayed as characters using a binary editor or the like.

図8は、メモリダンプの表示例を示す説明図(その1)である。図8において、メモリダンプ810は、マスク処理が施される前のメモリダンプを示している。また、メモリダンプ820は、メモリダンプ810内の秘匿対象データ811,812,813にマスク処理(黒塗り)が施された後のメモリダンプを示している。   FIG. 8 is an explanatory diagram (part 1) of a display example of a memory dump. In FIG. 8, a memory dump 810 indicates a memory dump before the mask process is performed. A memory dump 820 indicates a memory dump after masking (blacking) is performed on the concealment target data 811, 812, and 813 in the memory dump 810.

調査用端末201には、秘匿対象データ811,812,813が黒塗り表示されたメモリダンプ820が表示される。これにより、トラブル調査の際に、たとえトラブル調査者であっても秘匿対象データ811,812,813の内容が参照できなくなり、顧客の氏名、郵便番号、住所などの重要情報が漏洩するのを防ぐことができる。   The investigation terminal 201 displays a memory dump 820 in which the confidential data 811, 812, 813 is displayed in black. As a result, even when a trouble investigator investigates the trouble, the contents of the confidential data 811, 812, 813 cannot be referred to, and important information such as the customer's name, zip code, and address is prevented from leaking. be able to.

(情報処理装置100のダンプマスク処理手順)
つぎに、情報処理装置100のダンプマスク処理手順について説明する。
(Dump mask processing procedure of information processing apparatus 100)
Next, the dump mask processing procedure of the information processing apparatus 100 will be described.

図9は、実施の形態2にかかる情報処理装置100のダンプマスク処理手順の一例を示すフローチャートである。図9のフローチャートにおいて、まず、情報処理装置100は、ソフトウェアSWの異常を検出したか否かを判断する(ステップS901)。   FIG. 9 is a flowchart illustrating an example of a dump mask processing procedure of the information processing apparatus 100 according to the second embodiment. In the flowchart of FIG. 9, first, the information processing apparatus 100 determines whether or not an abnormality of the software SW has been detected (step S901).

ここで、情報処理装置100は、ソフトウェアSWの異常を検出するのを待つ(ステップS901:No)。そして、情報処理装置100は、ソフトウェアSWの異常を検出した場合(ステップS901:Yes)、ソフトウェアSWに割り当てられたメモリ302内のデータ域の先頭アドレスを取得する(ステップS902)。   Here, the information processing apparatus 100 waits for detection of an abnormality in the software SW (step S901: No). When the information processing apparatus 100 detects an abnormality in the software SW (step S901: Yes), the information processing apparatus 100 acquires the top address of the data area in the memory 302 allocated to the software SW (step S902).

つぎに、情報処理装置100は、ソフトウェアSWに定義されたデータ構造を参照して、メモリ302からデータを読み出す(ステップS903)。そして、情報処理装置100は、読み出したデータがconfidentialとして指定されたデータであるか否かを判断する(ステップS904)。   Next, the information processing apparatus 100 reads data from the memory 302 with reference to the data structure defined in the software SW (step S903). Then, the information processing apparatus 100 determines whether or not the read data is data designated as confidential (step S904).

ここで、confidentialとして指定されたデータの場合(ステップS904:Yes)、情報処理装置100は、読み出したデータを書き換えるマスク処理を施す(ステップS905)。そして、情報処理装置100は、マスク処理を施したデータをディスク305(図3参照)上のダンプファイルに格納して(ステップS906)、ステップS907に移行する。   Here, in the case of the data designated as confidential (step S904: Yes), the information processing apparatus 100 performs a mask process for rewriting the read data (step S905). Then, the information processing apparatus 100 stores the masked data in a dump file on the disk 305 (see FIG. 3) (step S906), and proceeds to step S907.

また、ステップS904において、confidentialとして指定されたデータではない場合(ステップS904:No)、情報処理装置100は、読み出したデータをディスク305上のダンプファイルに格納する(ステップS906)。つぎに、情報処理装置100は、メモリ302からのデータの読み出しが終了したか否かを判断する(ステップS907)。   If the data is not designated as confidential in step S904 (step S904: No), the information processing apparatus 100 stores the read data in a dump file on the disk 305 (step S906). Next, the information processing apparatus 100 determines whether or not reading of data from the memory 302 is completed (step S907).

ここで、データの読み出しが終了していない場合(ステップS907:No)、情報処理装置100は、ステップS903に戻る。一方、データの読み出しが終了した場合(ステップS907:Yes)、情報処理装置100は、ダンプファイルを出力して(ステップS908)、本フローチャートによる一連の処理を終了する。   If the data reading has not been completed (step S907: NO), the information processing apparatus 100 returns to step S903. On the other hand, when the reading of data is finished (step S907: Yes), the information processing apparatus 100 outputs a dump file (step S908), and the series of processes according to this flowchart is finished.

これにより、顧客の氏名、郵便番号、住所などの秘匿対象データを解読不可能にマスキングしてからメモリダンプ(ダンプファイル)を出力することができる。   As a result, it is possible to output a memory dump (dump file) after masking confidential data such as a customer's name, postal code, and address so that they cannot be decrypted.

以上説明したように、実施の形態2にかかる情報処理装置100によれば、ソフトウェアSWに定義されたデータ構造を参照して、秘匿対象に指定されたデータ項目に対応するメモリ302内のデータを秘匿対象データとして特定することができる。そして、情報処理装置100によれば、特定した秘匿対象データを書き換えるマスク処理を施して、マスク処理を施したメモリダンプを出力することができる。   As described above, according to the information processing apparatus 100 according to the second embodiment, with reference to the data structure defined in the software SW, the data in the memory 302 corresponding to the data item designated as the confidential target is stored. It can be specified as confidential data. Then, according to the information processing apparatus 100, it is possible to perform a mask process for rewriting the specified confidential data and output a memory dump subjected to the mask process.

これにより、ソフトウェアSWのメモリマップが判っている場合には、ソフトウェアSWの作成時に、ソースプログラム上で秘匿対象となるデータ項目を予め指定しておくことで、メモリダンプ内の秘匿対象データを精度よく特定することができる。また、顧客の重要情報等の秘匿対象データをピンポイントでマスク処理できるため、重要情報ではない部分がマスキングされるのを防いで、トラブル調査の際の情報不足を回避できる。   As a result, when the memory map of the software SW is known, the data item to be concealed is designated in advance in the source program when the software SW is created, so that the concealment target data in the memory dump can be accurately determined. Can be identified well. Also, since confidential data such as important customer information can be masked in a pinpoint manner, it is possible to prevent a portion that is not important information from being masked, thereby avoiding a shortage of information during a trouble investigation.

また、実施の形態2にかかる情報処理装置100によれば、特定した秘匿対象データを黒塗り状態にする所定のコードに書き換えることができる。これにより、元の情報(例えば、氏名、郵便番号、住所)を解読不可能にマスキングすることができる。   Further, according to the information processing apparatus 100 according to the second embodiment, it is possible to rewrite the specified data to be concealed into a predetermined code for making a black state. Thereby, the original information (for example, name, zip code, and address) can be masked indecipherably.

また、実施の形態2にかかる情報処理装置100によれば、特定した秘匿対象データを当該秘匿対象データの種類を示す文字列データに書き換えることができる。これにより、トラブル調査者等に対して元の情報の種類を提示して、マスクされた箇所にどのような情報があったのかを判別可能にすることができる。   Further, according to the information processing apparatus 100 according to the second embodiment, the specified confidential data can be rewritten to character string data indicating the type of the confidential data. Thereby, it is possible to present the type of the original information to the trouble investigator and to determine what information is in the masked portion.

(実施の形態3)
つぎに、実施の形態3にかかる情報処理装置100について説明する。実施の形態3では、ソフトウェアSWのメモリマップが判っていない、すなわち、メモリの使い方が判っていない場合を想定する。なお、実施の形態1,2で説明した箇所と同様の箇所については、同一符号を付して説明を省略する。
(Embodiment 3)
Next, the information processing apparatus 100 according to the third embodiment will be described. In the third embodiment, it is assumed that the memory map of the software SW is not known, that is, the usage of the memory is not known. In addition, about the location similar to the location demonstrated in Embodiment 1, 2, the same code | symbol is attached | subjected and description is abbreviate | omitted.

まず、実施の形態3にかかる情報処理装置100の機能的構成例について説明する。   First, a functional configuration example of the information processing apparatus 100 according to the third embodiment will be described.

図10は、実施の形態3にかかる情報処理装置100の機能的構成例を示すブロック図である。図10において、情報処理装置100は、検出部601と、第2の特定部1001と、第2の書換部1002と、出力部604と、を含む構成である。各機能部601,604,1001,1002は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク305などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F303により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク305などの記憶装置に記憶される。   FIG. 10 is a block diagram of a functional configuration example of the information processing apparatus 100 according to the third embodiment. In FIG. 10, the information processing apparatus 100 includes a detection unit 601, a second specifying unit 1001, a second rewriting unit 1002, and an output unit 604. Each of the function units 601, 604, 1001, and 1002 is a function serving as a control unit. Specifically, for example, the CPU 301 executes a program stored in a storage device such as the memory 302 and the disk 305 illustrated in FIG. Or the I / F 303 realizes the function. The processing result of each functional unit is stored in a storage device such as the memory 302 and the disk 305, for example.

以下、実施の形態2にかかる情報処理装置100と異なる機能部について説明する。なお、実施の形態3にかかる情報処理装置100についても、実施の形態2にかかる情報処理装置100が有する特定部602と同様の機能部を有することにしてもよい。   Hereinafter, functional units different from the information processing apparatus 100 according to the second embodiment will be described. Note that the information processing apparatus 100 according to the third embodiment may have the same functional unit as the specifying unit 602 included in the information processing apparatus 100 according to the second embodiment.

第2の特定部1001は、メモリダンプ内の秘匿対象データを特定する。具体的には、例えば、第2の特定部1001は、ソフトウェアSWの異常が検出された場合に、メモリ302上にロード(展開)された必要なデータを収集して一時ファイルに格納することにより、メモリダンプを取得する。   The second specifying unit 1001 specifies the data to be concealed in the memory dump. Specifically, for example, when the abnormality of the software SW is detected, the second specifying unit 1001 collects necessary data loaded (expanded) on the memory 302 and stores it in a temporary file. Get a memory dump.

つぎに、第2の特定部1001は、取得したメモリダンプ内のテキスト部分(テキストデータ)を抽出する。ここで、重要情報(顧客の個人情報など)は、一般的にはテキストで表現されており、メモリ302上では、そのテキストが、コンピュータが処理可能なバイナリで展開されている。このため、重要情報である秘匿対象データを特定するために、まず、第2の特定部1001はテキスト部分を抽出する。   Next, the second specifying unit 1001 extracts a text portion (text data) in the acquired memory dump. Here, important information (customer personal information and the like) is generally expressed in text, and the text is expanded in the memory 302 in binary that can be processed by a computer. For this reason, in order to identify confidential data that is important information, first, the second identifying unit 1001 extracts a text portion.

そして、第2の特定部1001は、構造パターンDB1010を参照して、抽出したテキスト部分と、所定のパターンとを比較する。より詳細に説明すると、例えば、第2の特定部1001は、抽出したテキスト部分を自然言語処理(形態素解析、構文解析、意味解析等)して得られる文字列(単語、文等)と、所定のパターンとを比較する。そして、第2の特定部1001は、所定のパターンに合致するテキスト部分を秘匿対象データとして特定する。   Then, the second specifying unit 1001 refers to the structure pattern DB 1010 and compares the extracted text portion with a predetermined pattern. More specifically, for example, the second specifying unit 1001 includes a character string (word, sentence, etc.) obtained by natural language processing (morphological analysis, syntax analysis, semantic analysis, etc.) on the extracted text portion, and a predetermined Compare with the pattern. Then, the second specifying unit 1001 specifies a text portion that matches a predetermined pattern as confidential data.

ここで、構造パターンDB1010は、秘匿対象となり得る情報(重要情報)の構造を表す所定のパターンを記憶する。構造パターンDB1010は、例えば、メモリ302、ディスク305などの記憶装置により実現される。重要情報は、例えば、郵便番号、住所、IPアドレス、コンピュータ名、氏名、マイナンバーなどである。例えば、所定のパターンは、郵便番号、住所およびIPアドレスのうちの少なくともいずれかを正規表現したものである。また、所定のパターンは、既存の郵便番号、住所(市区町村レベル)、コンピュータ名を表す文字列であってもよい。   Here, the structure pattern DB 1010 stores a predetermined pattern representing the structure of information (important information) that can be a secret object. The structure pattern DB 1010 is realized by a storage device such as the memory 302 and the disk 305, for example. The important information is, for example, a zip code, an address, an IP address, a computer name, a name, and a my number. For example, the predetermined pattern is a regular expression of at least one of a zip code, an address, and an IP address. The predetermined pattern may be an existing zip code, address (city level), or a character string representing a computer name.

以下、秘匿対象データとなり得る情報として、郵便番号、住所、IPアドレスおよび氏名を例に挙げて、第2の特定部1001の具体的な処理例について説明する。   Hereinafter, a specific processing example of the second specifying unit 1001 will be described by taking a zip code, an address, an IP address, and a name as examples of information that can be confidential data.

・郵便番号
第2の特定部1001は、構造パターンDB1010を参照して、テキスト部分と既存の郵便番号とを比較して、既存の郵便番号に合致したテキスト部分を秘匿対象データとして特定する。また、第2の特定部1001は、構造パターンDB1010を参照して、テキスト部分と郵便番号の正規表現とを比較して、郵便番号の正規表現に合致したテキスト部分を秘匿対象データとして特定する。
Postal code The second specifying unit 1001 refers to the structure pattern DB 1010, compares the text part with the existing postal code, and specifies the text part that matches the existing postal code as confidential data. Also, the second specifying unit 1001 refers to the structure pattern DB 1010, compares the text part with the regular expression of the zip code, and specifies the text part that matches the regular expression of the zip code as confidential data.

郵便番号の正規表現としては、例えば、「〒¥d{3}−¥d{4}」を用いることができる。この正規表現は、〒(記号)と数字3桁と−(ハイフン)と数字4桁を表す。ただし、郵便番号記号を省略して郵便番号が記憶されている場合がある。このため、郵便番号の正規表現として、「¥d{3}¥−¥d{4}」も用いることにしてもよい。この正規表現は、数字3桁と−(ハイフン)と数字4桁を表す。   As the regular expression of the postal code, for example, “〒 \ d {3}-\ d {4}” can be used. This regular expression represents 〒 (symbol), 3 digits,-(hyphen), and 4 digits. However, the postal code may be stored without the postal code symbol. Therefore, “¥ d {3} ¥ − ¥ d {4}” may also be used as the regular expression of the zip code. This regular expression represents 3 digits,-(hyphen), and 4 digits.

これにより、メモリダンプ内の郵便番号を示すデータを秘匿対象データとして特定することができる。   Thereby, the data indicating the zip code in the memory dump can be specified as the confidential data.

・住所
第2の特定部1001は、構造パターンDB1010を参照して、テキスト部分と既存の住所とを比較して、既存の住所に合致したテキスト部分を秘匿対象データとして特定する。また、第2の特定部1001は、構造パターンDB1010を参照して、テキスト部分と住所の正規表現とを比較して、住所の正規表現に合致したテキスト部分を秘匿対象データとして特定する。
Address The second specifying unit 1001 refers to the structure pattern DB 1010, compares the text part with the existing address, and specifies the text part that matches the existing address as confidential data. Further, the second specifying unit 1001 refers to the structure pattern DB 1010, compares the text part with the regular expression of the address, and specifies the text part that matches the regular expression of the address as the confidential data.

住所の正規表現としては、例えば、「^((北海道|東京都|(大阪|京都)府|(神奈川|和歌山|鹿児島)県|[^¥s¥w¥d]{2}県)[^¥s¥w¥d]{1,4}[市郡区町村][^¥s¥w¥d]{1,15})」を用いることができる。ここで、北海道|東京都|(大阪|京都)府|(神奈川|和歌山|鹿児島)県は、北海道、都道府、3文字の県を示す。   As a regular expression of an address, for example, “^ ((Hokkaido | Tokyo | (Osaka | Kyoto) Fu | (Kanagawa | Wakayama | Kagoshima) ken | [^ ¥ s ¥ w ¥ d] {2} prefecture) [^ \ S \ w \ d] {1,4} [city / town / town / village] [^ \ s \ w \ d] {1,15}) ". Here, Hokkaido | Tokyo → (Osaka | Kyoto) fu | (Kanagawa | Wakayama | Kagoshima) prefecture indicates Hokkaido, prefecture, or three-letter prefecture.

また、[^¥s¥w¥d]{2}県は、2文字の県のパターンを示す。¥sは、リターン、タブなどの制御文字である。¥wは、アルファベット/アラビア数字/アンダーバー、すなわち「[a−zA−Z_0−9]である。¥dは、数字、すなわち[0−9]である。また、[^¥s¥w¥d ]{1,4}[市郡区町村]は、4文字以内の市郡区町村名を示す。また、[^¥s¥w¥d ]{1,15})は、市郡区町村の後に続く詳細な地名を示す(長さは15よりも長くてもよい)。   [^ ¥ s ¥ w ¥ d] {2} prefecture indicates a 2-character prefecture pattern. ¥ s is a control character such as return or tab. \ W is an alphabet / Arabic numeral / underbar, that is, "[a-zA-Z_0-9]. \ D is a numeral, that is, [0-9]. [^ \ S \ w \ d ] {1, 4} [city / town / town / town / town / town / town / town / town / town / town / town / town / town / town / town / town / village name] [^ \ s / w / d] {1, 15}) Indicates the detailed place name that follows (length may be greater than 15).

これにより、メモリダンプ内の住所を示すデータを秘匿対象データとして特定することができる。なお、第2の特定部1001は、例えば、郵便番号と住所の関係DBを持ち、抽出した郵便番号と住所が合致しているか否かをチェックすることにしてもよい。   Thereby, the data indicating the address in the memory dump can be specified as confidential data. Note that the second specifying unit 1001 may have, for example, a postal code and address relation DB and check whether or not the extracted postal code matches the address.

・IPアドレス
第2の特定部1001は、構造パターンDB1010を参照して、テキスト部分とIPアドレスの正規表現とを比較して、IPアドレスの正規表現に合致したテキスト部分を秘匿対象データとして特定する。
IP address The second specifying unit 1001 refers to the structure pattern DB 1010, compares the text part with the regular expression of the IP address, and specifies the text part that matches the regular expression of the IP address as confidential data. .

IPアドレス(IPv4)の正規表現としては、例えば、「/^(¥d|[01]?¥d¥d|2[0−4]¥d|25[0−5])¥.(¥d|[01]?¥d¥d|2[0−4]¥d|25[0−5])¥.(¥d|[01]?¥d¥d|2[0−4]¥d|25[0−5])¥.(¥d|[01]?¥d¥d|2[0−4]¥d|25[0−5])$/」を用いることができる。   As a regular expression of the IP address (IPv4), for example, “/^(¥d|[01]?¥d¥d|2[0-4]¥d|25[0-5])¥.(¥d | [01]? \ D \ d | 2 [0-4] \ d | 25 [0-5]) \. (\ D | [01]? \ D \ d | 2 [0-4] \ d | 25 [0-5]) \. (\ D | [01]? \ D \ d | 2 [0-4] \ d | 25 [0-5]) $ / "can be used.

最初の「/^」は、IPアドレスの先頭からマッチさせることを示す。最後の「$/」は、IPアドレスの末尾までマッチさせることを示す。「¥.」は、IPアドレスの表現形式255.255.255の中の数値を区切る「.」を示す。「¥d」は、1文字の数字0〜9を示す。「?」は、その直前の表現が0個か1個であることを示す。「|」は、または(or)を示す。   The first “/ ^” indicates matching from the beginning of the IP address. The last “$ /” indicates that matching is performed up to the end of the IP address. “¥.” Indicates “.” That delimits numerical values in the IP address expression format 255.255.255. “¥ d” indicates one-digit numbers 0-9. “?” Indicates that the immediately preceding expression is 0 or 1. "|" Indicates or (or).

すなわち、「¥d|[01]?¥d¥d|2[0−4]¥d|25[0−5]」は、[0−9]または[01]?[0−9][0−9]または2[0−4][0−9]または25[0−5]を示す。[0−9]は、0〜9を示し、[01]?[0−9][0−9]は、00〜199を示し、2[0−4][0−9]は、200〜249を示し、25[0−5]は、250〜255を示す。   That is, “¥ d | [01]? ¥ d ¥ d | 2 [0-4] ¥ d | 25 [0-5]” is [0-9] or [01]? [0-9] [0-9] or 2 [0-4] [0-9] or 25 [0-5] are indicated. [0-9] represents 0 to 9, and [01]? [0-9] [0-9] represents 00 to 199, 2 [0-4] [0-9] represents 200 to 249, and 25 [0-5] represents 250 to 255. .

また、IPアドレス(IPv4)の形式を示す正規表現としては、例えば、「(¥d{1,3})¥.(¥d{1,3})¥.(¥d{1,3})¥.(¥d{1,3})」を用いることができる。{ }は、前にある文字の指定した回数を示す。¥d{1,3}は、数値が1回以上で3回以下繰り返されたものにマッチ(1,12,234)させることを示す。ab{2}は、abbにマッチさせることを示す。ab{2,}は、2回以上繰り返されたものにマッチ(abb,abbbb,abbbbbbbbなど)させることを示す。ab{2,4}は、2回以上で4回以下のものにマッチ(abb,abbb,abbbb)させることを示す。   Further, as a regular expression indicating the format of the IP address (IPv4), for example, “(¥ d {1,3}) ¥. (¥ d {1,3}) ¥. (¥ d {1,3}) ¥. (¥ d {1,3}) ”can be used. {} Indicates the specified number of times for the preceding character. \ D {1,3} indicates that the numerical value is matched (1, 12, 234) with a repetition of 1 to 3 times. ab {2} indicates matching with abb. ab {2,} indicates that a match is repeated (abb, abbbb, abbbbbbbb, etc.). ab {2, 4} indicates that a match (abb, abbb, abbbb) is performed two to four times.

これにより、メモリダンプ内のIPアドレスを示すデータを秘匿対象データとして特定することができる。なお、ここでは、IPv4のIPアドレスを例に挙げて説明したが、IPv6のIPアドレスについても同様にして特定することができる。   Thereby, the data indicating the IP address in the memory dump can be specified as the confidential data. Here, the IPv4 IP address has been described as an example, but the IPv6 IP address can be specified in the same manner.

・名前
第2の特定部1001は、抽出したテキスト部分を自然言語処理(形態素解析、構文解析、意味解析等)して得られる単語の後ろに敬称(例えば、さん、様、殿)が付加されているか否かを判断する。ここで、敬称が付加されている場合、第2の特定部1001は、敬称の前の単語部分を、名前を示す秘匿対象データとして特定することにしてもよい。
Name The second specifying unit 1001 adds a title (for example, san, sama, san) to the end of a word obtained by natural language processing (morphological analysis, syntax analysis, semantic analysis, etc.) of the extracted text part. Judge whether or not. Here, when the title is added, the second specifying unit 1001 may specify the word part before the title as the confidential data indicating the name.

また、構造パターンDB1010に、既存の氏名を名前辞書として登録しておくことにしてもよい。この場合、第2の特定部1001は、例えば、敬称が付加された単語が名前辞書に登録されていれば、敬称の前の単語部分(敬称部分を含めてもよい)を、名前を示す秘匿対象データとして特定することにしてもよい。また、第2の特定部1001は、テキスト部分を自然言語処理して得られる各単語と名前辞書の氏名とを比較して、名前辞書の氏名に合致した単語を、名前を示す秘匿対象データとして特定することにしてもよい。   Further, an existing name may be registered in the structure pattern DB 1010 as a name dictionary. In this case, for example, if a word to which a title is added is registered in the name dictionary, the second specifying unit 1001 may conceal the word part before the title (may include the title part) indicating the name. You may decide to specify as object data. In addition, the second specifying unit 1001 compares each word obtained by natural language processing of the text part with the name in the name dictionary, and uses the word that matches the name in the name dictionary as confidential data indicating the name. You may decide to specify.

これにより、メモリダンプ内の名前(氏名)を示すデータを秘匿対象データとして特定することができる。   Thereby, the data indicating the name (name) in the memory dump can be specified as confidential data.

なお、特定された秘匿対象データの情報は、例えば、図11に示すような対応表1100に記憶される。ここで、対応表1100の具体例について説明する。   Note that the information of the specified confidential data is stored, for example, in a correspondence table 1100 as shown in FIG. Here, a specific example of the correspondence table 1100 will be described.

図11は、対応表1100の具体例を示す説明図である。図11において、対応表1100は、距離、種類および通番のフィールドを有し、各フィールドに情報を設定することで、各秘匿対象データの対応情報(例えば、対応情報1100−1〜1100−6)をレコードとして記憶する。   FIG. 11 is an explanatory diagram showing a specific example of the correspondence table 1100. In FIG. 11, the correspondence table 1100 has fields of distance, type, and serial number. By setting information in each field, correspondence information (for example, correspondence information 1100-1 to 1100-6) of each concealment target data. Is stored as a record.

距離は、メモリダンプにおける秘匿対象データの位置を示す情報であり、メモリダンプの先頭からの距離(相対的なアドレス)を示す。種類は、秘匿対象データの種類である。通番は、メモリダンプの先頭から順に秘匿対象データにつけられる一続きの番号である。ただし、データ内容が同じ秘匿対象データ同士には同じ番号が付与される。   The distance is information indicating the position of the concealment target data in the memory dump, and indicates the distance (relative address) from the top of the memory dump. The type is the type of confidential data. The serial number is a continuous number assigned to the data to be concealed in order from the top of the memory dump. However, the same number is assigned to data to be concealed having the same data content.

例えば、対応情報1100−1は、メモリダンプの先頭から距離d1に種類「IPアドレス」、通番「001」の秘匿対象データが存在することを示す。また、対応情報1100−4は、メモリダンプの先頭から距離d4に種類「IPアドレス」、通番「001」の秘匿対象データが存在することを示す。すなわち、距離d1,d4にデータ内容が同じ種類「IPアドレス」の秘匿対象データが存在していることがわかる。   For example, the correspondence information 1100-1 indicates that confidential data of type “IP address” and serial number “001” exists at a distance d1 from the beginning of the memory dump. Correspondence information 1100-4 indicates that there is concealment target data of type “IP address” and serial number “001” at a distance d4 from the beginning of the memory dump. That is, it can be seen that there is confidential data of the same type “IP address” at the distances d1 and d4.

図10の説明に戻り、第2の書換部1002は、特定された秘匿対象データを書き換えるマスク処理を施す。具体的には、例えば、第2の書換部1002は、図6に示した書換部603と同様に、特定された秘匿対象データを黒塗り状態にする所定のコード(黒塗り用コード)に書き換えることにしてもよい。また、例えば、第2の書換部1002は、特定された秘匿対象データを当該秘匿対象データの種類を示す文字列データに書き換えることにしてもよい。   Returning to the description of FIG. 10, the second rewriting unit 1002 performs a mask process for rewriting the identified confidential data. Specifically, for example, the second rewriting unit 1002 rewrites the specified data to be concealed into a predetermined code (black coating code) that makes the specified confidential data black, similarly to the rewriting unit 603 shown in FIG. You may decide. Further, for example, the second rewriting unit 1002 may rewrite the specified confidential data into character string data indicating the type of the confidential data.

また、第2の書換部1002は、特定された秘匿対象データを、当該秘匿対象データの種類および通番を示す文字列データに書き換えることにしてもよい。ここで、通番とは、上述したように、メモリダンプの先頭から順に秘匿対象データにつけられる一続きの番号であり、データ内容が同じ秘匿対象データ同士は同じ番号となる。   Further, the second rewriting unit 1002 may rewrite the identified confidential data into character string data indicating the type and serial number of the confidential data. Here, as described above, the serial number is a continuous number assigned to the data to be concealed in order from the beginning of the memory dump, and the data to be concealed having the same data content has the same number.

具体的には、例えば、第2の書換部1002は、図11に示した対応表1100を参照して、メモリダンプ内の秘匿対象データを、当該秘匿対象データの種類および通番を示す文字列データ(例えば、IP001)に書き換える。ただし、書換前後のデータ長を合わせて、元の情報の長さは維持するものとする。   Specifically, for example, the second rewriting unit 1002 refers to the correspondence table 1100 shown in FIG. 11 and converts the confidential data in the memory dump into character string data indicating the type and serial number of the confidential data. (For example, IP001). However, the length of the original information is maintained by combining the data length before and after rewriting.

これにより、元の情報の種類を判別可能にするとともに、メモリダンプ内に同じ内容の秘匿対象データが存在する場合に、元の情報が同じ内容であったマスク箇所を判別可能にすることができる。   As a result, the type of the original information can be determined, and when the data to be concealed exists in the memory dump, the mask location where the original information has the same content can be determined. .

なお、上述した説明では、メモリダンプを対象として秘匿対象データを特定してマスク処理を施す場合について説明したが、これに限らない。例えば、ソフトウェアSWの異常発生時に出力されるログ・トレースファイルなどを対象として、秘匿対象データを特定してマスク処理を施すことにしてもよい。   In the above description, the case where the masking process is performed by specifying the concealment target data for the memory dump is described, but the present invention is not limited to this. For example, masking processing may be performed by specifying confidential data for a log / trace file output when a software SW abnormality occurs.

(メモリダンプの出力例)
つぎに、メモリダンプの出力例について説明する。ここでは、調査用端末201(図2参照)のディスプレイ(不図示)に表示されるメモリダンプの表示例を例に挙げて説明する。また、バイナリエディタなどを利用して、メモリダンプの内容が文字として表示されている場合を想定する。
(Output example of memory dump)
Next, a memory dump output example will be described. Here, a display example of a memory dump displayed on the display (not shown) of the investigation terminal 201 (see FIG. 2) will be described as an example. In addition, it is assumed that the contents of the memory dump are displayed as characters using a binary editor or the like.

図12は、メモリダンプの表示例を示す説明図(その2)である。図12において、メモリダンプ1210は、マスク処理が施される前のメモリダンプを示している。また、メモリダンプ1220は、メモリダンプ1210内のテキスト部分1211〜1218のうちの秘匿対象データ1211,1212,1213,1215,1216,1217にマスク処理が施された後のメモリダンプを示している。なお、図12中の「…」部分は、文字データではない部分とする。   FIG. 12 is an explanatory diagram (part 2) of a display example of a memory dump. In FIG. 12, a memory dump 1210 indicates a memory dump before mask processing is performed. The memory dump 1220 indicates a memory dump after masking is performed on the concealment target data 1211, 1212, 1213, 1215, 1216, and 1217 in the text portions 1211 to 1218 in the memory dump 1210. The “...” Portion in FIG. 12 is a portion that is not character data.

具体的には、秘匿対象データ1211が、秘匿対象データ1211の種類「IPアドレス」および通番「001」を示す文字列データ1221に書き換えられている。秘匿対象データ1212が、秘匿対象データ1212の種類「郵便番号」および通番「001」を示す文字列データ1222に書き換えられている。秘匿対象データ1213が、秘匿対象データ1213の種類「住所」および通番「001」を示す文字列データ1223に書き換えられている。秘匿対象データ1215が、秘匿対象データ1215の種類「IPアドレス」および通番「001」を示す文字列データ1224に書き換えられている。秘匿対象データ1216が、秘匿対象データ1216の種類「IPアドレス」および通番「002」を示す文字列データ1225に書き換えられている。秘匿対象データ1217が、秘匿対象データ1217の種類「名前」および通番「001」を示す文字列データ1226に書き換えられている。   Specifically, the concealment target data 1211 is rewritten to character string data 1221 indicating the type “IP address” and the serial number “001” of the concealment target data 1211. The confidential data 1212 is rewritten to character string data 1222 indicating the type “zip code” and serial number “001” of the confidential data 1212. The concealment target data 1213 is rewritten to character string data 1223 indicating the type “address” and the serial number “001” of the concealment target data 1213. The confidential data 1215 is rewritten to character string data 1224 indicating the type “IP address” and serial number “001” of the confidential data 1215. The confidential data 1216 is rewritten to character string data 1225 indicating the type “IP address” and the serial number “002” of the confidential data 1216. The concealment target data 1217 is rewritten to character string data 1226 indicating the type “name” and the serial number “001” of the concealment target data 1217.

調査用端末201には、メモリダンプ1220が表示される。これにより、トラブル調査の際に、たとえトラブル調査者であっても秘匿対象データ1211,1212,1213,1215,1216,1217の内容が参照できなくなり、顧客の氏名、郵便番号、住所、IPアドレスなどの重要情報が漏洩するのを防ぐことができる。   A memory dump 1220 is displayed on the investigation terminal 201. As a result, the contents of the confidential data 1211, 1212, 1213, 1215, 1216, and 1217 cannot be referred to even if the trouble investigator is in trouble investigation, and the customer's name, zip code, address, IP address, etc. It is possible to prevent leakage of important information.

また、元の情報の種類が提示されるため、トラブル調査者は、マスクされた箇所にどのような情報があったのかを判別することができる。さらに、同じ内容の秘匿対象データには同じ番号の通番が付与されるため、トラブル調査者は、元の情報が同じ内容であったマスク箇所を判別することができる。図12の例では、トラブル調査者は、文字列データ1221,1224が元は同じIPアドレスであったことが分かり、トラブルの原因究明や検証に役立てることができる。   In addition, since the type of the original information is presented, the trouble investigator can determine what information is in the masked portion. Further, since the same serial number is assigned to the confidential data having the same content, the trouble investigator can determine the mask location where the original information has the same content. In the example of FIG. 12, the trouble investigator knows that the character string data 1221 and 1224 originally have the same IP address, and can use it for investigation and verification of the cause of the trouble.

(情報処理装置100のダンプマスク処理手順)
つぎに、情報処理装置100のダンプマスク処理手順について説明する。
(Dump mask processing procedure of information processing apparatus 100)
Next, the dump mask processing procedure of the information processing apparatus 100 will be described.

図13は、実施の形態3にかかる情報処理装置100のダンプマスク処理手順の一例を示すフローチャートである。図13のフローチャートにおいて、まず、情報処理装置100は、ソフトウェアSWの異常を検出したか否かを判断する(ステップS1301)。   FIG. 13 is a flowchart of an example of a dump mask processing procedure of the information processing apparatus 100 according to the third embodiment. In the flowchart of FIG. 13, first, the information processing apparatus 100 determines whether an abnormality of the software SW has been detected (step S1301).

ここで、情報処理装置100は、ソフトウェアSWの異常を検出するのを待つ(ステップS1301:No)。そして、情報処理装置100は、ソフトウェアSWの異常を検出した場合(ステップS1301:Yes)、メモリ302上のデータを収集して一時ファイルに格納することにより、メモリダンプを取得する(ステップS1302)。   Here, the information processing apparatus 100 waits for detection of an abnormality in the software SW (step S1301: No). When the information processing apparatus 100 detects an abnormality in the software SW (step S1301: Yes), the information processing apparatus 100 collects data on the memory 302 and stores it in a temporary file, thereby acquiring a memory dump (step S1302).

つぎに、情報処理装置100は、取得したメモリダンプ内のデータを先頭から読み込む(ステップS1303)。そして、情報処理装置100は、読み込んだデータがテキスト部分であるか否かを判断する(ステップS1304)。ここで、テキスト部分ではない場合(ステップS1304:No)、情報処理装置100は、ステップS1308に移行する。   Next, the information processing apparatus 100 reads the data in the acquired memory dump from the top (step S1303). The information processing apparatus 100 determines whether the read data is a text part (step S1304). Here, when it is not a text part (step S1304: No), the information processing apparatus 100 transfers to step S1308.

一方、テキスト部分の場合には(ステップS1304:Yes)、情報処理装置100は、構造パターンDB1010を参照して、読み込んだデータと所定のパターンとを比較することにより、当該データが秘匿対象データであるか否かを判断する(ステップS1305)。   On the other hand, in the case of a text portion (step S1304: Yes), the information processing apparatus 100 refers to the structure pattern DB 1010 and compares the read data with a predetermined pattern, so that the data is confidential data. It is determined whether or not there is (step S1305).

ここで、秘匿対象データの場合(ステップS1305:Yes)、情報処理装置100は、読み込んだデータ(テキスト部分)を書き換えるマスク処理を施す(ステップS1306)。そして、情報処理装置100は、マスク処理を施したデータをディスク305(図3参照)上のダンプファイルに格納して(ステップS1307)、ステップS1308に移行する。   Here, in the case of confidential data (step S1305: Yes), the information processing apparatus 100 performs a mask process for rewriting the read data (text portion) (step S1306). Then, the information processing apparatus 100 stores the masked data in a dump file on the disk 305 (see FIG. 3) (step S1307), and proceeds to step S1308.

また、ステップS1305において、秘匿対象データではない場合(ステップS1305:No)、情報処理装置100は、読み込んだデータをディスク305上のダンプファイルに格納する(ステップS1307)。そして、情報処理装置100は、メモリダンプ内のデータの読み込みが終了したか否かを判断する(ステップS1308)。   In step S1305, if the data is not confidential data (step S1305: No), the information processing apparatus 100 stores the read data in a dump file on the disk 305 (step S1307). Then, the information processing apparatus 100 determines whether reading of data in the memory dump has been completed (step S1308).

ここで、データの読み込みが終了していない場合(ステップS1308:No)、情報処理装置100は、ステップS1303に戻る。一方、データの読み込みが終了した場合(ステップS1308:Yes)、情報処理装置100は、ダンプファイルを出力して(ステップS1309)、本フローチャートによる一連の処理を終了する。   If the data reading has not been completed (step S1308: No), the information processing apparatus 100 returns to step S1303. On the other hand, when the reading of data is finished (step S1308: Yes), the information processing apparatus 100 outputs a dump file (step S1309), and the series of processes according to this flowchart is finished.

これにより、顧客の氏名、郵便番号、住所、IPアドレスなどの秘匿対象データを解読不可能にマスキングしてからメモリダンプ(ダンプファイル)を出力することができる。   As a result, it is possible to output a memory dump (dump file) after masking confidential data such as the customer's name, postal code, address, and IP address in an indecipherable manner.

以上説明したように、実施の形態3にかかる情報処理装置100によれば、メモリダンプ内のテキスト部分を抽出することができる。また、情報処理装置100によれば、構造パターンDB1010を参照して、抽出したテキスト部分と所定のパターンとを比較して、所定のパターンに合致するテキスト部分を秘匿対象データとして特定することができる。所定のパターンは、例えば、既存の郵便番号、住所、氏名、あるいは、郵便番号、住所およびIPアドレスを正規表現したものである。そして、情報処理装置100によれば、特定した秘匿対象データを書き換えるマスク処理を施して、マスク処理を施したメモリダンプを出力することができる。   As described above, according to the information processing apparatus 100 according to the third embodiment, the text portion in the memory dump can be extracted. Further, according to the information processing apparatus 100, the extracted text portion is compared with the predetermined pattern with reference to the structure pattern DB 1010, and the text portion that matches the predetermined pattern can be specified as confidential data. . The predetermined pattern is, for example, an existing zip code, address, name, or regular expression of the zip code, address, and IP address. Then, according to the information processing apparatus 100, it is possible to perform a mask process for rewriting the specified confidential data and output a memory dump subjected to the mask process.

これにより、ソフトウェアSWのメモリマップが判っていない場合には、メモリダンプ内のテキスト部分と構造パターンDB1010内のパターンとのパターンマッチングにより、メモリダンプ内の秘匿対象データを特定することができる。例えば、ソフトウェアSWが、OSや他人の作成したプログラム部分を含むメモリマップが判らないものであっても、メモリダンプ内の郵便番号、住所、氏名、IPアドレスなどの秘匿対象データを特定してマスク処理を施すことができる。   Thereby, when the memory map of the software SW is not known, the data to be concealed in the memory dump can be specified by pattern matching between the text portion in the memory dump and the pattern in the structure pattern DB 1010. For example, even if the software SW does not know the memory map that includes the program portion created by the OS or others, it masks the data to be concealed, such as the zip code, address, name, and IP address in the memory dump. Processing can be performed.

また、実施の形態3にかかる情報処理装置100によれば、メモリダンプの先頭から順に、データ内容が同じ秘匿対象データ同士は同じ番号となるように、特定した秘匿対象データに通番を付与することができる。そして、情報処理装置100によれば、秘匿対象データを当該秘匿対象データの種類および通番を示す文字列データに書き換えることができる。   Further, according to the information processing apparatus 100 according to the third embodiment, in order from the top of the memory dump, serial numbers are assigned to the identified confidential data so that the confidential data with the same data contents have the same number. Can do. According to the information processing apparatus 100, the confidential data can be rewritten into character string data indicating the type and serial number of the confidential data.

これにより、トラブル調査の際に、元の情報の種類を判別可能にするとともに、メモリダンプ内に同じ内容の秘匿対象データが存在する場合に、元の情報が同じ内容であったマスク箇所を判別可能にして、トラブルの原因究明や検証を支援することができる。   This makes it possible to determine the type of original information when investigating a problem, and when there is confidential data with the same content in a memory dump, it is possible to determine the mask location where the original information has the same content It is possible to support the investigation and verification of the cause of the trouble.

なお、本実施の形態で説明したダンプマスク方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本ダンプマスクプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO(Magneto−Optical disk)、DVD(Digital Versatile Disk)、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本ダンプマスクプログラムは、インターネット等のネットワークを介して配布してもよい。   Note that the dump mask method described in the present embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. This dump mask program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO (Magneto-Optical disk), a DVD (Digital Versatile Disk), a USB memory, and the like. It is executed by being read. The dump mask program may be distributed via a network such as the Internet.

上述した実施の形態に関し、さらに以下の付記を開示する。   The following additional notes are disclosed with respect to the embodiment described above.

(付記1)コンピュータに、
ソフトウェアの異常を検出すると、メモリダンプ内の秘匿対象データを特定し、
特定した前記秘匿対象データを書き換えるマスク処理を施し、
前記マスク処理を施した前記メモリダンプを出力する、
処理を実行させることを特徴とするダンプマスクプログラム。
(Supplementary note 1)
When software abnormality is detected, the data to be concealed in the memory dump is identified,
Apply mask processing to rewrite the identified data to be concealed,
Outputting the memory dump subjected to the mask processing;
A dump mask program characterized by causing processing to be executed.

(付記2)前記特定する処理は、
前記ソフトウェアに定義されたデータ構造を参照して、秘匿対象に指定されたデータ項目に対応するメモリ内のデータを秘匿対象データとして特定する、ことを特徴とする付記1に記載のダンプマスクプログラム。
(Supplementary note 2)
The dump mask program according to appendix 1, wherein data in a memory corresponding to a data item designated as a concealment target is specified as concealment target data with reference to a data structure defined in the software.

(付記3)前記特定する処理は、
前記メモリダンプ内のテキスト部分を抽出し、秘匿対象となり得る情報の構造を表す所定のパターンを記憶する記憶部を参照して、抽出した前記テキスト部分と前記所定のパターンとを比較し、前記所定のパターンに合致するテキスト部分を秘匿対象データとして特定する、ことを特徴とする付記1または2に記載のダンプマスクプログラム。
(Supplementary note 3)
Extracting the text portion in the memory dump, referring to a storage unit that stores a predetermined pattern representing the structure of information that can be concealed, comparing the extracted text portion with the predetermined pattern, and The dump mask program according to appendix 1 or 2, wherein a text portion that matches the pattern is specified as concealment target data.

(付記4)前記マスク処理を施す処理は、
特定した前記秘匿対象データを黒塗り状態にする所定のコードに書き換える、ことを特徴とする付記1〜3のいずれか一つに記載のダンプマスクプログラム。
(Additional remark 4) The process which performs the said mask process is as follows.
4. The dump mask program according to any one of appendices 1 to 3, wherein the specified data to be concealed is rewritten with a predetermined code for blackening.

(付記5)前記マスク処理を施す処理は、
特定した前記秘匿対象データを当該秘匿対象データの種類を示す文字列データに書き換える、ことを特徴とする付記1〜3のいずれか一つに記載のダンプマスクプログラム。
(Additional remark 5) The process which performs the said mask process is as follows.
4. The dump mask program according to any one of appendices 1 to 3, wherein the identified concealment target data is rewritten to character string data indicating a type of the concealment target data.

(付記6)前記所定のパターンは、郵便番号、住所およびIP(Internet Protocol)アドレスのうちの少なくともいずれかを正規表現したものである、ことを特徴とする付記3に記載のダンプマスクプログラム。 (Supplementary note 6) The dump mask program according to supplementary note 3, wherein the predetermined pattern is a regular expression of at least one of a zip code, an address, and an IP (Internet Protocol) address.

(付記7)前記マスク処理を施す処理は、
前記メモリダンプの先頭から順に、データ内容が同じ秘匿対象データ同士は同じ番号となるように、特定した前記秘匿対象データに通番を付与し、
前記秘匿対象データを当該秘匿対象データの種類および通番を示す文字列データに書き換える、ことを特徴とする付記3に記載のダンプマスクプログラム。
(Additional remark 7) The process which performs the said mask process is as follows.
In order from the top of the memory dump, concealment target data having the same data contents are assigned the same number so that the specified data is the same,
The dump mask program according to appendix 3, wherein the concealment target data is rewritten to character string data indicating the type and serial number of the concealment target data.

(付記8)コンピュータが、
ソフトウェアの異常を検出すると、メモリダンプ内の秘匿対象データを特定し、
特定した前記秘匿対象データを書き換えるマスク処理を施し、
前記マスク処理を施した前記メモリダンプを出力する、
処理を実行することを特徴とするダンプマスク方法。
(Appendix 8) The computer
When software abnormality is detected, the data to be concealed in the memory dump is identified,
Apply mask processing to rewrite the identified data to be concealed,
Outputting the memory dump subjected to the mask processing;
A dump mask method characterized by executing processing.

(付記9)ソフトウェアの異常を検出すると、メモリダンプ内の秘匿対象データを特定し、
特定した前記秘匿対象データを書き換えるマスク処理を施し、
前記マスク処理を施した前記メモリダンプを出力する、
制御部を有することを特徴とする情報処理装置。
(Appendix 9) When software abnormality is detected, the confidential data in the memory dump is specified,
Apply mask processing to rewrite the identified data to be concealed,
Outputting the memory dump subjected to the mask processing;
An information processing apparatus having a control unit.

100 情報処理装置
200 システム
201 調査用端末
210 ネットワーク
300 バス
301 CPU
302 メモリ
303 I/F
304 ディスクドライブ
305 ディスク
500 ソースプログラム
601 検出部
602 特定部
603 書換部
604 出力部
810,820,1210,1220 メモリダンプ
1001 第2の特定部
1002 第2の書換部
1010 構造パターンDB
1100 対応表
DESCRIPTION OF SYMBOLS 100 Information processing apparatus 200 System 201 Investigation terminal 210 Network 300 Bus 301 CPU
302 Memory 303 I / F
304 disk drive 305 disk 500 source program 601 detection unit 602 identification unit 603 rewriting unit 604 output unit 810, 820, 1210, 1220 memory dump 1001 second identification unit 1002 second rewriting unit 1010 structural pattern DB
1100 correspondence table

Claims (7)

コンピュータに、
ソフトウェアの異常を検出すると、メモリダンプ内の秘匿対象データを特定し、
特定した前記秘匿対象データを書き換えるマスク処理を施し、
前記マスク処理を施した前記メモリダンプを出力する、
処理を実行させることを特徴とするダンプマスクプログラム。
On the computer,
When software abnormality is detected, the data to be concealed in the memory dump is identified,
Apply mask processing to rewrite the identified data to be concealed,
Outputting the memory dump subjected to the mask processing;
A dump mask program characterized by causing processing to be executed.
前記特定する処理は、
前記ソフトウェアに定義されたデータ構造を参照して、秘匿対象に指定されたデータ項目に対応するメモリ内のデータを秘匿対象データとして特定する、ことを特徴とする請求項1に記載のダンプマスクプログラム。
The process to specify is
2. The dump mask program according to claim 1, wherein data in a memory corresponding to a data item designated as a concealment target is specified as concealment target data with reference to a data structure defined in the software. .
前記特定する処理は、
前記メモリダンプ内のテキスト部分を抽出し、秘匿対象となり得る情報の構造を表す所定のパターンを記憶する記憶部を参照して、抽出した前記テキスト部分と前記所定のパターンとを比較し、前記所定のパターンに合致するテキスト部分を秘匿対象データとして特定する、ことを特徴とする請求項1または2に記載のダンプマスクプログラム。
The process to specify is
Extracting the text portion in the memory dump, referring to a storage unit that stores a predetermined pattern representing the structure of information that can be concealed, comparing the extracted text portion with the predetermined pattern, and The dump mask program according to claim 1, wherein a text portion that matches the pattern is specified as data to be concealed.
前記マスク処理を施す処理は、
特定した前記秘匿対象データを黒塗り状態にする所定のコードに書き換える、ことを特徴とする請求項1〜3のいずれか一つに記載のダンプマスクプログラム。
The process of applying the mask process is as follows:
The dump mask program according to any one of claims 1 to 3, wherein the identified data to be concealed is rewritten with a predetermined code for blackening.
前記マスク処理を施す処理は、
特定した前記秘匿対象データを当該秘匿対象データの種類を示す文字列データに書き換える、ことを特徴とする請求項1〜3のいずれか一つに記載のダンプマスクプログラム。
The process of applying the mask process is as follows:
The dump mask program according to any one of claims 1 to 3, wherein the identified concealment target data is rewritten to character string data indicating a type of the concealment target data.
コンピュータが、
ソフトウェアの異常を検出すると、メモリダンプ内の秘匿対象データを特定し、
特定した前記秘匿対象データを書き換えるマスク処理を施し、
前記マスク処理を施した前記メモリダンプを出力する、
処理を実行することを特徴とするダンプマスク方法。
Computer
When software abnormality is detected, the data to be concealed in the memory dump is identified,
Apply mask processing to rewrite the identified data to be concealed,
Outputting the memory dump subjected to the mask processing;
A dump mask method characterized by executing processing.
ソフトウェアの異常を検出すると、メモリダンプ内の秘匿対象データを特定し、
特定した前記秘匿対象データを書き換えるマスク処理を施し、
前記マスク処理を施した前記メモリダンプを出力する、
制御部を有することを特徴とする情報処理装置。
When software abnormality is detected, the data to be concealed in the memory dump is identified,
Apply mask processing to rewrite the identified data to be concealed,
Outputting the memory dump subjected to the mask processing;
An information processing apparatus having a control unit.
JP2016099012A 2016-05-17 2016-05-17 Dump mask program, dump mask method, and information processing device Pending JP2017207876A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016099012A JP2017207876A (en) 2016-05-17 2016-05-17 Dump mask program, dump mask method, and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016099012A JP2017207876A (en) 2016-05-17 2016-05-17 Dump mask program, dump mask method, and information processing device

Publications (1)

Publication Number Publication Date
JP2017207876A true JP2017207876A (en) 2017-11-24

Family

ID=60416956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016099012A Pending JP2017207876A (en) 2016-05-17 2016-05-17 Dump mask program, dump mask method, and information processing device

Country Status (1)

Country Link
JP (1) JP2017207876A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020187429A (en) * 2019-05-10 2020-11-19 富士通株式会社 File classification device, file classification program, and file classification method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020187429A (en) * 2019-05-10 2020-11-19 富士通株式会社 File classification device, file classification program, and file classification method
JP7235966B2 (en) 2019-05-10 2023-03-09 富士通株式会社 File classification device, file classification program and file classification method

Similar Documents

Publication Publication Date Title
US20130120396A1 (en) Incrementally Building A Font
US10216727B2 (en) Visually differentiating strings for testing
US20110115797A1 (en) Dynamic Streaming of Font Subsets
CN106776584A (en) Character displaying method, translation table generating method, document translation method and device
US20110289486A1 (en) System and Method for Debugging Dynamically Generated Code of an Application
CN104572463A (en) Method and device for testing interface information
US20050137844A1 (en) Method for generating a language-independent regression test script
JP6440895B2 (en) Software analysis apparatus and software analysis method
US10823782B2 (en) Ensuring completeness of interface signal checking in functional verification
US20180246717A1 (en) Identification of duplicate function implementations
CN110287700B (en) iOS application security analysis method and device
CN110765152B (en) SQL extraction method, SQL extraction device, computer equipment and storage medium
CN112948418A (en) Dynamic query method, device, equipment and storage medium
KR101624387B1 (en) Method for software asset management based on software birthmark and apparatus thereof
CN112817877A (en) Abnormal script detection method and device, computer equipment and storage medium
JP2019179470A (en) Information processing program, information processing method, and information processing device
JP2017207876A (en) Dump mask program, dump mask method, and information processing device
JP6209901B2 (en) Character data processing method, program, and information processing apparatus
CN116361793A (en) Code detection method, device, electronic equipment and storage medium
CN111737090B (en) Log simulation method and device, computer equipment and storage medium
CN113297622A (en) Log desensitization method, system, electronic equipment and storage medium
CN109948251B (en) CAD-based data processing method, device, equipment and storage medium
WO2016189721A1 (en) Source code evaluation device, source code evaluation method, and source code evaluation program
CN111813474A (en) Multi-language display method and device and electronic equipment
CN111814428A (en) Method, device, terminal and storage medium for detecting font copyright information