JP2010140277A - Electronic file processor, computer system, electronic file processing method and computer program - Google Patents

Electronic file processor, computer system, electronic file processing method and computer program Download PDF

Info

Publication number
JP2010140277A
JP2010140277A JP2008316252A JP2008316252A JP2010140277A JP 2010140277 A JP2010140277 A JP 2010140277A JP 2008316252 A JP2008316252 A JP 2008316252A JP 2008316252 A JP2008316252 A JP 2008316252A JP 2010140277 A JP2010140277 A JP 2010140277A
Authority
JP
Japan
Prior art keywords
specific
electronic file
character string
editing
computer
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
JP2008316252A
Other languages
Japanese (ja)
Inventor
Hiroki Iwai
博樹 岩井
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.)
Lac Co Ltd
Original Assignee
Lac Co 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 Lac Co Ltd filed Critical Lac Co Ltd
Priority to JP2008316252A priority Critical patent/JP2010140277A/en
Publication of JP2010140277A publication Critical patent/JP2010140277A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To detoxify an electronic file containing description which is likely to do harm to a computer using the electronic file. <P>SOLUTION: In a server 20, a reception part 21 receives a file, and a header inspection part 22 inspects a header of the file and decides whether or not the file is a PDF (Portable Document Format) file. In the case of the PDF file, a conversion part 23 divides the PDF file into an object part and the other part and acquires RAW data of the object part, and a collation part 25 decides whether or not replacement target data are contained in the RAW data. As a result, when the replacement target data are contained in the RAW data, an editing part 26 replaces the replacement target data by post-replacement data to edit the object part, an inverse conversion part 27 converts the edited object part into an original format and combining it with the other portion to generate an edited PDF file, and a transmission part 28 transmits the edited PDF file. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、電子ファイルを処理する電子ファイル処理装置、コンピュータシステム、電子ファイル処理方法、及びコンピュータプログラムに関する。   The present invention relates to an electronic file processing apparatus, a computer system, an electronic file processing method, and a computer program for processing an electronic file.

昨今、PDF(Portable Document Format)マルウェアが急増している。このPDFマルウェアとは、PDFファイルに仕込まれ、例えばPDFファイルを開くと動作し、他のサイトから新たなマルウェアをダウンロードして実行する等して、PDFファイルを利用するコンピュータに危害を与える悪性プログラムのことである。このようなPDFマルウェアからの感染を防ぐ方法としては、現在のところ、PDFファイル閲覧ソフトウェアであるアドビシステムズ社のAdobe Reader(登録商標)を最新の状態にしておくことくらいしかなく、PDFファイルからのPDFマルウェアの除去(以下、「無毒化」という)については、手法が確立していない。また、PDFファイル以外の形式の電子ファイルについて同様にマルウェアが仕込まれる場合があれば、そのような電子ファイルの無毒化についても同様に検討しておく必要がある。   Recently, PDF (Portable Document Format) malware is rapidly increasing. This PDF malware is a malignant program that is loaded into a PDF file and operates when the PDF file is opened, for example, and downloads and executes new malware from other sites to harm the computer using the PDF file. That is. At present, the only way to prevent such infection from PDF malware is to keep Adobe Reader (registered trademark) of Adobe Systems, which is PDF file browsing software, up-to-date. A method for removing PDF malware (hereinafter referred to as “detoxification”) has not been established. If there is a case where malware is similarly introduced into an electronic file of a format other than the PDF file, it is necessary to similarly consider detoxification of such an electronic file.

ここで、公報記載の技術として、マルウェア(悪意のある破壊工作ソフト)対策用として、ファイルを走査するシステムが提案されている(例えば、特許文献1参照)。この特許文献1では、プログラムソースをコメント、変数名及びルーチン名のような部分のグループに分離し、このような部分の繰り返し部分を除去し、結果として得られる一連の文字列からなる文字の発生頻度分布を求めることにより、走査したファイルに対して、疑わしいとみなすフラグ又は疑わしくないとみなすフラグの何れかを立てている。   Here, as a technique described in the publication, a system for scanning a file has been proposed as a countermeasure against malware (malicious destruction software) (for example, see Patent Document 1). In this patent document 1, the program source is separated into groups of parts such as comments, variable names, and routine names, repeated parts of such parts are removed, and the frequency of occurrence of characters consisting of a series of character strings obtained as a result By determining the distribution, the scanned file is either flagged as suspicious or flagged as not suspicious.

特開2006−522395号公報JP 2006-522395 A

このように、ファイルを走査してマルウェアを検出する技術は、従来から存在した。
しかしながら、特許文献1の技術では、走査したファイルが疑わしいと判定した場合、ファイルに対して、疑わしいとみなすフラグを立てているに過ぎず、疑わしいファイルを無毒化することはできないという問題点があった。
As described above, there has been a technique for detecting malware by scanning a file.
However, the technique of Patent Document 1 has a problem that when it is determined that the scanned file is suspicious, the file is merely flagged as suspicious and the suspicious file cannot be detoxified. It was.

本発明の目的は、電子ファイルを利用するコンピュータに危害を与える虞のある記述がなされた電子ファイルを無毒化することにある。   An object of the present invention is to detoxify an electronic file in which a description that may cause harm to a computer that uses the electronic file is made.

かかる目的のもと、本発明は、電子ファイルを処理する電子ファイル処理装置であって、電子ファイルに埋め込まれる可能性のある文字列であって、特定プログラムの読み込み又は実行を行うことにより電子ファイルを利用するコンピュータに危害を与える虞のある特定の記述に特有の文字列である特定の文字列を記憶する記憶手段と、特定の電子ファイルを取得する取得手段と、取得手段により取得された特定の電子ファイルに、記憶手段に記憶された特定の文字列が含まれているかどうかを判定する判定手段と、判定手段により特定の電子ファイルに特定の文字列が含まれていると判定された場合に、特定の電子ファイル内の特定の文字列を他の文字列に置き換えることにより、特定の記述を、特定の電子ファイルを利用するコンピュータに危害を与える虞のない他の記述に編集する編集手段と編集手段による編集後の特定の電子ファイルを出力する出力手段とを備えたことを特徴とする電子ファイル処理装置を提供する。   For this purpose, the present invention is an electronic file processing apparatus for processing an electronic file, which is a character string that can be embedded in the electronic file, and reads the electronic program or executes the specific program. Storage means for storing a specific character string, which is a character string specific to a specific description that may cause harm to a computer using the computer, an acquisition means for acquiring a specific electronic file, and a specification acquired by the acquisition means A determination means for determining whether or not a specific character string stored in the storage means is included in the electronic file, and when the determination means determines that a specific character string is included in the specific electronic file In addition, by replacing a specific character string in a specific electronic file with another character string, a specific description can be changed to a computer that uses the specific electronic file. To provide an electronic file processing apparatus characterized by comprising an output means for outputting a particular electronic file edited by other editing means and editing means for editing the description without risk of impaired.

また、この装置は、取得手段により取得された特定の電子ファイルの特定の部分に基づいて、特定の電子ファイルが特定の文字列を埋め込むことの可能な特定の種類の電子ファイルであるかどうかを検査し、特定の電子ファイルが特定の種類の電子ファイルである場合に、特定の電子ファイルを判定手段による判定の対象とする検査手段を更に備えた、ものであってよい。
また、この装置は、特定の電子ファイルのRAWデータを取得し、RAWデータを判定手段による判定の対象とする第1の変換手段と、編集手段による編集後のRAWデータの元となる編集後の特定の電子ファイルを取得し、編集後の特定の電子ファイルを出力手段による出力の対象とする第2の変換手段とを更に備えた、ものであってよい。
更に、この装置は、特定の電子ファイルを特定の文字列を埋め込むことの可能な第1の部分と特定の文字列を埋め込むことの不可能な第2の部分とに分割し、第1の部分のRAWデータを取得し、RAWデータを判定手段による判定の対象とする第1の変換手段と、編集手段による編集後のRAWデータの元となる編集後の第1の部分を取得し、編集後の第1の部分と第2の部分とを結合して編集後の特定の電子ファイルを生成し、編集後の特定の電子ファイルを出力手段による出力の対象とする第2の変換手段とを更に備えた、ものであってよい。
更にまた、記憶手段は、他の文字列を、特定の文字列に対応付けて更に記憶し、編集手段は、特定の電子ファイル内の特定の文字列を、記憶手段において特定の文字列に対応付けて記憶された他の文字列に置き換えることを特徴とする、ものであってよい。
In addition, the apparatus determines whether the specific electronic file is a specific type of electronic file in which a specific character string can be embedded based on a specific part of the specific electronic file acquired by the acquisition unit. When the inspection is performed and the specific electronic file is a specific type of electronic file, the inspection apparatus may further include an inspection unit that uses the determination unit as a determination target of the specific electronic file.
In addition, this apparatus acquires RAW data of a specific electronic file, the first conversion unit that makes the RAW data to be determined by the determination unit, and the edited RAW data that is the source of the RAW data edited by the editing unit The image processing apparatus may further include a second conversion unit that acquires a specific electronic file and outputs the edited specific electronic file as an output target by the output unit.
Further, the apparatus divides a specific electronic file into a first part in which a specific character string can be embedded and a second part in which a specific character string cannot be embedded. RAW data is acquired, a first conversion unit that uses the RAW data as a determination target by the determination unit, and a first part after editing that is a source of the RAW data that has been edited by the editing unit are acquired and edited. A second conversion unit that combines the first part and the second part to generate a specific electronic file after editing, and uses the specific electronic file after editing as an output target by the output unit; It may be provided.
Further, the storage means further stores other character strings in association with the specific character strings, and the editing means corresponds to the specific character strings in the specific electronic file in the storage means. The character string may be replaced with another character string stored together.

