JP2017207876A - Dump mask program, dump mask method, and information processing device - Google Patents
Dump mask program, dump mask method, and information processing device Download PDFInfo
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
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.
しかしながら、従来技術では、メモリダンプに含まれる機密情報(顧客の個人情報など)の漏洩を防ぐことが難しい。例えば、機密情報を含む領域を非収集対象の領域とすると、機密情報を含む領域全体が非収集対象となり、機密情報ではない情報までが収集されなくなって、トラブル調査の際に情報不足を起こすおそれがある。 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.
以下に図面を参照して、本発明にかかるダンプマスクプログラム、ダンプマスク方法、および情報処理装置の実施の形態を詳細に説明する。 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
ここで、メモリダンプとは、システム運用時にトラブルが発生した際、トラブルの原因究明や検証のために、トラブルが発生した時点のメモリの一部あるいは全部の内容を記録したバイナリ形式の情報である。システムは、例えば、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
(1)情報処理装置100は、実行中のソフトウェアSWの異常を検出する。ここで、ソフトウェアSWは、例えば、OS、ミドルウェアなどのシステムやアプリケーションである。検出対象となる異常は、例えば、異常終了などのトラブル調査でダンプ収集が行われる可能性がある異常である。
(1) The
(2)情報処理装置100は、ソフトウェアSWの異常を検出すると、メモリダンプ内の秘匿対象データを特定する。ここで、秘匿対象データは、第三者に見られないようにすることが望ましい重要情報であり、例えば、顧客の氏名、住所、マイナンバー、IPアドレスなどの個人情報である。
(2) When the
具体的には、例えば、情報処理装置100は、メモリ(例えば、後述する図3に示すメモリ302)から必要なデータを順次読み出して、ファイル110に格納する前に、当該データに重要情報が含まれるか否かを判断することにより、秘匿対象データを特定する。図1の例では、秘匿対象データD1〜D4が特定された場合を想定する。
Specifically, for example, the
なお、情報処理装置100は、例えば、メモリダンプを一旦取得して一時ファイルに格納した後、一時ファイル内のデータ(ダンプデータ)を順次読み出して、当該データに重要情報が含まれるか否かを判断することにより、秘匿対象データを特定することにしてもよい。
The
(3)情報処理装置100は、特定した秘匿対象データを書き換えるマスク処理を施す。ここで、マスク処理とは、秘匿対象データを別データ(例えば、別の文字、数字、記号)に書き換えて、元の情報を解読不可能とする処理である。
(3) The
図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
(4)情報処理装置100は、マスク処理を施したメモリダンプを出力する。具体的には、例えば、情報処理装置100は、黒塗り用コードD1’〜D4’を含むファイル110を、トラブル調査者のコンピュータ、あるいは、トラブル調査者のコンピュータがアクセス可能なサーバなどに出力する。
(4) The
このように、実施の形態1にかかる情報処理装置100によれば、ソフトウェアSWの異常を検出すると、メモリダンプ内の秘匿対象データを特定することができる。そして、情報処理装置100によれば、特定した秘匿対象データを書き換えるマスク処理を施して、マスク処理を施したメモリダンプを出力することができる。
As described above, according to the
これにより、メモリダンプ内の秘匿対象データの情報漏洩を防止することができる。例えば、メモリダンプ内の顧客の重要情報を黒塗り状態にして元の情報を解読不可能にすることで、トラブル調査の際に、たとえトラブル調査者であっても重要情報の内容が参照できなくなり、顧客の氏名、住所などが漏洩して悪用されるのを防ぐことができる。 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
まず、実施の形態2にかかるシステム200のシステム構成例について説明する。
First, a system configuration example of the
図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
情報処理装置100は、ソフトウェアSWを実行するコンピュータであり、実行中のソフトウェアSWに異常が発生した際に、メモリダンプ内の秘匿対象データに対してマスク処理を施して、マスク処理を施したメモリダンプを出力する。情報処理装置100は、例えば、サーバである。
The
調査用端末201は、トラブル調査者が使用するコンピュータであり、例えば、PC(Personal Computer)、ノートPC、タブレットPCなどである。なお、トラブル調査者は、ソフトウェアSWに異常が発生した原因の究明や検証を行う者である。
The
(情報処理装置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
ここで、CPU301は、情報処理装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
Here, the
I/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータ(例えば、図2に示した調査用端末201)に接続される。I/F303は、ネットワーク210と装置内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。I/F303には、例えば、モデムやLANアダプタなどを採用することができる。
The I /
ディスクドライブ304は、CPU301の制御に従ってディスク305に対するデータのリード/ライトを制御する。ディスク305は、ディスクドライブ304の制御で書き込まれたデータを記憶する。ディスク305としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
The
なお、情報処理装置100は、上述した構成部のほか、例えば、SSD(Solid State Drive)、キーボード、マウス、ディスプレイなどを有することにしてもよい。また、図2に示した調査用端末201についても、情報処理装置100と同様のハードウェア構成により実現することができる。ただし、調査用端末201は、上述した構成部のほかに、キーボード、マウス、ディスプレイなどを有する。
Note that the
(ソフトウェア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
図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
異常監視機能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
(情報処理装置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
検出部601は、ソフトウェアSWの異常を検出する。ここで、検出対象となる異常は、発生時にトラブル調査のためにダンプ収集が行われる可能性がある異常であり、任意に設定可能である。なお、図4に示した異常監視機能F1は、例えば、検出部601により実現される。
The
特定部602は、メモリダンプ内の秘匿対象データを特定する。具体的には、例えば、特定部602は、ソフトウェアSWの異常が検出された場合に、ソフトウェアSWに割り当てられたメモリ302内のデータ域の先頭アドレスを取得する。そして、特定部602は、取得したデータ域の先頭アドレスに基づいて、ソフトウェアSWに定義されたデータ構造を参照して、秘匿対象に指定されたデータ項目に対応するメモリ302内のデータを秘匿対象データとして特定する。
The identifying
ここで、図7を用いて、特定部602の具体的な処理内容について説明する。
Here, specific processing contents of the specifying
図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
この場合、例えば、メモリ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
また、次の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
図6の説明に戻り、書換部603は、特定された秘匿対象データを書き換えるマスク処理を施す。具体的には、例えば、書換部603は、特定された秘匿対象データを黒塗り状態にする所定のコード(黒塗り用コード)に書き換えることにしてもよい。これにより、元の情報(例えば、氏名、郵便番号、住所)を解読不可能にマスキングすることができる。
Returning to the description of FIG. 6, the
なお、書換部603は、書換前後のデータ長を合わせて、元の情報の長さは維持するものとする。また、所定のコードは、ソフトウェアSWに定義されていてもよく、また、メモリ302、ディスク305などの記憶装置から読み出されることにしてもよい。
Note that the
また、書換部603は、例えば、特定された秘匿対象データを当該秘匿対象データの種類を示す文字列データに書き換えることにしてもよい。ここで、秘匿対象データの種類は、秘匿対象データがどのような特徴、性質のデータであるかを判別するためのものであり、例えば、秘匿対象データのデータ項目である。
In addition, the
例えば、秘匿対象データとして、名前(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
なお、図4に示したマスク機能F2は、例えば、特定部602および書換部603により実現される。
Note that the mask function F2 illustrated in FIG. 4 is realized by the specifying
出力部604は、秘匿対象データにマスク処理が施されたメモリダンプを出力する。出力部604の出力形式としては、例えば、メモリ302、ディスク305などの記憶装置への記憶、I/F303による外部装置(例えば、図2に示した調査用端末201)への送信、不図示のディスプレイへの表示、不図示のプリンタへの印刷出力などがある。
The
具体的には、例えば、出力部604は、秘匿対象データにマスク処理が施されたメモリダンプを格納したダンプファイルを、調査用端末201に送信することにしてもよい。これにより、調査用端末201において、秘匿対象データが解読不可能にマスキングされた状態のメモリダンプを表示することができる。
Specifically, for example, the
(メモリダンプの出力例)
つぎに、メモリダンプの出力例について説明する。ここでは、調査用端末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
図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
調査用端末201には、秘匿対象データ811,812,813が黒塗り表示されたメモリダンプ820が表示される。これにより、トラブル調査の際に、たとえトラブル調査者であっても秘匿対象データ811,812,813の内容が参照できなくなり、顧客の氏名、郵便番号、住所などの重要情報が漏洩するのを防ぐことができる。
The
(情報処理装置100のダンプマスク処理手順)
つぎに、情報処理装置100のダンプマスク処理手順について説明する。
(Dump mask processing procedure of information processing apparatus 100)
Next, the dump mask processing procedure of the
図9は、実施の形態2にかかる情報処理装置100のダンプマスク処理手順の一例を示すフローチャートである。図9のフローチャートにおいて、まず、情報処理装置100は、ソフトウェアSWの異常を検出したか否かを判断する(ステップS901)。
FIG. 9 is a flowchart illustrating an example of a dump mask processing procedure of the
ここで、情報処理装置100は、ソフトウェアSWの異常を検出するのを待つ(ステップS901:No)。そして、情報処理装置100は、ソフトウェアSWの異常を検出した場合(ステップS901:Yes)、ソフトウェアSWに割り当てられたメモリ302内のデータ域の先頭アドレスを取得する(ステップS902)。
Here, the
つぎに、情報処理装置100は、ソフトウェアSWに定義されたデータ構造を参照して、メモリ302からデータを読み出す(ステップS903)。そして、情報処理装置100は、読み出したデータがconfidentialとして指定されたデータであるか否かを判断する(ステップS904)。
Next, the
ここで、confidentialとして指定されたデータの場合(ステップS904:Yes)、情報処理装置100は、読み出したデータを書き換えるマスク処理を施す(ステップS905)。そして、情報処理装置100は、マスク処理を施したデータをディスク305(図3参照)上のダンプファイルに格納して(ステップS906)、ステップS907に移行する。
Here, in the case of the data designated as confidential (step S904: Yes), the
また、ステップ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
ここで、データの読み出しが終了していない場合(ステップS907:No)、情報処理装置100は、ステップS903に戻る。一方、データの読み出しが終了した場合(ステップS907:Yes)、情報処理装置100は、ダンプファイルを出力して(ステップS908)、本フローチャートによる一連の処理を終了する。
If the data reading has not been completed (step S907: NO), the
これにより、顧客の氏名、郵便番号、住所などの秘匿対象データを解読不可能にマスキングしてからメモリダンプ(ダンプファイル)を出力することができる。 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
これにより、ソフトウェア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
また、実施の形態2にかかる情報処理装置100によれば、特定した秘匿対象データを当該秘匿対象データの種類を示す文字列データに書き換えることができる。これにより、トラブル調査者等に対して元の情報の種類を提示して、マスクされた箇所にどのような情報があったのかを判別可能にすることができる。
Further, according to the
(実施の形態3)
つぎに、実施の形態3にかかる情報処理装置100について説明する。実施の形態3では、ソフトウェアSWのメモリマップが判っていない、すなわち、メモリの使い方が判っていない場合を想定する。なお、実施の形態1,2で説明した箇所と同様の箇所については、同一符号を付して説明を省略する。
(Embodiment 3)
Next, the
まず、実施の形態3にかかる情報処理装置100の機能的構成例について説明する。
First, a functional configuration example of the
図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
以下、実施の形態2にかかる情報処理装置100と異なる機能部について説明する。なお、実施の形態3にかかる情報処理装置100についても、実施の形態2にかかる情報処理装置100が有する特定部602と同様の機能部を有することにしてもよい。
Hereinafter, functional units different from the
第2の特定部1001は、メモリダンプ内の秘匿対象データを特定する。具体的には、例えば、第2の特定部1001は、ソフトウェアSWの異常が検出された場合に、メモリ302上にロード(展開)された必要なデータを収集して一時ファイルに格納することにより、メモリダンプを取得する。
The second specifying
つぎに、第2の特定部1001は、取得したメモリダンプ内のテキスト部分(テキストデータ)を抽出する。ここで、重要情報(顧客の個人情報など)は、一般的にはテキストで表現されており、メモリ302上では、そのテキストが、コンピュータが処理可能なバイナリで展開されている。このため、重要情報である秘匿対象データを特定するために、まず、第2の特定部1001はテキスト部分を抽出する。
Next, the second specifying
そして、第2の特定部1001は、構造パターンDB1010を参照して、抽出したテキスト部分と、所定のパターンとを比較する。より詳細に説明すると、例えば、第2の特定部1001は、抽出したテキスト部分を自然言語処理(形態素解析、構文解析、意味解析等)して得られる文字列(単語、文等)と、所定のパターンとを比較する。そして、第2の特定部1001は、所定のパターンに合致するテキスト部分を秘匿対象データとして特定する。
Then, the second specifying
ここで、構造パターンDB1010は、秘匿対象となり得る情報(重要情報)の構造を表す所定のパターンを記憶する。構造パターンDB1010は、例えば、メモリ302、ディスク305などの記憶装置により実現される。重要情報は、例えば、郵便番号、住所、IPアドレス、コンピュータ名、氏名、マイナンバーなどである。例えば、所定のパターンは、郵便番号、住所およびIPアドレスのうちの少なくともいずれかを正規表現したものである。また、所定のパターンは、既存の郵便番号、住所(市区町村レベル)、コンピュータ名を表す文字列であってもよい。
Here, the
以下、秘匿対象データとなり得る情報として、郵便番号、住所、IPアドレスおよび氏名を例に挙げて、第2の特定部1001の具体的な処理例について説明する。
Hereinafter, a specific processing example of the second specifying
・郵便番号
第2の特定部1001は、構造パターンDB1010を参照して、テキスト部分と既存の郵便番号とを比較して、既存の郵便番号に合致したテキスト部分を秘匿対象データとして特定する。また、第2の特定部1001は、構造パターンDB1010を参照して、テキスト部分と郵便番号の正規表現とを比較して、郵便番号の正規表現に合致したテキスト部分を秘匿対象データとして特定する。
Postal code The second specifying
郵便番号の正規表現としては、例えば、「〒¥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
住所の正規表現としては、例えば、「^((北海道|東京都|(大阪|京都)府|(神奈川|和歌山|鹿児島)県|[^¥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
・IPアドレス
第2の特定部1001は、構造パターンDB1010を参照して、テキスト部分とIPアドレスの正規表現とを比較して、IPアドレスの正規表現に合致したテキスト部分を秘匿対象データとして特定する。
IP address The second specifying
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
また、構造パターンDB1010に、既存の氏名を名前辞書として登録しておくことにしてもよい。この場合、第2の特定部1001は、例えば、敬称が付加された単語が名前辞書に登録されていれば、敬称の前の単語部分(敬称部分を含めてもよい)を、名前を示す秘匿対象データとして特定することにしてもよい。また、第2の特定部1001は、テキスト部分を自然言語処理して得られる各単語と名前辞書の氏名とを比較して、名前辞書の氏名に合致した単語を、名前を示す秘匿対象データとして特定することにしてもよい。
Further, an existing name may be registered in the
これにより、メモリダンプ内の名前(氏名)を示すデータを秘匿対象データとして特定することができる。 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
また、第2の書換部1002は、特定された秘匿対象データを、当該秘匿対象データの種類および通番を示す文字列データに書き換えることにしてもよい。ここで、通番とは、上述したように、メモリダンプの先頭から順に秘匿対象データにつけられる一続きの番号であり、データ内容が同じ秘匿対象データ同士は同じ番号となる。
Further, the
具体的には、例えば、第2の書換部1002は、図11に示した対応表1100を参照して、メモリダンプ内の秘匿対象データを、当該秘匿対象データの種類および通番を示す文字列データ(例えば、IP001)に書き換える。ただし、書換前後のデータ長を合わせて、元の情報の長さは維持するものとする。
Specifically, for example, the
これにより、元の情報の種類を判別可能にするとともに、メモリダンプ内に同じ内容の秘匿対象データが存在する場合に、元の情報が同じ内容であったマスク箇所を判別可能にすることができる。 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
具体的には、秘匿対象データ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
調査用端末201には、メモリダンプ1220が表示される。これにより、トラブル調査の際に、たとえトラブル調査者であっても秘匿対象データ1211,1212,1213,1215,1216,1217の内容が参照できなくなり、顧客の氏名、郵便番号、住所、IPアドレスなどの重要情報が漏洩するのを防ぐことができる。
A
また、元の情報の種類が提示されるため、トラブル調査者は、マスクされた箇所にどのような情報があったのかを判別することができる。さらに、同じ内容の秘匿対象データには同じ番号の通番が付与されるため、トラブル調査者は、元の情報が同じ内容であったマスク箇所を判別することができる。図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
(情報処理装置100のダンプマスク処理手順)
つぎに、情報処理装置100のダンプマスク処理手順について説明する。
(Dump mask processing procedure of information processing apparatus 100)
Next, the dump mask processing procedure of the
図13は、実施の形態3にかかる情報処理装置100のダンプマスク処理手順の一例を示すフローチャートである。図13のフローチャートにおいて、まず、情報処理装置100は、ソフトウェアSWの異常を検出したか否かを判断する(ステップS1301)。
FIG. 13 is a flowchart of an example of a dump mask processing procedure of the
ここで、情報処理装置100は、ソフトウェアSWの異常を検出するのを待つ(ステップS1301:No)。そして、情報処理装置100は、ソフトウェアSWの異常を検出した場合(ステップS1301:Yes)、メモリ302上のデータを収集して一時ファイルに格納することにより、メモリダンプを取得する(ステップS1302)。
Here, the
つぎに、情報処理装置100は、取得したメモリダンプ内のデータを先頭から読み込む(ステップS1303)。そして、情報処理装置100は、読み込んだデータがテキスト部分であるか否かを判断する(ステップS1304)。ここで、テキスト部分ではない場合(ステップS1304:No)、情報処理装置100は、ステップS1308に移行する。
Next, the
一方、テキスト部分の場合には(ステップS1304:Yes)、情報処理装置100は、構造パターンDB1010を参照して、読み込んだデータと所定のパターンとを比較することにより、当該データが秘匿対象データであるか否かを判断する(ステップS1305)。
On the other hand, in the case of a text portion (step S1304: Yes), the
ここで、秘匿対象データの場合(ステップS1305:Yes)、情報処理装置100は、読み込んだデータ(テキスト部分)を書き換えるマスク処理を施す(ステップS1306)。そして、情報処理装置100は、マスク処理を施したデータをディスク305(図3参照)上のダンプファイルに格納して(ステップS1307)、ステップS1308に移行する。
Here, in the case of confidential data (step S1305: Yes), the
また、ステップS1305において、秘匿対象データではない場合(ステップS1305:No)、情報処理装置100は、読み込んだデータをディスク305上のダンプファイルに格納する(ステップS1307)。そして、情報処理装置100は、メモリダンプ内のデータの読み込みが終了したか否かを判断する(ステップS1308)。
In step S1305, if the data is not confidential data (step S1305: No), the
ここで、データの読み込みが終了していない場合(ステップS1308:No)、情報処理装置100は、ステップS1303に戻る。一方、データの読み込みが終了した場合(ステップS1308:Yes)、情報処理装置100は、ダンプファイルを出力して(ステップS1309)、本フローチャートによる一連の処理を終了する。
If the data reading has not been completed (step S1308: No), the
これにより、顧客の氏名、郵便番号、住所、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
これにより、ソフトウェア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
また、実施の形態3にかかる情報処理装置100によれば、メモリダンプの先頭から順に、データ内容が同じ秘匿対象データ同士は同じ番号となるように、特定した秘匿対象データに通番を付与することができる。そして、情報処理装置100によれば、秘匿対象データを当該秘匿対象データの種類および通番を示す文字列データに書き換えることができる。
Further, according to the
これにより、トラブル調査の際に、元の情報の種類を判別可能にするとともに、メモリダンプ内に同じ内容の秘匿対象データが存在する場合に、元の情報が同じ内容であったマスク箇所を判別可能にして、トラブルの原因究明や検証を支援することができる。 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
302 Memory 303 I / F
304
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.
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)
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 |
-
2016
- 2016-05-17 JP JP2016099012A patent/JP2017207876A/en active Pending
Cited By (2)
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 |