JP6701368B2 - 印刷操作を介した印刷インタフェース技術診断によるデータ損失防止 - Google Patents

印刷操作を介した印刷インタフェース技術診断によるデータ損失防止 Download PDF

Info

Publication number
JP6701368B2
JP6701368B2 JP2018545603A JP2018545603A JP6701368B2 JP 6701368 B2 JP6701368 B2 JP 6701368B2 JP 2018545603 A JP2018545603 A JP 2018545603A JP 2018545603 A JP2018545603 A JP 2018545603A JP 6701368 B2 JP6701368 B2 JP 6701368B2
Authority
JP
Japan
Prior art keywords
print
driver
intercepting
printer
application
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
JP2018545603A
Other languages
English (en)
Other versions
JP2019513254A (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.)
NortonLifeLock Inc
Original Assignee
Symantec 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 Symantec Corp filed Critical Symantec Corp
Publication of JP2019513254A publication Critical patent/JP2019513254A/ja
Application granted granted Critical
Publication of JP6701368B2 publication Critical patent/JP6701368B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1246Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1275Print workflow management, e.g. defining or changing a workflow, cross publishing
    • G06F3/1276Print workflow management, e.g. defining or changing a workflow, cross publishing within a printer driver, e.g. driver resides either on a server or on a client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1293Printer information exchange with computer
    • G06F3/1294Status or feedback related to information exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Description

