JP6836773B2 - 情報処理装置、方法およびプログラム - Google Patents

情報処理装置、方法およびプログラム Download PDF

Info

Publication number
JP6836773B2
JP6836773B2 JP2016222515A JP2016222515A JP6836773B2 JP 6836773 B2 JP6836773 B2 JP 6836773B2 JP 2016222515 A JP2016222515 A JP 2016222515A JP 2016222515 A JP2016222515 A JP 2016222515A JP 6836773 B2 JP6836773 B2 JP 6836773B2
Authority
JP
Japan
Prior art keywords
data
configuration information
client
server
modification
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.)
Active
Application number
JP2016222515A
Other languages
English (en)
Other versions
JP2018082271A (ja
Inventor
山田 直樹
直樹 山田
Original Assignee
株式会社エヴリカ
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 株式会社エヴリカ filed Critical 株式会社エヴリカ
Priority to JP2016222515A priority Critical patent/JP6836773B2/ja
Priority to US15/811,512 priority patent/US10645042B2/en
Publication of JP2018082271A publication Critical patent/JP2018082271A/ja
Application granted granted Critical
Publication of JP6836773B2 publication Critical patent/JP6836773B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本開示は、ネットワーク上のデータを改変するための技術に関する。
従来、メールの転送(SMTP通信)とメールの取得(IMAP(Internet Message Access Protocol)通信)を中継する中継装置をキャリア設備網に設置したシステムにおいて、中継装置が、メール転送サーバーから転送されたメールを、ヘッダーを含めて圧縮し、新たなヘッダーを付与しカプセル化して、圧縮メールとしてIMAPサーバーに転送し、通信端末からのメール取得要求に対し、IMAPサーバーから取得した圧縮メールをデカプセル化して、圧縮を復元して、通信端末へ送信し、ここでメールの圧縮・復元によりIMAPの各種コマンドで不整合が発生しないように、中継装置がメールサイズなどのパラメータを変更する技術が提案されている(特許文献1を参照)。
また、ネットワークを流れる、ヘッダーとコンテンツを含むデータを、宛先に到達する前に取得するデータ取得部と、前記コンテンツを検査する検査部と、前記検査部による検査が行われている間、前記データの少なくとも一部を前記宛先に送信する検査中送信部と、前記検査部によるコンテンツの検査が完了した後に、該コンテンツを含むデータのうち前記検査中送信部によって送信済みの部分を除く前記データを、前記宛先に転送する転送部と、を備える情報処理装置が提案されている(特許文献2を参照)。
特開2010−278484号公報 特開2016−163162号公報
従来、ネットワーク上を流れるデータが宛先に到達する前にデータを取り込み、何らかの改変を加えてから当該宛先に転送する技術が種々存在する。しかし、通信プロトコルによっては、送受信されるデータや当該データを含むデータセットに構成情報が付されるものがあるため、このようなプロトコルが採用されている通信の場合、構成情報と矛盾しない改変しか行うことができない。また、送受信されるデータの改変に合わせて当該データに係る構成情報を改変したとしても、当該データがデータセットの一部である場合(例えば、メールの一部としてのSUBJECTである場合など)当該データを含むデータセット全体に係る構成情報との整合性が失われてしまうため、データまたはデータセットを受信するクライアント側でエラーが生じるおそれがある。
本開示は、上記した問題に鑑み、構成情報を伴うデータセットの一部または全部を改変する場合にも、当該構成情報の整合性が失われないようにすることを課題とする。
本開示の一例は、クライアントからサーバー宛に送信されたデータ要求メッセージを取得する要求取得手段と、前記データ要求メッセージによる要求の対象データを含むデータセットの構成情報を前記サーバーから取得する構成情報取得手段と、前記サーバーから送信された、データ及び該データの構成情報を含む応答メッセージを、前記クライアントに代わって取得する応答取得手段と、前記データセットの構成情報及び前記データの構成情報を、互いの整合性を維持したまま改変する構成情報改変手段と、前記構成情報改変手段による改変後の前記データの構成情報に合致するように前記データを改変するデータ改変手段と、前記クライアントから前記サーバー宛に送信されたデータ要求メッセージへの応答として、前記データ改変手段による改変後のデータ及び前記構成情報改変手段による改変後の該データの構成情報を含む応答メッセージを、該クライアントに対して送信するデータ送信手段と、を備える情報処理装置である。
本開示は、情報処理装置、システム、コンピューターによって実行される方法またはコンピューターに実行させるプログラムとして把握することが可能である。また、本開示は、そのようなプログラムをコンピューターその他の装置、機械等が読み取り可能な記録媒体に記録したものとしても把握できる。ここで、コンピューター等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的または化学的作用によって蓄積し、コンピューター等から読み取ることができる記録媒体をいう。
本開示によれば、構成情報を伴うデータセットの一部または全部を改変する場合にも、当該構成情報の整合性が失われないようにすることが可能となる。
実施形態に係るシステムの構成を示す概略図である。 実施形態に係る通信検査装置のハードウェア構成を示す図である。 実施形態に係る通信検査装置の機能構成の概略を示す図である。 実施形態に係るメッセージ処理の流れの概要を示すフローチャート(1)である。 実施形態に係るメッセージ処理の流れの概要を示すフローチャート(2)である。 実施形態においてメッセージ処理を実行した場合の通信の流れを示す図である。
以下、本開示に係る情報処理装置、方法およびプログラムの実施の形態を、図面に基づいて説明する。但し、以下に説明する実施の形態は、実施形態を例示するものであって、本開示に係る情報処理装置、方法およびプログラムを以下に説明する具体的構成に限定するものではない。実施にあたっては、実施の態様に応じた具体的構成が適宜採用され、また、種々の改良や変形が行われてよい。
本実施形態では、本開示に係る情報処理装置、方法およびプログラムを、通信検査装置において実施した場合の実施の形態について説明する。但し、本開示に係る情報処理装置、方法およびプログラムは、ネットワーク上のデータを改変するための技術について広く用いることが可能であり、本開示の適用対象は、本実施形態において示した例に限定されない。
<システムの構成>
図1は、本実施形態に係るシステム1の構成を示す概略図である。本実施形態に係るシステム1は、複数の情報処理端末90(以下、「クライアント90」と称する)が接続されるネットワークセグメント2と、クライアント90に係る通信を中継するための通信検査装置20と、を備える。また、ネットワークセグメント2内のクライアント90は、インターネットや広域ネットワークを介して遠隔地において接続された各種のサーバーと、通信検査装置20を介して通信可能である。本実施形態において、通信検査装置20は、ネットワークセグメント2において、クライアント90とインターネットとの間に接続されることで、通過するメッセージを取得する。そして、通信検査装置20は、取得したメッセージのうち、検査対象でないメッセージ、および検査の結果転送してもよいと判定されたメッセージを転送する。
図2は、本実施形態に係る通信検査装置20のハードウェア構成を示す図である。通信検査装置20は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、EEPROM(Electrically Erasable and Programmable Read Only Memory)やHDD(Hard Disk Drive)等の記憶装置14、NIC(Network Interface Card)15等の通信ユニット、等を備えるコンピューターである。但し、通信検査装置20の具体的なハードウェア構成に関しては、実施の態様に応じて適宜省略や置換、追加が可能である。また、通信検査装置20は、単一の装置に限定されない。通信検査装置20は、所謂クラウドや分散コンピューティングの技術等を用いた、複数の装置によって実現されてよい。
図3は、本実施形態に係る通信検査装置20の機能構成の概略を示す図である。通信検査装置20は、記憶装置14に記録されているプログラムが、RAM13に読み出され、CPU11によって実行されることで、要求取得部21、識別子取得部22、構成情報取得部23、要求送信部24、応答取得部25、構成情報改変部26、検査部27、データ改変部28およびデータ送信部29を備える情報処理装置として機能する。なお、本実施形態では、通信検査装置20の備える各機能は、汎用プロセッサであるCPU11によって実行されるが、これらの機能の一部または全部は、1または複数の専用プロセッサによって実行されてもよい。また、これらの機能の一部または全部は、クラウド技術等を用いて、遠隔値に設置された装置や、分散設置された複数の装置によって実行されてもよい。
要求取得部21は、クライアント90からサーバー宛に送信されたデータ要求メッセージを取得する。要求取得部21は、送信元、宛先およびプロトコルの種類の少なくとも何れかが所定の条件に合致するパケットを検知することで、所望のデータ要求メッセージを取得する。本実施形態では、クライアント90からサーバー宛に送信されたデータ要求メッセージとして、IMAPのFETCHメッセージが取得される場合について説明する。但し、上述の通り、本開示に係る技術の適用範囲は、本実施形態における例示に限定されない。本開示に係る技術は、データの構成を確定させる情報がデータと併せて送受信されるプロトコルを用いた通信について好適である。
識別子取得部22は、データ要求メッセージが要求の対象データを含むデータセット(IMAPの場合、一通のメール全体)に固有の(ユニークな)識別子(IMAPの場合、UID)を指定しないメッセージである場合に、サーバーから当該データセットの識別子を取得する。例えば、IMAPの場合、データ要求メッセージであるFETCHメッセージには、UIDが指定されている場合と、指定されていない場合がある。クライアント90から受信したFETCHメッセージにUIDが指定されておらず、メール番号(同一セッション内でのみ有効な識別子)のみが指定されている場合、識別子取得部22は、サーバーに対して、当該セッション中の当該メール番号を指定して当該メール(データセット)のUIDを問い合わせることで、対象データ(本実施形態では、メールの一部または全部。例えば、メール内のHEADERやSUBJECT、BODY等)を含むデータセット(メール全体)のUIDを取得する。
構成情報取得部23は、要求取得部21によってデータ要求メッセージが取得されると、当該データ要求メッセージによる要求の対象データを含むデータセットの構成情報(IMAPの場合、あるメール全体の構成情報)を、サーバーから取得する。この際、構成情報取得部23は、対象データを含むデータセットに固有の識別子を指定して、データセットの構成情報をサーバーから取得する。ここで指定される識別子は、データ要求メッセージにおいてクライアント90に指定されたものであってもよいし、識別子取得部22によって取得されたものであってもよい。
要求送信部24は、要求取得部21によってデータ要求メッセージが取得された後、サーバーに対して、クライアント90に代わってデータ要求メッセージを送信する。即ち、本実施形態において、通信検査装置20は、クライアント90とサーバーとの間で一種のプロキシとして動作し、要求送信部24は、クライアント90から送信されたサーバー宛のデータ要求メッセージを、クライアント90に代わって、サーバーに対して送信する。
応答取得部25は、要求送信部24によって送信されたデータ要求メッセージに応じてサーバーから送信された、データ及び当該データの構成情報を含む応答メッセージを、クライアント90に代わって、宛先(クライアント90)に到達する前に取得する。
構成情報改変部26は、データセットの構成情報及びデータの構成情報を、互いの整合性を維持したまま改変する。例えば、構成情報改変部26は、データの構成情報のうち、当該データのサイズ情報を所定量分増加させる改変(例えば、メールのSUBJECTのサイズ情報を10バイト増加させる改変)を行い、更に、データセットの構成情報を、増加したデータのサイズ情報に合わせて調整する改変(例えば、メール全体のサイズ情報を10バイト増加させる改変)を行う。
検査部27は、応答取得部25によって取得されたデータが、クライアント90への転送が許可されるデータであるか否かを、予め定められた検査項目に従って検査する。例えば、検査部27は、コンテンツにマルウェアが含まれているか否か、コンテンツに望ましくない表現が含まれているか否か、等を検査する。検査手法としては、例えば、パターンマッチングやハッシュ演算等を採用することができる。但し、本開示に係る検査において採用され得る具体的な検査項目や検査手法は、本実施形態における例示に限定されない。具体的な検査項目や検査手法には、既知の、または将来開発される様々な検査項目および検査手法が採用されてよい。
データ改変部28は、検査部27による検査結果に応じてデータを改変する。例えば、データ改変部28は、検査結果をユーザーに通知するための情報をデータに追加する改変(例えば、メールのSUBJECTに検査結果を示す文字列を追加する改変)や、データが有害なデータであり、クライアント90への転送が許可されないとの検査結果であった場合に、当該データを無害化する改変等を行う。無害化とは、例えば、データの一部または全部を、クライアント90が受信してよいデータで置換する処理などである。
改変の際、データ改変部28は、構成情報改変部26による改変後のデータの構成情報に合致するようにデータを改変する。例えば、構成情報改変部26によってデータのサイズ情報を増加させる改変が行われた場合、データ改変部28は、増加されたサイズ分の情報をデータに追加する改変を行う。
データ送信部29は、クライアント90からサーバー宛に送信されたデータ要求メッセージへの応答として、データ改変部28による改変後のデータ及び構成情報改変部26による改変後の構成情報を含む応答メッセージを、当該クライアント90に対して送信する。また、データ送信部29は、検査部27による検査が行われている間、クライアント90におけるデータの受信待ち時間がタイムアウトしない間隔で、改変後の構成情報の少なくとも一部をクライアント90に送信する。そして、データ送信部29は、検査部27によるデータの検査が完了した後に、未送信部分をクライアント90に送信する。
<処理の流れ>
次に、本実施形態に係るシステム1によって実行される処理の流れを、フローチャートを用いて説明する。なお、以下に説明するフローチャートに示された処理の具体的な内容および処理順序は、本開示を実施するための一例である。具体的な処理内容および処理順序は、本開示の実施の形態に応じて適宜選択されてよい。
図4および図5は、本実施形態に係るメッセージ処理の流れの概要を示すフローチャートである。本実施形態に係るメッセージ処理は、通信検査装置20によって、ネットワーク上を流れるメッセージが受信されたことを契機として実行される。
ステップS101では、データ要求メッセージ(本実施形態では、クライアント90からサーバーへのIMAPのFETCHメッセージ)が取得される。要求取得部21は、受信されたパケットのヘッダーに設定されている送信元、宛先及びプロトコル番号等を参照して、取り込みの対象となるパケットであるか否かを判定し、取り込みの対象となるパケットを取り込み、RAM12に記憶する(所謂フック処理)。ここで取り込まれたメッセージの転送は、ステップS108まで保留される。取り込みの対象でないと判定されたパケットは、通信検査装置20に取り込まれることなく、宛先に転送される(図示は省略する)。
取り込みの対象であるか否かは、パケットの送信元および宛先が、予め設定された送信元IPアドレスおよび宛先IPアドレスのリストに登録されているか否かを照合すること、及びパケットの種類があらかじめ設定された種類のもの(本実施形態では、IMAPのFETCHメッセージ)であるか否かを照合することによって判定される。なお、パケットが取り込みの対象であるか否かの判定には、本開示とは異なる手法が採用されてもよい。その後、処理はステップS102へ進む。
ステップS102では、FETCHメッセージの要求対象がUIDのみであるか否かが判定される。CPU11は、ステップS101で取り込まれたFETCHメッセージによって要求されるデータが、データセット(本実施形態では、IMAPメール)に固有の識別子であるUIDのみであるか否かを判定する。要求されたデータがUIDのみである場合、この要求のみではクライアント90にはメールの構成情報は渡されず構成情報の改変も不要であるため、ステップS103からステップS107の処理はスキップされ、処理はステップS108へ進む。一方、要求されたデータがUID以外のデータを含む場合、この要求に応じてクライアント90に対して渡される構成情報を改変する必要があるため、処理はステップS103へ進む。
ステップS103及びステップS104では、FETCHメッセージに要求対象のUIDが指定されていない場合に、UIDが取得される。識別子取得部22は、ステップS101で取り込まれたFETCHメッセージに、要求されるデータが属するメールのUIDが指定されているか否かを判定する(ステップS103)。FETCHメッセージでUIDが指定されている場合、処理はステップS105へ進む。一方、FETCHメッセージでUIDが指定されていない場合、メール全体の構成情報の取得に先立ってメールのUIDを取得するため、識別子取得部22は、サーバーから当該メールの識別子を取得する(ステップS104)。
具体的には、識別子取得部22は、サーバーに対して、FETCHメッセージ中に指定されたメール番号(当該メッセージが属するセッション内でのみ有効な識別子)を指定して、当該メールのUIDを問い合わせることで、対象データ(例えば、メールのHEADERやSUBJECT、BODY等)を含むメール全体のUIDを取得する。その後、処理はステップS105へ進む。
ステップS105では、FETCHメッセージに係るUID及びメール全体の構成情報が既に保持されているか否かが判定される。CPU11は、FETCHメッセージに指定されたUIDまたはステップS104で取得されたUIDと、通信検査装置20に保持されているUIDのリストとを比較することで、FETCHメッセージに係るUIDと、このUIDが示すメール全体の構成情報とが、通信検査装置20に保持されているか否かを判定する。対象メールのUID及び構成情報が保持されている場合、処理はステップS108へ進む。一方、対象メールのUID及び構成情報が保持されていない場合、処理はステップS106へ進む。
ステップS106では、要求の対象となっているデータを含むメール全体の構成情報が取得される。構成情報取得部23は、ステップS101で取得されたFETCHメッセージによる要求の対象データを含むメールの構成情報を、サーバーから取得する。この際、構成情報取得部23は、対象データを含むメールのUIDを指定して、メールの構成情報をサーバーから取得する。
ここで、メールの構成情報の取得方法について、より具体的な例を挙げて説明する。構成情報取得部23は、メール全体に係る構成情報を取得するため、メールヘッダーを含むメール全体のサイズ情報、メールヘッダーのサイズ情報、及びメール本体に含まれる各構成要素(例えば、件名及び本文)のサイズ情報を要求するための複数のメッセージを、サーバーに対して送信する。これらのメッセージが、UIDを指定して通信検査装置20からサーバー宛に送信され、サーバーから送信された応答を受信することで、通信検査装置20は、指定されたUIDに係るメール全体の構成情報を得ることができる。構成情報を取得するために通信検査装置20からサーバー宛に送信されるメッセージと、サーバーから応答される内容との対応関係は、以下の通りである。
UID FETCH 1 RFC822.HEADER:メールヘッダー及びそのサイズ情報
UID FETCH 1 FULL :メールの全情報およびメールのサイズ情報
UID FETCH 1 BODY[header.fields (subject) ] :SUBJECT及びそのサイズ情報
その後、処理はステップS107へ進む。
ステップS107では、UID及び構成情報が保存される。CPU11は、ステップS106で取得された構成情報(ヘッダーのサイズ情報、SUBJECTのサイズ情報、メール全体のサイズ情報及びメール全体の構造)を、対応するUIDに関連付けてRAM13または記憶装置14等に保存する。ここで保存されたUID及び対応する構成情報は、クライアント90から送信された他のFETCHメッセージが受信された際のメッセージ処理において、ステップS105で参照される。その後、処理はステップS108へ進む。
ステップS108では、FETCHメッセージが送信される。要求送信部24は、ステップS101で取得されたFETCHメッセージの宛先に設定されていたサーバーに接続し、ステップS101で取得されたFETCHメッセージを、サーバーに送信する。即ち、通信検査装置20は、クライアント90に代わって、サーバーに対するデータ要求を行う。この際、要求送信部24は、ステップS101で取得されたFETCHメッセージに指定されていたUID、ステップS104で取得されたUID、または通信検査装置20が保持していたUIDを指定したFETCHメッセージを送信してもよい。また、要求送信部24は、ステップS101で受信されたメッセージをそのままサーバーに転送してもよいし、必要に応じて送信元IPアドレスを通信検査装置20のIPアドレスに変換してからサーバーに送信してもよい。その後、処理はステップS109へ進む。
ステップS109では、サーバーから送信されたデータが受信される。応答取得部25は、ステップS108で送信されたFETCHメッセージへの応答メッセージとしてサーバーから送信された、データ及び当該データの構成情報を含む応答メッセージを、クライアント90に到達する前に取得する。この時点において、通信検査装置20は、クライアント90の要求に係るデータを、クライアント90には送信しない。なお、応答メッセージは複数パケットに分けて取得される場合があるが、検査部27による応答メッセージに含まれるデータの検査は、複数のパケットの全て受信される前に開始されてもよい。その後、処理はステップS110へ進む。
ステップS110及びステップS111では、FETCHメッセージによって取得されたデータがUIDのみであった場合に、取得されたUIDが保存される。ステップS110における具体的な判定内容はステップS102と同様であるため、説明を省略する。ステップS108で取得されたデータがUIDのみである場合、CPU11は、当該UIDをRAM13または記憶装置14等に保存する(ステップS111)。ここで保存されたUIDは、クライアント90から送信された他のFETCHメッセージが受信された際に、ステップS105で参照される。
そして、取得されたデータがUIDのみである場合、検査は不要であるため、ステップS112からステップS115の処理はスキップされ、処理はステップS116へ進む。一方、要求されたデータがUID以外のデータを含む場合、その応答として受信されたデータを検査する必要があるため、処理はステップS112へ進む。
ステップS112では、構成情報が改変される。構成情報改変部26は、ステップS106で取得されたメール全体の構成情報、及びステップS109で取得されたデータの構成情報を、互いの整合性を維持したまま改変する。本実施形態に示す例では、構成情報改変部26は、メール全体の構成情報のうち、メールの件名のサイズ情報を所定量分(例えば、10バイト)増加させる改変を行う。更に、これに伴って、構成情報改変部26は、メール全体の構成情報を、件名のサイズ情報の増加に合わせて調整する改変を行う。具体的には、構成情報改変部26は、メール全体のサイズ情報を所定量分(例えば、10バイト)増加させる改変を行う。その後、処理はステップS113およびステップS114へ進む。
ステップS113では、受信されたデータが検査される。検査部27は、ステップS109で取得されたデータが、クライアント90への転送が許可されるコンテンツであるか否かを、予め定められた検査項目に従って検査する。なお、検査結果は、対応するUIDに関連付けてRAM13または記憶装置14等に保存される。その後、処理はステップS115へ進む。
ステップS114では、応答メッセージの一部が送信される。データ送信部29は、ステップS113の検査が行われている間、改変後の構成情報またはデータの少なくとも一部を、クライアント90に送信する。本ステップにおける構成情報/データの一部送信処理は、クライアント90におけるデータの受信待ち時間がタイムアウトしない間隔で、検査が終了するまで繰り返される。この場合、検査中に送信される構成情報にはデータのサイズ情報等も含まれるが、サイズ情報はステップS112で改変済みであるため、クライアントに送信しても問題ない。検査が終了した場合、処理はステップS115へ進む。
より具体的には、データ送信部29は、改変後の構成情報を、前方から順に所定のバイト数または所定の行数ずつ切り出して、所定の時間ごとに送信する、このような処理を行うことで、データの検査中に、クライアント90におけるデータ待受時間がタイムアウトすることを防止できる。例えば、ある種のクライアント90では、1行受信するごとにデータ待受時間をリセットする(換言すれば、改行コードが受信されるまでデータ待受時間がリセットされない)ため、データ送信部29は、検査中、応答メッセージを少なくとも1行ずつ送信する。
なお、検査に長い時間がかかる場合、構成情報のみではタイムアウト防止のために送信するデータが不足する可能性がある。この場合、データ送信部29は、検査済みのデータ本体を少しずつ順に送信してもよいし、宛先に受信されるコンテンツを確定させない構成情報(例えば、名称が「X-」から始まる、自由に追加できるメールヘッダー。以下、「Xヘッダー」と称する)を新たに生成して送信してもよい。但し、構成情報にXヘッダー等を追加する場合、追加するXヘッダーの量に応じた構成情報の改変を、ステップS112において事前に行っておく必要がある。この場合、ステップS109で構成情報およびデータを含む応答メッセージを取得した後、取得された構成情報およびデータのサイズおよび検査部27の処理能力に基づいて検査に必要な時間を算出し、必要な検査時間に応じて、生成すべきXヘッダーの量を算出することが好ましい。
ステップS115では、データ本体が改変される。データ改変部28は、検査部27による検査結果に応じてデータを改変する。具体的には、データ改変部28は、検査結果をユーザーに通知するために、メールの件名を改変する。
本実施形態では、サイズ情報を所定量分(ここでは10バイトとして説明する)増加させる改変が行われている。このため、例えば、検査の結果、メールがフィッシングメールであると判定された場合、件名に、「[PHISHING]」という10バイト分の文字列を追加する改変を行う。また、検査の結果、メールがスパムメールであると判定された場合、件名に、「[SPAM]」の6バイト及び4バイトの空白、合わせて10バイト分の文字列を追加する改変を行う。ステップS112で予め件名データのサイズ情報を10バイト増加させる改変を行っているため、以降クライアント90へ当該UIDに関して送信されるデータの構成情報を改変後のものとすることで、クライアント90においてメール全体の構成情報を矛盾させることなく、情報の追加を行うことができる。なお、検査の結果、データに何も問題がなく、そのままクライアント90へ送信されて良いデータであるとの検査結果が得られた場合にも、構成情報は10バイト分増加済みであるため、10バイト分の空白を件名に追加する改変が行われる。
データ改変部28は、検査結果をユーザーに通知するために、メールヘッダーを改変してもよい。例えば、メールヘッダーであれば、自由に追加できるXヘッダーを利用して、「X-SPAM-CORE: 111/222 Rating 5」のように、より詳細な検査結果を付すことも可能である(例えば、例示したXヘッダーは、閾値222のうちスパムらしさのポイントが111であり、危険度が5であることを示している)。この場合、ステップS112において、メールヘッダーのサイズ情報を、予め必要なバイト数分増加させる改変を行えばよい。
また、データ改変部28は、データが有害なデータであり、クライアント90への転送が許可されないとの検査結果であった場合に、当該データを無害化する改変等を行ってもよい。データ改変部28は、例えば、データの一部または全部を、クライアント90が受信してよいデータで置換することで、データを無害化することが出来る。その後、処理はステップS116へ進む。
ステップS116では、クライアント90宛に応答メッセージの未送信部分が送信される。データ送信部29は、ステップS101で取得されたクライアント90からサーバー宛のFETCHメッセージへの応答メッセージを、クライアント90に対して送信する。
ここで、FETCHメッセージの要求対象がUIDであった場合(ステップS110のYES)、データ送信部29は、応答メッセージとしてのUIDをそのままクライアントに対して送信する。
一方、FETCHメッセージの要求対象がUID以外のデータを含む場合、データ送信部29は、ステップS115での改変後のデータ及びステップS112での改変後の当該データの構成情報を含む応答メッセージの未送信部分(即ち、ステップS114で送信済みの部分を除いた応答メッセージ)を、クライアントに対して送信する。その後、本フローチャートに示された処理は終了する。
図6は、本実施形態において上記説明したメッセージ処理を実行した場合の通信の流れを示す図である。クライアントがデータ要求メッセージ(FETCH 1 BODY)を送信すると、はこれを取得し(ステップS101)、サーバーから対象メールのUID、メールヘッダーサイズ情報、メールサイズ情報及びSUBJECTサイズ情報、即ち、メール全体の構成情報を取得する(ステップS106)。
メール全体の構成情報が取得されると、通信検査装置20は、クライアントが要求するデータを取得するためのデータ要求メッセージ(FETCH 1 BODY)をサーバーに送信する(ステップS108)。そして、通信検査装置20は、要求されたデータ及び構成情報をサーバーから受信すると、検査を開始し(ステップS113)、検査中にはクライアント側でのセッションタイムアウトを防止するために改変済みの構成情報を少しずつ送信する(ステップS114)。ここで送信される構成情報は、改変済(ステップS112)の構成情報である。検査が終了すると、通信検査装置20は、検査結果に応じて改変(ステップS115)したデータを、未送信の構成情報とともにクライアントへ送信する(ステップS116)。
なお、本実施形態では、本発明をIMAPにおいて用いる例について説明したが、本発明を適用可能なプロトコルは、本実施形態における開示に限定されない。本発明は、データの構成を確定させる情報がデータと併せて送受信されるプロトコル全般に適用することが可能である。
1 システム
20 通信検査装置
90 クライアント

Claims (13)

  1. クライアントからサーバー宛に送信されたデータ要求メッセージを取得する要求取得手段と、
    前記データ要求メッセージとは異なるメッセージを前記サーバーに送信することで、該データ要求メッセージによる要求の対象データを含むデータセットの構成情報を前記サーバーから取得する構成情報取得手段と、
    前記データ要求メッセージに応じて前記サーバーから送信された、データ及び該データの構成情報を含む応答メッセージを、前記クライアントに代わって取得する応答取得手段と、
    前記データセットの構成情報及び前記データの構成情報を、互いの整合性を維持したまま改変する構成情報改変手段と、
    前記構成情報改変手段による改変後の前記データの構成情報に合致するように前記データを改変するデータ改変手段と、
    前記クライアントから前記サーバー宛に送信されたデータ要求メッセージへの応答として、前記データ改変手段による改変後のデータ及び前記構成情報改変手段による改変後の該データの構成情報を含む応答メッセージを、該クライアントに対して送信するデータ送信手段と、
    を備える情報処理装置。
  2. 前記構成情報改変手段は、前記データの構成情報のうち、該データのサイズ情報を増加させる改変を行い、更に、前記データセットの構成情報を、増加した前記データのサイズ情報に合わせて調整する改変を行う、
    請求項1に記載の情報処理装置。
  3. 前記データ改変手段は、前記構成情報改変手段によって増加されたサイズ分の情報を前記データに追加する改変を行う、
    請求項2に記載の情報処理装置。
  4. 前記データを検査する検査手段を更に備え、
    前記データ改変手段は、前記検査手段による検査結果に応じて前記データを改変する、
    請求項1から3の何れか一項に記載の情報処理装置。
  5. 前記データ改変手段は、前記検査手段による検査結果をユーザーに通知するための情報を前記データに追加する改変を行う、
    請求項4に記載の情報処理装置。
  6. 前記検査手段は、該データが前記クライアントへの転送が許可されるデータであるか否かを検査し、
    前記データ改変手段は、前記検査手段による検査結果が、該データが前記クライアントへの転送が許可されるデータではないという検査結果であった場合に、前記データを、クライアントが受信してよいデータで置換する改変を行う、
    請求項4または5に記載の情報処理装置。
  7. 前記要求取得手段によってクライアントからサーバー宛に送信されたデータ要求メッセージが取得された後、前記サーバーに対して、前記クライアントに代わって前記データ要求メッセージを送信する要求送信手段を更に備え、
    前記応答取得手段は、前記要求送信手段によって送信されたデータ要求メッセージに応じて前記サーバーから送信された応答メッセージを取得する、
    請求項1から6の何れか一項に記載の情報処理装置。
  8. 前記構成情報取得手段は、対象データを含むデータセットに固有の識別子を指定して、前記データセットの構成情報を前記サーバーから取得する、
    請求項1から7の何れか一項に記載の情報処理装置。
  9. 前記データ要求メッセージが要求の対象データを含むデータセットの識別子を指定しないメッセージである場合に、前記サーバーから該データセットの識別子を取得する識別子取得手段を更に備え、
    前記構成情報取得手段は、前記識別子取得手段によって取得された前記識別子を指定して、前記データセットの構成情報を前記サーバーから取得する、
    請求項8に記載の情報処理装置。
  10. 前記データ送信手段は、前記検査手段による検査が行われている間、改変後の前記構成情報の少なくとも一部を前記クライアントに送信し、前記検査手段による前記データの検査が完了した後に、未送信部分を前記クライアントに送信する、
    請求項4から6の何れか一項に記載の情報処理装置。
  11. 前記データ送信手段は、前記クライアントにおける前記データの受信待ち時間がタイムアウトしない間隔で、改変後の前記構成情報の少なくとも一部を該クライアントに送信する、
    請求項10に記載の情報処理装置。
  12. コンピューターが、
    クライアントからサーバー宛に送信されたデータ要求メッセージを取得する要求取得ステップと、
    前記データ要求メッセージとは異なるメッセージを前記サーバーに送信することで、該データ要求メッセージによる要求の対象データを含むデータセットの構成情報を前記サーバーから取得する構成情報取得ステップと、
    前記データ要求メッセージに応じて前記サーバーから送信された、データ及び該データの構成情報を含む応答メッセージを、前記クライアントに代わって取得する応答取得ステップと、
    前記データセットの構成情報及び前記データの構成情報を、互いの整合性を維持したまま改変する構成情報改変ステップと、
    前記構成情報改変ステップにおける改変後の前記データの構成情報に合致するように前記データを改変するデータ改変ステップと、
    前記クライアントから前記サーバー宛に送信されたデータ要求メッセージへの応答として、前記データ改変ステップにおける改変後のデータ及び前記構成情報改変ステップにおける改変後の該データの構成情報を含む応答メッセージを、該クライアントに対して送信するデータ送信ステップと、
    を実行する方法。
  13. コンピューターを、
    クライアントからサーバー宛に送信されたデータ要求メッセージを取得する要求取得手段と、
    前記データ要求メッセージとは異なるメッセージを前記サーバーに送信することで、該データ要求メッセージによる要求の対象データを含むデータセットの構成情報を前記サーバーから取得する構成情報取得手段と、
    前記データ要求メッセージに応じて前記サーバーから送信された、データ及び該データの構成情報を含む応答メッセージを、前記クライアントに代わって取得する応答取得手段と、
    前記データセットの構成情報及び前記データの構成情報を、互いの整合性を維持したまま改変する構成情報改変手段と、
    前記構成情報改変手段による改変後の前記データの構成情報に合致するように前記データを改変するデータ改変手段と、
    前記クライアントから前記サーバー宛に送信されたデータ要求メッセージへの応答として、前記データ改変手段による改変後のデータ及び前記構成情報改変手段による改変後の該データの構成情報を含む応答メッセージを、該クライアントに対して送信するデータ送信手段と、
    として機能させるプログラム。
JP2016222515A 2016-11-15 2016-11-15 情報処理装置、方法およびプログラム Active JP6836773B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016222515A JP6836773B2 (ja) 2016-11-15 2016-11-15 情報処理装置、方法およびプログラム
US15/811,512 US10645042B2 (en) 2016-11-15 2017-11-13 Information processing apparatus, method and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016222515A JP6836773B2 (ja) 2016-11-15 2016-11-15 情報処理装置、方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2018082271A JP2018082271A (ja) 2018-05-24
JP6836773B2 true JP6836773B2 (ja) 2021-03-03

Family

ID=62108939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016222515A Active JP6836773B2 (ja) 2016-11-15 2016-11-15 情報処理装置、方法およびプログラム

Country Status (2)

Country Link
US (1) US10645042B2 (ja)
JP (1) JP6836773B2 (ja)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030140112A1 (en) * 1999-11-04 2003-07-24 Satish Ramachandran Electronic messaging system method and apparatus
US6785732B1 (en) * 2000-09-11 2004-08-31 International Business Machines Corporation Web server apparatus and method for virus checking
US9503280B2 (en) * 2003-03-17 2016-11-22 Accellion Pte Ltd. Methods and systems for email integrated file delivery
EP1770943A1 (en) * 2005-09-30 2007-04-04 France Telecom S.A. Method and system for an e-mail service in communication networks
GB2456454B (en) * 2006-11-15 2011-06-01 Ericsson Telefon Ab L M A method and arrangement for delivering electronic messages
JP5124527B2 (ja) 2009-05-26 2013-01-23 株式会社日立製作所 メール中継装置
US20130290079A1 (en) * 2012-04-27 2013-10-31 Viraj Chavan Systems and methods for insertion of content into an email over imap
US20140164529A1 (en) * 2012-12-07 2014-06-12 Linkedln Corporation Communication systems and methods
KR101729637B1 (ko) * 2013-06-26 2017-04-24 후아웨이 테크놀러지 컴퍼니 리미티드 네트워크 장치 및 이메일 요구 처리 방법
JP6598188B2 (ja) 2015-02-27 2019-10-30 株式会社エヴリカ 情報処理装置、方法およびプログラム

Also Published As

Publication number Publication date
US20180139159A1 (en) 2018-05-17
US10645042B2 (en) 2020-05-05
JP2018082271A (ja) 2018-05-24

Similar Documents

Publication Publication Date Title
EP3338396B1 (en) Device and method for establishing connection in load-balancing system
US10645145B2 (en) Method and apparatus for accelerating data transmission in a network communication system
CN110740010B (zh) 在CPL网络上传输LoRa帧的装置以及相关系统和方法
CN110519265B (zh) 一种防御攻击的方法及装置
JP4163697B2 (ja) 負荷分散システム、実サーバ及び負荷分散方法
CN107547505B (zh) 一种报文处理方法及装置
CN112165447B (zh) 基于waf设备的网络安全监测方法、系统和电子装置
CN104717101A (zh) 深度包检测方法和系统
JP6598188B2 (ja) 情報処理装置、方法およびプログラム
CN110247926B (zh) 一种交互方法和系统
CN113259490B (zh) 基于udp传输协议的多级节点网络数据传输方法
CN105991353A (zh) 故障定位的方法和装置
US20160191368A1 (en) Information processing device, method, and medium
JP6836773B2 (ja) 情報処理装置、方法およびプログラム
CN110912904B (zh) 恶意设备识别方法、装置、存储介质和计算机设备
CN110166518B (zh) 会话信息的传输方法、装置、存储介质及电子装置
JP5531064B2 (ja) 通信装置、通信システム、通信方法、および、通信プログラム
CN109525682B (zh) 业务处理方法、装置、网元实体及计算机可读存储介质
CN106961393B (zh) 网络会话中udp报文的检测方法及装置
CN112217659A (zh) Sd-wan系统添加客户终端设备的方法及系统
JP5925287B1 (ja) 情報処理装置、方法およびプログラム
CN109688204B (zh) 基于ndn网络的文件下载方法、节点、终端
CN113872949A (zh) 一种地址解析协议的应答方法及相关装置
JP6529033B2 (ja) 情報処理装置、方法およびプログラム
CN111865884A (zh) 一种报文处理方法、装置及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200804

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210125

R150 Certificate of patent or registration of utility model

Ref document number: 6836773

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350