On Simplifying Mixed Boolean-Arithmetic Expressions

IF 0.6 Q4 AUTOMATION & CONTROL SYSTEMS
Yu. V. Kosolapov
{"title":"On Simplifying Mixed Boolean-Arithmetic Expressions","authors":"Yu. V. Kosolapov","doi":"10.3103/S0146411624700299","DOIUrl":null,"url":null,"abstract":"<p>Mixed Boolean-arithmetic expressions (MBA expressions) with <i>t</i> integer <i>n</i>-bit variables are often used for program obfuscations. Obfuscation consists of replacing short expressions with longer equivalent expressions that seem to take the analyst more time to explore. This paper shows that to simplify linear MBA expressions (reduce the number of terms), a technique similar to the technique of decoding linear codes by information sets can be applied. Based on this technique, algorithms for simplifying linear MBA expressions are constructed: an algorithm for finding an expression of minimum length and an algorithm for reducing the length of an expression. Based on the length reduction algorithm, an algorithm is constructed that allows us to estimate the resistance of an MBA expression to simplification. We experimentally estimate the dependence of the average number of terms in a linear MBA expression returned by simplification algorithms on <i>n</i>, the number of decoding iterations, and the power of the set of Boolean functions, by which a linear combination with a minimum number of nonzero coefficients is sought. The results of the experiments for all considered <i>t</i> and <i>n</i> show that if before obfuscation the linear MBA expression contained <i>r</i> = 1, 2, 3 terms, then the developed simplification algorithms with a probability close to one allow using the obfuscated version of this expression find an equivalent one with no more than <i>r</i> terms. This is the main difference between the information set decoding technique and the well-known techniques for simplifying linear MBA expressions, where the goal is to reduce the number of terms to no more than <i>2</i><sup><i>t</i></sup>. We also found that for randomly generated linear MBA expressions with increasing <i>n</i>, the average number of terms in the returned expression tends to <i>2</i><sup><i>t</i></sup> and does not differ from the average number of terms in the linear expression returned by known simplification algorithms. The results obtained, in particular, make it possible to determine <i>t</i> and <i>n</i> for which the number of terms in the simplified linear MBA expression on average will not be less than the given one.</p>","PeriodicalId":46238,"journal":{"name":"AUTOMATIC CONTROL AND COMPUTER SCIENCES","volume":"58 7","pages":"836 - 852"},"PeriodicalIF":0.6000,"publicationDate":"2025-02-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"AUTOMATIC CONTROL AND COMPUTER SCIENCES","FirstCategoryId":"1085","ListUrlMain":"https://link.springer.com/article/10.3103/S0146411624700299","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"AUTOMATION & CONTROL SYSTEMS","Score":null,"Total":0}
引用次数: 0

Abstract

Mixed Boolean-arithmetic expressions (MBA expressions) with t integer n-bit variables are often used for program obfuscations. Obfuscation consists of replacing short expressions with longer equivalent expressions that seem to take the analyst more time to explore. This paper shows that to simplify linear MBA expressions (reduce the number of terms), a technique similar to the technique of decoding linear codes by information sets can be applied. Based on this technique, algorithms for simplifying linear MBA expressions are constructed: an algorithm for finding an expression of minimum length and an algorithm for reducing the length of an expression. Based on the length reduction algorithm, an algorithm is constructed that allows us to estimate the resistance of an MBA expression to simplification. We experimentally estimate the dependence of the average number of terms in a linear MBA expression returned by simplification algorithms on n, the number of decoding iterations, and the power of the set of Boolean functions, by which a linear combination with a minimum number of nonzero coefficients is sought. The results of the experiments for all considered t and n show that if before obfuscation the linear MBA expression contained r = 1, 2, 3 terms, then the developed simplification algorithms with a probability close to one allow using the obfuscated version of this expression find an equivalent one with no more than r terms. This is the main difference between the information set decoding technique and the well-known techniques for simplifying linear MBA expressions, where the goal is to reduce the number of terms to no more than 2t. We also found that for randomly generated linear MBA expressions with increasing n, the average number of terms in the returned expression tends to 2t and does not differ from the average number of terms in the linear expression returned by known simplification algorithms. The results obtained, in particular, make it possible to determine t and n for which the number of terms in the simplified linear MBA expression on average will not be less than the given one.

Abstract Image

关于简化混合布尔算术表达式
带有t个整数n位变量的混合布尔算术表达式(MBA表达式)经常用于程序混淆。混淆包括用较长的等效表达式替换较短的表达式,这似乎需要分析人员花费更多的时间来探索。为了简化线性MBA表达式(减少术语数),可以采用一种类似信息集解码线性码的技术。在此基础上,构造了简化线性MBA表达式的算法:寻找最小长度表达式的算法和减小表达式长度的算法。在长度缩减算法的基础上,构造了一种算法,使我们能够估计MBA表达式的简化阻力。我们通过实验估计了简化算法返回的线性MBA表达式中平均项数与n、解码迭代次数和布尔函数集的幂的相关性,通过该函数集寻求具有最小非零系数数的线性组合。对所有考虑t和n的实验结果表明,如果在混淆之前线性MBA表达式包含r = 1,2,3项,那么开发的简化算法的概率接近1,允许使用该表达式的混淆版本找到不超过r项的等效表达式。这是信息集解码技术与简化线性MBA表达式的著名技术之间的主要区别,后者的目标是将术语数量减少到不超过2t。我们还发现,对于随机生成的线性MBA表达式,随着n的增加,返回表达式中的平均项数趋于2t,并且与已知简化算法返回的线性表达式中的平均项数没有差异。特别地,所得的结果使我们有可能确定t和n,其中简化线性MBA表达式中的项数平均不少于给定的项数。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
AUTOMATIC CONTROL AND COMPUTER SCIENCES
AUTOMATIC CONTROL AND COMPUTER SCIENCES AUTOMATION & CONTROL SYSTEMS-
CiteScore
1.70
自引率
22.20%
发文量
47
期刊介绍: Automatic Control and Computer Sciences is a peer reviewed journal that publishes articles on• Control systems, cyber-physical system, real-time systems, robotics, smart sensors, embedded intelligence • Network information technologies, information security, statistical methods of data processing, distributed artificial intelligence, complex systems modeling, knowledge representation, processing and management • Signal and image processing, machine learning, machine perception, computer vision
×
引用
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学术官方微信