Autora programu lze určit nejen ze zdrojového kódu

ITBiz.cz , 24. duben 2018 06:00 2 komentářů
Autora programu lze určit nejen ze zdrojového kódu

Zdrojový kód každého autora je specifický málem jako literární styl, nicméně moderní nástroje prý umožňují identifikovat tyto vlastnosti celkem spolehlivě i ve zkompilovaném kódu. Může to být využitelné např. při pátrání po tvůrcích malwaru nebo v jiných forenzních aplikacích; mnoho programátorů může však současně mít pocit ohrožení soukromí.

Výzkumníci z Princeton University, Drexel University, Braunschweig University of Technology a společností Sophos a Shiftleft ukázali ve studii publikované na preprintovém serveru ArXiv, jak lze nástroje zkoumající styl nasadit i na binární soubory. Stačí pomocí strojového učení dostatečně vytrénovat program na obdobných známých vzorcích a pak binární soubor dekompilovat do kódu podobného jazyku C (jistě by šlo provést i jinak). Vlastní použitý proces je několikastupňový, přes assembler až po tvorbu abstraktního syntaktického stromu, a využívá více nástrojů (Radare2, ndisasm, Hex-Rays) – ti si autoři výzkumu sami nevyvíjeli, takže zde je další prostor pro zvýšení účinnosti, vytvořením speciálních nástrojů šitých na míru.

Při kompilování se celá řada atributů původního zdrojového kódu samozřejmě ztratí, např. i v důsledku optimalizace. Komentáře, mnohá metadata nebo i názvy proměnných a funkcí se již dekomplilací obnovit nedají, ale i tak zbude dost individuálních rysů – alespoň pro současné programy umělé inteligence. Jaká je úspěšnost přiřazení autora? Výzkumníci zkusili své neuronové sítě na dvou typech vzorků, z Google Code Jam a veřejných repozitářů na GitHubu.

U Google Code Jam dostal algoritmus strojového učení na začátek 8 programů každého účastníka. Mezi 100 programátory pak šlo autora určit s úspěšností 96 %, mezi 600 poklesla na 83 %. Zajímavé je, že úspěšnost identifikace stoupala s pokročilostí programátora – čím jsou lepší, tím mají víc vlastní styl (přitom by se dalo čekat, že naopak snadněji by šlo odhalit programátory podle toho, že používají neefektivní, suboptimální řešení, špatně lze věc udělat více způsoby než správně; možná by se to dalo porovnávat třeba s identifikací děl malířů, šachistů apod. v závislosti na jejich kvalitě).

U GitHubu byla úspěšnost menší, asi 65 % při 50 programátorech. To podle autorů výzkumu vyplývá hlavně z toho, že kód mnohdy obsahuje části, jejichž autorem byl někdo jiný než vlastník repozitáře.

Další otázkou je, co se stane, pokud autoři programu budou kromě komplikace mít snahu záměrně své dílo anonymizovat, tedy např. odstranit operace o symbolech, měnit operace za jejich sémantické ekvivalenty nebo dokonce přidávat nepotřebné příkazy (tedy používat různé techniky obfuskace, ty jsou ovšem ve stávající podobě určeny pro znečitelnění zdrojového kódu). Samozřejmě záleží na tom, jaké konkrétní nástroje se k tomu použijí, ale podle autorů výzkumu se tím přiřazení autorství neznemožní, i když úspěšnost identifikace programátora přirozeně poklesne.

Techniky znáhodňování kódu používají na různé úrovni už dávno tvůrci malwaru, nemusí jim to ale být nic platné (pokud ovšem není kód dílem velké skupiny, která navíc využívá ještě jiné části kódu). Také lze tímto způsobem třeba odhalovat autorství programů, které se z řady důvodů nelíbí v některých státech – obcházejí cenzuru, firewally, nabízejí šifrování apod. Mohou takto prostě vycházet najevo různé věci, bez ohledu na to, na čí straně budou v konkrétních případech naše sympatie.

Co doporučit vývojářům, kteří si chtějí zachovat anonymitu? Podle autorů výzkumu je nejjednodušší v první řadě nepoužívat veřejné přístupné repozitáře kódů. Pro každý uvolněný kód lze vytvořit jinou identitu – neuronová síť nejprve potřebuje určitý vzorek, aby se „naučila“ styl konkrétního člověka, s hromadou autorů jediného programu si asi pořádně poradit nedokáže. The Register cituje Ailyn Calyskan z Princetonu, která navíc rozebírá účinnost různých speciálních technik na proces detekce (např. náhodně vždy použít různých obfuskačních nástrojů apod.). Nakonec některé věci stejně náhodné nejsou, malware třeba komunikuje s určitými řídicími servery, odesílá určitá data – to už ale není předmětem vlastní práce.


Komentáře

jenny #0
jenny 24. září 2018 09:52

At the website it can be so useful to get the brawl stars hack and cheats that you can generate a lot number of gems and gold at http://brawlstarshacked.com online.

jenny #1
jenny 24. září 2018 09:52

At the website it can be so useful to get the brawl stars hack and cheats that you can generate a lot number of gems and gold at http://brawlstarshacked.com online.

RSS 

Komentujeme

Do 100 let díky pivu

Pavel Houser , 02. prosinec 2018 16:00
Pavel Houser

Šéf Amazonu věří, že pozitivní vliv na dlouhověkost má alkohol – alespoň v případě firem. Jeff Bezo...

Více

Kalendář

29. 01. Reshoper 2019
29. 03.

30. 03.
Czech On-line Expo 2019
01. 04.

05. 04.
SuSEcon 2019







RSS 

Zprávičky

Nová kampaň cílí na elektronické bankovnictví v ČR

Pavel Houser , 11. prosinec 2018 11:24

Stejná kampaň je opakovaně a dlouhodobě aktivní v Polsku a Španělsku....

Více 0 komentářů

Google kvůli dalšímu úniku údajů vypne Google+ už v dubnu

ČTK , 11. prosinec 2018 10:31

Bezpečnostní problém umožňoval vývojářům aplikací přístup k osobním údajům uživatelů...

Více 0 komentářů

Lyft je blíže uvedení na burzu, předstihne Uber

ČTK , 11. prosinec 2018 09:00

Své akcie formou IPO nabídly letos např. Dropbox nebo Spotify....

Více 0 komentářů

Starší zprávičky

Primární nabídka divize SoftBank bude největší v Japonsku

ČTK , 11. prosinec 2018 08:00

Vstup firmy na burzu bude největší primární nabídkou v Japonsku a jednou z největších na světě....

Více 0 komentářů

Kauza Huawei zaměstnává světovou politiku

ČTK , 10. prosinec 2018 09:00

Komisař EU pro digitální trh: čínské technologické firmy jsou nuceny spolupracovat s čínskými tajným...

Více 1 komentářů

Analýza: E-shopy letos na černý pátek omezily triky s cenami

ČTK , 10. prosinec 2018 08:00

Útraty Čechů v týdnu během slevových akcí na tzv. černý pátek dosáhly letos rekordní 4,2 miliardy Kč...

Více 0 komentářů

Před 50 lety tým vědce Engelbarta představil počítačovou myš

ČTK , 09. prosinec 2018 08:00

"Ani nevím, proč tomu říkáme myš. Asi kvůli čouhajícímu kabelu."...

Více 0 komentářů