Skip to main content
Top

2017 | OriginalPaper | Chapter

Generating Functionally Equivalent Programs Having Non-isomorphic Control-Flow Graphs

Authors : Rémi Géraud, Mirko Koscina, Paul Lenczner, David Naccache, David Saulpic

Published in: Secure IT Systems

Publisher: Springer International Publishing

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

One of the big challenges in program obfuscation consists in modifying not only the program’s straight-line code (SLC) but also the program’s control flow graph (CFG). Indeed, if only SLC is modified, the program’s CFG can be extracted and analyzed. Usually, the CFG leaks a considerable amount of information on the program’s structure.
In this work we propose a method allowing to re-write a code P into a functionally equivalent code \(P'\) such that \({\text {CFG}}(P)\) and \({\text {CFG}}(P')\) are radically different.

Dont have a licence yet? Then find out more about our products and how to get one now:

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!

Literature
1.
go back to reference Cappaert, J., Preneel, B.: A general model for hiding control flow. In Proceedings of the tenth annual ACM workshop on Digital rights management, pp. 35–42. ACM, 2010 Cappaert, J., Preneel, B.: A general model for hiding control flow. In Proceedings of the tenth annual ACM workshop on Digital rights management, pp. 35–42. ACM, 2010
2.
go back to reference Chow, S., Gu, Y., Johnson, H., Zakharov, V.A.: An approach to the obfuscation of control-flow of sequential computer programs. In: Davida, G.I., Frankel, Y. (eds.) ISC 2001. LNCS, vol. 2200, pp. 144–155. Springer, Heidelberg (2001). doi:10.1007/3-540-45439-X_10 CrossRef Chow, S., Gu, Y., Johnson, H., Zakharov, V.A.: An approach to the obfuscation of control-flow of sequential computer programs. In: Davida, G.I., Frankel, Y. (eds.) ISC 2001. LNCS, vol. 2200, pp. 144–155. Springer, Heidelberg (2001). doi:10.​1007/​3-540-45439-X_​10 CrossRef
3.
go back to reference Davi, L.V.: Code-Reuse attacks and defenses. Ph.D. thesis (2015) Davi, L.V.: Code-Reuse attacks and defenses. Ph.D. thesis (2015)
4.
go back to reference Dullien, T., Rolles, R.: Graph-based comparison of executable objects (English version). In: SSTIC, vol. 5, pp. 1–3 (2005) Dullien, T., Rolles, R.: Graph-based comparison of executable objects (English version). In: SSTIC, vol. 5, pp. 1–3 (2005)
6.
go back to reference Flake, H.: Structural comparison of executable objects. In: DIMVA 2004, 6–7 July, Dortmund, Germany, pp. 161–173 (2004) Flake, H.: Structural comparison of executable objects. In: DIMVA 2004, 6–7 July, Dortmund, Germany, pp. 161–173 (2004)
7.
go back to reference Kruegel, C., Kirda, E., Mutz, D., Robertson, W., Vigna, G.: Polymorphic worm detection using structural information of executables. In: Valdes, A., Zamboni, D. (eds.) RAID 2005. LNCS, vol. 3858, pp. 207–226. Springer, Heidelberg (2006). doi:10.1007/11663812_11 CrossRef Kruegel, C., Kirda, E., Mutz, D., Robertson, W., Vigna, G.: Polymorphic worm detection using structural information of executables. In: Valdes, A., Zamboni, D. (eds.) RAID 2005. LNCS, vol. 3858, pp. 207–226. Springer, Heidelberg (2006). doi:10.​1007/​11663812_​11 CrossRef
8.
go back to reference László, T., Kiss, Á.: Obfuscating C++ programs via control flow flattening. Annales Universitatis Scientarum Budapestinensis de Rolando Eötvös Nominatae, Sectio Computatorica 30, 3–19 (2009)MATH László, T., Kiss, Á.: Obfuscating C++ programs via control flow flattening. Annales Universitatis Scientarum Budapestinensis de Rolando Eötvös Nominatae, Sectio Computatorica 30, 3–19 (2009)MATH
9.
go back to reference Leroy, X.: The CompCert C verified compiler: documentation and user’s manual. Ph.D. thesis, Inria (2015) Leroy, X.: The CompCert C verified compiler: documentation and user’s manual. Ph.D. thesis, Inria (2015)
10.
go back to reference Linn, C., Debray, S.: Obfuscation of executable code to improve resistance to static disassembly. In: Proceedings of the 10th ACM Conference on Computer and Communications Security, pp. 290–299. ACM (2003) Linn, C., Debray, S.: Obfuscation of executable code to improve resistance to static disassembly. In: Proceedings of the 10th ACM Conference on Computer and Communications Security, pp. 290–299. ACM (2003)
11.
go back to reference Popov, I.V., Debray, S.K., Andrews, G.R.: Binary obfuscation using signals. In: USENIX Security (2007) Popov, I.V., Debray, S.K., Andrews, G.R.: Binary obfuscation using signals. In: USENIX Security (2007)
12.
go back to reference Raghavan, S.: A note on Eswaran and Tarjan’s algorithm for the strong connectivity augmentation problem. In: Golden, B., Raghavan, S., Wasil, E. (eds.) The Next Wave in Computing, Optimization, and Decision Technologies, vol. 29. Springer, Boston (2005). doi:10.1007/0-387-23529-9_2 Raghavan, S.: A note on Eswaran and Tarjan’s algorithm for the strong connectivity augmentation problem. In: Golden, B., Raghavan, S., Wasil, E. (eds.) The Next Wave in Computing, Optimization, and Decision Technologies, vol. 29. Springer, Boston (2005). doi:10.​1007/​0-387-23529-9_​2
13.
14.
go back to reference Schrittwieser, S., Katzenbeisser, S.: Code obfuscation against static and dynamic reverse engineering. In: Filler, T., Pevný, T., Craver, S., Ker, A. (eds.) IH 2011. LNCS, vol. 6958, pp. 270–284. Springer, Heidelberg (2011). doi:10.1007/978-3-642-24178-9_19 CrossRef Schrittwieser, S., Katzenbeisser, S.: Code obfuscation against static and dynamic reverse engineering. In: Filler, T., Pevný, T., Craver, S., Ker, A. (eds.) IH 2011. LNCS, vol. 6958, pp. 270–284. Springer, Heidelberg (2011). doi:10.​1007/​978-3-642-24178-9_​19 CrossRef
15.
go back to reference Schrittwieser, S., Katzenbeisser, S., Kinder, J., Merzdovnik, G., Weippl, E.: Protecting software through obfuscation: Can it keep pace with progress in code analysis? ACM Computing Surveys (CSUR) 49(1), 4 (2016)CrossRef Schrittwieser, S., Katzenbeisser, S., Kinder, J., Merzdovnik, G., Weippl, E.: Protecting software through obfuscation: Can it keep pace with progress in code analysis? ACM Computing Surveys (CSUR) 49(1), 4 (2016)CrossRef
16.
go back to reference Wang, C., Hill, J., Knight, J., Davidson, J.: Software tamper resistance: obstructing static analysis of programs. Technical Report CS-2000-12, University of Virginia, 12 2000 (2000) Wang, C., Hill, J., Knight, J., Davidson, J.: Software tamper resistance: obstructing static analysis of programs. Technical Report CS-2000-12, University of Virginia, 12 2000 (2000)
Metadata
Title
Generating Functionally Equivalent Programs Having Non-isomorphic Control-Flow Graphs
Authors
Rémi Géraud
Mirko Koscina
Paul Lenczner
David Naccache
David Saulpic
Copyright Year
2017
DOI
https://doi.org/10.1007/978-3-319-70290-2_16

Premium Partner