CN101826048B - 一种打印监控的方法及*** - Google Patents

一种打印监控的方法及*** Download PDF

Info

Publication number
CN101826048B
CN101826048B CN 201010106945 CN201010106945A CN101826048B CN 101826048 B CN101826048 B CN 101826048B CN 201010106945 CN201010106945 CN 201010106945 CN 201010106945 A CN201010106945 A CN 201010106945A CN 101826048 B CN101826048 B CN 101826048B
Authority
CN
China
Prior art keywords
printer
print service
attribute information
monitored
winapi
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
CN 201010106945
Other languages
English (en)
Other versions
CN101826048A (zh
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.)
Bluedon Information Security Technologies Co Ltd
Original Assignee
Bluedon Information Security Technologies Co 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 Bluedon Information Security Technologies Co Ltd filed Critical Bluedon Information Security Technologies Co Ltd
Priority to CN 201010106945 priority Critical patent/CN101826048B/zh
Publication of CN101826048A publication Critical patent/CN101826048A/zh
Application granted granted Critical
Publication of CN101826048B publication Critical patent/CN101826048B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

本发明公开了一种打印监控的方法和***。主要内容包括:在对主机打印机进行监控时,对打印机待执行的打印业务进行全面监控,并对针对每个打印机的属性信息进行合法性授权,要求得到合法性授权的打印机才能执行打印业务,否则,禁止启动打印业务,确定所述待监控的打印机的进程列表中所有已启动的进程,将WINAPI过滤动态库注入到所述已启动的进程中,并且,确定用户启动的打印业务,在用户启动的打印业务执行之前,将WINAPI过滤动态库注入到所述用户启动的打印业务进程中,所述WINAPI过滤动态库用于确定被注入的进程中的打印业务,因此实现了对打印机的全面和细粒度监控,在不影响正常的打印业务同时提高了打印监控的可靠性。

Description