本開示は、概ね、コンピュータセキュリティ及びデータ損失防止、より具体的には、印刷操作を介した印刷インタフェース技術診断によるデータ損失防止に関する。
クラウドベースのストレージ及びモバイルコンピューティングデバイスの普及に伴い、企業及び他の組織は、不注意なユーザアクティビティ及び悪意のあるユーザアクティビティの両方の結果として、その機密情報の損失及び漏洩を被っている。データ損失防止(「DLP」)システムは、機密情報がアクセス、送信、及び記憶されるときに、その情報に対する操作を監視、検出、及びブロックすることができる。そうすることにより、DLPシステムは、組織ポリシーに応じて機密情報を保護することができる。例えば、所定の会社内の人事部のある社員が、自宅住所及び社会保障番号などの従業員個人情報にアクセスすることを許可されている場合がある。しかし、そのような従業員個人情報を印刷する、又は会社以外のクラウドストレージにその情報をコピーすることは、会社のポリシー違反になり得る。DLPシステムは、特定の情報を機密として分類し、そのような情報を識別して監視し、望ましくない出来事を検出してブロックすることができる。
印刷は、デジタル情報が物理媒体に変換される、DLPにとって固有な脅威ベクタである。このため、印刷は、DLPシステムにとって監視することが重要な操作である。Microsoft Windows(登録商標)下では、印刷操作を監視することは、従来、MicrosoftのGraphics Device Interface(「GDI」)アプリケーションプログラムインタフェース(「API」)を傍受することによって実施された。しかし、これは、当該のアプリケーションがGDIベースの印刷を使用している場合のみに機能する。Windowsの印刷技術は、実質的に長年にわたって発展し、現在、GDI、拡張マークアップ言語(「XML」)Paper Specification(「XPS」)、Print Ticket、及びDocument Package APIなどのインタフェース技術を利用している。
更に、いくつかのシナリオにおいては、例えば、アプリケーションのサンドボックス化及びコードの整合性チェックを用いて、アプリケーションレベルで印刷操作を傍受するために特定のアプリケーションを認識することさえ、DLPシステムにとっては実用的ではない。
これらの問題に対処することが望ましいと考えられる。
印刷操作は、印刷操作を開始する特定のアプリケーションとは関係なく、また、アプリケーションによって使用される特定の印刷インタフェース技術とは関係なく、監視され、DLPポリシーが適用される。DLP構成要素は、印刷スプーラにロードされる印刷ドライバを監視し、検出する。これは、印刷ドライバを印刷スプーラ内にロードするシステム関数(例えば、Windowsシステム関数LoadLibrary)を傍受する形態を取り得る。一実施形態では、印刷フックが印刷スプーラに注入され、印刷フックは関連のあるシステム関数を傍受する。別の実施形態では、印刷フックコードは印刷ドライバとして登録され、それによってWindowsは、印刷フックコードを印刷スプーラにロードする。ドライバとしてスプーラで稼働する印刷フックコードは、次いで、関連のあるシステム関数を傍受する。関連のあるシステム関数(例えば、LoadLibrary)を傍受することにより、スプーラへのあらゆる印刷ドライバのロードが検出される(例えば、フォルダSystem32¥spool¥driversから)。
印刷ドライバが印刷スプーラにロードされると、印刷スプーラは、対応するドライバオブジェクトを作成する。例えば、ロードされた印刷ドライバのDllGetClassObjectメソッドを傍受する、及び作成されたドライバオブジェクトをフックするためのIClassFactory.CreateInstaceメソッドを傍受することにより、ドライバオブジェクトの作成が傍受される。インスタンス化されたドライバオブジェクトは、様々な印刷関数を実行するため、複数のデバイスオブジェクトを作成する。ドライバオブジェクトがデバイスオブジェクトを作成すると、対象となるデバイスオブジェクト印刷関数が傍受される。これは、印刷スプーラがIClassFactory.CreateInstaceメソッドを介してドライバオブジェクトをインスタンス化するときに、ドライバ関数のテーブルをエクスポートするドライバオブジェクトメソッドを傍受する形態を取り得る。印刷スプーラがテーブルを取り込むと、対象となる特定のテーブルエントリが置換される。対象となるデバイスオブジェクト印刷関数は、実施形態間で変わり得るが、典型的には、行及びページレベルの出力に関与する関数、並びに状態管理に関与する関数など、プリンタへのコンテンツの送信に関連付けられたデバイスオブジェクト印刷関数を含む。一実施形態では、StartDoc、EndDoc、TextOut、SendPage、Start Banding、及びNext Bandが傍受される。
傍受されたデバイスオブジェクト関数によって印刷ドライバレベルでプリンタにテキストを送信する試みが監視される。これは、傍受されたデバイスオブジェクト印刷関数が、プリンタにページを送信するために呼び出されるたびに、1ページずつテキストを監視することを含み得る。このレベルで処理されるコンテンツがグリフ形式である場合には、グリフはユニコードに変換され得る。
特定のテキストをプリンタに送信する監視対象の試みごとに、基礎をなす印刷操作を開始した特定のアプリケーションに関連付けられているアプリケーションレベルのコンテキスト情報が識別される。一実施形態では、遠隔手続き呼び出し(「RPC」)APIが傍受され、印刷スプーラがRPCなりすまし印刷呼び出しを行った時点で検出される。これが発生すると、印刷スプーラが傍受されたRPCなりすまし印刷呼び出しに渡したアプリケーションIDが読み取られる。このアプリケーションIDから、関連ユーザ及び規定するDLPポリシーなど、追加のアプリケーションレベルのコンテキスト情報が判別され得る。
DLPポリシーは、印刷ドライバレベルでプリンタに特定のテキストを送信する監視対象の試みに適用される。特定の監視対象の各試みへのDLPポリシーの適用には、識別された特定のアプリケーションレベルのコンテキスト情報及び監視対象の試みの特定のテキストを考慮に入れることができる。DLPポリシーを適用することは、例えば、プリンタにコンテンツを送信する試みをブロックすること、制限付きコンテンツは編集するが非制限付きコンテンツはプリンタに送信すること、プリンタにコンテンツを送信する試みのログを取ること、プリンタにコンテンツを送信する試みに関する通知を管理者に送信すること、プリンタにコンテンツを送信する試みに関連付けられたユーザに関する追加の操作をブロックすること、などの処置を取ることを更に含み得る。監視は、印刷ドライバレベルで行われるため、DLPポリシーは、発信元のアプリケーションによって使用される特定の印刷インタフェースに関わらず(例えば、GDI、XPS、Document Packageなど)、印刷操作に適用され得る。
この発明の概要及び後述の発明を実施するための形態において説明される特徴及び利点は、すべてを包含したものではなく、特に、本特許の図面、明細書、及び特許請求の範囲を考慮すれば、関連分野の当業者には、数多くの追加の特徴及び利点が明らかとなろう。更に、本明細書で使用する言語は読みやすさ及び指示上の目的で主に選択されたものであり、本発明の主題を線引きする又は制限するために選択されたものではない場合があり、そうした本発明の主題を決定するには特許請求の範囲に頼ることが必要であることに留意すべきである。
いくつかの実施形態における、印刷DLPマネージャを実装可能なネットワークアーキテクチャの一例を示すブロック図である。
いくつかの実施形態における、印刷DLPマネージャの実装に適したコンピュータシステムのブロック図である。
いくつかの実施形態における、印刷DLPマネージャの動作を示すブロック図である。
図面は、単に例示目的のために、様々な実施形態を描写する。当業者は、本明細書に説明される原理から逸脱することなく、本明細書に例示される構造及び方法の代替の実施形態を採用し得ることが、以下の考察から容易に認識されるであろう。
図1は、印刷DLPマネージャ101を実装可能なネットワークアーキテクチャ100の一例を示すブロック図である。例示されるネットワークアーキテクチャ100は、複数のクライアント103A、103B、及び103N、並びに複数のサーバ105A及び105Nを備える。図1では、印刷DLPマネージャ101は、クライアント103A〜Cのそれぞれに存在するように例示されている。これは一例にすぎず、様々な実施形態において、このシステム101の様々な機能が、クライアント103、サーバ105上でインスタンス化され得るか、又は複数のクライアント103間及び/若しくはサーバ105間に分散され得ることを理解されたい。
クライアント103及びサーバ105は、図2に例示され、以降で説明されるものなどのコンピュータシステム210を使用して実装することができる。クライアント103及びサーバ105は、図2に関連して以降で説明されるように、ネットワークインタフェース248又はモデム247を介して、ネットワーク107に通信可能に連結される。クライアント103は、例えば、ウェブブラウザ又は他のクライアントソフトウェア(図示せず)を使用して、サーバ105上のアプリケーション及び/又はデータにアクセスすることができる。クライアント103は、ネットワーク107に接続し、アプリケーションを実行することが可能なポータブルコンピュータシステムを備える、デスクトップ/ラップトップコンピュータ、又はモバイルコンピューティングデバイスの形態であり得る。そのようなモバイルコンピューティングデバイスは、時にはスマートフォンと称されるが、そのような名称がない多くの携帯電話も、これらの能力を有する。タブレットコンピュータは、モバイルコンピューティングデバイスの別の例である。
図1には3つのクライアント103及び2つのサーバ105が一例として例示されているが、実際にはもっと多くの(又はもっと少ない)数のクライアント103及び/又はサーバ105を配備することができる。一実施形態では、ネットワーク107はインターネットの形態である。他の実施形態において、他のネットワーク107又はネットワークベースの環境を使用することができる。
図2は、印刷DLPマネージャ101の実装に適したコンピュータシステム210のブロック図である。クライアント103及びサーバ105の両方が、そのようなコンピュータシステム210の形態で実装され得る。例示されるように、コンピュータシステム210の1つの構成要素は、バス212である。バス212は、コンピュータシステム210の他の構成要素、例えば、少なくとも1つのプロセッサ214、システムメモリ217(例えば、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ)、入力/出力(I/O)コントローラ218、スピーカ220などの外部オーディオデバイスに通信可能に連結されるオーディオ出力インタフェース222、ディスプレイ画面224などの外部ビデオ出力デバイスに通信可能に連結されるディスプレイアダプタ226、ユニバーサルシリアルバス(USB)ポート228、シリアルポート230、パラレルポート(例示せず)などといった1つ以上のインタフェース、キーボード232に通信可能に連結されるキーボードコントローラ233、少なくとも1つのハードディスク244(若しくは他の形態(複数を含む)の磁気媒体)に通信可能に連結される記憶インタフェース234、ファイバチャネル(FC)ネットワーク290と接続するように構成されるホストバスアダプタ(HBA)インタフェースカード235A、SCSIバス239に接続するように構成されるHBAインタフェースカード235B、光ディスク242を受容するように構成される光ディスクドライブ240、例えば、USBポート228を介してバス212に連結されるマウス246(若しくは他のポインティングデバイス)、例えば、シリアルポート230を介してバス212に連結されるモデム247、並びに、例えば、直接バス212に連結される1つ以上の有線及び/又は無線ネットワークインタフェース(複数を含む)248に通信可能に連結する。
他の構成要素(図示せず)は、類似の様態で接続され得る(例えば、ドキュメントスキャナ、デジタルカメラ、プリンタなど)。逆に、図2に例示される構成要素のすべてが、存在する必要があるわけではない(例えば、スマートフォン及びタブレットは、典型的に、光ディスクドライブ240、外部キーボード242、又は外部ポインティングデバイス246を有しないが、様々な外部構成要素が、例えば、USBポート228を介して、モバイルコンピューティングデバイスに連結され得る)。様々な構成要素は、図2に示されるものとは異なる方法で相互接続することができる。
バス212は、プロセッサ214と、上で記載されるようにROM及び/又はフラッシュメモリ、並びにRAMを含み得るシステムメモリ217との間のデータ通信を可能にする。RAMは、典型的には、オペレーティングシステム及びアプリケーションプログラムがロードされるメインメモリである。ROM及び/又はフラッシュメモリは、他のコードと共に、特定の基本的なハードウェアオペレーションを制御するベーシックインプット・アウトプットシステム(BIOS)を含み得る。アプリケーションプログラムはローカルコンピュータ可読媒体(例えばハードディスク244、光ディスク242)に格納され、システムメモリ217にロードされ、そしてプロセッサ214により実行され得る。アプリケーションプログラムは、例えばネットワークインタフェース248又はモデム247を介して、遠隔の場所(すなわち、遠隔に配置されたコンピュータシステム210)からシステムメモリ217にロードすることもできる。図2では、印刷DLPマネージャ101は、システムメモリ217に存在するように例示されている。印刷DLPマネージャ101の作用は、図3に関連して以下に詳細に説明される。
記憶インタフェース234は、1つ以上のハードディスク244(及び/又はその他の標準記憶媒体)に連結される。ハードディスク(複数可)244は、コンピュータシステム210の一部であってもよく、又は物理的に別個であり、他のインタフェースシステムを介してアクセスされてもよい。
ネットワークインタフェース248及び/又はモデム247は、例えばインターネットなどのネットワーク107に、直接的又は間接的に、通信可能に連結され得る。そのような連結は、有線又は無線であり得る。
図3は、一部の実施形態における、印刷DLPマネージャ101の操作を例示する。前述のように、印刷DLPマネージャ101の機能は、クライアント103、サーバ105上に存在し得るか、又は印刷DLPマネージャ101の機能がネットワーク107上のサービスとして提供される、クラウドベースのコンピューティング環境内を含む、複数のコンピュータシステム210間に分散され得る。印刷DLPマネージャ101が単一のエンティティとして図3に例示されているが、例示される印刷DLPマネージャ101は、所望のとおりに単一又は複数のモジュールとしてインスタンス化され得る機能の集合を表すことを理解されたい(印刷DLPマネージャ101の特定の複数のモジュールのインスタンス化が、図3に例示される)。印刷DLPマネージャ101のモジュールは、任意のコンピュータシステム210のシステムメモリ217(例えばRAM、ROM、フラッシュメモリ)内でインスタンス化することができ(例えばオブジェクトコード又は実行可能画像として)、これによって、コンピュータシステム210のプロセッサ214がモジュールを処理する際、コンピュータシステム210が関連する機能を実行することを理解されたい。本明細書で使用されるとき、「コンピュータシステム」、「コンピュータ」、「クライアント」、「クライアントコンピュータ」、「サーバ」、「サーバコンピュータ」及び「コンピューティングデバイス」という用語は、記載される機能を実行するように構成及び/又はプログラミングされた1つ以上のコンピュータを意味する。更に、印刷DLPマネージャ101の機能を実装するためのプログラムコードは、コンピュータ可読記憶媒体上に記憶され得る。この文脈において、磁気又は光学記憶媒体などの任意の形態の有形のコンピュータ可読記憶媒体を使用することができる。本明細書で使用されるとき、「コンピュータ可読記憶媒体」という用語は、内在する物理的な媒体とは別個の電気信号を意味しない。
図3に例示されるように、印刷DLPマネージャ101は、エンドポイントコンピュータ210(例えば、クライアント103)上で稼働する。図3はまた、DLPエンドポイントエージェント301を例示する。図及び説明の効率を高めるため、印刷DLPマネージャ101及びDLPエンドポイントエージェント301は、別個のエンティティとして例示される。これらのアイテムは機能の集合を表し、いくつかの実施形態では、印刷DLPマネージャ101は、DLPエンドポイントエージェント301の構成要素としてインスタンス化されることを理解されたい。DLPエンドポイントエージェント301によって又はそれと共に実施される、本明細書に記載の機能のいくつかは、いくつかの実施形態では、1つ以上のリモートコンピュータ210(例えば、クラウドベースサーバ105)上で実行中の1つ以上のバックエンドDLP構成要素(例示せず)によって実施され得る。
後述するように、印刷DLPマネージャ101は、印刷操作を監視し、どのような特定のアプリケーション303が印刷操作を開始するかに関係なく、また、どのような特定の印刷インタフェースがこれらのアプリケーション303で使用されるかに関係なく、DLPポリシー300を施行する。このため、印刷DLPマネージャ101は、印刷スプーラ307において印刷ドライバ305を傍受し、これにより、印刷DLPマネージャ101に、発信元のアプリケーション303より下のシステムレベルで印刷されたすべてのコンテンツへのアクセスが付与される。以下に詳細に説明するように、DLPポリシー300を施行するためにシステムレベルの動作を発信元のアプリケーション303及び対応するユーザと一致させるため、印刷DLPマネージャ101は、遠隔手続き呼び出し(RPC)なりすましAPIを傍受する。アプリケーション303がRPCを介して印刷を呼び出し、印刷時に印刷スプーラ307がアプリケーション303になりすますため、RPCなりすましAPIを傍受することにより、所定の印刷操作を開始したアプリケーション303のIDへのシステムレベルのアクセスと、それゆえに対応するユーザ及び関連のある権限と、が提供される。印刷DLPマネージャ101はこのように、印刷されるコンテンツを監視し、アプリケーション303によって使用される印刷プラットフォームに関係なく、また、特定のアプリケーション303を監視することも、又は更にはそれらを認識することも必要とせずに、DLPポリシー300を施行する(例えば、あるユーザが特定の機密情報を任意の所望されるレベルの粒度で印刷することをブロックする)ことができる。
より具体的には、印刷DLPマネージャ101の印刷ドライバロード検出モジュール309は、印刷スプーラ307への印刷ドライバ305のロードを監視し、検出する。一実施形態では、印刷ドライバロード検出モジュール309は、印刷スプーラ307に印刷フックを注入することによりこれを行う。印刷フックは、印刷ドライバ305を印刷スプーラ307にロードするシステム関数を傍受する。Windowsでは、この関数は現在LoadLibraryであるが、システム関数名は、Windowsのバージョン間など、経時的に変化し得る。LoadLibraryを傍受することにより、印刷フックは、System32¥spool¥driversからなど、印刷スプーラ307へのあらゆる印刷ドライバ305のロードを検出する。別の実施形態では、印刷ドライバロード検出モジュール309は、印刷ドライバとして印刷フックコードを登録し、次いでその印刷フックコードをWindowsが印刷スプーラ307にロードする。フックコードを含むこの疑似印刷ドライバは、続けてLoadLibraryを傍受し、また印刷スプーラ307へのあらゆる実際の印刷ドライバ305のロードを検出する。どちらにしても、印刷ドライバロード検出モジュール309は、コードを印刷スプーラ307に持続的にロードする。このコード(注入された印刷フック又はロードされた疑似印刷ドライバ)は次いで、印刷ドライバ305を印刷スプーラ307にロードするLoadLibraryを傍受する。印刷ドライバのロード関数を傍受することにより、印刷ドライバロード検出モジュール309は、より高いレベルの印刷インタフェース技術の使用にかかわらず(例えば、GDI、XPS、Document Packageなど)、印刷ドライバ305が、データをプリンタ311に送信するため、印刷スプーラ307にロードされるたびに検出する。
印刷ドライバ305が印刷スプーラ307にロードされると、印刷スプーラ307は、対応するドライバオブジェクトを作成する。印刷DLPマネージャ101の印刷ドライバ傍受モジュール313は、ドライバオブジェクトの作成を傍受する。これは、ロードされた印刷ドライバがクラスオブジェクトを検索するためのメソッド(例えば、実際の印刷ドライバ305のDllGetClassObjectメソッド)を傍受することによって、また、ドライバオブジェクトをフックするためにオブジェクトのインスタンスを作成するためのメソッド(例えば、IClassFactory.CreateInstaceメソッド)を傍受することによって、実行され得る。これらの操作を実施するメソッドは、例えば、異なるバージョンのWindowsでは、名前が異なる場合があることを理解されたい。
インスタンス化されたドライバオブジェクトは、様々な印刷関数を実行するため、複数のデバイスオブジェクトを作成する。印刷DLPマネージャ101のデバイスオブジェクト関数傍受モジュール315は、所望のDLP機能を実装するための対象となるデバイスオブジェクト印刷関数を傍受する。これを可能にするため、印刷スプーラ307がIClassFactory.CreateInstanceメソッドを介してドライバオブジェクトをインスタンス化しているときに、デバイスオブジェクト関数傍受モジュール315は、ドライバ関数のテーブルをエクスポートするドライバオブジェクトメソッドを傍受し得る。印刷スプーラ307がテーブルを取り込むと、デバイスオブジェクト関数傍受モジュール315は、対象となるエントリを印刷DLPマネージャ101の関数に置換する。
傍受するための特定のデバイスオブジェクト印刷関数は、実施形態間で変わり得るが、典型的には、プリンタ311へのコンテンツの送信に関連付けられたものが傍受され、それによってプリンタに送信されるコンテンツが監視されて、特定のDLPポリシーが所望のとおりに施行される。例えば、デバイスオブジェクト関数傍受モジュール315は、プリンタ311への行及びページレベルの出力に関与するデバイスオブジェクト印刷関数、並びに関連のある状態管理関数を傍受し得る。一実施形態では、デバイスオブジェクト関数傍受モジュール315は、StartDoc、EndDoc、TextOut、SendPage、Start Banding、及びNext Bandを傍受する。StartDoc及びEndDocは、ドキュメントの状態管理の開始及び終了を実行する。TextOutは、ページ内のコンテンツをキャプチャし、それをバッファに送信するために使用される。StartBanding及びNextBandは、複数回呼び出されるTextOutの前操作及び後操作を識別するために使用される(具体的には、StartDocが呼び出された後、StartBanding及びTextOutがバッファに行を送信するために呼び出され、NextBand及びTextOutが次いで後処理確認のコンテキスト内で呼び出される。この呼び出しシーケンスは、ページが1行ずつバッファに送信されるまで繰り返される)。SendPageは、バッファからプリンタ311にコンテンツのページを送信する。これらの関数を実施する印刷関数の名前、並びに前処理操作及び後処理操作の実装の詳細は、例えば、異なるバージョンのWindowsで変わり得ることを理解されたい)。
印刷DLPマネージャ101のテキスト監視モジュール317は、より詳細に後述するように、所望のDLP機能の実施を有効にするテキストをプリンタ311に送信する試みを監視する。プリンタ311にテキストを送信する監視対象の試みは、傍受されるデバイスオブジェクト印刷関数によって、印刷ドライバレベルで行われることを理解されたい。一実施形態では、SendPage(又は同等の関数)がバッファからプリンタ311にページを送信するために呼び出されるたびに、テキスト監視モジュール317は、1ページずつテキストを監視する。上述のデバイスオブジェクト印刷関数は、ドキュメントからバッファへ1行ずつ、及びバッファからプリンタ311へ1ページずつテキストを送信する。DLP分析は、プリンタ311に送信されるテキストに対して実施されるため、この実施形態では、分析はページ単位で実施される。他のシナリオでは、ページ以外のテキストの単位は、プリンタ311に送信され得(例えば、印刷機能の特定のインスタンス化によって異なるサイズに設定されたブロック)、そのような場合、テキスト監視モジュール317は、ページではなくそのようなブロックを処理する。
場合によっては、TextOutによって処理されるドキュメント内のデータは、データの代わりにグリフ形式である(例えば、PDFファイルの場合)。グリフは、文字、文字の一部、又は複数の文字の画像のバイナリ表現である。グリフコンテンツに対するDLP分析を実施するため、グリフはユニコード(又は別の符号化文字マッピング)に変換される。例えば、印刷DLPマネージャ101がこの目的のために利用できるユニコードに、グリフを変換するためのWindowsサービスが存在する。より具体的には、一実施形態では、実行時に印刷DLPマネージャ101がwin32k.sys(カーネルGUIサブシステム)をユーザモードにロードし、フォント翻訳にそのメソッドを使用する。他の実施形態では、グリフをユニコードに変換するために、異なる実装が使用され得る。いくつかの実施形態では、グリフ以外のグラフィック形式は、所望のとおりにDLP分析用のテキストに変換される。
上述の機能は、印刷操作を開始した特定のアプリケーション303より下のプリンタドライバのレベルにおける、プリンタ311に送信されるテキストの監視を可能にする。しかし、これは、印刷されるすべてのコンテンツへのアクセスを提供するが、印刷操作を開始したアプリケーション303及びユーザなどのアプリケーションレベルの情報を識別しない。印刷操作は、システムコンテキストで実行する印刷スプーラ307において傍受されるが、実際の監視対象の印刷操作はそれぞれ、アプリケーションコンテキストにおいてアプリケーション303を操作するユーザによって開始される。印刷は、バックグラウンドで稼働し得る非同期操作であり、そのため、印刷DLPマネージャ101は、印刷操作がドライバレベルで行われるときにアクティブであるアプリケーション303が、印刷操作を実施したアプリケーション303であると簡単に想定することができない。例えば、印刷ジョブがドライバレベルで処理されているときに、あるアプリケーション303(例えば、ワードプロセッサ)を実行中のユーザは、ドキュメントを印刷し、それを保存し、ワードプロセッサを閉じるか又は最小化し、別のアプリケーション303(例えば、スプレッドシートプログラム)を開き、アクティブに作業している場合がある。アプリケーションのコンテキスト情報並びに印刷されるコンテンツは、印刷操作を介したDLP分析の一部として使用されるため(例えば、DLPポリシー300に従って特定のユーザを監視し、特定のコンテンツの印刷をブロックするため)、印刷DLPマネージャ101のアプリケーション識別モジュール319は、特定の印刷操作を発信した特定のアプリケーション303を識別する。後述のように、識別されたアプリケーション303から、関連のあるアプリケーションコンテキスト情報の残部(例えば、ユーザ及び権限)が判別され得る。
ドライバレベルで行われる印刷操作を発信した特定のアプリケーション303を識別するため、アプリケーション識別モジュール319は、関連のある遠隔手続き呼び出し(RPC)処理関数(例えば、RPCなりすましAIP)を傍受する。印刷要求は、アプリケーション303によってRPCとして行われる。印刷スプーラ307が、アプリケーション303によって行われる印刷要求のRPC呼び出しを受信すると、印刷スプーラ307は、アプリケーションになりすまして印刷操作を実行する。これを行うため、印刷スプーラ307は、印刷するためのRPCなりしまし呼び出しをアプリケーション303として行う。RPCなりすましAPIを傍受することにより、アプリケーション識別モジュール319は、印刷スプーラ307がRPCなりすまし印刷呼び出しを行った時点で検出する。アプリケーション識別モジュール319は、印刷スプーラ307が傍受されたRPCなりすまし印刷呼び出しに渡したアプリケーションIDを読み取り、それにより、特定の印刷操作を発信したアプリケーション303を識別する。アプリケーションIDから、アプリケーション識別モジュール319は、ユーザID及びそのユーザに係る特定のDLPポリシー300などの追加のアプリケーションコンテキスト情報を判別し得る。このように、特定の印刷操作によってドライバレベルでプリンタ311に送信されるコンテンツは、発信元のアプリケーション303及びその関連ユーザに一致させられ得る。
ドライバレベルでプリンタ311に送信されるテキストのそれぞれのページ(又は他のサイズに設定されたブロック)に関する発信元のアプリケーション303及び関連ユーザの識別の両方により、印刷DLPマネージャ101のポリシー適用モジュール321は、DLPポリシー300を施行する、ないしは別の方法で印刷操作を介して任意の所望するレベルの粒度でDLP分析を実行することができる。例えば、所定のユーザがあるコンテンツ(例えば、社会保障番号などの特定の秘密情報)を印刷することを制限されている場合、特定のコンテンツに関して、そのユーザにより開始されたあらゆる操作においてプリンタ311に送信されたテキストのそれぞれのページが監視される。ユーザが制限付きコンテンツを印刷しようとすると、その試みは検出され、DLPポリシー300に従って1つ以上の処置がとられ得る(例えば、試みられた印刷操作をブロックする、制限付きコンテンツを編集するが、非制限コンテンツはプリンタ311に送信する、試みられた操作のログを取る、ユーザに警告する又は別の方法で(例えば、ユーザインタフェースを介して)注意喚起する、通知(例えば、Eメール、テキストなど)を管理者に送信する、ユーザに関する他の動作をブロックする、など)。DLP分析及び施行は、任意の所望されるレベルの粒度で(例えば、ユーザ、グループ、部門、アプリケーション又はアプリケーションのタイプ、ドキュメント/ファイル、特定のコンテンツ、特定のコンテキストなどのレベルで)印刷操作を介して実施され得ることを理解されたい。実際のDLP分析及び施行は、DLPエンドポイントエージェント301と共に又はそれによって実施され得ることを更に理解されたい。DLPポリシー300に基づいて、一部のユーザは、制限なしに任意のコンテンツを印刷することが許可されている場合があり、一部のユーザは印刷することをまったく許可されてない場合があり、他のユーザは、特定の秘密情報を印刷すること及び/又は特定の状況下若しくは特定のコンテキストにおいて印刷することを制限されている場合があることに留意されたい。
上述の機能を使用して、印刷操作がドライバレベルで検出されると、ユーザ及び/又はユーザアプリケーションレベルのコンテキスト情報が判別され、必要に応じてDLPポリシー300に従って、印刷操作がプリンタ311に送信することを試みるコンテンツが監視され、DLP操作(例えば、分析、施行など)が所望のとおりに適用される。換言すれば、DLPポリシー300は、発信元のアプリケーションに関連付けられたユーザなどのアプリケーションレベルのコンテキスト情報、及び操作が印刷を試みている特定のテキストに基づいて、印刷ドライバレベルでプリンタ311にテキストを送信するすべての試みに適用され得る。
当業者によって理解されるであろうように、本発明は、本発明の趣旨又は本質的な特性から逸脱することなく、他の特定の形態で具現化され得る。同様に、部分、モジュール、エージェント、マネージャ、構成要素、機能、手順、行為、階層、特徴、属性、方法論、データ構造及びその他の態様の具体的な名称及び区分は、必須のものでも重要なものでもなく、本発明又はその特徴を実装するメカニズムは、別の名称、区分、及び/又は形式を有し得る。上記の記載は、説明を目的として特定の実施形態を参照して記載してきた。しかしながら、上述の例示の考察は、包括的であること、又は開示される正確な形態に限定することを意図するものではない。上述の教示を考慮して、多くの修正及び変形が可能である。実施形態は、関連する原理及びその実際的な適用を最適に説明するよう選択及び記述されており、これにより、他の当業者が、想到される特定の使用に好適であり得るような様々な改変を行うか行わないかにかかわらず、様々な実施形態を最適に利用できる。

