CN112784265A - 一种虚拟沙盒针对混淆代码的优化方法 - Google Patents

一种虚拟沙盒针对混淆代码的优化方法 Download PDF

Info

Publication number
CN112784265A
CN112784265A CN202110161967.8A CN202110161967A CN112784265A CN 112784265 A CN112784265 A CN 112784265A CN 202110161967 A CN202110161967 A CN 202110161967A CN 112784265 A CN112784265 A CN 112784265A
Authority
CN
China
Prior art keywords
code
virtual
codes
virtual sandbox
sandbox
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
CN202110161967.8A
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.)
Beijing Huorong Network Technology Co ltd
Original Assignee
Beijing Huorong Network 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 Beijing Huorong Network Technology Co ltd filed Critical Beijing Huorong Network Technology Co ltd
Priority to CN202110161967.8A priority Critical patent/CN112784265A/zh
Publication of CN112784265A publication Critical patent/CN112784265A/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

本发明公开一种虚拟沙盒针对混淆代码的优化方法,通过在阶段性时间片内在虚拟沙盒中的运行,定位到在时间片结束后病毒样本在虚拟沙盒中的运行代码位置;根据阶段性时间片运行后,通过对当前代码所在位置进行模式匹配的方式,最终决定虚拟沙盒当前所在位置代码特征或所调用API决定是否执行优化逻辑;针对需要进行优化的病毒样本,相对于之前代码所在位置进行准确特征识别等步骤,本发明在基于反病毒虚拟机引擎针对病毒样本中的混淆代码进行优化的方法,最终决定虚拟沙盒当前所在位置代码特征或所调用API决定是否执行优化逻辑,然后针对需要进行优化的病毒样本,相较于之前代码所在位置进行准确特征识别,最终达到对病毒样本的通用检出效果。

Description

一种虚拟沙盒针对混淆代码的优化方法
技术领域
本发明涉及信息安全技术领域,特别是涉及一种虚拟沙盒针对混淆代码的优化方法。
背景技术
目前在信息安全领域中,恶意代码检测一直都是各个安全厂商所面临的首要问题。但是近年来,一些主流病毒家族为了与安全软件厂商进行免杀对抗,大范围在病毒样本中使用代码混淆技术。安全软件厂商为了与不断变化的混淆代码进行对抗,追求更高的病毒检出率,从而发展出了虚拟沙盒技术。反病毒引擎中的虚拟沙盒,可以用来将病毒样本在虚拟环境中进行虚拟执行,最终通过判断行为及中间内存特征达到更高的检出效果。但是随着病毒混淆代码技术的不断发展,其混淆代码中会加入超大的耗时循环(如:无用代码重复执行100万次之后再执行实质性的病毒代码),导致病毒样本在有限的扫描时间内无法在虚拟沙盒中运行到实质性病毒代码,最终导致反病毒引擎无法针对此类混淆样本达到原有的通用检测目的。
发明内容
鉴于此,本发明提供了一种虚拟沙盒针对混淆代码的优化方法,具体方案如下:
一种虚拟沙盒针对混淆代码的优化方法,包括
根据病毒在阶段性时间片(如:若干条汇编指令)执行后所处的代码特征,匹配混淆代码中冗余、超时操作相关代码,进行针对性代码或执行环境优化;
根据病毒在阶段性时间片内重复调用的系统API(application programminginterface)执行后所处的代码特征,匹配混淆代码中冗余、超时操作相关代码,进行针对性代码或执行环境优化;
根据该病毒样本中的混淆代码,选择在虚拟沙盒中具体的代码和环境优化处理流程;
具体的操作步骤如下:
步骤一,通过在阶段性时间片内在虚拟沙盒中的运行,定位到在时间片结束后病毒样本在虚拟沙盒中的运行代码位置;
步骤二,根据阶段性时间片运行后,通过对当前代码所在位置进行模式匹配的方式,最终决定虚拟沙盒当前所在位置代码特征或所调用API决定是否执行优化逻辑;
步骤三,针对需要进行优化的病毒样本,相对于之前代码所在位置进行准确特征识别;
步骤四,在特征识别后,根据现有情况决定具体的优化逻辑,即:进行虚拟环境修改或进行代码逻辑二进制修改;
步骤五,在进行优化之后,继续进行虚拟执行代码。
采用上述技术方案,具有如下有益效果:
本发明在基于反病毒虚拟机引擎针对病毒样本中的混淆代码进行优化的方法,在虚拟沙盒中运行,在时间结束后定位到病毒样本在虚拟沙盒中的运行代码位置,并通过对当前代码所在的位置进行模式匹配,最终决定虚拟沙盒当前所在位置代码特征或所调用API决定是否执行优化逻辑,然后针对需要进行优化的病毒样本,相较于之前代码所在位置进行准确特征识别,判断是否需要优化,最终达到对病毒样本的通用检出效果。
附图说明
图1为本发明使用的样本代码优化流程;
图2为本发明样本需要优化的代码情况;
图3为本发明所使用样本的最终检测结果。
具体实施方式
下面结合附图对本发明做进一步说明。
实施例1:一种虚拟沙盒针对混淆代码的优化方法,包括
根据病毒在阶段性时间片(如:若干条汇编指令)执行后所处的代码特征,匹配混淆代码中冗余、超时操作相关代码,进行针对性代码或执行环境优化;
根据病毒在阶段性时间片内重复调用的系统API(application programminginterface)执行后所处的代码特征,匹配混淆代码中冗余、超时操作相关代码,进行针对性代码或执行环境优化;
根据该病毒样本中的混淆代码,选择在虚拟沙盒中具体的代码和环境优化处理流程;
具体的操作步骤如下:
步骤一,通过在阶段性时间片内在虚拟沙盒中的运行,定位到在时间片结束后病毒样本在虚拟沙盒中的运行代码位置;
步骤二,根据阶段性时间片运行后,通过对当前代码所在位置进行模式匹配的方式,最终决定虚拟沙盒当前所在位置代码特征或所调用API决定是否执行优化逻辑;
步骤三,针对需要进行优化的病毒样本,相对于之前代码所在位置进行准确特征识别;
步骤四,在特征识别后,根据现有情况决定具体的优化逻辑,即:进行虚拟环境修改或进行代码逻辑二进制修改;
步骤五,在进行优化之后,继续进行虚拟执行代码。
在进行具体操作时,第一步,假设运行环境为虚拟沙盒,通过对案例样本(sha1:2084e7c60de40d6a903dd7f56e3f9f102373f538)若干万条指令的执行后,定位到在时间片结束后病毒样本在虚拟沙盒中的运行代码位置。
第二步,根据第一步过后所得到的代码位置特征,通过匹配虚拟沙盒当前所在位置代码特征,在dword ptr[ebp-314]为0的前提情况下,当前代码位置需要当dword ptr[ebp-314]大于等于0xFFFFFFFF时才能继续执行后续流程,且循环内无具有实际意义代码,则命中优化规则。
第三步,根据命中的需要优化的代码情况,在虚拟沙盒中将0x40125C处代码全部使用nop(0x90)填充。
第四步,继续在虚拟沙盒中执行优化后样本代码,即可直接执行后续代码流程,最终再更短的时间内得出检测结果。
本发明在基于反病毒虚拟机引擎针对病毒样本中的混淆代码进行优化的方法,在虚拟沙盒中运行,在时间结束后定位到病毒样本在虚拟沙盒中的运行代码位置,并通过对当前代码所在的位置进行模式匹配,最终决定虚拟沙盒当前所在位置代码特征或所调用API决定是否执行优化逻辑,然后针对需要进行优化的病毒样本,相较于之前代码所在位置进行准确特征识别,判断是否需要优化,最终达到对病毒样本的通用检出效果。
以上描述了本发明的基本原理和主要特征,本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内,发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (1)

1.一种虚拟沙盒针对混淆代码的优化方法,其特征在于,包括
根据病毒在阶段性时间片(如:若干条汇编指令)执行后所处的代码特征,匹配混淆代码中冗余、超时操作相关代码,进行针对性代码或执行环境优化;
根据病毒在阶段性时间片内重复调用的系统API(application programminginterface)执行后所处的代码特征,匹配混淆代码中冗余、超时操作相关代码,进行针对性代码或执行环境优化;
根据该病毒样本中的混淆代码,选择在虚拟沙盒中具体的代码和环境优化处理流程;
具体的操作步骤如下:
步骤一,通过在阶段性时间片内在虚拟沙盒中的运行,定位到在时间片结束后病毒样本在虚拟沙盒中的运行代码位置;
步骤二,根据阶段性时间片运行后,通过对当前代码所在位置进行模式匹配的方式,最终决定虚拟沙盒当前所在位置代码特征或所调用API决定是否执行优化逻辑;
步骤三,针对需要进行优化的病毒样本,相对于之前代码所在位置进行准确特征识别;
步骤四,在特征识别后,根据现有情况决定具体的优化逻辑,即:进行虚拟环境修改或进行代码逻辑二进制修改;
步骤五,在进行优化之后,继续进行虚拟执行代码。
CN202110161967.8A 2021-02-05 2021-02-05 一种虚拟沙盒针对混淆代码的优化方法 Pending CN112784265A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110161967.8A CN112784265A (zh) 2021-02-05 2021-02-05 一种虚拟沙盒针对混淆代码的优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110161967.8A CN112784265A (zh) 2021-02-05 2021-02-05 一种虚拟沙盒针对混淆代码的优化方法

Publications (1)

Publication Number Publication Date
CN112784265A true CN112784265A (zh) 2021-05-11

Family

ID=75761018

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110161967.8A Pending CN112784265A (zh) 2021-02-05 2021-02-05 一种虚拟沙盒针对混淆代码的优化方法

Country Status (1)

Country Link
CN (1) CN112784265A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116738429A (zh) * 2023-08-15 2023-09-12 之江实验室 基于生成对抗的目标检测引擎优化方法、装置及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104603756A (zh) * 2012-08-16 2015-05-06 高通股份有限公司 经由沙盒执行的推测性的资源预提取
US9817974B1 (en) * 2015-11-10 2017-11-14 Trend Micro Incorporated Anti-malware program with stalling code detection
US9900324B1 (en) * 2014-01-29 2018-02-20 SecondWrite LLC System to discover and analyze evasive malware
WO2018072713A1 (zh) * 2016-10-19 2018-04-26 北京豆荚科技有限公司 通信系统和电子设备
US10642980B1 (en) * 2019-11-18 2020-05-05 Clean.io, Inc. Detecting cross-origin malicious code existing in internet advertisements
US20200159913A1 (en) * 2014-11-20 2020-05-21 Huawei Technologies Co., Ltd. Malware Detection Method and Malware Detection Apparatus
EP3660602A1 (en) * 2018-11-30 2020-06-03 CODESYS Holding GmbH Testing code for an industrial control program in an ancillary environment
US10789354B1 (en) * 2019-10-01 2020-09-29 Capital One Services, Llc Computer-based systems configured for detecting and sandboxing external resources and methods of use thereof
US20200356661A1 (en) * 2019-05-10 2020-11-12 Clean.io, Inc. Detecting malicious code received from malicious client side injection vectors

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104603756A (zh) * 2012-08-16 2015-05-06 高通股份有限公司 经由沙盒执行的推测性的资源预提取
US9900324B1 (en) * 2014-01-29 2018-02-20 SecondWrite LLC System to discover and analyze evasive malware
US20200159913A1 (en) * 2014-11-20 2020-05-21 Huawei Technologies Co., Ltd. Malware Detection Method and Malware Detection Apparatus
US9817974B1 (en) * 2015-11-10 2017-11-14 Trend Micro Incorporated Anti-malware program with stalling code detection
WO2018072713A1 (zh) * 2016-10-19 2018-04-26 北京豆荚科技有限公司 通信系统和电子设备
EP3660602A1 (en) * 2018-11-30 2020-06-03 CODESYS Holding GmbH Testing code for an industrial control program in an ancillary environment
US20200356661A1 (en) * 2019-05-10 2020-11-12 Clean.io, Inc. Detecting malicious code received from malicious client side injection vectors
US10789354B1 (en) * 2019-10-01 2020-09-29 Capital One Services, Llc Computer-based systems configured for detecting and sandboxing external resources and methods of use thereof
US10642980B1 (en) * 2019-11-18 2020-05-05 Clean.io, Inc. Detecting cross-origin malicious code existing in internet advertisements

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
PUSHKAR KISHORE等: "JavaScript malware behaviour analysis and detection using sandbox assisted ensemble model", 《 2020 IEEE REGION 10 CONFERENCE (TENCON)》, pages 864 - 869 *
网络安全观察者: "常见沙箱绕过技术", Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/89432499> *
谢佳筠等: "Android防护技术研究进展", 《计算机工程》, no. 02, pages 169 - 176 *
超级管理员: "沙箱功能介绍", Retrieved from the Internet <URL:http://www.hnatree.com/doc/2155/> *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116738429A (zh) * 2023-08-15 2023-09-12 之江实验室 基于生成对抗的目标检测引擎优化方法、装置及系统
CN116738429B (zh) * 2023-08-15 2023-11-14 之江实验室 基于生成对抗的目标检测引擎优化方法、装置及系统

Similar Documents

Publication Publication Date Title
Bao et al. {BYTEWEIGHT}: Learning to recognize functions in binary code
US8151352B1 (en) Anti-malware emulation systems and methods
CN112800423B (zh) 一种二进制代码授权漏洞检测方法
US8549635B2 (en) Malware detection using external call characteristics
Luo et al. ICS protocol fuzzing: Coverage guided packet crack and generation
CN114077741B (zh) 软件供应链安全检测方法和装置、电子设备及存储介质
CN106096405A (zh) 一种基于Dalvik指令抽象的Android恶意代码检测方法
CN109101815B (zh) 一种恶意软件检测方法及相关设备
JP7287480B2 (ja) 解析機能付与装置、解析機能付与方法及び解析機能付与プログラム
JP7209736B2 (ja) プロセッサをデバッグする方法
CN109643346A (zh) 控制流完整性
US20170169215A1 (en) Identification of mislabeled samples via phantom nodes in label propagation
CN112784265A (zh) 一种虚拟沙盒针对混淆代码的优化方法
US20030130813A1 (en) Adaptive test program generation
Calatayud et al. A comparative analysis of Buffer Overflow vulnerabilities in High-End IoT devices
CN108595986B (zh) 基于有界模型的微型木马检测方法
CN110197068B (zh) 基于改进灰狼算法的Android恶意应用检测方法
CN114510723B (zh) 一种智能合约权限管理漏洞检测方法及装置
CN116150021A (zh) 程序运行轨迹的追踪方法、对比方法、装置及计算设备
US11567855B1 (en) Automated fault injection testing
CN115422865A (zh) 仿真方法及装置、计算设备、计算机可读存储介质
CN114647845A (zh) 一种恶意样本延时代码的检测识别方法及装置
KR102572607B1 (ko) 비실행데이터 내의 셸코드 식별장치 및 방법
CN107368740B (zh) 一种针对数据文件中可执行代码的检测方法及系统
WO2024079793A1 (ja) 脆弱性発見装置、脆弱性発見方法及び脆弱性発見プログラム

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