Znacznik oprogramowania

Taggant programowy to podpis kryptograficzny dodawany do oprogramowania, który umożliwia pozytywną identyfikację pochodzenia i integralność programów. Tagganty programowe wykorzystują standardowe techniki PKI (patrz Infrastruktura klucza publicznego ) i zostały wprowadzone przez grupę Industry Connections Security Group IEEE w celu kontrolowania rozprzestrzeniania się złośliwego oprogramowania zaciemnionego za pomocą kompresji plików wykonywalnych ( program pakujący w czasie wykonywania ).

Koncepcja systemu opartego na PKI w celu ograniczenia nadużyć programów pakujących w czasie wykonywania została wprowadzona w 2010 roku i opisana w prezentacji Black Hat Briefings autorstwa Marka Kennedy'ego i Igora Muttika . Termin został zaproponowany przez Aruna Lakhotię (ze względu na jego podobieństwo do taggantów chemicznych ), który również przeanalizował ekonomikę ekosystemu pakującego.

Taggant oprogramowania jest formą podpisywania kodu, nieco podobną do Authenticode firmy Microsoft . Kluczowe różnice między taggantem programowym a Authenticode polegają na przejrzystym i darmowym dodaniu tagganta programowego dla użytkownika końcowego programu pakującego w czasie wykonywania . Ponadto znacznik oprogramowania może obejmować małe krytyczne obszary programu, aby zminimalizować koszty sprawdzania integralności oprogramowania. Dla kontrastu, Authenticode zawsze obejmuje prawie cały plik, więc koszt sprawdzenia zależy liniowo od rozmiaru pliku.

Projekt taggant oprogramowania jest prowadzony przez IEEE ICSG i ma charakter open source - jest hostowany na GitHub i opiera się na OpenSSL . Tagganty oprogramowania pomagają również legalizować oprogramowanie przed złośliwym oprogramowaniem, które również wykorzystuje metody zapobiegające manipulacjom.