一种打印监控的方法及***
技术领域
本发明涉及计算机技术,尤其涉及一种打印监控的方法及***。
背景技术
目前,打印设备广泛应用于办公***,方便的同时也带来了对保密信息泄密的威胁,为了对打印设备的安全性进行实时监控,目前提出了基于主机打印的监控***和基于网络打印的监控***。
目前,基于主机打印的监控***采用的是打印池监视API开发接口,其监视步骤大致如下:
第一步:获得待监控打印机的实例列表。本步骤的实现方式是调用WINAPI(Windows API,视窗操作***应用程序接口)函数的打印列表(EnumPrinters)语句。
第二步:运行所述实例列表中的打印机实例。本步骤的实现方式是调用WINAPI函数的打印机开启(OpenPrinter)语句。
第三步:启用监视线程,对打印机在执行打印实例时的各项状态参数进行监控。
第四步:在监视线程中,获得具体的打印流水记录,包括时间、文档名称、页数、纸张属性等。本步骤的实现方式是调用WINAPI函数的业务列表(EnumJobs)语句。
第五步:打印监控结束,退出监控线程,关闭打印机。
在目前的打印监控方式下,只能要求所有待监控的打印机在全部禁用或全部启用时进行打印监控,在此情况下,如果待监控的打印机全部禁用,则在监控过程中无法执行正常的打印业务;如果待监控的打印机全部启用,则某些合法性性不确定的打印机执行打印业务存在较高的不安全因素。因此,目前需要找到一种全面且细粒度的对打印机的监控方案。
发明内容
本发明实施例提供一种打印监控的方法和***,以实现对打印机进行全面细粒度的监控。
一种打印监控的方法,所述方法包括:
在待监控的打印机执行打印业务之前,确定所述待监控的打印机的属性信息;
将确定的所述待监控的打印机的属性信息与预先设定的打印机策略列表中的属性信息进行比较;
根据比较结果允许打印机启动所述打印业务,或者,禁止打印机启动所述打印业务;
确定所述待监控的打印机的属性信息之前,所述方法还包括:确定所述待监控的打印机的进程列表中所有已启动的进程,将WINAPI过滤动态库注入到所述已启动的进程中,并且,确定用户启动的打印业务,在用户启动的打印业务执行之前,将WINAPI过滤动态库注入到所述用户启动的打印业务进程中;所述WINAPI过滤动态库用于确定被注入的进程中的打印业务。
一种打印监控的***,所述***包括:
属性信息确定模块,用于在待监控的打印机执行打印业务之前,确定所述待监控的打印机的属性信息;
策略管理模块,用于确定预先设定的打印机策略列表中的属性信息;
比较模块,用于将确定的所述待监控的打印机的属性信息与打印机策略列表中的属性信息进行比较;
监控模块,用于根据比较结果允许打印机启动所述打印业务,或者,禁止打印机启动所述打印业务;
远程线程注入模块,用于确定所述待监控的打印机的进程列表中所有已启动的进程,将WINAPI过滤动态库注入到所述已启动的进程中,并且,确定用户启动的打印业务,在用户启动的打印业务执行之前,将WINAPI过滤动态库注入到所述用户启动的打印业务进程中。
由于本发明实施例在对主机打印机进行监控时,对打印机待执行的打印业务进行全面监控,并对针对每个打印机的属性信息进行合法性授权,要求得到合法性授权的打印机才能执行打印业务,否则,禁止启动打印业务,因此实现了对打印机的全面和细粒度监控,在不影响正常的打印业务同时提高了打印监控的可靠性。
附图说明
图1为本发明实施例一中打印监控的步骤流程示意图;
图2为本发明实施例一中GUI主应用程序的原理示意图;
图3为本发明实施例一中WINAPI过滤动态库对打印机进行授权控制并进行打印监控的示意图;
图4为本发明实施例二中打印监控的***结构示意图;
图5为本发明实施例二中打印监控的***结构示意图。
具体实施方式
为了实现本发明目的,本发明实施例利用图形用户界面(GUI  GraphicalUser Interface)主应用程序和WINAPI过滤动态库的工作原理,实现了应用层的APIHOOK(Windows API HOOK,钩子)技术,通过对所有进程进行DLL远程线程注入,拦截打印业务执行时的OpenPrinter函数,对打印机进行合法性授权;在授权通过时,通过调用开始文档打印(StartDocPrinter)函数监控打印业务;在授权未通过时,由禁止使用该打印机的功能实现对打印机的监控。
下面结合说明书附图对本发明实施例进行详细描述。
实施例一:
如图1所示,为本发明实施例中打印监控方法的示意图,所述方法包括以下步骤:
步骤101:在待监控的打印机执行打印业务之前,确定所述待监控的打印机的属性信息。
在本步骤执行之前,可以将WINAPI过滤动态库注入到已启动的特定进程中,如Windows***进程。
WINAPI过滤动态库可以确定被注入的进程中的打印业务,对被注入的进程中与打印有关的WINAPI进行过滤,根据预先设定的策略决定是否启用或禁止使用该打印机,也就是通过过滤函数中完成对打印机的授权和监视,并对打印的作业进行记录。
由于WINAPI过滤动态库有上述功能,因此,在主机打印机执行进程列表中的打印业务或用户手动输入的打印业务之前,需要在进程列表的所有已启动的进程注入WINAPI过滤动态库,以及,在用户启动的打印业务进程注入WINAPI过滤动态库。
本发明各实施例中涉及的打印机的属性信息包括以下至少一种:打印机的名称、打印机的类型和打印机的型号;其中:打印机的类型包括:本地打印机类型、共享打印机类型和网络打印机类型中的至少一种。
步骤102:将确定的所述待监控的打印机的属性信息与预先设定的打印机策略列表中的属性信息进行比较。
在本步骤中,打印机策略列表中记录的属性信息可以是类似于白名单的合法属性信息,如果待监控的打印机的属性信息与预先设定的打印机策略列表中的属性信息匹配,表示该待监控的打印机合法;另外,本发明实施例也不限于打印机策略列表中记录的属性信息可以是类似于黑名单的非法属性信息,如果待监控的打印机的属性信息与预先设定的打印机策略列表中的属性信息匹配,表示该待监控的打印机非法。
步骤103:根据比较结果允许打印机启动所述打印业务,或者,禁止打印机启动所述打印业务。
假设打印机策略列表中记录的属性信息是类似于白名单的合法属性信息,则在比较结果为属性信息匹配时,允许打印机启动所述打印业务,并对打印机执行所述打印业务的过程进行监控;在比较结果为属性信息不匹配时,禁止打印机启动所述打印业务,并对打印机禁止执行所述打印业务的过程进行监控。
通过本发明实施例一的方案,在对主机打印机进行监控时,对打印机待执行的打印业务进行全面监控,并对针对每个打印机的类型或型号进行合法性授权,要求得到合法性授权的打印机才能执行打印业务,实现了对打印机的细粒度监控。
下面对本发明实施例一的各步骤进行详细说明。
在步骤101之前,需要运行GUI主应用程序,用于对新进程事件进行监视,当有新进程事件发生时,向新进程中注入WINAPI过滤动态库。在进程数结束时卸载WINAPI过滤动态库。如图2所示,为本发明实施例中GUI主应用程序的原理示意图:
步骤201:遍历进程列表,得到当前已启动的进程。
本步骤可以通过调用OpenProcess获得进程句柄。
步骤202:调用DLL将WINAPI过滤动态库注入已启动的所有进程中。
在本步骤中,可以调用LoadLibrary装载DLL,并调用GetModuleHandle获得DLL的句柄,在打印机的进程退出时调用FreeLibrary卸载DLL。
步骤203:启动内核层进程监控驱动和事件接收进程,将已启动的进程的相关信息上报用户层。
步骤204:确定新启动的进程,调用DLL将WINAPI过滤动态库注入到该新进程中。
步骤202完成的是对当前已启动的进程(包括***进程)的WINAPI过滤动态库注入;步骤204完成的是对新启动的进程的WINAPI过滤动态库注入。
在步骤202和步骤204中,调用虚拟资源分配(VirtualAllocEx)语句在进程中分配虚拟空间,也就是在进程中为线程体开辟一块存储区域,将线程体(WINAPI过滤动态库中具体过滤函数)写入进程中,并调用创建线程(CreateRemoteThread)语句在远程进程中创建线程。
步骤205:WINAPI过滤动态库对打印机进行授权控制,并根据授权控制结果指示打印机执行进程中的打印业务,或是禁止执行进程中的打印业务。
在本步骤中,WINAPI过滤动态库拦截打印业务的核心WINAPI函数OpenPrinter,可以对打印机的类型(如本地打印机类型、共享打印机类型和网络打印机类型等)和具体打印业务进行授权控制,再通过拦截WINAPI函数StartDocPrinter监控打印作业,以实现打印监控。
本步骤的具体实现方式包括但不限于调用写远程进程内存空间(WriteProcessMemory)。
步骤206:判断打印机监控是否结束,若是,则退出操作;否则,跳转至步骤204。
在上述步骤205中,WINAPI过滤动态库对打印机进行授权控制并进行打印监控的具体实现方式如图3所示,过程如下:
步骤301:当WINAPI过滤动态库注入的进程1需要进行打印业务时,调用WINAPI函数OpenPrinter运行打印机,取得打印机的属性信息。
在本实施例中,调用的OpenPrinter的参数为打印机名称,通过调用WINAPI函数EnumPrinters结合打印机名称可以得到该打印机的属性信息。
这里打印机的属性信息还包括打印机的类型和型号。
在步骤301之前,需要在进程中注入WINAPI过滤动态库(也就是步骤202和步骤204),然后针对已注入WINAPI过滤动态库的进程分别执行打印监控。例如,针对进程1执行完步骤301~步骤308后,如果还未结束打印机监控操作,则继续对进程2执行步骤301~步骤308,并以此类推。
步骤302:通过共享内存取得预先设定的打印机策略列表。
在本步骤中,打印机策略列表可以存储在主机打印机中,也可以存储在用于进行打印监控***的内存中。
步骤303:将打印机的属性信息和打印机策略列表中的属性信息进行比较;若不匹配,则执行步骤304;否则,执行步骤305。
步骤304:禁止执行打印业务,并返回失败消息,从而实现禁止使用该打印机的功能;然后跳转至步骤308。
步骤305:调用真正的WINAPI函数OpenPrinter。
步骤306:调用WINAPI函数StartDocPrinter执行打印业务。
步骤307:记录执行的打印业务的日志,并跳转至步骤308。
包括记录打印机名称、属性信息以及打印的文档名称,通过使用共享内存方式把日志送给GUI主应用程序,从而实现对打印的监控。
步骤308:判断打印机监控是否结束。
本步骤等同于步骤206,如果监控结束则则退出操作,WINAPI过滤动态库也就自动卸载,也就是反挂接WINAPI过滤动态库;否则,通过WINAPI过滤动态库继续执行打印监控。
实施例二:
与本发明实施例属于同一发明构思下的,本发明实施例二还提供一种打印监控的***,如图4所示,所述***包括:属性信息确定模块11、策略管理模块12、比较模块13和监控模块14,其中:属性信息确定模块11用于在待监控的打印机执行打印业务之前,确定所述待监控的打印机的属性信息;策略管理模块12用于确定预先设定的打印机策略列表中的属性信息;比较模块13用于将确定的所述待监控的打印机的属性信息与打印机策略列表中的属性信息进行比较;监控模块14用于根据比较结果允许打印机启动所述打印业务,或者,禁止打印机启动所述打印业务。
所述监控模块14具体用于在比较结果为属性信息匹配时,允许打印机启动所述打印业务,并对打印机执行所述打印业务的过程进行监控,在比较结果为属性信息不匹配时,禁止打印机启动所述打印业务,并对打印机禁止执行所述打印业务的过程进行监控。
所述***还包括远程线程注入模块15,用于确定所述待监控的打印机的进程列表中所有已启动的进程,将WINAPI过滤动态库注入到所述已启动的进程中,并且,确定用户启动的打印业务,在用户启动的打印业务执行之前,将WINAPI过滤动态库注入到所述用户启动的打印业务进程中。
本发明实施例二的***可以运行在主机中,如图5所示,可以具体包括用户层内的功能模块和内核层的功能模块。内核层的功能模块为进程监视驱动,用户层的管理模块为GUI主应用程序。
进程监视驱动负责对新进程的启动进行监视,一旦监视到新进程的启动事件,则通过***全局事件通知GUI主应用程序,GUI主应用程序通过调用进程监视驱动的派遣例程得到新进程的相关信息。
GUI主应用程序提供与用户交互的界面,接收用户输入的打印机策略列表,并保存。GUI主应用程序又进一步包括以下结构:
进程监视模块负责监视新进程的创建,与进程监视驱动进行通信。
远程线程注入模块负责将WINAPI过滤动态库注入进程中。
属性信息确定模块负责确定打印机的属性信息。
策略管理模块负责打印机策略列表的管理。
比较模块负责将确定的所述待监控的打印机的属性信息与打印机策略列表中的属性信息进行比较。
监控模块负责允许打印机启动所述打印业务或禁止打印机启动所述打印业务。
日志管理模块负责管理***的监控日志。
通过本发明实施例提供的方法和***,可以根据待监视的打印机的属性信息确定打印机的可靠性,控制可靠性较高的打印机启用进程中的打印业务,控制可靠性较低的打印机禁用打印业务,在保证正常执行打印业务的情况下筛除不安全因素,实现了对打印机的全面监控和细粒度控制。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (6)

1.一种打印监控的方法,其特征在于,所述方法包括:
在待监控的打印机执行打印业务之前,确定所述待监控的打印机的属性信息;
将确定的所述待监控的打印机的属性信息与预先设定的打印机策略列表中的属性信息进行比较;
根据比较结果允许打印机启动所述打印业务,或者,禁止打印机启动所述打印业务;
确定所述待监控的打印机的属性信息之前,所述方法还包括:
确定所述待监控的打印机的进程列表中所有已启动的进程,将WINAPI过滤动态库注入到所述已启动的进程中,并且,确定用户启动的打印业务,在用户启动的打印业务执行之前,将WINAPI过滤动态库注入到所述用户启动的打印业务进程中;
所述WINAPI过滤动态库用于确定被注入的进程中的打印业务。
2.如权利要求1所述的方法,其特征在于,所述打印机的属性信息包括以下至少一种:
打印机的名称、打印机的类型和打印机的型号。
3.如权利要求2所述的方法,其特征在于,
所述打印机的类型包括:本地打印机类型、共享打印机类型和网络打印机类型中的至少一种。
4.如权利要求1所述的方法,其特征在于,根据比较结果允许打印机启动所述打印业务,或者,禁止打印机启动所述打印业务,包括:
在比较结果为属性信息匹配时,允许打印机启动所述打印业务,并对打印机执行所述打印业务的过程进行监控;
在比较结果为属性信息不匹配时,禁止打印机启动所述打印业务,并对打印机禁止执行所述打印业务的过程进行监控。
5.一种打印监控的***,其特征在于,所述***包括:
属性信息确定模块,用于在待监控的打印机执行打印业务之前,确定所述待监控的打印机的属性信息;
策略管理模块,用于确定预先设定的打印机策略列表中的属性信息;
比较模块,用于将确定的所述待监控的打印机的属性信息与打印机策略列表中的属性信息进行比较;
监控模块,用于根据比较结果允许打印机启动所述打印业务,或者,禁止打印机启动所述打印业务;
远程线程注入模块,用于确定所述待监控的打印机的进程列表中所有已启动的进程,将WINAPI过滤动态库注入到所述已启动的进程中,并且,确定用户启动的打印业务,在用户启动的打印业务执行之前,将WINAPI过滤动态库注入到所述用户启动的打印业务进程中。
6.如权利要求5所述的***,其特征在于,
所述监控模块,具体用于在比较结果为属性信息匹配时,允许打印机启动所述打印业务,并对打印机执行所述打印业务的过程进行监控,在比较结果为属性信息不匹配时,禁止打印机启动所述打印业务,并对打印机禁止执行所述打印业务的过程进行监控。
CN 201010106945 2010-02-09 2010-02-09 一种打印监控的方法及*** Expired - Fee Related CN101826048B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010106945 CN101826048B (zh) 2010-02-09 2010-02-09 一种打印监控的方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010106945 CN101826048B (zh) 2010-02-09 2010-02-09 一种打印监控的方法及***

