JP6768530B2 - 情報処理装置及びプログラム - Google Patents

情報処理装置及びプログラム Download PDF

Info

Publication number
JP6768530B2
JP6768530B2 JP2016575986A JP2016575986A JP6768530B2 JP 6768530 B2 JP6768530 B2 JP 6768530B2 JP 2016575986 A JP2016575986 A JP 2016575986A JP 2016575986 A JP2016575986 A JP 2016575986A JP 6768530 B2 JP6768530 B2 JP 6768530B2
Authority
JP
Japan
Prior art keywords
unit
file
server
execution
electronic data
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
JP2016575986A
Other languages
English (en)
Other versions
JPWO2018123061A1 (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 デジタルア−ツ株式会社
Publication of JPWO2018123061A1 publication Critical patent/JPWO2018123061A1/ja
Application granted granted Critical
Publication of JP6768530B2 publication Critical patent/JP6768530B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms

Description

本発明は、情報処理装置及びプログラムに関する。
不審な添付ファイルが含まれる電子メールを受信した場合に、当該電子メールをウイルス検査用のコンピュータに転送するウイルス検査システムが知られている(例えば、特許文献1〜10を参照。)。
[先行技術文献]
[特許文献]
特許文献1 特開2002−328874号公報
特許文献2 特開2002−366487号公報
特許文献3 特開2003−169096号公報
特許文献4 特開2004−038273号公報
特許文献5 特開2004−133503号公報
特許文献6 特開2005−038361号公報
特許文献7 特開2005−157598号公報
特許文献8 特開2005−352823号公報
特許文献9 特開2007−299110号公報
特許文献10 特開2016−181185号公報
解決しようとする課題
コンピュータにウイルス検査ソフトが導入されていても、日々新たに生成される未知のウイルスを検出することは難しい。
一般的開示
本発明の第1の態様においては、情報処理装置が提供される。上記の情報処理装置は、例えば、電子データの操作に関する命令を取得する命令取得部を備える。上記の情報処理装置は、命令取得部が命令を取得した場合に、電子データの操作を実行すべき実行環境との間に遠隔操作可能な通信経路を確立し、実行環境上で電子データの操作を実行させるための実行指示を、遠隔操作可能な通信経路を介して実行環境に送信する遠隔操作部を備えてよい。上記の情報処理装置は、命令取得部が命令を取得した場合に、電子データ又は予め定められたアルゴリズムに基づいて変換された電子データを実行環境に送信するデータ送信部を備えてよい。上記の情報処理装置は、予め定められた期間、電子データ又は予め定められたアルゴリズムに基づいて変換された電子データを記憶する実行履歴格納部を備えてよい。上記の情報処理装置は、実行履歴格納部に格納された電子データ又は予め定められたアルゴリズムに基づいて変換された電子データを走査して、マルウエアを検出するマルウエア検出部を備えてよい。
上記の情報処理装置において、マルウエア検出部は、予め定められた期間の間に、マルウエアを検出するための処理を複数回実行してよい。上記の情報処理装置において、データ送信部は、命令取得部が命令を取得した場合に、電子データ又は予め定められたアルゴリズムに基づいて変換された電子データを、実行環境及び実行履歴格納部に送信してよい。上記の情報処理装置において、実行環境は、電子データの操作を実行した後、実行後の電子データを実行履歴格納部に送信してよい。
上記の情報処理装置は、予め定められた期間が満了するまで、電子データの操作を制限する制限部を備えてよい。上記の情報処理装置は、電子データが他の情報処理装置に送信された場合、他の情報処理装置の識別情報を記憶する送信履歴格納部を備えてよい。上記の情報処理装置は、マルウエア検出部がマルウエアを検出した場合、送信履歴格納部に格納された他の情報処理装置の識別情報を参照して、他の情報処理装置に、電子データがマルウエアに感染していたことを通知する通知部を備えてよい。
本発明の第2の態様においては、情報処理装置が提供される。上記の情報処理装置は、例えば、電子データにアクセスするための命令を取得する命令取得部を備える。上記の情報処理装置は、命令取得部が命令を取得した場合に、電子データにアクセスするための処理を実行すべき実行環境との間に遠隔操作可能な通信経路を確立し、実行環境上で電子データにアクセスするための処理を実行させるための実行指示を、遠隔操作可能な通信経路を介して実行環境に送信する遠隔操作部を備えてよい。上記の情報処理装置は、予め定められた期間、電子データのアドレス、又は、電子データ若しくは予め定められたアルゴリズムに基づいて変換された電子データを記憶するアクセス履歴格納部を備えてよい。上記の情報処理装置は、(i)アクセス履歴格納部に格納されたアドレスにアクセスしてマルウエアを検出する、又は、(ii)アクセス履歴格納部に格納された電子データ若しくは予め定められたアルゴリズムに基づいて変換された電子データを走査して、マルウエアを検出するマルウエア検出部を備えてよい。
上記の情報処理装置において、マルウエア検出部は、予め定められた期間の間に、マルウエアを検出するための処理を複数回実行してよい。上記の情報処理装置は、予め定められた期間が満了するまで、電子データへのアクセスを制限する制限部を備えてよい。上記の情報処理装置は、他の情報処理装置から、電子データにアクセスしたことを示す情報を取得するアクセス情報取得部を備えてよい。上記の情報処理装置は、電子データにアクセスした他の情報処理装置の識別情報を記憶するアクセス情報格納部を備えてよい。上記の情報処理装置は、マルウエア検出部がマルウエアを検出した場合、アクセス情報格納部に格納された他の情報処理装置の識別情報を参照して、他の情報処理装置に、電子データがマルウエアに感染していたことを通知する通知部を備えてよい。
第1の態様又は第2の態様に係る情報処理装置は、マルウエア検出部によるマルウエアの検出状況に関するレポートを作成するレポート作成部を備えてよい。第1の態様又は第2の態様に係る情報処理装置は、実行環境を削除する削除部を備えてよい。第1の態様又は第2の態様に係る情報処理装置は、実行環境のスナップショットを準備するスタンバイ部を備えてよい。第1の態様又は第2の態様に係る情報処理装置は、実行環境を、実行環境のスナップショットへと戻すクリーンナップ部を備えてよい。第1の態様又は第2の態様に係る情報処理装置において、遠隔操作部と、実行環境とが、同一の物理マシン上で実現されてよい。
本発明の第3の態様においては、プログラムが提供される。上記のプログラムは、コンピュータを、第1の態様又は第2の態様に係る情報処理装置として機能させるためのプログラムであってよい。上記のプログラムを格納した記憶媒体が提供されてもよい。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
ファイル転送システム100の一例を概略的に示す。 メールシステム110の一例を概略的に示す。 電子ファイル処理部228の一例を概略的に示す。 実行サーバ120の一例を概略的に示す。 ファイル転送システム100における処理の一例を概略的に示す。 ファイル転送システム100における処理の一例を概略的に示す。 電子ファイル処理部728の一例を概略的に示す。 ファイル転送システム100における処理の一例を概略的に示す。 メールシステム910の一例を概略的に示す。 ファイル転送システム100における処理の一例を概略的に示す。 ファイル転送システム100における処理の一例を概略的に示す。 ファイル転送システム1200の一例を概略的に示す。 ファイル転送システム1200における処理の一例を概略的に示す。 ファイル処理システム1400の一例を概略的に示す。 ファイル処理システム1400における処理の一例を概略的に示す。 ファイル処理システム1400における処理の他の一例を概略的に示す。 ファイル処理システム1400におけるファイルの保存処理の一例を概略的に示す。 メールシステム1700の一例を概略的に示す。 メールシステム1700における処理の一例を概略的に示す。 メールシステム1700のシステム構成の別の例を概略的に示す。 物理マシン1900のシステム構成の一例を概略的に示す。 仮想マシン1910及び仮想マシン1920のシステム構成の一例を概略的に示す。 データ管理ソフト2132の実行により実現されるシステムの他の例を概略的に示す。 仮想マシン1926により実現されるシステムの一例を概略的に示す。 物理マシン1900のシステム構成の他の例を概略的に示す。 物理マシン1900のシステム構成のさらに他の例を概略的に示す。 データ管理ソフト2132の実行により実現されるシステムの他の例を概略的に示す。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、図面において、同一または類似の部分には同一の参照番号を付して、重複する説明を省く場合がある。特定の実施形態において説明した技術事項は、技術的に矛盾を生じない限りにおいて、他の実施形態に適用することができる。
図1は、ファイル転送システム100の一例を概略的に示す。本実施形態において、ファイル転送システム100は、メールシステム110と、実行サーバ120とを備える。メールシステム110は、メールサーバ112と、クライアント端末114とを有する。本実施形態において、メールシステム110及び実行サーバ120は、ネットワーク10を介して情報を送受する。ファイル転送システム100、メールシステム110、メールサーバ112、クライアント端末114及び実行サーバ120は、情報処理装置の一例であってよい。実行サーバ120は、実行環境の一例であってよい。ネットワーク10は、通信回線の一例であってよい。
ファイル転送システム100の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウエア及びソフトウエアの組み合わせにより実現されてもよい。また、プログラムが実行されることにより、コンピュータがファイル転送システム100の少なくとも一部として機能してもよい。プログラムは、CD−ROM、DVD−ROM、メモリ、ハードディスクなどのコンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。プログラムは、コンピュータ読み取り可能な媒体又はネットワークに接続された記憶装置から、ファイル転送システム100の少なくとも一部を構成するコンピュータにインストールされてよい。
コンピュータをファイル転送システム100の少なくとも一部として機能させるプログラムは、ファイル転送システム100の各部の動作を規定したモジュールを備えてよい。これらのプログラム又はモジュールは、プロセッサ、通信インターフェース、記憶装置等に働きかけて、コンピュータをファイル転送システム100の各部として機能させたり、コンピュータにファイル転送システム100における情報処理方法を実行させたりする。
上記のプログラムに記述された情報処理は、コンピュータに読込まれることにより、ソフトウエアと、ファイル転送システム100の各種のハードウエア資源とが協働した具体的手段として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータの使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じたファイル転送システム100を構築することができる。
ファイル転送システム100の各部は、仮想サーバ又はクラウドシステムによって実現されてもよい。ファイル転送システム100の各部は、同一ネットワーク上に構築されてもよく、異なるネットワーク上に構築されてもよい。ファイル転送システム100の各部は、同一の物理サーバ上に構築されてもよく、異なる物理サーバ上に構築されてもよい。
ファイル転送システム100は、ネットワーク10を介して、他の端末20と情報を送受する。一実施形態において、ファイル転送システム100は、他の端末20から受信した電子データに電子ファイルが含まれる場合、メールシステム110において当該電子ファイルを抽出し、抽出された電子ファイルをメールシステム110から実行サーバ120に転送する。抽出された電子ファイルは、アクセス又は操作に関する命令の対象となる電子データの一例であってもよい。
本実施形態において、電子ファイルは実行サーバ120上で実行される。これにより、電子ファイルがウイルスに感染していた場合であっても、メールシステム110がウイルスに感染することを防止できる。また、例えば、メールシステム110側の端末で受信できる電子データのサイズが制限されており、当該端末において電子ファイルを受信できない場合、当該端末の記憶装置の容量が小さくて電子ファイルを受信できない場合、又は、当該端末に電子ファイルを実行可能なアプリケーションがインストールされておらず、電子ファイルを実行することができない場合であっても、電子データの受信者は、電子ファイルを閲覧することができる。
他の実施形態において、ファイル転送システム100は、他の端末20に送信する電子データに電子ファイルが含まれる場合、メールシステム110において当該電子ファイルを抽出し、抽出された電子ファイルをメールシステム110から実行サーバ120に転送する。また、メールシステム110は、転送された電子ファイルのURIを他の端末20に通知する。これにより、他の端末20のユーザが、実行サーバ120に転送された電子ファイルにアクセスすることができる。
本実施形態において、電子ファイルは実行サーバ120上で実行される。これにより、電子ファイルがウイルスに感染していた場合であっても、他の端末20がウイルスに感染することを防止できる。また、他の端末20に送信する電子データのサイズを小さくすることができる。その結果、例えば、他の端末20で受信できる電子データのサイズが制限されており、他の端末20において電子ファイルを受信できない場合、他の端末20の記憶装置の容量が小さくて電子ファイルを受信できない場合、又は、他の端末20に当該電子ファイルを実行可能なアプリケーションがインストールされておらず、電子ファイルを実行することができない場合であっても、他の端末20のユーザは、電子ファイルを閲覧することができる。
上記のとおり、ファイル転送システム100によれば、電子ファイルが、ウイルス検査ソフトの対応していない新種のウイルスに感染していた場合であっても、安全に電子ファイルを実行することができる。また、ファイル転送システム100によれば、サポート期限の途過したOSを使用しているコンピュータが、電子ファイルを含む電子データを取得した場合であっても、安全に電子ファイルを実行することができる。
なお、電子ファイルとしては、実行ファイル、アプリケーションによって実行されるアプリケーションファイル、スクリプトなどを例示することができる。アプリケーションファイルとしては、テキストファイル、Wordファイル、PDFファイル、JPEGファイルなどを例示することができる。また、電子ファイルを実行するとは、実行形式のファイルを実行することだけでなく、電子ファイルの閲覧、印刷、編集、複製、移動、送信、保存、ファイル形式の変換、電子ファイルの内容のクリップボードへのコピー、画面のキャプチャ、電子ファイルを所定のアプリケーションを用いて開くこと、電子ファイルに対して所定のアプリケーションを用いて処理を行うこと等、電子ファイルに対して行われるいかなる処理も含むことができる。
ネットワーク10は、有線通信の伝送路であってもよく、無線通信の伝送路であってもよく、それらの組み合わせであってもよい。ネットワーク10は、インターネット、専用回線、無線通信網又はそれらの組み合わせであってもよい。
他の端末20は、ファイル転送システム100と情報を送受することができる装置であればよく、パーソナルコンピュータ、携帯端末、無線端末、家電などであってよい。携帯端末としては、携帯電話、スマートホン、PDA、タブレット、ウェアラブルデバイス、ノートブック・コンピュータ又はラップトップ・コンピュータなどを例示することができる。
他の端末20は、CPU、ROM、RAM、通信インターフェース等を有するデータ処理装置と、キーボード、タッチパネル、マイクなどの入力装置と、表示装置、スピーカ、振動装置などの出力装置と、メモリ、HDDなどの記憶装置とを備えた一般的な構成の情報処理装置において、他の端末20のそれぞれの各部の動作を規定したソフトウエアを起動することにより実現されてよい。他の端末20は、仮想サーバ又はクラウドシステムによって実現されてもよい。
メールサーバ112は、ネットワーク10を介して他の端末20と電子メールを送受する。電子メールは添付ファイルを含んでよい。電子メールは、電子データの一例であってよい。添付ファイルは電子ファイルの一例であってよい。
メールサーバ112は、他の端末20から、クライアント端末114を宛先とする電子メールを受信する。メールサーバ112は、受信した電子メールに添付ファイルが含まれている場合、電子メールから添付ファイルを抽出する。メールサーバ112は、抽出された添付ファイルを実行サーバ120に送信する。また、メールサーバ112は、他の端末20から電子メールを受信したこと示す通知データを作成して、クライアント端末114に送信する。
メールサーバ112は、クライアント端末114から、他の端末20を宛先とする電子メールを受信する。メールサーバ112は、受信した電子メールに添付ファイルが含まれている場合、電子メールから添付ファイルを抽出する。メールサーバ112は、抽出された添付ファイルを実行サーバ120に送信する。また、メールサーバ112は、クライアント端末114から電子メールを受信したこと示す通知データを作成して、他の端末20に送信する。
メールサーバ112は、抽出した添付ファイルを実行サーバ120に送信する前に、添付ファイルを変換してよい。メールサーバ112は、変換後の添付ファイルを実行サーバ120に送信してよい。変換後の添付ファイルは、電子ファイルに関連するファイルの一例であってよい。
メールサーバ112は、変換前の添付ファイルと比較して、クライアント端末114上での実行が困難になるように、添付ファイルを変換してよい。添付ファイルの変換処理としては、添付ファイルの形式、拡張子若しくは名称を変更する処理、添付ファイルを暗号化する処理、添付ファイルの構造を変換する処理などを例示することができる。
通知データは、抽出された添付ファイルへのアクセス情報を含んでよい。添付ファイルへのアクセス情報は、添付ファイル又は変換後の添付ファイルのURIであってよい。添付ファイル又は変換後の添付ファイルのURIは、添付ファイル又は変換後の添付ファイルの実行サーバ120における格納場所を示すURLであってよい。添付ファイルへのアクセス情報は、送信先識別データ及び実行環境識別データの少なくとも一方の一例であってよい。
添付ファイルへのアクセス情報は、コンピュータに、当該コンピュータと、添付ファイル又は変換後の添付ファイルを格納している他のコンピュータとの間に通信経路を確立する手順を実行させるための遠隔操作プログラムであってもよい。遠隔操作プログラムは、実行ファイルであってもよく、コンピュータに予めインストールされた遠隔操作用のアプリケーションのアプリケーションファイルであってもよい。遠隔操作プログラムは、スクリプトであってもよい。上記の通信経路は、遠隔操作プログラムを実行するコンピュータから、添付ファイル又は変換後の添付ファイルを格納している他のコンピュータを遠隔操作可能な通信経路であってよい。
遠隔操作プログラムは、コンピュータに、上記の他のコンピュータ上で添付ファイルを実行させるための実行指示を、遠隔操作可能な通信経路を介して当該他のコンピュータに送信する手順を更に実行させるためのプログラムであってよい。遠隔操作プログラムは、コンピュータに、上記の他のコンピュータ上で変換後の添付ファイルを変換前の添付ファイルに戻す処理を実行させるための指示を、遠隔操作可能な通信経路を介して当該他のコンピュータに送信する手順を更に実行させるためのプログラムであってもよい。
一実施形態によれば、メールサーバ112は、添付ファイルのファイル形式を、添付ファイルを作成したアプリケーションのファイル形式から、遠隔操作用のアプリケーションのファイル形式に変換する。クライアント端末114は、例えば、電子ファイルのファイル形式又は拡張子と、当該ファイル形式又は拡張子に関連付けられた電子ファイルをクライアント端末114上で実行するか否かを示す情報とを対応付けて格納している。クライアント端末114は、例えば、OSによる関連付け情報の変更の実施と、ユーザによる関連付け情報の変更を検出し、関連付け情報の再変更を行う。上記の関連付け情報は、例えば、電子ファイルのファイル形式又は拡張子と、当該電子ファイルを利用可能なアプリケーションとを関連付ける情報である。また、クライアント端末114は、OSによる実行ファイルの起動を監視して、実行ファイルの起動を検出してもよい。ファイル形式の変換処理、又は、拡張子の変換処理は、予め定められたアルゴリズムの一例であってよい。ファイル形式又は拡張子が変換された電子ファイルは、予め定められたアルゴリズムに基づいて変換された電子データの一例であってよい。
これにより、例えば、クライアント端末114が、ファイル形式の変換された添付ファイルの実行指示を受け付けた場合に、クライアント端末114上でファイル形式の変換された添付ファイルを実行することができる。ファイル形式の変換された添付ファイルがクライアント端末114上で実行されると、クライアント端末114に予めインストールされていた遠隔操作用のアプリケーションが起動する。
ファイル形式の変換された添付ファイルのファイル形式又は拡張子が、クライアント端末114上で実行するか否かを示す情報と対応付けられていない場合、クライアント端末114は、当該ファイルをクライアント端末上で実行するか否かをユーザに選択させるための画面を表示装置に表示して、入力装置を介してユーザの選択結果を受け取ってよい。ファイル形式の変換された添付ファイルのファイル形式又は拡張子が、クライアント端末114上で実行するか否かを示す情報と対応付けられていない場合、クライアント端末114は、当該ファイルをクライアント端末上で実行しないことを決定してもよい。
遠隔操作用のアプリケーションが起動すると、クライアント端末114は、例えば、通知データから添付ファイルへのアクセス情報を読み出し、当該アクセス情報によって示されるコンピュータに当該添付ファイルを送信する。また、クライアント端末114は、クライアント端末114と、上記アクセス情報によって示されるコンピュータとの間で遠隔操作可能な通信経路を確立する。
添付ファイルの拡張子が変換された場合も、添付ファイルのファイル形式が変換された場合と同様の手順により、遠隔操作可能な通信経路が確立されてよい。ファイル形式又は拡張子の変換された添付ファイルは、遠隔操作プログラムの一例であってもよい。
クライアント端末114は、ファイル転送システム100が提供するファイル転送サービスのユーザによって利用される。クライアント端末114は、メールサーバ112を介して、他の端末20と電子メールを送受する。クライアント端末114は、メールサーバ112から、他の端末20からの電子メールを受信したこと示す通知データを受信する。クライアント端末114は、通知データに含まれる添付ファイルへのアクセス情報に基づいて、実行サーバ120にアクセスする。
クライアント端末114は、他の端末20、メールサーバ112及び実行サーバ120と情報を送受することができる装置であればよく、パーソナルコンピュータ、携帯端末、無線端末、家電などであってよい。携帯端末としては、携帯電話、スマートホン、PDA、タブレット、ウェアラブルデバイス、ノートブック・コンピュータ又はラップトップ・コンピュータなどを例示することができる。
クライアント端末114は、実行サーバ120を遠隔操作してよい。例えば、通知データに含まれる遠隔操作プログラムを実行することにより、クライアント端末114及び実行サーバ120の間に遠隔操作可能な通信経路を確立する。クライアント端末114は、予めインストールされた遠隔操作プログラムを起動することにより、クライアント端末114及び実行サーバ120の間に遠隔操作可能な通信経路を確立してもよい。例えば、クライアント端末114及び実行サーバ120は、RDP(Remote Desktop Protocol)、RDP over HTTPS、ICA、XProtocol、PCoIPなどのプロトコルを利用して、ユーザからの入力をクライアント端末114から実行サーバ120に送信したり、実行サーバ120の画面情報を実行サーバ120からクライアント端末114に送信したりする。
クライアント端末114は、実行サーバ120上で添付ファイルを実行させるための実行指示を、遠隔操作可能な通信経路を介して実行サーバ120に送信する。クライアント端末114は、ユーザが電子メールを開封した場合に実行指示を送信してもよく、ユーザが添付ファイルを実行しようとした場合に実行指示を送信してもよい。実行サーバ120に変換後の添付ファイルが格納されている場合、クライアント端末114は、変換後の添付ファイルを変換前の添付ファイルに戻す処理を実行させるための指示を、遠隔操作可能な通信経路を介して実行サーバ120に送信してよい。
クライアント端末114は、クリップボードに格納された情報の少なくとも一部を、実行サーバ120のクリップボードと共有してもよい。クライアント端末114は、クリップボードに格納された情報の少なくとも一部を、実行サーバ120のクリップボードと共有しなくてもよい。
実行サーバ120は、メールサーバ112、クライアント端末114及び他の端末20との間で情報を送受する。実行サーバ120は、クライアント端末114又は他の端末20からの遠隔操作によって電子ファイルを実行する仮想サーバを備える。実行サーバ120は、メールサーバ112から、抽出された添付ファイル又は変換後の添付ファイルを受信する。実行サーバ120は、受信した添付ファイル又は変換後の添付ファイルを格納する。
実行サーバ120は、クライアント端末114又は他の端末20を介して、ユーザからの指示を受け付ける。実行サーバ120は、クライアント端末114又は他の端末20との間で実行サーバ120を遠隔操作することができる通信経路を確立し、当該通信経路を介してユーザからの指示を受け付けてよい。ユーザは、例えば、クライアント端末114のマウス、キーボードなどを利用して、実行サーバ120への指示を入力する。例えば、実行サーバ120は、ユーザからの指示に応じて添付ファイルを実行する。実行サーバ120は、添付ファイルの実行指示又は当該実行指示とは別の指示に応じて、変換後の添付ファイルを変換前の添付ファイルに戻す処理を実行してもよい。
実行サーバ120が遠隔操作されている場合、実行サーバ120からクライアント端末114又は他の端末20には、実行サーバ120における画面情報が送信される。実行サーバ120が遠隔操作されている場合、実行サーバ120からクライアント端末114又は他の端末20への通信は制限される。そのため、添付ファイルを実行することで、実行サーバ120がウイルスに感染した場合であっても、実行サーバ120からクライアント端末114又は他の端末20へのウイルスの拡散を防止することができる。
実行サーバ120は、ユーザからのアクセスを制限してもよい。例えば、実行サーバ120は、ユーザの識別情報と、当該ユーザがアクセスを許可されたディレクトリの識別情報とを対応付けて格納する。これにより、特定のユーザが読み書きすることのできる特定のディレクトリを制限することができる。
本実施形態において、ファイル転送システム100のメールシステム110がメールサーバ112を備え、当該メールサーバ112が、電子ファイルを処理する場合について説明した。しかし、ファイル転送システム100及びメールシステム110は本実施形態に限定されない。他の実施形態において、ファイル転送システム100及びメールシステム110が、メールサーバ112に代わって、又は、メールサーバ112とともにプロキシサーバを備え、メールサーバ112における情報処理の少なくとも一部が、当該プロキシサーバにより実行されてもよい。上記のプロキシサーバは、情報処理装置の一例であってよい。
図2は、メールシステム110の一例を概略的に示す。図2の説明においては、主に、メールシステム110が、他の端末20からクライアント端末114を宛先とする電子メールを受信する場合を例として、メールシステム110の各部について説明する。
本実施形態において、メールサーバ112は、通信制御部222と、電子データ取得部224と、電子ファイル抽出部226と、電子ファイル処理部228とを備える。メールサーバ112の各部は、互いに情報を送受してよい。本実施形態において、クライアント端末114は、通信制御部242と、遠隔操作部244と、入力部246と、出力部248とを備える。クライアント端末114の各部は、互いに情報を送受してよい。入力部246は、命令取得部の一例であってよい。
通信制御部222は、メールサーバ112と外部のコンピュータとの通信を制御する。外部のコンピュータとしては、他の端末20、クライアント端末114、実行サーバ120などを例示することができる。通信制御部222は、通信インターフェースであってよい。通信制御部222は、複数の通信方式に対応してよい。
通信制御部222は、ファイアウォール機能を有してよい。通信制御部222は、クライアント端末114が、メールサーバ112に格納された情報に直接アクセスすることができないように、ファイアウォールを設定してよい。
電子データ取得部224は、電子データを取得する。例えば、電子データ取得部224は、メールシステム110に送信された電子メールを取得する。電子データ取得部224は、取得した電子メールを電子ファイル抽出部226に送信する。本実施形態において、電子データ取得部224は、他の端末20から電子メールを取得する。しかし、電子データ取得部224は本実施形態に限定されない。電子データ取得部224は、ハードディスク、メモリ、ファイル共有サーバなどの記憶装置に格納された電子データを取得してもよく、他のアプリケーションから電子データを取得してもよい。
電子ファイル抽出部226は、電子データから電子ファイルを抽出する。例えば、電子ファイル抽出部226は、電子データ取得部224から、電子データ取得部224が取得した電子メールを受け取る。電子ファイル抽出部226は、受け取った電子メールに添付ファイルが含まれているか否かを判断する。電子ファイル抽出部226は、受け取った電子メールに添付ファイルが含まれていると判断した場合、当該電子メールから添付ファイルを抽出する。
電子ファイル抽出部226は、抽出された添付ファイルを電子ファイル処理部228に送信する。電子ファイル抽出部226は、添付ファイルと、電子メールの添付ファイル以外の部分とを区別して、電子ファイル処理部228に送信してもよい。これにより、電子ファイル処理部228は、電子メールに含まれるヘッダ情報、メール本文の情報などを利用して通知データを作成することができる。
電子ファイル処理部228は、抽出された電子ファイルに対する各種の処理を実行する。例えば、電子ファイル処理部228は、電子ファイル抽出部226から、添付ファイルと、電子メールの添付ファイル以外の部分とを受け取る。電子ファイル処理部228は、受け取った添付ファイルを実行すべき実行環境を決定する。実行環境は、仮想サーバ上に構築されてよい。これにより、実行環境がウイルスに感染された場合であっても、実行環境を容易に再構築することができる。
電子ファイル処理部228は、クライアント端末114のユーザを識別するユーザ識別情報に基づいて、上記の実行環境を決定してよい。例えば、電子ファイル処理部228は、まず、ユーザ識別情報に基づいて、添付ファイルを実行サーバ120において添付ファイルを実行することを決定する。次に、電子ファイル処理部228は、実行サーバ120における添付ファイルの格納場所を決定する。
電子ファイル処理部228は、実行サーバ120における添付ファイルの格納場所に関する情報を実行サーバ120から取得して、添付ファイルの格納場所を決定してもよい。例えば、電子ファイル処理部228は、ユーザ識別情報、添付ファイルの形式、サイズなどの情報を実行サーバ120に送信して、添付ファイルを実行サーバ120に送信した場合に当該添付ファイルが格納されることになる場所に関する情報を通知するように要求する。実行サーバ120は、電子ファイル処理部228からの要求に応じて、ユーザ識別情報、添付ファイルの形式、サイズなどの情報に基づいて、添付ファイルの格納場所を決定する。
電子ファイル処理部228は、受け取った添付ファイルの変換処理を実行してよい。添付ファイルの変換処理としては、添付ファイルの形式、拡張子若しくは名称を変更する処理、添付ファイルを暗号化する処理などを例示することができる。添付ファイルの暗号化は、暗号化処理を実行するアプリケーションプログラムにより実行されてよい。
電子ファイル処理部228は、実行サーバ120における添付ファイルの格納場所に関する情報に基づいて、添付ファイルへのアクセス情報を含む通知データを作成する。電子ファイル処理部228は、電子メールに含まれるヘッダ情報、メール本文の情報などを利用して通知データを作成してよい。
電子ファイル処理部228は、添付ファイル又は変換後の添付ファイルを転送する。電子ファイル処理部228は、添付ファイル又は変換後の添付ファイルを実行サーバ120に転送してよい。電子ファイル処理部228は、添付ファイル又は変換後の添付ファイルを、通知データとともに又は通知データに含めて、クライアント端末114に転送してもよい。
電子ファイル処理部228は、抽出された電子ファイルに対する各種の処理を実行する場合に、実行サーバ120上の当該電子ファイルの実行環境に関する情報を取得する。電子ファイル処理部228は、上記の実行環境に関する情報を、実行サーバ120から取得してよい。上記の実行環境に関する情報としては、実行環境となるサーバを識別する情報、当該サーバの有効期限、ファイル転送システム100又はクライアント端末114のユーザの当該サーバにおけるユーザID、当該ユーザIDに対応付けられたパスワードなどを例示することができる。
通信制御部242は、クライアント端末114と外部のコンピュータとの通信を制御する。外部のコンピュータとしては、他の端末20、メールサーバ112、実行サーバ120などを例示することができる。通信制御部242は、通信インターフェースであってよい。通信制御部242は、複数の通信方式に対応してよい。
通信制御部242は、実行サーバ120との間で認証処理を実行してよい。通信制御部242は、クライアント端末114の認証情報を実行サーバ120に送信してよい。クライアント端末114の認証情報としては、LDAP認証又はNTLM認証などの認証方式に利用される情報であってよい。
一実施形態において、通信制御部242は、実行サーバ120との間で認証処理を実行する間に、出力部248の表示装置に認証画面を表示させて、ユーザから認証情報を取得する。通信制御部242は、ユーザから取得した認証情報を利用して、認証処理を実行する。認証情報としては、IPアドレスなどの実行サーバ120の識別情報、ユーザID及び当該ユーザIDの暗証情報などを例示することができる。
他の実施形態において、通信制御部242は、予め、実行サーバ120から認証情報を受信して、クライアント端末114の記憶装置に格納する。通信制御部242は、記憶装置に格納された認証情報を利用して、認証処理を実行する。これにより、実行サーバ120との間で認証処理を実行する間、認証画面を表示させてユーザから認証情報を取得することなく、認証処理を完了することができる。
通信制御部242は、実行サーバ120との接続時間を制御してよい。通信制御部242は、実行サーバ120との通信を開始して予め定められた時間が経過した場合、実行サーバ120との通信を制限してよい。通信の制限方法としては、通信の遮断、通信速度の制限などを例示することができる。
遠隔操作部244は、クライアント端末114と実行サーバ120との間に遠隔操作可能な通信経路を確立する。遠隔操作部244は、遠隔操作可能な通信経路を介して、クライアント端末114のユーザからの指示を実行サーバ120に送信する。
遠隔操作部244は、入力部246に入力されたユーザからの指示に基づいて、実行サーバ120を遠隔操作する。例えば、遠隔操作部244は、実行サーバ120上で添付ファイルを実行させるための実行指示を実行サーバ120に送信する。遠隔操作部244は、実行サーバ120から、実行サーバ120の画面情報を取得する。遠隔操作部244は、画面情報を出力部248に送信する。これにより、クライアント端末114のユーザは、実行サーバ120に格納されている添付ファイルを安全に閲覧することができる。
ユーザが添付ファイルをクライアント端末114にダウンロードすることを希望する場合、ユーザは、実行サーバ120に格納されている添付ファイルをクライアント端末114に転送させるための転送指示を、入力部246に入力する。遠隔操作部244は、入力部246からユーザの転送指示を受け取り、実行サーバ120に送信する。これにより、ユーザは、添付ファイルを安全に取得することができる。
遠隔操作部244は、クライアント端末114に予めインストールされているプログラムを実行することにより実現されてよい。遠隔操作部244は、電子ファイル処理部228から受け取った通知データに含まれる遠隔操作プログラムを、クライアント端末114上で実行することにより実現されてよい。
遠隔操作部244は、クライアント端末114と実行サーバ120との間に遠隔操作可能な通信経路を確立する場合、又は、遠隔操作可能な通信経路を介してクライアント端末114のユーザからの指示を実行サーバ120に送信する場合に、実行サーバ120上の実行環境に関する情報を取得してよい。遠隔操作部244は、上記の実行環境に関する情報を、実行サーバ120から取得してよい。上記の実行環境に関する情報としては、実行環境となるサーバを識別する情報、当該サーバの有効期限、ファイル転送システム100又はクライアント端末114のユーザの当該サーバにおけるユーザID、当該ユーザIDに対応付けられたパスワードなどを例示することができる。
入力部246は、ユーザからの入力を受け付ける。入力部246は、電子データの操作に関する指示又は命令を取得してもよい。入力部246は、キーボード、マウス、タッチパネル、マイクなどを例示することができる。出力部248は、ユーザに情報を出力する。出力部248としては、表示装置、スピーカなどを例示することができる。
図3は、電子ファイル処理部228の一例を概略的に示す。図3の説明においては、主に、電子ファイル処理部228が、電子メールから抽出された添付ファイル340を実行サーバ120に転送する場合を例として、電子ファイル処理部228の各部について説明する。本実施形態において、電子ファイル処理部228は、実行環境決定部312と、電子ファイル送信部314と、通知データ生成部316と、通知データ送信部318とを備える。通知データ生成部316は、ファイル変換部の一例であってよい。
実行環境決定部312は、電子ファイル抽出部226により抽出された添付ファイル340を実行すべき実行環境を決定する。一実施形態において、実行環境決定部312は、1以上のユーザのそれぞれを識別するユーザ識別情報と、当該ユーザに割り当てられた仮想サーバを識別するサーバ識別情報とを対応付けて格納しており、クライアント端末114のユーザのユーザ識別情報に基づいて、添付ファイル340を実行すべき仮想サーバを決定する。
他の実施形態において、実行環境決定部312は、クライアント端末114の識別情報、接続先のURIのプロトコル(例えば、HTTP、FTP等である。)、接続先のURI、接続元のIPアドレス、接続元のIPアドレスのバージョン、添付ファイル340の作成者、受信者、ファイル名称、ファイル形式、拡張子、ファイルサイズなどに関する情報に基づいて、添付ファイル340を実行すべき仮想サーバを決定する。他の実施形態において、実行環境決定部312は、1以上の仮想サーバの中から、添付ファイル340を実行すべき仮想サーバをランダムに決定する。
更に他の実施形態において、実行サーバ120が、添付ファイル340を実行すべき仮想サーバを決定する。一実施形態において、実行環境決定部312は、実行サーバ120に対して、添付ファイル340を実行すべき実行環境を決定するよう要求する。実行サーバ120は、例えば、クライアント端末114の識別情報、クライアント端末114のユーザの識別情報、接続先のURIのプロトコル(例えば、HTTP、FTP等である。)、接続先のURI、接続元のIPアドレス、接続元のIPアドレスのバージョン、添付ファイル340の作成者、受信者、ファイル名称、ファイル形式、拡張子、ファイルサイズなどに関する情報に基づいて、添付ファイル340を実行すべき実行環境を決定する。実行サーバ120は、決定された実行環境を実行環境決定部312に通知する。これにより、実行環境決定部312は、添付ファイル340を実行すべき実行環境を決定することができる。
実行環境決定部312は、実行環境における添付ファイル340の格納場所を決定してもよい。添付ファイル340を実行すべき実行環境は、添付ファイル340の格納場所に基づいて決定されてよい。実行環境決定部312は、実行環境を識別する情報及び添付ファイルの格納場所を示す情報の少なくとも一方を、電子ファイル送信部314及び通知データ生成部316に送信してよい。
実行環境決定部312は、添付ファイルが実行された場合、遠隔操作プロトコルが実行された場合などに、実行環境に関する情報を取得してよい。遠隔操作部244は、上記の実行環境に関する情報を、実行サーバ120から取得してよい。上記の実行環境に関する情報としては、実行環境となるサーバを識別する情報、当該サーバの有効期限、ファイル転送システム100又はクライアント端末114のユーザの当該サーバにおけるユーザID、当該ユーザIDに対応付けられたパスワードなどを例示することができる。
本実施形態において、実行環境決定部312が電子ファイル処理部228に配される場合について説明した。しかし、実行環境決定部312は本実施形態に限定されない。実行環境決定部312は、実行サーバ120に配されてもよい。
電子ファイル送信部314は、実行環境決定部312の決定に基づいて、例えば実行サーバ120に添付ファイル340を送信する。電子ファイル送信部314は、変換後の添付ファイル340を実行サーバ120に送信してもよい。
通知データ生成部316は、他の端末20からの電子メールを受信した旨を示す通知データ330を生成する。本実施形態において、通知データ生成部316は、クライアント端末114に対する通知データ330を生成する。クライアント端末114に対する通知データ330は、ヘッダ情報332と、メール本文334とを備える。メール本文334は、添付ファイル340のURI336を含む。URI336は、実行サーバ120における添付ファイル340又は変換後の添付ファイル340の格納場所を示すURLであってもよい。通知データ330は、データ構造の一例であってよい。URI336は、添付ファイル340へのアクセス情報の一例であってよい。URI336は、送信先識別データ及び実行環境識別データの少なくとも一方の一例であってよい。
通知データ生成部316は、電子データ取得部224により取得された電子メールに含まれるヘッダ情報を利用して、ヘッダ情報332を生成してよい。通知データ生成部316は、電子データ取得部224により取得された電子メールに含まれるメール本文の情報と、実行環境決定部312により決定された実行サーバ120における添付ファイル340の格納場所の情報とに基づいて、メール本文334を生成してよい。
通知データ生成部316は、実行サーバ120に対する通知データを生成してもよい。実行サーバ120に対する通知データは、実行サーバ120上での添付ファイル340に対する操作を制限するための制限情報を含んでよい。
制限情報は、電子ファイルの正当なユーザを識別するユーザ識別情報と、当該ユーザに対して許可又は禁止される操作とが対応付けられた情報であってよい。制限情報は、電子ファイルを識別する電子ファイル識別情報と、当該電子ファイルに対して許可又は禁止する操作とが対応付けられた情報であってよい。電子ファイルが暗号化されている場合、制限情報は、更に、当該電子ファイルの復号に用いられるパスコードが、ユーザ識別情報又は電子ファイル識別情報に対応付けられた情報であってよい。
電子ファイルの正当なユーザを識別するユーザ識別情報としては、当該電子ファイルが添付されていた電子メールの宛先を示すメールアドレス、当該電子ファイルの作成者を示す情報などを例示することができる。電子ファイル識別情報としては、電子ファイルの名称などを例示することができる。許可又は禁止される操作としては、電子ファイルの閲覧、印刷、編集、複製、移動、送信、電子ファイルの内容のクリップボードへのコピー、画面のキャプチャなどを例示することができる。
通知データ生成部316は、制限情報を作成する場合、制限情報に含まれるユーザ識別情報及び電子ファイル識別情報の少なくとも一方を含む通知データ330を生成してよい。これにより、例えば、通知データ330を受信したクライアント端末114が、添付ファイル340のURI336に基づいて実行サーバ120にアクセスする場合に、ユーザ識別情報及び電子ファイル識別情報の少なくとも一方を実行サーバ120に送信することができる。クライアント端末114は、ユーザ識別情報及び電子ファイル識別情報の少なくとも一方を含むユーザ指示を、実行サーバ120に送信してよい。
他の実施形態によれば、通知データ生成部316は、制限情報を特定のプロキシサーバ、クラウドシステム、データベースシステム(図示していない。)に格納してよい。通知データ生成部316は、制限情報を格納する他のシステムから当該制限情報を受信して、制限処理を実行してもよい。通知データ生成部316は、当該特定のプロキシサーバのURIと、当該プロキシサーバにおけるユーザ認証に利用される情報とを含む通知データ330を作成してよい。
通知データ送信部318は、通知データ330をクライアント端末114に送信する。通知データ送信部318は、制限情報を実行サーバ120に送信してもよい。通知データ送信部318は、通知データ330をクライアント端末114に送信した後、メールサーバ112から添付ファイル340又は変換後の添付ファイル340を削除してよい。
本実施形態においては、通知データ送信部318が、ネットワーク10を介して通知データ330を送信する場合について説明した。しかし、通知データ送信部318による通知データ330の送信処理は本実施形態に限定されない。通知データ330の送信先は、通知データ送信部318が配されているコンピュータ上の記憶装置、当該コンピュータ上で動作している他のアプリケーション、外部記憶装置であってもよい。外部記憶装置としては、ハードディスク、メモリ、CD−ROMなどを例示することができる。
本実施形態においては、添付ファイル340が実行サーバ120に転送される場合について説明した。しかし、転送される電子ファイルは添付ファイル340に限定されない。転送される電子ファイルは変換後の添付ファイル340であってよい。例えば、通知データ生成部316は、添付ファイル340の変換処理を実行する。添付ファイル340の変換処理としては、添付ファイル340の形式、拡張子若しくは名称を変更する処理、添付ファイル340を暗号化する処理などを例示することができる。電子ファイル送信部314は、変換後の添付ファイル340を実行サーバ120に送信する。これにより、変換後の添付ファイル340が実行サーバ120に転送される。
図4は、実行サーバ120の一例を概略的に示す。実行サーバ120は、仮想サーバ管理部410と、1以上の仮想サーバとを備える。本実施形態において、実行サーバ120は、1以上の仮想サーバとして、仮想サーバ412、仮想サーバ414及び仮想サーバ416を備える。仮想サーバ管理部410は、削除部、スタンバイ部、又は、クリーンナップ部の一例であってよい。実行サーバ120の各部を仮想化する手法は特に限定されない。実行サーバ120の各部は、公知の仮想化技術、又は、将来的に開発される仮想化技術を用いて仮想化されてよい。例えば、実行サーバ120の各部は、ホスト型仮想化技術、ハイパーバイザ型仮想化技術、コンテナ型仮想化技術、及び、これらを組み合わせた技術を用いて仮想化される。一実施形態において、実行サーバ120の少なくとも一部が、クライアント端末114の上に構築されてもよい。例えば、クライアント端末114の上の仮想マシン又はコンテナ内のプロセス空間を利用して、仮想サーバ412、仮想サーバ414及び仮想サーバ416の少なくとも1つが実現される。この場合、仮想サーバ管理部410は、クライアント端末114の上の仮想マシン又はコンテナ内のプロセス空間を利用して実現されてもよく、クライアント端末114のホストOS上に構築されてもよい。
仮想サーバ412は、通信制御部422と、認証部424と、電子ファイル格納部426と、指示受付部428と、電子ファイル実行部430と、画面情報送信部432と、異常検出部434とを有する。仮想サーバ414及び仮想サーバ416は、仮想サーバ412と同様の構成を有してよい。仮想サーバ412、仮想サーバ414及び仮想サーバ416は、実行環境及び情報処理装置の少なくとも一方の一例であってよい。
仮想サーバ管理部410は、遠隔操作部244との間で、http、https、ssh、RDP(Remote Desktop Protocol)、RDP over HTTPS、ICA、XProtocol、PCoIPなどのプロトコルを利用して情報を送受してよい。仮想サーバ412、仮想サーバ414及び仮想サーバ416の少なくとも1つは、遠隔操作部244との間で、RDP(Remote Desktop Protocol)、RDP over HTTPS、ICA、XProtocol、PCoIPなどのプロトコルを利用して情報を送受してよい。
仮想サーバ管理部410は、実行サーバ120に含まれる1以上の仮想サーバを管理する。仮想サーバ管理部410は、予め定められたイベントが発生した場合に、1以上の仮想サーバの少なくとも1つを再構築する。これにより、仮想サーバのうちの1つがウイルスに感染された場合であっても、ウイルスに汚染されていない仮想サーバを容易に立ち上げることができる。
上述のとおり、仮想サーバは、実行環境の一例である。実行環境を再構築(クリーンナップと称される場合がある。)するための処理としては、(i)実行環境の切り離し処理(利用切り離しと称される場合がある。)、(ii)実行環境を、特定時点におけるスナップショット(ウイルスに感染していない状態のスナップショットであることが好ましい。)へ戻す処理、(iii)実行環境の切り戻し処理(利用切り戻しと称される場合がある。)などを例示することができる。一実施形態において、仮想サーバ管理部410は、実行環境がクリーンナップされる間、当該実行環境を、ユーザの利用から、一時的に切り離してもよい。
予め定められたイベントとしては、ユーザからの指示、予め定められた期間の経過、又は、異常検出部434が異常を検出したこと、特定のディレクトリにファイルが作成されたこと、特定のレジストリに値が書き込まれたこと、レジストリに特定の値が書き込まれたこと、クライアント端末114による当該仮想サーバの利用が終了したことなどを例示することができる。仮想サーバの再構築は、仮想サーバを、当該仮想サーバが実行サーバ120上に構築された後の特定の状態に戻すことであってもよく、仮想サーバ又は実行サーバ120のOSを特定の状態に復元することであってもよい。
仮想サーバの再構築は、クライアント端末114のユーザに特有の情報を、クライアント端末114による当該仮想サーバの利用が開始される前の状態に戻すことであってもよい。このとき、ユーザに特有の情報以外の設定などは変更しなくてもよい。ユーザに特有の情報としては、ユーザーディレクトリに格納された電子ファイル、ブラウザの利用履歴、レジストリの情報などを例示することができる。ユーザに特有の情報は、クライアント端末114による当該仮想サーバの利用が終了したときに、クライアント端末114による当該仮想サーバの利用が開始される前の状態に戻されてもよい。
仮想サーバが実行サーバ120上に構築された後の特定の状態としては、仮想サーバが実行サーバ120上に構築された後、当該仮想サーバに特定のアプリケーションがインストールされる前の状態、当該仮想サーバに特定のアプリケーションがインストールされた直後の状態、再構築処理を実施する直前の状態などを例示することができる。OSを特定の状態に復元する処理としては、OSを初期化する処理を例示することができる。
仮想サーバ管理部410は、仮想サーバの再構築を行う前に、当該仮想サーバにおけるユーザに関する設定を設定ファイルに格納しておいてよい。仮想サーバ管理部410は、ユーザごと又は仮想サーバごとに複数の設定ファイルを格納してよい。複数の設定ファイルのそれぞれは、異なる時刻における上記ユーザに関する設定を格納してよい。仮想サーバ管理部410は、仮想サーバを再構築した後、上記の設定ファイルを読み出す。これにより、実行サーバ120又は仮想サーバを特定の状態に戻すことができる。
仮想サーバ管理部410は、上記の予め定められたイベントが発生した場合に、仮想サーバのOS(ゲストOSと称される場合がある。)のメンテナンス処理を実行してもよい。ゲストOSのメンテナンス処理としては、ゲストOSが利用するユーザ情報を、特定の状態に戻す処理を例示することができる。仮想サーバ管理部410は、ゲストOSごとに、ゲストOSのメンテナンス処理を実行してよい。特定の状態としては、予め定められた状態、又は、ユーザにより指定された状態を例示することができる。
仮想サーバ管理部410は、特定の仮想サーバを再構築する場合、又は、当該仮想サーバのゲストOSをメンテナンスする場合において、クライアント端末114又はファイル転送システム100のユーザが、当該仮想サーバを参照することができないように、当該仮想サーバの参照情報を更新してよい。仮想サーバ管理部410は、特定の仮想サーバの再構築する処理、又は、当該仮想サーバのゲストOSをメンテナンスする処理が終了した場合に、クライアント端末114又はファイル転送システム100のユーザが、当該仮想サーバを参照することができるように、当該仮想サーバの参照情報を更新してよい。
仮想サーバ管理部410は、メールシステム110からの要求に応じて、添付ファイル340を実行すべき実行環境を決定してよい。仮想サーバ管理部410は、メールシステム110からの要求に応じて、添付ファイル340の格納場所を決定してよい。仮想サーバ管理部410は、決定された実行環境及び格納場所の少なくとも一方をメールシステム110に送信してよい。
仮想サーバ管理部410は、仮想サーバ412〜仮想サーバ416の負荷、リソース使用量、クライアント端末の接続数などの現在値又は予測値に基づいて、電子データ又は電子ファイルの実行環境又は格納場所を決定してよい。仮想サーバ管理部410は、仮想サーバ412〜仮想サーバ416の負荷、リソース使用量、クライアント端末の接続数などの現在値又は予測値に基づいて、クライアント端末114を接続する仮想サーバを決定してよい。
仮想サーバ管理部410は、仮想サーバ412〜仮想サーバ416の少なくともに負荷を集中させてもよく、仮想サーバ412〜仮想サーバ416の負荷が略均等になるように負荷を割り当ててもよい。これにより、仮想サーバ412〜仮想サーバ416を効率的に運用することができる。仮想サーバ管理部410は、1以上のサーバの負荷、リソース使用量、クライアント端末の接続数などの現在値又は予測値に基づいて、新たな仮想サーバの構築、既存の仮想サーバの再構築又は削除などの処理を実行してよい。
仮想サーバ管理部410は、仮想サーバ412〜仮想サーバ416の環境を一括管理してよい。例えば、仮想サーバ管理部410は、仮想サーバ412〜仮想サーバ416のOSの設定を一括して編集する。仮想サーバ管理部410は、仮想サーバ412〜仮想サーバ416に、一括してアプリケーションをインストールしたり、電子データ又は電子ファイルを配信したりしてもよい。
仮想サーバ管理部410は、仮想サーバ412〜仮想サーバ416のOSを管理する管理画面を生成してよい。上記の管理画面は、GUIであってもよく、CUIであってもよい。
仮想サーバ管理部410は、仮想サーバ412〜仮想サーバ416のそれぞれの利用履歴を格納してよい。仮想サーバ管理部410は、クライアント端末114ごとに、又は、クライアント端末114のユーザごとに、仮想サーバ412〜仮想サーバ416のそれぞれの利用履歴を格納してよい。利用履歴は、仮想サーバにおいて、実行されたファイルに関する情報を含んでよい。仮想サーバが外部のサーバなどにアクセスすることができる場合、利用履歴は、仮想サーバがアクセスした外部のサーバなどのIPアドレスを含んでよい。
仮想サーバ管理部410は、クライアント端末114による仮想サーバ412仮想サーバ416の少なくとも1つ(仮想サーバ412などと称する場合がある。)の利用を制限してよい。例えば、クライアント端末114が仮想サーバ412などの利用を開始して予め定められた時間が経過した場合、仮想サーバ管理部410は、仮想サーバ412などの利用を制限してよい。仮想サーバ管理部410は、仮想サーバ412など利用時間を延長するための処理を実行してもよく、即座に仮想サーバ412などの利用を停止する処理を実行してもよい。
仮想サーバ管理部410は、クライアント端末114若しくは仮想サーバ412などにインストールされたWebブラウザのクッキーに格納された情報、Webブラウザに登録されたブックマーク(「お気に入り」と称される場合もある。)、Webブラウザで保存されたユーザID、Webサイトへのログインパスワードなどのサイト毎の暗証情報、各種Webサイトの設定情報、当該Webブラウザの設定情報、プラグインなどを、仮想サーバ412などから取得してよい。なお、Webブラウザには各種のプラグインがインストールされていてもよい。他の情報処理装置にインストールされたWebブラウザについても同様である。
仮想サーバ管理部410は、クライアント端末114・仮想サーバ412などから取得した情報を、実行サーバ120の記憶装置、クライアント端末114の記憶装置、メールサーバ112の記憶装置などの任意の記憶装置に格納してよい。仮想サーバ管理部410は、仮想サーバ412などから取得した情報のうち、予め定められた情報を、上記の任意の記憶装置に格納してよい。
仮想サーバ管理部410は、クライアント端末114にインストールされたWebブラウザのプロキシ情報を、仮想サーバ412などに送信してよい。仮想サーバ管理部410は、仮想サーバ412〜仮想サーバ416のそれぞれに応じたプロキシ情報を送信してよい。
通信制御部422は、仮想サーバ412と外部のコンピュータとの通信を制御する。外部のコンピュータとしては、他の端末20、メールサーバ112、クライアント端末114、仮想サーバ管理部410、仮想サーバ414、仮想サーバ416などを例示することができる。通信制御部422は、通信インターフェースであってよい。通信制御部422は、複数の通信方式に対応してよい。
通信制御部422は、クライアント端末114又は他の端末20からの要求に応じて、クライアント端末114又は他の端末20と、仮想サーバ412との間に遠隔操作可能な通信経路を確立してよい。通信制御部422は、仮想サーバ412が仮想サーバ412への要求に応じて応答する場合を除き、仮想サーバ412から外部への情報の送信を禁止してよい。
通信制御部422は、クライアント端末114との接続時間を制御してよい。通信制御部422は、クライアント端末114との通信を開始して予め定められた時間が経過した場合、クライアント端末114との通信を制限してよい。通信の制限方法としては、通信の遮断、通信速度の制限などを例示することができる。
仮想サーバ412は、クライアント端末114から転送された添付ファイル340を実行するので、ウイルスに感染する可能性がある。しかし、通信制御部422が外部との通信を制限することにより、仮想サーバ412がウイルスに感染した場合であっても、仮想サーバ412が外部のコンピュータにウイルスを送信したり、外部のコンピュータにDoS(Denial of Service attack)攻撃を仕掛けたりすることを防止することができる。
認証部424は、外部のコンピュータ又はユーザを認証する。認証部424は、認証されたコンピュータ又はユーザからの遠隔操作を許可してもよい。
電子ファイル格納部426は、クライアント端末114又は他の端末20から、添付ファイル340又は変換後の添付ファイル340を受信する。電子ファイル格納部426は、受信した添付ファイル340又は変換後の添付ファイル340を格納する。
指示受付部428は、クライアント端末114及びネットワーク10を介してユーザからの指示(ユーザ指示と称する場合がある。)を受け付ける。指示受付部428は、他の端末20及びネットワーク10を介してユーザからの指示を受け付けてよい。
電子ファイル実行部430は、ユーザ指示に基づいて、添付ファイル340又は変換後の添付ファイル340を実行する。例えば、電子ファイル実行部430は、指示受付部428が添付ファイル340を実行させるための実行指示を受信した場合に、電子ファイル格納部426に格納されている添付ファイル340を読み出し、添付ファイル340を実行する。電子ファイル実行部430は、電子ファイル格納部426に変換後の添付ファイル340が格納されている場合には、変換後の添付ファイル340を変換前の添付ファイル340に戻す処理を実行した後、添付ファイル340を実行してよい。
実行サーバ120がメールサーバ112から制限情報を受信していた場合、電子ファイル実行部430は、当該制限情報に基づいて、ユーザ指示に応答するか否かを決定してよい。例えば、電子ファイル実行部430は、制限情報を参照して、ユーザ指示により示される操作が、当該ユーザ又は当該電子ファイルに対して許可されているか否か又は禁止されているか否かを判断する。これにより、電子ファイルに対する操作を制限することができる。
一実施形態によれば、電子ファイル実行部430は、ユーザ指示に含まれるユーザ識別情報及び制限情報を参照して、当該ユーザ識別情報により識別されるユーザに対して許可又は禁止されている操作を抽出する。電子ファイル実行部430は、ユーザ指示により示される操作と、抽出された操作とを比較して、ユーザ指示により示される操作を実行するか否かを決定する。
他の実施形態によれば、電子ファイル実行部430は、ユーザ指示により示される電子ファイルの名称及び制限情報を参照して、当該電子ファイルに対して許可又は禁止されている操作を抽出する。電子ファイル実行部430は、ユーザ指示により示される操作と、抽出された操作とを比較して、ユーザ指示により示される操作を実行するか否かを決定する。
画面情報送信部432は、ユーザに表示されるべき画面情報を送信する。指示受付部428がクライアント端末114からユーザ指示を受信した場合、画面情報送信部432は、クライアント端末114に対して、ネットワーク10を介して、クライアント端末114の表示装置に表示されるべき画面情報を送信する。指示受付部428が他の端末20からユーザ指示を受信した場合、画面情報送信部432は、他の端末20に対して、ネットワーク10を介して、他の端末20の表示装置に表示されるべき画面情報を送信する。
異常検出部434は、仮想サーバ412の異常を検出する。異常検出部434は、異常検出部434は、仮想サーバ412がユーザからの指示に応じた動作以外の動作を実行した場合に、仮想サーバ412の異常を検出する。異常検出部434は、仮想サーバ412の異常を検出した場合、異常を検出した旨を仮想サーバ管理部410に通知してもよい。
異常検出部434は、添付ファイル340のウイルス検査を実施してもよい。異常検出部434は、ウイルスを検出した場合、ウイルスを検出したことを示す画面情報を生成してよい。異常検出部434は、ウイルスを検出した場合、ウイルスを検出した旨を仮想サーバ管理部410に通知してもよい。
本実施形態においては、図4を用いて、実行サーバ120の一実施形態について説明した。しかしながら、実行サーバ120は本実施形態に限定されない。例えば、仮想サーバ410と、仮想サーバ412、仮想サーバ414及び仮想サーバ416との役割分担は、上記の実施形態に限定されるものではない。
一実施形態において、仮想サーバ管理部410が、通信制御部422の機能の少なくとも一部を有し、通信制御部422における情報処理の少なくとも一部が、仮想サーバ管理部410により実行されてもよい。他の実施形態において、通信制御部422が、仮想サーバ管理部410の機能の少なくとも一部を有し、仮想サーバ管理部410における情報処理の少なくとも一部が、通信制御部422により実行されてもよい。
図5は、ファイル転送システム100における処理の一例を概略的に示す。図5は、メールサーバ112が、他の端末20からクライアント端末114を宛先とする電子メールを受信した場合における処理の一例を概略的に示す。
本実施形態によれば、ステップ502(ステップをSと省略する場合がある。)において、電子データ取得部224が、他の端末20から、クライアント端末114を宛先とする電子メールを取得する。S504において、電子ファイル抽出部226が、電子メールに含まれる添付ファイル340を抽出する。S506において、通知データ生成部316が、通知データ330を作成する。S508において、電子ファイル送信部314が、添付ファイル340を仮想サーバ412に送信する。S510において、電子ファイル格納部426が添付ファイル340を格納する。S512において、通知データ送信部318が通知データ330をクライアント端末114に送信する。
クライアント端末114のユーザは、クライアント端末114上で通知データ330を確認する。S520において、ユーザが添付ファイル340の閲覧又はダウンロードを希望する場合、ユーザは、クライアント端末114上で遠隔操作プログラムを実行する。S530において、遠隔操作部244が、クライアント端末114及び実行サーバ120の間に遠隔操作可能な通信経路を確立する。
一実施形態によれば、ユーザは、クライアント端末114にインストールされている遠隔操作プログラムを起動させる。次に、ユーザは、遠隔操作プログラムに添付ファイル340のURIを入力する。これにより、遠隔操作部244が、クライアント端末114及び実行サーバ120の間に遠隔操作可能な通信経路を確立する。他の実施形態によれば、通知データ330において添付ファイル340のURIへのリンクが張られており、ユーザが当該リンクをクリックした場合に、クライアント端末114にインストールされている遠隔操作プログラムが起動する。これにより、遠隔操作部244が、クライアント端末114及び実行サーバ120の間に遠隔操作可能な通信経路を確立する。
S540において、ユーザが添付ファイルの実行を希望する場合、ユーザは、仮想サーバ412上で添付ファイル340を実行させるための実行指示を入力部246に入力する。入力部246がユーザからの実行指示を受け付けると、遠隔操作部244が、実行指示を仮想サーバ412に送信する。S542において、指示受付部428がクライアント端末114からの実行指示を受け付けると、電子ファイル実行部430が、添付ファイル340を実行する。S544において、画面情報送信部432が画面情報をクライアント端末114に送信する。S546において、出力部248が画面情報を表示する。
以上の処理により、ユーザは、添付ファイル340の実行結果を安全に閲覧することができる。ユーザが添付ファイル340ダウンロードを希望する場合、ユーザは、添付ファイル340をクライアント端末114に転送させるための転送指示を、入力部246に入力する。遠隔操作部244は、入力部246からユーザの転送指示を受け取り、仮想サーバ412に送信する。これにより、ユーザは、添付ファイル340を取得できる。
図6は、ファイル転送システム100における処理の一例を概略的に示す。図6は、メールサーバ112が、クライアント端末114から他の端末20を宛先とする電子メールを受信した場合における処理の一例を概略的に示す。図6における処理は、S502において、電子データ取得部224が、クライアント端末114から他の端末20を宛先とする電子メールを受信する点と、S520以降の処理が、他の端末20と仮想サーバ412との間で実行される点とにおいて、図5における処理と相違する。図6における処理は、上記相違点以外の構成については、図5における処理と同様の構成を有してよい。
図7は、電子ファイル処理部728の一例を概略的に示す。電子ファイル処理部728は、電子ファイル送信部314を有しない点と、通知データ生成部316が、添付ファイル340及び遠隔操作プログラム736を含む通知データ730を生成する点とにおいて、電子ファイル処理部228と相違する。電子ファイル処理部728は、上記相違点以外の構成については、電子ファイル処理部228と同様の構成を有してよい。
本実施形態において、通知データ生成部316は、実行環境決定部312により決定された実行環境を遠隔操作するための遠隔操作プログラム736を生成する。通知データ生成部316は、遠隔操作プログラム生成部の一例であってよい。一実施形態において、遠隔操作プログラム736は、添付ファイル340又は変換後の添付ファイル340の送信先を識別する送信先識別データと、添付ファイル340を実行すべき実行環境を識別する実行環境識別データとを含んでよい。遠隔操作プログラム736は、添付ファイル340へのアクセス情報の一例であってよい。遠隔操作プログラム736は、送信先識別データ及び実行環境識別データの少なくとも一方の一例であってよい。他の実施形態において、メール本文334に送信先識別データ及び実行環境識別データが含まれており、遠隔操作プログラム736は、実行時に、メール本文334に含まれる送信先識別データ及び実行環境識別データを取得してもよい。
遠隔操作プログラム736は、コンピュータに、当該コンピュータと、仮想サーバ412との間に通信経路を確立する手順を実行させるためのプログラムであってよい。上記の通信経路は、遠隔操作プログラムを実行するコンピュータから、添付ファイル又は変換後の添付ファイルを格納している他のコンピュータを遠隔操作可能な通信経路であってよい。遠隔操作プログラム736は、コンピュータに、クライアント端末114上で添付ファイル340を実行させるための実行指示を、遠隔操作可能な通信経路を介して実行環境に送信する手順を更に実行させるためのプログラムであってよい。
遠隔操作プログラム736は、コンピュータに、当該コンピュータが仮想サーバ412に対して、ネットワーク10を介して添付ファイル340又は変換後の添付ファイル340を送信する手順を更に実行させるためのプログラムであってよい。これにより、遠隔操作プログラム736がクライアント端末114上で実行された場合、クライアント端末114は、通知データ730に含まれる添付ファイル340を仮想サーバ412に転送することができる。
通知データ生成部316は、通知データ730を生成する。本実施形態において、通知データ730は、ヘッダ情報332と、メール本文334と、添付ファイル340と、遠隔操作プログラム736とを含む。なお、メール本文334及び添付ファイル340は、遠隔操作プログラム736とは別個の電子ファイルであってもよく、遠隔操作プログラム736が、メール本文334及び添付ファイル340の少なくとも一方を含む電子ファイルであってもよい。
通知データ730は、データ構造の一例であってよい。通知データ730は、クライアント端末114又は他の端末20が記憶するデータ構造の一例であってよい。例えば、通知データ730は、添付ファイル340のデータと、添付ファイル340の送信先を識別する送信先識別データと、添付ファイル340を実行すべき仮想サーバ412を識別する実行環境識別データと、クライアント端末114又は他の端末20に、送信先識別データにより識別される送信先に添付ファイル340又は変換後の添付ファイル340のデータを送信する手順と、クライアント端末114又は他の端末20及び実行環境識別データにより識別される仮想サーバ412の間に遠隔操作可能な通信経路を確立する手順とを実行させるためのプログラムとを備えるデータ構造であってよい。クライアント端末114又は他の端末20は、第1のコンピュータの一例であってよい。仮想サーバ412は、第2のコンピュータの一例であってよい。
本実施形態においては、添付ファイル340が、クライアント端末114を介して実行サーバ120に転送される場合について説明した。しかし、転送される電子ファイルは添付ファイル340に限定されない。変換後の添付ファイル340が、クライアント端末114を介して実行サーバ120に転送されてもよい。
図8は、電子ファイル処理部728を備えたファイル転送システム100における処理の一例を概略的に示す。図8は、メールサーバ112が、他の端末20からクライアント端末114を宛先とする電子メールを受信した場合における処理の一例を概略的に示す。図8における処理は、S508及びS510の代わりに、S808及びS810を実施する点において、図5における処理と相違する。図8における処理は、上記相違点以外の構成については、図5における処理と同様の構成を有してよい。
S808において、遠隔操作部244は、通知データ730に含まれる添付ファイル340を抽出する。また、遠隔操作部244は、添付ファイル340を実行サーバ120に送信する。S810において、電子ファイル格納部426が添付ファイル340を格納する。
本実施形態においては、S808及びS810がS530の後に実行される場合について説明した。しかし、S808及びS810が実行されるタイミングは、本実施形態に限定されない。他の実施形態において、S808及びS810は、S520の後、S530の前に実行されてもよい。
図9は、メールシステム910の一例を概略的に示す。メールシステム910は、メールサーバ912と、クライアント端末914とを備える。クライアント端末914は、電子メールを作成するメール作成部902を有してよい。メール作成部902は、命令取得部の一例であってよい。メールシステム910は、電子データ取得部224、電子ファイル抽出部226及び電子ファイル処理部228が、メールサーバ912ではなくクライアント端末914に配される点において、メールシステム110と相違する。メールシステム910は、上記相違点以外の構成については、メールシステム110と同様の構成を有してよい。
本実施形態において、クライアント端末914が電子ファイル処理部228を備える場合について説明した。しかし、クライアント端末914は本実施形態に限定されない。クライアント端末914は、電子ファイル処理部228に代えて電子ファイル処理部728を備えてもよい。また、電子ファイル処理部228は通知データ送信部318を有しなくてもよく、通知データ送信部318が通知データ330又は通知データ730をメール作成部902に送信してもよい。
一実施形態において、電子ファイル処理部228は、クライアント端末914上における電子ファイルの実行を検出してよい。電子ファイル処理部228は、クライアント端末914に格納された電子ファイルが、クライアント端末914上で実行されることを検出してもよく、クライアント端末914に接続された外部記憶装置に格納された電子ファイルが、クライアント端末914上で実行されることを検出してもよい。外部記憶装置としては、USBメモリ、SBメモリなどの半導体記憶装置、CD、DVD、BDなどの記憶媒体、ネットワークを介してクライアント端末914に接続された情報処理装置などを例示することができる。
電子ファイル処理部228は、クライアント端末914における、予め定められた電子ファイルの実行を検出してよい。電子ファイル処理部228は、電子ファイルのファイル形式、拡張子などに基づいて、予め定められた電子ファイルの実行を検出してもよく、予め定められた電子ファイルのリストに基づいて、予め定められた電子ファイルの実行を検出してもよい。
電子ファイル処理部228は、電子ファイルの実行が検出された場合、OSの実行処理部に当該電子ファイルの実行を中止させる。また、電子ファイル処理部228は、実行が検出された電子ファイルを実行サーバ120に送信する。次に、電子ファイル処理部228は、遠隔操作部244を起動させて、実行サーバ120との間に遠隔操作可能な通信経路を確立させ、実行サーバ120上で電子ファイルを実行する。
図10は、メールシステム910を備えたファイル転送システム100における処理の一例を概略的に示す。図10は、メールサーバ112が、他の端末20からクライアント端末114を宛先とする電子メールを受信した場合における処理の一例を概略的に示す。
図10における処理は、S502において、他の端末20からの電子メールがメールサーバ112からクライアント端末114に送信される点と、S504、S506及びS508における処理がクライアント端末114において実行される点と、S512における処理が省略されている点とにおいて、図5における処理と相違する。図10における処理は、上記相違点以外の構成については、図5における処理と同様の構成を有してよい。
図11は、メールシステム910を備えたファイル転送システム100における処理の一例を概略的に示す。図11は、メールサーバ112が、クライアント端末114から他の端末20を宛先とする電子メールを受信した場合における処理の一例を概略的に示す。
図11における処理は、S502、S504、S506、S508及びS512における処理がクライアント端末114において実行される点と、S502において、クライアント端末114の電子データ取得部224が、メール作成部902から電子メールを取得する点とにおいて、図6における処理と相違する。図11における処理は、上記相違点以外の構成については、図6における処理と同様の構成を有してよい。
図12は、ファイル転送システム1200の一例を概略的に示す。ファイル転送システム1200は、実行サーバ120と、ファイル共有サーバ1212とを備える。ファイル共有サーバ1212は、通信制御部222と、電子データ取得部224と、電子ファイル抽出部226と、電子ファイル処理部228とを有する。
ファイル転送システム1200は、メールシステム110の代わりにファイル共有サーバ1212を備える点と、ネットワーク10を介して、クライアント端末22及びクライアント端末24と情報を送受する点とにおいて、ファイル転送システム100と相違する。ファイル転送システム1200は、上記相違点以外の構成については、ファイル転送システム100と同様の構成を有してよい。クライアント端末22及びクライアント端末24は、クライアント端末114又は他の端末20と同様の構成を有してよい。ファイル転送システム1200によれば、クライアント端末22及びクライアント端末24の間で、安全に電子ファイルを共有することができる。
ファイル転送システム1200は、実行サーバ120上での添付ファイル340に対する操作を制限してよい。ファイル転送システム1200は、電子ファイルの正当なユーザを識別するユーザ識別情報と、当該ユーザに対して許可又は禁止される操作とが対応付けられた制限情報を格納してよい。電子ファイルの正当なユーザを識別するユーザ識別情報は、当該電子ファイルがアップロードされたときに指定されたユーザを示す情報であってもよい。許可又は禁止される操作としては、電子ファイルの閲覧、印刷、編集、複製、移動、送信、電子ファイルの内容のクリップボードへのコピー、画面のキャプチャなどを例示することができる。
制限情報は、電子ファイルを識別する電子ファイル識別情報と、当該電子ファイルに対して許可又は禁止する操作とが対応付けられた情報であってもよい。制限情報は、ユーザ識別情報と、電子ファイル識別情報と、電子ファイル又はユーザに対して許可又は禁止する処理とが対応付けられた情報であってもよい。電子ファイルが暗号化されている場合、制限情報は、更に、当該電子ファイルの復号に用いられるパスコードが、ユーザ識別情報又は電子ファイル識別情報に対応付けられた情報であってよい。
ファイル転送システム1200は、制限情報に基づいて、ユーザ指示に応答するか否かを決定してよい。例えば、ファイル転送システム1200がクライアント端末22のユーザから、特定の電子ファイルに対するユーザ指示を受信した場合、制限情報を参照して、ユーザ指示により示される操作が、当該ユーザ又は当該電子ファイルに対して許可されているか否か又は禁止されているか否かを判断する。これにより、電子ファイルに対する操作を制限することができる。
通信制御部222は、ファイアウォール機能を有してよい。通信制御部222は、ファイル転送システム1200の外部が、ファイル共有サーバ1212に格納された情報に直接アクセスすることができないように、ファイアウォールを設定してよい。通信制御部222は、クライアント端末114ごと、又は、クライアント端末114のユーザごとに、アクセス権限を設定してよい。
通信制御部222は、アプリケーションプログラムによりファイアウォール機能を実現してもよく、OSによりファイアウォール機能を実現してもよい。通信制御部222は、OSにより提供されるファイアウォール機能の設定を変更することで、適切なファイアウォールを設定してよい。
通信制御部222は、ファイル共有サーバ1212の外部に電子データ又は電子ファイルを送信すること指示する要求を受信した場合、当該要求が実行サーバ120の仮想サーバ管理部410からの要求である場合には、当該要求を受け付けてよい。一方、当該要求が実行サーバ120の仮想サーバ管理部410からの要求でない場合には、当該要求を受け付けなくてよい。
ファイル共有サーバ1212は、1台のサーバから構成されていてもよく、複数のサーバから構成されていてもよい。実行サーバ120は、ファイル共有サーバ1212が複数のサーバから構成されている場合であっても、希望するファイルを取り出すことができる。
ファイル共有サーバ1212は、クライアント端末22及びクライアント端末24の間で共有される電子ファイルを格納する。ファイル共有サーバ1212は、電子ファイルと、ユーザ情報とを対応付けて、当該ユーザ情報及び当該電子ファイルと同じデータとして格納してもよく、当該ユーザ情報及び当該電子ファイルを別々に格納してもよい。ユーザ情報は、Windows(登録商標)で利用されるユニークなSIDであってよい。ユニークなSIDは、ログインIDであってもよく、ドメイン名及びユーザ名の組み合わせであってもよく、アプリケーションプログラムにより付与され、当該アプリケーションプログラムによるユーザの識別に利用されるユニークIDであってもよい。
図13は、ファイル転送システム1200における処理の一例を概略的に示す。図13は、クライアント端末22がファイル共有サーバ1212にアップロードしたデータを、クライアント端末24から閲覧する場合における処理の一例を概略的に示す。
S1302において、電子データ取得部224が、クライアント端末22からアップロードされた電子データを取得する。S1304において、電子ファイル抽出部226が、アップロードされた電子データから、電子ファイルを抽出する。S1306において、通知データ生成部316が、通知データを作成する。S1308において、電子ファイル送信部314が、電子ファイルを仮想サーバ412に送信する。S1310において、電子ファイル格納部426が電子ファイルを格納する。
S1320において、クライアント端末24が、ファイル共有サーバ1212に対して、電子ファイルの閲覧又はダウンロードを要求する。S1322において、通知データ送信部318が、通知データをクライアント端末24に送信する。
クライアント端末24のユーザは、クライアント端末24上で通知データを確認する。S1330において、ユーザが電子ファイルの閲覧又はダウンロードを希望する場合、ユーザは、クライアント端末24上で遠隔操作プログラムを実行する。S1332において、遠隔操作部244が、クライアント端末24及び実行サーバ120の間に遠隔操作可能な通信経路を確立する。その後の処理は、図5などにおける処理と同様である。
本実施形態においては、ウイルス感染の防止を目的としてファイル転送システム100及びファイル転送システム1200を使用する場合について説明した。しかし、ファイル転送システム100及びファイル転送システム1200の目的はウイルス感染の防止に限定されない。
他の実施形態によれば、電子ファイルの送信先の設定によらずに電子ファイルを送信する目的で、ファイル転送システム100又はファイル転送システム1200を利用してよい。さらに他の実施形態によれば、電子ファイルの送信先の環境によらずに電子ファイルの閲覧を可能にする目的で、ファイル転送システム100又はファイル転送システム1200を利用してよい。
図14は、ファイル処理システム1400の一例を概略的に示す。ファイル処理システム1400は、実行サーバ120と、ファイル共有サーバ1212と、クライアント端末1401を備える。本実施形態において、クライアント端末1401は、図9に示されたクライアント端末914が有している構成に加えて、電子ファイル格納部1402、電子ファイル操作部1404、電子ファイル格納制御部1406、及び電子ファイル実行部430を有する。実行サーバ120は、図4で説明した実行サーバと同一の構成を有する。
図1、図9及び図12に関連して説明した実施形態によれば、クライアント端末又はファイル転送システムが電子ファイルを実行させるための実行指示を受け付けて、実行サーバ上で電子ファイルを実行する場合について説明した。本実施形態によれば、ファイル処理システム1400が電子ファイルの操作に関する指示を受け付けて、実行サーバ120上で上記の指示に応じた操作を実行する場合について説明する。電子ファイルの操作に関する指示は、電子データの操作に関する命令の一例であってよい。例えば、クライアント端末1401に格納された電子ファイルをユーザが閲覧、編集等の操作を行う場合に、クライアント端末1401と実行サーバ120との間で通信経路を確立した後で、操作の対象となった電子ファイルをクライアント端末1401から実行サーバ120へ転送し、電子ファイルの処理を仮想サーバ上で実行する。
電子ファイル格納部1402には電子ファイルが格納される。本例において、電子ファイル格納部1402は、ファイル共有サーバ1212から受信した電子ファイルを格納する。電子ファイル操作部1404は、例えば、電子ファイルの操作に関するユーザからの指示を取得する。ここで、電子ファイルの操作とは、電子ファイルを所定のアプリケーションで開こうとする処理、電子ファイルの移動、複製、印刷、ファイル形式の変換、電子ファイルの内容のクリップボードへのコピー、画面のキャプチャ等であってよい。
電子ファイル処理部228は、実行環境決定部1408を有する。実行環境決定部1408は、電子ファイルの形式、拡張子若しくは名称、又は、クライアント端末1401のログインIDに基づいて、遠隔操作により電子ファイルの操作を実行すべき実行環境を決定してよい。実行サーバ120が有する仮想サーバ412〜仮想サーバ416は、実行環境の一例である。クライアント端末1401は、ユーザからの指示に応じて、電子ファイルを実行サーバ120へ転送し、実行サーバ120の仮想サーバ上で電子ファイルを遠隔操作する。上記のユーザからの指示は、実行環境上で電子ファイルの操作を実行させるための実行指示の一例であってよい。これにより、実行環境において、電子ファイルの操作に応じた処理が実行される。本実施形態において、ユーザからの指示により示される電子ファイルの操作は、クライアント端末1401上では実行されない。
電子ファイル格納制御部1406は、遠隔操作された後の電子ファイルを、電子ファイル格納部1402に格納するか否かを制御する。電子ファイル格納制御部1406は、実行サーバ120において遠隔操作された後の電子ファイルを、実行サーバ120から自動的に取得して電子ファイル格納部1402に格納してもよく、或いは、ユーザの指示に基づいて電子ファイル格納部1402に格納してもよい。電子ファイル格納制御部1406は、遠隔操作された後の電子ファイルを、実行サーバ120上に格納してもよい。電子ファイル格納制御部1406は、実行サーバ120において遠隔操作された後の電子ファイルのファイル形式又は拡張子を変換してもよい。例えば、電子ファイル格納制御部1406は、実行サーバ120から取得した電子ファイルの拡張子に、予め定められた文字列を追加する。
電子ファイル格納制御部1406は、電子ファイルを自動的に格納するのか、ユーザの指示に基づいて格納するのかをユーザに予め選択させてもよい。このようにして電子ファイル格納部1402に格納された電子ファイルに対して、ユーザが何らかの操作を再度行うと、実行環境決定部1408は、再び、この電子ファイルを実行すべき実行環境を決定する。
上記構成によれば、ユーザが電子ファイルに対して閲覧等の処理を行う場合に、電子ファイルに対する実際の処理はクライアント端末1401ではなく実行サーバ120の仮想サーバ上で行われる。これにより、電子ファイルがウイルスに感染していた場合であっても、電子ファイルへの処理は実行しつつも、クライアント端末1401へウイルスが拡散すること防ぐことができる。
本実施形態において、実行環境決定部1408は、遠隔操作により実行サーバ120上で電子ファイルを実行するのか、クライアント端末1401上で電子ファイルを実行するのかを、決定してよい。実行環境決定部1408は、電子ファイルの形式、拡張子、若しくは名称に基づいて、上記の決定を行ってよい。実行環境決定部1408は、電子ファイルの形式、拡張子、若しくは名称が、予め定められたものである場合には電子ファイルの実行を仮想サーバで行わせ、予め定められたものではない場合には電子ファイルの実行を電子ファイル実行部430で行わせてよい。
実行環境決定部1408は、ユーザに実行環境を選択すべきかを選択させる手段を備えてもよい。例えば、実行環境決定部1408は、ユーザに実行サーバ120及びクライアント端末1401のいずれかを選択させるための画面を、出力部248の表示装置に表示させる。実行環境決定部1408は、ユーザの選択結果を受け取り、ユーザごとに、ユーザ設定として保存してよい。実行環境決定部1408は、ユーザ設定に基づいて、実行環境を選択してもよい。
例えば、実行環境決定部1408が、特定の電子ファイルを、特定の電子ファイル実行部430で実行することを決定した場合、当該電子ファイル実行部430が、当該電子ファイルを実行する。このような構成によって、ユーザに対する利便性を高めることができる。
実行環境決定部1408は、クライアント端末1401に格納された電子ファイルをユーザが操作した場合に、実行環境に関する情報を取得してよい。電子ファイルの操作に対応する処理を実行サーバ120上で実行する場合、実行環境に関する情報は、実行環境となるサーバを識別する情報、当該サーバの有効期限、ファイル転送システム100又はクライアント端末114のユーザの当該サーバにおけるユーザID、当該ユーザIDに対応付けられたパスワードなどを例示することができる。
本実施形態においては、クライアント端末1401が、ファイル共有サーバ1212から取得された電子ファイルをクライアント端末1401の記憶装置に格納しておき、当該電子ファイルの操作に関するユーザからの指示に基づいて、実行サーバ120上で当該電子ファイルを操作する場合について説明した。しかし、ファイル処理システム1400は本実施形態に限定されない。
他の実施形態において、クライアント端末1401は、ファイル共有サーバ1212に格納されている電子ファイルの操作に関するユーザからの指示を受け付けた場合、ファイル共有サーバ1212に対して、当該電子ファイルを実行サーバ120に転送するよう要求してよい。ファイル共有サーバ1212は、クライアント端末1401の通信制御部242、遠隔操作部244、電子ファイル処理部228及び電子ファイル操作部1404の少なくとも1つを介して、電子ファイルを実行サーバ120に転送してもよい。また、クライアント端末1401は、RDPなどのプロトコルを利用してクライアント端末1401と実行サーバ120との間に遠隔操作可能な通信経路を確立し、ファイル共有サーバ1212から転送された電子ファイルに対して、ユーザからの指示に対応する操作を実行させるための指示を、実行サーバ120に送信してよい。
本実施形態においては、電子ファイル格納制御部1406が、遠隔操作された後の電子ファイルを、クライアント端末1401の電子ファイル格納部1402に格納する場合について説明した。しかし、ファイル処理システム1400は本実施形態に限定されない。他の実施形態によれば、電子ファイル格納制御部1406は、遠隔操作された後の電子ファイルを、ファイル共有サーバ1212に格納してもよい。また、本実施形態においては、クライアント端末1401が、電子ファイル格納制御部1406及び実行環境決定部1408を有する場合について説明した。しかし、ファイル処理システム1400は本実施形態に限定されない。他の実施形態によれば、実行サーバ120が、電子ファイル格納制御部1406及び実行環境決定部1408の少なくとも一方を有してよい。さらに他の実施形態において、クライアント端末1401の機能が、ファイル共有サーバ1212により実現されてもよい。
図15Aは、ファイル処理システム1400における処理の一例を概略的に示す。本例では、クライアント端末22がファイル共有サーバ1212にアップロードしたデータを、クライアント端末1401にダウンロードして格納した後、電子ファイルを閲覧する場合における処理の一例を概略的に示す。尚、図13と同一の符号が記されたステップについては、図13と同様の処理を行ってよい。
S1304において、ファイル共有サーバ1212は、受信した電子データから電子ファイルを抽出し、クライアント端末1401からの要求に応じて(S1320)、抽出したファイルをクライアント端末へ転送する(S1308)。S1510において、電子ファイル格納部1402は、ファイル共有サーバ1212から転送された電子ファイルを格納する。S1512において、電子ファイル操作部1404は、ユーザの指示に基づいて、ファイルを閲覧すべくファイルを開く処理を行う。
S1514において、実行環境決定部1408は、電子ファイルの形式、拡張子、若しくは名称が、予め定められたものであるかを確認する。予め定められたものではない場合には(S1514 NO)、電子ファイル実行部430が電子ファイルの実行を行う(S1516)。予め定められたものである場合には(S1514 Yes)、実行環境決定部1408は、この電子ファイルを実行サーバ120で実行させるべきか、クライアント端末1401で実行させるべきかを、例えばダイアログ表示を表示させることによって、ユーザに選択させる(S1518)。クライアント端末1401での実行が選択された場合には(S1518 NO)、電子ファイル実行部430が電子ファイルの実行を行い(S1516)、実行サーバ120での実行が選択された場合には(S1518 YES)、クライアント端末1401上で遠隔操作プログラムが実行される(S1330)。
遠隔操作プログラムの実行により、通信経路が確立される(S1332)。具体的には、一例として、クライアント端末1401が、実行サーバ120の仮想ホストサーバに接続して、接続先の仮想ゲストサーバに関する情報を取得する。仮想ホストサーバは、仮想サーバ管理部410であってよい。仮想ゲストサーバは、仮想サーバ414又は仮想サーバ416であってよい。接続先の仮想ゲストサーバに関する情報は、上記の実行環境に関する情報の一例であってよい。
実行サーバ120は、電子ファイルの種類、電子ファイルの拡張子、URI、URL、URN等に基づいて、によって利用されるべきTCPやUDP等のプロトコルを決定する。実行サーバ120は、決定されたプロトコルに基づいて、特定のポートを開く(ポートをオープンすると称する場合がある。)。その後、クライアント端末1401は、上記の特定のポートを指定し、RDPなどのプロトコルを利用して、仮想ゲストサーバに接続する。
上記のRDPなどのプロトコルによる接続をトリガとして、電子ファイルを実行するためのアプリケーションを制御するための制御用モジュールが起動される(S1519)なお、制御用モジュールは、既に起動していてもよい。また、上記のポートを開く処理は、制御用モジュールにより実行されてもよい。その後、電子ファイル処理部228が有する電子ファイル送信部314が電子ファイルを送信すると(S1520)、制御用モジュールによって管理されたアプリケーションが電子ファイルの実行を行う(S1522)。
この電子ファイルに対する処理が行われる様子を示す画面の画像データが、RDPなどの遠隔操作技術を利用して、クライアント端末1401に送信され、クライアント端末1401の出力部248に当該表示画面が表示される(S1524)。クライアント端末1401は、遠隔操作可能な通信経路を介して、実行サーバ120の実行環境上で電子データ又は電子ファイルの転送、命令の送受信を実行してよい。クライアント端末1401は、遠隔操作可能な通信経路を介して、電子データ又は電子ファイルの保存・上書き保存等を、実行サーバ120の実行環境上で実行してよい(S1522)。
電子データの処理又は操作が終了すると、実行サーバ120の実行環境上で動作しているWebブラウザなどのアプリケーションも終了してよい。ユーザが、クライアント端末1401を操作して、実行サーバ120の実行環境上で動作しているWebブラウザなどのアプリケーションを終了させてもよい。実行サーバ120が、Webブラウザを終了させるための指示を受信すると、実行サーバ120は、オープンされているポートを閉じる。実行サーバ120は、クライアント端末1401からの指示を受信しなくても、電子データの処理又は操作の終了を検出した場合にポートを閉じてもよい。例えば、実行サーバ120は、クライアント端末1401又はネットワークとの疎通が一定時間できなかった場合に、電子データの処理又は操作の終了を検出する。制御用モジュールが、電子データの処理又は操作の終了の検出処理と、ポートを閉じる処理とを実行してもよい。
遠隔操作が終了すると、実行環境での処理は終了する。その後、必要に応じて、クライアント端末1401の電子ファイル格納部1402は、電子ファイルを保存する(S1526)。
尚、上記S1518は省略することもできる。或いは、実行環境決定部1408が、上記ダイアログ表示をさせるか否かをユーザに選択させてもよい。上記S1522において、電子ファイルを受信した場合に、受信した電子ファイルを実行環境において実行できるかどうかを、制御用モジュールが判断してもよい。
電子ファイルを実行可能なアプリケーションが存在しない等の理由で、電子ファイルを実行することができないと制御用モジュールが判断した場合には、その旨を電子ファイル処理部228がファイル処理システム1400の画面に表示させてよい。この場合、更に、クライアント端末1401は、電子ファイル実行部430において電子ファイルを実行すべきか否かをユーザに確認させる画面を表示させてもよい。また上記S1518においては、RDPなどプロトコルを利用した接続が行われるタイミングで、制御用モジュールが起動されたが、仮想サーバが起動された時点から制御用モジュールを起動させておいてもよい。
図15Bは、ファイル処理システム1400における処理の他の一例を概略的に示す。本例では、クライアント端末22がファイル共有サーバ1212にアップロードした電子データを、クライアント端末1401に格納せずに閲覧することができる。より具体的には、クライアント端末1401からの閲覧の要求(S1512)に応じて、遠隔操作プログラムが実行され(S1330)、通信経路が確立された後に、電子ファイルの要求がクライアント端末1401からファイル共有サーバ1212へなされる(S1320)。
この要求に応じて、ファイル共有サーバ1212が電子ファイルを実行サーバ120へ転送し(S1308)、クライアント端末1401は、転送された電子ファイルを実行サーバ120へ送信する(S1520)。その後、実行サーバ120での電子ファイルへの処理が実行され(S1522)、クライアント端末1401において電子ファイルを閲覧することができる(S1524)。その後、必要に応じて、電子データをクライアント端末1401に保存する。
尚、図15Aと同一の符号が記されたステップについては、図15Aと同様の処理を行ってよい。また、図15Bでは、電子ファイルをクライアント端末1401を介して実行サーバ120へ転送する様子が示されているが、ファイル共有サーバがクライアント端末1401を介さずに、電子ファイルを実行サーバ120へ転送してもよい。
図16は、S1526の処理の一例を概略的に示す。本例において電子ファイル格納制御部1406は、電子ファイルを自動的に保存するか否かを予めユーザに選択させる。また電子ファイル格納制御部1406は、電子ファイルを自動的には保存しないことが選択されている場合に、電子ファイルを保存すべきか否かをユーザに確認する処理を行うかどうかを、予めユーザに選択させる。
自動的に保存することが選択されている場合に(S1602 Yes)、電子ファイル格納制御部1406は、実行サーバ120に対して電子ファイルを要求する(S1604)。そして、実行サーバ120から該当する電子ファイルを受信すると、予め定められたフォルダに電子ファイルを自動保存し(S1604)、仮想サーバへファイルの実行の終了を通知する(S1608)。
自動的に保存することが選択されていない場合に、電子ファイルを保存すべきか否かをユーザに確認する処理を行うことが選択されている場合には(S1602 No、S1610 Yes)、電子ファイル格納制御部1406は、保存されるべきファイルの候補をユーザに表示させる(S1612)。電子ファイルを保存することが選択された場合には(S1614 Yes)、S1604以降の処理を行う。電子ファイルの保存が選択されなかった場合には(S1614 No)、電子ファイルを保存することなく処理を終了する。また、電子ファイルを保存すべきか否かをユーザに確認する処理を行うことが選択されていない場合にも(S1610 NO)、電子ファイルを保存することなく処理を終了する。
尚、図4に関連して説明したように、仮想サーバは再構築される場合がある。従って、S1522において仮想サーバに保存された電子ファイルは、定期的に、又は、仮想サーバの再構築が行われる前に、電子ファイル格納部1402に保存するのが好ましい。この場合、電子ファイル操作部1404が仮想サーバの保存領域から電子ファイルを自動的に取得してもよいし、仮想サーバから自動的に電子ファイルを送信するように構成してもよい。
本実施形態においては、一例として、電子ファイルがファイル共有サーバ1212から送信されて、クライアント端末1401に格納される構成を説明したが、電子ファイルは、例えばUSBメモリやDVD等のコンピュータ読み取り可能な記録媒体がクライアント端末1401に挿入されることによって利用可能となった電子ファイルであってもよい。そのような電子ファイルがウイルスに感染していた場合であっても、電子ファイルの実行は、クライアント端末1401では行われず、実行サーバ120で行われるので、クライアント端末1401へウイルスが拡散することを防止できる。
図17は、メールシステム1700の一例を概略的に示す。メールシステム1700は、実行サーバ120と、メールサーバ912と、クライアント端末1702を備える。本実施形態において、実行サーバ120は、実行サーバ120に生成された仮想サーバ1704が、第1通信部1708及び第2通信部1710を有する通信制御部1706を備える点で、図4に関連して説明した実行サーバ120と相違する。実行サーバ120は、上記の相違点を除いて、図4に関連して説明した実行サーバ120と同様の構成を有してよい。
本実施形態において、クライアント端末1702は、電子データ特定情報取得部1712を有する点、及び、電子ファイル処理部228が実行環境決定部1714を有する点において、図9に関連して説明したクライアント端末914と相違する。クライアント端末1702は、上記の相違点を除いて、図9に関連して説明したクライアント端末914と同様の構成を有してよい。実行環境決定部1714は遠隔操作プログラム生成部の一例であってもよい。
本実施形態では、クライアント端末1702が、電子データを特定する電子データ特定情報を取得する。クライアント端末1702は、例えば、ユーザが電子メール、HTMLファイル、ドキュメントファイル、textファイル、PDFファイルなどの電子ファイルに含まれるURLをクリックした場合に、当該URLを電子データ特定情報として取得する。クライアント端末1702は、取得された電子データ特定情報を実行サーバに送信して、当該電子データ特定情報によって特定される電子データを実行サーバ120で実行させる。実行サーバ120は、通信経路1730を介して、上記の電子データを取得する。通信経路1730は、クライアント端末914と実行サーバ120との間の通信経路1720とは異なる通信経路であってよい。通信経路1720は、第1の通信経路の一例であってよい。通信経路1730は、第2の通信経路の一例であってよい。
本実施形態においては、クライアント端末1702が受信した電子メールに、電子データ特定情報が含まれる。電子データ特定情報取得部1712は、ユーザの指示に応じて、電子データを特定する電子データ特定情報を取得する。ここで電子データ特定情報とは、電子データの所在を特定することができる情報、及び/または、電子データへのアクセスを可能とする情報である。
電子データ特定情報は、電子データを特定することのできる情報であれば特に限定されない。電子データ特定情報は、URI、URL、URN等のように直接的に電子データを特定する情報であってもよく、間接的に電子データを特定できるような情報であってもよい。
一実施形態において、電子データ特定情報は、電子ファイルの格納場所に関する情報又はリンク先に関する情報を有するが、電子ファイルの内容に関する情報を有しないファイルであってよい。このようなファイルとしては、ショートカットファイルを例示することができる。ショートカットファイルには、例えば、「.lnk」という拡張子が付与される。
ショートカットファイルのリンク先が、実行サーバ120上に格納されている電子ファイルである場合、例えば、クライアント端末1702上でユーザがショートカットファイルを起動すると、RDPなどのプロトコルを利用して、クライアント端末1702と実行サーバ120との間に遠隔操作可能な通信経路が確立される。その後、実行サーバ120上でショートカットファイルに対応する電子ファイルが起動する。
実行サーバ120は、クライアント端末1702の出力部248に表示されるべき表示画面の画像データを、クライアント端末1702に送信する。また、ユーザが、クライアント端末1702の入力部246を介して、実行サーバ120上のOS、アプリケーション、ファイルなどを操作すると、実行サーバ120は、ユーザの操作に応じた表示画面の画像データを、クライアント端末1702に送信する。
他の実施形態において、電子データ特定情報は、任意のプロトコルを用いてクライアント端末と電子データとの関連付けを行った設定であってよい。上記のプロトコルは特に限定されるものではなく、FTPやGopher等の現存するプロトコル、又は、将来において規定されたプロトコルを利用することができる。
本実施例における電子データには、図1〜図16で説明した電子ファイルに加えて、ファイルの形式ではない電子データが含まれてよい。このような電子データとしては、シンボリックリンク、ジャンクション、ハードリンクなどを例示することができる。
クライアント端末1702の電子ファイル処理部228は、実行環境決定部1714を有する。電子データ特定情報取得部1712によって電子データ特定情報が取得されると、実行環境決定部1714は、電子データを実行すべき実行環境を決定してよい。実行環境決定部1714は、例えば、クライアント端末1702の識別情報、クライアント端末1702のユーザの識別情報、接続先のURIのプロトコル(HTTP,FTP等)、接続先のURI、接続元のIPアドレス、接続元のIPアドレスのバージョン、電子データ特定情報、添付ファイル340の作成者、受信者、ファイル名称、ファイル形式、拡張子、ファイルサイズなどに関する情報に基づいて、実行環境を決定する。
実行環境は、実行サーバ120であってもよく、クライアント端末1702であってもよい。実行環境は、実行サーバ120に構築された1以上の仮想サーバの少なくとも1つであってもよく、クライアント端末1702からの命令又は要求によって構築される1以上の仮想サーバの少なくとも1つであってもよい。
実行環境決定部1714は、電子データが置かれている外部の装置1750から電子データを取得するための遠隔操作プログラムを生成してよい。一実施形態において、遠隔操作プログラムは、クライアント端末1702の遠隔操作部244に、(a−1)クライアント端末1702及び実行環境決定部1714により決定された実行環境の間に、遠隔操作可能な通信経路1720を確立する手順と、(b−1)仮想サーバ1704の電子ファイル実行部430に、Webブラウザを起動させるための指示を送信する手順と、(c−1)仮想サーバ1704の電子ファイル実行部430に、Webブラウザを介して、電子データ特定情報取得部1712により取得されたURLで特定される電子データを取得させるための指示を送信する手順と、(d−1)仮想サーバ1704の電子ファイル実行部430に、上記の電子データを実行させるための指示を送信する手順と、(e−1)仮想サーバ1704の画面情報送信部432に、上記の電子データが実行された場合の表示画面の画像データをクライアント端末1702に送信させるための指示を送信する手順と、を実行させるためのプログラムであってもよい。
他の実施形態において、実行環境決定部1714は、実行環境決定部1714により決定された実行環境を遠隔操作するための遠隔操作プログラムを生成してよい。遠隔操作プログラムは、(b−2)仮想サーバ1704の電子ファイル実行部430に、Webブラウザを起動させる手順と、(c−2)仮想サーバ1704の電子ファイル実行部430に、Webブラウザを介して、電子データ特定情報取得部1712により取得されたURLで特定される電子データを取得させる手順と、(d−2)仮想サーバ1704の電子ファイル実行部430に、上記の電子データを実行させる手順と、(e−2)仮想サーバ1704の画面情報送信部432に、上記の電子データが実行された場合の表示画面の画像データをクライアント端末1702に送信させる手順とを実行させるためのプログラムであってもよい。仮想サーバ1704の電子ファイル実行部430及び画面情報送信部432は、仮想サーバ1704のコンピュータの一例であってよい。
外部の装置1750は、電子データを実行する実行環境が置かれる実行サーバ120とは異なる装置である。外部の装置1750は、物理的な装置として実現されてもよく、仮想サーバとして実現されてもよい。
実行環境が電子データを外部の装置1750から取得する場合、実行環境は、クライアント端末1702と通信するだけでなく、外部の装置1750とも通信を行う必要がある。本実施形態では、実行サーバ120が有する仮想サーバ1704は、第1通信部1708及び第2通信部1710を有する通信制御部1706を備える。
本実施形態において、通信制御部1706は、ファイアウォールを開放するTCPポート又はUDPポートを決定する。通信制御部1706は、クライアント端末114の識別情報、クライアント端末114のユーザの識別情報、接続先のURIのプロトコル(HTTP,FTP等)、接続先のURI、接続元のIPアドレス、接続元のIPアドレスのバージョン、添付ファイル340の作成者、受信者、ファイル名称、ファイル形式、拡張子、ファイルサイズなどに関する情報に基づいて、ファイアウォールを開放するTCPポート又はUDPポートを決定してよい。なお、他の実施形態において、仮想サーバ管理部410が、ファイアウォールを開放するTCPポート及びUDPポートの少なくとも一方を決定してよい。
本実施形態において、通信制御部1706は、電子データのURIと、当該URIにより特定される電子データを取得することを指示する要求とを受信した場合において、当該要求が、予め定められたアプリケーションからの要求である場合、当該要求を受け付ける。一方、当該要求が、予め定められたアプリケーションからの要求でない場合、当該要求を受け付けない。
遠隔操作プログラムは、クライアント端末1702と実行サーバ120が有する実行環境との間に遠隔操作可能な通信経路1720を確立する手順を実行させるためのプログラムであってよい。一実施形態において、遠隔操作プログラムがクライアント端末1702によって実行されることにより、第1通信部1708とクライアント端末1702との間に通信経路1720が確立される。通信経路1720は、RDPなどの遠隔操作用のプロトコルに基づく通信経路であってよい。
遠隔操作プログラムは、実行サーバ120に、外部の装置1750と実行サーバ120が有する実行環境との間に通信経路1730を確立させる手順を実行させるためのプログラムであってよい。通信経路1730は、遠隔操作可能な通信経路であってもよく、HTTP、HTTPSなどのプロトコルに基づく通常の通信経路であってもよい。
例えば、遠隔操作プログラムが実行サーバ120によって実行されることにより、第2通信部1710と外部の装置1750との間に第2の通信経路1730が確立される。遠隔操作プログラムがクライアント端末1702によって実行されることにより、第2通信部1710と外部の装置1750との間に第2の通信経路1730が確立されてもよい。例えば、クライアント端末1702が、第2通信部1710と外部の装置1750との間に通信経路1730を確立するための指示を実行サーバ120に送信することで、通信経路1730が確立されてもよい。
実行環境決定部1714は、実行サーバ120に、通信経路1730を介して電子データを取得する手順を実行させるための遠隔操作プログラムを生成してもよい。遠隔操作プログラムは、実行サーバ120に、取得した電子データを実行環境で処理させる手順と、表示画面の画像データを、通信経路1720を介してクライアント端末1702に送信する手順を実行させるためのプログラムであってもよい。
例えば、遠隔操作プログラムが実行サーバ120の実行環境で実行されることにより、URLによって特定された電子データを実行環境で実行しつつ、その結果を、クライアント端末1702の画面に表示させることができる。このような構成により、URL先のデータがウイルスに感染しているような場合であっても、安全にデータの内容を閲覧することができる。
実行環境決定部1714は、電子データ特定情報により特定されるデータにアクセスする場合に、実行環境に関する情報を取得してよい。実行環境決定部1714は、実行サーバ120若しくはクライアント端末1702の記憶装置、又は、その他の記憶装置から実行環境に関する情報を取得してよい。
例えば、実行環境決定部1714は、電子データのURI、URL、URN等を取得した場合、ユーザから、電子データのURI、URL、URN等にアクセスすることを指示する命令を受信した場合、又は、ユーザが、電子データのショートカットファイルを実行した場合に、実行環境に関する情報を取得する。電子ファイルの操作に対応する処理を実行サーバ120上で実行する場合、実行環境に関する情報は、実行環境となるサーバを識別する情報、当該サーバの有効期限、ファイル転送システム100又はクライアント端末114のユーザの当該サーバにおけるユーザID、当該ユーザIDに対応付けられたパスワードなどを例示することができる。
実行環境決定部1714は、予め定められたホワイトリスト及びブラックリストの少なくとも一方に基づいて、実行環境を決定してよい。ホワイトリスト及びブラックリストの少なくとも一方は、クライアント端末1702に格納されていてもよく、実行サーバ120に格納されていてもよく、図示されていない外部のサーバに格納されていてもよい。
ホワイトリストは、アクセスを許可されたURIのリストであってもよく、クライアント端末1702上で実行することを許可されたファイル形式又は拡張子のリストであってもよい。ブラックリストは、アクセスを禁止されたURIのリストであってもよく、クライアント端末1702上で実行することを禁止されたファイル形式又は拡張子のリストであってもよい。ホワイトリスト及びブラックリストの両方に該当する項目が存在する場合、実行環境決定部1714は、予め定められたアルゴリズム又はユーザの指示に基づいて、ホワイトリスト及びブラックリストのいずれを優先するかを決定してよい。
実行環境決定部1714は、クライアント端末1702の記憶装置に格納された情報を、仮想サーバ1704にインストールされたWebブラウザに関する各種の設定を保存する領域に読み込ませることを指示する命令を、実行サーバ120に送信してよい。上記の領域はクッキーであってもよい。上記の領域は、ブックマークに関する情報を格納する領域であってもよい。クライアント端末1702の記憶装置に格納された情報としては、クライアント端末1702にインストールされたWebブラウザのクッキーに格納された情報、Webブラウザに登録されたブックマークの情報、Webブラウザで保存されたユーザID、Webサイトのログインパスワードなどのサイト毎の暗証情報、各種Webサイトの設定情報、当該Webブラウザの設定情報などを例示することができる。
本実施形態において、クライアント端末1702が受信した電子メールに、電子データ特定情報が含まれる場合を例として、クライアント端末1702及び実行サーバ120の詳細について説明した。しかし、クライアント端末1702及び実行サーバ120は本実施形態に限定されない。クライアント端末1702及び実行サーバ120は、クライアント端末1702にインストールされたWebブラウザを介して閲覧しているWebサイトに電子データ特定情報が含まれる場合であっても、本実施形態と同様の手順により、当該電子データ特定情報で特定される電子データを処理又は操作することができる。
本実施形態において、電子データ特定情報取得部1712が電子データ特定情報を取得した場合に、実行環境決定部1714が遠隔操作プログラムを生成し、クライアント端末1702又は実行サーバ120が遠隔操作プログラムを実行して、通信経路の確立処理、電子データの取得処理及び電子データの実行処理が実行される場合について説明した。しかし、メールシステム1700における情報処理は、本実施形態に限定されない。
他の実施形態において、遠隔操作プログラムは、クライアント端末1702に、予めインストールされていてもよい。例えば、電子データ特定情報取得部1712が、電子データ特定情報を取得する。実行環境決定部1714が、電子データ特定情報取得部1712により取得された電子データ特定情報により特定される電子データを実行すべき実行環境を決定する。また、電子データ特定情報取得部1712が電子データ特定情報を取得すると、クライアント端末1702上で遠隔操作プログラムが実行され、例えば、下記の処理が実行される。
まず、通信制御部242及び遠隔操作部244が、実行環境決定部1714により決定された実行環境との間で通信経路1720を確立する。その後、遠隔操作部244が、仮想サーバ1704の電子ファイル実行部430に、Webブラウザを起動させるための指示を、仮想サーバ1704の指示受付部428に送信する。また、遠隔操作部244は、仮想サーバ1704の電子ファイル実行部430に、電子データ特定情報により特定される電子データを取得及び実行させるための指示を、指示受付部428に送信する。
仮想サーバ1704の電子ファイル実行部430は、遠隔操作部244からの指示に基づいて、Webブラウザを起動し、第2通信部1710を介して、電子データ特定情報により特定される電子データを格納する外部の装置1750との間で通信経路1730を確立する。また、仮想サーバ1704の電子ファイル実行部430は、遠隔操作部244からの指示に基づいて、外部の装置1750から電子データを取得し、当該電子データを電子ファイル実行部430上で実行する。画面情報送信部432が、電子データが実行された場合の表示画面の画像データを、通信経路1720を介して、クライアント端末1702に送信する。
本実施形態においては、図17を用いて、実行サーバ120の一実施形態について説明した。しかしながら、実行サーバ120は本実施形態に限定されない。例えば、仮想サーバ410と、仮想サーバ412、仮想サーバ414及び仮想サーバ416との役割分担は、上記の実施形態に限定されるものではない。
一実施形態において、仮想サーバ管理部410が、通信制御部1702の機能の少なくとも一部を有し、通信制御部1702における情報処理の少なくとも一部が、仮想サーバ管理部410により実行されてもよい。他の実施形態において、通信制御部1702が、仮想サーバ管理部410の機能の少なくとも一部を有し、仮想サーバ管理部410における情報処理の少なくとも一部が、通信制御部1702により実行されてもよい。
[メールシステム1700における情報処理の一例]
図18は、メールシステム1700における処理の一例を概略的に示す。尚、図10と同一の符号が記されたステップについては、図10と同様の処理を行ってよい。
本実施形態によれば、S502において、クライアント端末1702の電子データ取得部224が、他の端末20からの電子メールを受信する。S1802において、電子データ特定情報取得部1712が、ユーザが電子メールに添付されているURLをクリックしたことを検出し、当該URLを取得する。
S1804において、実行環境決定部1714が、予め定められたプロセスを用いて電子データ特定情報取得部1712が電子データ特定情報を取得したかどうかを確認する。予め定められたプロセスとしては、ユーザが、Outlook等の予め定められたメーラーを利用して電子メールを開いた場合、ユーザが、Word、Excel等のドキュメントファイル、textファイル、PDFファイルなどの予め定められた電子ファイル中のURLをクリックした場合、ユーザが、Webブラウザなどの予め定められたアプリケーションの利用中にURLをクリックした場合などにおいて、電子データ特定情報を取得することを例示することができる。
電子データ特定情報取得部1712が電子データ特定情報を取得したプロセスが、予め定められたプロセスではない場合には(S1804 NO)、クライアント端末1702の電子ファイル実行部430が、電子データを実行する(S1808)。尚、ここでの電子データの実行とは、クライアント端末1702に関連づけされたWebブラウザを用いて、電子データ特定情報取得部1712により取得されたURLで指定されたページを開くことであってよい。
電子データ特定情報取得部1712が電子データ特定情報を取得したプロセスが、予め定められたプロセスである場合には(S1804 Yes)、実行環境決定部1714は、電子データ特定情報取得部1712により取得されたURLで特定された電子データを実行サーバ120で実行させるべきか、クライアント端末1702で実行させるべきかを、ユーザに確認させる(S1806)。この場合、実行環境決定部1714は、例えばダイアログ表示等の表示手段をユーザに表示させることによって、上記の確認をユーザに行わせることができる。
クライアント端末1702での実行が選択された場合には(S1806 NO)、クライアント端末1702の電子ファイル実行部430が、電子データを実行する(S1808)。一方、実行サーバ120での実行が選択された場合には(S1806 YES)、クライアント端末1702上で遠隔操作プログラムが実行される(S1810)。
遠隔操作プログラムが実行されると、通信経路1720及び通信経路1730が確立される(S1812)。具体的には、一例として、クライアント端末1702の実行環境決定部1714が、実行サーバ120の仮想ホストサーバに接続して、接続先の仮想ゲストサーバに関する情報を取得する。仮想ホストサーバは、仮想サーバ管理部410であってよい。仮想ゲストサーバは、仮想サーバ412〜仮想サーバ416の少なくとも1つであってよい。接続先の仮想ゲストサーバに関する情報は、上記の実行環境に関する情報の一例であってよい。
実行サーバ120は、電子ファイルの種類、電子ファイルの拡張子、URI、URL、URN等に基づいて、実行サーバ120によって利用されるべきTCPやUDP等のプロトコルを決定する。実行サーバ120は、決定されたプロトコルに基づいて、特定のポートを開く(ポートをオープンすると称する場合がある。)。その後、クライアント端末1401は、上記の特定のポートを指定し、RDPなどのプロトコルを利用して、仮想ゲストサーバに接続する。
一実施形態によれば、実行サーバ120は、クライアント端末1702との通信にはTCP通信のみを許可し、TCP(80、53)、UPD(53)のポートをオープンする。これにより、URL先のページを、実行環境上のWebブラウザ(例えば、実行サーバ120の仮想サーバ1704にインストールされたWebブラウザである。)で処理することができるようになる。これらのポートは、第1通信部及び第2通信部の一例であってよい。
上記のRDPなどのプロトコルによる接続をトリガとして、仮想サーバ1704の電子ファイル実行部430が、URLで特定された電子データを実行するためのアプリケーションを制御する制御用モジュールを起動する。(S1816)。制御用モジュールは、アプリケーションを制御して電子データを実行させる。上記のアプリケーションとしては、Webブラウザ、ビューワ―、ワードプロセッサ・アプリケーション、表計算アプリケーション、プレゼンテーション・アプリケーションなどを例示することができる。なお、上記のポートを開く処理は、制御用モジュールにより実行されてもよい。
一実施形態によれば、仮想サーバ1704上で制御モジュールが起動すると、クライアント端末1702の遠隔操作部244は、電子データ特定情報取得部1712がS1802において取得したURLを、第1の通信経路1720を介して、仮想サーバ1704の電子ファイル実行部430に送信する(S540)。遠隔操作部244は、第1通信部1708を指定して、上記のURLを仮想サーバ1704に送信してよい。URLは、実行指示の一例であってよい。
次に、仮想サーバ1704の電子ファイル実行部430において、制御用モジュールがWebブラウザを起動する。これにより、クライアント端末1702から受信したURLにより特定された電子データがWebブラウザにより処理される。例えば、Webブラウザは、外部の装置1750に対して、上記のURLにより特定される電子データを送信するように要求する。Webブラウザは、第2通信部1710及び通信経路1730を介して、外部の装置1750との間で情報を送受する。外部の装置1750は、Webブラウザからの要求に応答して、上記のURLにより特定される電子データをWebブラウザに送信する(S1818)。上記のURLにより特定される電子データは、HTMLで記述されたWebページのデータであってよい。
仮想サーバ1704のWebブラウザは、外部の装置1750から電子データを受信して、当該電子データを実行する。画面情報送信部432は、RDPなどの遠隔操作技術を利用して、Webブラウザの表示画面の画像データをクライアント端末1702に送信する、クライアント端末1702の出力部248に当該表示画面が表示される。(S1820)。
電子データの処理又は操作が終了すると、ユーザは、クライアント端末1702を操作して、仮想サーバ1704上で動作しているWebブラウザを終了させるための指示を、仮想サーバ1704に送信する。仮想サーバ1704の指示受付部428が、上記のユーザ指示を受信すると、通信制御部1706が、オープンされているポートを閉じる。実行サーバ120は、ユーザ指示を受信しなくても、電子データの処理又は操作の終了を検出した場合にポートを閉じてもよい。例えば、実行サーバ120は、クライアント端末1702又はネットワークとの疎通が一定時間できなかった場合に、電子データの処理又は操作の終了を検出する。制御用モジュールが、電子データの処理又は操作の終了の検出処理と、ポートを閉じる処理とを実行してもよい。
尚、上記の処理において、一部のステップが省略されてもよく、各ステップの順番が入れ替わってもよい。例えば、S1806は省略してもよい。また、S1806において、実行環境決定部1714が、上記ダイアログ表示をさせるか否かをユーザに選択させてもよい。
本実施形態によれば、S1816において、RDPなどのプロトコルを利用した接続が行われるタイミングで、制御用モジュールが起動した。しかし、制御用モジュールを起動させるタイミングは本実施形態に限定されない。他の実施形態において、制御用モジュールは、仮想サーバが起動された時点で起動してもよい。
図18に示す実施形態において、電子データ特定情報取得部1712は、他の端末20から受信した電子メールに添付されたURLをユーザがクリックすることで、電子データ特定情報を取得した。しかし、電子データ特定情報取得部1712は本実施形態に限定されない。電子データ特定情報取得部1712は、クライアント端末1702がアクセスすることが可能な電子データから、様々方法で電子データ特定情報を取得してよい。
例えば、もともとクライアント端末1702に格納されている電子データ、またはUSBメモリやDVD等の記録媒体に格納されている電子データにクライアント端末1702がアクセスすることによって、電子データ特定情報取得部1712が電子データ特定情報を取得してもよい。電子データとは、ワードやエクセル等のドキュメントファイル、textファイル、PDFファイル等であってよい。
上述したように、URL先のウェブ画面を閲覧する場合には、実行環境(例えば、仮想サーバである。)は、クライアント端末と外部の装置の両者との通信を行うべく、2つの通信ポートが必要となる。そのような仮想サーバを、実行サーバ120が予め有している場合もあるし、そうでない場合もある。また、仮想サーバは、1つの通信ポートしか有していない場合もある。そこで、実行環境決定部1714は、電子データを実行すべき仮想環境を決定する場合において、電子データ特定情報を受信したときに、実行サーバ120が有する複数の仮想サーバの中から、外部の装置1750と第2の通信経路を有する実行環境を選択してもよい。
一実施形態において、実行環境決定部1714は、第1通信部1708及び第2通信部1710の両者を予め有している仮想環境を選択して、その後、第1及び第2の通信経路を確立させる命令を含む遠隔操作プログラムが実行されてもよい。他の実施形態において、実行環境決定部1714は、第1通信部1708のみを有している仮想環境を選択し、選択した仮想環境に対して第2通信部1710に該当するポートを生成するように遠隔制御を行ってもよい。この場合、外部の装置1750と間に通信経路1730を確立させるための命令を含む遠隔操作プログラムを生成し、このプログラムを実行させることにより、通信経路1730を確立することができる。
本実施形態は、他の実施形態と組み合わせることもできる。例えば、図14ではクライアント端末1401に格納された電子ファイルをユーザが閲覧等の操作を行う場合に、電子ファイルをクライアント端末1401から実行サーバ120へ転送し、仮想サーバ上で処理を行なわせる実施例を説明したが、電子ファイルの中にURL等の電子データ特定情報が含まれていた場合には、電子ファイルの閲覧等の操作に伴う処理を仮想サーバで実行させると共に、このURL先のウェブ画面を閲覧する処理についても、上記で説明したように仮装サーバで行わせることができる。或いは、図1〜図10に記載されたメールサーバ112または912からメールを受信した場合であっても、そのメールにURLが含まれていた場合には、同様の処理を行うことができる。
尚、図1〜図16に記載された実施形態においては、外部の装置との通信は必ずしも必要でない。むしろセキュリティを考慮すると、第2の通信経路1730を開くためのポート(第2通信部1710)は無い方が好ましい場合がある。このため、実行サーバ120は、予め2種類の仮想サーバ、即ち、クライアント端末とのみ通信が可能な仮想サーバと、クライアント端末及び外部の装置の両者と通信が可能な仮想サーバを生成してよい。
実行環境決定部1714は、少なくとも、ユーザの操作に応じて取得される情報、ユーザの操作に用いられるアプリケーション、及びユーザの操作自体のいずれかに基づいて、いずれの実行環境(仮想サーバ)を選択すべきかを決定してよい。例えば、ユーザの操作によってURLが取得された場合には、外部の装置及びクライアント端末のそれぞれと通信可能な通信ポートを有する仮想サーバを選択する。或いは、ユーザの操作によりWordファイルが閲覧されようとすることを示す情報が取得された場合には、実行環境決定部1714は、クライアント端末1702とのみ通信可能な通信ポートを有する仮想サーバを選択してよい。
これに代えて、または、これに加えて、ログインユーザ名等のユーザ固有の情報が取得されること、電子ファイルの拡張子が取得されること、クライアント端末において電子ファイルを処理するために用いられるアプリケーションを区別する識別子が取得されることの少なくとも1つに応じて、いずれの実行環境(仮想サーバ)を選択すべきかを決定してよい。更に、実行環境決定部1714は、電子ファイルのファイルサイズ、ファイル名、ファイル形式、ファイルが保存された場所、ファイルが保存・更新された日時といった電子ファイルの属性に基づいて、いずれの実行環境を選択すべきかを判断してもよい。この場合、実行環境決定部1714は、ユーザが操作する電子ファイルが予め定められた属性またはその組み合あわせを有する場合に、いずれの実行環境を選択すべきかを決定してもよい。
実行サーバ120に予め仮想サーバが生成されていない場合には、電子データ特定情報取得部1712によってURLが取得された場合には、実行環境決定部1714が、外部の装置及びクライアント端末のそれぞれと通信可能な通信ポートを有する仮想サーバを生成するための遠隔操作プログラムを生成し、これを実行サーバ120に実行させることによって、所望の仮想サーバを生成してもよい。同様に、ユーザによりWordファイルが閲覧されようとしている情報が取得された場合には、実行環境決定部1714は、クライアント端末とのみ通信可能な通信ポートを有する仮想サーバを生成するための遠隔操作プログラムを生成し、これを実行サーバ120に実行させてよい。
[メールシステム1700が同一の物理マシン上で実現される実施形態]
上述のとおり、情報処理装置は、同一の物理サーバ上に構築されてもよく、異なる物理サーバ上に構築されてもよい。図19〜図21を用いて、メールシステム1700のクライアント端末1702及び実行サーバ120が、同一の物理マシン上に構築される場合の一例について説明する。
図19は、メールシステム1700のシステム構成の一例を概略的に示す。図20は、物理マシン1900のシステム構成の一例を概略的に示す。図21は、仮想マシン1910及び仮想マシン1920のシステム構成の一例を概略的に示す。
図19に示されるとおり、本実施形態において、メールシステム1700は、メールサーバ912と、物理マシン1900とを備える。本実施形態において、同一の物理マシン1900が、クライアント端末1702及び実行サーバ120として機能する。本実施形態によれば、図17及び図18に関連して説明されたクライアント端末1702の機能の少なくとも一部と、図17及び図18に関連して説明された実行サーバ120の機能の少なくとも一部とが、同一の物理マシン1900により実現される。
本実施形態によれば、単一の物理マシン1900の上に、仮想マシン1910と、仮想マシン1920とが構築される。本実施形態において、仮想マシン1920は、仮想マシン1922と、仮想マシン1924と、仮想マシン1926とを含む。
本実施形態において、物理マシン1900の上には、仮想マシン1910と、仮想マシン1920との間で情報を伝達する仮想バス1930が構築される。仮想バス1930は、ホストOSとゲストOSとの間に構築されたブリッジインターフェイスを含んでもよい。仮想マシン1910及び仮想マシン1920が同一の物理マシン上に構築されている場合であっても、例えば、仮想マシン1920における情報処理の結果を示す表示画面の画像データが、RDPなどの遠隔操作技術を利用して、仮想マシン1910に送信されている場合、仮想バス1930は、遠隔操作可能な通信経路の一例であってよい。上記の遠隔操作技術としては、RDP(Remote Desktop Protocol)、RDP over HTTPS、ICA、XProtocol、PCoIPなどのプロトコルを利用して情報を送受する技術を例示することができる。
本実施形態において、仮想マシン1910は、例えば、クライアント端末1702として機能する。仮想マシン1922は、例えば、仮想サーバ管理部410として機能する。仮想マシン1924は、例えば、仮想サーバ1704として機能する。仮想マシン1926は、例えば、仮想サーバ414として機能する。
図20に示されるとおり、本実施形態において、物理マシン1900は、物理リソース2010と、物理マシン1900を制御するためのホストOS2020とを有する。仮想リソース2110としては、CPU、メモリ、ストレージ、NICなどを例示することができる。また、本実施形態によれば、ホストOS2020の上で、仮想化ソフト2022が動作することにより、仮想マシン1910、仮想マシン1920及び仮想バス1930が実現されている。
本実施形態において、ホストOS及び仮想化ソフトを用いて、物理リソース及び仮想リソースの間に、ホストOS及び仮想化ソフトという2つのレイヤーを介在させることにより、仮想マシンを構築する場合について説明した。しかしながら、仮想マシンの構築方法は本実施形態に限定されない。他の実施形態において、ハイパーバイザを用いて、仮想マシンを構築してもよい。この場合、物理リソースの上に、仮想化を実現するためのレイヤー(ハイパーバイザと称される場合がある。)が構築され、当該ハイバーバイザ上で仮想マシンが実現される。
さらに他の実施形態において、コンテナ型仮想化技術により、単一のOS環境に、1又は複数の分離されたプロセス空間(コンテナと称される場合がある。)が作成されてよい。各コンテナにおいては、システム内の他のプロセス空間に影響を与えたり、システムからの影響を受けたりすることなく、アプリケーションを実行することができる。
例えば、物理マシン1900のホストOS上に構築された第1のコンテナにおいて、物理マシン1900のコンピュータを、クライアント端末1702の少なくとも一部として機能させるためのプログラムが実行される。物理マシン1900のホストOS上に構築された第2のコンテナにおいて、物理マシン1900のコンピュータを、実行サーバ120の少なくとも一部として機能させるためのプログラムが実行される。第1のコンテナと、第2のコンテナとの間では、遠隔操作技術を利用して情報が送受されてよい。
(i)電子ファイルを実行するための命令が受け付けられた後、当該電子ファイルを実行するためのコンテナが用意されてもよく、(ii)電子ファイルを実行するための命令が受け付けられる前に既に用意されていたコンテナを利用して、当該電子ファイルが事項されてもよい。コンテナは、電子ファイルが実行される度に用意されてもよい。コンテナは、電子ファイルの実行が終了した後、直ちに破棄されてもよく、電子ファイルの実行が終了してから、予め定められた期間が経過した後、破棄されてもよい。コンテナは、電子ファイルの実行が終了してから、ランダムに決定された期間が経過した後、破棄されてもよい。
図21に示されるとおり、仮想マシン1910は、仮想リソース2110と、仮想マシン1910を制御するためのゲストOS2120とを有する。仮想マシン1910には、例えば、データ管理ソフト2132、Webブラウザ2142及び各種のアプリケーションソフト2144が導入されている。仮想リソース2110としては、仮想CPU、仮想メモリ、仮想ストレージ、仮想NICなどを例示することができる。
データ管理ソフト2132は、仮想マシン1910上で実行されることにより、仮想マシン1910の仮想CPUを、クライアント端末1702の少なくとも一部として機能させるためのプログラムであってよい。データ管理ソフト2132が、仮想マシン1910上で実行されることにより、仮想リソース2110が、クライアント端末1702の各部として機能する。
同様に、仮想マシン1920は、仮想リソース2110と、仮想マシン1920を制御するためのゲストOS2120とを有する。仮想マシン1920には、例えば、実行代行ソフト2134、Webブラウザ2142及び各種のアプリケーションソフト2144が導入されている。
実行代行ソフト2134は、仮想マシン1920上で実行されることにより、仮想マシン1920の仮想CPU(仮想マシン1922、仮想マシン1924及び仮想マシン1926の少なくとも1つの仮想CPUであってもよい。)を、実行サーバ120の少なくとも一部として機能させるためのプログラムであってよい。実行代行ソフト2134が、仮想マシン1920上で実行されることにより、仮想マシン1920の仮想リソース2110(仮想マシン1922、仮想マシン1924及び仮想マシン1926の少なくとも1つの仮想リソース2110であってもよい。)が、実行サーバ120の各部として機能する。
本実施形態によれば、クライアント端末1702として機能する仮想マシン1910が、電子データへのアクセス又は電子データの操作に関する命令を受け付けると、電子データにアクセスするための処理、又は、電子データを操作するための処理が、仮想マシン1704として機能する仮想マシン1924の上で実行される場合がある。そこで、仮想マシン1910と、仮想マシン1920との間で、任意の情報が共有又は同期されてよい。また、仮想マシン1910と、仮想マシン1920との間で、任意の情報のバックアップ処理又は復元処理が実行されてもよい。
例えば、仮想マシン1910と、仮想マシン1920との間で、Webブラウザ2142及び各種のアプリケーションソフト2144の少なくとも一方の設定情報が共有又は同期される。また、上記の設置情報のバックアップ処理又は復元処理が実行されてもよい。上記の設定情報としては、(i)Webブラウザのクッキーに格納された情報、(ii)Webブラウザで保存されたユーザID、Webサイトのログインパスワードなどのサイト毎の暗証情報、(iii)各種Webサイトの設定情報、(iv)ブックマーク情報、(v)ブラウザプロキシの認証情報などを例示することができる。
クライアント端末1702の機能と、実行サーバ120の機能とを有するシステムが、同一の物理マシンの上に構築されることにより、当該システムの導入費用が大幅に削減される場合がある。例えば、本システムの導入規模が比較的小さい場合、本システムを導入するために、新たにサーバシステムを構築することが経済的に合理的でない場合もあり得る。このような場合、本システムの導入を予定する各物理マシン上に、クライアント端末1702の機能と、実行サーバ120の機能とを有するシステムを構築することで、本システムの導入費用を抑制することができる。
図19〜図21の実施形態においては、1台の物理マシン1900の上に、クライアント端末1702として機能する仮想マシン1910と、仮想サーバ管理部410として機能する仮想マシン1922と、仮想サーバ1704として機能する仮想マシン1924と、仮想サーバ414として機能する仮想マシン1926とが構築される場合について説明した。しかしながら、メールシステム1700は、本実施形態に限定されない。
他の実施形態において、(i)クライアント端末1702の一部と、実行サーバ120の一部とが、第1の物理マシン上に構築され、(ii)その他の部分が、第1の物理マシンとは異なる1又は複数の物理マシン上に構築される。例えば、クライアント端末1702として機能する仮想マシン1910と、仮想サーバ管理部410として機能する仮想マシン1922と、仮想サーバ1704として機能する仮想マシン1924とが、第1の物理マシンの上に構築される。一方、仮想サーバ414として機能する仮想マシン1926は、第1の物理マシンとは異なる第2の物理マシンの上に構築されてよい。
[メールシステム1700における情報処理の他の例]
図19のメールシステム1700は、図17及び図18に関連して説明された情報処理と同様の情報処理を実行してよい。図22及び図23を用いて、メールシステム1700における情報処理の他の例について説明する。具体的には、図22及び図23を用いて、図19のメールシステム1700において、一定期間、電子データを保存する実施形態について説明する。図22は、仮想マシン1910により実現されるクライアント端末1702の一例を概略的に示す。図23は、仮想マシン1926により実現される仮想サーバ414の一例を概略的に示す。
本実施形態においては、仮想マシン1910がクライアント端末1702として機能し、仮想マシン1920が実行サーバ120として機能する。また、仮想マシン1922が仮想サーバ管理部410として機能し、仮想マシン1924が仮想サーバ1704として機能し、仮想マシン1926が仮想サーバ414として機能する。
[メールシステム1700のシステム構成の概要]
本実施形態において、クライアント端末1702として機能する仮想マシン1910は、図17に関連して説明したクライアント端末1702と比較して、履歴管理部2212と、データ処理制限部2214と、マルウエア情報共有部2216と、レポート作成部2218とを備える点で相違する。その他の構成に関して、仮想マシン1910は、クライアント端末114、クライアント端末914、クライアント端末1401、又は、クライアント端末1702と同様の構成を有してよい。
本実施形態において、仮想サーバ管理部410として機能する仮想マシン1922は、仮想サーバ管理部410と同様の構成を有してよい。仮想サーバ1704として機能する仮想マシン1924は、仮想サーバ412又は仮想サーバ1704と同様の構成を有してよい。本実施形態において、仮想サーバ414として機能する仮想マシン1926は、例えば、通信制御部2312と、マルウエア検出部2314と、電子データ保存部2316とを備える。
履歴管理部2212は、送信履歴格納部、アクセス履歴格納部、アクセス情報取得部、又は、アクセス情報格納部の一例であってよい。データ処理制限部2214は、制限部の一例であってよい。マルウエア情報共有部2216は、通知部の一例であってよい。電子データ保存部2316は、実行履歴格納部の一例であってよい。
本実施形態において、履歴管理部2212は、電子データへのアクセス又は電子データの操作に関する履歴を管理する。一実施形態において、履歴管理部2212は、電子データが他の情報処理装置に送信された場合、他の情報処理装置の識別情報を記憶する。他の実施形態において、履歴管理部2212は、他の情報処理装置から、電子データにアクセスしたことを示す情報を取得する。電子データにアクセスした他の情報処理装置の識別情報を記憶してよい。履歴管理部2212は、予め定められた期間、電子データのアドレス、又は、電子データ若しくは予め定められたアルゴリズムに基づいて変換された電子データを記憶してもよい。
本実施形態において、データ処理制限部2214は、例えば、電子データの保存期間が満了するまで、当該電子データの操作、当該電子データへのアクセス、及び、当該電子データの実行の少なくとも1つ(電子データの操作等と称する場合がある。)を制限する。制限としては、許可、条件つき許可、禁止、条件つき禁止などを例示することができる。データ処理制限部2214は、電子データの保存期間が満了するまで、実行サーバ120(特に、仮想サーバ1704である。)、又は、実行サーバ120として機能するマシンの上でのみ、当該電子データの操作等を許可してよい。
データ処理制限部2214は、電子データの保存期間が満了するまで、当該電子データを他の情報処理装置に送信する操作を禁止してよい。データ処理制限部2214は、電子ファイルの保存期間が満了するまで、当該電子ファイルのファイル形式が、当該電子ファイルを作成したアプリケーションのファイル形式から、遠隔操作用のアプリケーションのファイル形式に変換されていることを条件として、当該電子ファイルを他の情報処理装置に送信する操作を許可してよい。電子ファイルのファイル形式が、当該電子ファイルを作成したアプリケーションのファイル形式から、遠隔操作用のアプリケーションのファイル形式に変換されている場合、データ処理制限部2214は、当該電子ファイルの保存期間が満了するまで、遠隔操作用のアプリケーションのファイル形式から、アプリケーションのファイル形式に戻すための処理を禁止してもよい。
一実施形態において、データ処理制限部2214は、電子データの識別情報と、当該電子データの操作等が制限される期間に関する情報と、制限の内容を示す情報とが対応付けられたリストを生成する。例えば、電子ファイル処理部228及び電子ファイル実行部430の少なくとも一方は、上記のリストを参照して、電子データの操作の可否、電子データへのアクセスの可否、又は、電子データの実行の可否を判断する。
本実施形態において、マルウエア情報共有部2216は、マルウエア検出部2314がマルウエアを検出した場合、履歴管理部2212に格納された他の情報処理装置の識別情報を参照して、他の情報処理装置に、電子データがマルウエアに感染していたことを通知する。
本実施形態において、レポート作成部2218は、マルウエア検出部2314によるマルウエアの検出状況に関するレポートを作成する。これにより、本システムによる感染防止効果を見える化することができる。
本実施形態によれば、過去にアクセスされた電子データのアドレス若しくは当該電子データ、又は、過去に実行された電子データが、予め定められた期間(保存期間と称する場合がある。)に渡って保存される。そして、マルウエア検出部2314は、当該保存期間中に、少なくとも一回、(i)保存された電子データを走査して、マルウエア検出処理を実行する、及び/又は、(ii)保存されたアドレスにアクセスして、マルウエア検出処理を実行する。マルウエア検出処理においては、例えば、上記の電子データがマルウエアに感染しているか否か、又は、当該電子データがマルウエアを含んでいるか否かが判定される。マルウエア検出部2314は、過去にアクセスされた電子データ、又は、過去に実行された電子データを、予め定められた保存期間に渡って、複数回、走査してよい。
電子データ又は電子データのアドレスの保存期間中に、マルウエア検出用のパターンファイルが更新される場合がある。これにより、上記電子データがアクセスされたり、実行されたりした時点においては検出されなかったマルウエアが、上記の保存期間中に検出され得る。そのため、上記のレポートによれば、例えば、マルウエア検出ソフトは導入されていたものの、本システムが導入されていなかった場合と比較して、本システムがマルウエアによる被害をどの程度抑制することができたかが明らかになる。
本実施形態において、通信制御部2312は、例えば、仮想マシン1926と、仮想マシン1910、仮想マシン1922、仮想マシン1924及び仮想マシン1926の少なくとも1つとの間の通信を制御する。通信制御部2312は、例えば、通信制御部222、通信制御部242、通信制御部422、又は、通信制御部1706と同様の構成を有してよい。通信制御部2312は、例えば、通信制御部1706と同様の構成を有する。
本実施形態において、マルウエア検出部2314は、過去にアクセスされた電子データ又は過去に実行されたデータを走査して、マルウエアによる感染の有無を判定する。一実施形態において、マルウエア検出部2314は、電子データ保存部2316又は履歴管理部2212に保存された電子データ又は予め定められたアルゴリズムに基づいて変換された電子データを走査して、マルウエアを検出する。他の実施形態において、マルウエア検出部2314は、履歴管理部2212に保存されたアドレスにアクセスしてマルウエアを検出する。
本実施形態において、マルウエア検出部2314は、予め定められた期間の間に、マルウエアを検出するための処理を複数回実行する。例えば、マルウエア検出部2314は、上記の保存期間の間に、マルウエアを検出するための処理を複数回実行する。マルウエア検出部2314は、異常検出部434と同様の構成を有してもよい。
本実施形態において、電子データ保存部2316は、過去にアクセスされた電子データ、又は、過去に実行された電子データを、予め定められた期間(保存期間と称する場合がある。)記憶する。例えば、電子データ保存部2316は、予め定められた期間、電子データ又は予め定められたアルゴリズムに基づいて変換された電子データを記憶する、電子データ保存部2316は、予め定められた期間、電子データのアドレスを記憶してもよい。
[メールシステム1700の各部の具体的な構成]
メールシステム1700の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよく、ハードウエア及びソフトウエアにより実現されてもよい。メールシステム1700の各部は、その少なくとも一部が、単一のサーバ又はマシンによって実現されてもよく、複数のサーバ又はマシンによって実現されてもよい。メールシステム1700の各部は、その少なくとも一部が、仮想サーバ上又はクラウドシステム上で実現されてもよい。メールシステム1700の各部は、その少なくとも一部が、パーソナルコンピュータ又は携帯端末によって実現されてもよい。例えば、物理マシン1900が、パーソナルコンピュータ又は携帯端末によって実現されてよい。携帯端末としては、携帯電話、スマートホン、PDA、タブレット、ノートブック・コンピュータ又はラップトップ・コンピュータ、ウエアラブル・コンピュータなどを例示することができる。メールシステム1700は、ブロックチェーンなどの分散型台帳技術又は分散型ネットワークを利用して、情報を格納してもよい。
メールシステム1700を構成する構成要素の少なくとも一部がソフトウエアにより実現される場合、当該ソフトウエアにより実現される構成要素は、一般的な構成の情報処理装置において、当該構成要素に関する動作を規定したソフトウエア又はプログラムを起動することにより実現されてよい。上記の情報処理装置は、(i)CPU、GPUなどのプロセッサ、ROM、RAM、通信インターフェースなどを有するデータ処理装置と、(ii)キーボード、タッチパネル、カメラ、マイク、各種センサ、GPS受信機などの入力装置と、(iii)表示装置、スピーカ、振動装置などの出力装置と、(iv)メモリ、HDDなどの記憶装置(外部記憶装置を含む。)とを備えてよい。上記の情報処理装置において、上記のデータ処理装置又は記憶装置は、上記のソフトウエア又はプログラムを記憶してよい。上記のソフトウエア又はプログラムは、プロセッサによって実行されることにより、上記の情報処理装置に、当該ソフトウエア又はプログラムによって規定された動作を実行させる。上記のソフトウエア又はプログラムは、非一時的なコンピュータ可読記録媒体に格納されていてもよい。
[メールシステム1700における情報処理の概要]
上述のとおり、クライアント端末1702として機能する仮想マシン1910が、電子データへのアクセス又は電子データの操作に関する命令を受け付けると、電子データにアクセスするための処理、又は、電子データを操作するための処理が、仮想マシン1704として機能する仮想マシン1924の上で実行される場合がある。電子データの操作としては、(i)電子データを実行、閲覧、編集、印刷、複製、移動又は送信するための操作、(ii)電子データのファイル形式を変換するための操作、(iii)画面データをキャプチャするための操作などを例示することができる。
電子データを実行するための操作は、予め定められたアプリケーションソフトを用いて、電子ファイルを開くための操作を含んでよい。電子データを複製するための操作は、当該電子データの内容をクリップボードにコピーするための操作を含んでもよい。電子データは、各種アプリケーションソフト用の電子ファイルであってもよく、WebサイトなどのHTMLデータであってもよく、Webサイトなどに埋め込まれた各種スクリプトであってもよい。
メールシステム1700において、仮想マシン1704として機能する仮想マシン1924から、クライアント端末1702として機能する仮想マシン1910に送信される情報は、制限されている。例えば、仮想マシン1924からクライアント端末1702には、仮想マシン1924上で実行された処理の結果を示す表示画面の画像データ以外のデータを送信することはできない。
これにより、クライアント端末1702として機能する仮想マシン1910がマルウエアに感染するリスクが、大幅に低減する。また、クライアント端末1702として機能する仮想マシン1910から、他の情報処理装置(例えば、他の端末20、ファイル共有サーバ1212などである。)に電子データを送信する場合に、当該他の情報処理装置にマルウエアに感染した電子ファイルを送信することを抑制することができる。
例えば、上記の仮想マシン1910が電子データを送信する前に、(i)仮想サーバ1704として機能する仮想マシン1924の電子ファイル実行430が当該電子データを実行し、(ii)仮想サーバ1704として機能する仮想マシン1924の異常検出部434が異常検出処理を実行する。そして、異常検出部434による異常検出処理において異常が検出されなかった場合に、仮想マシン1910が電子データを送信することで、当該他の情報処理装置がマルウエアに感染することを防止することができる。
しかしながら、異常検出部434によるマルウエアの検出には限界がある。また、近年のマルウエアの中には、従前と比較して潜伏期間の長いマルウエアが存在する。そのため、マルウエアに感染した電子データが、本システムを導入している情報処理端末から、本システムを導入していない情報処理端末に送信されてしまう可能性は低いものの、当該可能性は0ではない。
本実施形態の一実施形態によれば、(i)クライアント端末1702として機能する仮想マシン1910が、電子データの操作に関する命令を受け付けた場合、又は、(ii)電子データを操作するための処理が、仮想マシン1704として機能する仮想マシン1924の上で実行された場合に、当該電子データが、予め定められた期間、保存される。上記の電子データは、予め定められたアルゴリズムに基づいて変換された後、予め定められた期間、保存されてもよい。上記の電子データは、例えば、クライアント端末1702として機能する仮想マシン1910、及び、仮想サーバ414として機能する仮想マシン1926の少なくとも一方に保存される。
これに対して、図19〜図23に関連して説明された実施形態によれば、(i)クライアント端末1702として機能する仮想マシン1910が、電子データにアクセスするための命令を受け付けた場合、又は、(ii)電子データにアクセスするための処理が、仮想マシン1704として機能する仮想マシン1924の上で実行された場合に、当該電子データのアドレス又は当該電子データが、予め定められた期間、保存される。上記の電子データのアドレス又は上記の電子データは、例えば、クライアント端末1702として機能する仮想マシン1910、及び、仮想サーバ414として機能する仮想マシン1926の少なくとも一方に保存される。
本実施形態によれば、例えば、マルウエア検出部2314が、過去にアクセスされた電子データ、又は、過去に実行された電子データを、予め定められた保存期間に渡って、複数回、走査する。そのため、上記電子データがアクセスされたり、実行されたりした時点においては検出することができなかったマルウエアを、上記の保存期間中に検出することができる。例えば、マルウエア検出部2314による検出結果を、本システムを導入していない他の情報処理端末と共有することで、当該他の情報処理端末の被害を抑制することができる。
[メールシステム1700における情報処理の具体例]
メールシステム1700が、Webサーバ1760が提供するWebサイトにアクセスするための命令を取得した場合を例として、メールシステム1700における情報処理の一例について説明する。Webサイトを記述するHTMLデータは、電子データの一例であってよい。なお、メールシステム1700が、電子ファイルなどの電子データを実行する場合についても、本実施形態と同様にして処理することができる。本実施形態によれば、まず、仮想マシン1910上の入力部246が、電子データの操作に関する命令を取得する。例えば、入力部246は、Webサーバ1760が提供するWebサイトにアクセスするための命令を取得する。仮想マシン1910上の実行環境決定部1714が、仮想マシン1910上のWebブラウザを利用して上記のWebサイトにアクセスするか、仮想マシン1924上のWebブラウザを利用して上記のWebサイトにアクセスするかを決定する。
実行環境決定部1714が、仮想マシン1924上のWebブラウザを利用して上記のWebサイトにアクセスすることを決定した場合、仮想マシン1910上の遠隔操作部244が、仮想マシン1910と、仮想マシン1924との間に、遠隔操作可能な通信経路を確立する。遠隔操作部244は、仮想マシン1924上の電子ファイル実行部430に対して、Webブラウザを実行して、上記のWebサイトにアクセスするための命令を、上記の遠隔操作可能な通信経路を介して送信する。Webサイトにアクセスするための命令は、実行指示の一例であってよい。
仮想マシン1924上の電子ファイル実行部430は、遠隔操作部244から受信した命令に基づいて、Webブラウザを起動し、上記のWebサイトにアクセスする。このとき、電子ファイル実行部430は、上記のWebサイトのアドレスを、仮想マシン1926上の電子データ保存部2316に格納してよい。電子ファイル実行部430は、上記のWebサイトのHTMLデータを、電子データ保存部2316に格納してもよい。電子ファイル実行部430は、上記のアドレス又は上記のHTMLデータを、予め定められたアルゴリズムに基づいて変換し、変換後のデータを、電子データ保存部2316に格納してもよい。電子データ保存部2316は、予め定められた保存期間に渡って、電子ファイル実行部430から受信した電子データを記憶する。
本実施形態においては、電子ファイル実行部430が、上記のデータを電子データ保存部2316に格納する場合について説明した。しかしながら、上記のデータを電子データ保存部2316に格納するモジュール又はセクションは、電子ファイル実行部430に限定されない。他の実施形態によれば、例えば、遠隔操作部244が、上記のデータを電子データ保存部2316に格納する。
仮想マシン1910上のデータ処理制限部2214は、上記の保存期間の間、上記の電子データの処理を制限してよい。例えば、上記のWebサイトにアクセスする場合には、仮想マシン1924上のWebブラウザを利用して上記のWebサイトにアクセスするかを決定すべきことを示す情報を、実行環境決定部1714に送信する。
仮想マシン1926上のマルウエア検出部2314は、電子データ保存部2316に格納されたデータを走査して、マルウエアを検出する。電子データ保存部2316に電子データのアドレスが格納されている場合、マルウエア検出部2314は、例えば、下記の手順により、マルウエアを検出する。
電子データ保存部2316に電子データのアドレスが格納されている場合、まず、仮想マシン1910上の通信制御部2312が、仮想マシン1910と、仮想マシン1924との間に、遠隔操作可能な通信経路を確立する。次に、マルウエア検出部2314が、仮想マシン1924上の電子ファイル実行部430に対して、Webブラウザを実行して、上記のWebサイトにアクセスするための命令を、上記の遠隔操作可能な通信経路を介して送信する。
一実施形態において、マルウエア検出部2314は、電子ファイル実行部430から、仮想マシン1924上で実行された処理の結果を示す表示画面の画像データを受信する。マルウエア検出部2314は、上記の画像データを解析して、上記のWebサイトがマルウエアに感染しているか否かを判定してよい。
他の実施形態において、マルウエア検出部2314は、電子ファイル実行部430から、コンテンツデータを受信する。コンテンツデータとしては、HTMLデータ、CSSデザインデータ、ブラウザキャッシュデータ、動画データ、静止画データ、音声データなどを例示することができる。ブラウザキャッシュデータとしては、クッキー等を例示することができる。マルウエア検出部2314は、上記のコンテンツデータを解析して、上記のWebサイトがマルウエアに感染しているか否かを判定してもよい。
マルウエアが検出された場合、マルウエア検出部2314は、マルウエアが検出されたことを示す情報を、仮想マシン1910上のレポート作成部2218に送信する。レポート作成部2218は、マルウエア検出部2314によるマルウエアの検出状況に関するレポートを作成する。
マルウエアが検出された場合、マルウエア検出部2314は、マルウエアが検出されたことを示す情報を、仮想マシン1910上のマルウエア情報共有部2216に送信してもよい。マルウエア情報共有部2216は、例えば、電子データ保存部2316を参照して、過去に上記のWebサイトにアクセスしたことのある他の情報処理装置の識別情報を取得する。マルウエア情報共有部2216は、他の情報処理装置に、上記のWebサイトがマルウエアに感染していたことを示す情報を送信してよい。
[物理マシン1900の他の実施形態]
図24は、物理マシン1900のシステム構成の他の例を概略的に示す。本実施形態によれば、コンテナ型仮想化技術により、単一のホストOS2020の上で、コンテナ2422、コンテナ2424、コンテナ2426、及び、コンテナ2428が作成される。複数のコンテナのそれぞれにおいては、異なるアプリケーションが実行される。これにより、図19〜図23に関連して説明されたメールシステム1700と同様のシステムを実現することができる。
例えば、コンテナ2422のプロセス空間2432では、物理マシン1900の物理リソース2010(例えば、CPUなどのプロセッサである。)を、クライアント端末1702の各部として機能させるためのプログラムが実行される。同様に、コンテナ2424のプロセス空間2434では、物理マシン1900の物理リソース2010を、仮想サーバ管理部410として機能させるためのプログラムが実行される。コンテナ2426のプロセス空間2436では、物理マシン1900の物理リソース2010を、仮想サーバ1704の各部として機能させるためのプログラムが実行される。コンテナ2428のプロセス空間2438では、物理マシン1900の物理リソース2010を、仮想サーバ414として機能させるためのプログラムが実行される。
上述のとおり、(i)電子ファイルを実行するための命令が受け付けられた後、当該電子ファイルを実行するためのコンテナが用意されてもよく、(ii)電子ファイルを実行するための命令が受け付けられる前に既に用意されていたコンテナを利用して、当該電子ファイルが事項されてもよい。コンテナは、電子ファイルが実行される度に用意されてもよい。コンテナは、電子ファイルの実行が終了した後、直ちに破棄されてもよく、電子ファイルの実行が終了してから、予め定められた期間が経過した後、破棄されてもよい。コンテナは、電子ファイルの実行が終了してから、ランダムに決定された期間が経過した後、破棄されてもよい。
図25及び図26を用いて、物理マシン1900のさらに他の例について説明する。図25は、物理マシン1900のシステム構成のさらに他の例を概略的に示す。図26は、図25に関連して説明された物理マシン1900において、データ管理ソフト2132が実行された場合に実現されるシステムの一例を概略的に示す。本実施形態において、データ管理ソフト2132は、コンピュータを、クライアント端末1702の各部及び仮想サーバ管理部410として機能させるためのプログラムであってよい。
本実施形態によれば、クライアント端末1702として動作する物理マシン1900の上で、仮想マシン1920が動作する点で、図19から図24に関連して説明された実施形態と相違する。図26に関連して説明される物理マシン1900は、仮想サーバ管理部410と、仮想マシン1920と、仮想バス1930とを備える点で、図22に関連して説明された仮想マシン1910と相違する。図25及び図26に関連して説明される仮想マシン1920は、仮想マシン1922を有しない点で、図19〜図21に関連して説明された仮想マシン1920と相違する。
図25に示されるとおり、本実施形態によれば、物理マシン1900のホストOS2020の上で、仮想化ソフト2022が動作することにより、仮想マシン1920と、仮想バス1930とが構築されている。この場合において、物理マシン1900の上でデータ管理ソフト2132が実行されると、図26に示されるとおり、物理マシン1900を、クライアント端末1702の各部として機能させるためのモジュール又はセクションが構築される。また、物理マシン1900を、仮想サーバ管理部410として機能させるためのモジュール又はセクションが構築される。
これにより、図19〜図23に関連して説明されたメールシステム1700と同様のシステムを実現することができる。なお、仮想化ソフト2022が実行される前に、データ管理ソフト2132が実行されてもよく、仮想化ソフト2022が実行された後で、データ管理ソフト2132が実行されてもよい。
図19〜図23に関連して説明された実施形態においては、メールシステム1700を用いて、情報処理装置の一例が説明された。しかしながら、情報処理装置は、メールシステム1700に限定されない。他の実施形態において、情報処理装置は、メールサーバを備えなくてもよい。さらに他の実施形態において、情報処理装置は、Webサイトにアクセスするためのシステムであってもよく、電子ファイル又は電子データを共有するためのシステムであってもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。
また、上述のとおり、技術的に矛盾しない範囲において、特定の実施形態について説明した事項を、他の実施形態に適用することができる。一実施形態において、図1〜3及び図7に関連して説明されたクライアント端末114が、図9に関連して説明されたクライアント端末912、又は、図17に関連して説明されたクライアント端末1702の機能又は特徴の一部を有してもよい。同様に、クライアント端末912が、クライアント端末114又はクライアント端末1702の機能又は特徴の一部を有してもよく、クライアント端末1702が、クライアント端末114又はクライアント端末912の機能又は特徴の一部を有してもよい。
他の実施形態において、図4に関連して説明された実行サーバ120が、図17に関連して説明された実行サーバ120の機能又は特徴の一部を有してもよい。同様に、図17に関連して説明された実行サーバ120が、図4に関連して説明された実行サーバ120の機能又は特徴の一部を有してもよい。
請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
本願明細書には、下記の事項が記載されている。下記の事項に、多様な変更または改良を加え得ることは、当業者にとって明らかである。
[項目1]
電子データから、電子ファイルを抽出する電子ファイル抽出部と、
上記電子ファイル抽出部により抽出された上記電子ファイル又は上記電子ファイルに関連するファイルを、上記電子ファイルを実行すべき実行環境に送信する電子ファイル送信部と、
上記実行環境との間に遠隔操作可能な通信経路を確立し、上記実行環境上で上記電子ファイルを実行させるための実行指示を、上記遠隔操作可能な通信経路を介して上記実行環境に送信する遠隔操作部と、
を備える、
情報処理装置。
[項目2]
上記電子ファイル抽出部により抽出された上記電子ファイルの形式、拡張子若しくは名称を変更して、又は上記電子ファイル抽出部により抽出された上記電子ファイルを暗号化して、上記電子ファイルに関連するファイルを生成するファイル変換部を更に備える、
項目1に記載の情報処理装置。
[項目3]
電子データから、電子ファイルを抽出する電子ファイル抽出部と、
遠隔操作により上記電子ファイルを実行すべき実行環境を決定する実行環境決定部と、
上記実行環境決定部により決定された上記実行環境を遠隔操作するための遠隔操作プログラムを生成する遠隔操作プログラム生成部と、
を備え、
上記遠隔操作プログラムは、
コンピュータに、
上記コンピュータと、上記実行環境決定部により決定された上記実行環境との間に、遠隔操作可能な通信経路を確立する手順、
を実行させるためのプログラムである、
情報処理装置。
[項目4]
上記遠隔操作プログラムは、
上記コンピュータに、
上記実行環境上で上記電子ファイルを実行させるための実行指示を、上記遠隔操作可能な通信経路を介して上記実行環境に送信する手順、
を更に実行させるためのプログラムである、
項目3に記載の情報処理装置。
[項目5]
上記遠隔操作プログラムは、
上記コンピュータに、
上記コンピュータから上記実行環境に対して、通信回線を介して、上記電子ファイル又は上記電子ファイルに関連するファイルを送信する手順、
を更に実行させるためのプログラムである、
項目3又は項目4に記載の情報処理装置。
[項目6]
上記実行環境に対して、通信回線を介して、上記電子ファイル又は上記電子ファイルに関連するファイルを送信する電子ファイル送信部を更に備える、
項目3又は項目4に記載の情報処理装置。
[項目7]
上記電子ファイル抽出部により抽出された上記電子ファイルの形式、拡張子若しくは名称を変更して、又は上記電子ファイル抽出部により抽出された上記電子ファイルを暗号化して、上記電子ファイルに関連するファイルを生成するファイル変換部を更に備える、
項目3から項目6までの何れか一項に記載の情報処理装置。
[項目8]
上記実行環境を更に備える、
項目1から項目7までの何れか一項に記載の情報処理装置。
[項目9]
上記実行環境は、仮想サーバ上に構築され、
上記仮想サーバは、
通信回線を介してユーザからの指示を受け付ける指示受付部と、
上記ユーザからの指示に基づいて、上記実行環境に送信された上記電子ファイル又は上記電子ファイルに関連するファイルを実行する電子ファイル実行部と、
上記通信回線を介して、ユーザに表示されるべき画面情報を送信する画面情報送信部と、
を有する、
項目8に記載の情報処理装置。
[項目10]
上記仮想サーバは、
上記実行環境の異常を検出する異常検出部を更に備える、
項目9に記載の情報処理装置。
[項目11]
上記異常検出部は、上記実行環境が上記ユーザからの指示に応じた動作以外の動作を実行した場合に、上記実行環境の異常を検出する、
項目10に記載の情報処理装置。
[項目12]
上記仮想サーバは、
外部との通信を制御する通信制御部を更に備える、
項目9から項目11までの何れか一項に記載の情報処理装置。
[項目13]
クライアント端末からの遠隔操作によって電子ファイルを実行する仮想サーバを備え、
上記仮想サーバは、
上記クライアント端末及び通信回線を介してユーザからの指示を受け付ける指示受付部と、
上記ユーザからの指示に基づいて、上記電子ファイルを実行する電子ファイル実行部と、
上記クライアント端末に対して、上記通信回線を介して、ユーザに表示されるべき画面情報を送信する画面情報送信部と、
上記仮想サーバの異常を検出する異常検出部と、
を有し、
上記異常検出部は、上記仮想サーバが上記ユーザからの指示に応じた動作以外の動作を実行した場合に、上記仮想サーバの異常を検出する、
情報処理装置。
[項目14]
上記仮想サーバは、
外部との通信を制御する通信制御部を更に備える、
項目13に記載の情報処理装置。
[項目15]
コンピュータを、項目1から項目14までの何れか一項に記載の情報処理装置として機能させるためのプログラム。
[項目16]
電子データから、電子ファイルを抽出する電子ファイル抽出段階と、
上記電子ファイル抽出段階において抽出された上記電子ファイル又は上記電子ファイルに関連するファイルを、上記電子ファイルを実行すべき実行環境に送信する電子ファイル送信段階と、
上記実行環境との間に遠隔操作可能な通信経路を確立し、上記実行環境上で上記電子ファイルを実行させるための実行指示を、上記遠隔操作可能な通信経路を介して上記実行環境に送信する遠隔操作段階と、
を備える、
情報処理方法。
[項目17]
電子データから、電子ファイルを抽出する電子ファイル抽出段階と、
遠隔操作により上記電子ファイルを実行すべき実行環境を決定する実行環境決定段階と、
上記実行環境決定段階において決定された上記実行環境を遠隔操作するための遠隔操作プログラムを生成する遠隔操作プログラム生成段階と、
を備え、
上記遠隔操作プログラムは、
コンピュータに、
上記コンピュータと、上記実行環境決定段階において決定された上記実行環境との間に、遠隔操作可能な通信経路を確立する手順、
を実行させるためのプログラムである、
情報処理方法。
[項目18]
記憶装置を有する第1のコンピュータが記憶するデータ構造であって、
上記データ構造は、
電子ファイルのデータと、
上記電子ファイルの送信先を識別する送信先識別データと、
上記電子ファイルを実行すべき第2のコンピュータを識別する実行環境識別データと、
上記第1のコンピュータに、上記送信先識別データにより識別される送信先に上記電子ファイルのデータを送信する手順と、上記第1のコンピュータ及び上記実行環境識別データにより識別される上記第2のコンピュータの間に遠隔操作可能な通信経路を確立する手順と、を実行させるためのプログラムと、
を備える、データ構造。
[項目2−1]
電子ファイルの操作に関する指示を取得する電子ファイル操作部と、
上記電子ファイルの操作を実行すべき実行環境との間に遠隔操作可能な通信経路を確立し、上記実行環境上で上記電子ファイルの操作を実行させるための実行指示を、上記遠隔操作可能な通信経路を介して上記実行環境に送信する遠隔操作部と、
上記指示に応じて、上記電子ファイルを上記実行環境に送信する電子ファイル送信部と、
を備える、
情報処理装置。
[項目2−2]
上記電子ファイルの形式、拡張子若しくは名称に基づいて、上記遠隔操作により上記電子ファイルを実行すべき実行環境を決定する実行環境決定部を更に備える、
項目2−1に記載の情報処理装置。
[項目2−3]
上記電子ファイルを格納する電子ファイル格納部と、
遠隔操作された後の上記電子ファイルを、上記電子ファイル格納部に格納するか否かを制御する電子ファイル格納制御部と、
を更に備える、
項目2−2に記載の情報処理装置。
[項目2−4]
ユーザの指示に応じて、電子データを特定する電子データ特定情報を取得する電子データ特定情報取得部と、
上記電子データを実行すべき実行環境を決定する実行環境決定部と、
上記実行環境決定部により決定された上記実行環境を遠隔操作するための遠隔操作プログラムを生成する遠隔操作プログラム生成部と、
を備え、
上記遠隔操作プログラムは、
コンピュータに、
上記コンピュータと、上記実行環境決定部により決定された上記実行環境との間に、遠隔操作可能な第1の通信経路を確立する手順、
を実行させるためのプログラムであり、
上記実行環境決定部により決定された上記実行環境は、当該コンピュータとは別のコンピュータとの間の第2の通信経路を有する、
情報処理装置。
[項目2−5]
上記遠隔操作プログラムは、上記コンピュータに、
上記実行環境と、上記別のコンピュータとの間に上記第2の通信経路を確立させる手順を更に実行させるためのプログラムである、
項目2−4に記載の情報処理装置。
[項目2−6]
上記実行環境決定部は、上記電子データ特定情報取得部が予め定められたプロセスを用いて上記電子データ特定情報を取得した場合に、上記コンピュータに、上記実行環境と上記別のコンピュータとの間に上記第2の通信経路を確立させる手順を実行させるための上記遠隔操作プログラムを生成する、
項目2−5に記載の情報処理装置。
[項目2−7]
上記遠隔操作プログラムは、上記コンピュータに、
上記電子データ特定情報により特定された上記電子データを上記第2の通信経路を介して取得し、取得した当該電子データを上記実行環境で処理させるための指示を、上記第1の通信経路を介して上記実行環境に送信する手順を更に実行させるためのプログラムである、
項目2−4から項目2−6までの何れか一項に記載の情報処理装置。
[項目2−8]
クライアント端末からの遠隔操作によって電子データを実行する仮想サーバを備え、
上記仮想サーバは、
上記クライアント端末におけるユーザの指示に応じて、当該クライアント端末との通信を、第1の通信経路を介して行う第1通信部と、
上記クライアント端末とは異なる端末から、上記ユーザの指示に応じた電子データを第2の通信経路を介して取得する第2通信部と、
取得した上記電子データを実行する電子ファイル実行部と、
上記クライアント端末に対して、上記第1の通信経路を介して、ユーザに表示されるべき画面情報を送信する画面情報送信部と、
を有する、
情報処理装置。
[項目2−9]
コンピュータを、項目2−1から項目2−8までの何れか一項に記載の情報処理装置として機能させるためのプログラム。
10 ネットワーク、20 端末、22 クライアント端末、24 クライアント端末、100 ファイル転送システム、110 メールシステム、112 メールサーバ、114 クライアント端末、120 実行サーバ、222 通信制御部、224 電子データ取得部、226 電子ファイル抽出部、228 電子ファイル処理部、242 通信制御部、244 遠隔操作部、246 入力部、248 出力部、312 実行環境決定部、314 電子ファイル送信部、316 通知データ生成部、318 通知データ送信部、330 通知データ、332 ヘッダ情報、334 メール本文、336 URI、340 添付ファイル、410 仮想サーバ管理部、412 仮想サーバ、414 仮想サーバ、416 仮想サーバ、422 通信制御部、424 認証部、426 電子ファイル格納部、428 指示受付部、430 電子ファイル実行部、432 画面情報送信部、434 異常検出部、728 電子ファイル処理部、730 通知データ、736 遠隔操作プログラム、902 メール作成部、910 メールシステム、912 メールサーバ、914 クライアント端末、1200 ファイル転送システム、1212 ファイル共有サーバ、1400 ファイル処理システム、1401 クライアント端末、1402 電子ファイル格納部、1404 電子ファイル操作部、1406 電子ファイル格納制御部、1408 実行環境決定部、1700 メールシステム、1702 クライアント端末、1704 仮想サーバ、1706 通信制御部、1708 第1通信部、1710 第2通信部、1712 電子データ特定情報取得部、1714 実行環境決定部、1720 通信経路、1730 通信経路、1750 外部の装置、1900 物理マシン、1910 仮想マシン、1920 仮想マシン、1922 仮想マシン、1924 仮想マシン、1926 仮想マシン、1930 仮想バス、2010 物理リソース、2020 ホストOS、2022 仮想化ソフト、2110 仮想リソース、2120 ゲストOS、2132 データ管理ソフト、2134 実行代行ソフト、2142 Webブラウザ、2144 アプリケーションソフト、2212 履歴管理部、2214 データ処理制限部、2216 マルウエア情報共有部、2218 レポート作成部、2312 通信制御部、2314 マルウエア検出部、2316 電子データ保存部、2422 コンテナ、2424 コンテナ、2426 コンテナ、2428 コンテナ、2432 プロセス空間、2434 プロセス空間、2436 プロセス空間、2438 プロセス空間

Claims (11)

  1. 電子データの操作に関する命令を取得する命令取得部と、
    前記命令取得部が前記命令を取得した場合に、前記電子データの操作を実行すべき実行環境との間に遠隔操作可能な通信経路を確立し、前記実行環境上で前記電子データの操作を実行させるための実行指示を、前記遠隔操作可能な通信経路を介して前記実行環境に送信する遠隔操作部と、
    前記命令取得部が前記命令を取得した場合に、前記電子データ又は予め定められたアルゴリズムに基づいて変換された前記電子データを前記実行環境に送信するデータ送信部と、
    予め定められた期間、前記電子データ又は予め定められたアルゴリズムに基づいて変換された前記電子データを記憶する実行履歴格納部と、
    前記実行履歴格納部に保存された前記電子データ又は予め定められたアルゴリズムに基づいて変換された前記電子データを走査して、マルウエアを検出するマルウエア検出部と、
    前記予め定められた期間が満了するまで、前記電子データの操作を制限する制限部と、
    を備え、
    前記マルウエア検出部は、前記予め定められた期間の間に、マルウエアを検出するための処理を複数回実行することで、電子データがアクセスされたり又は実行されたりした時点においては検出することができなかったマルウエアを、前記予め定められた期間の間に検出可能とする、情報処理装置。
  2. 前記データ送信部は、前記命令取得部が前記命令を取得した場合に、前記電子データ又は予め定められたアルゴリズムに基づいて変換された前記電子データを、前記実行環境及び前記実行履歴格納部に送信する、
    請求項1に記載の情報処理装置。
  3. 前記実行環境は、前記電子データの操作を実行した後、実行後の前記電子データを前記実行履歴格納部に送信する、
    請求項1又は請求項2に記載の情報処理装置。
  4. 前記電子データが他の情報処理装置に送信された場合、前記他の情報処理装置の識別情報を記憶する送信履歴格納部と、
    前記マルウエア検出部がマルウエアを検出した場合、前記送信履歴格納部に格納された前記他の情報処理装置の識別情報を参照して、前記他の情報処理装置に、前記電子データがマルウエアに感染していたことを通知する通知部と、
    をさらに備える、
    請求項1から請求項までの何れか一項に記載の情報処理装置。
  5. 電子データにアクセスするための命令を取得する命令取得部と、
    前記命令取得部が前記命令を取得した場合に、前記電子データにアクセスするための処理を実行すべき実行環境との間に遠隔操作可能な通信経路を確立し、前記実行環境上で前記電子データにアクセスするための処理を実行させるための実行指示を、前記遠隔操作可能な通信経路を介して前記実行環境に送信する遠隔操作部と、
    予め定められた期間、前記電子データのアドレス、又は、前記電子データ若しくは予め定められたアルゴリズムに基づいて変換された前記電子データを記憶するアクセス履歴格納部と、
    (i)前記アクセス履歴保存部に保存された前記アドレスにアクセスしてマルウエアを検出する、又は、(ii)前記アクセス履歴保存部に保存された前記電子データ若しくは予め定められたアルゴリズムに基づいて変換された前記電子データを走査して、マルウエアを検出するマルウエア検出部と、
    前記予め定められた期間が満了するまで、前記電子データの操作を制限する制限部と、
    を備え、
    前記マルウエア検出部は、前記予め定められた期間の間に、マルウエアを検出するための処理を複数回実行することで、電子データがアクセスされたり又は実行されたりした時点においては検出することができなかったマルウエアを、前記予め定められた期間の間に検出可能とする、情報処理装置。
  6. 他の情報処理装置から、前記電子データにアクセスしたことを示す情報を取得するアクセス情報取得部と、
    前記電子データにアクセスした前記他の情報処理装置の識別情報を記憶するアクセス情報格納部と、
    前記マルウエア検出部がマルウエアを検出した場合、前記アクセス情報格納部に格納された前記他の情報処理装置の識別情報を参照して、前記他の情報処理装置に、前記電子データがマルウエアに感染していたことを通知する通知部と、
    をさらに備える、
    請求項に記載の情報処理装置。
  7. 前記マルウエア検出部によるマルウエアの検出状況に関するレポートを作成するレポート作成部をさらに備える、
    請求項1から請求項までの何れか一項に記載の情報処理装置。
  8. 前記実行環境を削除する削除部をさらに備える、
    請求項1から請求項までの何れか一項に記載の情報処理装置。
  9. 前記実行環境のスナップショットを準備するスタンバイ部と、
    前記実行環境を、前記実行環境のスナップショットへと戻すクリーンナップ部と、
    をさらに備える、
    請求項1から請求項までの何れか一項に記載の情報処理装置。
  10. 前記遠隔操作部と、前記実行環境とが、同一の物理マシン上で実現される、
    請求項1から請求項までの何れか一項に記載の情報処理装置。
  11. コンピュータを、請求項1から請求項10までの何れか一項に記載の情報処理装置として機能させるためのプログラム。
JP2016575986A 2016-12-28 2016-12-28 情報処理装置及びプログラム Active JP6768530B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/089202 WO2018123061A1 (ja) 2016-12-28 2016-12-28 情報処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2018123061A1 JPWO2018123061A1 (ja) 2019-10-31
JP6768530B2 true JP6768530B2 (ja) 2020-10-14

Family

ID=62708205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016575986A Active JP6768530B2 (ja) 2016-12-28 2016-12-28 情報処理装置及びプログラム

Country Status (3)

Country Link
US (1) US11368472B2 (ja)
JP (1) JP6768530B2 (ja)
WO (1) WO2018123061A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7028065B2 (ja) * 2018-05-30 2022-03-02 コニカミノルタ株式会社 画像処理装置、その制御方法、およびプログラム
CN111027062A (zh) * 2019-03-29 2020-04-17 哈尔滨安天科技集团股份有限公司 一种靶场应用失陷状态的评估方法及装置
US11494216B2 (en) * 2019-08-16 2022-11-08 Google Llc Behavior-based VM resource capture for forensics

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6851057B1 (en) * 1999-11-30 2005-02-01 Symantec Corporation Data driven detection of viruses
JP2002328874A (ja) 2001-05-01 2002-11-15 Shunji Sugaya 電子メールの管理方法と管理装置
JP2002366487A (ja) 2001-06-05 2002-12-20 Sogen Aoyama 不審な電子メールからの保護システム
JP3914757B2 (ja) 2001-11-30 2007-05-16 デュアキシズ株式会社 ウィルス検査のための装置と方法とシステム
JP2003288227A (ja) * 2002-01-25 2003-10-10 Japan Science & Technology Corp コンピュータウイルスの駆除方法及びコンピュータウイルスの検出表示方法
JP4145582B2 (ja) 2002-06-28 2008-09-03 Kddi株式会社 コンピュータウィルス検査装置およびメールゲートウェイシステム
JP2004133503A (ja) 2002-10-08 2004-04-30 Matsushita Electric Ind Co Ltd 情報処理装置およびそのプログラム
JP2005038361A (ja) 2003-07-14 2005-02-10 Hikari Tabei ゲートウエイ型の多重ウイルス検索方法
JP3869409B2 (ja) 2003-11-21 2007-01-17 株式会社大和総研 ウィルス感染防止システム、メール閲覧用プログラム、および添付ファイル閲覧用プログラム
JP4422559B2 (ja) 2004-06-11 2010-02-24 株式会社ジャストシステム プログラム実行システム、プログラム実行方法およびデータ管理プログラム
JP2007299110A (ja) 2006-04-28 2007-11-15 Brother Ind Ltd 情報処理装置,プログラム,および情報処理方法
JP4324975B2 (ja) 2006-09-27 2009-09-02 日本電気株式会社 負荷低減システム、計算機、及び負荷低減方法
JP5191849B2 (ja) * 2008-09-19 2013-05-08 株式会社日立システムズ 仮想マシンセキュリティ管理システム及び仮想マシンセキュリティ管理方法
US20100083381A1 (en) * 2008-09-30 2010-04-01 Khosravi Hormuzd M Hardware-based anti-virus scan service
US8739283B1 (en) * 2009-12-07 2014-05-27 Trend Micro, Inc. Automatic generation of malware clean pattern
US8844039B2 (en) * 2010-06-30 2014-09-23 F-Secure Corporation Malware image recognition
US9245114B2 (en) * 2010-08-26 2016-01-26 Verisign, Inc. Method and system for automatic detection and analysis of malware
US9300686B2 (en) * 2013-06-28 2016-03-29 Fireeye, Inc. System and method for detecting malicious links in electronic messages
JP5606599B1 (ja) * 2013-07-29 2014-10-15 デジタルア−ツ株式会社 情報処理装置、プログラム及び情報処理方法
JP6415924B2 (ja) * 2014-07-29 2018-10-31 デジタルア−ツ株式会社 情報処理装置及びプログラム
US9401925B1 (en) * 2013-09-12 2016-07-26 Symantec Corporation Systems and methods for detecting security threats based on user profiles
JP6337498B2 (ja) * 2014-02-18 2018-06-06 日本電気株式会社 復元装置、復元システム、復元方法、および、プログラム
JP6394455B2 (ja) 2015-03-24 2018-09-26 富士通株式会社 情報処理システム、管理装置およびプログラム
KR101666176B1 (ko) * 2015-06-25 2016-10-14 한국전자통신연구원 안드로이드 플랫폼 기반의 어플리케이션 모니터링 장치 및 방법
RU2589862C1 (ru) * 2015-06-30 2016-07-10 Закрытое акционерное общество "Лаборатория Касперского" Способ обнаружения вредоносного кода в оперативной памяти
US10075457B2 (en) * 2016-03-30 2018-09-11 Fortinet, Inc. Sandboxing protection for endpoints
US20180060569A1 (en) * 2016-08-26 2018-03-01 Qualcomm Incorporated Detection and Prevention of Malicious Shell Exploits
US10162966B1 (en) * 2016-10-19 2018-12-25 Trend Micro Incorporated Anti-malware system with evasion code detection and rectification

Also Published As

Publication number Publication date
US11368472B2 (en) 2022-06-21
US20190356680A1 (en) 2019-11-21
WO2018123061A1 (ja) 2018-07-05
JPWO2018123061A1 (ja) 2019-10-31

Similar Documents

Publication Publication Date Title
KR102386560B1 (ko) 하드웨어 기반의 가상화된 보안 격리 기법
JP4802295B1 (ja) ネットワークシステム及び仮想プライベート接続形成方法
JP4734592B2 (ja) クライアントリダイレクトによるプライベートネットワークへの安全なアクセス提供方法およびシステム
EP2685697B1 (en) A method to obtain a virtual desktop stored in a cloud storage system, a corresponding cloud broker and cloud desktop agent
US9065725B1 (en) Techniques for virtual environment-based web client management
US9614826B1 (en) Sensitive data protection
JP2011221991A (ja) 端末装置、サーバ装置、通信システム、端末装置の制御方法、プログラムおよびその記録媒体
US10032027B2 (en) Information processing apparatus and program for executing an electronic data in an execution environment
JP6768530B2 (ja) 情報処理装置及びプログラム
JP5445262B2 (ja) 検疫ネットワークシステム、検疫管理サーバ、仮想端末へのリモートアクセス中継方法およびそのプログラム
JP5606599B1 (ja) 情報処理装置、プログラム及び情報処理方法
US20120069401A1 (en) Method for browsing, recording medium, access server and user station for implementing said method
CN111988292B (zh) 一种内网终端访问互联网的方法、装置及系统
JP6415924B2 (ja) 情報処理装置及びプログラム
WO2016059846A1 (ja) 情報処理装置及びプログラム
AU2015331768A1 (en) Information processing device and program
JP7286073B2 (ja) ウェブブラウザ、クライアント、情報閲覧支援システム、および情報閲覧支援方法
JP2019092106A (ja) ネットワーク監視装置、ネットワーク監視方法及びネットワーク監視プログラム
JP5617108B2 (ja) 静的nat形成装置、リバースプロキシサーバ及び仮想接続制御装置
WO2008054621A1 (en) Method and system of managing accounts by a network server
JP2022138831A (ja) ウェブブラウザ、クライアント、情報閲覧支援システム、および情報閲覧支援方法
JP2016036133A (ja) 仮想通信システム
JP2015028790A (ja) 情報処理装置、プログラム及び情報処理方法
Ji Research on Communication Automation with Design and Implementation of FTP Based on Serv-U

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180305

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190424

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200923

R150 Certificate of patent or registration of utility model

Ref document number: 6768530

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250