Claims (15)

  1. 印刷操作を開始するコンピュータ上で実行する特定のアプリケーションに関係なく、また、前記特定のアプリケーションによって使用される特定の印刷インタフェースに関係なく、印刷操作を監視し、前記コンピュータ上でデータ損失防止ポリシーを施行するためのコンピュータ実装方法であって、
    エンドポイントコンピュータ上で稼働する印刷データ損失防止監視部によって、印刷スプーラにロードされている印刷ドライバを監視し、検出することと、
    エンドポイントコンピュータ上で稼働する印刷データ損失防止監視部によって、前記印刷ドライバが前記印刷スプーラにロードされるときに作成されるドライバオブジェクトの作成を傍受することと、
    エンドポイントコンピュータ上で稼働する印刷データ損失防止監視部によって、前記ドライバオブジェクトがデバイスオブジェクトを作成するときに、デバイスオブジェクト印刷関数を傍受することと、
    エンドポイントコンピュータ上で稼働する印刷データ損失防止監視部によって、印刷ドライバレベルでプリンタにテキストを送信する試みを監視することであって、前記監視対象の試みが少なくとも1つの傍受されたデバイスオブジェクト関数によって行われている、ことと、
    エンドポイントコンピュータ上で稼働する印刷データ損失防止監視部によって、前記プリンタに特定のテキストを送信する特定の監視対象の試みごとに、前記特定の監視対象の試みに起因する印刷操作を開始した特定のアプリケーションに関連付けられた、特定のアプリケーションレベルのコンテキスト情報を識別することと、
    エンドポイントコンピュータ上で稼働する印刷データ損失防止監視部によって、前記印刷ドライバレベルで前記プリンタに特定のテキストを送信する監視対象の試みに、データ損失防止ポリシーを適用することであって、特定の監視対象の試みへの前記データ損失防止ポリシーの前記適用において、特定の識別されたアプリケーションレベルのコンテキスト情報と、前記特定の監視対象の試みの特定のテキストと、を考慮に入れる、ことと、を含む、方法。
  2. 印刷スプーラにロードされている印刷ドライバを監視し、検出することが、
    印刷ドライバを前記印刷スプーラにロードするシステム関数を傍受することを更に含む、請求項1に記載の方法。
  3. 印刷ドライバを前記印刷スプーラにロードするシステム関数を傍受することが、
    印刷フックを前記印刷スプーラに注入することと、
    前記印刷フックにより、印刷ドライバを前記印刷スプーラにロードする前記システム関数を傍受することと、を更に含む、請求項2に記載の方法。
  4. 印刷ドライバを前記印刷スプーラにロードするシステム関数を傍受することが、
    印刷フックコードを印刷ドライバとして登録することと、
    前記印刷フックコードが印刷ドライバとして前記印刷スプーラにロードされるときに、前記印刷フックコードによって、印刷ドライバを前記印刷スプーラにロードする前記システム関数を傍受することと、を更に含む、請求項2に記載の方法。
  5. 印刷ドライバを前記印刷スプーラにロードするシステム関数を傍受することが、
    ドライバをロードするためのWindowsシステム関数を傍受することと、
    前記傍受されたWindowsシステム関数によって、前記スプーラへのあらゆる印刷ドライバのロードを検出することと、を更に含む、請求項2に記載の方法。
  6. 前記印刷ドライバが前記印刷スプーラにロードされるときに作成されるドライバオブジェクトの作成を傍受することが、
    クラスオブジェクトを検索するための前記ロードされた印刷ドライバのメソッドを傍受することと、
    前記作成されたドライバオブジェクトをフックするための、オブジェクトのインスタンスを作成するメソッドを傍受することと、を更に含む、請求項1に記載の方法。
  7. デバイスオブジェクト印刷関数を傍受することが、
    前記印刷スプーラが、オブジェクトのインスタンスを作成するメソッドを介して、前記ドライバオブジェクトをインスタンス化するときに、ドライバ関数のテーブルをエクスポートするドライバオブジェクトメソッドを傍受することと、
    前記印刷スプーラが前記テーブルを取り込むときに、特定のテーブルエントリを置換することと、を更に含む、請求項1に記載の方法。
  8. デバイスオブジェクト印刷関数を傍受することが、
    前記プリンタへのコンテンツの送信に関連付けられたデバイスオブジェクト印刷関数を傍受することを更に含む、請求項1に記載の方法。
  9. デバイスオブジェクト印刷関数を傍受することが、
    前記プリンタへの行及びページレベルの出力に関与するデバイスオブジェクト印刷関数を傍受することと、
    状態管理関数に関与する少なくとも1つのデバイスオブジェクト印刷関数を傍受することと、を更に含む、請求項1に記載の方法。
  10. デバイスオブジェクト印刷関数を傍受することが、
    ドキュメントの状態管理の開始及び終了を実行し、コンテンツをキャプチャしてそれをバッファに送信し、キャプチャ及びバッファリングの前後の操作を識別し、前記バッファから前記プリンタにコンテンツを送信するためのデバイスオブジェクト印刷関数を傍受することを更に含む、請求項1に記載の方法。
  11. 印刷ドライバレベルでプリンタにテキストを送信する試みを監視することが、
    傍受されたデバイスオブジェクト印刷関数が、ページを前記プリンタに送信するために呼び出されるたびに、テキストを1ページずつ監視することを更に含む、請求項1に記載の方法。
  12. 前記特定の監視対象の試みに起因する印刷操作を開始した特定のアプリケーションに関連付けられている特定のアプリケーションレベルのコンテキスト情報を識別することが、
    遠隔手続き呼び出しなりすましアプリケーションプログラムインタフェースを傍受することと、
    遠隔手続き呼び出しなりすまし印刷呼び出しを行っている前記印刷スプーラを検出することと、
    前記印刷スプーラが前記傍受される遠隔手続き呼び出しなりすまし呼び出しに渡したアプリケーション識別子を読み取ることと、を更に含む、請求項1に記載の方法。
  13. 前記特定の監視対象の試みに起因する印刷操作を開始した特定のアプリケーションに関連付けられている特定のアプリケーションレベルのコンテキスト情報を識別することが、
    前記特定の監視対象の試みに起因する前記印刷操作を開始した前記特定のアプリケーションに関連付けられているユーザを識別することを更に含む、請求項1に記載の方法。
  14. 前記印刷ドライバレベルで前記プリンタに特定のテキストを送信する監視対象の試みに、データ損失防止ポリシーを適用することが、
    前記プリンタにコンテンツを送信する試みをブロックすることと、
    制限付きコンテンツを編集するが非制限付きコンテンツは前記プリンタに送信することと、
    前記プリンタにコンテンツを送信する試みのログを取ることと、
    前記プリンタにコンテンツを送信する試みに関する通知を管理者に送信することと、
    前記プリンタにコンテンツを送信する試みに関連付けられたユーザに関する追加操作をブロックすることと、からなる群から少なくとも2つの処置を実施することを更に含む、請求項1に記載の方法。
  15. 印刷操作を開始する特定のアプリケーションに関係なく、また、前記特定のアプリケーションによって使用される特定の印刷インタフェースに関係なく、印刷操作を監視し、データ損失防止ポリシーを施行するためのコンピュータシステムであって、
    少なくとも1つのプロセッサと、
    システムメモリと、
    前記システムメモリに存在する印刷ドライバロード検出モジュールであって、印刷スプーラにロードされている印刷ドライバを監視し、検出するようにプログラムされている、印刷ドライバロード検出モジュールと、
    前記システムメモリに存在する印刷ドライバ傍受モジュールであって、前記印刷ドライバが前記印刷スプーラにロードされるときに作成されるドライバオブジェクトの作成を傍受するようにプログラムされている、印刷ドライバ傍受モジュールと、
    前記システムメモリに存在するデバイスオブジェクト関数傍受モジュールであって、前記ドライバオブジェクトがデバイスオブジェクトを作成するときに、デバイスオブジェクト印刷関数を傍受するようにプログラムされている、デバイスオブジェクト関数傍受モジュールと、
    前記システムメモリに存在するテキスト監視モジュールであって、前記テキスト監視モジュールは、印刷ドライバレベルでプリンタにテキストを送信する試みを監視するようにプログラムされており、前記監視対象の試みは、少なくとも1つの傍受されるデバイスオブジェクト関数によって行われる、テキスト監視モジュールと、
    前記システムメモリに存在するアプリケーション識別モジュールであって、前記プリンタに特定のテキストを送信する特定の監視対象の試みごとに、前記特定の監視対象の試みに起因する印刷操作を開始した特定のアプリケーションに関連付けられている、特定のアプリケーションレベルのコンテキスト情報を識別するようにプログラムされている、アプリケーション識別モジュールと、
    前記システムメモリに存在するポリシー適用モジュールであって、前記ポリシー適用モジュールは、前記印刷ドライバレベルで前記プリンタに特定のテキストを送信する監視対象の試みにデータ損失防止ポリシーを適用するようにプログラムされており、特定の監視対象の試みへの前記データ損失防止ポリシーの前記適用において、特定の識別されたアプリケーションレベルのコンテキスト情報と、前記特定の監視対象の試みの特定のテキストと、を考慮に入れる、ポリシー適用モジュールと、を含む、コンピュータシステム。
JP2018545603A 2016-03-14 2016-12-23 印刷操作を介した印刷インタフェース技術診断によるデータ損失防止 Active JP6701368B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/069,795 2016-03-14
US15/069,795 US9870180B2 (en) 2016-03-14 2016-03-14 Print interface technology agnostic data loss prevention through print operations
PCT/US2016/068530 WO2017160371A1 (en) 2016-03-14 2016-12-23 Print interface technology agnostic data loss prevention through print operations

Publications (2)

Publication Number Publication Date
JP2019513254A JP2019513254A (ja) 2019-05-23
JP6701368B2 true JP6701368B2 (ja) 2020-05-27

Family

ID=59786709

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018545603A Active JP6701368B2 (ja) 2016-03-14 2016-12-23 印刷操作を介した印刷インタフェース技術診断によるデータ損失防止

Country Status (5)

Country Link
US (1) US9870180B2 (ja)
EP (1) EP3430524B1 (ja)
JP (1) JP6701368B2 (ja)
CN (1) CN108885603B (ja)
WO (1) WO2017160371A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6984273B2 (ja) * 2017-09-21 2021-12-17 富士フイルムビジネスイノベーション株式会社 情報処理装置、画像形成装置およびプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070043263A (ko) * 2005-10-20 2007-04-25 삼성전자주식회사 인쇄 데이터의 누락을 방지하기 위한 인쇄 제어 방법 및장치
US20100060925A1 (en) * 2008-09-09 2010-03-11 Microsoft Corporation Controlling Sensitive Information Leakage in Printing
US8909925B2 (en) * 2008-11-17 2014-12-09 Prakash Baskaran System to secure electronic content, enforce usage policies and provide configurable functionalities
US9311495B2 (en) * 2010-12-09 2016-04-12 International Business Machines Corporation Method and apparatus for associating data loss protection (DLP) policies with endpoints
CN102999299A (zh) * 2011-09-13 2013-03-27 北京路模思科技有限公司 在Windows打印过程中监控打印数据的系统和方法
KR20140129712A (ko) * 2013-04-30 2014-11-07 킹스정보통신(주) 클라우드 컴퓨팅 환경에서 인쇄 문서상의 기밀정보 보안 시스템 및 그 방법

Also Published As

Publication number Publication date
EP3430524A1 (en) 2019-01-23
EP3430524B1 (en) 2020-09-09
EP3430524A4 (en) 2019-08-28
US20170262236A1 (en) 2017-09-14
JP2019513254A (ja) 2019-05-23
US9870180B2 (en) 2018-01-16
CN108885603B (zh) 2019-12-17
CN108885603A (zh) 2018-11-23
WO2017160371A1 (en) 2017-09-21

Similar Documents

Publication Publication Date Title
US11985170B2 (en) Endpoint data loss prevention (DLP)
US8943546B1 (en) Method and system for detecting and protecting against potential data loss from unknown applications
US10079835B1 (en) Systems and methods for data loss prevention of unidentifiable and unsupported object types
JP6352332B2 (ja) 変更されたデータを復元するシステム及び方法
US8844059B1 (en) Method and apparatus for preventing data loss through screen capture
US9811674B2 (en) Data leakage prevention system, method, and computer program product for preventing a predefined type of operation on predetermined data
US9036180B2 (en) Apparatus and method for securing confidential information of printed document in cloud computing environment
US9219752B2 (en) Data leak prevention systems and methods
US8950005B1 (en) Method and system for protecting content of sensitive web applications
CN106934282B (zh) 使用用于残疾用户的api控制对数据的访问的系统和方法
US20110239306A1 (en) Data leak protection application
US9519794B2 (en) Desktop redaction and masking
US8978092B2 (en) Data leak prevention from a device with an operating system
US11221968B1 (en) Systems and methods for shadow copy access prevention
CN110612731A (zh) 用于强制执行数据丢失防护策略的系统和方法
US10482284B1 (en) Identifying, marking and erasing sensitive information in screen captures for data loss prevention
JP6701368B2 (ja) 印刷操作を介した印刷インタフェース技術診断によるデータ損失防止
JP2008262259A (ja) 情報漏洩防止システム
WO2023023352A1 (en) Secure visual and computational boundary for a subset of resources on a computing machine
JP2011198256A (ja) コンテント保護装置
KR101459676B1 (ko) 사용자 단말기를 이용한 인쇄 문서상의 기밀정보 보안 장치 및 그 방법
US11671417B2 (en) Information processing apparatus and non-transitory computer readable medium
US11132442B1 (en) Systems and methods for enforcing secure shared access on computing devices by context pinning
CN114238873A (zh) 文件中转方法、装置、计算机设备、存储介质和程序产品
CN117917043A (zh) 凭证输入检测和威胁分析

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180910

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20180906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191112

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200501

R150 Certificate of patent or registration of utility model

Ref document number: 6701368

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250