CN111382399A - 一种水印的添加方法和装置 - Google Patents

一种水印的添加方法和装置 Download PDF

Info

Publication number
CN111382399A
CN111382399A CN202010153132.3A CN202010153132A CN111382399A CN 111382399 A CN111382399 A CN 111382399A CN 202010153132 A CN202010153132 A CN 202010153132A CN 111382399 A CN111382399 A CN 111382399A
Authority
CN
China
Prior art keywords
window
watermark
target
information
target process
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
CN202010153132.3A
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 CN202010153132.3A priority Critical patent/CN111382399A/zh
Publication of CN111382399A publication Critical patent/CN111382399A/zh
Pending legal-status Critical Current

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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

本发明实施例提供了一种水印的添加方法及装置,客户端可以获取目标进程的状态信息,当检测到目标进程打开敏感数据时,则从预设服务器中获取针对目标进程的水印添加参数,该水印添加参数包括参考窗口类名以及水印显示信息,然后枚举目标进程当前的顶层窗口,并从所有的顶层窗口中,确定与参考窗口类名匹配的目标窗口,接着根据水印显示信息,在目标窗口添加初始水印窗口,从而在监测到目标进程打开敏感数据的情况下,客户端可以获取针对目标进程的水印添加参数,在目标进程打开的窗口中添加水印窗口,在保证了数据安全的前提下,屏幕水印可以按需进行添加,解决了屏幕水印长时间存在影响用户视觉体验的问题,可以为用户提供一个较好的办公条件。

Description

一种水印的添加方法和装置
技术领域
本发明涉及计算机安全技术领域,特别是涉及一种水印的添加方法和一种水印的添加装置。
背景技术
随着各行业对数据的重视程度的日益加深,数据的安全问题也获得了数据使用者的较大关注。数据安全,作为信息安全的重要分支,也迅速发展为以满足不同行业的应用需要。其中,屏幕水印,作为一种较为成熟的数据安全保护及威慑手段,可以防止不法分子使用手机拍照、截屏等方式,将敏感文件信息泄露出去。然而,屏幕水印虽然能够对数据进行安全保护,但屏幕水印以一种长期且全屏显示的形式进行展示,由于长时间显示于文件窗口中,不仅容易影响正常用户的视觉体验,还容易影响正常用户的正常办公。
发明内容
本发明实施例是提供一种水印的添加方法,以解决现有技术中屏幕水印长时间展示于文件窗口中,容易影响正常用户的视觉体验,以及影响用户正常办公的问题。
相应的,本发明实施例还提供了一种水印的添加装置,用以保证上述方法的实现及应用。
为了解决上述问题,本发明实施例公开了一种水印的添加方法,包括:
获取目标进程的状态信息;
当监测到所述状态信息为所述目标进程打开敏感数据时,则获取针对所述目标进程的水印添加参数,所述水印添加参数包括参考窗口类名与水印显示信息;
枚举所述目标进程当前的顶层窗口;
从所述顶层窗口中,确定与所述参考窗口类名匹配的目标窗口;
根据所述水印显示信息,在所述目标窗口添加初始水印窗口。
可选地,所述当监测到所述状态信息为所述目标进程打开敏感数据时,则获取针对所述目标进程的水印添加参数,包括:
当监测到所述状态信息为所述目标进程打开敏感数据时,则获取所述目标进程的进程属性信息,并将所述进程属性信息发送至预设服务器;
接收所述服务器发送的针对所述进程属性信息的水印添加参数。
可选地,所述从所述当前顶层窗口中,确定与所述参考窗口类名匹配的目标窗口,包括:
获取所述顶层窗口的窗口句柄,并从所述窗口句柄中确定所述顶层窗口的窗口类名;
从所述窗口类名中,确定与所述参考窗口类名匹配成功的目标窗口类名,并将所述目标窗口类名所属的顶层窗口作为目标窗口。
可选地,所述根据所述水印显示信息,在所述目标窗口添加初始水印窗口,包括:
从所述窗口句柄中,确定所述目标窗口的窗口信息,所述窗口信息包括窗口大小信息以及窗口位置信息;
根据所述水印显示信息,创建针对所述目标窗口的初始水印窗口;
采用所述窗口大小信息以及所述窗口位置信息,将所述初始水印窗口同步于所述目标窗口中;
其中,所述水印显示信息包括水印内容、字体样式、字体大小、字体颜色、水印显示位置以及水印显示方式中的至少一种。
可选地,还包括:
获取所述目标窗口的窗口状态信息;
将所述初始水印窗口调节为与所述窗口状态信息匹配的目标水印窗口;
其中,所述窗口状态信息包括窗口大小变化、窗口位置、窗口重绘、窗口关闭以及窗口创建中的至少一种。
可选地,所述水印添加参数可以通过如下方式生成:
获取所述目标进程的进程属性信息,以及针对所述目标进程的所述参考窗口类名与所述水印显示信息;
根据所述进程属性信息、所属参考窗口类名以及所述水印显示信息,生成所述水印添加参数。
本发明实施例还公开了一种水印的添加装置,包括:
进程状态信息获取模块,用于获取目标进程的状态信息;
水印添加参数获取模块,用于当监测到所述状态信息为所述目标进程打开敏感数据时,则获取针对所述目标进程的水印添加参数,所述水印添加参数包括参考窗口类名与水印显示信息;
顶层窗口枚举模块,用于枚举所述目标进程当前的顶层窗口;
目标窗口确定模块,用于从所述顶层窗口中,确定与所述参考窗口类名匹配的目标窗口;
水印窗口添加模块,用于根据所述水印显示信息,在所述目标窗口添加初始水印窗口。
可选地,所述水印添加参数获取模块包括:
进程属性信息发送子模块,用于当监测到所述状态信息为所述目标进程打开敏感数据时,则获取所述目标进程的进程属性信息,并将所述进程属性信息发送至预设服务器;
水印添加参数接收子模块,用于接收所述服务器发送的针对所述进程属性信息的水印添加参数。
可选地,所述目标窗口确定模块包括:
窗口类名确定子模块,用于获取所述顶层窗口的窗口句柄,并从所述窗口句柄中确定所述顶层窗口的窗口类名;
目标窗口确定子模块,用于从所述窗口类名中,确定与所述参考窗口类名匹配成功的目标窗口类名,并将所述目标窗口类名所属的顶层窗口作为目标窗口。
可选地,所述水印窗口添加模块包括:
窗口信息确定子模块,用于从所述窗口句柄中,确定所述目标窗口的窗口信息,所述窗口信息包括窗口大小信息以及窗口位置信息;
水印窗口创建子模块,用于根据所述水印显示信息,创建针对所述目标窗口的初始水印窗口;
水印窗口同步子模块,用于采用所述窗口大小信息以及所述窗口位置信息,将所述初始水印窗口同步于所述目标窗口中;
其中,所述水印显示信息包括水印内容、字体样式、字体大小、字体颜色、水印显示位置以及水印显示方式中的至少一种。
可选地,还包括:
窗口状态信息获取模块,用于获取所述目标窗口的窗口状态信息;
水印窗口调节模块,用于将所述初始水印窗口调节为与所述窗口状态信息匹配的目标水印窗口;
其中,所述窗口状态信息包括窗口大小变化、窗口位置、窗口重绘、窗口关闭以及窗口创建中的至少一种。
可选地,所述水印添加参数可以通过如下模块生成:
策略信息获取模块,用于获取所述目标进程的进程属性信息,以及针对所述目标进程的所述参考窗口类名与所述水印显示信息;
水印参数生成模块,用于根据所述进程属性信息、所属参考窗口类名以及所述水印显示信息,生成所述水印添加参数。
本发明实施例还公开了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如上所述的一个或多个的方法。
本发明实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如上所述的一个或多个的方法。
本发明实施例包括以下优点:
在本发明实施例中,客户端可以获取目标进程的状态信息,当检测到目标进程打开敏感数据时,则从预设服务器中获取针对目标进程的水印添加参数,该水印添加参数包括参考窗口类名以及水印显示信息,然后枚举目标进程当前的顶层窗口,并从所有的顶层窗口中,确定与参考窗口类名匹配的目标窗口,接着根据水印显示信息,在目标窗口添加初始水印窗口,从而在监测到目标进程打开敏感数据的情况下,客户端可以获取针对目标进程的水印添加参数,在目标进程打开的窗口中添加水印窗口,在保证了数据安全的前提下,屏幕水印可以按需进行添加,解决了屏幕水印长时间存在影响用户视觉体验的问题,可以为用户提供一个较好的办公条件。
附图说明
图1是本发明的一种水印的添加方法实施例一的步骤流程图;
图2是本发明的一种水印的添加方法实施例二的步骤流程图;
图3是本发明实施例中进程监测的示意图;
图4是本发明实施例中水印添加的结构框图;
图5是本发明的一种水印的添加装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
以下为了方便理解与解释,先对本发明实施例中出现的技术名词进行解释:
进程:进程可以为运行在终端中的应用程序,例如终端可以为PC终端,则进程可以为运行在PC终端的浏览器、文档编写软件、即时通讯软件等等。其中,每一个应用程序可以对应一个进程,也可以对应多个进程,进程可以包括前台运行的进程,也可以包括后台运行的进程。
句柄:句柄是Windows用来标志应用程序中建立的或是使用的唯一整数,Windows中大量使用了句柄来标识对象,例如标识应用程序中打开的窗口。
DllMain:DllMain函数是DLL模块的默认入口点。当Windows加载DLL模块时可以调用该函数。系统首先调用全局对象的构造函数,然后调用全局函数DLLMain。DLLMain函数不仅在将DLL链接加载到进程时被调用,在DLL模块与进程分离时(以及其它时候)也被调用。
MD5:MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。
线程映射(DLL_THREAD_ATTACH):当进程创建一线程时,系统查看当前映射到进程地址空间中的所有DLL文件映像,并用值DLL_THREAD_ATTACH调用DLL的DllMain函数。
线程卸载(DLL_THREAD_DETACH):如果线程调用了ExitThread来结束线程(线程函数返回时,系统也会自动调用ExitThread),系统查看当前映射到进程空间中的所有DLL文件映像,并用DLL_THREAD_DETACH来调用DllMain函数,通知所有的DLL去执行线程级的清理工作。
PID:PID是各进程的标识,每个进程有唯一的PID编号。当进程开始运行时,系统可以为其分配一个临时的PID标识符,并不代表专门的进程。在运行时PID是不会改变标识符的,但是进程终止后PID标识符就会被系统回收,接着可能会被继续分配给新运行的程序。
线程注入:将外部DLL通过线程形式注入到其他进程中。这样的过程就叫注入线程或者叫线程注入。首先在当前所有运行的进程中找到目标进程,然后将我们的DLL的内容写入目标进程的私有空间中,最后通过关键的API:CreateRemoteThread创建线程。该线程只执行一个任务:loadlibrary加载我们的dll。
共享内存:每个进程都有自己的逻辑空间,这些逻辑空间,会被映射到具体的物理空间中,每个进程的逻辑空间都是彼此隔离,相互独立不受干扰的,但是他们都会被映射到同一个物理空间去,当其所映射的物理空间有重叠的时,这重叠的部分就共享了物理内存,这种方法通常用于一个程序的多进程间通信。
WindowsAPI:Windows API就是Windows应用程序接口,是针对Microsoft Windows操作系统家族的系统编程接口。
EnumWindows:函数功能该函数枚举所有屏幕上的顶层窗口,并将窗口句柄传送给应用程序定义的回调函数。
EnumChildWindows:EnumChildWindows,通过将句柄传递给每个子窗口并依次传递给应用程序定义的回调函数,可以枚举属于指定父窗口的子窗口。EnumChildWindows继续,直到枚举最后一个子窗口或回调函数返回FALSE为止。
SetWindowLongPtr:该函数改变指定窗口的属性。函数也将指定的一个值设置在窗口的额外存储空间的指定偏移位。
参照图1,示出了本发明的一种水印的添加方法实施例一的步骤流程图,具体可以包括如下步骤:
步骤101,获取目标进程的状态信息;
作为一种示例,企业往往将敏感数据存储于内网环境下,仅允许在特定网络下通过浏览器或文字编写软件等进行访问。在访问相关敏感数据时,可以在浏览器或文字编写软件等的显示区域添加水印,反之当访问普通页面或普通文件时,则去掉水印,从而在保证了数据安全的前提下,可以大大提高用户的视觉体验。
在本发明实施例中,客户端可以实时对本地当前正在运行的进程进行监测,以获取本地进程的状态信息。具体的,可以对涉及敏感数据的应用程序进行监测,例如浏览器、文字编写软件(Word、Excel、Powerpoint等等)等等,从而获取目标进程的状态信息。
步骤102,当监测到所述状态信息为所述目标进程打开敏感数据时,则获取针对所述目标进程的水印添加参数,所述水印添加参数包括参考窗口类名与水印显示信息;
在具体实现中,可以对敏感数据设置一个数据标识,当在目标进程中监测到该数据标识时,则可以判断目标进程打开了敏感数据。接着客户端可以向服务器发送请求,接收服务器发送的针对目标进程的水印添加参数,以便根据该水印添加参数,对目标进程添加水印。此外,客户端还可以将服务器发送的水印添加参数,保存于本地内存,当检测到目标进程打开敏感数据时,则根据本地存储的水印添加参数,进行水印添加,可以提高简化客户端与服务器之间的通信过程,提高水印添加的效率。
其中,水印添加参数可以包括参考窗口类名以及水印显示信息,参考窗口类名可以用于对目标进程当前所打开的窗口进行筛选,以筛选出需要添加水印的窗口;水印显示信息可以为水印的显示参数,可以包括水印显示信息包括水印内容、字体样式、字体大小、字体颜色、水印显示位置以及水印显示方式中的至少一种。
步骤103,枚举所述目标进程当前的顶层窗口;
具体地,客户端可以通过枚举函数获取当前进程的可视化顶层窗口,应当说明的是,顶层窗口就是能够看得见的顶层窗口,可以有多个,且显示在进程父窗口上的可见窗口为一个顶层窗口,并且嵌套了多个子窗口。例如浏览器对应一个可视的父窗口,在该父窗口下,每一个打开的网页可以作为一个子窗口;文字编写软件对应一个父窗口,每一个打开的文件可以作为一个字窗口,用户可以关闭父窗口将所有的子窗口一起关闭,也可以单独关闭其中一个子窗口。
步骤104,从所述顶层窗口中,确定与所述参考窗口类名匹配的目标窗口;
当客户端枚举了目标进程当前所有的顶层窗口后,可以从顶层窗口中,根据参考窗口类名,筛选出与参考窗口类名匹配成功的目标窗口,目标窗口即目标进程访问的敏感数据窗口。其中,目标窗口可以包括至少一个顶层窗口,则客户端可以对所有的目标窗口添加水印。
步骤105,根据所述水印显示信息,在所述目标窗口添加初始水印窗口。
当确定了目标窗口之后,可以根据水印显示信息,在目标窗口添加初始水印窗口,从而当客户端监测到目标进程打开了敏感数据,便从服务器中获取水印添加参数,并在属于敏感数据的窗口中添加水印,在不属于敏感数据的窗口不添加水印,在保证了数据安全的前提下,屏幕水印可以按需进行添加,解决了屏幕水印长时间存在影响用户视觉体验的问题,可以为用户提供一个较好的办公条件。
在本发明实施例中,客户端可以获取目标进程的状态信息,当检测到目标进程打开敏感数据时,则从预设服务器中获取针对目标进程的水印添加参数,该水印添加参数包括参考窗口类名以及水印显示信息,然后枚举目标进程当前的顶层窗口,并从所有的顶层窗口中,确定与参考窗口类名匹配的目标窗口,接着根据水印显示信息,在目标窗口添加初始水印窗口,从而在监测到目标进程打开敏感数据的情况下,客户端可以获取针对目标进程的水印添加参数,在目标进程打开的窗口中添加水印窗口,在保证了数据安全的前提下,屏幕水印可以按需进行添加,解决了屏幕水印长时间存在影响用户视觉体验的问题,可以为用户提供一个较好的办公条件。
参考图2,示出了本发明的一种水印的添加方法实施例二的步骤流程图,具体可以包括如下模块:
步骤201,获取目标进程的状态信息;
如图3所示,示出了本发明实施例中进程监测的示意图,在客户端中可以包括至少一个目标进程,以及水印管理进程。客户端可以通过水印管理进程对本地进程,尤其是目标进程的创建进行监测,从而获取目标进程的状态信息,以判断目标进程打开的文件是否为敏感文件,访问的网页是否包含敏感信息等等。
步骤202,当监测到所述状态信息为所述目标进程打开敏感数据时,则获取针对所述目标进程的水印添加参数,所述水印添加参数包括参考窗口类名与水印显示信息;
当水印管理进程监测到目标进程打开敏感数据时,则可以根据策略控制方式,从服务器中获取水印添加参数,或从本地读取水印添加参数,以便根据水印添加参数对目标进程添加水印。
在本发明的一种可选实施例中,步骤202可以包括如下子步骤:当监测到所述状态信息为所述目标进程打开敏感数据时,则获取所述目标进程的进程属性信息,并将所述进程属性信息发送至预设服务器;接收所述服务器发送的针对所述进程属性信息的水印添加参数。
在具体实现中,水印管理进程可以获取目标进程的进程属性信息,然后将进程属性信息发送至服务器,并从服务器中获取针对目标进程的水印添加参数。在服务器中,针对不同的目标进程可以设置不同的水印添加策略,具体的,首先可以获取目标进程的进程属性信息,以及针对目标进程的参考窗口类名以及水印显示信息,然后根据进程属性信息、参考窗口类名以及水印显示信息,生成水印添加参数,从而可以针对不同的目标进程,可以设置不同的水印添加策略,提高了水印添加的针对性。
当水印管理进程从服务器中获取了水印添加参数之后,可以生成针对目标进程的水印显示线程,然后通过远程线程的方式,将水印显示线程注入目标进程中,以通过水印显示线程在目标进程中添加水印。
在一种示例中,水印管理进程可以根据进程属性信息从服务器获取水印添加参数,接着将水印添加参数以及目标进程的PID标识符设置到共享内存中,并利用远程线程,将水印显示线程注入目标进程中。当水印显示线程注入目标进程之后,可以利用动态链接库,DLLMain的入口函数机制,进行水印显示线程的初始化,并根据目标进程的PID标识符从共享内存中获取水印添加参数,并解析得到参考窗口类名以及水印显示信息。
步骤203,枚举所述目标进程当前的顶层窗口;
在一种示例中,水印显示线程可以利用WindowsAPI的EnumWindows枚举目标进程的可视顶层窗口,并获取各个顶层窗口的窗口句柄,以便后续窗口注册创建。
步骤204,从所述顶层窗口中,确定与所述参考窗口类名匹配的目标窗口;
在本发明的一种可选实施例中,水印显示线程枚举了目标进程的可视顶层窗口后,可以获取顶层窗口的窗口句柄,并从窗口句柄中确定顶层窗口的窗口类名,然后从窗口类名中,确定与参考窗口类名匹配成功的目标窗口类名,并将目标窗口类名所属的顶层窗口作为目标窗口。
在具体实现中,水印显示线程可以根据各个顶层窗口的窗口句柄,获取各个顶层窗口对应的窗口类名,然后将与参考窗口类名匹配成功的窗口类名所属的顶层窗口作为目标窗口,从而筛选出目标进程中涉及敏感数据的顶层窗口,以便在目标窗口中添加水印。
步骤205,根据所述水印显示信息,在所述目标窗口添加初始水印窗口;
在本发明实施例中,水印显示信息可以包括水印内容、字体样式、字体大小、字体颜色、水印显示位置以及水印显示方式中的至少一种。则水印显示线程可以从窗口句柄中,确定目标窗口的窗口信息,窗口信息包括窗口大小信息以及窗口位置信息,然后根据水印显示信息,创建针对目标窗口的初始水印窗口,接着采用窗口大小信息以及窗口位置信息,将初始水印窗口同步于目标窗口中。
在一种示例中,水印显示线程可以根据参考窗口类名以及顶层窗口的窗口句柄,利用WindowsAPI EnumChildWindows,查找出与参考窗口类名匹配的目标窗口的句柄,并根据窗口句柄获取目标窗口的窗口大小信息以及窗口位置信息等窗口信息。接着水印显示线程可以根据目标窗口的窗口句柄,以及水印显示信息,创建针对目标窗口的初始水印窗口,并根据目标窗口的窗口信息,将初始水印窗口同步于目标窗口中。
具体的,可以通过窗口句柄,获取目标窗口的上下文信息,然后根据水印显示信息进行水印的绘制,包括但不限于数字水印、二维码水印以及图片水印等等,实现在涉及敏感数据的目标窗口中添加水印,在保证了数据安全的前提下,屏幕水印可以按需进行添加,解决了屏幕水印长时间存在影响用户视觉体验的问题,可以为用户提供一个较好的办公条件。
步骤206,获取所述目标窗口的窗口状态信息;
在目标窗口添加了水印窗口之后,还可以获取目标窗口的窗口状态信息,以便根据窗口状态信息随时调整初始水印窗口的状态,实现目标窗口与水印窗口的状态同步。
步骤207,将所述初始水印窗口调节为与所述窗口状态信息匹配的目标水印窗口;
在一种示例中,水印显示线程可以利用WindowsAPI SetWindowLongPtr,注册窗口过程回调接口,对目标窗口的状态进行监测。当目标窗口发生改变时,及时确定改变状态,并调整水印窗口的状态。其中,窗口状态信息包括窗口大小变化信息、窗口位置、窗口重绘、窗口关闭以及窗口创建中的至少一种。
例如,当目标窗口最大化时,则调整水印窗口也最大化;当目标窗口最小化时,则调整水印窗口也最小化;当目标窗口位置出现变化时,则控制水印窗口与目标窗口同步移动等等,从而保证了在涉及敏感数据的目标窗口中一直存在屏幕水印,保证数据安全。
在具体实现中,水印显示线程还可以对窗口创建/销毁进行监控,利用动态链接库,DllMain的入口函数机制,监控DLL_THREAD_ATTACH线程映射及DLL_THREAD_DETACH线程卸载参数。当目标进程的顶层窗口发生变化时,触发顶层窗口的重新枚举,并为新创建的顶层窗口注册创建新的水印窗口,和将已关闭顶层窗口关联的水印窗口销毁。
在本发明实施例中,客户端可以获取目标进程的状态信息,当检测到目标进程打开敏感数据时,则从预设服务器中获取针对目标进程的水印添加参数,该水印添加参数包括参考窗口类名以及水印显示信息,然后枚举目标进程当前的顶层窗口,并从所有的顶层窗口中,确定与参考窗口类名匹配的目标窗口,接着根据水印显示信息,在目标窗口添加初始水印窗口,从而在监测到目标进程打开敏感数据的情况下,客户端可以获取针对目标进程的水印添加参数,在目标进程打开的窗口中添加水印窗口,在保证了数据安全的前提下,屏幕水印可以按需进行添加,解决了屏幕水印长时间存在影响用户视觉体验的问题,可以为用户提供一个较好的办公条件。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
为了使本领域技术人员能够更好地理解本申请实施例,下面通过一个例子对本申请实施例加以说明:
如图4所示,示出了本发明实施例中水印添加的结构框图,假设目标进程为文档编辑软件,可以先在服务器控制台中配置水印控制策略,包括根据文档编辑软件的进程属性信息,如文档编辑软件的MD5、原始文件名称、版本号等进程属性信息,以及水印显示信息,包括参考窗口类名-WwF、水印内容、水印字体、字体大小、字体颜色、水印显示相对位置以及水印显示方式等等,从而生成水印添加参数。
当客户端中的水印管理进程,监控到策略配置中文件编辑软件打开带敏感信息的文件时,可以获取策略中的水印添加参数,并将水印添加参数以及文件编辑软件的PID标识设置到共享内存中,利用远程线程注入技术,将水印显示线程注入文件编辑软件中。
水印显示线程可以从共享内存中取出水印添加参数并解析,枚举文件编辑软件的视化顶层窗口,获取顶层窗口的句柄,根据顶层窗口句柄查找到窗口类名为_WwF的子窗口,注册创建水印窗口,设置顶层窗口和显示区域句柄,注册窗口过程回调,同步顶层窗口最大化最小化,大小位置,窗口重绘,窗口关闭等消息到水印窗口,根据水印窗口句柄,在设备上下文中进行数字水印的绘制。并且,水印显示线程可以监控线程映射及线程卸载参数,对新打开的文件窗口及时注册创建相应的水印窗口,和对已关闭的文件窗口关联的水印窗口销毁,从而在监测到目标进程打开敏感数据的情况下,客户端接收服务器发送的水印添加参数,在目标进程打开的窗口中添加水印窗口,在保证了数据安全的前提下,屏幕水印可以按需进行添加,解决了屏幕水印长时间存在影响用户视觉体验的问题,可以为用户提供一个较好的办公条件。
需要说明的是,不同的目标进程可以设置不同的水印控制策略,例如当目标进程为浏览器时,可以设置参考窗口类名Chrome_RenderWidgetHostHWND,以及采用上述相似的控制策略,实现浏览器的水印添加,具体内容可以参考上述示例,在此不再赘述。
参照图5,示出了本发明的一种水印的添加装置实施例的结构框图,具体可以包括如下模块:
进程状态信息获取模块501,用于获取目标进程的状态信息;
水印添加参数获取模块502,用于当监测到所述状态信息为所述目标进程打开敏感数据时,则获取针对所述目标进程的水印添加参数,所述水印添加参数包括参考窗口类名与水印显示信息;
顶层窗口枚举模块503,用于枚举所述目标进程当前的顶层窗口;
目标窗口确定模块504,用于从所述顶层窗口中,确定与所述参考窗口类名匹配的目标窗口;
水印窗口添加模块505,用于根据所述水印显示信息,在所述目标窗口添加初始水印窗口。
在本发明的一种可选实施例中,所述水印添加参数获取模块502包括:
进程属性信息发送子模块,用于当监测到所述状态信息为所述目标进程打开敏感数据时,则获取所述目标进程的进程属性信息,并将所述进程属性信息发送至预设服务器;
水印添加参数接收子模块,用于接收所述服务器发送的针对所述进程属性信息的水印添加参数。
在本发明的一种可选实施例中,所述目标窗口确定模块504包括:
窗口类名确定子模块,用于获取所述顶层窗口的窗口句柄,并从所述窗口句柄中确定所述顶层窗口的窗口类名;
目标窗口确定子模块,用于从所述窗口类名中,确定与所述参考窗口类名匹配成功的目标窗口类名,并将所述目标窗口类名所属的顶层窗口作为目标窗口。
在本发明的一种可选实施例中,所述水印窗口添加模块505包括:
窗口信息确定子模块,用于从所述窗口句柄中,确定所述目标窗口的窗口信息,所述窗口信息包括窗口大小信息以及窗口位置信息;
水印窗口创建子模块,用于根据所述水印显示信息,创建针对所述目标窗口的初始水印窗口;
水印窗口同步子模块,用于采用所述窗口大小信息以及所述窗口位置信息,将所述初始水印窗口同步于所述目标窗口中;
其中,所述水印显示信息包括水印内容、字体样式、字体大小、字体颜色、水印显示位置以及水印显示方式中的至少一种。
在本发明的一种可选实施例中,还包括:
窗口状态信息获取模块,用于获取所述目标窗口的窗口状态信息;
水印窗口调节模块,用于将所述初始水印窗口调节为与所述窗口状态信息匹配的目标水印窗口;
其中,所述窗口状态信息包括窗口大小变化、窗口位置、窗口重绘、窗口关闭以及窗口创建中的至少一种。
在本发明的一种可选实施例中,所述水印添加参数可以通过如下模块生成:
策略信息获取模块,用于获取所述目标进程的进程属性信息,以及针对所述目标进程的所述参考窗口类名与所述水印显示信息;
水印参数生成模块,用于根据所述进程属性信息、所属参考窗口类名以及所述水印显示信息,生成所述水印添加参数。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行本发明实施例所述的方法。
本发明实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本发明实施例所述的方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种水印的添加方法和一种水印的添加装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种水印的添加方法,其特征在于,包括:
获取目标进程的状态信息;
当监测到所述状态信息为所述目标进程打开敏感数据时,则获取针对所述目标进程的水印添加参数,所述水印添加参数包括参考窗口类名与水印显示信息;
枚举所述目标进程当前的顶层窗口;
从所述顶层窗口中,确定与所述参考窗口类名匹配的目标窗口;
根据所述水印显示信息,在所述目标窗口添加初始水印窗口。
2.根据权利要求1所述的方法,其特征在于,所述当监测到所述状态信息为所述目标进程打开敏感数据时,则获取针对所述目标进程的水印添加参数,包括:
当监测到所述状态信息为所述目标进程打开敏感数据时,则获取所述目标进程的进程属性信息,并将所述进程属性信息发送至预设服务器;
接收所述服务器发送的针对所述进程属性信息的水印添加参数。
3.根据权利要求1或2所述的方法,其特征在于,所述从所述当前顶层窗口中,确定与所述参考窗口类名匹配的目标窗口,包括:
获取所述顶层窗口的窗口句柄,并从所述窗口句柄中确定所述顶层窗口的窗口类名;
从所述窗口类名中,确定与所述参考窗口类名匹配成功的目标窗口类名,并将所述目标窗口类名所属的顶层窗口作为目标窗口。
4.根据权利要求3所述的方法,其特征在于,所述根据所述水印显示信息,在所述目标窗口添加初始水印窗口,包括:
从所述窗口句柄中,确定所述目标窗口的窗口信息,所述窗口信息包括窗口大小信息以及窗口位置信息;
根据所述水印显示信息,创建针对所述目标窗口的初始水印窗口;
采用所述窗口大小信息以及所述窗口位置信息,将所述初始水印窗口同步于所述目标窗口中;
其中,所述水印显示信息包括水印内容、字体样式、字体大小、字体颜色、水印显示位置以及水印显示方式中的至少一种。
5.根据权利要求1所述的方法,其特征在于,还包括:
获取所述目标窗口的窗口状态信息;
将所述初始水印窗口调节为与所述窗口状态信息匹配的目标水印窗口;
其中,所述窗口状态信息包括窗口大小变化、窗口位置、窗口重绘、窗口关闭以及窗口创建中的至少一种。
6.根据权利要求1所述的方法,其特征在于,所述水印添加参数可以通过如下方式生成:
获取所述目标进程的进程属性信息,以及针对所述目标进程的所述参考窗口类名与所述水印显示信息;
根据所述进程属性信息、所属参考窗口类名以及所述水印显示信息,生成所述水印添加参数。
7.一种水印的添加装置,其特征在于,包括:
进程状态信息获取模块,用于获取目标进程的状态信息;
水印添加参数获取模块,用于当监测到所述状态信息为所述目标进程打开敏感数据时,则获取针对所述目标进程的水印添加参数,所述水印添加参数包括参考窗口类名与水印显示信息;
顶层窗口枚举模块,用于枚举所述目标进程当前的顶层窗口;
目标窗口确定模块,用于从所述顶层窗口中,确定与所述参考窗口类名匹配的目标窗口;
水印窗口添加模块,用于根据所述水印显示信息,在所述目标窗口添加初始水印窗口。
8.根据权利要求7所述的装置,其特征在于,所述水印添加参数获取模块包括:
进程属性信息发送子模块,用于当监测到所述状态信息为所述目标进程打开敏感数据时,则获取所述目标进程的进程属性信息,并将所述进程属性信息发送至所述服务器;
水印添加参数接收子模块,用于接收所述服务器发送的针对所述进程属性信息的水印添加参数。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-6所述的一个或多个的方法。
10.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-6所述的一个或多个的方法。
CN202010153132.3A 2020-03-06 2020-03-06 一种水印的添加方法和装置 Pending CN111382399A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010153132.3A CN111382399A (zh) 2020-03-06 2020-03-06 一种水印的添加方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010153132.3A CN111382399A (zh) 2020-03-06 2020-03-06 一种水印的添加方法和装置