また、本発明は、クライアントコンピュータとサーバコンピュータとが通信回線を介して接続されてなるコンピュータシステムであって、クライアントコンピュータは、特定の電子ファイルを通信回線を介してサーバコンピュータに送信する送信手段を備え、サーバコンピュータは、電子ファイルに埋め込まれる可能性のある文字列であって、特定プログラムの読み込み又は実行を行うことにより電子ファイルを利用するコンピュータに危害を与える虞のある特定の記述に特有の文字列である特定の文字列を記憶する記憶手段と、特定の電子ファイルをクライアントコンピュータから通信回線を介して受信する受信手段と、受信手段により受信された特定の電子ファイルに、記憶手段に記憶された特定の文字列が含まれているかどうかを判定する判定手段と、判定手段により特定の電子ファイルに特定の文字列が含まれていると判定された場合に、特定の電子ファイル内の特定の文字列を他の文字列に置き換えることにより、特定の記述を、特定の電子ファイルを利用するコンピュータに危害を与える虞のない他の記述に編集する編集手段と編集手段による編集後の特定の電子ファイルをクライアントコンピュータに通信回線を介して送信する送信手段とを備え、クライアントコンピュータは、編集手段による編集後の特定の電子ファイルをサーバコンピュータから通信回線を介して受信する受信手段を備えたことを特徴とするコンピュータシステムも提供する。   The present invention is also a computer system in which a client computer and a server computer are connected via a communication line, and the client computer includes transmission means for transmitting a specific electronic file to the server computer via a communication line. The server computer is a character string that can be embedded in an electronic file, and is specific to a specific description that may harm a computer that uses the electronic file by reading or executing a specific program. Storage means for storing a specific character string that is a character string, receiving means for receiving a specific electronic file from a client computer via a communication line, and storing the specific electronic file received by the receiving means in the storage means Whether the specified specific string is included And when the determination means determines that the specific electronic file contains a specific character string, the specific character string in the specific electronic file is replaced with another character string. The editing means for editing the description into another description that does not cause harm to the computer using the specific electronic file, and the specific electronic file edited by the editing means is transmitted to the client computer via the communication line The client computer also provides a computer system comprising receiving means for receiving a specific electronic file edited by the editing means from the server computer via a communication line.

また、本発明は、電子ファイルを処理する電子ファイル処理方法であって、電子ファイルに埋め込まれる可能性のある文字列であって、特定プログラムの読み込み又は実行を行うことにより電子ファイルを利用するコンピュータに危害を与える虞のある特定の記述に特有の文字列である特定の文字列を記憶手段から読み出すステップと、特定の電子ファイルを取得するステップと、取得された特定の電子ファイルに、記憶手段から読み出された特定の文字列が含まれているかどうかを判定するステップと、特定の電子ファイルに特定の文字列が含まれていると判定された場合に、特定の電子ファイル内の特定の文字列を他の文字列に置き換えることにより、特定の記述を、特定の電子ファイルを利用するコンピュータに危害を与える虞のない他の記述に編集するステップと編集後の特定の電子ファイルを出力するステップとを含むことを特徴とする電子ファイル処理方法も提供する。   The present invention also relates to an electronic file processing method for processing an electronic file, which is a character string that may be embedded in the electronic file and uses the electronic file by reading or executing a specific program A step of reading a specific character string that is a character string specific to a specific description that may cause harm to the storage device, a step of acquiring a specific electronic file, and a storage unit in the acquired specific electronic file Determining whether or not a specific character string read from is included, and if it is determined that a specific character string is included in a specific electronic file, By replacing a character string with another character string, a specific description can be harmless to a computer that uses a specific electronic file. Also provides an electronic file processing method characterized by comprising the step of outputting a specific electronic file after editing step of editing the description.

更に、本発明は、電子ファイルを利用するコンピュータに、電子ファイルに埋め込まれる可能性のある文字列であって、特定プログラムの読み込み又は実行を行うことによりコンピュータに危害を与える虞のある特定の記述に特有の文字列である特定の文字列を記憶手段から読み出す機能と、特定の電子ファイルを取得する機能と、取得された特定の電子ファイルに、記憶手段から読み出された特定の文字列が含まれているかどうかを判定する機能と、特定の電子ファイルに特定の文字列が含まれていると判定された場合に、特定の電子ファイル内の特定の文字列を他の文字列に置き換えることにより、特定の記述を、コンピュータに危害を与える虞のない他の記述に編集する機能と編集後の特定の電子ファイルを表示する機能とを実現させるためのコンピュータプログラムも提供する。   Furthermore, the present invention provides a character string that may be embedded in an electronic file on a computer that uses the electronic file and that may cause harm to the computer by reading or executing the specific program. A function of reading a specific character string that is a character string peculiar to the storage means, a function of acquiring a specific electronic file, and a specific character string read from the storage means in the acquired specific electronic file A function to determine whether it is included, and when it is determined that a specific character string is included in a specific electronic file, replace the specific character string in the specific electronic file with another character string Enables the function to edit a specific description into another description that does not cause harm to the computer and the function to display a specific electronic file after editing. Also provides a computer program for.

更にまた、本発明は、サーバコンピュータに、電子ファイルに埋め込まれる可能性のある文字列であって、特定プログラムの読み込み又は実行を行うことにより電子ファイルを利用するコンピュータに危害を与える虞のある特定の記述に特有の文字列である特定の文字列を記憶手段から読み出す機能と、特定の電子ファイルをクライアントコンピュータから受信する機能と、受信した特定の電子ファイルに、記憶手段から読み出された特定の文字列が含まれているかどうかを判定する機能と、特定の電子ファイルに特定の文字列が含まれていると判定された場合に、特定の電子ファイル内の特定の文字列を他の文字列に置き換えることにより、特定の記述を、特定の電子ファイルを利用するコンピュータに危害を与える虞のない他の記述に編集する機能と編集後の特定の電子ファイルをクライアントコンピュータに送信する機能とを実現させるためのコンピュータプログラムも提供する。   Furthermore, the present invention provides a character string that may be embedded in an electronic file in a server computer, and may cause harm to a computer that uses the electronic file by reading or executing a specific program. A function for reading a specific character string, which is a character string peculiar to the description, from a storage means, a function for receiving a specific electronic file from a client computer, and a specification read from the storage means for the received specific electronic file A function that determines whether a specific character string is included, and when it is determined that a specific character string is included in a specific electronic file, the specific character string in the specific electronic file is changed to another character. By replacing them with columns, the specific description is edited into other descriptions that are not likely to harm the computer that uses the specific electronic file. Computer program for realizing the function of transmitting function and a particular electronic file after editing the client computer to be provided.

本発明によれば、電子ファイルを利用するコンピュータに危害を与える虞のある記述がなされた電子ファイルを無毒化することができる。   ADVANTAGE OF THE INVENTION According to this invention, the electronic file in which the description which may be harmful to the computer using an electronic file was made can be detoxified.

以下、添付図面を参照して、本発明を実施するための最良の形態(以下、「実施の形態」という)について詳細に説明する。尚、本実施の形態では、電子ファイルを単に「ファイル」と称し、無毒化対象のファイルとしては「PDFファイル」を想定して説明することにする。   The best mode for carrying out the present invention (hereinafter referred to as “embodiment”) will be described in detail below with reference to the accompanying drawings. In the present embodiment, the electronic file is simply referred to as a “file”, and a “PDF file” is assumed as a file to be detoxified.

まず、本実施の形態が適用されるコンピュータシステムについて説明する。
図1は、このようなコンピュータシステムの全体構成例を示した図である。
図示するように、このコンピュータシステムは、クライアント10a,10bと、サーバ20とが、ネットワーク80を介して接続されている。
First, a computer system to which this embodiment is applied will be described.
FIG. 1 is a diagram showing an example of the overall configuration of such a computer system.
As shown in the figure, in this computer system, clients 10 a and 10 b and a server 20 are connected via a network 80.

