Skip to main content

2017 | OriginalPaper | Buchkapitel

Combating Control Flow Linearization

verfasst von : Julian Kirsch, Clemens Jonischkeit, Thomas Kittel, Apostolis Zarras, Claudia Eckert

Erschienen in: ICT Systems Security and Privacy Protection

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Piracy is a persistent headache for software companies that try to protect their assets by investing both time and money. Program code obfuscation as a sub-field of software protection is a mechanism widely used toward this direction. However, effectively protecting a program against reverse-engineering and tampering turned out to be a highly non-trivial task that still is subject to ongoing research. Recently, a novel obfuscation technique called Control Flow Linearization (CFL) is gaining ground. While existing approaches try to complicate analysis by artificially increasing the control flow of a protected program, CFL takes the exact opposite direction: instead of increasing the complexity of the corresponding Control Flow Graph (CFG), the discussed obfuscation technique decreases the amount of nodes and edges in the CFG. In an extreme case, this means that the obfuscated program degenerates to one singular basic block, while still preserving its original semantics. In this paper, we present the DeMovfuscator, a system that is able to accurately break CFL obfuscation. DeMovfuscator can reconstruct the control flow, making only marginal assumptions about the execution environment of the obfuscated code. We evaluate both the performance and size overhead of CFL as well as the feasibility of our approach to deobfuscation. Overall, we show that even though CFL sounds like an ideal solution that can evade the state of the art deobfuscation approaches, it comes with its own limitations.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literatur
5.
Zurück zum Zitat Borello, J.-M., Mé, L.: Code obfuscation techniques for metamorphic viruses. J. Comput. Virol. 4(3), 211–220 (2008)CrossRef Borello, J.-M., Mé, L.: Code obfuscation techniques for metamorphic viruses. J. Comput. Virol. 4(3), 211–220 (2008)CrossRef
6.
Zurück zum Zitat Brumley, D., Jager, I., Avgerinos, T., Schwartz, E.J.: BAP: a binary analysis platform. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 463–469. Springer, Heidelberg (2011). doi:10.1007/978-3-642-22110-1_37 CrossRef Brumley, D., Jager, I., Avgerinos, T., Schwartz, E.J.: BAP: a binary analysis platform. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 463–469. Springer, Heidelberg (2011). doi:10.​1007/​978-3-642-22110-1_​37 CrossRef
7.
Zurück zum Zitat Cadar, C., Dunbar, D., Engler, D.R., et al.: KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs. In: USENIX Symposium on Operating System Design and Implementation (OSDI) (2008) Cadar, C., Dunbar, D., Engler, D.R., et al.: KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs. In: USENIX Symposium on Operating System Design and Implementation (OSDI) (2008)
8.
Zurück zum Zitat Collberg, C., Thomborson, C., Low, D.: A taxonomy of obfuscating transformations. Technical report (1997) Collberg, C., Thomborson, C., Low, D.: A taxonomy of obfuscating transformations. Technical report (1997)
9.
Zurück zum Zitat Coogan, K., Lu, G., Debray, S.: Deobfuscation of virtualization-obfuscated software: a semantics-based approach. In: Conference on Computer and Communications Security (CCS) (2011) Coogan, K., Lu, G., Debray, S.: Deobfuscation of virtualization-obfuscated software: a semantics-based approach. In: Conference on Computer and Communications Security (CCS) (2011)
11.
Zurück zum Zitat Dolan, S.: Mov is turing-complete. Technical report (2013) Dolan, S.: Mov is turing-complete. Technical report (2013)
12.
Zurück zum Zitat Dworkin, M.: Recommendation for block cipher modes of operation (2001) Dworkin, M.: Recommendation for block cipher modes of operation (2001)
13.
Zurück zum Zitat El-Khalil, R., Keromytis, A.D.: Hydan: hiding information in program binaries. In: Lopez, J., Qing, S., Okamoto, E. (eds.) ICICS 2004. LNCS, vol. 3269, pp. 187–199. Springer, Heidelberg (2004). doi:10.1007/978-3-540-30191-2_15 CrossRef El-Khalil, R., Keromytis, A.D.: Hydan: hiding information in program binaries. In: Lopez, J., Qing, S., Okamoto, E. (eds.) ICICS 2004. LNCS, vol. 3269, pp. 187–199. Springer, Heidelberg (2004). doi:10.​1007/​978-3-540-30191-2_​15 CrossRef
14.
Zurück zum Zitat Fraser, C., Hanson, D.: A Retargetable C Compiler: Design and Implementation. Addison-Wesley, Reading (1995)MATH Fraser, C., Hanson, D.: A Retargetable C Compiler: Design and Implementation. Addison-Wesley, Reading (1995)MATH
15.
Zurück zum Zitat Ghosh, S., Hiser, J.D., Davidson, J.W.: Matryoshka: strengthening software protection via nested virtual machines. In: International Workshop on Software Protection (2015) Ghosh, S., Hiser, J.D., Davidson, J.W.: Matryoshka: strengthening software protection via nested virtual machines. In: International Workshop on Software Protection (2015)
16.
Zurück zum Zitat Junod, P., Rinaldini, J., Wehrli, J., Michielin, J.: Obfuscator-LLVM: software protection for the masses. In: International Workshop on Software Protection (2015) Junod, P., Rinaldini, J., Wehrli, J., Michielin, J.: Obfuscator-LLVM: software protection for the masses. In: International Workshop on Software Protection (2015)
18.
Zurück zum Zitat Rolles, R.: Unpacking virtualization obfuscators. In: Workshop on Offensive Technologies (WOOT) (2009) Rolles, R.: Unpacking virtualization obfuscators. In: Workshop on Offensive Technologies (WOOT) (2009)
19.
Zurück zum Zitat Sen, K., Marinov, D., Agha, G.: CUTE: a concolic unit testing engine for C. In: European Symposium on Research in Computer Security (2005) Sen, K., Marinov, D., Agha, G.: CUTE: a concolic unit testing engine for C. In: European Symposium on Research in Computer Security (2005)
20.
Zurück zum Zitat Sharif, M., Lanzi, A., Giffin, J., Lee, W.: Automatic reverse engineering of malware emulators. In: IEEE Symposium on Security and Privacy (2009) Sharif, M., Lanzi, A., Giffin, J., Lee, W.: Automatic reverse engineering of malware emulators. In: IEEE Symposium on Security and Privacy (2009)
21.
Zurück zum Zitat Shoshitaishvili, Y., Wang, R., Hauser, C., Kruegel, C., Vigna, G.: Firmalice - automatic detection of authentication bypass vulnerabilities in binary firmware. In: ISOC Network and Distributed System Security Symposium (NDSS) (2015) Shoshitaishvili, Y., Wang, R., Hauser, C., Kruegel, C., Vigna, G.: Firmalice - automatic detection of authentication bypass vulnerabilities in binary firmware. In: ISOC Network and Distributed System Security Symposium (NDSS) (2015)
22.
Zurück zum Zitat Shoshitaishvili, Y., Wang, R., Salls, C., Stephens, N., Polino, M., Dutcher, A., Grosen, J., Feng, S., Hauser, C., Kruegel, C., Vigna, G.: SoK: (State of) the Art of War: offensive techniques in binary analysis. In: IEEE Symposium on Security and Privacy (2015) Shoshitaishvili, Y., Wang, R., Salls, C., Stephens, N., Polino, M., Dutcher, A., Grosen, J., Feng, S., Hauser, C., Kruegel, C., Vigna, G.: SoK: (State of) the Art of War: offensive techniques in binary analysis. In: IEEE Symposium on Security and Privacy (2015)
24.
Zurück zum Zitat Wang, C., Hill, J., Knight, J., Davidson, J.: Software tamper resistance: obstructing static analysis of programs. Technical report (2000) Wang, C., Hill, J., Knight, J., Davidson, J.: Software tamper resistance: obstructing static analysis of programs. Technical report (2000)
25.
Zurück zum Zitat Wang, Z., Ming, J., Jia, C., Gao, D.: Linear obfuscation to combat symbolic execution. In: European Symposium on Research in Computer Security (2011) Wang, Z., Ming, J., Jia, C., Gao, D.: Linear obfuscation to combat symbolic execution. In: European Symposium on Research in Computer Security (2011)
26.
Zurück zum Zitat Yadegari, B., Johannesmeyer, B., Whitely, B., Debray, S.: A generic approach to automatic deobfuscation of executable code. In: IEEE Symposium on Security and Privacy (2015) Yadegari, B., Johannesmeyer, B., Whitely, B., Debray, S.: A generic approach to automatic deobfuscation of executable code. In: IEEE Symposium on Security and Privacy (2015)
Metadaten
Titel
Combating Control Flow Linearization
verfasst von
Julian Kirsch
Clemens Jonischkeit
Thomas Kittel
Apostolis Zarras
Claudia Eckert
Copyright-Jahr
2017
DOI
https://doi.org/10.1007/978-3-319-58469-0_26