CN112115426A - 一种基于Windows操作系统中运行可执行文件的审计方法 - Google Patents

一种基于Windows操作系统中运行可执行文件的审计方法 Download PDF

Info

Publication number
CN112115426A
CN112115426A CN201910480246.6A CN201910480246A CN112115426A CN 112115426 A CN112115426 A CN 112115426A CN 201910480246 A CN201910480246 A CN 201910480246A CN 112115426 A CN112115426 A CN 112115426A
Authority
CN
China
Prior art keywords
client
executable file
server
current
application list
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
CN201910480246.6A
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.)
Shaanxi Cisco Rudi Network Security Technology Co ltd
Original Assignee
Shaanxi Cisco Rudi Network Security 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 Shaanxi Cisco Rudi Network Security Technology Co ltd filed Critical Shaanxi Cisco Rudi Network Security Technology Co ltd
Priority to CN201910480246.6A priority Critical patent/CN112115426A/zh
Publication of CN112115426A publication Critical patent/CN112115426A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • G06F21/126Interacting with the operating system
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于Windows操作系统中运行可执行文件的审计方法,该方法包括以下步骤S100:设置服务器运行环境;S200:在客户端安装并运行主机安全加固软件,检查客户端和服务器之间的网络连接是否正常;S300:客户端扫描自身系统分区中所有可执行文件,并采用DJB Hash算法生成原始可信应用列表;S400:审计客户端运行的可执行文件;S500:服务器确认当前可执行文件的安全性,根据确认的结果选择“允许”或者“拒绝”来回应客户端;S600:客户端接收服务器的回应,根据回应进行操作:如果回应是“允许”,那么客户端将当前可执行文件加入到所述可信应用列表中并运行当前可执行文件;如果回应是“拒绝”,则客户端不运行当前可执行文件。

Description

一种基于Windows操作系统中运行可执行文件的审计方法
技术领域
本发明属于网络及信息安全领域,涉及一种运行可执行文件的审计方法,尤其涉及一种基于Windows操作系统中运行可执行文件的审计方法。
背景技术
随着全球信息化进程不断推进,信息安全问题已经成为抑制全球信息化进程发展的重大障碍。各级政府部门及企事业单位在多年的信息化建设过程中,通过采用防火墙、入侵检测、杀毒软件、桌面管理系统等传统的安全技术和手段,在网络边界层防范外来攻击方面起到一定程度的安全防范作用。但随着信息化需求的不断增长,网络应用的不断扩展,现有的网络基础设施和信息系统安全措施逐渐暴露出了诸多问题,各类业务应用系统的运行环境依然面临着很多安全威胁,受到攻击时依然显得十分脆弱、不堪一击。主要表现为:
一、外部攻击
面对天天变种、层出不穷的新型病毒,蠕虫,木马等恶意代码的攻击,服务器安装的杀毒软件无能为力;利用各种系统漏洞、应用程序漏洞进行攻击防不胜防,服务器管理员的“补丁”永远打不完。
二、内部破坏
面对内部的恶意攻击和破坏,服务器上敏感信息泄密,重要数据失窃,造成的影响和损失难以估计。
三、其他问题
由于安全管理体系的缺陷,人员安全意识薄弱造成的操作失误、设备配置不当,权限过于集中,给服务器带来安全隐患难以控制。
以上安全风险和潜在威胁长期存在无法根本解决的主要原因,是因为防火墙、杀毒软件、入侵检测、桌面管理系统等技术手段均属于基础传统的边缘层安全防护措施,由于其技术实现的局限性使得安全防护手段受制于病毒库、特征库、木马库等的更新滞后性,信息安全“头痛医头、脚痛医脚”的现象无法改变。而随着信息化持续发展,信息安全需求也随之动态发展变化,“道高一尺、魔高一丈”,安全威胁层出不穷,传统的安全防护手段只能疲于应付,通过“围追堵截”的被动方式实现局部分散的安全补救措施。因此,只有将传统的被动补救方式转变成主动防御模式,从信息安全的根本和源头入手进行安全防护体系建设,才能从根本上扭转被动局面,构建信息安全的主动式体系化防御体系。
发明内容
本发明针对现有技术的不足问题,提出了一种基于Windows操作系统中运行可执行文件的审计方法,通过生成可信应用列表(即,可信应用白名单),判断所有可执行文件是否存在于可信应用列表且仅执行可信应用列表中存在的可执行文件,从而Windows操作系统中运行可执行文件的审计,保障了系统的安全,包括以下步骤:
S100:设置服务器运行环境,包括运行https网页服务,用以提供操作接口及客户端通信;
S200:在客户端安装并运行主机安全加固软件,检查客户端和服务器之间的网络连接是否正常,其中,安装时设置服务器的IP地址和端口号,用以建立客户端和服务器之间的网络连接;
S300:客户端扫描自身系统分区中所有可执行文件,并采用DJBHash算法生成原始可信应用列表,其中,DJBHash算法用以校验并加密所述可信应用列表的记录,以确保所述记录的唯一性;所述可信应用列表的记录包含可信任的可执行文件的名称及路径;
S400:审计客户端运行的可执行文件,具体包括以下步骤:
S401:检测客户端运行的文件;
S402:判断当前文件是否为可执行文件,如果是,执行步骤S403,否则执行步骤S401;
S403:客户端驱动层程序运行windows的API函数,用以调用回调函数,所述回调函数获取可执行文件的信息并拦截可执行文件,所述可执行文件的信息包含可执行文件的名称、路径、进程ID、线程ID及进程句柄;
S404:对所述可执行文件的信息采用DJBHash算法以生成当前可执行文件的名称及路径并在所述可信应用列表中遍历查找是否存在当前可执行文件的名称及路径,如果是,执行步骤S406,否则执行步骤S405;
S405:客户端向服务器发出申请,将当前可执行文件的名称添加至所述可信应用列表,执行步骤S500;
S406:执行当前可执行文件并结束流程;
S500:服务器确认当前可执行文件的安全性,根据确认的结果选择“允许”或者“拒绝”来回应客户端;
S600:客户端接收服务器的回应,根据回应进行操作:如果回应是“允许”,那么客户端将当前可执行文件加入到所述可信应用列表中并运行当前可执行文件;如果回应是“拒绝”,则客户端不运行当前可执行文件。
优选地,所述步骤S200中所述端口号为443。
优选地,所述windows的API函数包含PsSetCreateProcessNotifyRoutineEx函数和PsSetCreateThreadNotifyRoutineEx函数;
所述PsSetCreateProcessNotifyRoutineEx函数在当有进程创建或退出时调用所述回调函数,所述PsSetCreateThreadNotifyRoutineEx函数在有线程创建时调用所述回调函数。
本发明的有益效果是:
1、基于可信应用列表(可信应用白名单)进行安全检测。
2、每个应用采用DJBHash算法对基本信息和应用内容双重检查,保证唯一性。
3、基本信息和内容均采用DJBHash算法,确保一致性。
4、采用高性能摘要算法,系统负荷小,响应快。
附图说明
图1为本发明所提供的方法的总流程图。
具体实施方式
图1示出了本发明所提供的方法的总流程图。
如图1所示,本发明包括以下步骤:
S100:设置服务器运行环境,包括运行https网页服务,用以提供操作接口及客户端通信;
S200:在客户端安装并运行主机安全加固软件,检查客户端和服务器之间的网络连接是否正常,其中,安装时设置服务器的IP地址,端口号设置为443,用以建立客户端和服务器之间的网络连接;
S300:客户端扫描自身系统分区中所有可执行文件,并采用DJBHash算法生成原始可信应用列表,其中,DJBHash算法用以校验并加密可信应用列表的记录,以确保记录的唯一性;可信应用列表的记录包含可信任的可执行文件的名称及路径;
S400:审计客户端运行的可执行文件,具体包括以下步骤:
S401:检测客户端运行的文件;
S402:判断当前文件是否为可执行文件,如果是,执行步骤S403,否则执行步骤S401;
S403:客户端驱动层程序运行windows的API函数,用以调用回调函数,回调函数获取可执行文件的信息并拦截可执行文件,可执行文件的信息包含可执行文件的名称、路径、进程ID、线程ID及进程句柄;
其中,windows的API函数包含PsSetCreateProcessNotifyRoutineEx函数和PsSetCreateThreadNotifyRoutineEx函数;
PsSetCreateProcessNotifyRoutineEx函数在当有进程创建或退出时调用回调函数,PsSetCreateThreadNotifyRoutineEx函数在有线程创建时调用回调函数。
S404:对可执行文件的信息采用DJBHash算法以生成当前可执行文件的名称及路径并在可信应用列表中遍历查找是否存在当前可执行文件的名称及路径,如果是,执行步骤S406,否则执行步骤S405;
S405:客户端向服务器发出申请,将当前可执行文件的名称添加至可信应用列表,执行步骤S500;
S406:执行当前可执行文件并结束流程;
S500:服务器确认当前可执行文件的安全性,根据确认的结果选择“允许”或者“拒绝”来回应客户端;
S600:客户端接收服务器的回应,根据回应进行操作:如果回应是“允许”,那么客户端将当前可执行文件加入到可信应用列表中并运行当前可执行文件;如果回应是“拒绝”,则客户端不运行当前可执行文件。
通过本发明提供的方法,解决了现有技术中尚无一种采用可执行文件的基本信息和应用内容双重检查并保证唯一性的技术问题。
应当理解的是,本发明不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (3)