Publications (1)

Publication Number Publication Date
CN111382399A true CN111382399A (zh) 2020-07-07

Family

ID=71219905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010153132.3A Pending CN111382399A (zh) 2020-03-06 2020-03-06 一种水印的添加方法和装置

Country Status (1)

Country Link
CN (1) CN111382399A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111931135A (zh) * 2020-08-27 2020-11-13 北京明朝万达科技股份有限公司 一种水印的添加方法和装置
CN112000999A (zh) * 2020-08-12 2020-11-27 中国工商银行股份有限公司 信息保护方法和装置
CN112650993A (zh) * 2020-12-25 2021-04-13 平安科技(深圳)有限公司 屏幕水印显示方法、装置、电子设备及存储介质
CN112685700A (zh) * 2020-12-30 2021-04-20 北京明朝万达科技股份有限公司 处理进程的方法、装置、电子设备及存储介质
CN112837202A (zh) * 2021-01-26 2021-05-25 支付宝(杭州)信息技术有限公司 基于隐私保护的水印图像的生成、攻击溯源方法及装置
CN113254102A (zh) * 2021-05-27 2021-08-13 深信服科技股份有限公司 数据处理方法、装置、电子设备及存储介质
CN113254101A (zh) * 2021-05-27 2021-08-13 深信服科技股份有限公司 数据处理方法、装置、电子设备及存储介质
CN113554546A (zh) * 2021-07-30 2021-10-26 北京东方国信科技股份有限公司 水印绘制方法及装置
CN113806696A (zh) * 2021-09-18 2021-12-17 上海观安信息技术股份有限公司 一种水印生成及溯源方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996194A (zh) * 2009-08-14 2011-03-30 北京大学 电子文件在线浏览方法和系统
CN105631355A (zh) * 2015-12-18 2016-06-01 北京奇虎科技有限公司 一种数据处理方法和装置
CN106778105A (zh) * 2016-11-28 2017-05-31 福建天泉教育科技有限公司 数字可见水印的添加方法及系统
CN107239679A (zh) * 2017-04-28 2017-10-10 浙江华途信息安全技术股份有限公司 程序窗口信息保护方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996194A (zh) * 2009-08-14 2011-03-30 北京大学 电子文件在线浏览方法和系统
CN105631355A (zh) * 2015-12-18 2016-06-01 北京奇虎科技有限公司 一种数据处理方法和装置
CN106778105A (zh) * 2016-11-28 2017-05-31 福建天泉教育科技有限公司 数字可见水印的添加方法及系统
CN107239679A (zh) * 2017-04-28 2017-10-10 浙江华途信息安全技术股份有限公司 程序窗口信息保护方法及系统

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000999A (zh) * 2020-08-12 2020-11-27 中国工商银行股份有限公司 信息保护方法和装置
CN112000999B (zh) * 2020-08-12 2024-03-01 中国工商银行股份有限公司 信息保护方法和装置
CN111931135A (zh) * 2020-08-27 2020-11-13 北京明朝万达科技股份有限公司 一种水印的添加方法和装置
CN112650993A (zh) * 2020-12-25 2021-04-13 平安科技(深圳)有限公司 屏幕水印显示方法、装置、电子设备及存储介质
CN112650993B (zh) * 2020-12-25 2023-12-26 平安创科科技(北京)有限公司 屏幕水印显示方法、装置、电子设备及存储介质
CN112685700B (zh) * 2020-12-30 2023-10-20 北京明朝万达科技股份有限公司 处理进程的方法、装置、电子设备及存储介质
CN112685700A (zh) * 2020-12-30 2021-04-20 北京明朝万达科技股份有限公司 处理进程的方法、装置、电子设备及存储介质
CN112837202A (zh) * 2021-01-26 2021-05-25 支付宝(杭州)信息技术有限公司 基于隐私保护的水印图像的生成、攻击溯源方法及装置
CN113254101A (zh) * 2021-05-27 2021-08-13 深信服科技股份有限公司 数据处理方法、装置、电子设备及存储介质
CN113254101B (zh) * 2021-05-27 2023-02-03 深信服科技股份有限公司 数据处理方法、装置、电子设备及存储介质
CN113254102A (zh) * 2021-05-27 2021-08-13 深信服科技股份有限公司 数据处理方法、装置、电子设备及存储介质
CN113254102B (zh) * 2021-05-27 2024-04-09 深信服科技股份有限公司 数据处理方法、装置、电子设备及存储介质
CN113554546A (zh) * 2021-07-30 2021-10-26 北京东方国信科技股份有限公司 水印绘制方法及装置
CN113806696A (zh) * 2021-09-18 2021-12-17 上海观安信息技术股份有限公司 一种水印生成及溯源方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN111382399A (zh) 一种水印的添加方法和装置
US20180129818A1 (en) System, method, and computer program product for preventing access to data with respect to a data access attempt associated with a remote data sharing session
CN110363020B (zh) 截屏监控方法、装置、计算机设备及存储介质
JP6281601B2 (ja) 情報処理装置、情報処理システム、制御方法、及びプログラム
US8863008B2 (en) Automatic removal of sensitive information from a computer screen
US20070282783A1 (en) Automatically determining a sensitivity level of a resource and applying presentation attributes to the resource based on attributes of a user environment
US20080072225A1 (en) Information processing apparatus, information processing method, program, and recording medium
US7941497B2 (en) Community-based method and system for creating and subscribing to dynamic push channels
EP3792792A1 (en) Tampering detection method for paper copy and apparatus and non-transitory computer-readable storage medium
US20160078234A1 (en) System and method for automated security testing
EP2078246A1 (en) Virtual deletion in merged registry keys
WO2021031905A1 (zh) 数据管理方法、装置、设备、系统及计算机可读存储介质
US20180307871A1 (en) Security display processing
CN104216723A (zh) 软件启动方法及移动设备
CN102169534A (zh) 一种显示水印的方法和装置
US20220058278A1 (en) Using machine learning to bypass activities of a secure document workflow based on recipient profile
CN111931135A (zh) 一种水印的添加方法和装置
CN115205087A (zh) 屏幕水印生成方法、系统、设备及存储介质
CN109040284B (zh) 信息展示及信息推送方法、装置、设备和存储介质
US11252135B2 (en) Method of processing data
US10063558B2 (en) Method for blocking unauthorized data access and computing device with feature of blocking unauthorized data access
CN111444670B (zh) 文档批注方法、装置、计算机设备及存储介质
CN116522299A (zh) 基于Linux系统的应用程序窗口水印添加方法和装置
US20140044364A1 (en) Method of Image Identification Based on Artificial Intelligence
US11989317B2 (en) Modifying elements of a secure document workflow based on change in profile of recipient

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

Application publication date: 20200707

RJ01 Rejection of invention patent application after publication