CN102930202A - 在Linux系统中执行操作的方法 - Google Patents
在Linux系统中执行操作的方法 Download PDFInfo
- Publication number
- CN102930202A CN102930202A CN2012104365320A CN201210436532A CN102930202A CN 102930202 A CN102930202 A CN 102930202A CN 2012104365320 A CN2012104365320 A CN 2012104365320A CN 201210436532 A CN201210436532 A CN 201210436532A CN 102930202 A CN102930202 A CN 102930202A
- Authority
- CN
- China
- Prior art keywords
- program file
- linux system
- executable operations
- white list
- linux
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种在Linux系统中执行操作的方法,包括:向Linux系统发送对程序文件执行操作的请求;Linux系统通过调用实现了Linux安全模块(LSM)的第一钩子函数,将程序文件的内容与白名单中的内容相比对;以及根据比对结果,判断是否对程序文件执行操作。通过本实施例所描述的执行程序文件的方法,通过内核态实现,可以有效地监控每一个可执行程序;通过白名单机制,简单可靠,避免了杀毒软件特征判断带来的误判。适用于服务器环境。对程序的整体影响小,只在程序初次加载时判断,可以避免频繁检测带来的性能损耗。
Description
技术领域
本发明基本上涉及服务器领域,更具体地来说,涉及一种在Linux系统中执行操作的方法。
背景技术
随着网络技术的发展,孤立节点计算逐步被网络计算所取代。智能手机等小型计算设备逐步融入网络之中,与外界发生频繁数据交换。这为计算机病毒的传播提供了条件。根据CERT/CC的报告,当前针对计算机的主要攻击方法中,木马和病毒占据了重要席位,对计算机用户构成最主要的安全威胁。
Linux操作系统通常是作为服务器操作系统使用,具有应用程序种类与变化较少的特点。本文为以此为前提,提出一种基于LSM(Linux Securitymodule)的可执行程序控制方法,能有有效地监测程序的执行,保护操作系统安全。
LSM是Linux内核的一个通用访问控制框架。它使得各种不同的安全访问控制模型能够以Linux可加载内核模块的形式实现。许多著名的访问控制系统已经移植到LSM下,包括POSIX.le Capability、SELinux等。目前LSM已经被正式纳入Linux 2.6系列内核中,成为实现Linux内核机制的接口标准。本方法以LSM的钩子函数(Hook函数)作为检查点,实施程序访问控制。
业内知名的Selinux功能众多同时配置复杂,超过了大多数服务器管理员的工作能力,在普通的服务器环境中极少采用。而POSIX.le Capability目前仅仅被继承在了SUSE操作系统中,并没有在整个Linux体系中采用。
发明内容
为了克服上述缺陷,本发明提出了一种在Linux系统中执行操作的方法,解决了如何在Linux系统中更安全地执行操作的技术问题。
本发明公开了一种在Linux系统中执行操作的方法,包括:步骤S1:向所述Linux系统发送对程序文件执行操作的请求;步骤S2:所述Linux系统通过调用实现了Linux安全模块(LSM)的第一钩子函数,将所述程序文件的内容与白名单中的内容相比对;以及步骤S3:根据比对结果,判断是否对所述程序文件执行所述操作。
优选地,所述步骤S2包括:将所述程序文件的内容与白名单中的内容相比对包括:将所述程序文件的哈希值与白名单中的哈希值相比对。
优选地,对程序文件执行操作包括:执行所述程序文件。
优选地,对程序文件执行操作包括:修改所述程序文件。
优选地,所述步骤S3包括:如果所述白名单中存在所述程序文件的哈希值,则执行所述程序文件。
优选地,所述步骤S3包括:如果所述白名单中不存在所述程序文件的哈希值,则修改所述程序文件。
优选地,在所述步骤S1之后和所述步骤S2之前,所述方法还包括:所述Linux系统加载所述程序文件。
优选地,在所述步骤S3之后,所述方法还包括:所述Linux系统通过调用实现了Linux安全模块(LSM)的第二钩子函数,来更新所述白名单。
优选地,所述步骤S3还包括:在所述程序文件的内核数据结构中生成标识,并且在所述步骤S3之后,所述方法还包括:步骤S4:再次向所述Linux系统发送执行所述程序文件的请求;以及步骤S5:如果在所述程序文件的内核数据结构中查找到所述标识,则执行所述程序文件。
优选地,所述方法还包括:通过程序注册与请求接口配置所述白名单。
通过本发明所描述的在Linux系统中执行操作的方法,使得系统运行更加安全可靠。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是根据本发明的在Linux系统中执行操作的方法的总体流程图;
图2是根据本发明的在Linux系统中执行操作的方法的一个优选实施例的具体流程图;
图3是根据本发明的在Linux系统中执行操作的方法的另一个优选实施例的具体流程图;
图4是根据本发明的在Linux系统中执行操作的方法的又一个优选实施例的具体流程图;
图5是实现本发明的在Linux系统中执行操作的方法的程序执行控制框架的示意图。
具体实施方式
下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1是根据本发明的在Linux系统中执行操作的方法的总体流程图。在图1中:
步骤S100:向Linux系统发送对程序文件执行操作的请求。
步骤S102:Linux系统通过调用实现了Linux安全模块(LSM)的第一钩子函数,将程序文件的内容与白名单中的内容相比对。
步骤S104:根据比对结果,判断是否对程序文件执行操作。
其中,对程序文件执行操作包括但不限于:执行程序文件和修改程序文件。
在步骤S100之后,步骤S102之前,本实施例还可以包括:Linux系统加载该程序文件。并且在步骤S104之后,本实施例还可以包括:Linux系统通过调用实现了Linux安全模块(LSM)的第二钩子函数,来更新白名单。优选地,该方法还包括:通过程序注册与请求接口配置白名单。
白名单中的程序文件为可以执行并且需要保护的文件,因此,只有当该白名单中存在该程序文件,该文件才是安全的,才可以执行。而只要该白名单中存在该程序文件,该文件就是需要保护的,就不能进行修改。
通过本实施例所描述的执行程序文件的方法,通过内核态实现,可以有效地监控每一个可执行程序;通过白名单机制,简单可靠,避免了杀毒软件特征判断带来的误判。适用于服务器环境。对程序的整体影响小,只在程序初次加载时判断,可以避免频繁检测带来的性能损耗。
图2是根据本发明的在Linux系统中执行操作的方法的一个优选实施例的具体流程图。在图2中示出了当需要执行程序文件时的具体流程图。在图2中:
步骤S200:向Linux系统发送执行程序文件的请求。
步骤S202:将程序文件的哈希值与白名单中的哈希值相比对。
步骤S204:如果白名单中存在程序文件的哈希值,则执行程序文件
换言之,本实施例通过哈希值判断所要执行的程序文件是否是白名单中允许执行的程序文件,如果该程序文件的哈希值存在于白名单中,则执行该程序文件,反之则不执行。
通过本实施例所描述的方法,通过内核态实现,可以有效地监控每一个可执行程序;通过白名单机制,简单可靠,避免了杀毒软件特征判断带来的误判。适用于服务器环境。对程序的整体影响小,只在程序初次加载时判断,可以避免频繁检测带来的性能损耗。
图3是根据本发明的在Linux系统中执行操作的方法的另一个优选实施例的具体流程图。
步骤S300:向Linux系统发送修改程序文件的请求。
步骤S302:将程序文件的哈希值与白名单中的哈希值相比对。
步骤S304:如果白名单中不存在程序文件的哈希值,则修改程序文件。
换言之,本实施例通过哈希值判断所要修改的程序文件是否是白名单中需要保护的程序文件,如果该程序文件的哈希值不存在于白名单中,则修改该程序文件,反之则不进行修改。
通过本实施例所描述的修改程序文件的方法,通过内核态实现,可以有效地监控每一个可执行程序;通过白名单机制,简单可靠,避免了杀毒软件特征判断带来的误判。适用于服务器环境。对程序的整体影响小,只在程序初次加载时判断,可以避免频繁检测带来的性能损耗。
图4是根据本发明的在Linux系统中执行操作的方法的又一个优选实施例的具体流程图。在图4中:
步骤S400:向Linux系统发送执行程序文件的请求。
步骤S402:Linux系统通过调用实现了Linux安全模块(LSM)的第一钩子函数,将程序文件的内容与白名单中的内容相比对。
步骤S404:如果白名单中存在程序文件的哈希值,则执行该程序文件,并且在程序文件的内核数据结构中生成标识。
步骤S406:再次向Linux系统发送执行该程序文件的请求。
步骤S408:如果在程序文件的内核数据结构中查找到该标识,则执行该程序文件。
通过本优选实施例,可以将通过了白名单校验的程序文件中生成标识,从而在下次再请求执行该程序文件时,就不用再次进行白名单校验而直接执行了。这样,除了上述效果之外,本优选实施例还能够简化校验过程,节省资源。
以下将通过几个实例来描述本发明。其中,图5是实现本发明的在Linux系统中执行操作的方法的程序执行控制框架的示意图。
本发明为可执行程序建立白名单,白名单的内容是可执行程序文件内容的哈希值。通过程序修改与执行时比对白名单,达到控制系统内可执行程序的目的。同时,为了避免可执行程序控制收到篡改,提高系统的可用性,也对程序的修改进行了控制。实现方式是在操作系统的内核态注册LSM(Linux Security module)的实现模块,该模块实现LSM(Linux Securitymodule)提供的与可执行程序加载、文件修改相关的钩子函数,在内核态程序文件的执行与修改过程进行控制。同时,在用户态提供了程序注册与删除的工具,便于管理原使用。在可执行程序加载时,读取程序内容进行校验,并与白名单进行比对,只有比对通过的程序才许可执行。并在程序文件的内核数据结构中予以标记。当程序再次执行时,检查标记即可。在修改文件时,对文件进行白名单比对,如果文件在白名单中,说明这是一个应受到的保护的程序文件,拒绝修改。仅有拥有特定角色的主体可以继续操作。操作完成后主动更新白名单。此外,本实例还提供了程序的注册与请求接口,可以灵活的配置白名单。
通过本实例,通过内核态实现,可以有效地监控每一个可执行程序;通过白名单机制,简单可靠,避免了杀毒软件特征判断带来的误判。适用于服务器环境。对程序的整体影响小,只在程序初次加载时判断,可以避免频繁检测带来的性能损耗。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种在Linux系统中执行操作的方法,其特征在于,包括:
步骤S1:向所述Linux系统发送对程序文件执行操作的请求;
步骤S2:所述Linux系统通过调用实现了Linux安全模块(LSM)的第一钩子函数,将所述程序文件的内容与白名单中的内容相比对;以及
步骤S3:根据比对结果,判断是否对所述程序文件执行所述操作。
2.根据权利要求1所述的在Linux系统中执行操作的方法,其特征在于,所述步骤S2包括:将所述程序文件的内容与白名单中的内容相比对包括:将所述程序文件的哈希值与白名单中的哈希值相比对。
3.根据权利要求2所述的在Linux系统中执行操作的方法,其特征在于,对程序文件执行操作包括:执行所述程序文件。
4.根据权利要求2所述的在Linux系统中执行操作的方法,其特征在于,对程序文件执行操作包括:修改所述程序文件。
5.根据权利要求3所述的在Linux系统中执行操作的方法,其特征在于,所述步骤S3包括:如果所述白名单中存在所述程序文件的哈希值,则执行所述程序文件。
6.根据权利要求4所述的在Linux系统中执行操作的方法,其特征在于,所述步骤S3包括:如果所述白名单中不存在所述程序文件的哈希值,则修改所述程序文件。
7.根据权利要求1所述的在Linux系统中执行操作的方法,其特征在于,在所述步骤S 1之后和所述步骤S2之前,所述方法还包括:所述Linux系统加载所述程序文件。
8.根据权利要求7所述的在Linux系统中执行操作的方法,其特征在于,在所述步骤S3之后,所述方法还包括:所述Linux系统通过调用实现了Linux安全模块(LSM)的第二钩子函数,来更新所述白名单。
9.根据权利要求5所述的在Linux系统中执行操作的方法,其特征在于,所述步骤S3还包括:在所述程序文件的内核数据结构中生成标识,并且在所述步骤S3之后,所述方法还包括:
步骤S4:再次向所述Linux系统发送执行所述程序文件的请求;以及
步骤S5:如果在所述程序文件的内核数据结构中查找到所述标识,则执行所述程序文件。
10.根据权利要求1-9中的任一项所述的在Linux系统中执行操作的方法,其特征在于,所述方法还包括:通过程序注册与请求接口配置所述白名单。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104365320A CN102930202A (zh) | 2012-11-05 | 2012-11-05 | 在Linux系统中执行操作的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104365320A CN102930202A (zh) | 2012-11-05 | 2012-11-05 | 在Linux系统中执行操作的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102930202A true CN102930202A (zh) | 2013-02-13 |
Family
ID=47644999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012104365320A Pending CN102930202A (zh) | 2012-11-05 | 2012-11-05 | 在Linux系统中执行操作的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102930202A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104933354A (zh) * | 2014-12-30 | 2015-09-23 | 国家电网公司 | 一种基于可信计算的白名单静态度量方法 |
CN105718789A (zh) * | 2016-01-25 | 2016-06-29 | 浪潮电子信息产业股份有限公司 | 一种aix系统下基于用户的程序执行控制的方法 |
CN105718790A (zh) * | 2016-01-26 | 2016-06-29 | 浪潮电子信息产业股份有限公司 | 一种unix系统下基于用户的程序执行控制方法 |
CN105740702A (zh) * | 2016-01-25 | 2016-07-06 | 浪潮电子信息产业股份有限公司 | 一种linux系统下基于用户的程序执行控制的方法 |
CN105740696A (zh) * | 2016-01-26 | 2016-07-06 | 浪潮电子信息产业股份有限公司 | 一种Solaris系统下基于用户的程序执行控制方法 |
CN105893838A (zh) * | 2016-05-11 | 2016-08-24 | 北京鼎源科技有限公司 | 一种针对安卓操作系统关键驱动程序的加固方法 |
CN106096458A (zh) * | 2016-05-31 | 2016-11-09 | 浪潮电子信息产业股份有限公司 | 一种保护系统安全的方法及装置 |
CN106295355A (zh) * | 2016-08-11 | 2017-01-04 | 南京航空航天大学 | 一种面向Linux服务器的主动安全保障方法 |
CN106778235A (zh) * | 2016-11-24 | 2017-05-31 | 北京瑞星信息技术股份有限公司 | Linux文件操作控制方法及装置 |
WO2018049977A1 (zh) * | 2016-09-14 | 2018-03-22 | 中兴通讯股份有限公司 | 保障系统安全的方法及装置 |
CN111291355A (zh) * | 2020-02-24 | 2020-06-16 | 广西电网有限责任公司防城港供电局 | 变电站系统 |
CN111309978A (zh) * | 2020-02-24 | 2020-06-19 | 广西电网有限责任公司防城港供电局 | 变电站系统安全防护方法、装置、计算机设备和存储介质 |
CN112165426A (zh) * | 2020-10-15 | 2021-01-01 | 北京明朝万达科技股份有限公司 | 一种基于Linux系统的文件发送方法、装置和系统 |
CN112487413A (zh) * | 2020-12-11 | 2021-03-12 | 北京中软华泰信息技术有限责任公司 | 一种基于Linux白名单程序控制系统及方法 |
CN114117417A (zh) * | 2021-10-29 | 2022-03-01 | 航天信息股份有限公司 | 一种程序保护方法及系统 |
CN114818012A (zh) * | 2022-06-29 | 2022-07-29 | 麒麟软件有限公司 | 基于白名单列表的Linux文件完整性度量方法 |
CN116561811A (zh) * | 2023-07-11 | 2023-08-08 | 北京智芯微电子科技有限公司 | 文件可信防篡改方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1648869A (zh) * | 2004-01-19 | 2005-08-03 | 中国人民解放军理工大学 | 基于lsm的程序行为控制方法 |
US20050229164A1 (en) * | 2002-07-18 | 2005-10-13 | Nicolas Giraud | Method to secure the execution of a program against attacks by radiation or other |
CN101924761A (zh) * | 2010-08-18 | 2010-12-22 | 奇智软件(北京)有限公司 | 一种依据白名单进行恶意程序检测的方法 |
CN101997912A (zh) * | 2010-10-27 | 2011-03-30 | 苏州凌霄科技有限公司 | 基于Android平台的强制访问控制装置及控制方法 |
CN102222194A (zh) * | 2011-07-14 | 2011-10-19 | 哈尔滨工业大学 | Linux主机计算环境安全保护的模块及方法 |
-
2012
- 2012-11-05 CN CN2012104365320A patent/CN102930202A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050229164A1 (en) * | 2002-07-18 | 2005-10-13 | Nicolas Giraud | Method to secure the execution of a program against attacks by radiation or other |
CN1648869A (zh) * | 2004-01-19 | 2005-08-03 | 中国人民解放军理工大学 | 基于lsm的程序行为控制方法 |
CN101924761A (zh) * | 2010-08-18 | 2010-12-22 | 奇智软件(北京)有限公司 | 一种依据白名单进行恶意程序检测的方法 |
CN101997912A (zh) * | 2010-10-27 | 2011-03-30 | 苏州凌霄科技有限公司 | 基于Android平台的强制访问控制装置及控制方法 |
CN102222194A (zh) * | 2011-07-14 | 2011-10-19 | 哈尔滨工业大学 | Linux主机计算环境安全保护的模块及方法 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104933354A (zh) * | 2014-12-30 | 2015-09-23 | 国家电网公司 | 一种基于可信计算的白名单静态度量方法 |
CN105718789A (zh) * | 2016-01-25 | 2016-06-29 | 浪潮电子信息产业股份有限公司 | 一种aix系统下基于用户的程序执行控制的方法 |
CN105740702A (zh) * | 2016-01-25 | 2016-07-06 | 浪潮电子信息产业股份有限公司 | 一种linux系统下基于用户的程序执行控制的方法 |
CN105718790A (zh) * | 2016-01-26 | 2016-06-29 | 浪潮电子信息产业股份有限公司 | 一种unix系统下基于用户的程序执行控制方法 |
CN105740696A (zh) * | 2016-01-26 | 2016-07-06 | 浪潮电子信息产业股份有限公司 | 一种Solaris系统下基于用户的程序执行控制方法 |
CN105893838A (zh) * | 2016-05-11 | 2016-08-24 | 北京鼎源科技有限公司 | 一种针对安卓操作系统关键驱动程序的加固方法 |
CN106096458A (zh) * | 2016-05-31 | 2016-11-09 | 浪潮电子信息产业股份有限公司 | 一种保护系统安全的方法及装置 |
CN106295355B (zh) * | 2016-08-11 | 2019-02-26 | 南京航空航天大学 | 一种面向Linux服务器的主动安全保障方法 |
CN106295355A (zh) * | 2016-08-11 | 2017-01-04 | 南京航空航天大学 | 一种面向Linux服务器的主动安全保障方法 |
WO2018049977A1 (zh) * | 2016-09-14 | 2018-03-22 | 中兴通讯股份有限公司 | 保障系统安全的方法及装置 |
CN106778235A (zh) * | 2016-11-24 | 2017-05-31 | 北京瑞星信息技术股份有限公司 | Linux文件操作控制方法及装置 |
CN106778235B (zh) * | 2016-11-24 | 2020-02-14 | 北京瑞星网安技术股份有限公司 | Linux文件操作控制方法及装置 |
CN111291355A (zh) * | 2020-02-24 | 2020-06-16 | 广西电网有限责任公司防城港供电局 | 变电站系统 |
CN111309978A (zh) * | 2020-02-24 | 2020-06-19 | 广西电网有限责任公司防城港供电局 | 变电站系统安全防护方法、装置、计算机设备和存储介质 |
CN112165426A (zh) * | 2020-10-15 | 2021-01-01 | 北京明朝万达科技股份有限公司 | 一种基于Linux系统的文件发送方法、装置和系统 |
CN112487413A (zh) * | 2020-12-11 | 2021-03-12 | 北京中软华泰信息技术有限责任公司 | 一种基于Linux白名单程序控制系统及方法 |
CN114117417A (zh) * | 2021-10-29 | 2022-03-01 | 航天信息股份有限公司 | 一种程序保护方法及系统 |
CN114818012A (zh) * | 2022-06-29 | 2022-07-29 | 麒麟软件有限公司 | 基于白名单列表的Linux文件完整性度量方法 |
CN116561811A (zh) * | 2023-07-11 | 2023-08-08 | 北京智芯微电子科技有限公司 | 文件可信防篡改方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102930202A (zh) | 在Linux系统中执行操作的方法 | |
US9465652B1 (en) | Hardware-based mechanisms for updating computer systems | |
CN107704314B (zh) | 用于迁移虚拟机的方法和装置 | |
CN101515316B (zh) | 一种可信计算终端及可信计算方法 | |
US8863157B2 (en) | Method, device, and mobile terminal for API interception | |
US11544137B2 (en) | Data processing platform monitoring | |
EP2790122B1 (en) | System and method for correcting antivirus records to minimize false malware detections | |
CN111159691B (zh) | 一种应用程序动态可信验证方法及系统 | |
KR20160132856A (ko) | 사용자 모드 크래시 리포트를 위한 프레임워크 | |
CN100492300C (zh) | 在微处理器实现的设备上执行进程的系统和方法 | |
WO2019072008A1 (zh) | 小程序的安全扫描方法、装置以及电子设备 | |
CN107580703B (zh) | 用于软件模块的迁移服务方法和模块 | |
US20150293800A1 (en) | Robust hardware fault management system, method and framework for enterprise devices | |
US20150220411A1 (en) | System and method for operating system agnostic hardware validation | |
CN104750534A (zh) | 触发虚拟机自省的方法、装置及系统 | |
TW201816650A (zh) | 用以偵測未經授權之記憶體存取的計算裝置、方法及機器可讀儲存媒體(二) | |
CN111919198A (zh) | 内核函数回调的方法和系统 | |
US20130311425A1 (en) | Database update notification method | |
CN110851188A (zh) | 一种基于双体架构的国产plc可信链实现装置及方法 | |
CN110998535A (zh) | 经由对应用操作请求的分析来恢复应用功能 | |
CN113791867B (zh) | 调整kvm虚拟机服务进程优先级的方法及应用 | |
CN106295371B (zh) | 应用运行方法、文件加固方法和装置 | |
US20200244461A1 (en) | Data Processing Method and Apparatus | |
CN111090442A (zh) | 一种应用更新方法、装置和存储介质 | |
US20140026183A1 (en) | Information processing device and computer program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130213 |