ArticleslgStudy

computer science

Software taggant

Software taggant is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Software taggant rather than just read about it. In short: 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).

Key takeaways

  • Software taggant belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Software taggant to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Software taggant from memory before moving on to harder problems.

Reference excerpt

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 and described in a Black Hat Briefings presentation 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. 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 and relies on OpenSSL. Software taggants also help to legitimate software from malware which also utilize anti-tampering methods.

References

Worked examples

Example 1 — a first encounter with Software taggant

Start with the simplest possible case. Write down what Software taggant claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Software taggant before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Software taggant ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Software taggant

In research
Software taggant appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Software taggant in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Software taggant is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computer security stubs, Cryptographic algorithms, so understanding it makes those chapters shorter.
In everyday life
Look for Software taggant outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Software taggant in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Software taggant means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Software taggant out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Software taggant in simple terms?

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…

Why does Software taggant matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Software taggant?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Software taggant.

Tags

  • Computer security stubs
  • Cryptographic algorithms

Keep exploring