CN112698797A - 一种文件打印控制方法、系统、电子设备及存储介质 - Google Patents

一种文件打印控制方法、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN112698797A
CN112698797A CN202011629120.XA CN202011629120A CN112698797A CN 112698797 A CN112698797 A CN 112698797A CN 202011629120 A CN202011629120 A CN 202011629120A CN 112698797 A CN112698797 A CN 112698797A
Authority
CN
China
Prior art keywords
printing
file
printed
printer
control
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.)
Pending
Application number
CN202011629120.XA
Other languages
English (en)
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.)
Beijing Wondersoft Technology Co Ltd
Original Assignee
Beijing Wondersoft Technology 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 Beijing Wondersoft Technology Co Ltd filed Critical Beijing Wondersoft Technology Co Ltd
Priority to CN202011629120.XA priority Critical patent/CN112698797A/zh
Publication of CN112698797A publication Critical patent/CN112698797A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1242Image or content composition onto a page
    • G06F3/1243Variable data printing, e.g. document forms, templates, labels, coupons, advertisements, logos, watermarks, transactional printing, fixed content versioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

本发明实施例提供了一种文件打印控制方法、系统、电子设备及存储介质,涉及文件打印技术领域。方法包括:对通用Unix打印系统的打印机枚举函数进行拦截,识别打印机枚举动作;对打印确定事件触发函数进行拦截,识别打印确定操作;打印确定操作为选择目标打印机后确定打印的操作;识别到打印确定操作时,将目标打印机修改为虚拟打印机;通过虚拟打印机输出预定格式的待打印文件;判断待打印文件中是否包含敏感关键字;当待打印文件中包含的敏感关键字达到预设条件时,按照预设级别的控制动作对待打印文件进行打印控制,否则,调用目标打印机对待打印文件进行打印。本发明基于国产操作系统特点对文件打印进行有效控制,避免了安全隐患。

Description

一种文件打印控制方法、系统、电子设备及存储介质
技术领域
本发明涉及文件打印技术领域,尤其涉及一种文件打印控制方法、系统、电子设备及存储介质。
背景技术
当下,日常工作和生活中,文件打印是不可避免的事情。比如日常工作中,宣传材料、招投标文件、会议资料等都少不了打印需求,文件的打印如果不加以控制的话,很容易造成关键信息泄露,给企业或者组织带来安全隐患。因此,需要对打印输出的文件进行审计和控制,方便对相关事件进行监控和溯源。
当下,windows平台上有成熟的DLP(Data leakage prevention,数据泄露防护)产品,可对文件打印进行监控,对待打印文件进行控制。但Linux平台上,由于版本众多,用户量少,没有类似windows平台的上的这些防护功能。
随着贸易战白热化,对国产、安全、可信的操作系统及软件需求更加迫切,因此许多软件厂商都对国产化加大了投入。目前,国产操作系统上没有打印监控软件可以使用,无法应对安全敏感。
发明内容
本发明提供一种文件打印控制方法、系统、电子设备及存储介质,解决现有技术中在国产操作系统环境下不能实现对文件打印的控制,存在安全隐患的问题。
在本发明实施的第一方面,提供了一种文件打印控制方法,包括:
对通用Unix打印系统的打印机枚举函数进行拦截,并识别打印机枚举动作;所述打印机枚举函数用于执行枚举已安装的一个或多个打印机;
当识别到所述打印机枚举动作时,对打印确定事件触发函数进行拦截,并识别打印确定操作;所述打印确定操作为从所枚举的打印机中选择目标打印机后确定打印的操作;
当识别到所述打印确定操作时,将所述目标打印机修改为预先安装的虚拟打印机;
通过所述虚拟打印机将待打印文件输出为预定格式的待打印文件;
判断所述待打印文件中是否包含敏感关键字;
当所述待打印文件中包含的敏感关键字达到预设条件时,按照预设级别的控制动作对所述待打印文件进行打印控制;
当所述待打印文件不包含敏感关键字或者包含的敏感关键字未达到所述预设条件时,调用所述目标打印机对所述待打印文件进行打印。
优选的,对通用Unix打印系统的打印机枚举函数进行拦截,并识别打印机枚举动作之后,所述方法还包括:
获取枚举的所有打印机信息并进行记录;
对打印确定事件触发函数进行拦截,并识别打印确定操作之后,所述方法还包括:
在所记录的打印机信息中,获取所述目标打印机的信息并保存。
优选的,判断所述待打印文件中是否包含敏感关键字的步骤包括:
对所述待打印文件进行关键字扫描;
根据扫描结果,判断所述待打印文件中是否包含敏感关键字。
优选的,所述预设级别的控制动作包括禁止打印的控制动作和带水印打印的控制动作;
当所述待打印文件中包含的敏感关键字达到预设条件时,按照预设级别的控制动作对所述待打印文件进行打印控制的步骤包括:
当所述待打印文件中包含禁止打印的控制动作对应的第一类敏感关键字时,确定所述待打印文件包含的敏感关键字达到第一预设条件,按照禁止打印的控制动作对所述待打印文件进行打印控制;
当所述待打印文件中不包含所述第一类敏感关键字,且包含带水印打印的控制动作对应的第二类敏感关键字时,确定所述待打印文件包含的敏感关键字达到第二预设条件,按照带水印打印的控制动作对所述待打印文件进行打印控制。
优选的,所述预定格式包括可携带文档格式;
按照带水印打印的控制动作对所述待打印文件进行打印控制的步骤包括:
根据可携带文档格式水印规范,在所述待打印文件中执行添加水印操作,并调用所述目标打印机对添加水印后的所述待打印文件进行打印。
优选的,所述方法还包括:
将按照预设级别的控制动作对所述待打印文件进行打印控制,或者调用所述目标打印机对所述待打印文件进行打印的控制结果,记录到打印监控日志中。
在本发明实施的第二方面,还提供了一种文件打印控制系统,包括:
打印识别模块,用于对通用Unix打印系统的打印机枚举函数进行拦截,并识别打印机枚举动作;所述打印机枚举函数用于执行枚举已安装的一个或多个打印机;
打印重定向模块,用于当识别到所述打印机枚举动作时,对打印确定事件触发函数进行拦截,并识别打印确定操作;所述打印确定操作为从所枚举的打印机中选择目标打印机后确定打印的操作;还用于当识别到所述打印确定操作时,将所述目标打印机修改为预先安装的虚拟打印机;
虚拟打印服务模块,用于通过所述虚拟打印机将待打印文件输出为预定格式的待打印文件;
打印处理模块,用于判断所述待打印文件中是否敏感关键字,当所述待打印文件中包含的敏感关键字达到预设条件时,按照预设级别的控制动作对所述待打印文件进行打印控制,当所述待打印文件不包含敏感关键字或者包含的敏感关键字未达到所述预设条件时,调用所述目标打印机对所述待打印文件进行打印。
优选的,所述系统还包括:
打印监控注入模块,用于将所述打印识别模块和所述打印重定向模块注入到待打印文件的目标进程空间中。
在本发明实施的第三方面,还提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线;其中,处理器、通信接口以及存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如上任一项所述的文件打印控制方法中的步骤。
在本发明实施的第四方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上任一项所述的文件打印控制方法。
针对在先技术,本发明具备如下优点:
本发明实施例中,首先对通用Unix打印系统的打印机枚举函数进行拦截,该打印机枚举函数用于枚举已安装的一个或多个打印机,从而识别打印前的打印机枚举动作;打印机枚举动作为打印界面初始化时完成的动作,识别到该动作时再对打印确定事件触发函数进行拦截,并识别打印确定操作,提高了响应处理效率;当识别到打印确定操作时,即确定打印后,将配置的目标打印机修改为预先安装的虚拟打印机,以拦截打印动作进行打印控制;进行打印控制前,先通过虚拟打印机将待打印文件输出为预定格式的待打印文件,以基于预定格式的待打印文件进行控制分析;控制分析时,判断待打印文件中是否包含敏感关键字;当待打印文件中包含的敏感关键字达到预设条件时,按照预设级别的控制动作对待打印文件进行打印控制,以保障打印的安全性,当待打印文件不包含敏感关键字或者包含的敏感关键字未达到预设条件时,调用目标打印机对待打印文件进行正常打印,以保障安全的前提下不影响用户的正常打印。如此基于国产操作系统的通用Unix打印系统特点,实现了对文件打印的有效控制,解决了国产操作系统下文件无法监控的问题,避免了安全隐患。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的文件打印控制方法的流程示意图;
图2为本发明实施例提供的文件打印控制方法的另一流程示意图;
图3为本发明实施例提供的文件打印控制方法的又一流程示意图;
图4为本发明实施例提供的文件打印控制系统的示意框图;
图5为本发明实施例提供的文件打印控制系统的另一示意框图;
图6为本发明实施例提供的电子设备的示意框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解的是,还可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
为了更好地理解本发明,首先对本发明实施例中出现的技术名词解释如下。
国产操作系统:多为以Linux操作系统为基础二次开发的操作系统。如中标麒麟、深度Linux、统一操作系统(UOS)、中兴新支点操作系统、湖南麒麟等。
Hook技术:又叫做钩子函数,在系统没有调用该函数之前,钩子程序就先捕获该消息,钩子函数先得到控制权,这时钩子函数既可以加工处理(改变)该函数的执行行为,还可以强制结束消息的传递。简单来说,就是把系统的程序拉出来变成我们自己执行代码片段。
X Window System:简称X,或者X11,或者X-Windows。之所以称作X,是因为在字母表中X位于W之后,而W是MIT在X之前所使用的GUI(Graphical User Interface,图形用户界面)系统。之所以称作X11,是因为在1987年的时候,X Window System已经进化到第11个版本了,后续所有的X,都是基于X11版本发展而来的(变动不是很大)。为了方便,后续我们都以X代指X Window System。
CUPS(Common UNIX Printing System,通用Unix打印系统):它主要是使用IPP(Internet Printing Protocol,互联网打印协议)来管理打印工作及队列,但同时也支持"LPD"(Line Printer Daemon,行式打印机服务)和"SMB"(Server Message Block,服务消息块)以及AppSocket等通信协议。
Windows平台上的打印监控类产品,使用内联钩子inline hook技术,拦截文件打印关键api函数,控制文件打印动作,实现打印文件的控制。但在Linux系统下,其图形界面是基于X Window System实现的,由于系统架构和实现方法不同,windows平台上的软件在Linux系统下,根本无法运行。因此,需要研究Linux平台上防护方法。
本发明方案从实际需求和应用的角度出发,提出一种基于国产操作系统的文件打印控制方法及系统,基于CUPS打印系统,对CUPS中的打印相关函数进行拦截,识别文件打印操作,分析打印确定操作,并将配置的打印机替换为虚拟打印机,虚拟打印机将文件输出后,根据策略配置,执行不同的控制动作,从而实现文件打印的审计与控制,解决国产操作系统文件打印无法监控的问题。
图1是本发明实施例提供的文件打印控制方法的流程示意图,参见图1所示,该文件打印控制方法包括:
步骤101:对通用Unix打印系统的打印机枚举函数进行拦截,并识别打印机枚举动作;所述打印机枚举函数用于执行枚举已安装的一个或多个打印机。
这里,首先对通用Unix打印系统的打印机枚举函数进行拦截,以识别打印前的打印机枚举动作。其中打印机枚举函数执行将枚举已安装的所有打印机,打印机枚举动作为打印界面初始化时完成的动作。
其中,打印机枚举函数如可为libcups.so库中cupsEnumDests函数,但不限于此。
步骤102:当识别到所述打印机枚举动作时,对打印确定事件触发函数进行拦截,并识别打印确定操作;所述打印确定操作为从所枚举的打印机中选择目标打印机后确定打印的操作。
这里,识别到打印机枚举动作时,再对打印确定事件触发函数进行拦截,提高了响应处理效率。且识别打印确定操作,能够预判打印动作,并通过对打印确定事件触发函数进行拦截,能够改变打印确定事件触发函数所要执行的原有的打印策略。
其中,打印确定事件触发函数如可为libx11库中XNextEvent函数,但不限于此。
本发明实施例中,可采用内联钩子inline hook技术,挂钩打印机枚举函数或打印确定事件触发函数,实现对函数的拦截,但不限于此。
步骤103:当识别到所述打印确定操作时,将所述目标打印机修改为预先安装的虚拟打印机。
这里,当识别到打印确定操作时,改变原有的打印策略,将实际的目标打印机重定向为预先安装的虚拟打印机,完成打印重定向动作,以进行打印控制。
其中,虚拟打印机可预先安装到执行文件打印操作的终端上,以便随时调用。
步骤104:通过所述虚拟打印机将待打印文件输出为预定格式的待打印文件。
这里,进行打印控制前,先通过虚拟打印机将待打印文件输出为预定格式的待打印文件,以基于预定格式的待打印文件进行控制分析。
其中,预定格式如可包括可携带文档格式或图片格式等。
步骤105:判断所述待打印文件中是否包含敏感关键字。
这里,通过判断待打印文件是否包含敏感关键字,以确定待打印文件是否存在安全风险以及对其的控制级别。
其中,可根据需求设置不同级别的控制动作及其对应的敏感关键字。
步骤106:当所述待打印文件中包含的敏感关键字达到预设条件时,按照预设级别的控制动作对所述待打印文件进行打印控制。
这里,当待打印文件中包含的敏感关键字达到预设条件时,说明待打印文件存在安全风险,则按照预设级别的控制动作对文件进行打印控制,以保障打印的安全性。
步骤107:当所述待打印文件不包含敏感关键字或者包含的敏感关键字未达到所述预设条件时,调用所述目标打印机对所述待打印文件进行打印。
这里,当待打印文件中不包含敏感关键字或者包含的敏感关键字未达到预设条件时,则调用目标打印机对待打印文件进行正常打印,以保障安全的前提下不影响用户的正常打印,提高用户体验。
本发明实施例的文件打印控制方法,基于国产操作系统的通用Unix打印系统特点,实现了对文件打印的有效控制,解决了国产操作系统下文件无法监控的问题,避免了安全隐患。
优选的,上述步骤101之后,所述方法还包括:
步骤1011:获取枚举的所有打印机信息并进行记录。
这里,通过记录枚举的所有打印机信息,便于对打印机信息的获取和使用。
其中,打印机信息如可包括打印机名称、属性和/或硬件实例等信息,但不限于此。
上述步骤102之后,所述方法还包括:
步骤1021:在所记录的打印机信息中,获取所述目标打印机的信息并保存。
这里,当从枚举的打印机中配置为目标打印机打印时,在所记录的打印机信息中,可快速获取到目标打印机的信息,将目标打印机的信息进行保存,方便后续使用真实打印机打印时,对目标打印机的调用。
其中,具体可通过XGetWindowProperty函数获取配置的目标打印机的名称,然后根据目标打印机的名称,从记录的打印机信息获取目标打印机的信息并保存,但不限于此。
其中,将目标打印机的信息保存之后,上述步骤103将打印机重定向到目标打印机时,具体可通过XChangeProperty函数将配置的目标打印机修改为虚拟打印机,完成打印重定向动作,但不限于此。
优选的,上述步骤105包括:
步骤1051:对所述待打印文件进行关键字扫描;
步骤1052:根据扫描结果,判断所述待打印文件中是否包含敏感关键字。
此时,可通过对待打印文件进行关键字扫描,来判断待打印文件中是否包含敏感关键字,进而对待打印文件进行打印控制。
其中,可预先将敏感关键字放到关键字库中,利用关键字库对待打印文件进行关键字扫描。
优选的,所述预设级别的控制动作包括禁止打印的控制动作和带水印打印的控制动作。
此时,对文件打印的控制级别包括禁止打印、带水印打印和正常打印三个风险级别,其中禁止打印的风险级别最高,带水印打印次之,正常打印的风险级别最低。
上述步骤106包括:
步骤1061:当所述待打印文件中包含禁止打印的控制动作对应的第一类敏感关键字时,确定所述待打印文件包含的敏感关键字达到第一预设条件,按照禁止打印的控制动作对所述待打印文件进行打印控制。
这里,当待打印文件中包含禁止打印的控制动作对应的第一类敏感关键字时,说明待打印文件具有很高的风险,可将待打印文件作为最高风险级别的文件进行控制,即禁止打印。
其中,第一类敏感关键字具体包含哪些关键字可根据需求灵活设置,在此不做限定。
其中,在禁止打印时,方法还可包括向文件打印的终端返回打印失败的通知消息,以告知用户打印失败,并删除临时性的文件,包括待打印文件、目标打印机信息等,以释放空间。
其中,本发明实施例中对于待打印文件是否达到第一预设条件的判断并不限于上述方式,还可加入对敏感关键字的数量或者类别的限定,例如当待打印文件中包含禁止打印的控制动作对应的第一类敏感关键字,且待打印文件包含的第一类敏感关键字的数量或者类别大于设定阈值时,才确定待打印文件包含的敏感关键字达到第一预设条件,按照禁止打印的控制动作对待打印文件进行打印控制。
步骤1062:当所述待打印文件中不包含所述第一类敏感关键字,且包含带水印打印的控制动作对应的第二类敏感关键字时,确定所述待打印文件包含的敏感关键字达到第二预设条件,按照带水印打印的控制动作对所述待打印文件进行打印控制。
这里,当待打印文件中不包含第一类敏感关键字时,且包含带水印打印的控制动作对应的第二类敏感关键字时,说明待打印文件具有较高的风险,可将待打印文件作为中等风险级别的文件进行控制,即带水印打印。
其中,第二类敏感关键字具体包含哪些关键字可根据需求灵活设置,在此不做限定。
其中,本发明实施例中对于待打印文件是否达到第二预设条件的判断并不限于上述方式,还可加入对敏感关键字的数量或者类别的限定,例如当待打印文件中不包含禁止打印的控制动作对应的第一类敏感关键字,但包含带水印打印的控制动作对应的第二类敏感关键字,且包含的第二类敏感关键字的数量或者类别大于设定阈值时,才确定待打印文件包含的敏感关键字达到第二预设条件,按照带水印打印的控制动作对待打印文件进行打印控制。
其中,本发明实施例对文件打印的控制级别并不限于上述三种控制级别,如还可设置只能在规定时间内打印等。
优选的,所述预定格式包括可携带文档格式;
上述步骤1062中,按照带水印打印的控制动作对所述待打印文件进行打印控制的步骤包括:
步骤10621:根据可携带文档格式水印规范,在所述待打印文件中执行添加水印操作,并调用所述目标打印机对添加水印后的所述待打印文件进行打印。
此时,利用虚拟打印机输出的可携带文档PDF格式的待打印文件,能够直接根据PDF格式水印规范,在待打印文件中添加水印,兼容性更高,且水印效果更好,相较于Windows平台通过画图添加水印的方式,不会出现水印过深掩盖字体,或者水印模糊的情况。
优选的,所述方法还包括:
步骤108:将按照预设级别的控制动作对所述待打印文件进行打印控制,或者调用所述目标打印机对所述待打印文件进行打印的控制结果,记录到打印监控日志中。
此时,通过将打印控制结果记录到打印监控日志中,便于随时查看和审计。
下面对本发明实施例的一具体实现流程举例说明如下。
如图2所示,本发明实施例的文件打印控制方法包括:
步骤201:开始。
步骤202:在文件打印的终端上安装虚拟打印机。
步骤203:对libcups.so库中cupsEnumDests函数进行拦截,识别打印机枚举动作。
步骤204:当识别到所述打印机枚举动作时,对libx11库中XNextEvent函数进行拦截,识别打印确定操作。
步骤205:当识别到打印确定操作时,将目标打印机修改为虚拟打印机。
步骤206:通过虚拟打印机将待打印文件输出为PDF格式的待打印文件。
步骤207:对待打印文件进行关键字扫描。
步骤208:根据扫描结果,判断待打印文件中是否包含禁止打印的控制动作对应的第一类敏感关键字,即判断待打印文件是否允许打印,当包含时,不允许打印,跳转到步骤209,不包含时,允许打印,跳转到步骤2010。
步骤209:对待打印文件禁止打印,返回打印失败的通知消息,之后跳转到步骤2013。
步骤2010:根据扫描结果,判断待打印中是否包含带水印打印的控制动作对应的第二类敏感关键字,当包含时,跳转到步骤2011,不包含时,跳转到步骤2012。
步骤2011:根据PDF水印规范,在PDF格式的待打印文件中添加水印,之后跳转到步骤2012。
步骤2012:调用目标打印机进行文件打印。
步骤2013:将待打印文件的打印控制结果记录到打印监控日志中。
步骤2014:结束。
本发明实施例的文件打印控制方法,基于CUPS打印系统,对libcups.so库中的cupsEnumDests函数进行拦截,识别文件打印操作,同时对libx11库XNextEvent函数进行拦截,分析打印确定操作,获取配置的打印机信息进行保存,并将配置的打印机替换为虚拟打印机,虚拟打印机将文件输出后,扫描文件内容,对待打印文件进行识别、分类,根据策略配置,执行不同的控制动作(禁止文件打印;或者通过真实打印机正常打印;或者将待打印文件添加水印后通过真实打印机正常打印),从而对文件打印进行审计与控制,解决了国产操作系统文件打印无法监控的问题。
下面结合应用场景对本发明实施例的文件打印控制方法做进一步说明。
示例一,假设本发明实施例的文件打印控制方法应用于统信UOS桌面操作系统,如图3所示,本发明实施例的文件打印控制方法包括:
步骤301:开始。
步骤302:用户进入统信UOS桌面操作系统后,登录系统账号,验证通过后转至下一步处理。
步骤303:同步打印监控策略。
步骤304:用户双击打开文件。
步骤305:用户选择打印机,打印当前打开文件。
步骤306:检查是否包含禁止打印的控制动作对应的第一类敏感关键字,即是否允许打印文件,如果不包含,则允许打印,转至下一步处理,如果包含,则不允许打印,转至步骤308处理。
步骤307:扫描待打印文件,根据策略对待打印文件进行控制,带水印打印或者正常打印,并记录日志,完成后转至步骤309处理。
步骤308:阻止打印,并记录日志,完成后转至下一步处理。
步骤309:检查是否退出系统,如果是,则转至下一步处理,否则转至步骤303处理。
步骤3010:退出,结束。
示例二,近几年,随着各种泄密事件突发,对国家安全和长远发展都构成了极大威胁。因此国家专门成立了国家信息安全小组,十分重视网络安全。针对关系到国计民生的金融行业等提出了更高的安全防护要求,避免发生泄密事件。
最近以来,随着贸易战的白热化,各行业加快了对国外操作系统及软件的国产化替代步伐。金融行业,积极探讨国产化操作系统及配套软件的评估。基于本发明实施例的文件打印控制方法对打印监控与审计,可实现金融行业的银行数据防泄漏等安全防护功能,具体的实现流程可参见示例一,在此不做赘述。
本发明实施例的文件打印控制方法,适用于国产操作系统,实现了国产操作系统下文件打印的监控与审计,填补了国产操作系统环境下文件打印控制功能的空白。而且架构先进,技术稳定,兼容性高,且部署方便灵活,使用便利,无需改变用户使用习惯。且针对打印智能分类、分级控制,准确度高。
参见图4所示,本发明实施例还提供了一种文件打印控制系统400,包括:
打印识别模块401,用于对通用Unix打印系统的打印机枚举函数进行拦截,并识别打印机枚举动作;所述打印机枚举函数用于执行枚举已安装的一个或多个打印机;
打印重定向模块402,用于当识别到所述打印机枚举动作时,对打印确定事件触发函数进行拦截,并识别打印确定操作;所述打印确定操作为从所枚举的打印机中选择目标打印机后确定打印的操作;还用于当识别到所述打印确定操作时,将所述目标打印机修改为预先安装的虚拟打印机;
虚拟打印服务模块403,用于通过所述虚拟打印机将待打印文件输出为预定格式的待打印文件;
打印处理模块404,用于判断所述待打印文件中是否敏感关键字,当所述待打印文件中包含的敏感关键字达到预设条件时,按照预设级别的控制动作对所述待打印文件进行打印控制,当所述待打印文件不包含敏感关键字或者包含的敏感关键字未达到所述预设条件时,调用所述目标打印机对所述待打印文件进行打印。
本发明实施例的文件打印控制系统400,基于国产操作系统的通用Unix打印系统特点,实现了对文件打印的有效控制,解决了国产操作系统下文件无法监控的问题,避免了安全隐患。
优选的,所述打印识别模块401还用于:
获取枚举的所有打印机信息并进行记录;
所述打印重定向模块402还用于:
在所记录的打印机信息中,获取所述目标打印机的信息并保存。
优选的,所述打印处理模块404包括:
关键字扫描子模块,用于对所述待打印文件进行关键字扫描;
打印处理子模块,用于根据扫描结果,判断所述待打印文件中是否包含敏感关键字。
优选的,所述预设级别的控制动作包括禁止打印的控制动作和带水印打印的控制动作;
所述打印处理模块404具体用于:
当所述待打印文件中包含禁止打印的控制动作对应的第一类敏感关键字时,确定所述待打印文件包含的敏感关键字达到第一预设条件,按照禁止打印的控制动作对所述待打印文件进行打印控制;
当所述待打印文件中不包含所述第一类敏感关键字,且包含带水印打印的控制动作对应的第二类敏感关键字时,确定所述待打印文件包含的敏感关键字达到第二预设条件,按照带水印打印的控制动作对所述待打印文件进行打印控制。
优选的,所述预定格式包括可携带文档格式;
所述打印处理模块404包括:
水印添加子模块,用于根据可携带文档格式水印规范,在所述待打印文件中执行添加水印操作,并调用所述目标打印机对添加水印后的所述待打印文件进行打印。
优选的,所述系统还包括:
日志记录模块,用于将按照预设级别的控制动作对所述待打印文件进行打印控制,或者调用所述目标打印机对所述待打印文件进行打印的控制结果,记录到打印监控日志中。
优选的,所述系统还包括:
打印监控注入模块,用于将所述打印识别模块和所述打印重定向模块注入到待打印文件的目标进程空间中。
如图5所示,为本发明实施例的文件打印控制系统的一具体应用框架,总体上划分为三个层次:打印监控层、虚拟打印层、打印处理层。打印监控层负责监控文件的打印操作,并将打印动作重定向到虚拟打印层;虚拟打印层,负责将待打印文件转化成pdf文件输出,并从打印处理层接收处理反馈信息,记录行为日志;打印处理层,负责文件内容扫描,并根据扫描结果对文件进行处理,或拒绝打印并删除临时文件,或附加水印后调用真实打印机打印,或者直接调用真实打印机打印,并将处理结果通知虚拟打印层。
打印监控层,位于总体架构的最上层,由打印监控注入模块、打印识别模块和打印重定向模块组成。打印监控注入模块,负责将打印识别模块和打印重定向模块注入到目标进程(要打印文件的进程)空间中;打印识别模块,挂钩libcups.so库中cupsEnumDests函数,识别打印前的打印机枚举动作,并通知打印重定向模块;打印重定向模块,挂钩libx11库中的XNextEvent函数,分析打印确定操作,通过XGetWindowProperty函数获取配置的打印机信息并保存,通过XChangeProperty函数将配置的打印机修改为自研的虚拟打印机,完成打印重定向动作,由虚拟打印层完成输出。
虚拟打印层,位于整体架构的中间层,由虚拟打印机安装模块、虚拟打印服务模块和日志记录模块组成。虚拟打印机安装模块,负责安装虚拟打印机;虚拟打印服务模块,负责将重定向过来的待打印文件输出到pdf文件中,并通知打印处理层进行处理,接收打印处理层返回的处理结果,并调用日志记录模块记录打印监控日志;日志记录模块,负责记录打印监控日志。
打印处理层,位于整体架构的最下层,由关键字扫描引擎、待打印文件处理模块和水印附加模块组成。关键字扫描引擎,负责对待打印文件进行内容识别和关键字扫描,完成对文件的分类、分级;待打印文件处理模块,负责调度关键字扫描引擎和水印附加模块,完成对待打印文件的处理,并将结果通知给虚拟打印层;水印附加模块,负责给待打印文件添加水印。
本发明实施例的文件打印控制系统400,基于国产操作系统的通用Unix打印系统特点,实现了对文件打印的有效控制,解决了国产操作系统下文件无法监控的问题,避免了安全隐患。
对于上述系统实施例而言,由于其与方法实施例基本相似,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备。如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信。
存储器603,用于存放计算机程序。
处理器601用于执行存储器603上所存放的程序时,实现如下步骤:
对通用Unix打印系统的打印机枚举函数进行拦截,并识别打印机枚举动作;所述打印机枚举函数用于执行枚举已安装的一个或多个打印机;
当识别到所述打印机枚举动作时,对打印确定事件触发函数进行拦截,并识别打印确定操作;所述打印确定操作为从所枚举的打印机中选择目标打印机后确定打印的操作;
当识别到所述打印确定操作时,将所述目标打印机修改为预先安装的虚拟打印机;
通过所述虚拟打印机将待打印文件输出为预定格式的待打印文件;
判断所述待打印文件中是否包含敏感关键字;
当所述待打印文件中包含的敏感关键字达到预设条件时,按照预设级别的控制动作对所述待打印文件进行打印控制;
当所述待打印文件不包含敏感关键字或者包含的敏感关键字未达到所述预设条件时,调用所述目标打印机对所述待打印文件进行打印。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中所述的文件打印控制方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中所述的文件打印控制方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,包含在本发明的保护范围内。

Claims (10)

1.一种文件打印控制方法,其特征在于,包括:
对通用Unix打印系统的打印机枚举函数进行拦截,并识别打印机枚举动作;所述打印机枚举函数用于执行枚举已安装的一个或多个打印机;
当识别到所述打印机枚举动作时,对打印确定事件触发函数进行拦截,并识别打印确定操作;所述打印确定操作为从所枚举的打印机中选择目标打印机后确定打印的操作;
当识别到所述打印确定操作时,将所述目标打印机修改为预先安装的虚拟打印机;
通过所述虚拟打印机将待打印文件输出为预定格式的待打印文件;
判断所述待打印文件中是否包含敏感关键字;
当所述待打印文件中包含的敏感关键字达到预设条件时,按照预设级别的控制动作对所述待打印文件进行打印控制;
当所述待打印文件不包含敏感关键字或者包含的敏感关键字未达到所述预设条件时,调用所述目标打印机对所述待打印文件进行打印。
2.根据权利要求1所述的文件打印控制方法,其特征在于,对通用Unix打印系统的打印机枚举函数进行拦截,并识别打印机枚举动作之后,所述方法还包括:
获取枚举的所有打印机信息并进行记录;
对打印确定事件触发函数进行拦截,并识别打印确定操作之后,所述方法还包括:
在所记录的打印机信息中,获取所述目标打印机的信息并保存。
3.根据权利要求1所述的文件打印控制方法,其特征在于,判断所述待打印文件中是否包含敏感关键字的步骤包括:
对所述待打印文件进行关键字扫描;
根据扫描结果,判断所述待打印文件中是否包含敏感关键字。
4.根据权利要求1所述的文件打印控制方法,其特征在于,所述预设级别的控制动作包括禁止打印的控制动作和带水印打印的控制动作;
当所述待打印文件中包含的敏感关键字达到预设条件时,按照预设级别的控制动作对所述待打印文件进行打印控制的步骤包括:
当所述待打印文件中包含禁止打印的控制动作对应的第一类敏感关键字时,确定所述待打印文件包含的敏感关键字达到第一预设条件,按照禁止打印的控制动作对所述待打印文件进行打印控制;
当所述待打印文件中不包含所述第一类敏感关键字,且包含带水印打印的控制动作对应的第二类敏感关键字时,确定所述待打印文件包含的敏感关键字达到第二预设条件,按照带水印打印的控制动作对所述待打印文件进行打印控制。
5.根据权利要求4所述的文件打印控制方法,其特征在于,所述预定格式包括可携带文档格式;
按照带水印打印的控制动作对所述待打印文件进行打印控制的步骤包括:
根据可携带文档格式水印规范,在所述待打印文件中执行添加水印操作,并调用所述目标打印机对添加水印后的所述待打印文件进行打印。
6.根据权利要求1所述的文件打印控制方法,其特征在于,所述方法还包括:
将按照预设级别的控制动作对所述待打印文件进行打印控制,或者调用所述目标打印机对所述待打印文件进行打印的控制结果,记录到打印监控日志中。
7.一种文件打印控制系统,其特征在于,包括:
打印识别模块,用于对通用Unix打印系统的打印机枚举函数进行拦截,并识别打印机枚举动作;所述打印机枚举函数用于执行枚举已安装的一个或多个打印机;
打印重定向模块,用于当识别到所述打印机枚举动作时,对打印确定事件触发函数进行拦截,并识别打印确定操作;所述打印确定操作为从所枚举的打印机中选择目标打印机后确定打印的操作;还用于当识别到所述打印确定操作时,将所述目标打印机修改为预先安装的虚拟打印机;
虚拟打印服务模块,用于通过所述虚拟打印机将待打印文件输出为预定格式的待打印文件;
打印处理模块,用于判断所述待打印文件中是否敏感关键字,当所述待打印文件中包含的敏感关键字达到预设条件时,按照预设级别的控制动作对所述待打印文件进行打印控制,当所述待打印文件不包含敏感关键字或者包含的敏感关键字未达到所述预设条件时,调用所述目标打印机对所述待打印文件进行打印。
8.根据权利要求7所述的文件打印控制系统,其特征在于,所述系统还包括:
打印监控注入模块,用于将所述打印识别模块和所述打印重定向模块注入到待打印文件的目标进程空间中。
9.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线;其中,处理器、通信接口以及存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如权利要求1至6任一项所述的文件打印控制方法中的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至6任一项所述的文件打印控制方法。
CN202011629120.XA 2020-12-30 2020-12-30 一种文件打印控制方法、系统、电子设备及存储介质 Pending CN112698797A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011629120.XA CN112698797A (zh) 2020-12-30 2020-12-30 一种文件打印控制方法、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011629120.XA CN112698797A (zh) 2020-12-30 2020-12-30 一种文件打印控制方法、系统、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN112698797A true CN112698797A (zh) 2021-04-23

