JP4878480B2 - 一方向性を確保したファイル転送方法及びシステム並びにプログラム - Google Patents

一方向性を確保したファイル転送方法及びシステム並びにプログラム Download PDF

Info

Publication number
JP4878480B2
JP4878480B2 JP2006041945A JP2006041945A JP4878480B2 JP 4878480 B2 JP4878480 B2 JP 4878480B2 JP 2006041945 A JP2006041945 A JP 2006041945A JP 2006041945 A JP2006041945 A JP 2006041945A JP 4878480 B2 JP4878480 B2 JP 4878480B2
Authority
JP
Japan
Prior art keywords
file
check
transmission
authority
reception
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.)
Expired - Fee Related
Application number
JP2006041945A
Other languages
English (en)
Other versions
JP2007219975A (ja
Inventor
秀明 才所
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2006041945A priority Critical patent/JP4878480B2/ja
Publication of JP2007219975A publication Critical patent/JP2007219975A/ja
Application granted granted Critical
Publication of JP4878480B2 publication Critical patent/JP4878480B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、アプリケーションの脆弱性を攻撃されても逆方向へのファイル転送を抑止し、一方向性を確保したファイル転送を実現するファイル転送方法及びシステム並びにプログラムに関する。
情報漏洩問題などに対し、高セキュリティ環境が望まれている分野では、セキュリティレベルの異なるネットワークを物理的に分離している。これはエアギャップとも呼ばれるが、物理的にネットワークを分離することにより情報漏洩問題などを防ぐことができる。
また、VPNなどの技術を用いて論理的に分離したネットワークを利用する場合もある。これは、前記のエアギャップよりセキュリティは下がるものの、情報漏洩問題を解決することが出来る。
このように、セキュリティレベルの異なるネットワークを複数利用する場合、利便性のために、一方向性を確保したファイル転送機能が望まれる場合がある。例えば、機密データを扱う機関に意おいて、当該機関からネットワークをかいして外部のWebサイト等にアクセスし、そのWebサイトから情報をファイル転送によって収集するという処理は許可するが、外部から当該機関にアクセスし、当該機関が保持する機密データをファイル転送するという処理は許さないというケースである。
従来において、ファイル転送を行なう技術として、RFC 959(非特許文献1)で規程されたFTP(File Transfer Protocol)を実装したFTPサーバやFTPクライアントが知られている。また、各種アプリケーションの内部でも、独自にファイル転送機能を実現しているものもある。これらは、ファイル送信プログラムとファイル受信プログラムが、TCP(及びUDP)通信を利用して、独自のプロトコルでファイル転送を実現している。一方向のファイル転送は、これらの一部だけを実装すれば、実現可能である。
一方、通信データ内容をチェックし、異なるネットワークに転送する技術としては、アプリケーションゲートウェイがある。最も一般的なものは、Webプロキシと呼ばれるもので、通信先を限定したり、コンテンツフィルタリングを行ったりするものである。
そこで、FTPサーバやクライアントなどの従来技術を用いて、ファイル送信専用アプリケーションやファイル受信専用アプリケーションを実現し、アプリケーションゲートウェイなどの従来技術を用いてファイル転送用アプリケーションを実現し、このファイル転送用アプリケーションを中間に配置することにより、一方向のファイル転送やチェック機能を実現できる。
しかしながら、TCP通信は双方向データ通信のプロトコルであるため、送信専用あるいは受信専用、または転送用のアプリケーションそれ自体に脆弱性が存在した場合、これらのアプリケーションの脆弱性を攻撃し、逆方向のデータ通信を確立する攻撃コードを実行させることが可能である。したがって、さらに逆方向のファイルデータ転送を実現する攻撃コードを実行させれば、逆方向のファイル転送が実現できてしまう。また、チェックの回避も行われてしまう可能性がある。
そこで、MAC(強制アクセス制御)機構と、最小特権機構を持つOS、いわゆるセキュアOS(非特許文献2、3)を利用することが考えられる。すなわち、現在のセキュリティ技術において、DAC(任意アクセス制御)しか持たないOS(オペレーティングシステム)では、アプリケーションの脆弱性により、root特権(管理者権限)を不正に奪取し利用された場合、リソースに無制限にアクセスすることが可能になり、問題であるとされている。また、アプリケーションの脆弱性を完全に排除することは不可能とされている。
セキュアOSでは、MAC機構によりroot権限を持つユーザやプロセスでも回避不可能なアクセス制御を実現し、非常に細かいアクセス制御設定が可能な最小特権機構を用いて、アクセス制御設定を施す。これにより、各ユーザやプロセスが必要最小限の権限を持ち、仮にroot特権を奪取されても、セキュアOSで設定された権限を逸脱できないため、被害を最小限に抑えられる。
Request for Comments: 959 FILE TRANSFER PROTOCOL (FTP) 1140406424820_0.txt number=959 個人情報保護法から見るセキュアOSの必要性 第2回:「セキュアOSとは」 http://www.thinkit.co.jp/free/compare/7/2/1.html 「セキュアOS SELinux入門」第1回 セキュアOSが必要な理由 http://itpro.nikkeibp.co.jp/members/ITPro/oss/20040422/1/
しかし、セキュアOSでは、必要最小限のアクセス権限を与えることでセキュリティを高めるが、必要な権限は与えざるえない。すなわち、各々のアプリケーション間は、主にTCP通信を利用することになるので、ファイル転送アプリケーションにもTCP通信を行なう権限を与えざるを得ない。
しかし、TCP通信を行なう権限を与えてしまうと、TCP通信は双方向データ通信のプロトコルであるため、前述の場合と同様に、アプリケーションの脆弱性を攻撃し、逆方向のデータ通信路を確立する攻撃コードを実行させた後、さらに逆方向のファイルデータ転送を実現する攻撃コードを実行させることにより、逆方向のファイル転送を許してしまうという事態が生じ、転送データのチェックの回避も行われてしまう可能性がある。
本発明の目的は、ファイル転送アプリケーションの脆弱性を攻撃されても、逆方向へのファイルデータ転送が不可能な、一方向性を確保したファイル転送を実現できるファイル転送方法及びシステム並びにプログラムを提供することにある。
上記目的を達成するために、本発明に係る一方向性を確保したファイル転送方法は、転送元から受信したファイルを転送先への一方向性を確保して転送するファイル転送サーバにおけるファイル転送方法であって、
前記ファイル転送サーバのファイル受信プロセスが、当該ファイル受信プロセスに予め設定された通信権限に基づき転送元から送信されたファイルを受信し、当該ファイル受信プロセスに予め設定された書き込み権限に基づき前記ファイル転送サーバ内の受信用記憶手段に一時記憶した後、当該ファイル受信プロセスに予め設定された通信権限に基づき前記ファイル転送サーバ内に設けられたチェックプロセスに対して、データを伴わないシグナルと呼ばれる一方向の受信通知を送信する第1のステップと、
前記受信通知を受信した前記チェックプロセスが、当該チェックプロセスに読み込み権限が設定されたチェックルールテーブルからチェックルールを読み込み、さらに当該チェックプロセスに予め設定された読み込み権限に基づき前記受信用記憶手段から一時記憶されたファイルを読み込み、読み込んだファイルを前記チェックルールに従ってチェックし、前記チェックルールに抵触しない場合のみ当該チェックプロセスに書き込み権限が予め設定された送信用記憶手段に前記ファイルを一時記憶させた後、当該チェックプロセスに起動権限が予め設定された前記ファイル転送サーバ内のファイル送信プロセスを起動すると共に、送信済みであることを意味するシグナルを前記ファイル受信プロセスに送信する第2のステップと、
起動された前記ファイル送信プロセスが、当該ファイル送信プロセスにファイル読み込み権限が予め設定された前記送信用記憶手段からファイルを読み込み、当該ファイル送信プロセスに通信権限が予め設定されたインタフェースを介して前記送信用記憶手段から読み込んだファイルを転送先に転送する第3のステップと
を備えることを特徴とする。
また、前記第2のステップにおいて、前記受信用記憶手段から読み込んだファイルのデータが前記チェックルールに抵触した場合には送信不可を意味するシグナルを受信元の前記ファイル受信プロセスに送信することを特徴とする。
本発明に係るファイル転送システムは、転送元から受信したファイルを転送先への一方向性を確保して転送するファイル転送サーバから成るファイル転送システムであって、
予め設定された通信権限に基づき転送元から送信されたファイルを受信し、予め設定された書き込み権限に基づき前記ファイル転送サーバ内の受信用記憶手段に対し受信したファイルを一時記憶した後、予め設定された通信権限に基づき前記ファイル転送サーバ内に設けられたチェックプロセスに対して、データを伴わないシグナルと呼ばれる一方向の受信通知を送信するファイル受信手段と、
前記受信通知を受信したことにより、読み込み権限が予め設定されたチェックルールテーブルからチェックルールを読み込み、さらに予め設定された読み込み権限に基づき前記受信用記憶手段から一時記憶されたファイルを読み込み、読み込んだファイルを前記チェックルールに従ってチェックし、前記チェックルールに抵触しない場合のみ書き込み権限が予め設定された送信用記憶手段に前記ファイルを一時記憶させた後、起動権限が予め設定された前記ファイル転送サーバ内のファイル送信手段を起動すると共に、送信済みであることを意味するシグナルを前記ファイル受信手段に送信するチェック手段と、
前記チェック手段により起動されたことにより、ファイル読み込み権限が予め設定された前記送信用記憶手段からファイルを読み込み、通信権限が予め設定されたインタフェースを介して前記送信用記憶手段から読み込んだファイルを転送先に転送するファイル送信手段とを備えることを特徴とする。
また、前記チェック手段が、前記受信用記憶手段から読み込んだファイルのデータが前記チェックルールに抵触した場合には送信不可を意味するシグナルを受信元の前記ファイル受信手段に送信することを特徴とする。
コンピュータを、転送元から受信したファイルを転送先へ転送するファイル転送手段として機能させるプログラムであって、
コンピュータを、
予め設定された通信権限に基づき転送元から送信されたファイルを受信し、予め設定された書き込み権限に基づき前記ファイル転送サーバ内の受信用記憶手段に対し受信したファイルを一時記憶した後、予め設定された通信権限に基づき前記ファイル転送サーバ内に設けられたチェックプロセスに対して、データを伴わないシグナルと呼ばれる一方向の受信通知を送信するファイル受信手段と、
前記受信通知を受信したことにより、読み込み権限が予め設定されたチェックルールテーブルからチェックルールを読み込み、さらに予め設定された読み込み権限に基づき前記受信用記憶手段から一時記憶されたファイルを読み込み、読み込んだファイルを前記チェックルールに従ってチェックし、前記チェックルールに抵触しない場合のみ書き込み権限が予め設定された送信用記憶手段に前記ファイルを一時記憶させた後、起動権限が予め設定された前記ファイル転送サーバ内のファイル送信手段を起動すると共に、送信済みであることを意味するシグナルを前記ファイル受信手段に送信するチェック手段と、
前記チェック手段により起動されたことにより、ファイル読み込み権限が予め設定された前記送信用記憶手段からファイルを読み込み、通信権限が予め設定されたインタフェースを介して前記送信用記憶手段から読み込んだファイルを転送先に転送するファイル送信手段として機能させることを特徴とする。
また、前記チェック手段を、前記受信用記憶手段から読み込んだファイルのデータが前記チェックルールに抵触した場合には送信不可を意味するシグナルを受信元の前記ファイル受信手段に送信する手段として機能させることを特徴とする機能させることを特徴とする。
本発明によれば、ファイル転送アプリケーションの脆弱性を攻撃されても、逆方向へのファイルデータ転送が不可能な、一方向性を確保したファイル転送を実現できる。
以下、本発明を実施する場合の一形態を図面を参照して具体的に説明する。なお、以下に説明する実施形態では、Linuxを前提としているが、同様の機能がある他のOSでも同様である。また、本発明はセキュアOSも設定方法も含まれているが、説明の都合上、セキュアOSの設定方法については後で説明する。
図1は、本発明の実施形態を示すシステム構成図である。
本実施形態のファイル転送システムは、ネットワークA101、ネットワークB102、クライアントA110、クライアントB120、ファイル転送サーバ130で構成される。
ネットワークA101とB102は、物理的もしくは論理的に分離したネットワークである。本例では、ネットワークA101はファイルデータを送信する側のネットワークであり、ネットワークB102はファイルデータ受信する側のネットワークである。
クライアントA110は、ネットワークA101に接続されており、ファイル送信専用プログラム111が実装されている。ファイル送信専用プログラム111は、クライアントA110の操作に応じて、後述するセキュリティゲートアプリケーション140中のファイル受信プロセス141と通信を行い、ファイルデータを送るプログラムである。
クライアントB120は、ネットワークB102に接続されており、ファイル受信専用プログラム121が実装されている。ファイルデータ受信専用プログラム121は、後述するセキュリティゲートアプリケーション140中のファイル送信プロセス143と通信を行い、ファイル送信プロセス143から送られてくるファイルデータを受信するプログラムである。
ファイル転送サーバ130は、ネットワークA101、ネットワークB102の両方に接続されており、セキュリティゲートアプリケーション140が実装されている。
セキュリティゲートアプリケーション140は、ファイル送信専用プログラム111とファイル受信専用プログラム121の間のファイルデータの通信を仲介し、異なるネットワーク間でのファイルデータ転送を実現するものである。
セキュリティゲートアプリケーション140は、ファイル受信プロセス141、チェックプロセス142、ファイル送信プロセス143の3つのプロセスと、受信用ディレクトリ144、送信用ディレクトリ145の2つのディレクトリ、チェックルールテーブル146から構成されている。
図2は、セキュリティゲートアプリケーション140が、ファイル送信専用プログラム111からファイルデータを受けた際の、全体の処理概要を示すフローチャートである。
簡単に説明すると、まず、ファイル受信プロセス141がファイルデータ受信処理を行い(ステップ201)、チェックプロセス142が受け取ったファイルデータの通信先やコンテンツなどのチェック行い(ステップ202)、チェックが通ればファイル送信プロセス143がファイルデータ送信を行なう(ステップ203)。ステップ202で、チェックが通らなければ終了する。
次に、通信されるファイルデータの例を図3を用いて説明する。
ファイルデータ300は、ファイル名301、ファイル属性302、実ファイル内容303で構成されている。ファイル名301は、送受信されるファイル名そのものである。ファイル属性302は、ファイルサイズやハッシュ値、通信先など、ファイルデータ送受信やチェックに利用するデータである。本実施形態では、特に触れないが、ファイルに関連するあらゆるデータを入れてチェックプロセスなどで利用しても良い。実ファイル内容303は、送受信されるファイル内容のデータそのものである。
ファイル送信専用プログラム111は、送信するファイルから、ファイルデータ300を作成し、ファイル受信プロセス141に送る。ファイルデータ受信専用プログラム121は、ファイルデータ300を受信し、実際のファイルに直す。
次に、セキュリティゲートアプリケーション140の処理の詳細を説明する。
図4は、ファイルデータ受信処理(図2のステップ201)の処理を行なうファイル受信プロセス141の処理を示すフローチャートである。
ファイル受信プロセス141は、まずファイルデータを受信し、受信用ディレクトリ144に書き出す(ステップ401)。このときのファイル名は特定の名前、もしくはファイル受信プロセス141のプロセスIDなど、チェックプロセス142に予め与えられる、もしくは、特定できる名前を利用する。本実施形態では、ファイル受信プロセス141のプロセスIDを用いることとする。
次に、ファイル受信プロセス141は、チェックプロセス142に、一方向でデータを伴わない、かつセキュアOSで制御可能な方法で、ファイルが受信されたことをチェックプロセス142に通知する(ステップ402)。この具体的な方法の例として挙げられるのは、Linuxのシグナルを利用することである。
ここで、Linuxのシグナルの概念を簡単に説明する。Linuxでは、プロセスは他のプロセスに対して、シグナルと呼ばれる一方向の通知を行なうことができる。シグナルには、シグナル番号によって、その通知に意味を持たせることができる。シグナルを受け取ったプロセスは、シグナル番号と通知元プロセスIDを識別可能である。ただし、シグナルでは送信元のプロセスがデータを付加することはできない。また、シグナルの送受信は、SELinuxなどのセキュアOSで制御可能である。
本実施例では、Linuxを利用して説明するが、その他のOSでは、それぞれのOSで用意された同等の機能を利用するものとする。以下では、単にシグナルを送ると記述する。
ステップ402の後、ファイル受信プロセス141は、チェックプロセス142からのシグナルを待つ(ステップ403)。チェックプロセス142からシグナルを受信したら、そのシグナルがファイルデータ送信済みの意味を持つシグナルであるかを識別する(ステップ404)。
ステップ404で、送信済みを示すシグナルであれば、受信プロセス141は、それをクライアントA110のファイル送信専用プログラム111に伝える通信を行なう送信済み処理を行なう。
送信されなかったという意味のシグナルであれば、それをファイル送信専用プログラム111に伝える通信を行なう送信不可処理を行なう。
本実施形態では、詳細に記述しないが、ファイル送信専用プログラム111に、ユーザに送信できたかどうかを告知する処理を入れ、受信プロセス141が、その告知に利用する情報を作成し通信を行なっても良い。
図5は、ファイルデータ内容のチェック処理(図2のステップ202)を行なうチェックプロセス142が、受信プロセス141からシグナルを受信した(図4のステップ402)後の処理を示すフローチャートである。
ファイルチェックプロセス142は、受信したシグナルの送信元のプロセスIDを保持する(ステップ501)。この保持したプロセスIDは、受信プロセス141のプロセスIDであり、また、ステップ401で説明したように、受信したファイルデータ300を受信ディレクトリ144上に書き出した際のファイル名でもある。
次に、チェックプロセス142は、チェックルールテーブル146からチェックルールを読み込んで、受信ディレクトリ144上のファイルデータをチェックする(ステップ502)。ファイルデータは、ステップ501で保持したプロセスIDからファイル名が分かるので、一意に識別できる。
ステップ502のチェックに関しては、本実施形態では詳細に記述しないが、ファイルデータ300に対し、ファイルデータ内に含まれるコードの実行を伴わないチェックであれば、既存のあらゆるチェック技術を利用できる。例えば、ファイル名301から、ファイル識別子を取り出してチェックを行なうなことや、実ファイル内容303におけるパターンマッチなどである。
ファイル識別子を用いたチェックの場合のチェックルールの例を図6に示す。
図6の601は、拒否するファイル識別子を列挙したチェックルールの例である。602は、許可するファイル識別子を列挙したルール146の例である。
次に、チェックプロセス142は、チェックが通ったかどうかを判別する(ステップ503)。もし、チェックが通らなければ、送信されなかったことを意味するシグナルを、先ほど保持したプロセスIDを用いて、受信プロセス141に送り、チェックしたファイルデータを削除する(ステップ504)。
ステップ503でチェックが通った場合は、チェックしたファイルデータを受信用ディレクトリ144から、送信用ディレクトリ145に移動する(ステップ505)。この移動では、ファイル名は変更せずに、ファイルが存在するディレクトリのみを変える。
次に、チェックプロセス142は、送信用ディレクトリ145上のファイルデータのパスを、引数に指定して、ファイル送信プロセス143を起動する(ステップ506)。
最後に、チェックプロセス142は、送信したことを意味するシグナルを受信プロセス141に送る(ステップ507)。
図7は、ファイルデータ送信(図2のステップ203)を行なうファイル送信プロセス143が、チェックプロセス142から起動された(図5のステップ506)後の処理を示すフローチャートである。
ファイル送信プロセス143は、まず、ステップ506で渡された引数のパスが示すファイルデータを、クライアントB120のファイルデータ受信専用プログラム121に送信する(ステップ701)。その後、ファイル送信プロセス143は、送信したファイルデータを削除する(ステップ702)。
以上により、チェック機能を備えた一方向のファイルデータ転送が終了する。
次に、セキュアOSの設定方法について説明する。
本実施形態ではSELinuxを前提とするが、他の同等の機能を持つセキュアOSでも良い。
SELinuxでは、起動のタイミングでプロセスにドメインと呼ばれるラベルを付与することができる。また、ディレクトリやファイルにタイプと呼ばれるラベルを付与することができる。また、ディレクトリ上に作られたファイルに対して、ファイル作成時に、ディレクトリと同じタイプを付与する設定もできる。
ドメインとタイプの間では、ファイルやディレクトリに対しては「読み込み、書き込み、実行」だけでなく、「削除」などの権限を設定することができる。ファイルやディレクトリ以外でも、ネットワークインタフェースに対して、通信の権限を与えることもできる。ドメイン間では、プロセス間通信やシグナル通信についても設定することができる。SELinuxにおいては、設定された権限以外の動作は行なえない。
そこで本実施形態では、各々のプロセスや、ファイルなどのリソースに適切なドメイン及びタイプを付与する。例えば、本実施形態で説明してきたプロセスやリソースに対しては、図8のようなドメインと、図9のようなタイプを予め付与しておく。
すなわち、ファイル受信プロセス141には、ドメインとして「recv_t」、タイプとして受信用ディレクトリ及び受信用ディレクトリ上のファイルを示す「recv_data_t」を付与し、チェックプロセス142にはドメインとして「check_t」、タイプとしてチェックルールテーブル146のチェックルールを示す「check_rule_t」を付与し、ファイル送信プロセス143にはドメインとして「send_t」、タイプとして送信用ディレクトリ及び送信用ディレクトリ上のファイルを示す「send_data_t」を付与しておく。さらに、ネットワークA101に接続されたインタフェースにはタイプとして「ifnet1_t」を付与し、ネットワークB102に接続されたインタフェースにはタイプとして「ifnet2_t」を付与しておく。
そして、必要最小限のアクセス権限を設定する。例えば、本実施形態で説明してきたプロセスやリソースに対しては、図10の権限設定テーブル1000に示したような権限設定を行なう。
図10において、1001はファイル受信プロセス141に設定したアクセス権限を示すものであり、アクセス先としてネットワークA101に接続されたインタフェースに付与したタイプ「ifnet1_t」が設定され、アクセス元であるファイル受信プロセス141からアクセス先であるネットワークA101に接続されたインタフェースに対して、TCP及びUDPなどの通信権限が設定されている。
1002はファイル受信プロセス141に設定したアクセス権限を示すものであり、アクセス先として受信用ディレクトリ144及び受信用ディレクトリ144上のファイルに付与したタイプ「recv_data_t」が設定され、アクセス元であるファイル受信プロセス141からアクセス先である受信用ディレクトリ144及び受信用ディレクトリ144上のファイルに対して、ファイル作成、ファイルの書き込み権限が設定されている。
1003はファイル受信プロセス141に設定したアクセス権限を示すものであり、アクセス先としてチェックプロセス142に付与したタイプ「check_t」が設定され、アクセス元であるファイル受信プロセス141からアクセス先であるチェックプロセス142に対して、ファイルを受信したことを示すシグナルを送信する権限が設定されている。
1004はチェックプロセス142に設定したアクセス権限を示すものであり、アクセス先としてチェックテーブル146のチェックルールに付与したタイプ「check_rule_t」が設定され、アクセス元であるチェックプロセス142からアクセス先であるチェックルールに対して、ファイル読み込み(ルール読み込み)を許可する権限が設定されている。
1005はチェックプロセス142に設定したアクセス権限を示すものであり、アクセス先として受信用ディレクトリ144及び受信用ディレクトリ144上のファイルに付与したタイプ「recv_data_t」が設定され、アクセス元であるチェックプロセス142からアクセス先である受信用ディレクトリ144及び受信用ディレクトリ144上のファイルに対して、ファイル読み込み、ファイル削除を行なう権限が設定されている。
1006はチェックプロセス142に設定したアクセス権限を示すものであり、アクセス先として送信用ディレクトリ145及び送信用ディレクトリ145上のファイルに付与したタイプ「send_data_t」が設定され、アクセス元であるチェックプロセス142からアクセス先である送信用ディレクトリ145及び送信用ディレクトリ145上のファイルに対して、ファイル生成、ファイル書き込みを行なう権限が設定されている。
1007はチェックプロセス142に設定したアクセス権限を示すものであり、アクセス先としてファイル送信プロセス143に付与したタイプ「send_t」が設定され、アクセス元であるチェックプロセス142からアクセス先であるファイル送信プロセス143に対して、当該プロセス143の起動を行なう権限が設定されている。
1008はチェックプロセス142に設定したアクセス権限を示すものであり、アクセス先としてファイル受信プロセス141に付与したタイプ「recv_t」が設定され、アクセス元であるチェックプロセス142からアクセス先であるファイル受信プロセス141に対して、ファイルを送信したことを示すシグナルの送信、ファイルを送信しなかったことを示すシグナルの送信を行なう権限が設定されている。
1009はファイル送信プロセス143に設定したアクセス権限を示すものであり、アクセス先として送信用ディレクトリ145及び送信用ディレクトリ145上のファイルに付与したタイプ「send_data_t」が設定され、アクセス元であるファイル送信プロセス143からアクセス先である送信用ディレクトリ145及び送信用ディレクトリ145上のファイルに対して、ファイル読み込み、ファイル削除を行なう権限が設定されている。
1010はファイル送信プロセス143に設定したアクセス権限を示すものであり、アクセス先としてネットワークB102のインタフェースに付与したタイプ「ifnet_2」が設定され、アクセス元であるファイル送信プロセス143からアクセス先であるネットワークB102のインタフェースに対して、TCP及びUDPなどの通信権限が設定されている。
1001により、ファイル受信プロセス141は、ネットワークA101に接続したインタフェースでクライアント110上のファイル送信専用アプリケーション111と通信できる。ネットワーク101に接続したインタフェースでの通信権限は、他のプロセスには与えていない。そのため、他のプロセスは、ネットワークA101への通信ができない。
1002により、ファイル受信プロセス141は、受信用ディレクトリ144にファイルデータ300のファイルを書き出すことができる。受信用ディレクトリ144へのファイルを書き出す権限は、他のプロセスに与えていない。そのため、他のプロセスは、受信用ディレクトリ144へファイルを書き出すことができない。
1003により、ファイル受信プロセス141は、チェックプロセス142にファイル受信を知らせるシグナルを送ることができる。ファイル受信を知らせるシグナルを送る権限は、他のプロセスに与えていない。そのため、他のプロセスは、チェックプロセス142にシグナルを送ることはできない。
1004により、チェックプロセス142は、チェックルールテーブル146のチェックルールを読み出すことができる。しかし、書き出しは許されていないため、チェックルールテーブル146のチェックルールを変更することができない。このため、チェックルールテーブル146を改ざんして、チェックを回避することができない。また、他のプロセスにチェックルールテーブル146へのアクセス権限を与えていないので、当然改ざんすることはできない。
1005により、チェックプロセス142は、受信用ディレクトリ144上のファイルデータ300のファイルを読んで削除することができる。また、1006により、チェックプロセス142は、送信用ディレクトリ145上のファイルデータ300をファイルとして書き出すことが出来る。1005及び1006とあわせて、受信用ディレクトリ144から送信用ディレクトリ145へ、ファイルデータ300を移動することができる。また、他のプロセスには、これら権限を与えていないので、ファイルデータ300の移動や、送信用ディレクトリ145上への書き込みを行なうことはできない。また、チェックプロセス142自身も、送信用ディレクトリ144から受信用ディレクトリ144という逆方向のファイルデータ300の移動はできない。
1007により、チェックプロセス142は、ファイル送信プロセス143を起動することができる。他のプロセスに権限を与えていないので、チェックプロセス142を回避してファイル送信プロセス143を起動することはできない。
1008により、チェックプロセス142は、ファイル受信プロセス141にファイル送信したこと、もしくはしなかったことを知らせるシグナルを送ることができる。これらのシグナルを送る権限は、他のプロセスに与えていない。そのため、他のプロセスは、ファイル受信プロセス141にシグナルを送ることはできない。
1009により、ファイル送信プロセス143は、送信用ディレクトリ144上のファイルデータ300のファイルを読み込んで削除することができる。ファイル送信プロセス143に、受信用ディレクトリ144へのファイルを書き出す権限を与えていないので、受信用ディレクトリ144へのファイルを書き出すことができない。
1010により、ファイル送信プロセス143は、ネットワークB102に接続したインタフェースで、クライアント120上のファイル受信専用アプリケーション121と通信できる。ネットワークB102に接続したインタフェースでの通信権限は、他のプロセスには権限を与えていない。そのため、他のプロセスは、ネットワークB102への通信ができない。
本実施形態のシステムでは、実際に外部とのデータ通信を行なう、ファイル受信プロセス141及びファイル送信プロセス143について、脆弱性を攻撃される可能性がある。
しかし、上記のようなセキュアOSの設定を行なうことにより、チェックを回避したファイルデータ転送や逆方向のファイルデータ通信は行なうことができなくなる。
チェックプロセス142は、ファイル受信プロセス141とのシグナルによる通信を行なうが、データを伴わない一方向の通信であるため、脆弱性攻撃を行なうことは論理的に不可能である。また、ファイルデータ300のチェックは、ファイルの実行を伴わないチェックに限定することで、攻撃されることは無い。
また、既存技術であるため詳細は記述しないが、セキュアOSを適用すること自体で、ファイル転送サーバ130の上記プロセスなど以外の脆弱性への攻撃も防ぐ。
以上により、一方向性を確保し、チェック機構を備えたファイルデータ転送が実現できる。
なお、上記実施形態においては、ファイル内容のチェック機能を設けているが、ファイル内容のチェック機能については付加機能として適宜に付加するように構成することができる。
チェック機能を削除する場合には、チェックプロセス142はファイル受信プロセス141とファイル送信プロセス143との間でシグナルの受け渡し及びファイルデータの受渡しのみの中継プロセスとして動作する。
本発明の実施の形態を示すシステム構成図である。 システム全体の処理の概要を示すフローチャートである。 ファイルデータの構成例を示す図である。 ファイル受信プロセスの処理を示すフローチャートである。 チェックプロセスの処理を示すフローチャートである。 チェックルールの例を示す図である。 ファイル送信プロセスの処理を示すフローチャートである。 セキュアOS(SELinux)のドメインの設定例を示す図である。 セキュアOS(SELinux)のタイプの設定例を示す図である。 セキュアOS(SELinux)の権限設定例を示す図である。
符号の説明
101…ネットワークA、102…ネットワークB、110…クライアントA、111…ファイル送信専用アプリケーション、120…クライアントB、121…ファイル受信専用アプリケーション、130…ファイル転送サーバ、140…セキュリティゲートアプリケーション、141…ファイル受信プロセス、142…チェックプロセス、143…ファイル送信プロセス、144…受信用ディレクトリ、145…送信用ディレクトリ146…チェックルールテーブル。

Claims (6)

  1. 転送元から受信したファイルを転送先への一方向性を確保して転送するファイル転送サーバにおけるファイル転送方法であって、
    前記ファイル転送サーバのファイル受信プロセスが、当該ファイル受信プロセスに予め設定された通信権限に基づき転送元から送信されたファイルを受信し、当該ファイル受信プロセスに予め設定された書き込み権限に基づき前記ファイル転送サーバ内の受信用記憶手段に一時記憶した後、当該ファイル受信プロセスに予め設定された通信権限に基づき前記ファイル転送サーバ内に設けられたチェックプロセスに対して、データを伴わないシグナルと呼ばれる一方向の受信通知を送信する第1のステップと、
    前記受信通知を受信した前記チェックプロセスが、当該チェックプロセスに読み込み権限が設定されたチェックルールテーブルからチェックルールを読み込み、さらに当該チェックプロセスに予め設定された読み込み権限に基づき前記受信用記憶手段から一時記憶されたファイルを読み込み、読み込んだファイルを前記チェックルールに従ってチェックし、前記チェックルールに抵触しない場合のみ当該チェックプロセスに書き込み権限が予め設定された送信用記憶手段に前記ファイルを一時記憶させた後、当該チェックプロセスに起動権限が予め設定された前記ファイル転送サーバ内のファイル送信プロセスを起動すると共に、送信済みであることを意味するシグナルを前記ファイル受信プロセスに送信する第2のステップと、
    起動された前記ファイル送信プロセスが、当該ファイル送信プロセスにファイル読み込み権限が予め設定された前記送信用記憶手段からファイルを読み込み、当該ファイル送信プロセスに通信権限が予め設定されたインタフェースを介して前記送信用記憶手段から読み込んだファイルを転送先に転送する第3のステップと
    を備えることを特徴とするファイル転送方法。
  2. 前記第2のステップにおいて、前記受信用記憶手段から読み込んだファイルのデータが前記チェックルールに抵触した場合には送信不可を意味するシグナルを受信元の前記ファイル受信プロセスに送信することを特徴とする請求項1に記載のファイル転送方法。
  3. 転送元から受信したファイルを転送先への一方向性を確保して転送するファイル転送サーバから成るファイル転送システムであって、
    予め設定された通信権限に基づき転送元から送信されたファイルを受信し、予め設定された書き込み権限に基づき前記ファイル転送サーバ内の受信用記憶手段に対し受信したファイルを一時記憶した後、予め設定された通信権限に基づき前記ファイル転送サーバ内に設けられたチェックプロセスに対して、データを伴わないシグナルと呼ばれる一方向の受信通知を送信するファイル受信手段と、
    前記受信通知を受信したことにより、読み込み権限が予め設定されたチェックルールテーブルからチェックルールを読み込み、さらに予め設定された読み込み権限に基づき前記受信用記憶手段から一時記憶されたファイルを読み込み、読み込んだファイルを前記チェックルールに従ってチェックし、前記チェックルールに抵触しない場合のみ書き込み権限が予め設定された送信用記憶手段に前記ファイルを一時記憶させた後、起動権限が予め設定された前記ファイル転送サーバ内のファイル送信手段を起動すると共に、送信済みであることを意味するシグナルを前記ファイル受信手段に送信するチェック手段と、
    前記チェック手段により起動されたことにより、ファイル読み込み権限が予め設定された前記送信用記憶手段からファイルを読み込み、通信権限が予め設定されたインタフェースを介して前記送信用記憶手段から読み込んだファイルを転送先に転送するファイル送信手段と
    を備えることを特徴とするファイル転送システム。
  4. 前記チェック手段が、前記受信用記憶手段から読み込んだファイルのデータが前記チェックルールに抵触した場合には送信不可を意味するシグナルを受信元の前記ファイル受信手段に送信することを特徴とする請求項3に記載のファイル転送システム。
  5. コンピュータを、転送元から受信したファイルを転送先へ転送するファイル転送手段として機能させるプログラムであって、
    コンピュータを、
    予め設定された通信権限に基づき転送元から送信されたファイルを受信し、予め設定された書き込み権限に基づき前記ファイル転送サーバ内の受信用記憶手段に対し受信したファイルを一時記憶した後、予め設定された通信権限に基づき前記ファイル転送サーバ内に設けられたチェックプロセスに対して、データを伴わないシグナルと呼ばれる一方向の受信通知を送信するファイル受信手段と、
    前記受信通知を受信したことにより、読み込み権限が予め設定されたチェックルールテーブルからチェックルールを読み込み、さらに予め設定された読み込み権限に基づき前記受信用記憶手段から一時記憶されたファイルを読み込み、読み込んだファイルを前記チェックルールに従ってチェックし、前記チェックルールに抵触しない場合のみ書き込み権限が予め設定された送信用記憶手段に前記ファイルを一時記憶させた後、起動権限が予め設定された前記ファイル転送サーバ内のファイル送信手段を起動すると共に、送信済みであることを意味するシグナルを前記ファイル受信手段に送信するチェック手段と、
    前記チェック手段により起動されたことにより、ファイル読み込み権限が予め設定された前記送信用記憶手段からファイルを読み込み、通信権限が予め設定されたインタフェースを介して前記送信用記憶手段から読み込んだファイルを転送先に転送するファイル送信手段と
    して機能させることを特徴とするファイル転送プログラム。
  6. 前記チェック手段を、前記受信用記憶手段から読み込んだファイルのデータが前記チェックルールに抵触した場合には送信不可を意味するシグナルを受信元の前記ファイル受信手段に送信する手段として機能させることを特徴とする機能させることを特徴とする請求項5に記載のファイル転送プログラム。
JP2006041945A 2006-02-20 2006-02-20 一方向性を確保したファイル転送方法及びシステム並びにプログラム Expired - Fee Related JP4878480B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006041945A JP4878480B2 (ja) 2006-02-20 2006-02-20 一方向性を確保したファイル転送方法及びシステム並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006041945A JP4878480B2 (ja) 2006-02-20 2006-02-20 一方向性を確保したファイル転送方法及びシステム並びにプログラム

Publications (2)

Publication Number Publication Date
JP2007219975A JP2007219975A (ja) 2007-08-30
JP4878480B2 true JP4878480B2 (ja) 2012-02-15

Family

ID=38497188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006041945A Expired - Fee Related JP4878480B2 (ja) 2006-02-20 2006-02-20 一方向性を確保したファイル転送方法及びシステム並びにプログラム

Country Status (1)

Country Link
JP (1) JP4878480B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5599582B2 (ja) * 2009-07-15 2014-10-01 株式会社日立製作所 原子力発電プラントの監視システムおよび運転・保守データ管理システム
JP5757527B2 (ja) * 2011-11-22 2015-07-29 日本電信電話株式会社 情報転送装置および情報転送方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007197A (ja) * 2000-06-16 2002-01-11 Nec Corp ファイル転送監視方式、ファイル転送監視方法およびファイル転送監視用プログラムを記録した記録媒体
JP3965993B2 (ja) * 2001-12-27 2007-08-29 富士ゼロックス株式会社 メールサーバ、メールサーバにおける電子メール通信制御方法、電子メールシステム

Also Published As

Publication number Publication date
JP2007219975A (ja) 2007-08-30

Similar Documents

Publication Publication Date Title
US10645091B2 (en) Methods and systems for a portable data locker
JP5714078B2 (ja) 分散セキュアコンテンツ管理システムに対する認証
US8239917B2 (en) Systems and methods for enterprise security with collaborative peer to peer architecture
US11797694B2 (en) Systems and methods for integrating html based application with embedded browser
JP2007317161A (ja) コンピュータ装置の暗号化データへのアクセスを提供する方法
US20220046044A1 (en) Systems and methods for an embedded browser
US20230035007A1 (en) Trusted cyber physical system
US8724817B2 (en) Secure management of keys in a key repository
US20200106699A1 (en) Systems and methods for multilink wan connectivity for saas applications
US20200099738A1 (en) Systems and methods for bridge protocol between diverse applications
JP5445262B2 (ja) 検疫ネットワークシステム、検疫管理サーバ、仮想端末へのリモートアクセス中継方法およびそのプログラム
US11582131B2 (en) Systems and methods for application scripts for cross-domain applications
US11544393B2 (en) Securely accessing offline data with indirect communication
US20210377315A1 (en) Systems and methods for responsible intermediation of privacy policies
JP2005100358A (ja) サービスの中断なしにセキュリティ境界を横断するプリンシパルの移動
CN111131244A (zh) 防止恶意内容侵染网站页面的方法和系统以及存储介质
JP4878480B2 (ja) 一方向性を確保したファイル転送方法及びシステム並びにプログラム
US8977849B1 (en) Systems and methods for creating a rights management system (RMS) with superior layers and subordinate layers
WO2017183089A1 (ja) 計算機、計算機システム、およびプログラム
Lever RFC 8881: Network File System (NFS) Version 4 Minor Version 1 Protocol
GB2624693A (en) Updating secure guest metadata of a specific guest instance
JP2024038784A (ja) 情報処理システム、サーバ装置、サーバ装置の制御方法、クライアント端末装置、クライアント端末装置の制御方法およびプログラム
JP2024038058A (ja) 情報処理システム
Cucinotta et al. Access Control for the Pepys Internet-wide File-System

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110520

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111128

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141209

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees