CN102930202A - 在Linux***中执行操作的方法 - Google Patents

在Linux***中执行操作的方法 Download PDF

Info

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
Application number
CN2012104365320A
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.)
Dawning Information Industry Beijing Co Ltd
Original Assignee
Dawning Information Industry Beijing 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 Dawning Information Industry Beijing Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN2012104365320A priority Critical patent/CN102930202A/zh
Publication of CN102930202A publication Critical patent/CN102930202A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种在Linux***中执行操作的方法,包括:向Linux***发送对程序文件执行操作的请求;Linux***通过调用实现了Linux安全模块(LSM)的第一钩子函数,将程序文件的内容与白名单中的内容相比对;以及根据比对结果,判断是否对程序文件执行操作。通过本实施例所描述的执行程序文件的方法,通过内核态实现,可以有效地监控每一个可执行程序;通过白名单机制,简单可靠,避免了杀毒软件特征判断带来的误判。适用于服务器环境。对程序的整体影响小,只在程序初次加载时判断,可以避免频繁检测带来的性能损耗。

Description

在Linux***中执行操作的方法
技术领域
本发明基本上涉及服务器领域,更具体地来说,涉及一种在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***中执行操作的方法,其特征在于,所述方法还包括:通过程序注册与请求接口配置所述白名单。
CN2012104365320A 2012-11-05 2012-11-05 在Linux***中执行操作的方法 Pending CN102930202A (zh)

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 (16)

* Cited by examiner, † Cited by third party
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白名单程序控制***及方法
CN114818012A (zh) * 2022-06-29 2022-07-29 麒麟软件有限公司 基于白名单列表的Linux文件完整性度量方法
CN116561811A (zh) * 2023-07-11 2023-08-08 北京智芯微电子科技有限公司 文件可信防篡改方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
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主机计算环境安全保护的模块及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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 (18)

* Cited by examiner, † Cited by third party
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白名单程序控制***及方法
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
CN101515316B (zh) 一种可信计算终端及可信计算方法
US8863157B2 (en) Method, device, and mobile terminal for API interception
US11544137B2 (en) Data processing platform monitoring
CN107704314B (zh) 用于迁移虚拟机的方法和装置
KR20160132856A (ko) 사용자 모드 크래시 리포트를 위한 프레임워크
CN100492300C (zh) 在微处理器实现的设备上执行进程的***和方法
WO2019072008A1 (zh) 小程序的安全扫描方法、装置以及电子设备
CN107580703B (zh) 用于软件模块的迁移服务方法和模块
US20150220411A1 (en) System and method for operating system agnostic hardware validation
CN104750534A (zh) 触发虚拟机自省的方法、装置及***
TW201816650A (zh) 用以偵測未經授權之記憶體存取的計算裝置、方法及機器可讀儲存媒體(二)
CN111159691A (zh) 一种应用程序动态可信验证方法及***
CN108388793B (zh) 一种基于主动防御的虚拟机逃逸防护方法
CN111919198A (zh) 内核函数回调的方法和***
US20130311425A1 (en) Database update notification method
CN113791867B (zh) 调整kvm虚拟机服务进程优先级的方法及应用
CN111090442B (zh) 一种应用更新方法、装置和存储介质
US20140026183A1 (en) Information processing device and computer program product
CN115576626A (zh) 一种usb设备安全挂载和卸载的方法、设备和存储介质
US9454381B2 (en) Method for controlling registration of input device in input handler instance, terminal and storage device
CN105787359A (zh) 进程守护方法和装置
US10613901B1 (en) Context-aware resource allocation
US20150154510A1 (en) Electronic device

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