Incremental verification of ω-regions on binary control flow graph for computer virus detection

Nguyen Thien Binh, Q. T. Tho, Ha Minh Ngoc, Nguyen Minh Hai
{"title":"Incremental verification of ω-regions on binary control flow graph for computer virus detection","authors":"Nguyen Thien Binh, Q. T. Tho, Ha Minh Ngoc, Nguyen Minh Hai","doi":"10.1109/NICS.2016.7725670","DOIUrl":null,"url":null,"abstract":"Generally, a computer virus, or virus, consists of two major parts, including a syntactic pattern of signature and code segment performing the core malicious actions. Currently, most of commercial security programs rely on signature matching techniques for virus detection, thus suffering difficulty from some advanced polymorphic viruses which can infinitely change their signatures. In research community, model checking has been proposed to overcome this problem. Representing core malicious actions as temporal logic formulas, a model checker can then verify presence of malicious actions on a control flow graph (CFG) extracted from a binary executable. However, model-checking-based approaches encounter the infamous state explosion problem. In this paper, we tackle this problem by suggesting to partition the binary-extracted CFG into specific sub-graphs, known as ω-regions. Based on empirical observation on real virus samples, we argue that the code segment corresponding for a viral core malicious action should not occupy more than one ω-region. The tactic for location of those ω-regions from a CFG is also presented. This approach allows us to reduce the verification complexity by means of an incremental verification strategy. As a result, we enjoy significant performance improvement when experimenting with real dataset of viruses.","PeriodicalId":347057,"journal":{"name":"2016 3rd National Foundation for Science and Technology Development Conference on Information and Computer Science (NICS)","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2016-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 3rd National Foundation for Science and Technology Development Conference on Information and Computer Science (NICS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/NICS.2016.7725670","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

Abstract

Generally, a computer virus, or virus, consists of two major parts, including a syntactic pattern of signature and code segment performing the core malicious actions. Currently, most of commercial security programs rely on signature matching techniques for virus detection, thus suffering difficulty from some advanced polymorphic viruses which can infinitely change their signatures. In research community, model checking has been proposed to overcome this problem. Representing core malicious actions as temporal logic formulas, a model checker can then verify presence of malicious actions on a control flow graph (CFG) extracted from a binary executable. However, model-checking-based approaches encounter the infamous state explosion problem. In this paper, we tackle this problem by suggesting to partition the binary-extracted CFG into specific sub-graphs, known as ω-regions. Based on empirical observation on real virus samples, we argue that the code segment corresponding for a viral core malicious action should not occupy more than one ω-region. The tactic for location of those ω-regions from a CFG is also presented. This approach allows us to reduce the verification complexity by means of an incremental verification strategy. As a result, we enjoy significant performance improvement when experimenting with real dataset of viruses.
计算机病毒检测中二进制控制流图ω-区域的增量验证
计算机病毒通常由签名语法模式和执行核心恶意行为的代码段两大部分组成。目前,大多数商业安全程序依靠特征匹配技术进行病毒检测,因此一些可以无限改变其特征的高级多态病毒给病毒检测带来了困难。为了克服这一问题,学术界提出了模型检验的方法。将核心恶意操作表示为时间逻辑公式,然后模型检查器可以在从二进制可执行文件中提取的控制流图(CFG)上验证恶意操作的存在。然而,基于模型检查的方法遇到了臭名昭著的状态爆炸问题。在本文中,我们通过建议将二进制提取的CFG划分为特定的子图(ω-region)来解决这个问题。基于对真实病毒样本的经验观察,我们认为一个病毒核心恶意行为所对应的代码段不应占据多于一个ω-区域。本文还提出了从CFG中定位ω区域的策略。这种方法允许我们通过增量验证策略来降低验证的复杂性。因此,在对真实的病毒数据集进行实验时,我们享受到显著的性能改进。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
文献相关原料
公司名称 产品信息 采购帮参考价格
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信