CN111209015A - 一种基于文件过滤驱动实现安装跟踪的方法 - Google Patents

一种基于文件过滤驱动实现安装跟踪的方法 Download PDF

Info

Publication number
CN111209015A
CN111209015A CN201911017876.6A CN201911017876A CN111209015A CN 111209015 A CN111209015 A CN 111209015A CN 201911017876 A CN201911017876 A CN 201911017876A CN 111209015 A CN111209015 A CN 111209015A
Authority
CN
China
Prior art keywords
installation package
file
installation
node
tree
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.)
Granted
Application number
CN201911017876.6A
Other languages
English (en)
Other versions
CN111209015B (zh
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.)
Zhongkong Technology Co ltd
Original Assignee
Zhejiang Supcon 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 Zhejiang Supcon Technology Co Ltd filed Critical Zhejiang Supcon Technology Co Ltd
Priority to CN201911017876.6A priority Critical patent/CN111209015B/zh
Publication of CN111209015A publication Critical patent/CN111209015A/zh
Application granted granted Critical
Publication of CN111209015B publication Critical patent/CN111209015B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于文件过滤驱动实现安装跟踪的方法,方法包括以下步骤:S1:应用程序将安装包路径传给文件过滤驱动;S2:文件过滤驱动执行安装包,并对执行的程序进行判断,阻止不是安装包并且不在白名单中的程序进入运行状态;S3:将安装包释放或执行的进程和文件加入到安装包树中,对每一个释放的子节点进行判断,允许父节点在安装包树中的子节点进入运行状态;S4:安装结束后,将安装包树中的进程和文件加入到白名单中。本发明提供一种在安装包进行安装时能对主机提供安全防护的基于文件过滤驱动实现安装跟踪的方法。

Description

一种基于文件过滤驱动实现安装跟踪的方法
技术领域
本发明涉及计算机安全防护领域,尤其是涉及一种基于文件过滤驱动实现安装跟踪的方法。
背景技术
目前在工控安全领域,常用白名单技术来阻止主机上的恶意软件运行和传播,即在白名单中的程序可以运行,否则阻止运行。通常做法是保证主机安全的情况下全盘扫描后生成一份白名单,这样就对主机进行了“固化”,只允许已有的程序运行。但是这样在主机需要安装新软件或更新旧软件时,就会遇到问题。对于这种情况一般是先停止白名单防护(否则安装包及释放的新文件会被拦截),再安装软件,然后有两种方法:一种是对于简单的安装包,已知释放的文件,再安装完将这些文件加入白名单;另一种是安装完成后对主机再次进行全盘扫描,生成新的白名单。首先停止白名单防护就是一种不安全的行为,期间无法阻止恶意软件的运行和传播。另外上文所述的两种方法,第一种不具普遍性,安装包一般比较复杂,会释放很多文件,释放的路径也不固定;第二种方法由于是全盘扫描,则有把恶意软件加入白名单的风险。
中国专利授权公告号CN106503541B,公告日2019年07月26日,发明创造的名称为一种安装包的安装方法及系统,该申请案通过对安装包中嵌入的子安装包的检测和拦截来维护系统安全和节约系统内存。所述方法包括:接收安装包的安装指令,检测所述安装包是否在系统预设的安装白名单中;在所述安装包在系统预设的安装白名单中时,对所述安装包进行解压,并检测解压后的所述安装包的安装文件中是否存在子安装包;在解压后的所述安装包的安装文件中存在子安装包时,检测所述子安装包是否在系统预设的安装白名单中;在所述子安装包不在系统预设的安装白名单中时,拒绝安装所述子安装包。这样操作不能保证在进行安装包的安装时系统的安全,在安装包进行安装时,因为要先停止白名单运行,然后要么获知释放的文件,在安装完后将这些文件加入白名单,这样对于复杂安装包不容易实现;要么安装完成后对主机再次进行全盘扫描,生成新的白名单。先停止白名单防护就是一种不安全的行为,期间无法阻止恶意软件的运行和传播。另外上文所述的两种方法,第一种不具普遍性,安装包一般比较复杂,会释放很多文件,释放的路径也不固定;第二种方法由于是全盘扫描,则有把恶意软件加入白名单的风险。
发明内容
本发明是为了克服现有技术的在安装包进行安装时不能对主机提供安全防护的问题,提供一种在安装包进行安装时能对主机提供安全防护的基于文件过滤驱动实现安装跟踪的方法。
为了实现上述目的,本发明采用以下技术方案:
本发明解决其技术问题所采用的技术方案是:一种基于文件过滤驱动实现安装跟踪的方法,方法包括以下步骤:
S1:应用程序将安装包路径传给文件过滤驱动;
S2:文件过滤驱动执行安装包,并对执行的程序进行判断,阻止不是安装包并且不在白名单中的程序进入运行状态;
S3:将安装包释放或执行的进程和文件加入到安装包树中,对每一个释放的子节点进行判断,允许父节点在安装包树中的子节点进入运行状态;
S4:安装结束后,将安装包树中的进程和文件加入到白名单中。在安装包进行安装时对主机提供安全防护,在需要安装安装包时,不停止白名单的运行,同时授权安装包释放文件或进程并允许释放的文件或进程进入运行状态,并把白名单更新,以允许安装后的程序能够运行。
作为优选,所述步骤S1中应用程序运行在用户态,文件驱动运行在内核态。操作系统分为两种运行级别,用户态和内核态。用户程序都运行在用户态,级别低;操作系统、设备驱动等运行在内核态,级别高,分在两种状态运行使得白名单具有更高的优先级,能对用户程序进行控制,而文件过滤驱动拥有比白名单更高的优先级,所以可以执行白名单不允许的操作。
作为优选,所述步骤S2对执行的程序进行判断的过程为:对执行的程序进行判断,若执行的程序在白名单中,则允许执行,若执行的程序是安装包,则允许执行,若执行程序不是安装包并且不在白名单中,则不允许执行。因为白名单没有停止运行,所以会阻止不在白名单内的程序的运行,如要运行安装包就要先进行判断,确定是安装包后再授权让安装包运行,这样就可以让安装包进入到运行状态。
作为优选,所述步骤S3过程为:将安装包的运行的进程号作为安装包树的根节点,把安装包释放的进程和文件加入到安装包树中,在任意一个安装包树中的节点释放子节点时,对子节点进行判断,若子节点的父节点在安装包树中,则允许执行子节点,若子节点在白名单中,则允许执行子节点,若字节点的父节点不在安装包树中并且也不在白名单中,则阻止执行子节点。安装包在进行安装时会释放很多文件和进程,在白名单开启时,不在白名单中的安装包释放的文件或进程就会被阻止运行,将安装包释放的进程或文件加入到安装包树中,并允许安装包树中的节点进入到运行状态,就可以使得安装包释放的文件或进程不会被白名单阻止运行,从而使得安装包的安装顺利进行。
作为优选,所述子节点为安装包树中的节点释放的文件或进程。将安装包树中的节点释放的文件或进程加入到安装包树中,就可以得知安装包释放的所有文件和进程,允许这些文件和进程运行,就可以使得安装包的安装不受白名单的阻止。
作为优选,所述把安装包释放的进程和文件加入到安装包树中的过程为:实时检测安装包树的节点有无释放进程或文件,任一个节点在释放进程或文件后,将被释放的文件或者进程加入到安装包树中,将被释放的文件或者进程作为释放该文件或者进程的节点的子节点。将一个节点释放的文件和进程作为该节点的子节点,这些子节点释放的文件或进程再作为该子节点的子节点,这样一级级的释放出来的文件或进程都会在安装包树中,这样就可以追踪到所有的安装包释放的文件和进程。
作为优选,所述步骤S4过程为:安装包安装完成后将安装包树中所有的节点加入到白名单中。安装包树中所有节点是安装包释放的所有的进程和文件,这样就是把安装包释放的所有进程和文件加入到白名单中。
因此,本发明具有如下有益效果:(1)用户程序都运行在用户态,级别低;操作系统、设备驱动等运行在内核态,级别高,分在两种状态运行使得白名单具有更高的优先级,能对用户程序进行控制;
(2)在白名单没有停止运行时,会阻止不在白名单内的程序的运行,如要运行安装包就要先进行判断,确定是安装包后再授权让安装包运行,这样就可以让安装包在白名单运行时进入到运行状态;
(3)将一个节点释放的文件和进程作为该节点的子节点,这些子节点释放的文件或进程再作为该子节点的子节点,这样一级级的释放出来的文件或进程都会在安装包树中,这样就可以追踪到所有的安装包释放的文件和进程;
(4)安装包在进行安装时会释放很多文件和进程,在白名单开启时,不在白名单中的安装包释放的文件或进程就会被阻止运行,将安装包释放的进程或文件加入到安装包树中,并允许安装包树中的节点进入到运行状态,就可以使得安装包释放的文件或进程不会被白名单阻止运行,从而使得安装包的安装顺利进行。
附图说明
图1是本发明的一种流程图
图2是本发明的一种安装包树拓扑图。
具体实施方式
下面结合附图与具体实施方式对本发明做进一步的描述。
实施例:一种基于文件过滤驱动实现安装跟踪的方法,本发明在安装包进行安装时对主机提供安全防护,在需要安装安装包时,不停止白名单的运行,同时授权安装包释放文件或进程并允许释放的文件或进程进入运行状态,并把白名单更新,以允许安装后的程序能够运行。方法包括以下步骤:
S1:应用程序将安装包路径传给文件过滤驱动,应用程序运行在用户态,文件驱动运行在内核态;
操作系统分为两种运行级别,用户态和内核态。用户程序都运行在用户态,级别低;操作系统、设备驱动等运行在内核态,级别高,分在两种状态运行使得白名单具有更高的优先级,能对用户程序进行控制,而文件过滤驱动拥有比白名单更高的优先级,所以可以执行白名单不允许的操作。
S2:文件过滤驱动执行安装包,并对执行的程序进行判断,对执行的程序进行判断的过程为:对执行的程序进行判断,若执行的程序在白名单中,则允许执行,若执行的程序是安装包,则允许执行,若执行程序不是安装包并且不在白名单中,则不允许执行;
因为白名单没有停止运行,所以会阻止不在白名单内的程序的运行,如要运行安装包就要先进行判断,确定是安装包后再授权让安装包运行,这样就可以让安装包进入到运行状态。
S3:将安装包的运行的进程号作为安装包树的根节点,把安装包释放的进程和文件加入到安装包树中,把安装包释放的进程和文件加入到安装包树中的过程为:实时检测安装包树的节点有无释放进程或文件,任一个节点在释放进程或文件后,将被释放的文件或者进程加入到安装包树中,将被释放的文件或者进程作为释放该文件或者进程的节点的子节点。在任意一个安装包树中的节点释放子节点时,对子节点进行判断,若子节点的父节点在安装包树中,则允许执行子节点,若子节点在白名单中,则允许执行子节点,若字节点的父节点不在安装包树中并且也不在白名单中,则阻止执行子节点,子节点为安装包树中的节点释放的文件或进程;
安装包在进行安装时会释放很多文件和进程,在白名单开启时,不在白名单中的安装包释放的文件或进程就会被阻止运行,将安装包释放的进程或文件加入到安装包树中,并允许安装包树中的节点进入到运行状态,就可以使得安装包释放的文件或进程不会被白名单阻止运行,从而使得安装包的安装顺利进行。将安装包树中的节点释放的文件或进程加入到安装包树中,就可以得知安装包释放的所有文件和进程,允许这些文件和进程运行,就可以使得安装包的安装不受白名单的阻止。将一个节点释放的文件和进程作为该节点的子节点,这些子节点释放的文件或进程再作为该子节点的子节点,这样一级级的释放出来的文件或进程都会在安装包树中,这样就可以追踪到所有的安装包释放的文件和进程。
S4:安装包安装完成后将安装包树中所有的节点加入到白名单中。
安装包树中所有节点是安装包释放的所有的进程和文件,这样就是把安装包释放的所有进程和文件加入到白名单中。
下面结合具体实例对本发明做进一步解释,
S1:如图1所示,应用程序将安装包路径传给文件过滤驱动,应用程序运行在用户态,文件驱动运行在内核态;
S2:文件过滤驱动执行安装包,对待执行的程序进行判断,判断结果是:执行的程序是安装包,允许待执行的程序执行。若执行的程序在白名单中,也允许执行,若执行程序不是安装包并且不在白名单中,则不允许执行;
S3:如图2所示:将安装包的运行的进程号PID0作为安装包树的根节点,把安装包释放的进程和文件加入到安装包树中,实时检测安装包树的节点有无释放进程或文件,检测到PID0释放进程PID1和PID2,把PID1和PID2加入到安装包树中,把PID1和PID2作为PID0的子节点,PID1检测到释放进程PID3,把PID3加入到安装包树中,把PID3作为PID1的子节点,检测到PID3释放文件x3.ocx和文件x4.sys,把文件x3.ocx和文件x4.sys加入到安装包树中,并把文件x3.ocx和文件x4.sys作为PID3的子节点,检测到PID2释放文件x1.dll和文件x2.exe,把文件x1.dll和文件x2.exe加入到安装包树中,并把文件文件x1.dll和文件x2.exe作为PID2的子节点。
PID1、 PID2 、PID3和 PID4释放子节点时,对子节点进行判断,PID1、 PID2 、PID3和 PID4的子节点的父节点都在安装包树中,则允许执行子节点,子节点为安装包树中的节点释放的文件或进程;
S4:安装包安装完成后,将PID1、 PID2 、PID3、 PID4、x1.dll、x2.exe、x3.ocx和x4.sys加入到白名单中。

Claims (7)

1.一种基于文件过滤驱动实现安装跟踪的方法,其特征是方法包括以下步骤:
S1:应用程序将安装包路径传给文件过滤驱动;
S2:文件过滤驱动执行安装包,并对执行的程序进行判断,阻止不是安装包并且不在白名单中的程序进入运行状态;
S3:将安装包释放或执行的进程和文件加入到安装包树中,对每一个释放的子节点进行判断,允许父节点在安装包树中的子节点进入运行状态;
S4:安装结束后,将安装包树中的进程和文件加入到白名单中。
2.根据权利要求1所述的一种基于文件过滤驱动实现安装跟踪的方法,其特征是步骤S1中应用程序运行在用户态,文件驱动运行在内核态。
3.根据权利要求1所述的一种基于文件过滤驱动实现安装跟踪的方法,其特征是步骤S2对执行的程序进行判断的过程为:对执行的程序进行判断,若执行的程序在白名单中,则允许执行,若执行的程序是安装包,则允许执行,若执行程序不是安装包并且不在白名单中,则不允许执行。
4.根据权利要求1所述的一种基于文件过滤驱动实现安装跟踪的方法,其特征是步骤S3过程为:将安装包的运行的进程号作为安装包树的根节点,把安装包释放的进程和文件加入到安装包树中,在任意一个安装包树中的节点释放子节点时,对子节点进行判断,若子节点的父节点在安装包树中,则允许执行子节点,若子节点在白名单中,则允许执行子节点,若字节点的父节点不在安装包树中并且也不在白名单中,则阻止执行子节点。
5.根据权利要求1或4所述的一种基于文件过滤驱动实现安装跟踪的方法,其特征是子节点为安装包树中的节点释放的文件或进程。
6.根据权利要求4所述的一种基于文件过滤驱动实现安装跟踪的方法,其特征是把安装包释放的进程和文件加入到安装包树中的过程为:实时检测安装包树的节点有无释放进程或文件,任一个节点在释放进程或文件后,将被释放的文件或者进程加入到安装包树中,将被释放的文件或者进程作为释放该文件或者进程的节点的子节点。
7.根据权利要求1或2或3或4所述的一种基于文件过滤驱动实现安装跟踪的方法,其特征是步骤S4过程为:安装包安装完成后将安装包树中所有的节点加入到白名单中。
CN201911017876.6A 2019-10-24 2019-10-24 一种基于文件过滤驱动实现安装跟踪的方法 Active CN111209015B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911017876.6A CN111209015B (zh) 2019-10-24 2019-10-24 一种基于文件过滤驱动实现安装跟踪的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911017876.6A CN111209015B (zh) 2019-10-24 2019-10-24 一种基于文件过滤驱动实现安装跟踪的方法

Publications (2)

Publication Number Publication Date
CN111209015A true CN111209015A (zh) 2020-05-29
CN111209015B CN111209015B (zh) 2023-10-03

Family

ID=70788131

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911017876.6A Active CN111209015B (zh) 2019-10-24 2019-10-24 一种基于文件过滤驱动实现安装跟踪的方法

Country Status (1)

Country Link
CN (1) CN111209015B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101866296A (zh) * 2010-06-30 2010-10-20 福建升腾资讯有限公司 基于Windows文件系统的安装包静默化方法及静默化工具
US8578345B1 (en) * 2010-04-15 2013-11-05 Symantec Corporation Malware detection efficacy by identifying installation and uninstallation scenarios
CN106203073A (zh) * 2016-07-13 2016-12-07 浪潮电子信息产业股份有限公司 一种基于文件系统过滤驱动的Windows白名单控制方法
CN109145532A (zh) * 2018-08-20 2019-01-04 北京广成同泰科技有限公司 一种支持软件在线升级的程序白名单管理方法及系统
CN109766112A (zh) * 2018-12-29 2019-05-17 北京威努特技术有限公司 一种程序白名单知识库更新的方法及装置
US20190171826A1 (en) * 2016-09-22 2019-06-06 Withnetworks Co., Ltd. Apparatus and method for blocking ransome ware using access control to the contents file

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8578345B1 (en) * 2010-04-15 2013-11-05 Symantec Corporation Malware detection efficacy by identifying installation and uninstallation scenarios
CN101866296A (zh) * 2010-06-30 2010-10-20 福建升腾资讯有限公司 基于Windows文件系统的安装包静默化方法及静默化工具
CN106203073A (zh) * 2016-07-13 2016-12-07 浪潮电子信息产业股份有限公司 一种基于文件系统过滤驱动的Windows白名单控制方法
US20190171826A1 (en) * 2016-09-22 2019-06-06 Withnetworks Co., Ltd. Apparatus and method for blocking ransome ware using access control to the contents file
CN109145532A (zh) * 2018-08-20 2019-01-04 北京广成同泰科技有限公司 一种支持软件在线升级的程序白名单管理方法及系统
CN109766112A (zh) * 2018-12-29 2019-05-17 北京威努特技术有限公司 一种程序白名单知识库更新的方法及装置

