CN102004879A - 一种识别可信任进程的方法 - Google Patents

一种识别可信任进程的方法 Download PDF

Info

Publication number
CN102004879A
CN102004879A CN2010105530330A CN201010553033A CN102004879A CN 102004879 A CN102004879 A CN 102004879A CN 2010105530330 A CN2010105530330 A CN 2010105530330A CN 201010553033 A CN201010553033 A CN 201010553033A CN 102004879 A CN102004879 A CN 102004879A
Authority
CN
China
Prior art keywords
file
electronic fingerprint
digital signature
content
executable file
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
CN2010105530330A
Other languages
English (en)
Other versions
CN102004879B (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.)
Beijing VRV Software Corp Ltd
Original Assignee
Beijing VRV Software Corp 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 Beijing VRV Software Corp Ltd filed Critical Beijing VRV Software Corp Ltd
Priority to CN2010105530330A priority Critical patent/CN102004879B/zh
Publication of CN102004879A publication Critical patent/CN102004879A/zh
Application granted granted Critical
Publication of CN102004879B publication Critical patent/CN102004879B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本发明公开了一种识别可信任进程的方法,结合“电子指纹”、数字签名和可执行文件名称等信息,以判断可执行文件是否可信。通过对当前可执行文件进行“电子指纹”的计算,将获得的电子指纹与原提取的电子指纹进行比对。如果相同,该进程是可信进程。如果不相同,则获取该可执行文件的数字签名和文件名与原提取的信息进行对比,当以上项目信息全部比对一致时,才认为该进程为可信进程,有任何一项不一致,则认为该进程不是可信进程。采用本发明的技术方案,可以正确并高效的识别与确定进程的可信性。

Description

一种识别可信任进程的方法
技术领域
本发明涉及计算机技术程序开发领域,尤其涉及在使用应用程序进程控制驱动程序加解密中,识别可信任进程的方法。
背景技术
在计算机程序开发中,根据实际的功能需求,往往需要通过识别确定进程正确可信性来实现处理相关的程序操作。
与本发明较接近的传统方法是通过MD5运算获取文件电子指纹(一串字符)来判别文件的是否有改变。但在实际软件需求中,对整个可执行程序进行MD5值运算会造成程序运行缓慢等问题。另外对于同系列不同版本的软件,需要对每个版本可执行程序进行MD5值的计算,造成了同系列软件应用程序进程识别效率低,影响整个软件的执行效率,降低了用户使用软件的体验性。
本发明通过判断应用程序可执行文件的大小,决定计算文件的全部或指定内容组合的MD5值,获得该可执行文件的“电子指纹”,并将该“电子指纹”、数字签名与文件名记录下来。驱动程序或后台程序首先获取打开文件的应用程序进程,通过快速电子指纹算法计算出的指纹,和原提取的电子指纹进行比对,如果一样则认为该进程是可信进程。当该文件应用进程指纹与原提取的电子指纹不一样时,获取该进程的数字签名和可执行文件名,只有数字签名和可执行文件名对原提取的数字签名和文件名一样时,才认为该进程是可信进程,否则认为该进程不是可信进程。
本发明方案主要解决目前对大字节可执行文件计算MD5值导致的程序运行缓慢,和同系列不同版本的可执行文件的识别率低等问题,通过本发明,可以正确并高效的识别与确定进程的可信性。
发明内容
本发明的目的在于提出一种识别可信任进程的方法,克服对大字节可执行文件计算MD5值导致的程序运行缓慢,和同系列不同版本的可执行文件的识别率低等问题,实现对进程可信性的正确和高效的识别。
为达此目的,本发明采用以下技术方案:
一种识别可信任进程的方法,包括以下步骤:
A、对当前可执行文件进行“电子指纹”的计算,获得该应用程序进程的电子指纹。
B、将获得的电子指纹与原提取的电子指纹进行比对。如果相同,转至步骤C,如果不相同,转至步骤D。
C、该进程是可信进程。
D、获取该可执行文件的数字签名。
E、将获取的数字签名与原提取的数字签名进行比对。如果相同,转至步骤F,如果不相同,转至步骤H。
F、获取该可执行文件的文件名。
G、将获取的可执行文件名与原提取的文件名进行比对。如果相同,转至步骤C,如果不相同,转至步骤H
H、判断该进程不是可信进程。
还包括以下步骤:
提取进程“电子指纹”方法,通过计算需要提取电子指纹的应用程序可执行文件的大小,判断文件大小是否小于5KB。如果文件小于等于5KB,使用MD5算法对文件全部内容进行运算,获得“电子指纹”。如果文件大于5KB,截取文件指定部分内容,组合所截取的部分,计算组合后得到字符串的MD5值,即获得“电子指纹”。获取可执行文件的数字签名与文件名,并记录可执行文件的进程名、数字签名和“电子指纹”。
采用了本发明的技术方案,将解决计算全部MD5值导致的程序运行缓慢,和同系列不同版本的可执行文件的识别率低等问题,该方法可以正确并高效的识别与确定进程的可信性。
附图说明
图1是本发明对可执行文件获取电子指纹、数字签名等信息的提取流程图。
图2是本发明对可执行文件进行验证可信任进程的流程图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
本发明技术方案的主要思想是改进传统的将全文件进行MD5运算获得电子指纹的方法,并结合可执行文件的电子指纹、数字签名和进程名等信息,判断该可执行程序是否为可信任的。
图1是本发明对可执行文件获取电子指纹、数字签名等信息的提取流程图。如图1所示,该提取流程包括以下步骤:
步骤101、提取电子指纹程序运行。
步骤102、计算需要提取电子指纹的应用程序可执行文件的大小。
步骤103、判断文件大小是否小于5KB。如果文件小于等于5KB,直接进行MD5运算获取电子指纹,转至步骤104,如果文件大于5KB,截取文件指定内容,再进行MD5运算,转至步骤105。
步骤104、如果文件大小小于等于5KB,则使用MD5算法对文件全部内容进行运算,获得“电子指纹”。
步骤105、截取文件指定部分内容。如果文件大小大于5KB,则截取文件头部1KB内容,文件二分之一长度后的2KB内容和文件尾部1KB内容。
步骤106、组合所截取的部分,将头部、尾部、中部截取的内容(字符串)相加。
步骤107、计算组合后得到字符串的MD5值,即获得“电子指纹”。
步骤108、获取可执行文件的数字签名与文件名。
步骤109、判断可执行文件是否有数字签名。如果有数字签名,转至步骤111,如果没有数字签名,转至步骤110。
步骤110、如果没有数字签名,则获得一个默认的数字签名值。
步骤111、记录可执行文件的进程名、数字签名和“电子指纹”。
步骤103、结束获取电子指纹的程序。
图2是本发明对可执行文件进行验证可信任进程的流程图。如图2所示,该验证流程包括以下步骤:
步骤201、验证可信任进程的程序开始运行。
步骤202、对当前可执行文件进行“电子指纹”的计算,获得该应用程序进程的电子指纹。
步骤203、将步骤202中计算获得的电子指纹与原提取的电子指纹进行比对。如果相同,则认为判断该进程是可信的,转至步骤204,如果不相同,还需继续判断该进程是否可信,转至步骤205。
比对结果不同,则需进一步判断该进程的数字签名和文件名是否相同。当该可执行文件的进程电子指纹与原提取的电子指纹不一样时,获取该进程的数字签名和可执行文件名,如果数字签名和可执行文件名对原提取指纹电子指纹的应用程序数字签名和可执行文件名一样时,则认为该进程是可信进程。如果数字签名不相同,无论文件名是否相同,都认为该进程不是可信进程。
步骤204、判断该进程是可信进程。通过快速电子指纹算法计算出的指纹,和原提取的电子指纹进行比对,如果一样则认为该进程是可信进程。
步骤205、获取该可执行文件的数字签名。
步骤206、将获取的数字签名与原提取的数字签名进行比对。如果相同,转至步骤207,如果不相同,转至步骤209。
步骤207、获取该可执行文件的文件名。
步骤208、将获取的可执行文件名与原提取的文件名进行比对。如果相同,转至步骤204,如果不相同,转至步骤209
步骤209、判断该进程不是可信进程。数字签名不相同或者数字签名相同但文件名不同,则该进程不是可信的。
步骤210、验证可信任进程结束。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (4)

