A Java based component identification tool for measuring the strength of circuit protections

  • Authors:
  • James D. Parham;J. Todd McDonald;Michael R. Grimaila;Yong C. Kim

  • Affiliations:
  • Air Force Institute of Technology, Wright-Patterson AFB, OH;Air Force Institute of Technology, Wright-Patterson AFB, OH;Air Force Institute of Technology, Wright-Patterson AFB, OH;Air Force Institute of Technology, Wright-Patterson AFB, OH

  • Venue:
  • Proceedings of the Sixth Annual Workshop on Cyber Security and Information Intelligence Research
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Protecting circuitry from reverse engineering is extremely important for the protection of intellectual property and critical technologies. A failure to adequately mitigate reverse engineering risks can result in significant consequences. In commercial environments, the consequences include loss of revenue resulting from the removal of content access restrictions, creation of unlicensed copies of a circuit, and intellectual property theft. In military environments, consequences include an adversary's ability to gain valuable knowledge about the structure, function, and operation of the system enabling them to develop countermeasures to defeat or corrupt the system's intended purpose. When critical systems are compromised, organizations may be required to spend millions of dollars and countless labor hours making changes in the system and redesigning new protection circuitry. While there are multiple protection algorithms and schemes which claim to provide protection against reverse engineering, little research exists on developing methods to measure the effectiveness of protections. Component identification is an essential step of the reverse engineering process of circuits which are increasingly being embedded in modern systems. The task of component identification is not trivial and requires significant effort even for relatively small circuits. For this reason, computer tools are often employed to make the analysis of larger circuits possible. In this paper, we discuss the development and implementation of a Java based tool that can be used to identify components in combinational circuits. The use of a component identification tool provides metrics that can be used to differentially evaluate the "strength" of protections within circuits. We introduce the foundational candidate enumeration algorithm, explain the additional techniques required for identifying components in large Boolean circuits, and demonstrate the utility of the method through the analysis of multiple combinational circuits.