著录项信息
专利名称 | 系统调用方法和装置 |
申请号 | CN201610555203.6 | 申请日期 | 2016-07-14 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2016-12-07 | 公开/公告号 | CN106203080A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/52 | IPC分类号 | G;0;6;F;2;1;/;5;2;;;G;0;6;F;2;1;/;5;5;;;G;0;6;F;2;1;/;5;6查看分类表>
|
申请人 | 北京元心科技有限公司 | 申请人地址 | 北京市顺义区南彩镇彩祥东路16号17幢1层153室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 元心信息科技集团有限公司 | 当前权利人 | 元心信息科技集团有限公司 |
发明人 | 高连凯 |
代理机构 | 北京市立方律师事务所 | 代理人 | 张筱宁 |
摘要
本发明实施例提供了系统调用方法和装置,所述方法包括:接收到应用的系统调用请求后,对所述系统调用请求进行权限检查;所述权限检查通过后,将本权限及安全检查模块的预设的安全标识作为发送方标识携带于系统调用请求中向内核发送;所述内核接收到系统调用请求后,若确定出接收到的系统调用请求的发送方标识与预存的安全标识相一致,则进行相应的系统调用。本发明实施例中,对应用的系统调用请求的权限检查在内核之外的应用层中进行,并在系统调用请求中设置权限及安全检查模块的预设的安全标识供内核识别,这部分代码不属于开源代码不会被公开,大大增强了系统调用的安全性。
1.一种系统调用方法,其特征在于,包括:
接收到应用的系统调用请求后,对所述系统调用请求进行权限检查;
所述权限检查通过后,将本权限及安全检查模块的预设的安全标识作为发送方标识携带于系统调用请求中向内核发送;
所述内核接收到系统调用请求后,若确定出接收到的系统调用请求的发送方标识与预存的安全标识相一致,则进行相应的系统调用。
2.根据权利要求1所述的方法,其特征在于,还包括:所述内核若确定出接收到的系统调用请求的发送方标识与预存的安全标识不一致,则拒绝执行接收到的系统调用请求,并向发送该系统调用请求的应用返回拒绝访问消息。
3.根据权利要求1所述的方法,其特征在于,所述对所述系统调用请求进行权限检查,具体包括:
根据定制的安全策略,对所述系统调用请求进行权限检查。
4.根据权利要求1所述的方法,其特征在于,所述权限及安全检查模块的安全标识包括:所述权限及安全检查模块的身份信息和/或地址信息。
5.根据权利要求1所述的方法,其特征在于,在所述确定出接收到的系统调用请求的发送方标识与预存的安全标识相一致后,还包括:
所述内核根据所述安全标识对所述权限及安全检查模块的相关信息进行合法性验证;
以及
所述进行相应的系统调用,包括:
若验证结果为合法,则进行相应的系统调用。
6.根据权利要求5所述的方法,其特征在于,所述根据所述安全标识对所述权限及安全检查模块的相关信息进行合法性验证,具体包括:
所述内核根据所述安全标识,获取预设的所述权限及安全检查模块的相关信息及其数字签名;
所述内核根据获取的数字签名对获取的所述权限及安全检查模块相关信息进行合法性验证。
7.一种系统调用装置,其特征在于,包括:
权限及安全检查模块,设置于应用层,用于接收到应用的系统调用请求后,对所述系统调用请求进行权限检查;所述权限检查通过后,将所述权限及安全检查模块的预设的安全标识作为发送方标识携带于系统调用请求中向内核发送;
系统调用接口模块,设置于所述内核,用于接收到系统调用请求后,若确定出接收到的系统调用请求的发送方标识与预存的安全标识相一致,则进行相应的系统调用。
8.根据权利要求7所述的装置,其特征在于,
所述系统调用接口模块还用于若确定出接收到的系统调用请求的发送方标识与预存的安全标识不一致,则拒绝执行接收到的系统调用请求,并向发送该系统调用请求的应用返回拒绝访问消息。
9.根据权利要求7所述的装置,其特征在于,
所述权限及安全检查模块具体用于根据定制的安全策略,对所述系统调用请求进行权限检查。
10.根据权利要求7所述的装置,其特征在于,
所述系统调用接口模块还用于在所述确定出接收到的系统调用请求的发送方标识与预存的安全标识相一致后,根据所述安全标识对所述权限及安全检查模块的相关信息进行合法性验证;若验证结果为合法,则进行相应的系统调用。
系统调用方法和装置\n技术领域\n[0001] 本发明涉及终端技术领域,具体而言,本发明涉及一种系统调用方法和装置。\n背景技术\n[0002] 随着科技的发展,智能手机、平板电脑和电子阅读器等智能终端已经广泛普及。大量的智能终端中安装了基于Linux内核的操作系统,例如Android、Tizen、Ubuntu和FireFox等等。这些操作系统通常都是在Linux内核的基础上,增加各自设计的框架层而实现的。\n[0003] 基于Linux内核的操作系统(后文简称操作系统)中,Linux内核统一管理系统资源,应用层的应用程序(后文简称应用)进行系统调用的方法通常包括:应用发送系统调用请求到内核中的系统调用接口;由内核中内置的多种安全模块执行各自的安全机制,即对系统调用请求进行多种安全或权限检查,例如DAC(Discretionary Access Control,自主访问控制)、MAC(Mandatory Access Control,强制访问控制)和权能检测等等;之后,由内核根据系统调用请求执行系统调用。\n[0004] 然而,本发明的发明人发现,Linux是开源项目,其内核代码通常是需要公开的。而现有的执行各种安全机制的安全模块内置在Linux内核中,即使对安全模块进行改进以改进其安全机制,然而改进后的安全模块的源代码依然需要遵循协议进行公开,导致黑客等攻击者仍然可以获取改进后的安全模块的安全机制,从而造成现有的系统调用方法依然容易受到攻击,安全性低下,容易给用户带来损失,降低用户体验。\n发明内容\n[0005] 本发明针对现有方式的缺点,提出一种系统调用方法和装置,用以解决现有技术存在系统调用的安全性低下的问题。\n[0006] 本发明的实施例根据一个方面,提供了一种系统调用方法,包括:\n[0007] 接收到应用的系统调用请求后,对所述系统调用请求进行权限检查;\n[0008] 所述权限检查通过后,将本权限及安全检查模块的预设的安全标识作为发送方标识携带于系统调用请求中向内核发送;\n[0009] 所述内核接收到系统调用请求后,若确定出接收到的系统调用请求的发送方标识与预存的安全标识相一致,则进行相应的系统调用。\n[0010] 本发明的实施例根据另一个方面,还提供了一种系统调用装置,包括:\n[0011] 权限及安全检查模块,设置于应用层,用于接收到应用的系统调用请求后,对所述系统调用请求进行权限检查;所述权限检查通过后,将所述权限及安全检查模块的预设的安全标识作为发送方标识携带于系统调用请求中向内核发送;\n[0012] 系统调用接口模块,设置于所述内核,用于接收到系统调用请求后,若确定出接收到的系统调用请求的发送方标识与预存的安全标识相一致,则进行相应的系统调用。\n[0013] 本发明实施例中,对应用的系统调用请求的权限检查在内核之外的应用层中进行,并在系统调用请求中设置权限及安全检查模块的预设的安全标识供内核识别,这部分代码不属于开源代码不会被公开,大大增强了系统调用的安全性。\n[0014] 本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。\n附图说明\n[0015] 本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:\n[0016] 图1a和1b都为本发明实施例的系统调用方法的流程示意图;\n[0017] 图2为本发明实施例的系统调用装置的内部结构的框架示意图。\n具体实施方式\n[0018] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。\n[0019] 本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。\n[0020] 本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。\n[0021] 本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。\n[0022] 本发明实施例中,在应用层中设置权限及安全检查模块;权限及安全检查模块接收到应用的系统调用请求后,对系统调用请求进行权限检查;权限检查通过后,将本权限及安全检查模块的预设的安全标识作为发送方标识携带于系统调用请求中向内核发送;内核接收到系统调用请求后,若确定出接收到的系统调用请求的发送方标识与预存的安全标识相一致,则进行相应的系统调用。可见,本发明实施例中,对应用的系统调用请求的权限检查在内核之外的应用层中进行,并在系统调用请求中设置权限及安全检查模块的预设的安全标识供内核识别,这部分代码不属于开源代码不会被公开,大大增强了系统调用的安全性。\n[0023] 而且,本发明实施例中,内核若确定出接收到的系统调用请求的发送方标识与预存的权限及安全检查模块的安全标识不一致,则拒绝执行接收到的系统调用请求。可见,本发明实例中,现有的应用直接向内核发送的系统调用请求,因没有携带安全检查模块的安全标识,都将被内核拒接执行;能够防止病毒、木马、恶意程序等非法应用利用现有的Linux的安全机制入侵,大大增强了系统调用的安全性。\n[0024] 进一步,本发明的发明人还发现,现有的系统调用方法中,执行各种安全机制的安全模块内置在操作系统的内核中,由于内核代码量巨大且开源社区的规范,导致修改安全模块及其安全机制的工作相当困难,导致定制新的安全机制变得相当困难。\n[0025] 基于上述发现,本发明实施例中,可以方便地将为用户量身定制的安全策略设置到应用层中,使得权限及安全检查模块可以根据定制的安全策略更加灵活、更加个性化地对应用的调用请求进行权限检查,在保证系统调用安全性的基础上,可以满足各种用户不同的需求,提升用户体验。而且,与修改内核中的安全模块相比,代码修改量大大降低,兼容性更佳,适用面更广。\n[0026] 下面结合附图具体介绍本发明实施例的技术方案。\n[0027] 本发明实施例的智能终端可以是智能手机、平板电脑等终端设备。\n[0028] 本发明实施例的应用场景,为基于Linux内核的操作系统,例如Android系统、Tizen系统、Ubuntu系统和FireFox系统等等。\n[0029] 本发明实施例提供了一种应用的系统调用方法,该方法的流程示意图如图1a所示,包括如下步骤:\n[0030] S101:应用向权限及安全检查模块发送系统调用请求。\n[0031] 本发明实施例中,在操作系统的应用层中预先设置了权限及安全检查模块及其安全标识。权限及安全检查模块的安全标识包括:权限及安全检查模块的身份信息和/或地址信息。\n[0032] 在客户端-服务器模式下,应用作为客户端,权限及安全检查模块可以作为一个实体独立运行(类似于一个应用)作为服务器。这种模式下,可以预先设定固定的UID(User IDentification,用户标识)、PID(Process IDentification,进程标识等身份信息和/或输出地址等地址信息,作为权限及安全检查模块专用的身份信息和/或地址信息,属于权限及安全检查模块的安全标识。\n[0033] 在常驻模式下,权限及安全检查模块以库的形式与应用链接在一起,运行应用时自动运行权限及安全检查模块。\n[0034] 具体地,若将权限及安全检查模块设置为静态库,则将其与应用一共编译成可运行的程序;该应用运行时,自动将权限及安全检查模块设置到预先设定的固定的地址空间。\n若将权限及安全检查模块设置为动态库,则将其链接编译到应用的可运行的程序中;该应用运行时,自动根据链接获取权限及安全检查模块,并设置到预先设定的固定的地址空间。\n该预设的固定的地址空间作为权限及安全检查模块专用的地址信息,属于权限及安全检查模块的安全标识。\n[0035] 应用将其系统调用请求,向权限及安全检查模块发送。系统调用请求在形式可以类似于陷入指令。系统调用请求的内容可以包括下述至少一项:访问数据库、访问输入输出文件、访问系统服务等等。\n[0036] 可以理解,现有的应用通常直接将其系统调用请求向内核中的系统调用接口发送,而本发明实施例中的应用进行了改进,使得应用向权限及安全检查模块发送系统调用请求。\n[0037] S102:权限及安全检查模块接收到应用的系统调用请求后,对系统调用请求进行权限检查;若权限检查通过,则执行步骤S103;若权限检查失败,则忽略接收的系统调用请求。\n[0038] 权限及安全检查模块接收到应用的系统调用请求后,根据预设的安全策略中每个应用对应的各项权限,对应用的系统调用请求进行权限检查。\n[0039] 具体地,确定应用的系统调用请求涉及的权限、与安全策略中该应用具有的权限是否相匹配;若是,则确定权限检查通过,执行步骤S103;否则确定权限检查失败,忽略接收的系统调用请求。\n[0040] 容易理解,目前很多应用预设了与其功能不相适应的访问选项。例如一个手电筒应用除了预设相机的访问选项之外,还设置了(智能终端的)位置信息、WLAN(Wireless Local Area Network,无线局域网)和已安装应用列表的访问选项,显而易见,手电筒应用将摄像头的补光灯模拟成手电用以照明的功能的实现,与位置信息、WLAN和已安装应用列表这些信息无关。因此,可以预先确定出应用功能需要用到的权限、和/或与应用功能不相适应的访问选项所对应的权限,记录到安全策略中,根据安全策略滤除与应用功能不相适应的访问选项所对应的权限,降低泄露用户信息的几率。\n[0041] 较佳地,可以根据用户的需求,为用户量身定制的安全策略设置到权限及安全检查模块中;例如,为A公司定制安全策略A,为B公司定制安全策略B,将安全策略A、B分别设置到A、B公司的智能终端的权限及安全检查模块中。\n[0042] 权限及安全检查模块可以根据定制的安全策略更加灵活、更加个性化地对应用的调用请求进行权限检查,在保证系统调用安全性的基础上,可以满足各种用户不同的需求,提升用户体验。而且,与修改内核中的安全模块相比,代码修改量大大降低,兼容性更佳,适用面更广。\n[0043] S103:将本权限及安全检查模块的预设的安全标识作为发送方标识携带于系统调用请求中向内核发送。\n[0044] 权限及安全检查模块的安全标识包括:权限及安全检查模块的身份信息和/或地址信息;身份信息可以包括如下至少一项:固定的UID、PID等;地址信息可以包括如下至少一项:固定的输出地址、地址空间等。\n[0045] 权限及安全检查模块将本权限及安全检查模块的预设的安全标识,作为发送方标识携带于系统调用请求中,向内核发送。\n[0046] S104:内核接收到系统调用请求后,确定接收到的系统调用请求的发送方标识与预存的安全标识是否相一致,若一致,则执行步骤S105;若不一致,则执行步骤S106。\n[0047] 内核接收到系统调用请求后,确定接收到的系统调用请求的发送方标识与内核中预存的权限及安全检查模块的安全标识是否相一致,若一致,则执行步骤S105;若不一致,则执行步骤S106。\n[0048] S105:内核进行相应的系统调用。\n[0049] 内核在上述步骤S104中确定出系统调用请求的发送方标识与预存的权限及安全检查模块的安全标识相一致后,在本步骤中,执行接收的系统调用请求,进行相应的系统调用。\n[0050] S106:内核拒绝执行接收到的系统调用请求,并向发送该系统调用请求的应用返回拒绝访问消息。\n[0051] 内核在上述步骤S104中确定出系统调用请求的发送方标识与预存的权限及安全检查模块的安全标识不一致后,在本步骤中,拒绝执行接收到的系统调用请求,并向发送该系统调用请求的应用返回拒绝访问消息。\n[0052] 较佳地,内核通过传统的系统调用的返回路径,直接将拒绝访问消息向发送该系统调用请求的应用返回。拒绝访问消息携带有拒绝该系统调用请求对应的返回值,该返回值通常是整数(例如整数13),符合POSIX(Portable Operating System Interface,可移植操作系统接口)标准。\n[0053] 可以理解,对于仍然利用传统的Linux安全机制、直接向内核发送系统调用请求的应用,这些应用往往是病毒程序、木马程序或者恶意程序等非法应用、或者未经公司或有关部分允许由智能终端的使用者私自安装的应用,拒绝这些应用的系统调用请求,可以大大降低智能终端被侵入、泄露信息的几率,从而强制智能终端中的信息的安全性。\n[0054] 较佳地,本发明实施例提供了另一种应用的系统调用方法,该方法的流程示意图如图1b所示,包括如下步骤:\n[0055] S111:应用向权限及安全检查模块发送系统调用请求。\n[0056] 本步骤的具体方法与上述步骤S101中的具体方法一致,此处不再赘述。\n[0057] S112:权限及安全检查模块接收到应用的系统调用请求后,对系统调用请求进行权限检查;若权限检查通过,则执行步骤S113;若权限检查失败,则忽略接收的系统调用请求。\n[0058] 本步骤的具体方法与上述步骤S102中的具体方法一致,此处不再赘述。\n[0059] S113:将本权限及安全检查模块的预设的安全标识作为发送方标识携带于系统调用请求中向内核发送。\n[0060] 本步骤的具体方法与上述步骤S103中的具体方法一致,此处不再赘述。\n[0061] S114:内核接收到系统调用请求后,确定接收到的系统调用请求的发送方标识与预存的安全标识是否相一致,若一致,则执行步骤S115;若不一致,则执行步骤S117。\n[0062] 内核接收到系统调用请求后,确定接收到的系统调用请求的发送方标识与内核中预存的权限及安全检查模块的安全标识是否相一致,若一致,则执行步骤S115;若不一致,则执行步骤S117。\n[0063] S115:内核根据安全标识对权限及安全检查模块的相关信息进行合法性验证;若验证结果为合法,则执行步骤S116;若验证结果为不合法,则执行步骤S117。\n[0064] 较佳地,本发明实施例中的权限及安全检查模块中设置有其相关信息以及数字签名。权限及安全检查模块的相关信息可以是权限及安全检查模块的源代码(全部或部分源代码)、或者其他可以表明权限及安全检查模块的内容的信息。可以根据预定的算法,对权限及安全检查模块的相关信息进行计算得到的一个唯一性的摘要信息,根据预定的私钥对摘要信息进进行加密,得到数字签名。\n[0065] 内核中预存有预定的算法和与预定的私钥相对应的公钥。内核根据获取的权限及安全检查模块相关信息的数字签名,对获取的权限及安全检查模块相关信息进行合法性验证。\n[0066] 具体地,内核根据权限及安全检查模块的安全标识,从权限及安全检查模块中获取预设的权限及安全检查模块的相关信息及其数字签名;内核根据预存的预定的算法,计算出获取的权限及安全检查模块相关信息的摘要信息;内核根据预存的公钥,对数字签名进行解密得到摘要信息;确定计算出的摘要信息与解密出的摘要信息是否相一致;若是,则确定验证结果为合法,执行步骤S116;否则确定验证结果为不合法,执行步骤S117。\n[0067] 进一步,权限及安全检查模块中对应数字签名存储有预定的算法、以及与上述预定的私钥对应的公钥。\n[0068] 以及,内核根据权限及安全检查模块的安全标识,从权限及安全检查模块中获取预设的权限及安全检查模块的相关信息及其数字签名、以及公钥和算法;内核根据获取的算法,计算出获取的权限及安全检查模块相关信息的摘要信息;内核根据获取的公钥对数字签名进行解密得到摘要信息;确定计算出的摘要信息与解密出的摘要信息是否相一致;\n若是,则确定验证结果为合法,执行步骤S116;否则确定验证结果为不合法,执行步骤S117。\n[0069] 可以理解,对权限及安全检查模块的相关信息进行合法性验证,可以防止权限及安全检查模块被非法篡改,增强权限及安全检查模块的安全性,从而进一步从整体上增强本发明实施例的安全性。\n[0070] S116:内核进行相应的系统调用。\n[0071] 内核在上述步骤S115中确定出权限及安全检查模块的相关信息的合法性验证结果为合法后,在本步骤中,执行接收的系统调用请求,进行相应的系统调用。\n[0072] S117:内核拒绝执行接收到的系统调用请求,并向发送该系统调用请求的应用返回拒绝访问消息。\n[0073] 内核在上述步骤S114中确定出系统调用请求的发送方标识与预存的权限及安全检查模块的安全标识不一致后、或在上述步骤S115中确定出权限及安全检查模块的相关信息的合法性验证结果为不合法后,在本步骤中,拒绝执行接收到的系统调用请求,并向发送该系统调用请求的应用返回拒绝访问消息。\n[0074] 较佳地,内核通过传统的系统调用的返回路径,直接将拒绝访问消息向发送该系统调用请求的应用返回。拒绝访问消息携带有拒绝该系统调用请求对应的返回值,该返回值通常是整数(例如整数13),符合POSIX标准。\n[0075] 基于上述系统调用方法,本发明实施例中还提供了一种系统调用装置,该装置设置于本发明实施例的智能终端中,该装置的内部结构的框架示意图如图2所示,包括:权限及安全检查模块201和系统调用接口模块202设。\n[0076] 其中,权限及安全检查模块201设置于本发明实施例的智能终端中的应用层,用于接收到应用的系统调用请求后,对系统调用请求进行权限检查;权限检查通过后,将权限及安全检查模块201的预设的安全标识作为发送方标识携带于系统调用请求中向内核发送。\n[0077] 系统调用接口模块202设置于本发明实施例的智能终端中的内核,用于接收到系统调用请求后,若确定出接收到的系统调用请求的发送方标识与预存的权限及安全检查模块201的安全标识相一致,则进行相应的系统调用。\n[0078] 较佳地,系统调用接口模块202还用于若确定出接收到的系统调用请求的发送方标识与预存的安全标识不一致,则拒绝执行接收到的系统调用请求,并向发送该系统调用请求的应用返回拒绝访问消息。\n[0079] 具体地,权限及安全检查模块201用于根据定制的安全策略,对系统调用请求进行权限检查。\n[0080] 较佳地,系统调用接口模块202还用于在确定出接收到的系统调用请求的发送方标识与预存的安全标识相一致后,根据安全标识对权限及安全检查模块201的相关信息进行合法性验证;若验证结果为合法,则进行相应的系统调用;若验证结果为不合法,则拒绝执行接收到的系统调用请求,并向发送该系统调用请求的应用返回拒绝访问消息。\n[0081] 进一步,系统调用接口模块202具体用于根据权限及安全检查模块201的安全标识,获取预设的权限及安全检查模块201的相关信息及其数字签名;计算出获取的权限及安全检查模块201的相关信息的摘要信息,并解密出数字签名对应的摘要信息;确定计算出的摘要信息与解密出的摘要信息是否相一致;若是,则确定验证结果为合法;否则确定验证结果为不合法。\n[0082] 上述权限及安全检查模块201和系统调用接口模块202功能的实现方法,可以参考如上图1所示的流程步骤的具体内容,此处不再赘述。\n[0083] 本发明实施例中,对应用的系统调用请求的权限检查在内核之外的应用层中进行,并在系统调用请求中设置权限及安全检查模块的预设的安全标识供内核识别,这部分代码不属于开源代码不会被公开,大大增强了系统调用的安全性。\n[0084] 而且,本发明实施例中,现有的应用或者伪装成现有应用的非法应用直接向内核发送的系统调用请求,因没有携带安全检查模块的安全标识,都将被内核拒接执行;能够防止病毒、木马、恶意程序等非法应用利用现有的Linux的安全机制入侵,大大增强了系统调用的安全性。\n[0085] 进一步,本发明实施例中,可以方便地将为用户量身定制的安全策略设置到应用层中,使得权限及安全检查模块可以根据定制的安全策略更加灵活、更加个性化地对应用的调用请求进行权限检查,在保证系统调用安全性的基础上,可以满足各种用户不同的需求,提升用户体验。而且,与修改内核中的安全模块相比,代码修改量大大降低,兼容性更佳,适用面更广。\n[0086] 本技术领域技术人员可以理解,本发明包括涉及用于执行本申请中所述操作中的一项或多项的设备。这些设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备。这些设备具有存储在其内的计算机程序,这些计算机程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random Access Memory,随即存储器)、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。\n[0087] 本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。本技术领域技术人员可以理解,可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来实现,从而通过计算机或其他可编程数据处理方法的处理器来执行本发明公开的结构图和/或框图和/或流图的框或多个框中指定的方案。\n[0088] 本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。\n进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。\n[0089] 以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
法律信息
- 2021-02-12
专利权的转移
登记生效日: 2021.01.29
专利权人由北京元心科技有限公司变更为元心信息科技集团有限公司
地址由100176 北京市北京经济技术开发区科创十四街99号33幢D栋2222号变更为101300 北京市顺义区南彩镇彩祥东路16号17幢1层153室
- 2019-02-15
- 2017-01-04
实质审查的生效
IPC(主分类): G06F 21/52
专利申请号: 201610555203.6
申请日: 2016.07.14
- 2016-12-07
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-06-09
|
2008-10-10
| | |
2
| |
2012-10-17
|
2011-09-23
| | |
3
| |
2006-07-26
|
2005-09-30
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |