software taggant

A software taggant is a cryptographic signature added to software that enables positive origin identification and integrity of programs. Software taggants use standard public key infrastructure (PKI) techniques and were introduced by the Industry Connections Security Group of IEEE in an attempt to control proliferation of malware obfuscated via executable compression (runtime packers).

The concept of a PKI-based system to mitigate runtime packer abuse was introduced in 2010{{cite web|title=Virus Bulletin 2010 Abstract|url=http://www.virusbtn.com/conference/vb2010/abstracts/ModyMuttikFerrie.xml}}{{cite web|title=Standards and Policies on Packer Use|url=http://pferrie.host22.com/papers/packerstandards.pdf}} and described in a Black Hat Briefings presentation{{cite web|title=IEEE Taggant System|url=https://media.blackhat.com/bh-us-11/Kennedy/BH_US_11_KennedyMuttik_IEEE_Slides.pdf}} by Mark Kennedy and Igor Muttik. The term was proposed by Arun Lakhotia (due to its similarities with chemical taggants) who also analyzed the economics of a packer ecosystem.{{cite journal|title=Game-theory Taggant Ecosystem|doi=10.1109/MALWARE.2011.6112319|s2cid=16911190}}

A software taggant is a form of code signing somewhat similar to Microsoft's Authenticode. The key differences between a software taggant and Authenticode are that the transparent and free addition of a software taggant for the end user of a runtime packer. Also, a software taggant may cover small critical areas of the program to minimize the cost of software integrity checking. To contrast, Authenticode always covers nearly the entire file so the cost of checking linearly depends on the file size.

The software taggant project is run by Industry Connections Security Group and has open-source nature - it is hosted on GitHub{{cite web|title=IEEE Taggant System Source Code Repository|website=GitHub |date=15 July 2022 |url=https://github.com/IEEEICSG/IEEE_Taggant_System}} and relies on OpenSSL. Software taggants also help to legitimate software from malware which also utilize anti-tampering methods.

References

{{reflist}}{{Computer-security-stub}}

Category:Cryptographic algorithms