Also Published As

Publication number Publication date
CN111209015B (zh) 2023-10-03

Similar Documents

Publication Publication Date Title
KR101498614B1 (ko) 악성코드 활동 차단 장치 및 방법
AU2006210698B2 (en) Intrusion detection for computer programs
EP3502944B1 (en) Detecting script-based malware cross reference to related applications
CN100492300C (zh) 在微处理器实现的设备上执行进程的系统和方法
CN103530563A (zh) 用于更新经授权软件的系统和方法
CN102855430A (zh) 基于Windows系统的进程黑白名单控制方法
CN102147845A (zh) 进程监控方法
CN104933354A (zh) 一种基于可信计算的白名单静态度量方法
CN103379481A (zh) 一种实现安全防护的方法及一种防火墙
CN102156834B (zh) 实现进程防杀的方法
US20100313209A1 (en) System and method for preventing drm client crash using process separate execution
CN106020905A (zh) 一种微控制器固件开发与更新的方法及系统
CN110245033A (zh) 车辆控制系统和车辆控制方法
US8997074B1 (en) Dynamic linking library (DLL) replacement in an embedded operating system environment
US7694296B1 (en) Preventing unauthorized installs and uninstalls of software modules
CN111209015B (zh) 一种基于文件过滤驱动实现安装跟踪的方法
JP5841271B2 (ja) 安全性に関連したおよび安全性に関連していないソフトウェア・コンポーネントを1つのハードウェア・プラットフォーム上で実行する方法
WO2004059426A2 (en) System and method for using native code interpretation to move threads to a safe state in a run-time environment
CA3101507C (en) Systems and methods for managing and securing computer systems
US20190102541A1 (en) Apparatus and method for defending against unauthorized modification of programs
CN106022105B (zh) 一种指令处理方法及装置
KR101207434B1 (ko) 이종의 디지털 문서 보호 시스템 간의 충돌 방지 시스템 및 방법
CN103747336A (zh) 在恢复模式下保证系统稳定性的方法及装置
CN108399330B (zh) 监控可编程逻辑控制器的执行系统的系统和方法
EP1934706A4 (en) ARCHITECTURE OF MODULAR AGENTS

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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 309 Liuhe Road, Binjiang District, Hangzhou, Zhejiang 310000

Patentee after: Zhongkong Technology Co.,Ltd.

Country or region after: China

Address before: 309 Liuhe Road, Binjiang District, Hangzhou, Zhejiang 310000

Patentee before: ZHEJIANG SUPCON TECHNOLOGY Co.,Ltd.

Country or region before: China