skip to main content
10.1145/3341105.3374031acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article
Public Access

Polymorphic circuit generation using random boolean logic expansion

Published: 30 March 2020 Publication History

Abstract

Securing applications on untrusted platforms can involve protection against legitimate end-users who act in the role of malicious reverse engineers and hackers. Such adversaries have access to the full execution environment of programs, whether the program comes in the form of software or hardware. In this paper, we consider the nature of obfuscating algorithms that perform iterative, step-wise transformation of programs into more complex forms that are intended to increase the complexity (time, resources) for malicious reverse engineers. We consider simple Boolean logic programs as the domain of interest and examine a specific transformation technique known as iterative sub-circuit selection and replacement (ISR), which represents a practical, syntactic approach for obfuscation. Specifically, we focus on improving the security of ISR by maximizing the flexibility and potential security of the replacement step of the algorithm which can be formulated in the following question: given a selection of Boolean logic gates (i.e., a sub-circuit), how can we produce a semantically equivalent (polymorphic) version of the sub-circuit such that the distribution of potential replacements represents a random, uniform distribution from the set of all possible replacements. This practical question is related to the theoretic study of indistinguishability obfuscation, where a transformer for a class of circuits guarantees that given any two semantically equivalent circuits from the class, the distribution of variants from their obfuscation are computationally indistinguishable. Ideally, polymorphic circuits that follow a random, uniform distribution provide stronger protection against malicious analyzers that target identification of distinct patterns as a basis for deobfuscation and simplification.
In this paper, we introduce a novel approach for polymorphic circuit replacement called random Boolean logic expansion (RBLE), which applies Boolean logic laws (of reduction) in reverse. We compare this approach against another proposed method of polymorphic replacement that relies on static circuit libraries. As a contribution, we show the strengths and weaknesses of each approach, examine initial results from empirical studies to estimate the uniformity of polymorphic distributions, and provide the argument for how such algorithms can be readily applied in software contexts. RBLE provides a unique method to generate polymorphic variants of arbitrary input, output, and gate size. We report initial findings for studying variants produced by this method and, from empirical evaluation, show that RBLE has promise for generating distributions of unique, uniform circuits when size is unconstrained, but for targeted size distributions, the approach requires some adjustment in order to reach potential circuit variants.

References

[1]
2016. BSA Global Software Survey: Seizing Opportunity Through License Compliance. https://globalstudy.bsa.org/2016/. Accessed: 2019-08-12.
[2]
R. Bryant. 1986. Graph-Based Algorithms for Boolean Function Manipulation. IEEE Trans. Comput. C-35, 8 (Aug 1986), 677--691.
[3]
C. Collberg. 2018. Code Obfuscation: Why is This Still a Thing?. In Proc of the 8th ACM Conference on Data Application Security and Privacy (CODASPY '18). ACM, New York, NY, USA, 173--174.
[4]
C. Collberg, J. Davidson, R. Giacobazzi, Y. Gu, A. Herzberg, and F. Wang. 2011. Toward Digital Asset Protection. IEEE Intelligent Systems 26, 6 (Nov. 2011), 8--13.
[5]
C. Collberg and J. Nagra. 2009. Surreptitious Software: Obfuscation, Watermarking, and Tamperproofing for Software Protection (1st ed.). Addison-Wesley.
[6]
Y. Crama and P. Hammer. 2011. Boolean Functions: Theory, Algorithms, and Applications.
[7]
G. De Micheli. 1994. Synthesis and Optimization of Digital Circuits (1st ed.). McGraw-Hill Higher Education.
[8]
D. Evans, V. Kolesnikov, and M. Rosulek. 2018. A Pragmatic Introduction to Secure Multi-Party Computation. Foundations and Trends in Privacy and Security 2, 2-3 (2018), 70--246.
[9]
M. Hansen, H. Yalcin, and J.P. Hayes. 1999. Unveiling the ISCAS-85 Benchmarks: A Case Study in Reverse Engineering. IEEE Des. Test 16, 3 (July 1999), 72--80.
[10]
D. Malkhi, N. Nisan, B. Pinkas, and Y. Sella. 2004. Fairplay---a Secure Two-party Computation System. In Proc. of the 13th Conference on USENIX Security Symposium (SSYM'04). USENIX Association, Berkeley, CA, USA.
[11]
R. Manikyam. 2019. Program Protection Using Software Based Hardware Abstraction. Ph.D. Dissertation. University of South Alabama.
[12]
R. Manikyam, J. McDonald, T. Andel, and M. Yampolskiy. 2019. Poster: Analyzing Program Protection Using Software-Based Hardware Abstraction. In 3rd Workshop for Women in Hardware and Systems Security (WISE).
[13]
J. McDonald and Y. Kim. 2012. Examining Tradeoffs for Hardware-Based Intellectual Property Protection. In Proc. of the 7th Intrnl Conference on Information Warfare and Security 2012 (ICIW 2012). 192--202.
[14]
J. McDonald, Y. Kim, and M. Grimaila. 2009. Protecting Reprogrammable Hardware with Polymorphic Circuit Variation. In Proceedings of the 2nd Cyberspace Research Workshop, June 2009, Shreveport, Louisiana, USA.
[15]
J. McDonald, Y. Kim, D. Koranek, and J. Parham. 2012. Evaluating component hiding techniques in circuit topologies. IEEE International Conference on Communications, 1138--1143.
[16]
J. McDonald, E. Trias, Y. Kim, and M. Grimaila. 2010. Using logic-based reduction for adversarial component recovery. Proceedings of the ACM Symposium on Applied Computing, 1993--2000.
[17]
T. Miracco. 2016. The Hidden Cost Of Software Piracy In The Manufacturing Industry. https://www.manufacturing.net/article/2016/02/hidden-cost-software-piracy-manufacturing-industry/. Accessed: 2019-08-12.
[18]
K. Nohl, D. Evans, Starbug, and H. Plötz. 2008. Reverse-engineering a Cryptographic RFID Tag. In Proceedings of the 17th Conference on Security Symposium (SS'08). USENIX Association, Berkeley, CA, USA, 185--193.
[19]
J. Parham, J. McDonald, M. Grimaila, and Y. Kim. 2010. A Java based Component Identification Tool for Measuring the Strength of Circuit Protections. In Proc. of the 6th CSIIRW 2010, Oak Ridge, TN, USA, April 21--23, 2010. 1.
[20]
F. Petitcolas. 2011. Kerckhoffs' Principle. Springer US, Boston, MA, 675--675.
[21]
E. Simonaire. 2008. Sub-Circuit Selection and Replacement Algorithms Modeled as Term Rewriting Systems. Master's thesis. AF Inst of Technology, WPAFB, OH.
[22]
N. Wirth. 1998. Hardware compilation: translating programs into circuits. Computer 31, 6 (June 1998), 25--31.
[23]
A. Yao. 1986. How to Generate and Exchange Secrets. In Proc. of the 27th Annual Symposium on Foundations of Computer Science (SFCS '86). 162--167.

Cited By

View all

Index Terms

  1. Polymorphic circuit generation using random boolean logic expansion

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      SAC '20: Proceedings of the 35th Annual ACM Symposium on Applied Computing
      March 2020
      2348 pages
      ISBN:9781450368667
      DOI:10.1145/3341105
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 30 March 2020

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. boolean logic
      2. indistinguishability obfuscation
      3. polymorphic generation
      4. random circuits
      5. software protection

      Qualifiers

      • Research-article

      Funding Sources

      Conference

      SAC '20
      Sponsor:
      SAC '20: The 35th ACM/SIGAPP Symposium on Applied Computing
      March 30 - April 3, 2020
      Brno, Czech Republic

      Acceptance Rates

      Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

      Upcoming Conference

      SAC '25
      The 40th ACM/SIGAPP Symposium on Applied Computing
      March 31 - April 4, 2025
      Catania , Italy

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)86
      • Downloads (Last 6 weeks)25
      Reflects downloads up to 31 Jan 2025

      Other Metrics

      Citations

      Cited By

      View all

      View Options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Login options

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media