首页> 中国专利> 一种基于macOS操作系统的剪切板控制方法和系统

一种基于macOS操作系统的剪切板控制方法和系统

摘要

本发明公开了一种基于macOS操作系统的剪切板控制方法和系统,方法包括如下步骤:预建立至少一个授信软件目录,并获取授信软件的软件进程名称、软件唯一识别码和软件签名至少一种;预建立授信内容目录;建立安全控制函数配置文件,并将安全控制函数配置文件保存;获取macOS操作系统的剪切板服务进程,并在所述剪切板服务进程中注入控制模块和安全控制函数配置文件;控制模块根据安全控制函数配置文件将所述剪切板服务进程中的进程通信函数替换为安全控制函数;当调用剪切板服务时,根据所述安全控制函数执行剪切板控制操作。

著录项

  • 公开/公告号CN112463402A

    专利类型发明专利

  • 公开/公告日2021-03-09

    原文格式PDF

  • 申请/专利号CN202011212170.8

  • 发明设计人 戴剑勇;谢永胜;

    申请日2020-11-03

  • 分类号G06F9/54(20060101);

  • 代理机构33289 杭州裕阳联合专利代理有限公司;

  • 代理人田金霞

  • 地址 310012 浙江省杭州市西湖区萍水西街80号创新产业园1号楼20层

  • 入库时间 2023-06-19 10:08:35

说明书

技术领域

本发明涉及计算机领域,特别涉及一种基于macOS操作系统的剪切板控制方法和系统。

背景技术

目前对文件内容的泄密存在着利用系统自身的剪切板进行复制或剪切,然后将复制后的文件内容粘贴到通讯软件上导致泄密事故,比如复制到qq或微信上导致的泄密事故。然而,由于macOS操作系统内不存在对剪切板的安全控制系统,容易在复制粘贴时导致文件内容的泄密。

发明内容

本发明其中一个发明目的在于提供一种基于macOS操作系统的剪切板控制方法和系统,所述剪切板控制方法和系统通过设置安全控制函数,并使用安全控制函数替换所述macOS操作系统自身剪贴板进程中的进程通信函数,从而在启动剪切板操作中直接调用安全控制函数,根据安全控制函数的逻辑控制剪切板操作,可保障剪切板的操作是安全可控的。

本发明另一个发明目的在于提供一种基于macOS操作系统的剪切板控制方法和系统,所述方法和系统通过预构建授信软件目录,通过获取软件进程名称、软件唯一识别码和软件签名中的至少一种识别是否是授信软件,根据授信软件和非授信软件分别执行不同安全等级的剪切板控制操作。

本发明另一个发明目的在于提供一种基于macOS操作系统的剪切板控制方法和系统,所述方法和系统预构建授信内容目录,采用在执行粘贴操作时,获取待粘贴的文字内容,将文字内容和授信内容目录中的内容对比,若存在相同或相似的文字内容,则禁止该文字内容的粘贴操作。

本发明另一个发明目的在于提供一种基于macOS操作系统的剪切板控制方法和系统,方法和系统在执行复制或粘贴操作时,进一步判断复制或粘贴内容是否来自授信软件,若来自授信软件,则进一步判断该复制或粘贴内容为授信内容。

本发明另一个发明目的在于提供一种基于macOS操作系统的剪切板控制方法和系统,所述方法和系统采用软件和内容协同的方式控制剪切板的复制粘贴操作,该方法可避免单一的软件控制或单一的内容控制在某些特定的场景下的复制粘贴操作,具有较高的适配性和实用性。

为了实现至少一个上述发明目的,本发明进一步提供一种基于macOS操作系统的剪切板控制方法,包括如下步骤:

预建立至少一个授信软件目录,获取并保存授信软件的软件进程名称、软件唯一识别码和软件签名至少一种;

预建立授信内容目录;

建立安全控制函数配置文件,并将安全控制函数配置文件保存;