Publications (2)

Publication Number Publication Date
CN101826048A CN101826048A (zh) 2010-09-08
CN101826048B true CN101826048B (zh) 2012-09-05

Family

ID=42689972

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010106945 Expired - Fee Related CN101826048B (zh) 2010-02-09 2010-02-09 一种打印监控的方法及***

Country Status (1)

Country Link
CN (1) CN101826048B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102053808B (zh) * 2010-11-30 2012-10-10 Tcl集团股份有限公司 一种打印软件信息的方法、装置及带网口的设备
JP5879987B2 (ja) * 2011-12-05 2016-03-08 株式会社リコー 情報処理装置、情報処理装置の制御方法、制御プログラム及び画像形成システム
CN102841814B (zh) * 2012-07-02 2016-03-09 北京联嘉众赢网络技术有限公司 一种硬件资源的共享控制方法、装置及***
CN106293552A (zh) * 2016-07-28 2017-01-04 上海爱数信息技术股份有限公司 一种浏览器防打印方法及***
CN106385440A (zh) * 2016-08-31 2017-02-08 安徽天斯努信息技术股份有限公司 一种自助打印设备的远程监控方法及相关设备
CN110764716B (zh) * 2018-12-04 2023-05-23 安天科技集团股份有限公司 基于流量的网络打印机安全检测方法、装置及存储介质
CN111142813A (zh) * 2019-12-20 2020-05-12 口碑(上海)信息技术有限公司 打印机连接状态的检测方法及装置
CN112698796B (zh) * 2020-12-29 2024-07-23 北京北信源软件股份有限公司 基于打印机的打印控制方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140504A (zh) * 2006-09-05 2008-03-12 鸿富锦精密工业(深圳)有限公司 打印作业监控***及方法
CN101145096A (zh) * 2006-09-13 2008-03-19 夏普株式会社 打印设备监视方法、以及打印设备监视***

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140504A (zh) * 2006-09-05 2008-03-12 鸿富锦精密工业(深圳)有限公司 打印作业监控***及方法
CN101145096A (zh) * 2006-09-13 2008-03-19 夏普株式会社 打印设备监视方法、以及打印设备监视***

Also Published As

Publication number Publication date
CN101826048A (zh) 2010-09-08

Similar Documents

Publication Publication Date Title
CN101826048B (zh) 一种打印监控的方法及***
CN103229183B (zh) 用于差异化的访问控制的方法和设备
CN102981835B (zh) 安卓应用程序永久获取Root权限的方法
CN103379482A (zh) 一种在通话过程中防止录音的方法及装置
CN102880817A (zh) 计算机软件产品运行保护方法
CN102123382A (zh) 应用程序的网络数据业务使用管理方法及电子设备
CN103544435A (zh) 防止偷拍的方法与装置
CN104102882A (zh) 一种应用程序隐私数据的保护方法及装置
CN102855430A (zh) 基于Windows***的进程黑白名单控制方法
CN103237047A (zh) 一种远程受控、控制方法
CN102426639B (zh) 信息安全监测方法和装置
CN102263773B (zh) 实时防护的方法和装置
CN101296457A (zh) 一种屏幕操作方法和装置
US20130198872A1 (en) Method for component access control and electronic device
CN101038569A (zh) 用户终端和管理用户终端中的辅助存储单元的方法
CN104267982A (zh) 应用程序启动控制***与控制方法
KR101172877B1 (ko) 모바일 단말기의 정보 유출을 차단하는 장치, 방법 및 프로그램 기록매체
CN102004882A (zh) 远程线程注入型木马的检测和处理的方法和装置
CN101866399A (zh) 一种离线控制文件的方法及终端
CN103108096A (zh) 图像形成装置及图像形成装置控制方法
CN103218552A (zh) 基于用户行为的安全管理方法及装置
CN103324874A (zh) 一种验证方法及一种电子设备
CN1662865A (zh) 自动控制计算机与通信网络之间的访问的方法和装置
CN109905389A (zh) 移动终端控制方法、装置及计算机可读存储介质
CN111566632B (zh) 一种操作控制方法及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
DD01 Delivery of document by public notice

Addressee: Wu Bingtang

Document name: Notification of Passing Preliminary Examination of the Application for Invention

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
DD01 Delivery of document by public notice

Addressee: Wu Bingtang

Document name: Notification of Publication and of Entering the Substantive Examination Stage of the Application for Invention

DD01 Delivery of document by public notice

Addressee: Wu Bingtang

Document name: Notification of Passing Examination on Formalities

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120905

CF01 Termination of patent right due to non-payment of annual fee