Family

ID=75513401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011629120.XA Pending CN112698797A (zh) 2020-12-30 2020-12-30 一种文件打印控制方法、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112698797A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641312A (zh) * 2021-08-11 2021-11-12 北京天空卫士网络安全技术有限公司 一种文件打印方法和装置
CN114327305A (zh) * 2021-12-23 2022-04-12 中国农业银行股份有限公司 一种异常打印信息检测方法、装置、设备及存储介质
CN116483294A (zh) * 2023-06-25 2023-07-25 闪捷信息科技有限公司 基于Linux内核管控的打印机水印添加方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9501251B1 (en) * 2015-03-31 2016-11-22 Symantec Corporation Techniques for print monitoring
US20170026550A1 (en) * 2015-07-20 2017-01-26 Avecto Limited Computer Device and Method for Controlling Access to a Printer
CN108572805A (zh) * 2018-03-20 2018-09-25 北京明朝万达科技股份有限公司 文档打印方法和系统
CN109284075A (zh) * 2018-08-21 2019-01-29 平安科技(深圳)有限公司 一种打印请求的审批方法、存储介质和服务器
US20190303056A1 (en) * 2018-03-27 2019-10-03 KYOCERA Document Solutions Development America, Inc. Methods and systems for detecting and formatting sensitive information in a multi-function printer
CN111240610A (zh) * 2020-01-08 2020-06-05 中孚安全技术有限公司 一种打印流程管控方法、系统、终端及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9501251B1 (en) * 2015-03-31 2016-11-22 Symantec Corporation Techniques for print monitoring
US20170026550A1 (en) * 2015-07-20 2017-01-26 Avecto Limited Computer Device and Method for Controlling Access to a Printer
CN108572805A (zh) * 2018-03-20 2018-09-25 北京明朝万达科技股份有限公司 文档打印方法和系统
US20190303056A1 (en) * 2018-03-27 2019-10-03 KYOCERA Document Solutions Development America, Inc. Methods and systems for detecting and formatting sensitive information in a multi-function printer
CN109284075A (zh) * 2018-08-21 2019-01-29 平安科技(深圳)有限公司 一种打印请求的审批方法、存储介质和服务器
CN111240610A (zh) * 2020-01-08 2020-06-05 中孚安全技术有限公司 一种打印流程管控方法、系统、终端及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113641312A (zh) * 2021-08-11 2021-11-12 北京天空卫士网络安全技术有限公司 一种文件打印方法和装置
CN114327305A (zh) * 2021-12-23 2022-04-12 中国农业银行股份有限公司 一种异常打印信息检测方法、装置、设备及存储介质
CN116483294A (zh) * 2023-06-25 2023-07-25 闪捷信息科技有限公司 基于Linux内核管控的打印机水印添加方法和装置
CN116483294B (zh) * 2023-06-25 2023-09-01 闪捷信息科技有限公司 基于Linux内核管控的打印机水印添加方法和装置

Similar Documents

Publication Publication Date Title
US7673324B2 (en) Method and system for tracking an operating performed on an information asset with metadata associated therewith
CN112698797A (zh) 一种文件打印控制方法、系统、电子设备及存储介质
US9418227B2 (en) Detecting malicious software
CN101894225B (zh) 聚集反病毒软件应用程序的知识库的系统和方法
US8997253B2 (en) Method and system for preventing browser-based abuse
US10853488B2 (en) System and method for a security filewall system for protection of an information handling system
CA2668204C (en) Program modification and load times in computing devices
US8321945B2 (en) Security measure status self-checking system
US8950005B1 (en) Method and system for protecting content of sensitive web applications
JP2009053813A (ja) 文書監視装置、文書監視プログラムおよび文書監視システム
US20130219453A1 (en) Data leak prevention from a device with an operating system
US10262139B2 (en) System and method for detection and prevention of data breach and ransomware attacks
CN115221524A (zh) 业务数据保护方法、装置、设备及存储介质
CN111488603A (zh) 一种识别打印文件的敏感内容的方法及装置
US11550926B2 (en) Managing the loading of sensitive modules
WO2021189152A1 (en) System and method for automated sensitive information discovery, monitoring and remediation
US20200218804A1 (en) System and method for detecting leaked documents on a computer network
JP4958734B2 (ja) 電気機器、障害防止方法及び障害防止プログラム
US7895650B1 (en) File system based risk profile transfer
CN111259392A (zh) 一种基于内核模块的恶意软件拦截方法及装置
CN117150453B (zh) 网络应用检测方法、装置、设备、存储介质及程序产品
JP2019513254A (ja) 印刷操作を介した印刷インタフェース技術診断によるデータ損失防止
CN110457268B (zh) 一种支持业务安全标记的文件操作审计方法及装置
JP7127421B2 (ja) 機密文書監視装置、機密文書監視プログラム、及び機密文書監視システム
KR20100049514A (ko) 웹 사이트 점검 방법 및 그 시스템

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210423