1.一种识别可信任进程的方法中,提取进程“电子指纹”方法,其特征在于,包括以下步骤:
A、计算需要提取电子指纹的应用程序可执行文件的大小。
B、判断文件大小是否小于5KB。如果文件小于等于5KB,转至步骤C,如果文件大于5KB,转至步骤D。
C、使用MD5算法对文件全部内容进行运算,获得“电子指纹”。
D、截取文件指定部分内容。截取文件头部1KB内容,文件二分之一长度后的2KB内容和文件尾部1KB内容。
E、组合所截取的部分,将头部、尾部、中部截取的内容(字符串)相加。
F、计算组合后得到字符串的MD5值,即获得“电子指纹”。
G、获取可执行文件的数字签名与文件名。
H、判断可执行文件是否有数字签名。如果有数字签名,转至步骤J,如果没有数字签名,转至步骤I。
I、获得一个默认的数字签名值。
J、记录可执行文件的进程名、数字签名和“电子指纹”。
2.一种识别可信任进程的方法中,其特征还在于,包括以下步骤:
A、对当前可执行文件进行“电子指纹”的计算,获得该应用程序进程的电子指纹。
B、将获得的电子指纹与原提取的电子指纹进行比对。如果相同,转至步骤C,如果不相同,转至步骤D。
C、该进程是可信进程。
D、获取该可执行文件的数字签名。
E、将获取的数字签名与原提取的数字签名进行比对。如果相同,转至步骤F,如果不相同,转至步骤H。
F、获取该可执行文件的文件名。
G、将获取的可执行文件名与原提取的文件名进行比对。如果相同,转至步骤C,如果不相同,转至步骤H
H、判断该进程不是可信进程。
3.根据权利要求1所述的一种识别可信任进程的方法中,提取进程“电子指纹”方法,其特征还在于,需要判断文件大小是否小于5KB。如果文件小于等于5KB,则使用MD5算法对文件全部内容进行运算,获得“电子指纹”。如果文件大于5KB,截取文件指定部分内容,本发明中截取文件头部1KB内容,文件二分之一长度后的2KB内容和文件尾部1KB内容,组合所截取的部分,将头部、尾部、中部截取的内容(字符串)相加,计算组合后得到字符串的MD5值,获得“电子指纹”。
4.根据权利要求2所述的一种识别可信任进程的方法,其特征在于,结合“电子指纹”与数字签名等信息,对可执行文件是否可信进行判断。对当前可执行文件进行“电子指纹”的计算,获得该应用程序进程的电子指纹。将获得的电子指纹与原提取的电子指纹进行比对。如果相同,该进程是可信进程。如果不相同,再通过获取该可执行文件的数字签名和文件名,与原提取的数字签名和文件名进行对比,只有数字签名和文件名都与原提取信息一致时,才认为该进程为可信进程,有任何一项不一致,则认为该进程不是可信进程。
CN2010105530330A 2010-11-22 2010-11-22 一种识别可信任进程的方法 Active CN102004879B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105530330A CN102004879B (zh) 2010-11-22 2010-11-22 一种识别可信任进程的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105530330A CN102004879B (zh) 2010-11-22 2010-11-22 一种识别可信任进程的方法

Publications (2)

Publication Number Publication Date
CN102004879A true CN102004879A (zh) 2011-04-06
CN102004879B CN102004879B (zh) 2012-12-26

Family

ID=43812234

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105530330A Active CN102004879B (zh) 2010-11-22 2010-11-22 一种识别可信任进程的方法

Country Status (1)

Country Link
CN (1) CN102004879B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609664A (zh) * 2012-01-19 2012-07-25 杭州万用密宝科技有限公司 基于可执行体的进程指纹智能识别与模糊采集系统及其方法
CN102799823A (zh) * 2012-07-13 2012-11-28 北京江民新科技术有限公司 一种病毒检测方法和系统
CN102855274A (zh) * 2012-07-17 2013-01-02 北京奇虎科技有限公司 一种可疑进程检测的方法和装置
CN103559438A (zh) * 2013-10-31 2014-02-05 上海上讯信息技术有限公司 进程识别方法及系统
CN103714269A (zh) * 2013-12-02 2014-04-09 百度国际科技(深圳)有限公司 病毒的识别方法及设备
CN105868623A (zh) * 2015-11-13 2016-08-17 乐视移动智能信息技术(北京)有限公司 一种权限的检测方法和终端设备
CN111259348A (zh) * 2020-02-20 2020-06-09 国网信息通信产业集团有限公司 一种安全运行可执行文件的方法及系统
EP4044137A1 (en) * 2014-09-15 2022-08-17 Skillz Platform Inc. Integrations portal for peer-to-peer game platform

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101271498A (zh) * 2008-03-25 2008-09-24 浙江大学 在linux操作系统通过威胁链表和安全链表实现可信计算的方法
CN101443774A (zh) * 2006-03-15 2009-05-27 苹果公司 优化的完整性验证过程
CN101520832A (zh) * 2008-12-22 2009-09-02 康佳集团股份有限公司 一种文件代码签名验证系统及其方法
CN101593259A (zh) * 2009-06-29 2009-12-02 北京航空航天大学 软件完整性验证方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101443774A (zh) * 2006-03-15 2009-05-27 苹果公司 优化的完整性验证过程
CN101271498A (zh) * 2008-03-25 2008-09-24 浙江大学 在linux操作系统通过威胁链表和安全链表实现可信计算的方法
CN101520832A (zh) * 2008-12-22 2009-09-02 康佳集团股份有限公司 一种文件代码签名验证系统及其方法
CN101593259A (zh) * 2009-06-29 2009-12-02 北京航空航天大学 软件完整性验证方法及系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609664A (zh) * 2012-01-19 2012-07-25 杭州万用密宝科技有限公司 基于可执行体的进程指纹智能识别与模糊采集系统及其方法
CN102609664B (zh) * 2012-01-19 2016-05-04 杭州万用密宝科技有限公司 基于可执行体的进程指纹智能识别与模糊采集系统及其方法
CN102799823A (zh) * 2012-07-13 2012-11-28 北京江民新科技术有限公司 一种病毒检测方法和系统
CN102855274A (zh) * 2012-07-17 2013-01-02 北京奇虎科技有限公司 一种可疑进程检测的方法和装置
CN102855274B (zh) * 2012-07-17 2015-12-09 北京奇虎科技有限公司 一种可疑进程检测的方法和装置
CN103559438A (zh) * 2013-10-31 2014-02-05 上海上讯信息技术有限公司 进程识别方法及系统
CN103714269A (zh) * 2013-12-02 2014-04-09 百度国际科技(深圳)有限公司 病毒的识别方法及设备
EP4044137A1 (en) * 2014-09-15 2022-08-17 Skillz Platform Inc. Integrations portal for peer-to-peer game platform
CN105868623A (zh) * 2015-11-13 2016-08-17 乐视移动智能信息技术(北京)有限公司 一种权限的检测方法和终端设备
CN111259348A (zh) * 2020-02-20 2020-06-09 国网信息通信产业集团有限公司 一种安全运行可执行文件的方法及系统
CN111259348B (zh) * 2020-02-20 2023-03-07 国网信息通信产业集团有限公司 一种安全运行可执行文件的方法及系统

Also Published As

Publication number Publication date
CN102004879B (zh) 2012-12-26

Similar Documents

Publication Publication Date Title
CN102004879B (zh) 一种识别可信任进程的方法
KR101162051B1 (ko) 문자열 비교 기법을 이용한 악성코드 탐지 및 분류 시스템 및 그 방법
CN102819697B (zh) 一种基于线程反编译的多平台恶意代码检测方法和系统
CN103365699B (zh) 基于apk的系统api和运行时字符串的提取方法及系统
CN103020521B (zh) 木马扫描方法及系统
CN102819723B (zh) 一种恶意二维码检测方法和系统
CN103914657B (zh) 一种基于函数特征的恶意程序检测方法
CN102243699A (zh) 一种恶意代码检测方法及系统
US10445501B2 (en) Detecting malicious scripts
EP2113851A3 (en) Content migration tool and method associated therewith
US10055583B2 (en) Method and apparatus for processing file
EP2560120A3 (en) Systems and methods for identifying associations between malware samples
CN105975855A (zh) 一种基于apk证书相似性的恶意代码检测方法及系统
WO2015081837A1 (zh) 病毒的识别方法、设备、非易失性存储介质及设备
JP2015191458A (ja) ファイル危険性判定装置、ファイル危険性判定方法、及びプログラム
CN103294953A (zh) 一种手机恶意代码检测方法及系统
US20160134652A1 (en) Method for recognizing disguised malicious document
KR102367859B1 (ko) 특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법
JP2012088803A5 (zh)
KR101228900B1 (ko) 비 pe파일의 악성 컨텐츠 포함 여부를 판단하는 방법 및 시스템
JP2015115067A (ja) 画像から歪んだ直線を抽出する方法及び装置
US20130179975A1 (en) Method for Extracting Digital Fingerprints of a Malicious Document File
US9122543B2 (en) Data processing method, apparatus and computer program product for similarity comparison of software programs
KR102434899B1 (ko) 악성코드 탐지모델 학습방법 및 악성코드 탐지방법
CN103824006B (zh) 一种手机应用软件自动生成水印的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant