CN113486413A - 一种防截屏处理方法、计算设备及可读存储介质 - Google Patents

一种防截屏处理方法、计算设备及可读存储介质 Download PDF

Info

Publication number
CN113486413A
CN113486413A CN202110835897.XA CN202110835897A CN113486413A CN 113486413 A CN113486413 A CN 113486413A CN 202110835897 A CN202110835897 A CN 202110835897A CN 113486413 A CN113486413 A CN 113486413A
Authority
CN
China
Prior art keywords
screenshot
function
screen capture
list
processes
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
CN202110835897.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.)
Uniontech Software Technology Co Ltd
Original Assignee
Uniontech Software 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 Uniontech Software Technology Co Ltd filed Critical Uniontech Software Technology Co Ltd
Priority to CN202110835897.XA priority Critical patent/CN113486413A/zh
Publication of CN113486413A publication Critical patent/CN113486413A/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/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
    • 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/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种防截屏处理方法,在计算设备中执行,计算设备中运行有操作系统,操作系统上运行有一个或多个应用程序,该方法包括:当接收到第一进程发送的防截屏开启指令时,开启防截屏功能;当接收到第二进程发送的防截屏关闭指令时,判断当前是否存在已开启防截屏功能的其他进程;若存在已开启防截屏功能的其他进程,则继续保持防截屏功能的开启状态;若不存在已开启防截屏功能的其他进程,则关闭防截屏功能。本发明一并公开了相应的计算设备及可读存储介质。本发明的防截屏处理方法既能保证涉密文档的安全性,还不会影响用户对非涉密文档的正常截屏。

Description

一种防截屏处理方法、计算设备及可读存储介质
技术领域
本发明涉及计算机领域,尤其涉及一种防截屏处理方法、计算设备及可读存储介质。
背景技术
近年来,随着企业信息化的快速发展,企业内部电子文档安全隐患问题日益突出。基于此,一系列的保护文档以防止文档内容外传的方案随之产生,例如防截屏技术。
然而,现有的防截屏技术的控制粒度只能具体到应用程序。具体地,受保护应用程序打开的内容禁止用户截屏,非受保护应用程序打开的内容允许用户截屏。显然这样,当涉密文档被非受保护应用打开时,用户仍然可以正常截屏,无法保证涉密文档的安全性。而非涉密文档被受保护应用打开时,用户则无法进行截屏,影响用户的使用。
为此,亟需一种新的防截屏处理方法以解决上述问题。
发明内容
为此,本发明提供了一种防截屏处理方法、计算设备及可读存储介质,以力图解决或者至少缓解上面存在的问题。
根据本发明的一个方面,提供一种防截屏处理方法,在计算设备中执行,计算设备中运行有操作系统,操作系统上运行有一个或多个应用程序,该方法包括:当接收到第一进程发送的防截屏开启指令时,开启防截屏功能,第一进程为窗口显示有涉密文档的应用程序所对应的进程;当接收到第二进程发送的防截屏关闭指令时,判断当前是否存在已开启防截屏功能的其他进程,第二进程为针对窗口显示的涉密文档进行预定操作的应用程序所对应的进程,预定操作包括隐藏操作和关闭操作;若存在已开启防截屏功能的其他进程,则继续保持防截屏功能的开启状态;若不存在已开启防截屏功能的其他进程,则关闭防截屏功能。
可选地,在根据本发明的防截屏处理方法中,当接收到第一进程发送的防截屏开启指令时,开启防截屏功能的步骤,包括:当接收到第一进程发送的防截屏开启指令时,判断第一进程是否具有开启防截屏功能的权限;若第一进程具有开启防截屏功能的权限,则开启防截屏功能。
可选地,在根据本发明的防截屏处理方法中,当接收到第二进程发送的防截屏关闭指令时,判断当前是否存在已开启防截屏功能的其他进程的步骤,包括:当接收到第二进程发送的防截屏关闭指令时,判断第二进程是否具有关闭防截屏功能的权限;若第二进程具有关闭防截屏功能的权限,则判断当前是否存在已开启防截屏功能的其他进程。
可选地,在根据本发明的防截屏处理方法中,计算设备中存储有用于记录具有设定防截屏功能权限的进程名的第一列表,以便基于第一列表来判断相应进程是否具有开启或关闭防截屏功能的权限。
可选地,在根据本发明的防截屏处理方法中,计算设备中存储有用于记录已开启防截屏功能的进程号的第二列表,当开启防截屏功能时,该方法还包括:将第一进程的进程号存储于第二列表中。
可选地,在根据本发明的防截屏处理方法中,判断当前是否存在已开启防截屏功能的其他进程的步骤,包括:判断第二列表中当前是否仅包括第二进程的进程号;若第二列表中当前仅包括第二进程的进程号,则判定当前不存在已开启防截屏功能的其他进程;若第二列表中当前除第二进程以外还包括其他进程的进程号,则判定当前存在已开启防截屏功能的其他进程。
可选地,在根据本发明的防截屏处理方法中,当判断当前是否存在已开启防截屏功能的其他进程时,该方法还包括:将第二进程的进程号从第二列表中移除。
可选地,在根据本发明的防截屏处理方法中,通过在dbus总线中注册的开关控制接口来接收防截屏开启指令和防截屏关闭指令。
可选地,在根据本发明的防截屏处理方法中,还包括:监测第二列表中进程的异常退出;当监测到第二列表中的第三进程异常退出时,将第三进程的进程号从第二列表中移除,并判断第二列表当前是否为空列表;若第二列表当前为空列表,则关闭防截屏功能;若第二列表当前不为空列表,则继续保持防截屏功能的开启状态。
可选地,在根据本发明的防截屏处理方法中,监测第二列表中进程的异常退出的步骤,包括:定时检测第二列表中的各个进程是否存在于计算设备的当前进程目录中;若检测到第三进程不存在于计算设备的当前进程目录中,则判定第三进程已异常退出。
可选地,在根据本发明的防截屏处理方法中,当防截屏功能开启时,该方法还包括:当监测到用户操作某一截图工具进行截屏时,判断该截图工具是否为所要拦截的截图工具;若该截图工具为所要拦截的截图工具,则通过预先注册好的钩子函数来拦截该截图工具中的截图函数以禁止用户截屏,钩子函数注册在截图工具预先加载的动态库中。
可选地,在根据本发明的防截屏处理方法中,计算设备中存储有用于记录所要拦截的截图工具的名称的第三列表,以便基于第三列表来判断截图工具是否为所要拦截的截图工具。
根据本发明的又一个方面,提供一种计算设备,包括:至少一个处理器;以及存储器,存储有程序指令,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行根据本发明的防截屏处理方法的指令。
根据本发明的又一个方面,提供一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行根据本发明的防截屏处理方法。
根据本发明的防截屏处理方法,当接收到窗口显示有涉密文档的应用程序所对应的进程发送的防截屏开启指令时,开启防截屏功能。当接收到针对窗口显示的涉密文档进行预定操作的应用程序所对应的进程发送的防截屏关闭指令时,判断当前是否存在已开启防截屏功能的其他进程。若存在已开启防截屏功能的其他进程,则继续保持防截屏功能的开启状态。若不存在已开启防截屏功能的其他进程,则关闭防截屏功能。可见,本发明的防截屏处理方法的控制粒度能够具体到涉密文档。当应用程序窗口显示有涉密文档时,防截屏功能处于开启状态,其余时刻则处于关闭状态。如此,本发明的防截屏处理方法既能保证涉密文档的安全性,还不会影响用户对非涉密文档的正常截屏。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的计算设备100的结构框图;
图2示出了根据本发明一个实施例的防截屏处理方法200的流程图;
图3示出了根据本发明一个实施例的当监测到第三进程异常退出后的防截屏处理方法300的流程图;
图4示出了根据本发明另一个实施例的禁止用户截屏的方法400的示意图;
图5示出了根据本发明另一个实施例的防截屏处理方法500的示意图;
图6示出了根据本发明另一个实施例的监控防截屏白名单中进程异常退出的方法600的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的计算设备100的结构框图。需要说明的是,图1所示的计算设备100仅为一个示例,在实践中,用于实施本发明的防截屏处理方法的计算设备可以是任意型号的设备,其硬件配置情况可以与图1所示的计算设备100相同,也可以与图1所示的计算设备100不同。实践中用于实施本发明的防截屏处理方法的计算设备可以对图1所示的计算设备100的硬件组件进行增加或删减,本发明对计算设备的具体硬件配置情况不做限制。
如图1所示,在基本配置102中,计算设备100典型地包括系统存储器106和一个或者多个处理器104。存储器总线108可以用于在处理器104和系统存储器106之间的通信。
取决于期望的配置,处理器104可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器104可以包括诸如一级高速缓存110和二级高速缓存112之类的一个或者多个级别的高速缓存、处理器核心114和寄存器116。示例的处理器核心114可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器118可以与处理器104一起使用,或者在一些实现中,存储器控制器118可以是处理器104的一个内部部分。
取决于期望的配置,系统存储器106可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。计算设备中的物理内存通常指的是易失性存储器RAM,磁盘中的数据需要加载至物理内存中才能够被处理器104读取。系统存储器106可以包括操作系统120、一个或者多个应用122以及程序数据124。在一些实施方式中,应用122可以布置为在操作系统上由一个或多个处理器104利用程序数据124执行指令。操作系统120例如可以是Linux、Windows等,其包括用于处理基本系统服务以及执行依赖于硬件的任务的程序指令。应用122包括用于实现各种用户期望的功能的程序指令,应用122例如可以是浏览器、即时通讯软件、软件开发工具(例如集成开发环境IDE、编译器等)等,但不限于此。当应用122被安装到计算设备100中时,可以向操作系统120添加驱动模块。
在计算设备100启动运行时,处理器104会从系统存储器106中读取操作系统120的程序指令并执行。应用122运行在操作系统120之上,利用操作系统120以及底层硬件提供的接口来实现各种用户期望的功能。当用户启动应用122时,应用122会加载至系统存储器106中,处理器104从系统存储器106中读取并执行应用122的程序指令。
计算设备100还包括储存设备132,储存设备132包括可移除储存器136和不可移除储存器138,可移除储存器136和不可移除储存器138均与储存接口总线134连接。
计算设备100还可以包括有助于从各种接口设备(例如,输出设备142、外设接口144和通信设备146)到基本配置102经由总线/接口控制器130的通信的接口总线140。示例的输出设备142包括图形处理单元148和音频处理单元150。它们可以被配置为有助于经由一个或者多个A/V端口152与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口144可以包括串行接口控制器154和并行接口控制器156,它们可以被配置为有助于经由一个或者多个I/O端口158和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备146可以包括网络控制器160,其可以被布置为便于经由一个或者多个通信端口164与一个或者多个其他计算设备162通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备100中,应用122包括用于执行本发明的防截屏处理方法200的指令,该指令可以指示处理器104执行本发明的防截屏处理方法。本领域技术人员可以理解,除了用于执行防截屏处理方法200的指令之外,应用122还可以包括用于实现其他功能的其他应用126。
图2示出了根据本发明一个实施例的防截屏处理方法200的流程图,方法200适于在计算设备(例如图1所示的计算设备100)中执行。该计算设备中运行有操作系统,操作系统上运行有一个或多个应用程序。
在此说明一点,本发明中对涉密文档的识别交由应用程序本身来完成。具体地,当某一应用程序窗口显示有文档时,该应用程序判断其当前窗口所显示的文档中是否包含涉密文档。其中,应用程序当前窗口所显示的文档是指用户人眼所能看到的文档。
若当前窗口显示的文档中包含涉密文档,则该应用程序发送防截屏开启指令。即,只有当应用程序窗口显示有涉密文档时,该应用程序才会发送防截屏开启指令。并且,当某一应用程序窗口显示的涉密文档都被隐藏或关闭时(涉密文档被隐藏包括涉密文档被最小化以及涉密文档被上层其他文档遮挡),该应用程序还会发送防截屏关闭指令。即,当应用程序窗口显示的涉密文档被最小化或者是被关闭或者是被其他非涉密文档全部遮挡时,该应用程序还会发送防截屏关闭指令。也就是说,当应用程序窗口不再显示有涉密文档时,该应用程序还会发送防截屏关闭指令。
另外,关于当应用程序窗口显示的涉密文档被其他文档全部遮挡时,该应用程序发送防截屏关闭指令这一内容还需说明一点。应用程序还可以控制遮挡力度。
具体而言,应用程序可以设定一个遮挡阈值,当应用程序窗口显示的涉密文档被非涉密文档遮挡的尺寸小于遮挡阈值时,该应用程序才发送防截屏关闭指令。即,当某应用程序窗口显示的涉密文档被非涉密文档遮挡时,该应用程序会先判断涉密文档被非涉密文档遮挡的尺寸是否小于遮挡阈值。如果小于遮挡阈值,则发送防截屏关闭指令,如果不小于遮挡阈值,则继续保持防截屏功能的开启状态。例如,可以将遮挡阈值设定为涉密文档尺寸的80%,则当某应用程序窗口显示的涉密文档被非涉密文档遮挡的尺寸小于涉密文档尺寸的80%时,该应用程序才会发送防截屏关闭指令。当然,对于遮挡阈值的设定,本发明不作限制。
其中,应用程序可以通过多种方式来判断其窗口显示的文档是否为涉密文档。例如,可以通过文档的涉密标识来判断,对此本发明不作限制。在具体的实施例中,本领域的技术人员可以根据实际需要进行设定。
如图2所示,本发明的防截屏处理方法200始于步骤S210。在步骤S210中,当接收到第一进程发送的防截屏开启指令时,开启防截屏功能,第一进程为窗口显示有涉密文档的应用程序所对应的进程。其中,在开启防截屏功能时,还可以将第一进程的进程号存储于第二列表中。第二列表为计算设备中存储的用于记录当前已开启防截屏功能的进程号的一个列表。另外,优选地将防截屏功能的默认状态设定为关闭状态。
根据本发明的一个实施例,当接收到第一进程发送的防截屏开启指令时,可以先判断第一进程是否具有开启防截屏功能的权限。若第一进程具有开启防截屏功能的权限,则再开启防截屏功能、返回防截屏功能开启成功的消息,并将第一进程的进程号存储于第二列表中。若第一进程不具有开启防截屏功能的权限,则不开启防截屏功能,并返回防截屏功能开启失败的消息。
其中,在判断第一进程是否具有开启防截屏功能权限的步骤中,可以通过将第一进程的进程名与计算设备中存储的用于记录具有设定防截屏功能权限(即开启和关闭防截屏功能权限)的进程名的第一列表中的进程名进行比对,来判断第一进程是否具有开启防截屏功能的权限。
具体地,当第一进程的进程名与第一列表中的某一个进程名相同时,判定第一进程具有开启防截屏功能的权限。当第一进程的进程名与第一列表中的任意一个进程名都不相同时,则判定第一进程不具有开启防截屏功能的权限。
随后进入步骤S220,当接收到第二进程发送的防截屏关闭指令时,判断当前是否存在已开启防截屏功能的其他进程。第二进程为针对窗口显示的涉密文档进行预定操作的应用程序所对应的进程,预定操作包括隐藏操作和关闭操作。即,第二进程为针对窗口显示的涉密文档进行了隐藏或关闭操作的那个应用程序所对应的进程。其中,隐藏操作包括最小化操作和遮挡操作。
根据本发明的一个实施例,当接收到第二进程发送的防截屏关闭指令时,可以先判断第二进程是否具有关闭防截屏功能的权限。其中,可以通过将第二进程的进程名与计算设备中存储的用于记录具有设定防截屏功能权限的进程名的第一列表中的进程名进行比对,来判断第二进程是否具有关闭防截屏功能的权限。
具体地,当第二进程的进程名与第一列表中的某一个进程名相同时,判定第二进程具有关闭防截屏功能的权限。当第二进程的进程名与第一列表中的任意一个进程名都不相同时,则判定第二进程不具有关闭防截屏功能的权限。
若第二进程不具有关闭防截屏功能的权限,则不关闭防截屏功能,并返回防截屏功能关闭失败的消息。若第二进程具有关闭防截屏功能的权限,则再判断当前是否存在已开启防截屏功能的其他进程。
根据本发明的一个实施例,可以通过判断第二列表中当前是否仅包括第二进程的进程号来判断当前是否存在已开启防截屏功能的其他进程。
若第二列表中当前除第二进程以外还包括其他进程的进程号,则判定当前存在已开启防截屏功能的其他进程。即当前计算设备中仍有显示涉密文档的应用程序窗口。此时则进入步骤S230,继续保持放截屏功能的开启状态,并返回防截屏功能关闭失败的消息。同时,还会将第二进程的进程号从第二列表中移除。
若第二列表中当前仅包括第二进程的进程号,则判定当前不存在已开启防截屏功能的其他进程。即当前计算设备开启的所有应用程序的窗口中都未显示有涉密文档。随之进入步骤S240,关闭防截屏功能,并将第二进程的进程号从第二列表中移除。同时,返回防截屏功能关闭成功的消息。
至此可见,对于应用程序而言,当切换涉密文档标签与非涉密文档标签时,其也会随之去开启或关闭防截屏功能,这样便可以避免只要存在涉密文档标签打开其他非涉密文档标签都会做统一防截屏处理问题的发生。
在此说明一点,本发明通过开关控制接口来接收第一进程发送的防截屏开启指令和第二进程发送的防截屏关闭指令。即应用程序通过调用开关控制接口来开启或关闭防截屏功能。其中,开关控制接口程序可以采用超级用户系统级dbus服务来对外提供开关控制接口。这样,便可以通过是否为dbus调用,来判断是否为接口服务程序来调用此开关控制接口。当确定是接口服务程序来调用此开关控制接口时,则关闭防截屏功能。否则,执行上述应用程序开启或关闭防截屏功能的流程。
另外,当任一应用程序开启防截屏功能后其都可能会出现异常崩溃退出的情况。在此情况下,由于该应用程序是异常退出,因此其不会发送防截屏关闭指令,这样便会导致防截屏功能一直处于开启状态。针对于此,还需监测已开启防截屏功能的进程的异常崩溃退出,即监测第二列表中进程的异常退出。具体地,定时检测第二列表中的各个进程是否存在于计算设备的当前进程目录中。若检测到第二列表中的某一进程不存在于计算设备的当前进程目录中,则判定该进程已异常退出。例如,若检测到第二列表中的第三进程不存在于计算设备的当前进程目录中,则判定第三进程已异常退出。
图3示出了根据本发明一个实施例的当监测到第三进程异常退出后的防截屏处理方法300的流程图。如图3所示,该方法300始于步骤S310。
在步骤S310中,当监测到第二列表中的第三进程异常退出时,将第三进程的进程号从第二列表中移除,并判断第二列表当前是否为空列表。若第二列表当前为空列表,表明当前不存在已开启防截屏功能的进程,则进入步骤S320,关闭防截屏功能。若第二列表当前不为空列表,表明当前仍存在已开启防截屏功能的进程,则进入步骤S330,继续保持防截屏功能的开启状态。
其中,常用的防截屏方法是在用户对涉密文档进行截图后将其涂黑。即,允许用户截屏,只是在用户截屏后将其抹黑。显然,这种防截屏方法并未能真正做到禁止用户对涉密文档进行截屏。基于此,本发明提出采用hook技术追踪拦截截图工具的截图函数的调用来防止用户截屏。具体地,通过事先注册在截图工具预先加载的动态库中的钩子函数来hook掉截图工具的截图函数,实现防截屏。
根据本发明的一个实施例,当防截屏功能开启时,若监测到用户操作某一截图工具进行截屏,则判断该截图工具是否为所要拦截的截图工具。其中,可以通过将截图工具的名称与存储在计算设备中的用于记录所要拦截的截图工具的名称的第三列表中的截图工具的名称进行比对,来判断用户所操作的截图工具是否为所要拦截的截图工具。
具体地,当用户所操作的截图工具的名称与第三列表中的某一个截图工具的名称相同时,判定用户所操作的截图工具为所要拦截的截图工具。当用户所操作的截图工具与第三列表中的任意一个截图工具的名称都不相同时,则判定用户所操作的截图工具不是所要拦截的截图工具。
若用户所操作的截图工具为所要拦截的截图工具,则通过预先注册好的钩子函数hook掉该截图工具中的截图函数来禁止用户截屏,并返回给该截图工具一个错误提示信息。若用户所操作的截图工具不是所要拦截的截图工具,则返回给该截图工具其原有的截图函数,以保证用户能够正常截屏。
当防截屏功能关闭时,若监测到用户进行截屏,则直接返回给该截图工具其原有的截图函数,以保证用户能够正常截屏。
图4示出了根据本发明另一个实施例的禁止用户截屏的方法400的示意图。监测用户的截屏操作,当监测到用户操作某一截图工具进行截图时,先判断该截图工具是否为所要拦截的截图工具。若用户所操作的截图工具不是所要拦截的截图工具,则返回给该截图工具其原有的截图函数,以保证用户能够正常截屏。
若用户所操作的截图工具为所要拦截的截图工具,则再判断当前防截屏功能的状态。如果当前的防截屏功能处于开启状态,则通过预先注册好的钩子函数hook掉该截图工具中的截图函数来禁止用户截屏,并返回给该截图工具一个错误提示信息。如果当前的防截屏功能处于关闭状态,则返回给该截图工具其原有的截图函数,以保证用户能够正常截屏。
根据本发明的防截屏处理方法,当接收到窗口显示有涉密文档的应用程序的进程发送的防截屏开启指令时,开启防截屏功能。当接收到针对窗口显示的涉密文档进行预定操作的应用程序的进程发送的防截屏关闭指令时,判断当前是否存在已开启防截屏功能的其他进程。若存在已开启防截屏功能的其他进程,则继续保持防截屏功能的开启状态。若不存在已开启防截屏功能的其他进程,则关闭防截屏功能。可见,本发明的防截屏处理方法的控制粒度能够具体到涉密文档。在应用程序窗口显示有涉密文档时,防截屏功能处于开启状态,其余时刻则处于关闭状态。如此,本发明的防截屏处理方法既能保证涉密文档的安全性,还不会影响用户对非涉密文档的正常截屏。
为了更好的理解本发明的防截屏处理方法,下面将结合图5通过一个具体示例来对本发明的防截屏处理方法的整个过程进行说明。进一步讲,当某一应用程序的进程调用开关控制接口来设置防截图开关值时(即开启防截屏功能或关闭防截屏功能时),对开关控制接口的处理过程进行说明。
在此先说明一点,开关控制接口程序采用超级用户系统级dbus服务对外提供开关接口,主要功能是提供开关接口以及对接口调用的控制。开关接口包括设置开关值、获取开关值接口及开关值变化dbus信号。并且,开关控制接口程序启动时其会先读取配置文件,以为后面的鉴权做准备。配置文件包括开关默认值和可调用该开关控制接口的白名单。其中,开关默认值设定为false(即防截屏功能默认设定为关闭状态),可调用开关控制接口的白名单中记录着可以调用开关控制接口的各个进程(为便于描述,下文中将可调用开关控制接口的白名单统称为开关调用白名单)。接下来,对开关控制接口的处理过程进行说明。
当某一进程A调用开关控制接口进行防截图开关值设定时(即进程A调用开关控制接口来开启或关闭防截屏功能时),开关控制接口程序会对调用者进行用户、白名单的鉴权以及结合其他白名单进程的开关值设置进行相应处理。
具体地,开关控制接口首先判断调用是否为dbus调用。如果不是dbus调用,则判定进程A为开关控制接口服务程序所对应的进程。随之,则会关闭防截屏功能。如果是dbus调用,则判定进程A不是开关控制接口服务程序所对应的进程。随之,对用户进行鉴权。
如果对用户鉴权失败,则返回用户鉴权失败的消息。如果对用户鉴权成功,则继续对进程A进行白名单鉴权,即判断进程A是否为白名单进程。具体而言,判断进程A是否为开关调用白名单中的进程。如果进程A不是开关调用白名单中的进程,则判定进程A不是白名单进程,并返回白名单鉴权失败的消息。如果进程A是开关调用白名单中的一个进程,则判定进程A是白名单进程,并继续读取进程A调用开关控制接口所要设置的开关值。
如果进程A调用开关控制接口是要将开关值设置为true(即进程A调用开关控制接口来开启防截屏功能),则开启防截屏功能,并将进程A插入到已开启防截屏的白名单中(为便于描述,下文中将已开启防截屏的白名单统称为防截屏白名单)。同时,还会将开关值true以信号的形式发出通知防截屏程序,进而返回防截屏功能开启成功的消息。
如果进程A调用开关控制接口是要将开关值设置为false(即进程A调用开关控制接口来关闭防截屏功能),则判断当前是否存在其他白名单进程开启了防截屏功能。
如果当前存在其他白名单进程开启了防截屏功能,则继续保持当前的开关值true,并返回存在开启防截屏功能的其他白名单进程以及防截屏功能关闭失败的消息。同时,将进程A从防截屏白名单中移除。
如果当前不存在其他白名单进程开启了防截屏功能,则关闭防截屏功能,并将开关值false以信号的形式发出通知防截屏程序,进而返回防截屏功能关闭成功的消息。同时,将进程A从防截屏白名单中移除。
另外,开关控制接口程序还会定时监控防截屏白名单中进程的崩溃或异常退出。如图6所示,开关控制接口程序定时的轮询检查防截屏白名单中的各个进程是否异常退出。具体地,定时检测防截屏白名单中的各个进程号pid是否存在于计算设备的当前进程目录中。若某个进程号不存在于计算设备的当前进程目录中,表明该进程已异常退出,则将该进程从防截屏白名单中移除,即刷新防截屏白名单。随之,判断当前防截屏白名单是否为一个空名单(即未记载有任何一个进程)。若是,则关闭防截屏功能。若否,则继续保持防截屏功能开启的状态。
可见,本发明的防截屏处理方法提供了防截屏开关控制接口供应用程序调用。这样,当任一应用程序的窗口显示有涉密文档时,该应用程序便可调用开关控制接口来设置开关值开启防截屏功能。而当该应用程序窗口显示的涉密文档被最小化、关闭或者是被其他文档全部遮挡时,该应用程序还可调用开关控制接口来设置开关值关闭防截屏功能。显然,本发明的防截屏处理方法的控制粒度能够具体到涉密文档。在应用程序窗口显示有涉密文档时,防截屏功能处于开启状态,其余时刻则处于关闭状态,从而既能保证涉密文档的安全性,还不会影响用户对非涉密文档的正常截屏。
另外,在本发明的防截屏处理方法中开关控制接口还会对用户和进程进行鉴权,从而能够保证开关控制接口调用的安全性。
A9、如A5-A7中任意一项所述的方法,还包括:监测所述第二列表中进程的异常退出;当监测到所述第二列表中的第三进程异常退出时,将所述第三进程的进程号从所述第二列表中移除,并判断所述第二列表当前是否为空列表;若所述第二列表当前为空列表,则关闭防截屏功能;若所述第二列表当前不为空列表,则继续保持防截屏功能的开启状态。
A10、如A9所述的方法,其中,所述监测所述第二列表中进程的异常退出的步骤,包括:定时检测所述第二列表中的各个进程是否存在于所述计算设备的当前进程目录中;若检测到所述第三进程不存在于所述计算设备的当前进程目录中,则判定所述第三进程已异常退出。
A11、如A1-A10中任意一项所述的方法,其中,当防截屏功能开启时,所述方法还包括:当监测到用户操作某一截图工具进行截屏时,判断所述截图工具是否为所要拦截的截图工具;若所述截图工具为所要拦截的截图工具,则通过预先注册好的钩子函数来拦截所述截图工具中的截图函数以禁止用户截屏,所述钩子函数注册在所述截图工具预先加载的动态库中。
A12、如A11所述的方法,其中,所述计算设备中存储有用于记录所要拦截的截图工具的名称的第三列表,以便基于所述第三列表来判断所述截图工具是否为所要拦截的截图工具。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的文档加载方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种防截屏处理方法,适于在计算设备中执行,所述计算设备中运行有操作系统,所述操作系统上运行有一个或多个应用程序,所述方法包括:
当接收到第一进程发送的防截屏开启指令时,开启防截屏功能,所述第一进程为窗口显示有涉密文档的应用程序所对应的进程;
当接收到第二进程发送的防截屏关闭指令时,判断当前是否存在已开启防截屏功能的其他进程,所述第二进程为针对窗口显示的涉密文档进行预定操作的应用程序所对应的进程,所述预定操作包括隐藏操作和关闭操作;
若存在已开启防截屏功能的其他进程,则继续保持防截屏功能的开启状态;
若不存在已开启防截屏功能的其他进程,则关闭防截屏功能。
2.如权利要求1所述的方法,其中,所述当接收到第一进程发送的防截屏开启指令时,开启防截屏功能的步骤,包括:
当接收到第一进程发送的防截屏开启指令时,判断所述第一进程是否具有开启防截屏功能的权限;
若所述第一进程具有开启防截屏功能的权限,则开启防截屏功能。
3.如权利要求1或2所述的方法,其中,所述当接收到第二进程发送的防截屏关闭指令时,判断当前是否存在已开启防截屏功能的其他进程的步骤,包括:
当接收到第二进程发送的防截屏关闭指令时,判断所述第二进程是否具有关闭防截屏功能的权限;
若所述第二进程具有关闭防截屏功能的权限,则判断当前是否存在已开启防截屏功能的其他进程。
4.如权利要求2或3所述的方法,其中,所述计算设备中存储有用于记录具有设定防截屏功能权限的进程名的第一列表,以便基于所述第一列表来判断相应进程是否具有开启或关闭防截屏功能的权限。
5.如权利要求1-4中任意一项所述的方法,其中,所述计算设备中存储有用于记录已开启防截屏功能的进程号的第二列表,当开启防截屏功能时,所述方法还包括:
将所述第一进程的进程号存储于所述第二列表中。
6.如权利要求5所述的方法,其中,所述判断当前是否存在已开启防截屏功能的其他进程的步骤,包括:
判断所述第二列表中当前是否仅包括所述第二进程的进程号;
若所述第二列表中当前仅包括所述第二进程的进程号,则判定当前不存在已开启防截屏功能的其他进程;
若所述第二列表中当前除第二进程以外还包括其他进程的进程号,则判定当前存在已开启防截屏功能的其他进程。
7.如权利要求5或6所述的方法,其中,当判断当前是否存在已开启防截屏功能的其他进程时,所述方法还包括:
将所述第二进程的进程号从所述第二列表中移除。
8.如权利要求1-7中任意一项所述的方法,其中,通过在dbus总线中注册的开关控制接口来接收防截屏开启指令和防截屏关闭指令。
9.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-8中任一项所述方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-8中任一项所述方法。
CN202110835897.XA 2021-07-23 2021-07-23 一种防截屏处理方法、计算设备及可读存储介质 Pending CN113486413A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110835897.XA CN113486413A (zh) 2021-07-23 2021-07-23 一种防截屏处理方法、计算设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110835897.XA CN113486413A (zh) 2021-07-23 2021-07-23 一种防截屏处理方法、计算设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN113486413A true CN113486413A (zh) 2021-10-08

Family

ID=77943313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110835897.XA Pending CN113486413A (zh) 2021-07-23 2021-07-23 一种防截屏处理方法、计算设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN113486413A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113946386A (zh) * 2021-12-20 2022-01-18 北京指掌易科技有限公司 截屏控制方法、装置、计算机设备和存储介质
CN116107845A (zh) * 2023-04-12 2023-05-12 浙江保融科技股份有限公司 一种窗口对象的监测和处理方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113946386A (zh) * 2021-12-20 2022-01-18 北京指掌易科技有限公司 截屏控制方法、装置、计算机设备和存储介质
CN113946386B (zh) * 2021-12-20 2022-03-29 北京指掌易科技有限公司 截屏控制方法、装置、计算机设备和存储介质
CN116107845A (zh) * 2023-04-12 2023-05-12 浙江保融科技股份有限公司 一种窗口对象的监测和处理方法
CN116107845B (zh) * 2023-04-12 2023-07-14 浙江保融科技股份有限公司 一种窗口对象的监测和处理方法

Similar Documents

Publication Publication Date Title
US7665139B1 (en) Method and apparatus to detect and prevent malicious changes to tokens
EP2902937B1 (en) Method, apparatus, and system for triggering virtual machine introspection
US7065644B2 (en) System and method for protecting a security profile of a computer system
KR20150065715A (ko) 안전한 도메인과 덜 안전한 도메인을 갖는 데이터 처리장치에서의 예외처리
US20120191972A1 (en) Selective authorization of the loading of dependent code modules by running processes
KR20150063417A (ko) 데이터 처리장치와, 안전한 도메인 및 덜 안전한 도메인 사이에서 전환될 때 데이터 및 프로그램 코드를 안전하지 않은 액세스로부터 보호하는 방법
CN113486413A (zh) 一种防截屏处理方法、计算设备及可读存储介质
CN105122260A (zh) 到安全操作系统环境的基于上下文的切换
US20140230012A1 (en) Systems, methods, and media for policy-based monitoring and controlling of applications
US20170329963A1 (en) Method for data protection using isolated environment in mobile device
US8176278B2 (en) Information processing apparatus, information processing method and record medium
US10339307B2 (en) Intrusion detection system in a device comprising a first operating system and a second operating system
US20070061867A1 (en) Information processing apparatus, method and computer product for controlling activation of application
JP2005316599A (ja) 割込制御装置
CN109583206B (zh) 监控应用程序的访问进程的方法、装置、设备及存储介质
CN113672925B (zh) 阻止勒索软件攻击的方法、装置、存储介质及电子设备
GB2555569B (en) Enhanced computer objects security
JP4643201B2 (ja) バッファオーバーフロー脆弱性分析方法、データ処理装置、分析情報提供装置、分析情報抽出処理用プログラムおよび分析情報提供処理用プログラム
CN113779546B (zh) 一种录音权限管理方法、计算设备及存储介质
US8127351B2 (en) Program execution control apparatus and program execution control method
CN113094699A (zh) 一种安全监测方法、电子设备和计算机可读存储介质
US9804932B2 (en) Method and device for processing data and electronic apparatus
JP2007219786A (ja) 未知のマルウェアによる情報漏洩防止システム
CN115577347B (zh) 驱动程序防护方法及装置
JP7476140B2 (ja) 情報処理装置、情報処理方法、およびプログラム

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