JP6957311B2 - 情報漏洩防止装置、及び情報漏洩防止プログラム - Google Patents

情報漏洩防止装置、及び情報漏洩防止プログラム Download PDF

Info

Publication number
JP6957311B2
JP6957311B2 JP2017205913A JP2017205913A JP6957311B2 JP 6957311 B2 JP6957311 B2 JP 6957311B2 JP 2017205913 A JP2017205913 A JP 2017205913A JP 2017205913 A JP2017205913 A JP 2017205913A JP 6957311 B2 JP6957311 B2 JP 6957311B2
Authority
JP
Japan
Prior art keywords
security
mode
application program
storage unit
leakage prevention
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
JP2017205913A
Other languages
English (en)
Other versions
JP2019079289A (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.)
SYSTEM INTELLIGENT CORP.
Original Assignee
SYSTEM INTELLIGENT CORP.
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 SYSTEM INTELLIGENT CORP. filed Critical SYSTEM INTELLIGENT CORP.
Priority to JP2017205913A priority Critical patent/JP6957311B2/ja
Publication of JP2019079289A publication Critical patent/JP2019079289A/ja
Application granted granted Critical
Publication of JP6957311B2 publication Critical patent/JP6957311B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、コンピュータからの情報の漏洩防止技術に関する。
コンピュータの振る舞いは,セキュリティの観点から制限される場合がある。例えば、外部メディア、ネットワーク、又は出力機器へのアクセス、実行できるプログラムの種類、ファイルが書き込み可能な場所等につき、制限される場合がある。このコンピュータの振る舞いを制限する基準を本明細書においてセキュリティポリシーと称し、セキュリティポリシーが適用されたコンピュータの状態をセキュリティモードと称する。
通常、セキュリティポリシーは、使用中のコンピュータにおいて一種類のみが適用され、異なるセキュリティポリシーを適用する場合には、使用中の状態を終了してログオンし直すことが一般的である。
特開2007−286905号公報 特開2005−166051号公報 特開2011−39953号公報 特開2010−97550号公報 特開2011−113361号公報
しかしながら、このようにコンピュータにログオンし直すことなく、ユーザの使用状況に応じてコンピュータのセキュリティポリシーを柔軟かつ即時に変更することができれば、利便性が高く、セキュリティの観点からもより好ましい。
例えば、ユーザがある特定のファイルやネットワーク、あるいはファイルサーバにアクセスしたタイミングで、コンピュータのセキュリティポリシーを状況に応じた様々な内容に変更することができれば大変有用である。
そこで、本発明者は鋭意研究して、特定種類のアプリケーションプログラムインタフェース(API)が呼び出された時に、その呼び出し処理を横取りして、状況に応じたセキュリティポリシーにもとづきコンピュータの動作を制御することで、コンピュータのセキュリティモードを柔軟かつ即時に変更することを可能とすることに成功した。
このようなAPIの呼び出し処理の横取りを利用する技術として、特許文献1にはアプリケーションからのファイルアクセスを横取りして、ユーザが意図しないファイルの転送が行われないようにすることが開示されている。また、特許文献2には、APIフックを用いてコンピュータシステムにおけるプロセスの不正アクセスを防止することが開示されている。
しかしながら、これらいずれの文献にも、APIの呼び出し処理を横取りすることによって、コンピュータのセキュリティモードを状況に応じた様々な内容に変更することについては記載されていない。
また、本発明者は、APIフックを用いることによって、一定の場合に一時的に、周辺機器へのアクセス等を制限し、コンピュータを擬似的にシンクライアント化する技術(特許文献3)や、APIによる処理対象のファイルがウイルスに感染しているか否かを検知することで、ウイルスの拡散を防止する技術(特許文献4)、ファイル名に特定の文字列が含まれているか否かを判定することで、そのファイルを暗号化又は復号化することを可能にする技術(特許文献5)を既に開発している。
しかしながら、これらはいずれもコンピュータのセキュリティモードを状況に応じた様々な内容に変更することを可能にするものではなかった。
さらに、本発明者は、ユーザがコンピュータを使用中の状態において、アプリケーションプログラム毎に異なるセキュリティポリシーを適用すると、より安全かつ便利にコンピュータを使用することができることに想到した。
具体的には、ブラウザはインターネットに接続できるが、その他のプログラムはインターネットに接続できないようにすれば、例えばウイルスソフトウェアが隠れて動作していても、インターネット経由でそのウイルスソフトウェアを使って情報を持ち出すことを防止でき、かつインターネットの閲覧はブラウザによってできるといった使用方法が可能となる。
そこで、本発明者は、さらに鋭意研究して、一台のコンピュータにおいて、アプリケーション毎に、異なる複数のセキュリティポリシーを同時に適用可能な情報漏洩防止装置を開発することに成功した。
このような情報漏洩防止装置について記載のある先行文献は見あたらなかった。
本発明は、上記の事情にかんがみなされたものであり、コンピュータの再起動やログオンなどを行うことなく、コンピュータのセキュリティモードを状況に応じた様々な内容に変更可能な情報漏洩防止装置、及び情報漏洩防止プログラムの提供を目的とする。
また、一台のコンピュータにおいて、アプリケーション毎に、異なる複数のセキュリティポリシーを同時に適用可能な情報漏洩防止装置、及び情報漏洩防止プログラムの提供を目的とする。
上記目的を達成するため、本発明の情報漏洩防止装置は、セキュリティのモードを変更することにより情報の漏洩を防止する情報漏洩防止装置であって、前記モードを切り替える条件毎に対応するモードを記憶する切替条件記憶部と、モードの切替により設定するモードを記憶する設定モード記憶部と、アプリケーションプログラムから特定種類のアプリケーションプログラムインタフェースの呼び出し処理が行われたとき、前記呼び出し処理を横取りし、前記切替条件記憶部の切替条件を参照して、前記アプリケーションプログラムが実行しようとする内容と一致する条件が存在する場合、当該条件に対応するモードを取得する横取り処理部と、前記横取り処理部から前記モードを取得して、前記設定モード記憶部に設定するモード切替部とを備え、前記横取り処理部は、アプリケーションプログラムから前記特定種類と同一又は異なる所定のアプリケーションプログラムインタフェースの呼び出し処理が行われたとき、前記呼び出し処理を横取りし、前記設定モード記憶部を参照して、当該モードに対応するモード内容にしたがって、前記アプリケーションプログラムインタフェースによる処理を許可又は禁止することによって、当該情報漏洩防止装置の内部における動作の制御、及び/又は、当該情報漏洩防止装置の外部に対する動作の制御を行う構成としてある。
また、本発明の情報漏洩防止装置を、前記横取り処理部として前記APIフックが、前記アプリケーションプログラムごとに二以上備えられると共に、前記APIフックにそれぞれ対応する二以上で別個のセキュリティ記憶部が備えられ、前記セキュリティ記憶部にはセキュリティの内容が記憶され、前記アプリケーションプログラムに対して使用される前記APIフックが設定されており、全ての前記APIフックが順次実行されて、前記アプリケーションプログラムに対して使用される前記APIフックのみが、対応する前記セキュリティ記憶部から前記セキュリティ内容を取得して、当該APIフックにより、前記セキュリティ内容にしたがって前記アプリケーションプログラムインタフェースによる処理が許可又は禁止される構成とすることも好ましい。
また、本発明の情報漏洩防止装置を、前記横取り処理部として前記DLLインジェクションが、前記アプリケーションプログラムごとに備えられると共に、二以上で別個のセキュリティ記憶部が備えられ、前記セキュリティ記憶部にはセキュリティの内容が記憶され、前記アプリケーションプログラムに対して使用されるセキュリティが設定されており、前記DLLインジェクションが実行されて、前記アプリケーションプログラムに対応する前記セキュリティの内容を前記セキュリティ記憶部から取得して、当該DLLインジェクションにより、前記セキュリティの内容にしたがって前記アプリケーションプログラムインタフェースによる処理が許可又は禁止される構成とすることも好ましい。
また、本発明の情報漏洩防止プログラムは、セキュリティのモードを変更することによりコンピュータからの情報の漏洩を防止するための情報漏洩防止プログラムであって、前記モードを切り替える条件毎に対応するモードを記憶する切替条件記憶部と、モードの切替により設定するモードを記憶する設定モード記憶部とを備えたコンピュータに、アプリケーションプログラムから特定種類のアプリケーションプログラムインタフェースの呼び出し処理が行われたとき、前記呼び出し処理を横取りさせ、前記切替条件記憶部の切替条件を参照させて、前記アプリケーションプログラムが実行しようとする内容と一致する条件が存在する場合、当該条件に対応するモードを取得させ、前記設定モード記憶部に設定させ、アプリケーションプログラムから前記特定種類と同一又は異なる所定のアプリケーションプログラムインタフェースの呼び出し処理が行われたとき、前記呼び出し処理を横取りさせ、前記設定モード記憶部を参照させて、当該モードに対応するモード内容にしたがって、前記アプリケーションプログラムインタフェースによる処理を許可又は禁止することによって、当該情報漏洩防止装置の内部における動作の制御、及び/又は、当該情報漏洩防止装置の外部に対する動作の制御を行わせる構成としてある。
また、本発明の情報漏洩防止装置プログラムを、APIフックが、前記アプリケーションプログラムごとに二以上備えられると共に、セキュリティの内容を記憶する、前記APIフックにそれぞれ対応する二以上で別個のセキュリティ記憶部をさらに備え、かつ前記アプリケーションプログラムに対して使用される前記APIフックが設定されている前記コンピュータに、全ての前記APIフックを順次実行させて、前記アプリケーションプログラムに対して使用される前記APIフックのみに、対応する前記セキュリティ記憶部から前記セキュリティの内容を取得させ、当該APIフックにより、前記セキュリティの内容にしたがって前記アプリケーションプログラムインタフェースによる処理を許可又は禁止させる構成とすることも好ましい。
また、本発明の情報漏洩防止装置プログラムを、DLLインジェクションが、前記アプリケーションプログラムごとに備えられると共に、セキュリティの内容を記憶する二以上で別個のセキュリティ記憶部をさらに備え、かつ前記アプリケーションプログラムに対して使用されるセキュリティが設定されている前記コンピュータに、前記DLLインジェクションを実行させて、前記アプリケーションプログラムに対応する前記セキュリティの内容を前記セキュリティ記憶部から取得させ、当該DLLインジェクションにより、前記セキュリティの内容にしたがって前記アプリケーションプログラムインタフェースによる処理を許可又は禁止させる構成とすることも好ましい。
本発明によれば、コンピュータの再起動やログオンなどを行うことなく、コンピュータのセキュリティモードを状況に応じた様々な内容に変更することが可能となる。
また、一台のコンピュータにおいて、アプリケーション毎に、異なる複数のセキュリティポリシーを同時に適用することも可能となる。
本発明の第一実施形態の情報漏洩防止装置の構成を示すブロック図である。 本発明の第一実施形態の情報漏洩防止装置において使用されるデータの構成を示す図である。 本発明の第一実施形態の情報漏洩防止装置の処理手順(モード切替)を示すフローチャートである。 本発明の第一実施形態の情報漏洩防止装置の処理手順(設定モードの実行)を示すフローチャートである。 本発明の第二実施形態の情報漏洩防止装置の構成を示すブロック図である。 本発明の第二実施形態の情報漏洩防止装置において使用されるデータの構成を示す図である。 本発明の第二実施形態の情報漏洩防止装置の処理手順(実行プログラム毎のセキュリティ設定切替(1))を示すフローチャートである。 本発明の第二実施形態の情報漏洩防止装置の処理手順(実行プログラム毎のセキュリティ設定切替(2))を示すフローチャートである。 本発明の第三実施形態の情報漏洩防止装置の構成を示すブロック図である。 本発明の第三実施形態の情報漏洩防止装置において使用されるデータの構成を示す図である。 本発明の第三実施形態の情報漏洩防止装置の処理手順(実行プログラム毎のセキュリティ設定切替(3))を示すフローチャートである。 本発明の第三実施形態の情報漏洩防止装置の処理手順(実行プログラム毎のセキュリティ設定切替(4))を示すフローチャートである。
以下、本発明の情報漏洩防止装置、及び情報漏洩防止プログラムの好ましい実施形態について、図面を参照しつつ説明する。
[第一実施形態]
まず、本発明の第一実施形態について、図1〜図4を参照して説明する。図1は、本実施形態の情報漏洩防止装置の構成を示すブロック図であり、図2は、本実施形態の情報漏洩防止装置において使用されるデータの構成を示す図である。また、図3は、本実施形態の情報漏洩防止装置の処理手順(モード切替)を示すフローチャートであり、図4は、本実施形態の情報漏洩防止装置の処理手順(設定モードの実行)を示すフローチャートである。
本実施形態の情報漏洩防止装置1は、ユーザにより使用されるパソコンやタブレットなどのコンピュータ(情報処理装置)である。また、情報漏洩防止装置1には、スマートフォンなどのコンピュータと同様の機能を有する装置も含まれる。情報漏洩防止装置1の具体的な用途は特に限定されないが、情報漏洩防止装置1は、企業や学校などにおいて好適に使用することが可能である。
情報漏洩防止装置1は、実行プログラム11により使用されるメモリ領域10、モード切替部20、及び情報漏洩防止装置1において使用される各種データを記憶する共有メモリ30を備えている。
また、情報漏洩防止装置1は、アプリケーションプログラムインタフェース(API)40、このAPI40や実行プログラム11を実行する環境、例えばオペレーティングシステム(OS)50、記憶装置用ドライバ60、プリンタ用ドライバ70、ネットワーク用ドライバ80を備えている。なお、情報漏洩防止装置1において、ドライバはこれらのもののみならず、その他各種ドライバを有する構成とすることができる。また、ドライバは、OS50の内部に備える構成としてもよい。
実行プログラム11は、アプリケーションプログラム(AP)であり、その種類や機能は特に限定されない。例えば、ブラウザプログラム、ワープロプログラム、電子メールプログラム、表計算プログラム、描画プログラム等、種々のアプリケーションプログラムを実行プログラム11として用いることができる。
また、横取り処理部12が、実行プログラム11により使用されるメモリ領域10に読み込まれて備えられている。この横取り処理部12は、例えばAPIフック(DLL)やDLLインジェクションにより構成することができる。
横取り処理部12としてAPIフックを用いる場合は、OSの起動時に実行プログラム11と共にメモリ領域10に読み込まれて備えられる。
また、横取り処理部12としてDLLインジェクションを用いる場合は、実行プログラム11の起動時にメモリ領域10に読み込まれて備えられる。
横取り処理部12は、実行プログラム11によるAPI40の呼び出し処理が行われると、API40の代わりに、共有メモリ30に記憶された設定モードにもとづいて、様々な動作を実行することができる。また、API40の実行を許可することも、禁止することもできる。
横取り処理部12には、切替検知部12−1とモード実行部12−2が備えられている。
切替検知部12−1は、実行プログラム11により呼び出された処理内容が、共有メモリ30に記憶された切替条件と一致するか否かを判定する。そして、一致する場合、その切替条件に対応する切替モードをモード切替部20へ出力する。
モード実行部12−2は、共有メモリ30に記憶された設定モードにもとづき動作を実行する。
モード切替部20は、切替検知部12−1から切替モードを入力すると、この切替モードを共有メモリ30に設定モードとして記憶させる。
また、モード切替部20は、ユーザにより入力されたモード切替指示情報、特定のアプリケーションプログラムを起動することを示す情報、又は、ユーザ認証に成功したことを示す情報の入力にもとづいて、特定の切替モードを共有メモリ30に設定モードとして記憶させることもできる。
共有メモリ30は、切替条件記憶部31、設定モード記憶部32、及びモード内容記憶部33を備えている。
切替条件記憶部31は、図2に示すように、切替条件毎に切替モードを記憶する。例えば、「機密ファイルAへのアクセス」が行われた場合に、モード(1)に切り替えることや、「ネットワークBへのアクセス」が行われた場合に、モード(2)に切り替えること等を記憶する。
なお、切替条件記憶部31へのデータの設定をモード切替部20により行わせるようにすることもできる。
設定モード記憶部32は、情報漏洩防止装置1に設定されたモードを記憶する。例えば、設定モードとして、モード(1)を記憶する。
モード内容記憶部33は、図2に示すように、モード毎にモード内容を記憶する。例えば、モード(1)として、「ハードディスク(HD)への書き込み:不可,インターネットへのアクセス:不可,印刷:不可,等」、モード(2)として、「ハードディスクへの書き込み:不可,インターネットへのアクセス:可,印刷:可,等」などを記憶する。
ここで、本実施形態の情報漏洩防止装置1において、切替条件記憶部31、設定モード記憶部32、及びモード内容記憶部33を、共有メモリ30として備えた理由は、以下の通りである。
すなわち、一般に、通常のパソコンにおいては、数十を超える実行プログラム11が動作している。また、例えばサーバのようなコンピュータにおいては、数百を超える実行プログラム11が動作している場合もある。そして、上記各記憶部は、これら全ての実行プログラム11に対応する横取り処理部12により使用される。したがって、これらの記憶部を横取り処理部12毎に備える構成とすれば、実行プログラム11の数だけそれぞれを備えることが必要になる。また、これらの記憶部の内容を変更しようとした場合、それら全ての記憶部を変更する必要が生じるため、その設定変更に時間がかかることが懸念される。
そこで、本実施形態では、切替条件記憶部31、設定モード記憶部32、及びモード内容記憶部33を、共有メモリ30として備えている。また、これにより記憶容量を節約できるという効果も得ることができる。
さらに、共有メモリ30は、半導体メモリのような高速アクセス可能な記憶領域に構成することが好ましい。一方、プログラムの実行速度を重視しない場合、共有メモリ30をハードディスクのようなすべてのプログラムから共有可能な記憶装置に実現することも可能である。
API(アプリケーションプログラムインタフェース)40は、実行プログラム11によって呼び出し処理が行われる対象のAPIである。すなわち、API40は、実行プログラム11により本来呼び出されるはずのAPIであるが、横取り処理部12が処理を横取りし、設定モードの内容にしたがって、例えば、APIの処理の実行が許可されたり、禁止されたりする。
API40の種類としては特に限定されないが、例えば、特定のファイルへのアクセス、特定のネットワークへのアクセス、又は、特定のファイルサーバへのアクセス等とすることができる。また、ハードディスクドライブに対する書き込み、デスクトップに対する書き込み、特定のアプリケーションの起動、特定のデバイスへのアクセス処理、特定の出力機器へのアクセス等とすることもできる。
オペレーティングシステム50は、API40からの指示にしたがって、記憶装置用ドライバ60、プリンタ用ドライバ70、又はネットワーク用ドライバ80等を制御して、それぞれ記憶装置2への書き込み処理や、プリンタ3への出力処理、又はネットワーク装置4へのアクセス処理を実行する。
このオペレーティングシステム50としては特に限定されないが、例えばWINDOWS(登録商標)やmacOS(登録商標)、Linux(登録商標)、SOLARIS(登録商標)、FREEBSD(登録商標)等の各種OSを用いることができる。
次に、本実施形態の情報漏洩防止装置1によるモード切替の処理手順について、図3を参照して説明する。
まず、実行プログラム11により特定種類のAPIの呼び出し処理が行われる(ステップ10)。例えば、実行プログラム11が「機密ファイルAを開く」という処理を行うために、対応するAPIの呼び出しを行う。
横取り処理部12は、上記APIの呼び出し処理を横取りする(ステップ11)。
また、横取り処理部12は、切替検知部12−1により切替条件記憶部31を参照して(ステップ12)、実行プログラム11が行おうとした処理が、切替条件に一致するか否かを判定する(ステップ13)。
ここで、切替検知部12−1に、実行プログラム11が開こうとしたファイルが「機密ファイルA」に該当するか否かの判断を、例えばファイル名、ファイルの拡張子、ファイルの保存されている場所(ディレクトリやサーバなどのアドレス)、ファイルの保存されているメディア(USBメモリやSDカード等)、ファイルの内容等にもとづいて、行わせるようにすることができる。
実行プログラム11が行おうとした処理が「機密ファイルAを開く」の場合、切替条件記憶部31に当該条件が存在しているため(ステップ13のYes)、切替検知部12−1がこれに対応する切替モード(この場合、モード(1))を切替条件記憶部31から取得して、モード切替部20へ出力する。
そして、モード切替部20が、入力した切替モードを設定モード記憶部32に記憶させることにより、情報漏洩防止装置1におけるセキュリティモードを設定(変更)する(ステップ14)。
次に、本実施形態の情報漏洩防止装置1による設定モードの実行の処理手順について、図4を参照して説明する。
まず、実行プログラム11により特定種類のAPIの呼び出し処理が行われる(ステップ20)。そして、横取り処理部12が、このAPIの呼び出し処理を横取りする(ステップ21)。
このとき、特定種類のAPIは、モード切替条件の判定対象のものと同一のものを含んでいてもよく、異なるAPIを横取りの対象としてもよい。ここでは、実行プログラム11により、「ハードディスクへの書き込み」を行うAPIが呼び出されたとする。
次に、横取り処理部12が、モード実行部12−2により設定モード記憶部32から設定モードを取得する。また、モード実行部12−2が取得した設定モードに対応するモード内容をモード内容記憶部33から取得して、そのモード内容にしたがって、制御を実行する(ステップ23)。
例えば、モード実行部12−2は、設定モード記憶部32から「モード(1)」を取得すると共に、モード内容記憶部33からこれに対応するモード内容を取得する。図2の例では、モード(1)に対応するモード内容において、「ハードディスクへの書き込み:不可」というセキュリティポリシーが設定されている。
このため、横取り処理部12は、API40を呼び出すことなく、当該処理を許可しないことを示す情報を、実行プログラム11に返却する。これによって、実行プログラム11による「ハードディスクへの書き込み」が行われないように制御される。
また、例えば、実行プログラム11により、「インターネットへのアクセス」を行うAPIが呼び出され、設定モード記憶部32に「モード(2)」が設定されていたとする。
この場合、モード実行部12−2は、設定モード記憶部32から「モード(2)」を取得すると共に、モード内容記憶部33からこれに対応するモード内容を取得する。図2の例では、モード(2)に対応するモード内容において、「インターネットへのアクセス:可」というセキュリティポリシーが設定されている。
このため、横取り処理部12は、API40を呼び出して、その実行を許可する。これによって、実行プログラム11による「インターネットへのアクセス」が行われるように制御される。
以上のように、本実施形態の情報漏洩防止装置1によれば、モード切替部20、切替条件記憶部31、設定モード記憶部32、及びモード内容記憶部33を備えると共に、様々なアプリケーションプログラムが使用するメモリ領域10に横取り処理部12を備えることによって、情報漏洩防止装置1を再起動やログオンなどを行うことなく、そのセキュリティモードを状況に応じた様々な内容に変更することが可能となっている。
[第二実施形態]
次に、本発明の第二実施形態について、図5〜図8を参照して説明する。図5は、本実施形態の情報漏洩防止装置の構成を示すブロック図であり、図6は、本実施形態の情報漏洩防止装置において使用されるデータの構成を示す図である。また、図7は、本実施形態の情報漏洩防止装置の処理手順(実行プログラム毎のセキュリティ設定切替(1))を示すフローチャートであり、図8は、本実施形態の情報漏洩防止装置の処理手順(実行プログラム毎のセキュリティ設定切替(2))を示すフローチャートである。
本実施形態の情報漏洩防止装置1−2は、第一実施形態の情報漏洩防止装置1の構成に加えて、アプリケーションプログラム毎に異なるセキュリティポリシーを適用可能な構成を備えている点で、第一実施形態と相違する。その他の点については、第一実施形態と同様のものとすることができる。
また、本実施形態の情報漏洩防止装置1−2を、第一実施形態における切替検知部12−1、モード実行部12−2、モード切替部20、切替条件記憶部31、設定モード記憶部32、及びモード内容記憶部33を有しないものとすることもできる。後述する第三実施形態についても同様である。
本実施形態の情報漏洩防止装置1−2は、実行プログラム11aにより使用されるメモリ領域10a、実行プログラム11bにより使用されるメモリ領域10b、及び情報漏洩防止装置1−2において使用される各種データを記憶する共有メモリ30−2(図5では省略してその内部の記憶部のみを示している)を備えている。
実行プログラム11aにより使用されるメモリ領域10a及び実行プログラム11bにより使用されるメモリ領域10bには、横取り処理部として、APIフック(DLL)121とAPIフック(DLL)122とが備えられており、これらは順次実行される。
また、実行プログラムにより使用される各メモリ領域に、より多くのAPIフックを備えて、これらを順次実行させる構成とすることもできる。
さらに、本実施形態の情報漏洩防止装置1−2において、より多くの数の実行プログラムにより使用されるメモリ領域を備えることもできる。
また、共有メモリ30−2には、使用横取り処理記憶部34、セキュリティ1記憶部35、及びセキュリティ2記憶部36が備えられている。
使用横取り処理記憶部34は、実行プログラム毎に、使用する横取り処理(APIフック)を記憶する。例えば、実行プログラム11a(ブラウザ)についてAPIフック121を使用し、実行プログラム11b(ワープロ、その他)についてAPIフック122を使用することを記憶する。
この使用横取り処理記憶部34に記憶される使用する横取り処理の情報を変更することで、実行プログラム毎に適用するセキュリティポリシーを変更することができる。
セキュリティ1記憶部35とセキュリティ2記憶部36は、セキュリティポリシー毎のセキュリティ内容を記憶するものであり、それぞれAPIフック121、APIフック122によりアクセスされる。
例えば、セキュリティ1記憶部35には、セキュリティ1として、「ハードディスク(HD)への書き込み:不可,インターネットへのアクセス:可,等」などのセキュリティポリシーを記憶させることができる。また、セキュリティ2記憶部36には、セキュリティ2として、「ハードディスク(HD)への書き込み:可,インターネットへのアクセス:不可,等」などのセキュリティポリシーを記憶させることができる。
さらに、セキュリティ1記憶部35やセキュリティ2記憶部36において、「ファイルを暗号化した後にハードディスク(HD)への書き込み:可」や、「「ファイルを復号化した後にハードディスク(HD)からの読み込み:可」などのセキュリティポリシーを記憶させることもできる。また、これらのセキュリティポリシーにおいて、ハードディスクに替えて、メモリ領域やUSBメモリなどその他の記憶装置への書き込みなどとすることもできる。
この場合、実行プログラムにより使用されるメモリ領域において、横取り処理部として、暗号化処理部と復号化処理部とをさらに備えて、APIフック121やAPIフック122によりこれらを実行させる構成とすることにより、APIフック121やAPIフック122を使用して、ファイルの暗号化処理や復号化処理を行うことが可能となる。なお、当該構成を、第三実施形態におけるDLLインジェクションに適用することも可能である。
APIフック121は、実行プログラム11aによる特定種類のAPI40の呼び出し処理を横取りする。APIフック121は、実行プログラム11aについて使用するAPIフックについての情報を使用横取り処理記憶部34から取得することができる。APIフック121による、使用するAPIフックについての情報の取得は、APIフック121のメモリへの読み込み時に行わせることができる。また、実行プログラム11aから呼び出されたタイミングで行うこともできる。これは以下においても同様である。
例えば、使用横取り処理記憶部34において、実行プログラム11aにAPIフック121が対応付けられて記憶されている場合、APIフック121に対応するセキュリティ1記憶部35に記憶されているセキュリティ1の内容にもとづいて、実行プログラム11aの動作を制御する。
図6の例では、APIフック121に対応するセキュリティ1の内容として、「ハードディスクへの書き込み:不可,インターネットへのアクセス:可」が記憶されている。このため、実行プログラム11aがハードディスクへの書き込みを行うためのAPIを呼び出した場合、APIフック121は、API40を呼び出すことなく、実行プログラム11aに当該APIの呼び出しを許可しないことを示す情報を返却する。これによって、実行プログラム11aの動作を制御することができる。
次に、APIフック121は、APIフック122を実行させる。
APIフック122は、実行プログラム11aについて使用するAPIフックについての情報を使用横取り処理記憶部34から取得することができる。なお、APIフック122による、使用するAPIフックについての情報の取得は、APIフック122のメモリへの読み込み時に行わせることができる。また、実行プログラム11aから呼び出されたタイミングで行うこともできる。これは以下においても同様である。
図6の場合、上述の通り、使用横取り処理記憶部34において、実行プログラム11aにAPIフック121が対応付けられて記憶されているため、APIフック122はそのまま何もせずに処理を終了する。
一方、実行プログラム11bより使用されるメモリ領域10bにおいて、APIフック121は、実行プログラム11bによる特定種類のAPI40の呼び出し処理を横取りする。APIフック121は、実行プログラム11bについて使用するAPIについての情報を使用横取り処理記憶部34から取得することができる。
図6の例では、使用横取り処理記憶部34において、実行プログラム11bにAPIフック122が対応付けられて記憶されているため、APIフック121はそのまま何もせずに処理を終了して、APIフック122を実行させる。
APIフック122は、実行プログラム11bについて使用するAPIについての情報を使用横取り処理記憶部34から取得することができる。この場合、使用横取り処理記憶部34において、実行プログラム11bにAPIフック122が対応付けられて記憶されているため、APIフック122に対応するセキュリティ2記憶部36に記憶されているセキュリティ2の内容にもとづいて、実行プログラム11bの動作を制御する。
図6の例では、APIフック122に対応するセキュリティ内容として、「ハードディスクへの書き込み:可,インターネットへのアクセス:不可」が記憶されている。このため、実行プログラム11bがハードディスクへの書き込みを行うためのAPIを呼び出した場合、APIフック122は、API40を呼び出して、その実行を許可することができる。これによって、実行プログラム11bの動作を制御することができる。
本実施形態において、実行プログラム毎にAPIフック121とAPIフック122のどちらを使って制御するのかを、それぞれのDLLが呼び出されるタイミングで(初期化時に)、使用横取り処理記憶部34の情報にもとづき判断させることができる。
また、使用横取り処理記憶部34の情報に変えて、例えば、実行しようとするファイルの保存場所や、ファイル名、実行ファイルに埋め込まれた情報にもとづいて、実行プログラム毎にAPIフック121とAPIフック122のどちらを使って制御するのか決定する構成とすることもできる。
さらに、実行プログラムが、既にAPIフック121又はAPIフック122で制御されている実行プログラムのチャイルドプロセスに相当するものである場合、親のプロセスと同じAPIフックを選択させるようにすることも可能である。
次に、本実施形態の情報漏洩防止装置1−2による実行プログラム毎のセキュリティ設定切替(1)処理手順について、図7を参照して説明する。ここでは、実行プログラム11aが、ブラウザプログラム(ブラウザ)であるとする。
まず、ブラウザにより特定種類のAPI、例えば「インターネットへのアクセス」の呼び出し処理が行われる(ステップ30)。そして、APIフック121が、このAPIの呼び出し処理を横取りする(ステップ31)。
ブラウザに使用されるAPIフックは、使用横取り処理記憶部34に記憶されているように、APIフック121である。
したがって、APIフック121は、対応するセキュリティ1記憶部35に記憶されているセキュリティ1の内容にしたがって、実行プログラム11aの動作を制御する(ステップ32)。
このとき、APIは「インターネットへのアクセス」であり、セキュリティ1記憶部35にはセキュリティ1の内容として「インターネットへのアクセス:可」が記憶されているため、APIフック121は、API40を呼び出して、その動作を許可する。
次に、APIフック121は、APIフック122を実行させる(ステップ33)。
ブラウザに使用されるAPIフックはAPIフック121であるため、APIフック122は、そのまま何もせずに動作を終了する。
一方、ブラウザによって、「ハードディスクへの書き込み」を行うためのAPIが呼び出されたとする(ステップ30)。APIフック121が、このAPIの呼び出し処理を横取りする(ステップ31)。
ブラウザに使用されるAPIフックはAPIフック121であるため、APIフック121は、対応するセキュリティ1記憶部35に記憶されているセキュリティ1の内容にしたがって、実行プログラム11aの動作を制御する(ステップ32)。
このとき、APIは「ハードディスクへの書き込み」であり、セキュリティ1記憶部35にはセキュリティ1の内容として「ハードディスクへの書き込み:不可」が記憶されているため、APIフック121は、API40を呼び出すことなく、実行プログラム11aに処理を許可できないことを示す情報を返却する。
次に、APIフック121は、APIフック122を実行させる(ステップ33)。
ブラウザに使用されるAPIフックはAPIフック121であるため、APIフック122は、そのまま何もせずに処理を終了する。
次に、本実施形態の情報漏洩防止装置1−2による実行プログラム毎のセキュリティ設定切替(2)処理手順について、図8を参照して説明する。ここでは、実行プログラム11bが、ブラウザ以外のアプリケーションプログラム、例えばワープロプログラム(ワープロ)であるとする。
まず、ワープロにより特定種類のAPI、例えばインターネットへのアクセスの呼び出し処理が行われる(ステップ40)。そして、APIフック121が、このAPIの呼び出し処理を横取りする(ステップ41)。
ワープロに使用されるAPIフックは、使用横取り処理記憶部34に記憶されているように、APIフック122である。
したがって、APIフック121は、何も処理を行うことなく、APIフック122を実行させる(ステップ42)。
ワープロに使用されるAPIフックはAPIフック122であるため、APIフック122は、対応するセキュリティ2記憶部36に記憶されているセキュリティ2の内容にしたがって、実行プログラム11bの動作を制御する(ステップ43)。
このとき、APIは「インターネットへのアクセス」であり、セキュリティ2記憶部36にはセキュリティ2の内容として「インターネットへのアクセス:不可」が記憶されているため、APIフック122は、API40を呼び出すことなく、実行プログラム11bに処理を許可できないことを示す情報を返却する。
一方、ワープロによって、「ハードディスクへの書き込み」を行うためのAPIが呼び出されたとする(ステップ40)。APIフック121が、このAPIの呼び出し処理を横取りする(ステップ41)。
ワープロに使用されるAPIフックはAPIフック122であるため、APIフック121は、何も処理を行うことなく、APIフック122を実行させる(ステップ42)。
ワープロに使用されるAPIフックは、APIフック122であるため、APIフック122は対応するセキュリティ2記憶部36に記憶されているセキュリティ2の内容にしたがって、実行プログラム11bの動作を制御する(ステップ43)。
このとき、APIは「ハードディスクへの書き込み」であり、セキュリティ2記憶部36にはセキュリティ2の内容として「ハードディスクへの書き込み:可」が記憶されているため、APIフック122は、API40を呼び出して、その動作を許可する。
ここで、実行プログラム毎に、いずれのセキュリティポリシーを適用するかの設定(例えば、使用横取り処理記憶部34への設定)は、様々な条件にもとづいて行うことができる。
例えば、ある特定の場所(ディレクトリ)の中にある実行ファイルを使用する実行プログラムだけに、セキュリティ2の内容を適用し(APIフック122を使用)、その他の実行プログラムには、セキュリティ1の内容を適用する(APIフック121)ことができる。
また、ある特定のプログラムから起動された子プロセスには、セキュリティ2の内容を適用することもできる。
さらに、ある特定のファイルにアクセスするプログラムはその特定のファイルにアクセスしたとたんに、セキュリティ2の内容を適用するといった設定にすることもできる。この場合、例えば特定のファイルが機密情報に分類されるファイルとして扱われているとすると、機密情報のファイルを開いたとたんに、その開いたプログラムにセキュリティ2の内容を適用するようにすることができる。
ここで、セキュリティ2の内容を、ファイルは開けるが保存できないとか、ネットワークへのアクセスを禁止するとか、印刷を禁止する、といった開いたファイルの情報を外部に漏洩できなくするようなものにしておくことによって、情報漏洩防止の内容を柔軟かつきめ細かに設定することが可能である。
以上のように、本実施形態の情報漏洩防止装置1−2によれば、実行プログラムにより使用されるメモリ領域において、APIフックを順次実行させることにより、この実行プログラムに対応するAPIフックが使用する共有メモリに記憶された情報にしたがって、その動作を制御することができる。
したがって、本実施形態の情報漏洩防止装置によれば、アプリケーションプログラム毎に異なるセキュリティポリシーを適用することが可能になっている。
これにより、例えば、ブラウザはインターネットアクセスできるが、ファイルをダウロードするなどの操作はできず、その他のプログラム、例えばワープロでは、ブラウザの表示を見ながら原稿を書いてファイルに保存することはできるが、その内容をネットで送信することはできない、といったセキュリティポリシーを適用することができる。このようにすれば、安全にインターネットに接続できると同時に、編集されたワープロのファイルが不用意にインターネットで流出する危険を回避することができるという優れた効果を得ることが可能となる。
なお、OSによっては、各プログラム間で直接データを送受信する機能(プロセス間通信機能等)が備わっている場合があり、それを使ってワープロのデータをブラウザに送信し、ブラウザからワープロのデータを送信するといったことが可能である。しかし、これらの機能も各プログラムはAPIを用いて実行するため、本実施形態におけるAPIフック121及びAPIフック122によって制御することが可能である。
[第三実施形態]
次に、本発明の第三実施形態について、図9〜図12を参照して説明する。図9は、本実施形態の情報漏洩防止装置の構成を示すブロック図であり、図10は、本実施形態の情報漏洩防止装置において使用されるデータの構成を示す図である。また、図11は、本実施形態の情報漏洩防止装置の処理手順(実行プログラム毎のセキュリティ設定切替(3))を示すフローチャートであり、図12は、本実施形態の情報漏洩防止装置の処理手順(実行プログラム毎のセキュリティ設定切替(4))を示すフローチャートである。
本実施形態の情報漏洩防止装置1−3は、第一実施形態の情報漏洩防止装置1の構成に加えて、アプリケーションプログラム毎に異なるセキュリティポリシーを適用可能な構成を備えている点で、第一実施形態と相違する。また、本実施形態の情報漏洩防止装置1−3は、APIフックではなく、DLLインジェクションを用いることにより、アプリケーションプログラム毎に異なるセキュリティポリシーを適用可能な構成を実現している点で、第二実施形態と相違する。その他の点については、第一実施形態と同様のものとすることができる。
本実施形態の情報漏洩防止装置1−3は、実行プログラム11a’により使用されるメモリ領域10a’、実行プログラム11b’により使用されるメモリ領域10b’、及び情報漏洩防止装置1−3において使用される各種データを記憶する共有メモリ30−3(図9では省略してその内部の記憶部のみを示している)を備えている。本実施形態の情報漏洩防止装置1−3においても、より多くの数の実行プログラムにより使用されるメモリ領域を備えることができる。
共有メモリ30−3には、使用セキュリティ記憶部37、セキュリティ1記憶部35、及びセキュリティ2記憶部36が備えられている。
使用セキュリティ記憶部37は、実行プログラム毎に、使用するセキュリティを記憶する。例えば、実行プログラム11a(ブラウザ)についてセキュリティ1を使用し、実行プログラム11b(ワープロ、その他)についてセキュリティ2を使用することを記憶する。
この使用セキュリティ記憶部37に記憶される使用するセキュリティの情報を変更することで、実行プログラム毎に適用するセキュリティポリシーを変更することができる。
セキュリティ1記憶部35とセキュリティ2記憶部36は、セキュリティポリシー毎のセキュリティ内容を記憶するものであり、本実施形態ではDLLインジェクション13a’又はDLLインジェクション13b’によりアクセスされる。
例えば、セキュリティ1記憶部35には、セキュリティ1として、「ハードディスク(HD)への書き込み:不可,インターネットへのアクセス:可,等」のセキュリティポリシーを記憶させることができる。また、セキュリティ2記憶部36には、セキュリティ2として、「ハードディスク(HD)への書き込み不可,インターネットへのアクセス:不可,等」のセキュリティポリシーを記憶させることができる。
横取り処理部として、実行プログラム11a’により使用されるメモリ領域10a’には、DLLインジェクション13a’が備えられ、実行プログラム11b’により使用されるメモリ領域10b’には、DLLインジェクション13b’が備えられている。
なお、DLLインジェクションは、通常実行プログラムの起動時にAPIの呼び出しを横取りするDLLが読み込まれて、実行プログラムと共に実行される仕組みとなっている。このため、実行プログラムの起動時にどのDLLを読み込むかを実行プログラムに選択させることにより、特定のDLLインジェクションを実行プログラムの実行開始時に選択させることが可能となっている。
DLLインジェクション13a’は、実行プログラム11a’による特定種類のAPI40の呼び出し処理を横取りする。DLLインジェクション13a’は、実行プログラム11a’について使用するセキュリティについての情報を使用セキュリティ記憶部37から取得することができる。DLLインジェクション13a’による、使用するセキュリティについての情報の取得は、DLLインジェクション13a’のメモリへの読み込み時に行わせることができる。また、実行プログラム11a’から呼び出されたタイミングで行うこともできる。これはDLLインジェクション13b’についても同様である。
例えば、使用セキュリティ記憶部37において、実行プログラム11a’にセキュリティ1が対応付けられて記憶されている場合、セキュリティ1記憶部35に記憶されているセキュリティ1の内容にもとづいて、実行プログラム11a’の動作を制御する。
図10の例では、セキュリティ1の内容として、「ハードディスクへの書き込み:不可,インターネットへのアクセス:可」がセキュリティ1記憶部35に記憶されている。このため、実行プログラム11a’がハードディスクへの書き込みを行うためのAPIを呼び出した場合、DLLインジェクション13a’は、API40を呼び出すことなく、実行プログラム11a’に当該APIの呼び出しを許可しないことを示す情報を返却する。これによって、実行プログラム11a’の動作を制御することができる。
また、DLLインジェクション13b’は、実行プログラム11b’による特定種類のAPI40の呼び出し処理を横取りする。使用セキュリティ記憶部37において、実行プログラム11b’にセキュリティ2が対応付けられて記憶されている場合、セキュリティ2記憶部36に記憶されているセキュリティ2の内容にもとづいて、実行プログラム11b’の動作を制御する。
図10の例では、DLLインジェクション13b’に対応するセキュリティ2の内容として、「ハードディスクへの書き込み:可,インターネットへのアクセス:不可」がセキュリティ2記憶部36に記憶されている。このため、実行プログラム11b’がハードディスクへの書き込みを行うためのAPIを呼び出した場合、DLLインジェクション13b’は、API40を呼び出して、その実行を許可する。これによって、実行プログラム11b’の動作を制御することができる。
次に、本実施形態の情報漏洩防止装置1−3による実行プログラム毎のセキュリティ設定切替(3)処理手順について、図11を参照して説明する。ここでは、実行プログラム11a’が、ブラウザであるとする。
まず、ブラウザにより特定種類のAPI、例えばインターネットへのアクセスの呼び出し処理が行われる(ステップ50)。そして、DLLインジェクション13a’が、このAPIの呼び出し処理を横取りする(ステップ51)。
ブラウザに使用されるセキュリティは、使用セキュリティ記憶部37に記憶されているように、セキュリティ1である。
したがって、DLLインジェクション13a’は、セキュリティ1記憶部35に記憶されているセキュリティ1の内容にしたがって、実行プログラム11a’の動作を制御する(ステップ52)。
このとき、APIは「インターネットへのアクセス」であり、セキュリティ1記憶部35にはセキュリティ1の内容として「インターネットへのアクセス:可」が記憶されているため、DLLインジェクション13a’は、API40を呼び出して、その動作を許可する。
一方、ブラウザによって、ハードディスクへの書き込みを行うためのAPIが呼び出されたとする(ステップ50)。DLLインジェクション13a’が、このAPIの呼び出し処理を横取りする(ステップ51)。
ブラウザに使用されるセキュリティは、セキュリティ1であるため、DLLインジェクション13a’は、セキュリティ1記憶部35に記憶されているセキュリティ1の内容にしたがって、実行プログラム11a’の動作を制御する(ステップ52)。
このとき、APIは「ハードディスクへの書き込み」であり、セキュリティ1記憶部35にはセキュリティ1の内容として「ハードディスクへの書き込み:不可」が記憶されているため、DLLインジェクション13a’は、API40を呼び出すことなく、実行プログラム11a’に処理を許可できないことを示す情報を返却する。
次に、本実施形態の情報漏洩防止装置1−3による実行プログラム毎のセキュリティ設定切替(4)処理手順について、図12を参照して説明する。ここでは、実行プログラム11b’が、ブラウザ以外のアプリケーションプログラム、例えばワープロであるとする。
まず、ワープロにより特定種類のAPI、例えばインターネットへのアクセスの呼び出し処理が行われる(ステップ60)。そして、DLLインジェクション13b’が、このAPIの呼び出し処理を横取りする(ステップ61)。
ワープロに使用されるセキュリティは、使用セキュリティ記憶部37に記憶されているように、セキュリティ2である。
したがって、DLLインジェクション13b’は、セキュリティ2記憶部36に記憶されているセキュリティ2の内容にしたがって、実行プログラム11b’の動作を制御する(ステップ62)。
このとき、APIは「インターネットへのアクセス」であり、セキュリティ2記憶部36にはセキュリティ2の内容として「インターネットへのアクセス:不可」が記憶されているため、DLLインジェクション13b’は、API40を呼び出すことなく、実行プログラム11b’に処理を許可できないことを示す情報を返却する。
一方、ワープロによって、ハードディスクへの書き込みを行うためのAPIが呼び出されたとする(ステップ60)。DLLインジェクション13b’が、このAPIの呼び出し処理を横取りする(ステップ61)。
ワープロに使用されるセキュリティは、セキュリティ2であるため、DLLインジェクション13b’は、セキュリティ2記憶部36に記憶されているセキュリティ2の内容にしたがって、実行プログラム11b’の動作を制御する(ステップ62)。
このとき、APIは「ハードディスクへの書き込み」であり、セキュリティ2記憶部36にはセキュリティ2の内容として「ハードディスクへの書き込み:可」が記憶されているため、DLLインジェクション13b’は、API40を呼び出して、その動作を許可する。
以上のように、本実施形態の情報漏洩防止装置1−3によれば、実行プログラムにより使用されるメモリ領域において、DLLインジェクションを実行させ、その実行プログラムに対応するセキュリティポリシーにしたがって、動作を制御することができ、アプリケーションプログラム毎に異なるセキュリティポリシーを適用することが可能になっている。
また、上記各実施形態によれば、APIフックやDLLインジェクションのようなアプリケーションプログラムがAPIを呼び出す部分に横取り処理部を構成することによって、OSやOS内部などのドライバに手を加えることなく、アプリケーションプログラム(実行プログラム)の動きを制御することが可能となっている。さらに、アプリケーションプログラムに手を加える必要もない。
仮に、OSの内部やドライバに手を加えてアプリケーションプログラムの動きを制御する仕組みにすると、APIフックやDLLインジェクションのような仕組みが第三者によって設定された場合には、アプリケーションプログラムとOSとの間の情報のやり取りが傍受されたり、改ざんされたりする虞がある。
このため、アプリケーションプログラムがAPIを呼び出す部分に横取り処理部を構成することは、セキュリティ上も好ましいと考えられる。
また、上記各実施形態において、横取り処理部として、暗号化処理部と復号化処理部とをさらに備えた場合に関し、仮にこれらをOS内部やドライバに備えて実現すると、アプリケーションプログラムとOSとの間には暗号化されていないデータがやり取りされることになる。これに対して、上記各実施形態によれば、アプリケーションプログラムによるAPIの呼び出し直後に暗号化や復号化を行うことができるため、盗聴・傍受の危険性を軽減させることが可能となる。
さらに、アプリケーションの動きを完全に制御するという観点からも、OSの内部においてその仕組みを完全に構築するよりも、アプリケーションが直接呼び出すAPIを横取りすることで、その動きを制御するほうが容易である。すなわち、アプリケーションの外部への呼び出しはすべてAPIで行われているため、APIの動きを制御することにより、例外なくアプリケーションの外部との呼び出しを制御することができるからである。
上記の各実施形態の情報漏洩防止装置は、本発明の情報漏洩防止プログラムに制御されたコンピュータを用いて実現することができる。コンピュータのCPUは、情報漏洩防止プログラムにもとづいてコンピュータの各構成要素に指令を送り、情報漏洩防止装置の動作に必要となる所定の処理、例えば、モード切替処理、設定モードの実行処理、実行プログラム毎のセキュリティ設定切替処理等を行わせる。このように、本発明の情報漏洩防止装置における各処理、動作は、プログラムとコンピュータとが協働した具体的手段により実現できるものである。
プログラムは予めROM,RAM等の記録媒体に格納され、コンピュータに実装された記録媒体から当該コンピュータにプログラムを読み込ませて実行されるが、例えば通信回線を介してコンピュータに読み込ませることもできる。
また、プログラムを格納する記録媒体は、例えば半導体メモリ、磁気ディスク、光ディスク、その他任意のコンピュータで読取り可能な任意の記録手段により構成できる。
以上説明したように、本発明の実施形態に係る情報漏洩防止装置、及び情報漏洩防止プログラムによれば、コンピュータの再起動やログオンなどを行うことなく、コンピュータのセキュリティモードを状況に応じた様々な内容に変更することが可能である。
また、一台のコンピュータにおいて、アプリケーション毎に、異なる複数のセキュリティポリシーを同時に適用することも可能となる。
本発明は、以上の実施形態に限定されるものではなく、本発明の範囲内において、種々の変更実施が可能であることは言うまでもない。
例えば、第一から第三までの各実施形態を様々に組み合わせた構成とするなど適宜変更することが可能である。
本発明は、例えば企業や学校等において、情報の漏洩を簡易に抑制可能したい場合などに好適に利用することが可能である。
1,1−2,1−3 情報漏洩防止装置
10,10a,10b,10a’,10b’ 実行プログラム使用メモリ領域
11,11a,11b,11a’,11b’ 実行プログラム
12 横取り処理部
12−1 切替検知部
12−2 モード実行部
121,122 APIフック(DLL)
13a’,13b’ DLLインジェクション
20 モード切替部
30 共有メモリ
31 切替条件記憶部
32 設定モード記憶部
33 モード内容記憶部
34 使用横取り処理記憶部
35 セキュリティ1記憶部
36 セキュリティ2記憶部
37 使用セキュリティ記憶部
40 API(本来呼び出されるもの)
50 オペレーティングシステム
60 記憶装置用ドライバ
70 プリンタ用ドライバ
80 ネットワーク用ドライバ
2 記憶装置
3 プリンタ
4 ネットワーク装置

Claims (11)

  1. セキュリティのモードを変更することにより情報の漏洩を防止する情報漏洩防止装置であって、
    前記モードを切り替える条件毎に対応するモードを記憶する切替条件記憶部と、
    モードの切替により設定するモードを記憶する設定モード記憶部と、
    アプリケーションプログラムから特定種類のアプリケーションプログラムインタフェースの呼び出し処理が行われたとき、前記呼び出し処理を横取りし、前記切替条件記憶部の切替条件を参照して、前記アプリケーションプログラムが実行しようとする内容と一致する条件が存在する場合、当該条件に対応するモードを取得する横取り処理部と、
    前記横取り処理部から前記モードを取得して、前記設定モード記憶部に設定するモード切替部と、を備え、
    前記横取り処理部は、アプリケーションプログラムから前記特定種類と同一又は異なる所定のアプリケーションプログラムインタフェースの呼び出し処理が行われたとき、前記呼び出し処理を横取りし、前記設定モード記憶部を参照して、当該モードに対応するモード内容にしたがって、前記アプリケーションプログラムインタフェースによる処理を許可又は禁止することによって、当該情報漏洩防止装置の内部における動作の制御、及び/又は、当該情報漏洩防止装置の外部に対する動作の制御を行う
    ことを特徴とする情報漏洩防止装置。
  2. 前記横取り処理部が、各種OSにおけるAPIフック、及び/又は、DLLインジェクションであることを特徴とする請求項1記載の情報漏洩防止装置。
  3. 前記特定種類のアプリケーションプログラムインタフェースが、特定のファイルへのアクセス、特定のネットワークへのアクセス、又は、特定のファイルサーバへのアクセスを行うものである
    ことを特徴とする請求項1又は2記載の情報漏洩防止装置。
  4. 前記モード切替部が、ユーザにより入力されたモード切替指示情報、特定のアプリケーションプログラムを起動することを示す情報、又は、ユーザ認証に成功したことを示す情報の入力にもとづいて、モードの切替により設定するモードを前記設定モード記憶部に記憶させる
    ことを特徴とする請求項1〜3のいずれかに記載の情報漏洩防止装置。
  5. 前記横取り処理部として前記APIフックが、前記アプリケーションプログラムごとに二以上備えられると共に、前記APIフックにそれぞれ対応する二以上で別個のセキュリティ記憶部が備えられ、
    前記セキュリティ記憶部にはセキュリティの内容が記憶され、
    前記アプリケーションプログラムに対して使用される前記APIフックが設定されており、
    全ての前記APIフックが順次実行されて、前記アプリケーションプログラムに対して使用される前記APIフックのみが、対応する前記セキュリティ記憶部から前記セキュリティ内容を取得して、
    当該APIフックにより、前記セキュリティ内容にしたがって前記アプリケーションプログラムインタフェースによる処理が許可又は禁止される
    ことを特徴とする請求項記載の情報漏洩防止装置。
  6. 前記横取り処理部として前記DLLインジェクションが、前記アプリケーションプログラムごとに備えられると共に、二以上で別個のセキュリティ記憶部が備えられ、
    前記セキュリティ記憶部にはセキュリティの内容が記憶され、
    前記アプリケーションプログラムに対して使用されるセキュリティが設定されており、
    前記DLLインジェクションが実行されて、前記アプリケーションプログラムに対応する前記セキュリティの内容を前記セキュリティ記憶部から取得して、
    当該DLLインジェクションにより、前記セキュリティの内容にしたがって前記アプリケーションプログラムインタフェースによる処理が許可又は禁止される
    ことを特徴とする請求項記載の情報漏洩防止装置。
  7. 前記情報漏洩防止装置の内部における動作の制御が、当該情報漏洩防止装置における、ハードディスクドライブに対する書き込み禁止、デスクトップに対する書き込み禁止、及び/又は、特定のアプリケーションの起動禁止である
    ことを特徴とする請求項1〜6のいずれかに記載の情報漏洩防止装置。
  8. 前記情報漏洩防止装置の外部に対する動作の制御が、特定のネットワークへのアクセス禁止、特定のファイルサーバへのアクセス禁止、特定のデバイスへのアクセス禁止、及び/又は、特定の出力機器へのアクセス禁止である
    ことを特徴とする請求項1〜7のいずれかに記載の情報漏洩防止装置。
  9. セキュリティのモードを変更することによりコンピュータからの情報の漏洩を防止するための情報漏洩防止プログラムであって、
    前記モードを切り替える条件毎に対応するモードを記憶する切替条件記憶部と、モードの切替により設定するモードを記憶する設定モード記憶部とを備えたコンピュータに、
    アプリケーションプログラムから特定種類のアプリケーションプログラムインタフェースの呼び出し処理が行われたとき、前記呼び出し処理を横取りさせ、前記切替条件記憶部の切替条件を参照させて、前記アプリケーションプログラムが実行しようとする内容と一致する条件が存在する場合、当該条件に対応するモードを取得させ、
    前記設定モード記憶部に設定させ、
    アプリケーションプログラムから前記特定種類と同一又は異なる所定のアプリケーションプログラムインタフェースの呼び出し処理が行われたとき、前記呼び出し処理を横取りさせ、前記設定モード記憶部を参照させて、当該モードに対応するモード内容にしたがって、前記アプリケーションプログラムインタフェースによる処理を許可又は禁止することによって、当該コンピュータの内部における動作の制御、及び/又は、当該コンピュータの外部に対する動作の制御を行わせる
    ことを実行させるための情報漏洩防止プログラム。
  10. APIフックが、前記アプリケーションプログラムごとに二以上備えられると共に、セキュリティの内容を記憶する、前記APIフックにそれぞれ対応する二以上で別個のセキュリティ記憶部をさらに備え、かつ前記アプリケーションプログラムに対して使用される前記APIフックが設定されている前記コンピュータに、
    全ての前記APIフックを順次実行させて、前記アプリケーションプログラムに対して使用される前記APIフックのみに、対応する前記セキュリティ記憶部から前記セキュリティの内容を取得させ、
    当該APIフックにより、前記セキュリティの内容にしたがって前記アプリケーションプログラムインタフェースによる処理を許可又は禁止させる
    ことを実行させるための請求項9記載の情報漏洩防止プログラム。
  11. DLLインジェクションが、前記アプリケーションプログラムごとに備えられると共に、セキュリティの内容を記憶する二以上で別個のセキュリティ記憶部をさらに備え、かつ前記アプリケーションプログラムに対して使用されるセキュリティが設定されている前記コンピュータに、
    前記DLLインジェクションを実行させて、前記アプリケーションプログラムに対応する前記セキュリティの内容を前記セキュリティ記憶部から取得させ、
    当該DLLインジェクションにより、前記セキュリティの内容にしたがって前記アプリケーションプログラムインタフェースによる処理を許可又は禁止させる
    ことを実行させるための請求項9又は10記載の情報漏洩防止プログラム。
JP2017205913A 2017-10-25 2017-10-25 情報漏洩防止装置、及び情報漏洩防止プログラム Active JP6957311B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017205913A JP6957311B2 (ja) 2017-10-25 2017-10-25 情報漏洩防止装置、及び情報漏洩防止プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017205913A JP6957311B2 (ja) 2017-10-25 2017-10-25 情報漏洩防止装置、及び情報漏洩防止プログラム

Publications (2)

Publication Number Publication Date
JP2019079289A JP2019079289A (ja) 2019-05-23
JP6957311B2 true JP6957311B2 (ja) 2021-11-02

Family

ID=66627853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017205913A Active JP6957311B2 (ja) 2017-10-25 2017-10-25 情報漏洩防止装置、及び情報漏洩防止プログラム

Country Status (1)

Country Link
JP (1) JP6957311B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737738A (zh) * 2020-06-11 2020-10-02 浙江华途信息安全技术股份有限公司 一种Windows防信息泄漏***

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007286905A (ja) * 2006-04-17 2007-11-01 Nec System Technologies Ltd 情報処理端末装置、ファイル流出防止方法およびファイル流出防止プログラム
JP5293151B2 (ja) * 2008-12-19 2013-09-18 富士ゼロックス株式会社 コンテンツ保護装置及びコンテンツ保護プログラム
JP2011040044A (ja) * 2010-06-10 2011-02-24 System Intelligent Kk 仮想シンクライアント化装置、仮想シンクライアント化システム、仮想シンクライアント化プログラム、及び仮想シンクライアント化方法
KR101242127B1 (ko) * 2011-04-28 2013-03-12 주식회사 파수닷컴 Dll 인젝션 기능을 구비한 컴퓨팅 장치 및 dll 인젝션 방법
JP2013164732A (ja) * 2012-02-10 2013-08-22 Isis Asset Co Ltd 情報処理装置
JP6151218B2 (ja) * 2014-05-29 2017-06-21 日本電信電話株式会社 アプリケーション実行装置、その方法及びプログラム

Also Published As

Publication number Publication date
JP2019079289A (ja) 2019-05-23

Similar Documents

Publication Publication Date Title
US9934407B2 (en) Apparatus for and method of preventing unsecured data access
US9246948B2 (en) Systems and methods for providing targeted data loss prevention on unmanaged computing devices
CN108140097B (zh) 组织数据的被动加密
US9342711B2 (en) Systems and methods for controlling access to peripherals of a computer system by software applications
JP6347831B2 (ja) ハイパーバイザに制御されるシステムにおいてゲスト・イベントを処理するための方法、データ処理プログラム、コンピュータ・プログラム製品、およびデータ処理システム
KR101705550B1 (ko) 보안 저장 영역에 대한 응용 프로그램의 접근 제어 방법 및 장치
JP5719244B2 (ja) 安全に管理された仮想マシンの実行環境を構築する方法、プログラムおよびコンピュータ装置
KR101054981B1 (ko) 프로그램의 콘텍스트를 보안적으로 저장하는 컴퓨터 구현 방법, 정보 처리 시스템 및 컴퓨터 판독 가능한 기록 매체
RU2559728C2 (ru) Система и способ копирования файлов с зашифрованного диска
JP7146812B2 (ja) 独立した復元領域を有する補助記憶装置およびこれを適用した機器
Amiri Sani Schrodintext: Strong protection of sensitive textual content of mobile applications
WO2009110275A1 (ja) 機密情報漏洩防止システム及び機密情報漏洩防止方法
JP2003345654A (ja) データ保護システム
US9881142B2 (en) Method and apparatus for preventing and investigating software piracy
US20170329963A1 (en) Method for data protection using isolated environment in mobile device
WO2012094969A1 (zh) 一种数据保护方法和装置
US10303885B2 (en) Methods and systems for securely executing untrusted software
JP6270780B2 (ja) データ管理装置、データ管理方法、及びデータ管理プログラム
CN115758420A (zh) 文件访问控制方法、装置、设备及介质
JP2009059008A (ja) ファイル管理システム
JP6957311B2 (ja) 情報漏洩防止装置、及び情報漏洩防止プログラム
JP4538838B1 (ja) 仮想シンクライアント化装置、仮想シンクライアント化システム、仮想シンクライアント化プログラム、及び仮想シンクライアント化方法
KR20220085786A (ko) 랜섬웨어 방지
JP2011040044A (ja) 仮想シンクライアント化装置、仮想シンクライアント化システム、仮想シンクライアント化プログラム、及び仮想シンクライアント化方法
JP2008083886A (ja) 機密情報漏洩防止方法及びシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201013

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210922

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211006

R150 Certificate of patent or registration of utility model

Ref document number: 6957311

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150