クライアント10a,10bは、ユーザが使用するクライアントコンピュータである。例えば、パーソナルコンピュータやワークステーション、その他のコンピュータ装置にて実現される。本実施の形態において、クライアント10a,10bは、ユーザがPDFファイルをサーバ20にアップロードするために用いられる。例えば、クライアント10a,10bには、ウェブブラウザがインストールされ、PDFファイルは、このウェブブラウザからサーバ20にアップロードするようにするとよい。或いは、クライアント10a,10bには、電子メールソフトウェアがインストールされ、PDFファイルは、決められたメールアドレスにPDFファイルを添付した電子メールを送信することにより、サーバ20にアップロードするようにしてもよい。ここで、クライアント10a,10bは、PDFファイルを利用せず、他のコンピュータが利用するPDFファイルをサーバ20にアップロードするためにのみ用いられるものであってもよい。尚、図では、クライアント10a,10bを示したが、これらを区別する必要がない場合は、クライアント10と称することもある。また、図には、2台のクライアント10しか示していないが、3台以上のクライアント10を設けてもよい。   The clients 10a and 10b are client computers used by the user. For example, it is realized by a personal computer, a workstation, or other computer devices. In the present embodiment, the clients 10 a and 10 b are used by a user to upload a PDF file to the server 20. For example, a web browser is installed in the clients 10a and 10b, and the PDF file may be uploaded to the server 20 from the web browser. Alternatively, e-mail software may be installed in the clients 10a and 10b, and the PDF file may be uploaded to the server 20 by transmitting an e-mail with the PDF file attached to a predetermined e-mail address. Here, the clients 10 a and 10 b may be used only for uploading a PDF file used by another computer to the server 20 without using the PDF file. In the figure, the clients 10a and 10b are shown. However, when there is no need to distinguish them, they may be referred to as clients 10. Although only two clients 10 are shown in the figure, three or more clients 10 may be provided.

サーバ20は、クライアント10からアップロードされたPDFファイルの無毒化を行うサーバコンピュータである。例えば、パーソナルコンピュータやワークステーション、その他のコンピュータ装置にて実現される。尚、サーバ20の詳細な機能及び動作については後述する。
ネットワーク80は、情報の送受信に用いる通信回線である。このネットワーク80としては、インターネットやLAN(Local Area Network)が例示される。
The server 20 is a server computer that detoxifies the PDF file uploaded from the client 10. For example, it is realized by a personal computer, a workstation, or other computer devices. Detailed functions and operations of the server 20 will be described later.
The network 80 is a communication line used for transmitting and receiving information. Examples of the network 80 include the Internet and a LAN (Local Area Network).

次に、PDFファイルの構造について説明する。
図2は、PDFファイルの構造を例示した図である。
図示するように、PDFファイルは、ヘッダ310と、オブジェクト部320と、クロスリファレンス部330と、トレーラ340とからなる。
ヘッダ310は、PDFファイルの最初の部分であり、PDFファイルを読み込んだ際にトレーラ340と共に最初に解析される部分である。このヘッダ310には、このファイルの形式がPDFであることを示す情報と、このファイルのバージョンを示す情報とが含まれる。図の例では、ファイルの形式がPDFであり、バージョンが「1.1」であることが示されている。
Next, the structure of the PDF file will be described.
FIG. 2 is a diagram illustrating the structure of a PDF file.
As illustrated, the PDF file includes a header 310, an object unit 320, a cross reference unit 330, and a trailer 340.
The header 310 is a first part of the PDF file, and is a part that is first analyzed together with the trailer 340 when the PDF file is read. The header 310 includes information indicating that the format of the file is PDF and information indicating the version of the file. In the example of the figure, the file format is PDF and the version is “1.1”.

オブジェクト部320は、PDFファイルの中心的な部分であり、表示させる文字列や、アクションの設定が記載される。図の例では、太枠で囲んだ記述321が、表示させる文字列に相当する。また、このように、オブジェクト部320は、アクションの設定を記載することもできるという自由度を有しており、PDFマルウェアは、オブジェクト部320のこの自由度の高さを悪用したものと言える。尚、通常、オブジェクト部320には、図示したものよりも多くの情報が含まれるが、図では、オブジェクト部320の最後の部分は、省略記号322で表している。   The object part 320 is a central part of the PDF file, and describes a character string to be displayed and action settings. In the example in the figure, a description 321 surrounded by a thick frame corresponds to a character string to be displayed. Further, in this way, the object unit 320 has a degree of freedom that it is possible to describe action settings, and it can be said that the PDF malware exploits this high degree of freedom of the object unit 320. Normally, the object unit 320 includes more information than illustrated, but in the figure, the last part of the object unit 320 is represented by an ellipsis 322.

クロスリファレンス部330は、PDFファイルを読み込んだ際に、ヘッダ310及びトレーラ340の次に解析される部分であり、オブジェクト部320にランダムアクセスする際に用いられるインデックス情報として機能する部分である。クロスリファレンス部330は、1つ以上のセクションからなり、各セクションは、キーワード「xref」と、1つ以上のサブセクションの列とからなる。また、各サブセクションは、ヘッダと、1つ以上のエントリの列とからなる。ここで、ヘッダは、サブセクションが指す最初のオブジェクトの番号を示す整数と、サブセクションに含まれる項目数を示す整数とを含む。そして、各エントリは、オブジェクト番号、履歴番号、有効/無効の区別を含む。図では、サブセクションのヘッダとして「0 9」が示されており、1行目のエントリでは、オブジェクト番号として「0000000000」が、履歴番号として「65535」が、有効/無効の区別として「f(無効)」が示されており、2行目のエントリでは、オブジェクト番号として「0000000565」が、履歴番号として「00000」が、有効/無効の区別として「n(無効)」が示されている。   The cross-reference unit 330 is a part that is analyzed next to the header 310 and the trailer 340 when the PDF file is read, and is a part that functions as index information used when the object unit 320 is randomly accessed. The cross reference unit 330 includes one or more sections, and each section includes a keyword “xref” and a sequence of one or more subsections. Each subsection includes a header and a sequence of one or more entries. Here, the header includes an integer indicating the number of the first object pointed to by the subsection and an integer indicating the number of items included in the subsection. Each entry includes an object number, a history number, and valid / invalid distinction. In the figure, “09” is shown as the header of the subsection. In the entry on the first line, “0000000000” as the object number, “65535” as the history number, and “f ( "Invalid)" is shown, and the entry in the second row shows "0000000565" as the object number, "00000" as the history number, and "n (invalid)" as the valid / invalid distinction.

トレーラ340は、PDFファイルの最後の部分であり、PDFファイルを読み込んだ際にヘッダ310と共に最初に解析される部分である。このトレーラ340には、クロスリファレンス部330への参照情報が含まれる。図の例では、クロスリファレンス部330がPDFファイル中の750バイト目から始まっていることを示している。   The trailer 340 is the last part of the PDF file, and is the part that is first analyzed together with the header 310 when the PDF file is read. The trailer 340 includes reference information for the cross reference unit 330. In the example of the figure, it is indicated that the cross reference unit 330 starts from the 750th byte in the PDF file.

ところで、上述したように、オブジェクト部320には、アクションの設定を記載することができる。このようなアクションには、Gotoアクション等もあるが、本実施の形態では、特に、PDFファイル内に記述されたJava(登録商標)スクリプトを実行したり、他のプログラムをダウンロードして実行したりするアクションを想定する。
図3は、オブジェクト部320のアクションの設定が記載された箇所の一例である。
記述323は、アドレス「www.evil.jp/code」から実行ファイル「virus.exe」をダウンロードするための記述である。また、記述323は、メッセージ「Test Script」を表示するためのJava(登録商標)スクリプトの記述である。ここで、前者は、特定プログラムを読み込むための記述の一例であり、後者は、特定プログラムを実行するための記述の一例である。これらの記述323、324は、図2において、例えば、省略記号322で表した箇所に記載されることになる。
Incidentally, as described above, action settings can be described in the object section 320. Such actions include a Goto action and the like. In this embodiment, in particular, a Java (registered trademark) script described in a PDF file is executed, or another program is downloaded and executed. Assume an action to be performed.
FIG. 3 is an example of a location where action settings of the object unit 320 are described.
The description 323 is a description for downloading the execution file “virus.exe” from the address “www.evil.jp/code”. A description 323 is a description of a Java (registered trademark) script for displaying the message “Test Script”. Here, the former is an example of a description for reading a specific program, and the latter is an example of a description for executing the specific program. These descriptions 323 and 324 are described in, for example, a place represented by an ellipsis 322 in FIG.

本実施の形態では、図1のようなコンピュータシステムにおいて、図2のような構造を有し、かつ、図3のような記述を含むPDFファイルを、クライアント10がサーバ20にアップロードすると、サーバ20はこれを無毒化してクライアント10に返信する。
そこで、まず、このような動作を行うサーバ20の機能構成について説明する。
図4は、サーバ20の機能構成例を示したブロック図である。
図示するように、サーバ20は、受信部21と、ヘッダ検査部22と、変換部23と、置換情報記憶部24と、照合部25と、編集処理部26と、逆変換部27と、送信部28とを備えている。
In the present embodiment, when the client 10 uploads a PDF file having the structure shown in FIG. 2 and including the description shown in FIG. 3 to the server 20 in the computer system shown in FIG. Returns this to the client 10 after detoxifying it.
First, the functional configuration of the server 20 that performs such an operation will be described.
FIG. 4 is a block diagram illustrating a functional configuration example of the server 20.
As illustrated, the server 20 includes a reception unit 21, a header inspection unit 22, a conversion unit 23, a replacement information storage unit 24, a collation unit 25, an editing processing unit 26, an inverse conversion unit 27, and a transmission. Part 28.

受信部21は、クライアント10からPDFファイルを受信する。また、PDFファイル以外のファイルを受信することもある。本実施の形態では、特定の電子ファイルを取得する取得手段の一例として、受信部21を設けている。   The receiving unit 21 receives a PDF file from the client 10. A file other than a PDF file may be received. In the present embodiment, the receiving unit 21 is provided as an example of an acquisition unit that acquires a specific electronic file.

ヘッダ検査部22は、受信部21が受信したファイルのヘッダ部分を検査し、そのファイルがPDFファイルであるかどうかを判定する。その結果、受信部21が受信したファイルがPDFファイルでないと判定されれば、そのファイルとPDFファイルでない旨をセットしたメッセージとを送信部28に渡す。一方、受信部21が受信したファイルがPDFファイルであると判定されれば、そのファイルを変換部23に渡す。本実施の形態では、特定の電子ファイルが特定の種類の電子ファイルであるかどうかを検査する検査手段の一例として、ヘッダ検査部22を設けている。   The header checking unit 22 checks the header part of the file received by the receiving unit 21 and determines whether the file is a PDF file. As a result, if it is determined that the file received by the receiving unit 21 is not a PDF file, the file and a message set to the effect that it is not a PDF file are passed to the transmitting unit 28. On the other hand, if it is determined that the file received by the reception unit 21 is a PDF file, the file is passed to the conversion unit 23. In the present embodiment, the header inspection unit 22 is provided as an example of an inspection unit that inspects whether a specific electronic file is a specific type of electronic file.

変換部23は、まず、ヘッダ検査部22から渡されたPDFファイルを、ヘッダ310、オブジェクト部320、クロスリファレンス部330、トレーラ340に分割し、これらを逆変換部27に渡す。そして、オブジェクト部320のRAWデータ(例えば、16進ダンプ)を取得することにより新たなオブジェクト部320(以下、「新オブジェクト部」という)を生成し、これを照合部25に渡す。本実施の形態では、特定の電子ファイルのRAWデータを取得する第1の変換手段の一例として、変換部23を設けている。   First, the conversion unit 23 divides the PDF file passed from the header inspection unit 22 into a header 310, an object unit 320, a cross reference unit 330, and a trailer 340, and passes these to the inverse conversion unit 27. Then, by acquiring RAW data (for example, hexadecimal dump) of the object unit 320, a new object unit 320 (hereinafter referred to as “new object unit”) is generated and passed to the verification unit 25. In this embodiment, a conversion unit 23 is provided as an example of a first conversion unit that acquires RAW data of a specific electronic file.

置換情報記憶部24は、特定プログラムの読み込みや実行を行うことでコンピュータに危害を与える虞のある記述に特有の文字列を置換対象文字列とし、その記述をコンピュータに危害を与える虞のない記述とするためにその置換対象文字列を置換すべき文字列を置換後文字列とし、置換対象文字列を表すRAWデータ(以下、「置換対象データ」という)と、置換後文字列を表すRAWデータ(以下、「置換後データ」という)とを対応付けた置換情報を記憶する。尚、置換情報の具体的な内容については、後述する。本実施の形態では、電子ファイルを利用するコンピュータに危害を与える虞のある特定の記述に特有の文字列である特定の文字列を記憶する記憶手段の一例として、置換情報記憶部24を設けている。   The replacement information storage unit 24 sets a character string peculiar to a description that may cause harm to the computer by reading and executing a specific program as a replacement target character string, and the description does not cause harm to the computer. Therefore, a character string to be replaced with the replacement target character string is a post-replacement character string, RAW data representing the replacement target character string (hereinafter referred to as “replacement target data”), and RAW data representing the replacement character string. (Hereinafter, referred to as “post-replacement data”) is stored. The specific contents of the replacement information will be described later. In this embodiment, a replacement information storage unit 24 is provided as an example of a storage unit that stores a specific character string that is a character string specific to a specific description that may cause harm to a computer that uses an electronic file. Yes.

照合部25は、新オブジェクト部を変換部23から受け取り、置換情報記憶部24に記憶された置換対象データの何れかが新オブジェクト部に含まれるかどうかを判定する。その結果、置換対象データの何れかが新オブジェクト部に含まれると判定されれば、置換情報記憶部24に置換対象データに対応付けて記憶された置換後データを読み出し、新オブジェクト部、置換対象データが含まれる位置を特定する情報、置換後データを編集処理部26に渡す。一方、置換対象データの何れも新オブジェクト部に含まれないと判定されれば、その旨を逆変換部27に伝える。本実施の形態では、特定の電子ファイルに特定の文字列が含まれているかどうかを判定する判定手段の一例として、照合部25を設けている。   The collation unit 25 receives the new object unit from the conversion unit 23 and determines whether any of the replacement target data stored in the replacement information storage unit 24 is included in the new object unit. As a result, if it is determined that any of the replacement target data is included in the new object part, the replacement data stored in the replacement information storage unit 24 in association with the replacement target data is read, and the new object part, the replacement target The information specifying the position where the data is included and the post-replacement data are passed to the edit processing unit 26. On the other hand, if it is determined that none of the replacement target data is included in the new object portion, the fact is notified to the inverse conversion portion 27. In the present embodiment, the collation unit 25 is provided as an example of a determination unit that determines whether a specific character string is included in a specific electronic file.

編集処理部26は、照合部25から受け取った新オブジェクト部において、照合部25から受け取った情報で特定される位置のデータを、照合部25から受け取った置換後データで置換する。即ち、特定プログラムの読み込みや実行を行うことでコンピュータに危害を与える虞のある記述を、コンピュータに危害を与える虞のない記述に編集する。そして、編集後の新オブジェクト部を逆変換部27に渡す。本実施の形態では、特定の電子ファイル内の特定の文字列を他の文字列に置き換えることにより、特定の記述を、特定の電子ファイルを利用するコンピュータに危害を与える虞のない他の記述に編集する編集手段の一例として、編集処理部26を設けている。   The edit processing unit 26 replaces the data at the position specified by the information received from the collation unit 25 with the post-replacement data received from the collation unit 25 in the new object unit received from the collation unit 25. That is, a description that may cause harm to the computer by reading and executing a specific program is edited into a description that does not cause harm to the computer. Then, the edited new object part is passed to the inverse conversion unit 27. In the present embodiment, by replacing a specific character string in a specific electronic file with another character string, the specific description is changed to another description that does not cause harm to a computer using the specific electronic file. An editing processing unit 26 is provided as an example of editing means for editing.

逆変換部27は、編集処理部26から編集後の新オブジェクト部を受け取った場合、これを元の形式に変換することにより、編集後のオブジェクト部320を生成し、変換部23から受け取ったヘッダ310、編集後のオブジェクト部320、変換部23から受け取ったクロスリファレンス部330、変換部23から受け取ったトレーラ340の順に結合して、編集後のPDFファイルを生成する。そして、編集後のPDFファイルと編集した旨をセットしたメッセージとを送信部28に渡す。また、照合部25から新オブジェクト部に置換対象データが含まれていない旨が伝えられた場合、変換部23から受け取ったヘッダ310、オブジェクト部320、クロスリファレンス部330、トレーラ340の順に結合して、元のPDFファイルに戻す。そして、元のPDFファイルと編集していない旨をセットしたメッセージとを送信部28に渡す。本実施の形態では、編集後のRAWデータの元となる編集後の特定の電子ファイルを取得する第2の変換手段の一例として、逆変換部27を設けている。   When the inverse conversion unit 27 receives the edited new object part from the editing processing unit 26, the inverse conversion unit 27 converts the original object part into the original format to generate the edited object part 320, and receives the header received from the conversion part 23. 310, the edited object unit 320, the cross-reference unit 330 received from the conversion unit 23, and the trailer 340 received from the conversion unit 23 are combined in this order to generate an edited PDF file. Then, the edited PDF file and the message in which the editing is set are passed to the transmission unit 28. When the collation unit 25 informs that the new object part does not contain replacement target data, the header 310, the object part 320, the cross reference part 330, and the trailer 340 received from the conversion part 23 are combined in this order. Return to the original PDF file. Then, the original PDF file and the message set to the effect that editing has not been performed are passed to the transmission unit 28. In the present embodiment, an inverse conversion unit 27 is provided as an example of a second conversion unit that acquires a specific electronic file after editing that is a source of edited RAW data.

送信部28は、ヘッダ検査部22から受け取ったメッセージとファイル、又は、逆変換部27から受け取ったメッセージとPDFファイルをクライアント10に送信する。本実施の形態では、編集後の特定の電子ファイルを出力する出力手段の一例として、送信部28を設けている。   The transmission unit 28 transmits the message and file received from the header inspection unit 22 or the message and PDF file received from the inverse conversion unit 27 to the client 10. In the present embodiment, the transmission unit 28 is provided as an example of an output unit that outputs a specific electronic file after editing.

ここで、置換情報記憶部24に記憶される置換情報について具体的に説明する。
図5は、置換情報の具体的な内容を示した図である。
図示するように、置換情報は、置換対象データと、置換後データとを対応付けたものとなっている。尚、本実施の形態において、置換対象データ及び置換後データは、RAWデータとして記憶されるが、図では、理解し易いように、テキスト形式で示している。
Here, the replacement information stored in the replacement information storage unit 24 will be specifically described.
FIG. 5 is a diagram showing specific contents of the replacement information.
As shown in the figure, the replacement information is information in which replacement target data is associated with post-replacement data. In this embodiment, the replacement target data and the post-replacement data are stored as RAW data, but are shown in a text format in the figure for easy understanding.

このうち、置換対象データは、コンピュータに危害を与える虞のある記述に特有の文字列を表すRAWデータである。例えば、1行目の「URI」は、外部のプログラムをダウンロードする記述に特有の文字列であり、2行目の「javascript」は、PDFファイルに埋め込まれたJava(登録商標)スクリプトを実行する記述に特有の文字列である。また、3行目には、Adobe Reader(登録商標)によって開かれようとした場合に、ファイルを閉じる動作を行うスクリプトを示している。Adobe Reader(登録商標)でPDFファイルを開く場合には、Java(登録商標)スクリプトを無効にする設定を行えるが、そのような設定がなされないように、例えばInternet Explorer(登録商標)でPDFファイルを開かせて悪意のあるサイトへ誘導させるような場合があるので、このような文字列も置換対象データとして記憶している。   Of these, the replacement target data is RAW data representing a character string specific to a description that may harm the computer. For example, “URI” on the first line is a character string specific to a description for downloading an external program, and “javascript” on the second line executes a Java (registered trademark) script embedded in the PDF file. A character string specific to the description. The third line shows a script that performs an operation to close a file when it is opened by Adobe Reader (registered trademark). When opening a PDF file with Adobe Reader (registered trademark), settings can be made to disable the Java (registered trademark) script. To prevent such a setting, for example, a PDF file is created with Internet Explorer (registered trademark). Such a character string is also stored as data to be replaced.

また、置換後データは、コンピュータに危害を与える虞のない記述にするために置換対象データに代えて用いる文字列を表すRAWデータである。例えば、1行目の「XXX」は、「URI」に代えて用いることにより、外部のプログラムをダウンロードできなくする文字列であり、2行目の「xxxxxxxxx」は、「javascript」に代えて用いることにより、PDFファイルに埋め込まれたJava(登録商標)スクリプトを実行できなくする文字列である。また、3行目には、Adobe Reader(登録商標)によって開かれようとしても、ファイルを閉じる動作が行われないようにするスクリプトを示している。このようなスクリプトに置換することにより、Java(登録商標)スクリプトを無効にする設定を行うことができるので、例えばInternet Explorer(登録商標)でPDFファイルを開いて悪意のあるサイトへ誘導され、コンピュータに危害が与えられる、といった虞はなくなる。   Further, the post-replacement data is RAW data representing a character string used instead of the replacement target data in order to make a description that does not cause harm to the computer. For example, “XXX” on the first line is a character string that makes it impossible to download an external program by using it instead of “URI”, and “xxxxxxxxx” on the second line is used instead of “javascript”. This is a character string that makes it impossible to execute the Java (registered trademark) script embedded in the PDF file. The third line shows a script that prevents the file from being closed even if it is opened by Adobe Reader (registered trademark). By replacing with such a script, it is possible to make a setting for invalidating the Java (registered trademark) script. For example, the PDF file is opened with Internet Explorer (registered trademark), and the computer is guided to a malicious site. There is no longer any danger of harm.

尚、図5の例の場合、1行目及び2行目の置換対象データに対しては、その各文字を一律に「X(x)」に変更して得られた置換後データを登録し、3行目の置換対象データに対しては、「true」を「false」に変更して得られた置換後データを登録した。即ち、置換対象データに応じて、異なる置換後データを登録するようにした。しかしながら、全ての置換対象データに対して、同じ置換後データを登録するようにしてもよい。   In the case of the example in FIG. 5, the replacement data obtained by changing the characters uniformly to “X (x)” is registered for the replacement target data in the first and second lines. For the replacement target data in the third row, post-replacement data obtained by changing “true” to “false” was registered. That is, different post-replacement data is registered according to the replacement target data. However, the same post-replacement data may be registered for all replacement target data.

次に、本実施の形態におけるサーバ20の動作について説明する。
図6は、本実施の形態におけるサーバ20の動作例を示したフローチャートである。
サーバ20では、まず、受信部21が、クライアント10からファイルを受信し、ヘッダ検査部22に受け渡す(ステップ201)。すると、ヘッダ検査部22は、ファイルのヘッダ部分をチェックし(ステップ202)、そのファイルがPDFファイルであるかどうかを判定する(ステップ203)。例えば、拡張子を「pdf」としてPDFファイルを装ったEXEファイルもあるので、受信部21が受信したファイルが本当にPDFファイルであるかをチェックしている。
Next, the operation of the server 20 in the present embodiment will be described.
FIG. 6 is a flowchart illustrating an operation example of the server 20 in the present embodiment.
In the server 20, the receiving unit 21 first receives a file from the client 10 and transfers it to the header checking unit 22 (step 201). Then, the header inspection unit 22 checks the header portion of the file (step 202) and determines whether or not the file is a PDF file (step 203). For example, since there is an EXE file with the extension “pdf” and disguised as a PDF file, the receiving unit 21 checks whether the file received is really a PDF file.

その結果、そのファイルがPDFファイルでないと判定されれば、ヘッダ検査部22は、その旨をメッセージにセットする(ステップ204)。その後、このメッセージは、ファイルと共に送信部28に渡される。   As a result, if it is determined that the file is not a PDF file, the header checking unit 22 sets a message to that effect (step 204). Thereafter, this message is passed to the transmission unit 28 together with the file.

一方、そのファイルがPDFファイルであると判定されれば、ヘッダ検査部22は、そのPDFファイルを変換部23に渡し、変換部23がPDFファイルを分割して変換する(ステップ205)。具体的には、変換部23は、PDFファイルを、ヘッダ310、オブジェクト部320、クロスリファレンス部330、トレーラ340に分割し、これらを逆変換部27に渡しておく。また、このうち、オブジェクト部320のRAWデータ(例えば、16進ダンプ)を取得することにより新オブジェクト部を生成し、これを照合部25に渡す。   On the other hand, if it is determined that the file is a PDF file, the header inspection unit 22 passes the PDF file to the conversion unit 23, and the conversion unit 23 divides and converts the PDF file (step 205). Specifically, the conversion unit 23 divides the PDF file into a header 310, an object unit 320, a cross reference unit 330, and a trailer 340, and passes these to the inverse conversion unit 27. Of these, the RAW data (for example, hexadecimal dump) of the object unit 320 is acquired to generate a new object unit, which is passed to the collation unit 25.

次に、照合部25は、置換情報記憶部24に記憶された置換対象データの何れかが新オブジェクト部に含まれているかどうかを判定するマッチング処理を行う。即ち、まず、置換情報記憶部24に記憶された1つの置換対象データを読み込む(ステップ206)。そして、新オブジェクト部の中にこの置換対象データと一致する部分があるかどうかを判定する(ステップ207)。   Next, the collation unit 25 performs matching processing for determining whether any of the replacement target data stored in the replacement information storage unit 24 is included in the new object unit. That is, first, one replacement target data stored in the replacement information storage unit 24 is read (step 206). Then, it is determined whether or not there is a portion in the new object portion that matches the replacement target data (step 207).

ここで、一致する部分がなければ、照合部25は、置換情報記憶部24に記憶された最後の置換対象データに到達したかどうかを判定する(ステップ208)。そして、最後の置換対象データに到達していなければ、ステップ206〜207の処理を繰り返す。また、最後の置換対象データに到達していれば、置換情報記憶部24に記憶された置換対象データの何れも新オブジェクト部に含まれていないことになるので、逆変換部27が、分割したPDFファイルを元に戻す。即ち、照合部25は、どの置換対象データも新オブジェクト部に含まれていない旨を逆変換部27に通知し、これに応じて、逆変換部27が、変換部23から受け取ったヘッダ310、オブジェクト部320、クロスリファレンス部330、トレーラ340を、この順に結合する(ステップ209)。そして、ファイルを編集していない旨をメッセージにセットする(ステップ210)。その後、このメッセージは、元々のPDFファイルと共に送信部28に渡される。   Here, if there is no matching part, the collation unit 25 determines whether or not the last replacement target data stored in the replacement information storage unit 24 has been reached (step 208). If the last replacement target data has not been reached, the processing of steps 206 to 207 is repeated. If the last replacement target data has been reached, none of the replacement target data stored in the replacement information storage unit 24 is included in the new object unit. Restore the PDF file. That is, the collation unit 25 notifies the inverse conversion unit 27 that no replacement target data is included in the new object part, and in response thereto, the inverse conversion unit 27 receives the header 310, received from the conversion unit 23, The object unit 320, the cross reference unit 330, and the trailer 340 are coupled in this order (step 209). Then, a message that the file has not been edited is set in the message (step 210). Thereafter, this message is passed to the transmitting unit 28 together with the original PDF file.

一方、ステップ207で一致する部分があれば、編集処理部26が、その部分を置換することによるPDFファイルの編集処理を行う(ステップ211)。即ち、まず、照合部25が、新オブジェクト部と、現在着目している置換対象データに一致する部分を特定する情報と、置換情報記憶部24において現在着目している置換対象データに対応付けて記憶されている置換後データとを編集処理部26に受け渡す。すると、編集処理部26が、照合部25から受け取った新オブジェクト部において、照合部25から受け取った情報で特定される部分を、照合部25から受け取った置換後データで置換し、置換後の新オブジェクト部を逆変換部27に受け渡す。その後、逆変換部27は、逆変換部27から受け取った置換後の新オブジェクト部を元の形式に変換し、変換部23から受け取ったヘッダ310、この元の形式に変換されたオブジェクト部320、変換部23から受け取ったクロスリファレンス部330、変換部23から受け取ったトレーラ340を、この順に結合する(ステップ212)。そして、ファイルを編集した旨をメッセージにセットする(ステップ213)。その後、このメッセージは、ステップ212で再構築された編集後のPDFファイルと共に送信部28に渡される。   On the other hand, if there is a matching part in step 207, the editing processing unit 26 performs a PDF file editing process by replacing the part (step 211). That is, first, the collation unit 25 associates the new object part, the information for identifying the part that matches the replacement target data currently focused on, and the replacement target data currently focused on in the replacement information storage unit 24. The stored post-replacement data is transferred to the edit processing unit 26. Then, the edit processing unit 26 replaces the part specified by the information received from the collation unit 25 with the post-replacement data received from the collation unit 25 in the new object unit received from the collation unit 25, and replaces the new data after the replacement. The object part is transferred to the inverse conversion part 27. Thereafter, the inverse conversion unit 27 converts the new object part after replacement received from the inverse conversion unit 27 into the original format, the header 310 received from the conversion unit 23, the object unit 320 converted into the original format, The cross reference unit 330 received from the conversion unit 23 and the trailer 340 received from the conversion unit 23 are combined in this order (step 212). Then, the fact that the file has been edited is set in a message (step 213). Thereafter, this message is passed to the transmission unit 28 together with the edited PDF file reconstructed in step 212.

そして、最後に、送信部28は、ヘッダ検査部22から受け取ったファイル及びメッセージ、又は、逆変換部27から受け取ったファイル及びメッセージを、クライアント10に送信する(ステップ214)。但し、ヘッダ検査部22から受け取ったファイル及びメッセージの送信先は、クライアント10ではなく、EXEファイル等を対象としたマルウェアチェックシステムとしてもよい。   Finally, the transmission unit 28 transmits the file and message received from the header inspection unit 22 or the file and message received from the inverse conversion unit 27 to the client 10 (step 214). However, the transmission destination of the file and message received from the header inspection unit 22 may be a malware check system for the EXE file or the like instead of the client 10.

以上により、本実施の形態の動作は終了する。
ところで、本実施の形態では、変換部23が電子ファイルをヘッダ310、オブジェクト部320、クロスリファレンス部330、トレーラ340に分割し、このうち、オブジェクト部320のRAWデータのみを照合部25による照合の対象とした。しかしながら、電子ファイルの全体のRAWデータを照合部25による照合の対象としてもよい。尚、このように、RAWデータを照合部25による照合の対象としたのは、照合の確実性を高めるためである。例えば、日本語の文字列を表示するPDFファイルの場合、そのままの形式で照合したのでは、置換対象データを確実に見つけ出せない可能性もある。但し、このような問題が生じない場合は、そのままの形式で照合する構成を採用してもよい。
Thus, the operation of the present embodiment ends.
By the way, in this embodiment, the conversion unit 23 divides the electronic file into a header 310, an object unit 320, a cross reference unit 330, and a trailer 340. Of these, only the raw data of the object unit 320 is collated by the collation unit 25. Targeted. However, the entire RAW data of the electronic file may be a target of collation by the collation unit 25. Note that the reason why the RAW data is the target of collation by the collation unit 25 is to increase the certainty of collation. For example, in the case of a PDF file that displays a Japanese character string, there is a possibility that the replacement target data cannot be reliably found if collation is performed in the same format. However, in the case where such a problem does not occur, a configuration of collating in the same format may be adopted.

また、本実施の形態では、クライアント10がPDFファイルをサーバ20にアップロードすると、サーバ20はこれを無毒化してクライアント10に返信するようにした。しかしながら、このようなPDFファイルの無毒化を、PDFファイルを利用するコンピュータで行ってもよい。その場合、図4は、PDFファイルを利用するコンピュータの機能構成を示したものと考えることができる。但し、受信部21の代わりに、ユーザ操作に応じて検査対象のPDFファイルを受け付ける受付部を設ける必要がある。また、送信部28の代わりに、ヘッダ検査部22から受け取ったPDFファイルでない旨のメッセージ、逆変換部27から受け取ったPDFファイルを編集していない旨のメッセージ、逆変換部27から受け取ったPDFファイルを編集した旨のメッセージ及び編集後のPDFファイルの何れかを表示する表示部を設ける必要がある。   In the present embodiment, when the client 10 uploads a PDF file to the server 20, the server 20 detoxifies it and sends it back to the client 10. However, such detoxification of the PDF file may be performed by a computer using the PDF file. In that case, FIG. 4 can be considered to show a functional configuration of a computer using a PDF file. However, instead of the receiving unit 21, it is necessary to provide a receiving unit that receives a PDF file to be inspected according to a user operation. Further, instead of the transmission unit 28, a message indicating that the PDF file is not received from the header checking unit 22, a message indicating that the PDF file received from the reverse conversion unit 27 is not edited, and a PDF file received from the reverse conversion unit 27 It is necessary to provide a display unit for displaying either the message that the file has been edited or the edited PDF file.

更に、本実施の形態では、PDFファイルの無毒化を例として説明したが、PDF以外の形式の電子ファイルでプログラムの読み込み又は実行を行う記述を行うことができるものがあれば、そのような電子ファイルの無毒化に本実施の形態を適用してもよい。   Furthermore, in the present embodiment, PDF file detoxification has been described as an example. However, if there is a description that can read or execute a program in an electronic file of a format other than PDF, such electronic The present embodiment may be applied to file detoxification.

以上述べたように、本実施の形態では、プログラムの読み込み又は実行を行うことによりコンピュータに危害を与える虞のある記述に特有の文字列が電子ファイルに含まれている場合に、その文字列を他の文字列に置き換えることにより、コンピュータに危害を与える虞のない記述に編集するようにした。これにより、電子ファイルを利用するコンピュータに危害を与える虞のある記述がなされた電子ファイルを無毒化することが可能となった。   As described above, in the present embodiment, when a character string peculiar to a description that may cause harm to a computer by reading or executing a program is included in the electronic file, the character string is By replacing it with another character string, it was edited to a description that would not harm the computer. As a result, it has become possible to detoxify electronic files that have been described that may cause harm to a computer that uses the electronic file.

最後に、本実施の形態を適用するのに好適なコンピュータのハードウェア構成について説明する。図7は、このようなコンピュータのハードウェア構成の一例を示した図である。図示するように、コンピュータは、演算手段であるCPU(Central Processing Unit)90aと、M/B(マザーボード)チップセット90bを介してCPU90aに接続されたメインメモリ90cと、同じくM/Bチップセット90bを介してCPU90aに接続された表示機構90dとを備える。また、M/Bチップセット90bには、ブリッジ回路90eを介して、ネットワークインターフェイス90fと、磁気ディスク装置(HDD)90gと、音声機構90hと、キーボード/マウス90iと、フレキシブルディスクドライブ90jとが接続されている。   Finally, a hardware configuration of a computer suitable for applying this embodiment will be described. FIG. 7 is a diagram showing an example of the hardware configuration of such a computer. As shown in the figure, the computer includes a CPU (Central Processing Unit) 90a which is a calculation means, a main memory 90c connected to the CPU 90a via an M / B (motherboard) chip set 90b, and an M / B chip set 90b. And a display mechanism 90d connected to the CPU 90a. Further, a network interface 90f, a magnetic disk device (HDD) 90g, an audio mechanism 90h, a keyboard / mouse 90i, and a flexible disk drive 90j are connected to the M / B chip set 90b via a bridge circuit 90e. Has been.

尚、図7において、各構成要素は、バスを介して接続される。例えば、CPU90aとM/Bチップセット90bの間や、M/Bチップセット90bとメインメモリ90cの間は、CPUバスを介して接続される。また、M/Bチップセット90bと表示機構90dとの間は、AGP(Accelerated Graphics Port)を介して接続されてもよいが、表示機構90dがPCI Express対応のビデオカードを含む場合、M/Bチップセット90bとこのビデオカードの間は、PCI Express(PCIe)バスを介して接続される。また、ブリッジ回路90eと接続する場合、ネットワークインターフェイス90fについては、例えば、PCI Expressを用いることができる。また、磁気ディスク装置90gについては、例えば、シリアルATA(AT Attachment)、パラレル転送のATA、PCI(Peripheral Components Interconnect)を用いることができる。更に、キーボード/マウス90i、及び、フレキシブルディスクドライブ90jについては、USB(Universal Serial Bus)を用いることができる。   In FIG. 7, each component is connected through a bus. For example, the CPU 90a and the M / B chip set 90b, and the M / B chip set 90b and the main memory 90c are connected via a CPU bus. Further, the M / B chipset 90b and the display mechanism 90d may be connected via an AGP (Accelerated Graphics Port), but if the display mechanism 90d includes a PCI Express compatible video card, the M / B The chip set 90b and this video card are connected via a PCI Express (PCIe) bus. When connecting to the bridge circuit 90e, for example, PCI Express can be used for the network interface 90f. For the magnetic disk device 90g, for example, serial ATA (AT Attachment), parallel transfer ATA, or PCI (Peripheral Components Interconnect) can be used. Furthermore, USB (Universal Serial Bus) can be used for the keyboard / mouse 90i and the flexible disk drive 90j.

本実施の形態が適用されるコンピュータシステムの全体構成図である。1 is an overall configuration diagram of a computer system to which this exemplary embodiment is applied. PDFファイルの構造例を示した図である。It is the figure which showed the structural example of the PDF file. PDFファイルに埋め込まれたスクリプトの例を示した図である。It is the figure which showed the example of the script embedded in the PDF file. 本実施の形態におけるサーバの機能構成例を示したブロック図である。It is the block diagram which showed the function structural example of the server in this Embodiment. 本実施の形態の置換情報記憶部に記憶された置換情報の例を示した図である。It is the figure which showed the example of the replacement information memorize | stored in the replacement information storage part of this Embodiment. 本実施の形態におけるサーバの動作例を示したフローチャートである。It is the flowchart which showed the operation example of the server in this Embodiment. 本実施の形態が適用されるコンピュータのハードウェア構成図である。It is a hardware block diagram of the computer to which this Embodiment is applied.

符号の説明Explanation of symbols

10…クライアント、20…サーバ、21…受信部、22…ヘッダ検査部、23…変換部、24…置換情報記憶部、25…照合部、26…編集処理部、27…逆変換部、28…送信部 DESCRIPTION OF SYMBOLS 10 ... Client, 20 ... Server, 21 ... Reception part, 22 ... Header test | inspection part, 23 ... Conversion part, 24 ... Replacement information storage part, 25 ... Collation part, 26 ... Edit process part, 27 ... Inverse conversion part, 28 ... Transmitter

Claims (9)

電子ファイルを処理する電子ファイル処理装置であって、
前記電子ファイルに埋め込まれる可能性のある文字列であって、特定プログラムの読み込み又は実行を行うことにより当該電子ファイルを利用するコンピュータに危害を与える虞のある特定の記述に特有の文字列である特定の文字列を記憶する記憶手段と、
特定の電子ファイルを取得する取得手段と、
前記取得手段により取得された前記特定の電子ファイルに、前記記憶手段に記憶された前記特定の文字列が含まれているかどうかを判定する判定手段と、
前記判定手段により前記特定の電子ファイルに前記特定の文字列が含まれていると判定された場合に、当該特定の電子ファイル内の当該特定の文字列を他の文字列に置き換えることにより、前記特定の記述を、当該特定の電子ファイルを利用するコンピュータに危害を与える虞のない他の記述に編集する編集手段と
前記編集手段による編集後の前記特定の電子ファイルを出力する出力手段と
を備えたことを特徴とする電子ファイル処理装置。
An electronic file processing apparatus for processing an electronic file,
A character string that can be embedded in the electronic file, and is a character string specific to a specific description that may cause harm to a computer that uses the electronic file by reading or executing the specific program Storage means for storing a specific character string;
An acquisition means for acquiring a specific electronic file;
Determining means for determining whether or not the specific electronic file acquired by the acquiring means includes the specific character string stored in the storage means;
When it is determined by the determination means that the specific character string is included in the specific electronic file, the specific character string in the specific electronic file is replaced with another character string. Editing means for editing a specific description into another description that does not cause harm to a computer that uses the specific electronic file, and output means for outputting the specific electronic file after being edited by the editing means An electronic file processing apparatus characterized by that.
前記取得手段により取得された前記特定の電子ファイルの特定の部分に基づいて、当該特定の電子ファイルが前記特定の文字列を埋め込むことの可能な特定の種類の電子ファイルであるかどうかを検査し、当該特定の電子ファイルが当該特定の種類の電子ファイルである場合に、当該特定の電子ファイルを前記判定手段による判定の対象とする検査手段を更に備えたことを特徴とする請求項1記載の電子ファイル処理装置。   Based on a specific part of the specific electronic file acquired by the acquisition means, it is checked whether the specific electronic file is a specific type of electronic file in which the specific character string can be embedded. 2. The inspection apparatus according to claim 1, further comprising: an inspection unit that uses the specific electronic file as a target of determination by the determination unit when the specific electronic file is the specific type of electronic file. Electronic file processing device. 前記特定の電子ファイルのRAWデータを取得し、当該RAWデータを前記判定手段による判定の対象とする第1の変換手段と、
前記編集手段による編集後の前記RAWデータの元となる編集後の前記特定の電子ファイルを取得し、編集後の当該特定の電子ファイルを前記出力手段による出力の対象とする第2の変換手段と
を更に備えたことを特徴とする請求項1記載の電子ファイル処理装置。
First conversion means for acquiring RAW data of the specific electronic file, and using the RAW data as a determination target by the determination means;
A second conversion unit that obtains the specific electronic file after editing, which is a source of the RAW data after editing by the editing unit, and uses the specific electronic file after editing as an output target by the output unit; The electronic file processing apparatus according to claim 1, further comprising:
前記特定の電子ファイルを前記特定の文字列を埋め込むことの可能な第1の部分と前記特定の文字列を埋め込むことの不可能な第2の部分とに分割し、当該第1の部分のRAWデータを取得し、当該RAWデータを前記判定手段による判定の対象とする第1の変換手段と、
前記編集手段による編集後の前記RAWデータの元となる編集後の前記第1の部分を取得し、編集後の当該第1の部分と前記第2の部分とを結合して編集後の前記特定の電子ファイルを生成し、編集後の当該特定の電子ファイルを前記出力手段による出力の対象とする第2の変換手段と
を更に備えたことを特徴とする請求項1記載の電子ファイル処理装置。
The specific electronic file is divided into a first part in which the specific character string can be embedded and a second part in which the specific character string cannot be embedded. First conversion means for acquiring data and using the RAW data as a determination target by the determination means;
The first part after editing that is a source of the RAW data after editing by the editing unit is acquired, and the first part after editing and the second part are combined to specify the edited part 2. The electronic file processing apparatus according to claim 1, further comprising: a second conversion unit that generates the electronic file and sets the specific electronic file after editing to be output by the output unit.
前記記憶手段は、前記他の文字列を、前記特定の文字列に対応付けて更に記憶し、
前記編集手段は、前記特定の電子ファイル内の前記特定の文字列を、前記記憶手段において当該特定の文字列に対応付けて記憶された前記他の文字列に置き換えることを特徴とする請求項1記載の電子ファイル処理装置。
The storage means further stores the other character string in association with the specific character string,
The editing means replaces the specific character string in the specific electronic file with the other character string stored in the storage means in association with the specific character string. The electronic file processing apparatus described.
クライアントコンピュータとサーバコンピュータとが通信回線を介して接続されてなるコンピュータシステムであって、
前記クライアントコンピュータは、
特定の電子ファイルを前記通信回線を介して前記サーバコンピュータに送信する送信手段を備え、
前記サーバコンピュータは、
電子ファイルに埋め込まれる可能性のある文字列であって、特定プログラムの読み込み又は実行を行うことにより当該電子ファイルを利用するコンピュータに危害を与える虞のある特定の記述に特有の文字列である特定の文字列を記憶する記憶手段と、
前記特定の電子ファイルを前記クライアントコンピュータから前記通信回線を介して受信する受信手段と、
前記受信手段により受信された前記特定の電子ファイルに、前記記憶手段に記憶された前記特定の文字列が含まれているかどうかを判定する判定手段と、
前記判定手段により前記特定の電子ファイルに前記特定の文字列が含まれていると判定された場合に、当該特定の電子ファイル内の当該特定の文字列を他の文字列に置き換えることにより、前記特定の記述を、当該特定の電子ファイルを利用するコンピュータに危害を与える虞のない他の記述に編集する編集手段と
前記編集手段による編集後の前記特定の電子ファイルを前記クライアントコンピュータに前記通信回線を介して送信する送信手段とを備え、
前記クライアントコンピュータは、
前記編集手段による編集後の前記特定の電子ファイルを前記サーバコンピュータから前記通信回線を介して受信する受信手段を備えたことを特徴とするコンピュータシステム。
A computer system in which a client computer and a server computer are connected via a communication line,
The client computer is
Transmission means for transmitting a specific electronic file to the server computer via the communication line;
The server computer
A character string that can be embedded in an electronic file and that is unique to a particular description that could harm a computer that uses the electronic file by reading or executing a specific program Storage means for storing the character string of
Receiving means for receiving the specific electronic file from the client computer via the communication line;
Determining means for determining whether the specific electronic file received by the receiving means includes the specific character string stored in the storage means;
When it is determined by the determination means that the specific character string is included in the specific electronic file, the specific character string in the specific electronic file is replaced with another character string. Editing means for editing a specific description into another description that does not cause harm to the computer that uses the specific electronic file, and the communication line for sending the specific electronic file after being edited by the editing means to the client computer And transmitting means for transmitting via
The client computer is
A computer system comprising receiving means for receiving the specific electronic file edited by the editing means from the server computer via the communication line.
電子ファイルを処理する電子ファイル処理方法であって、
前記電子ファイルに埋め込まれる可能性のある文字列であって、特定プログラムの読み込み又は実行を行うことにより当該電子ファイルを利用するコンピュータに危害を与える虞のある特定の記述に特有の文字列である特定の文字列を記憶手段から読み出すステップと、
特定の電子ファイルを取得するステップと、
取得された前記特定の電子ファイルに、前記記憶手段から読み出された前記特定の文字列が含まれているかどうかを判定するステップと、
前記特定の電子ファイルに前記特定の文字列が含まれていると判定された場合に、当該特定の電子ファイル内の当該特定の文字列を他の文字列に置き換えることにより、前記特定の記述を、当該特定の電子ファイルを利用するコンピュータに危害を与える虞のない他の記述に編集するステップと
編集後の前記特定の電子ファイルを出力するステップと
を含むことを特徴とする電子ファイル処理方法。
An electronic file processing method for processing an electronic file,
A character string that can be embedded in the electronic file, and is a character string specific to a specific description that may cause harm to a computer that uses the electronic file by reading or executing the specific program Reading a specific character string from the storage means;
Obtaining a specific electronic file;
Determining whether the specific character string read from the storage means is included in the acquired specific electronic file;
When it is determined that the specific character string is included in the specific electronic file, the specific description is changed by replacing the specific character string in the specific electronic file with another character string. An electronic file processing method comprising the steps of: editing to another description that does not cause harm to a computer that uses the specific electronic file; and outputting the specific electronic file after editing.
電子ファイルを利用するコンピュータに、
前記電子ファイルに埋め込まれる可能性のある文字列であって、特定プログラムの読み込み又は実行を行うことにより前記コンピュータに危害を与える虞のある特定の記述に特有の文字列である特定の文字列を記憶手段から読み出す機能と、
特定の電子ファイルを取得する機能と、
取得された前記特定の電子ファイルに、前記記憶手段から読み出された前記特定の文字列が含まれているかどうかを判定する機能と、
前記特定の電子ファイルに前記特定の文字列が含まれていると判定された場合に、当該特定の電子ファイル内の当該特定の文字列を他の文字列に置き換えることにより、前記特定の記述を、前記コンピュータに危害を与える虞のない他の記述に編集する機能と
編集後の前記特定の電子ファイルを表示する機能と
を実現させるためのコンピュータプログラム。
To computer using electronic file,
A specific character string that may be embedded in the electronic file and is a character string specific to a specific description that may cause harm to the computer by reading or executing a specific program. A function of reading from the storage means;
The ability to retrieve specific electronic files,
A function of determining whether or not the specific character string read from the storage means is included in the acquired specific electronic file;
When it is determined that the specific character string is included in the specific electronic file, the specific description is changed by replacing the specific character string in the specific electronic file with another character string. A computer program for realizing a function of editing to another description that does not cause harm to the computer and a function of displaying the specific electronic file after editing.
サーバコンピュータに、
電子ファイルに埋め込まれる可能性のある文字列であって、特定プログラムの読み込み又は実行を行うことにより当該電子ファイルを利用するコンピュータに危害を与える虞のある特定の記述に特有の文字列である特定の文字列を記憶手段から読み出す機能と、
特定の電子ファイルをクライアントコンピュータから受信する機能と、
受信した前記特定の電子ファイルに、前記記憶手段から読み出された前記特定の文字列が含まれているかどうかを判定する機能と、
前記特定の電子ファイルに前記特定の文字列が含まれていると判定された場合に、当該特定の電子ファイル内の当該特定の文字列を他の文字列に置き換えることにより、前記特定の記述を、当該特定の電子ファイルを利用するコンピュータに危害を与える虞のない他の記述に編集する機能と
編集後の前記特定の電子ファイルを前記クライアントコンピュータに送信する機能と
を実現させるためのコンピュータプログラム。
On the server computer
A character string that can be embedded in an electronic file and that is unique to a particular description that could harm a computer that uses the electronic file by reading or executing a specific program The function of reading the character string from the storage means,
The ability to receive specific electronic files from client computers;
A function of determining whether the received specific electronic file includes the specific character string read from the storage unit;
When it is determined that the specific character string is included in the specific electronic file, the specific description is changed by replacing the specific character string in the specific electronic file with another character string. A computer program for realizing a function of editing to another description that does not cause harm to the computer using the specific electronic file and a function of transmitting the specific electronic file after editing to the client computer.
JP2008316252A 2008-12-11 2008-12-11 Electronic file processor, computer system, electronic file processing method and computer program Pending JP2010140277A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008316252A JP2010140277A (en) 2008-12-11 2008-12-11 Electronic file processor, computer system, electronic file processing method and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008316252A JP2010140277A (en) 2008-12-11 2008-12-11 Electronic file processor, computer system, electronic file processing method and computer program

Publications (1)

Publication Number Publication Date
JP2010140277A true JP2010140277A (en) 2010-06-24

Family

ID=42350366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008316252A Pending JP2010140277A (en) 2008-12-11 2008-12-11 Electronic file processor, computer system, electronic file processing method and computer program

Country Status (1)

Country Link
JP (1) JP2010140277A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014504765A (en) * 2011-01-21 2014-02-24 ファイヤアイ インク System and method for detecting malicious PDF network content
JP2017004294A (en) * 2015-06-11 2017-01-05 株式会社日立製作所 File management system and file management method
JP2020003992A (en) * 2018-06-27 2020-01-09 株式会社プロット Electronic file detoxification processing program, electronic file detoxification processing method, and recording medium
JP2021082959A (en) * 2019-11-20 2021-05-27 コニカミノルタ株式会社 Job control module and image forming apparatus

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014504765A (en) * 2011-01-21 2014-02-24 ファイヤアイ インク System and method for detecting malicious PDF network content
JP2017004294A (en) * 2015-06-11 2017-01-05 株式会社日立製作所 File management system and file management method
JP2020003992A (en) * 2018-06-27 2020-01-09 株式会社プロット Electronic file detoxification processing program, electronic file detoxification processing method, and recording medium
JP2021082959A (en) * 2019-11-20 2021-05-27 コニカミノルタ株式会社 Job control module and image forming apparatus
JP7380125B2 (en) 2019-11-20 2023-11-15 コニカミノルタ株式会社 Job control module, image forming device

Similar Documents

Publication Publication Date Title
US10462163B2 (en) Resisting the spread of unwanted code and data
JP5878560B2 (en) System and method for detecting malicious PDF network content
JP5628455B2 (en) Improvements in preventing inappropriate code and data diffusion
Egele et al. Defending browsers against drive-by downloads: Mitigating heap-spraying code injection attacks
US8635700B2 (en) Detecting malware using stored patterns
Garfinkel Lessons learned writing digital forensics tools and managing a 30TB digital evidence corpus
US20160070911A1 (en) Rapid malware inspection of mobile applications
US8001603B1 (en) Variable scan of files based on file context
KR101860546B1 (en) Apparatus and method for disarm of contents included in file, recording medium thereof
JP6687761B2 (en) Coupling device, coupling method and coupling program
US9838418B1 (en) Detecting malware in mixed content files
US8307276B2 (en) Distributed content verification and indexing
WO2014016838A1 (en) Method, computer readable medium and a device for neutralization of attacks
JP2010140277A (en) Electronic file processor, computer system, electronic file processing method and computer program
WO2019082818A1 (en) Communication device, communication system, and communication program
JP5274227B2 (en) Web page inspection apparatus, computer system, web page inspection method, and program
JP6297425B2 (en) Attack code detection apparatus, attack code detection method, and program
JP6169497B2 (en) Connection destination information determination device, connection destination information determination method, and program
CN114003907A (en) Malicious file detection method and device, computing equipment and storage medium
JP6378808B2 (en) Connection destination information determination device, connection destination information determination method, and program
KR102488942B1 (en) Methods and apparatus for processing a compressed file with password-based encryption attached to the e-mail
Albabtain et al. The process of recovering image and web page artifacts from the GPU
AU2012258355B2 (en) Resisting the Spread of Unwanted Code and Data
AU2013204036A1 (en) Improvements in Resisting the Spread of Unwanted Code and Data