1.一种基于Windows操作系统中运行可执行文件的审计方法,其特征在于包括以下步骤:
S100:设置服务器运行环境,包括运行https网页服务,用以提供操作接口及客户端通信;
S200:在客户端安装并运行主机安全加固软件,检查客户端和服务器之间的网络连接是否正常,其中,安装时设置服务器的IP地址和端口号,用以建立客户端和服务器之间的网络连接;
S300:客户端扫描自身系统分区中所有可执行文件,并采用DJB Hash算法生成原始可信应用列表,其中,DJB Hash算法用以校验并加密所述可信应用列表的记录,以确保所述记录的唯一性;所述可信应用列表的记录包含可信任的可执行文件的名称及路径;
S400:审计客户端运行的可执行文件,具体包括以下步骤:
S401:检测客户端运行的文件;
S402:判断当前文件是否为可执行文件,如果是,执行步骤S403,否则执行步骤S401;
S403:客户端驱动层程序运行windows的API函数,用以调用回调函数,所述回调函数获取可执行文件的信息并拦截可执行文件,所述可执行文件的信息包含可执行文件的名称、路径、进程ID、线程ID及进程句柄;
S404:对所述可执行文件的信息采用DJB Hash算法以生成当前可执行文件的名称及路径并在所述可信应用列表中遍历查找是否存在当前可执行文件的名称及路径,如果是,执行步骤S406,否则执行步骤S405;
S405:客户端向服务器发出申请,将当前可执行文件的名称添加至所述可信应用列表,执行步骤S500;
S406:执行当前可执行文件并结束流程;
S500:服务器确认当前可执行文件的安全性,根据确认的结果选择“允许”或者“拒绝”来回应客户端;
S600:客户端接收服务器的回应,根据回应进行操作:如果回应是“允许”,那么客户端将当前可执行文件加入到所述可信应用列表中并运行当前可执行文件;如果回应是“拒绝”,则客户端不运行当前可执行文件。
2.根据权利要求1所述的一种基于Windows操作系统中运行可执行文件的审计方法,其特征在于,所述步骤S200中所述端口号为443。
3.根据权利要求1所述的一种基于Windows操作系统中运行可执行文件的审计方法,其特征在于,所述windows的API函数包含PsSetCreateProcessNotifyRoutineEx函数和PsSetCreateThreadNotifyRoutineEx函数;所述PsSetCreateProcessNotifyRoutineEx函数在当有进程创建或退出时调用所述回调函数,所述PsSetCreateThreadNotifyRoutineEx函数在有线程创建时调用所述回调函数。
CN201910480246.6A 2019-06-04 2019-06-04 一种基于Windows操作系统中运行可执行文件的审计方法 Pending CN112115426A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910480246.6A CN112115426A (zh) 2019-06-04 2019-06-04 一种基于Windows操作系统中运行可执行文件的审计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910480246.6A CN112115426A (zh) 2019-06-04 2019-06-04 一种基于Windows操作系统中运行可执行文件的审计方法

Publications (1)

Publication Number Publication Date
CN112115426A true CN112115426A (zh) 2020-12-22

Family

ID=73795065

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910480246.6A Pending CN112115426A (zh) 2019-06-04 2019-06-04 一种基于Windows操作系统中运行可执行文件的审计方法

Country Status (1)

Country Link
CN (1) CN112115426A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102498491A (zh) * 2009-09-14 2012-06-13 森清 安全审计系统及安全审计方法
CN105930728A (zh) * 2016-06-17 2016-09-07 浪潮(北京)电子信息产业有限公司 一种应用审查方法及装置
CN109460656A (zh) * 2018-11-06 2019-03-12 深圳市风云实业有限公司 应用程序启动控制方法及计算机终端

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102498491A (zh) * 2009-09-14 2012-06-13 森清 安全审计系统及安全审计方法
CN105930728A (zh) * 2016-06-17 2016-09-07 浪潮(北京)电子信息产业有限公司 一种应用审查方法及装置
CN109460656A (zh) * 2018-11-06 2019-03-12 深圳市风云实业有限公司 应用程序启动控制方法及计算机终端

Similar Documents

Publication Publication Date Title
US10691792B2 (en) System and method for process hollowing detection
JP7084778B2 (ja) 標的型攻撃をクラウド型検出、探索および除去するシステムおよび方法
US10599841B2 (en) System and method for reverse command shell detection
US9015829B2 (en) Preventing and responding to disabling of malware protection software
US8332946B1 (en) Method and system for protecting endpoints
US20050172337A1 (en) System and method for unpacking packed executables for malware evaluation
JP2005251189A (ja) ネットワークに接続されたコンピュータシステムを攻撃から保護するシステムおよび方法
US20220417255A1 (en) Managed detection and response system and method based on endpoints
US20160292424A1 (en) Inoculator and Antibody for Computer Security
CN111274620B (zh) 一种基于Windows操作系统的USB设备的管控方法
US9313211B1 (en) Systems and methods to protect against a vulnerability event
US8640242B2 (en) Preventing and detecting print-provider startup malware
US20200218832A1 (en) Automatic Initiation of Execution Analysis
KR101614809B1 (ko) 엔드포인트 응용프로그램 실행 제어 시스템 및 그 제어 방법
CN112115426A (zh) 一种基于Windows操作系统中运行可执行文件的审计方法
Hedbom et al. Risks and dangers of security extensions
Dunhaupt Vulnerabilities of industrial automation systems
Deep et al. Security In Smartphone: A Comparison of Viruses and Security Breaches in Phones and Computers
Tupakula et al. Trust enhanced security architecture for detecting insider threats
JP2015082191A (ja) 情報処理装置、情報処理方法
REMOVES VALENTINE’S DAY TROJAN RUSE

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20201222