获取macOS操作系统的剪切板服务进程,并在所述剪切板服务进程中注入控制模块和安全控制函数配置文件;

控制模块根据安全控制函数配置文件将所述剪切板服务进程中的进程通信函数替换为安全控制函数;

当调用剪切板服务时,根据所述安全控制函数执行剪切板控制操作。

根据本发明其中一个较佳实施例,所述剪切板控制操作包括如下步骤:获取调用剪切板服务的软件进程名称、软件唯一识别码和软件签名,并和预建立的授信软件目录对比,若存在软件进程名称、软件唯一识别码和软件签名任意一种,则判断调用剪切板服务的软件为授信软件,所述安全控制函数根据识别的软件执行第一剪切板控制操作或第二剪切板控制操作。

根据本发明其中一个较佳实施例,获取剪切内容,并将剪切内容和预建立的授信内容对比,若在授信内容目录中存在相同的内容,则判断剪切内容为授信内容,所述安全控制函数根据识别的剪切内容执行第三剪切板控制操作或第四剪切板控制操作。

根据本发明其中一个较佳实施例,所述第一剪切板控制操作包括如下操作:

若调用剪切板服务的软件被判别为授信软件,则根据安全控制函数允许授信软件中任意内容执行剪切、复制、粘贴操作至任意软件。

根据本发明其中一个较佳实施例,所述第二剪切板控制操作包括如下步骤:

若调用剪切板服务的软件被判别为非授信软件,则根据安全控制函数禁止任意非授信软件的任意内容剪切、复制、粘贴操作至任意软件。

根据本发明其中一个较佳实施例,所述第三剪切板控制操作包括如下步骤:若识别的剪切内容为授信内容,则根据安全控制函数允许所述授信内容粘贴操作至授信软件和/或非授信软件。

根据本发明其中一个较佳实施例,第四剪切板控制操作包括如下步骤:若识别的剪切内容为非授信内容,则根据安全控制函数禁止所述非授信内容粘贴操作至授信软件和/或非授信软件。

根据本发明其中一个较佳实施例,当存在复制行为时,所述控制模块通过剪贴板控制进程获取复制内容,并根据所述安全控制函数允许或禁止将复制内容在macOS操作系统的剪切板中缓存数据。

根据本发明其中一个较佳实施例,当存在粘贴行为时,所述控制模块通过通剪切板通讯进程获取粘贴指令,进一步根据安全函数允许或禁止获取macOS操作系统剪切板缓存数据。

为了实现至少一个上述发明,本发明进一步提供一种基于macOS操作系统的剪切板控制系统,所述系统包括:

判断模块,所述判断模块用于判断剪切板操作对象是否授信软件以及剪切板操作内容是否属于授信内容;

控制模块,所述控制模块保存安全控制函数;

接收模块,用于获取复制指令、剪切指令、粘贴指令,并将上述指令输入控制模块;

剪切板控制服务模块,用于将控制模块注入剪切板控制进程中;

其中所述控制模块被注入macOS操作系统的剪切板控制进程中,通过获取判断模块的授信信息,根据授信信息和所述安全控制函数输出控制指令。

附图说明

图1显示的是本发明一种基于macOS操作系统的剪切板控制方法其中一个较佳实施例的流程示意图;

图2显示的是本发明中的安全控制函数的复制逻辑的一个较佳实施例示意图;

图3显示的是本发明中的安全函控制数的粘贴逻辑的一个较佳实施例示意图;

图4显示的是本发明一种基于macOS操作系统的剪切板控制系统示意图;

图5显示的是本发明中控制模块的运行示意图。

具体实施方式

以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本发明的精神和范围的其他技术方案。

本领域技术人员应理解的是,在本发明的揭露中,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系是基于附图所示的方位或位置关系,其仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此上述术语不能理解为对本发明的限制。

可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。

请结合图1-5,本发明提供了一种一种基于macOS操作系统的剪切板控制方法和系统,所述系统包括剪切板控制服务模块,通过所述剪切板控制服务模块在剪贴板控制进程中注入预先配置好的控制模块,预设安全控制函数,所述安全控制函数根据不同的场景执行对应的逻辑指令,所述剪切板控制服务模块获取安全控制函数的配置文件,并将该安全控制函数的配置文件通过远程的方式注入到剪切板控制进程中,进一步的,所述控制模块根据安全控制函数的配置文件采用HOOK的方式替换所述剪切板控制进程中的进程通信函数,即xpc函数。因此所述剪切板控制进程中包含了所述安全控制函数的处理逻辑,在符合一定条件时,所述控制模块根据所述安全控制函数执行对应的处理逻辑。

举例来说,当macOS操作系统启动时,启动剪切板控制服务模块,所述剪切板控制服务模块读取安全控制函数配置中的安全控制函数,并将所述安全控制函数注入macOS操作系统自身的剪切板控制进程(pboard)中,进一步通过所述控制模块替换剪切板控制进程中的进程间通讯函数为所述安全控制函数,所述macOS操作系统中自身的剪切板进程可直接调用注入的安全控制函数执行剪切板操作。其中所述控制模块获取系统中运行软件的软件进程名称、软件唯一识别码和软件签名,用于判断所述软件是否属于授信软件。

值得一提的是,所述剪切板服务控制模块预先建立授信软件目录和授信内容目录,所述安全控制函数根据所述授信软件和授信内容执行相关的剪切板操作,具体的,通过建立授信软件的软件进程名称、软件唯一识别码和软件签名中的至少一种授信软件特征值列表,并将该授信软件特征值列表保存于安全控制函数中,当软件运行时,所述控制模块通过macOS操作系统中的剪切板控制进程间通讯先获取软件进程名称、软件唯一识别码和软件签名中软件特征值中的至少一种,进一步和安全控制函数中的授信软件特征值列表对比,用于判断运行软件的授信信息。进一步根据安全控制函数执行剪切板操作。

所述安全控制函数根据授信软件信息和授信内容信息执行包括但不仅限于第一剪切板操作、第二剪切板操作、第三剪切板操作和第四剪切板操作,其中当所述控制模块获取软件特征值并判断为授信软件的,进一步根据安全控制函数执行第一剪切板操作:

若调用剪切板服务的软件被判别为授信软件,则根据安全控制函数允许授信软件中任意内容执行剪切、复制、粘贴操作至任意软件。

所述第一剪切板操作具体包括:获取运行软件中的复制或剪切内容,所述控制模块获取软件特征值,并通过macOS操作系统中剪切板控制进程间通信和安全控制函数中的授信软件特征值对比,若存在相同的软件特征值则判断运行软件为授信软件,当所述安全控制函数判断运行软件为授信软件后,所述安全控制函数允许授信软件中的复制或剪切内容可保存于剪切板控制进程中的缓存中,当执行粘贴操作时,所述安全控制函数允许控制模块获取缓存的复制或剪切内容,进一步完成粘贴操作。

所述第二剪切板操作包括:若调用剪切板服务的软件被判别为非授信软件,则根据安全控制函数禁止任意非授信软件的任意内容剪切、复制、粘贴操作至任意软件。

其中所述第二剪切板具体操作包括:获取运行软件中的复制或剪切内容,所述控制模块获取软件特征值,并通过macOS操作系统中剪切板控制进程间通信将软件特征值和授信软件特征值对比,若不存在相同特征值则判断该软件为非授信软件,所述安全控制函数判断运行软件为非授信软件后,所述安全控制函数禁止所述软件中的复制或剪切内容保存于剪切板控制进程中的缓存中,或在执行粘贴操作时,所述安全控制函数禁止控制模块获取缓存的复制或剪切内容,完成禁止复制或粘贴操作,从而可保障非授信软件中的任意内容都不能复制、剪切和粘贴操作。

所述第三剪切板操作包括:若识别的复制或剪切内容为授信内容,则根据安全控制函数允许所述授信内容粘贴操作至授信软件和/或非授信软件。

所述第三剪切板操作具体包括:获取复制或剪切内容,所述控制模块通过macOS操作系统中剪切板控制进程间通信将获取的复制或剪切内容和安全控制函数中的授信内容对比,若存在相同的内容,则判断复制或剪切的内容为授信内容,所述安全控制函数判断该复制或剪切内容为授信内容后,所述安全控制函数允许所述软件中的复制或剪切内容保存于剪切板控制进程中的缓存中,当执行粘贴操作时,所述安全控制函数允许控制模块获取缓存的复制或剪切内容,进一步完成粘贴操作。

所述第四剪切板操作包括:若识别的剪切内容为非授信内容,则根据安全控制函数禁止所述非授信内容粘贴操作至授信软件和/或非授信软件。

所述第四剪切板操作具体包括:

获取复制或剪切内容,所述控制模块通过macOS操作系统中剪切板控制进程间通信将获取的复制或剪切内容和安全控制函数中的授信内容对比,若不存在相同的内容,则判断该复制或剪切的内容为非授信内容,所述安全控制函数判断该复制或剪切内容为非授信内容后,所述安全控制函数禁止所述软件中的复制或剪切内容保存于剪切板控制进程中的缓存中,或当执行粘贴操作时,所述安全控制函数禁止控制模块获取缓存的复制或剪切内容,进一步禁止粘贴操作。

需要说明的是,在本发明另一较佳实施例中,可选择地建立非授信内容列表数据,并将非授信内容列表数据通过剪切板控制服务模块传入macOS操作系统中剪切板控制进程中,因此,可通过判断剪切或复制内容是否属于非授信内容,若属于非授信内容,则可控制非授信内容进行剪贴板操作。在本实施例中,可控制特定文件,或特定文字的复制粘贴,从而避免泄密,另外所述授信内容可以通过判断是否是授信软件中的内容进行逻辑判断,若属于对应授信软件中的内容,则可直接判断该复制、剪切的内容为授信内容。

值得一提的是,上述实施例中,第一剪切板操作、第二剪切板操作、第三剪切板操作和第四剪切板操作分别单独执行,在本发明另一较佳实施例中,所述安全控制函数在完成第一剪切板中的授信软件判断后,进一步判断复制、剪切的内容是否属于授信内容,若是,则进一步执行第三剪切板或第四剪切板操作;或者在完成第二剪切板操作判断非授信软件后,进一步执行第三剪切板或第四剪切板操作,在本实施例中,可有效地控制剪切板在授信软件和非授信软件之间复制、剪切和粘贴内容的控制,从而可以在保障内容安全的同时兼顾内容传输的流畅性。

举例来说,请参考图5,通过所述剪切板控制进程间通讯分别获取软件A、B、C、D的软件特征值,判断软件A、B、C、D中软件是否为授信软件,若软件A和B被判断为授信软件,软件C和D为非授信软件,所述安全控制函数在获取复制剪切内容判断为授信内容后,可根据所述安全控制函数对A执行第三剪切板操作,其中第三剪切板操作可具体预设为允许向非授信软件软件进行剪切板操作,因此,软件A中的内容可被复制、剪切、粘贴到软件C或D中。或根据所述安全控制函数获取的B软件中复制或剪切的内容为非授信内容,则所述安全控制函数对B执行第四剪切板操作,其中所述第四剪切板操作可具体预设为禁止向非授信软件进行剪切板操作,从而使得B软件中非授信内容无法被复制、剪切、粘贴到软件C或D中。

特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线段、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线段的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线段、电线段、光缆、RF等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明,本发明的目的已经完整并有效地实现,本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号