liu.seSearch for publications in DiVA
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
desync-cc: An Automatic Disassembly-Desynchronization Obfuscator
Linköping University, Department of Computer and Information Science, Database and information techniques. Linköping University, Faculty of Science & Engineering.ORCID iD: 0000-0002-3009-4314
Linköping University.
Linköping University.
Linköping University.
Show others and affiliations
2022 (English)In: 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering, IEEE Computer Society, 2022, p. 464-468Conference paper, Published paper (Refereed)
Abstract [en]

Code obfuscation is an important topic, both in terms of defense, when trying to prevent intellectual property theft, and from the offensive point of view, when trying to break obfuscation used by malware authors to hide their malicious intents. Consequently, several works in recent years have discussed techniques that aim to prevent or delay reverse-engineering of binaries. While most works focus on methods that obscure the program logic from potential attackers, the complimentary approach of disassembly desynchronization has received relatively little attention. This technique puts another hurdle in the way of attackers by targeting the most fundamental step of the reverse-engineering process: recovering assembly code from a program binary. The technique works by tricking a disassembler into decoding the instruction stream at an invalid offset. On CPU architectures with variable-length instructions, this often yields valid albeit meaningless assembly code, while hiding a part of the original code.

In the interest of furthering research into disassembly desynchronization, both from a defensive and offensive point of view, we have created desync-cc, a tool for automatic application of disassembly-desynchronization obfuscation. The tool is designed as a drop-in replacement for gcc, and works by intercepting and modifying intermediate assembly code during compilation. By applying obfuscation after the code generation phase, our tool allows a much more granular control over where obfuscation is applied, compared to a source-code level obfuscator. In this paper, we describe the design and implementation of desync-cc, and present a preliminary evaluation of its effectiveness and efficiency on a number of real-world Linux programs.

Place, publisher, year, edition, pages
IEEE Computer Society, 2022. p. 464-468
Keywords [en]
Disassembly desynchronization, Code obfuscation, Reverse engineering, x86 architecture
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:liu:diva-188915DOI: 10.1109/SANER53432.2022.00063ISI: 000855050800051ISBN: 9781665437868 (electronic)OAI: oai:DiVA.org:liu-188915DiVA, id: diva2:1700449
Conference
2022 IEEE International Conference on Software Analysis, Evolution and Reengineering, Virtual Conference, March 15-18, 2022
Funder
CUGS (National Graduate School in Computer Science)ELLIIT - The Linköping‐Lund Initiative on IT and Mobile CommunicationsAvailable from: 2022-09-30 Created: 2022-09-30 Last updated: 2022-11-10Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full text

Authority records

Kargén, UlfShahmehri, Nahid

Search in DiVA

By author/editor
Kargén, UlfHärnqvist, IvarWilson, JohannesEriksson, GustavHolmgren, EvelinaShahmehri, Nahid
By organisation
Database and information techniquesFaculty of Science & EngineeringLinköping University
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 257 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf