Skip to main content

2021 | OriginalPaper | Buchkapitel

4. Control-Flow Carrying Code

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

search-config
loading …

Abstract

In the previous chapter, we introduce the approach to generate a more accurate CFG by making use of function signature matching, in this chapter, we will show how to implement the CFI policy securely.

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
1.
Zurück zum Zitat M. Zhang, R. Sekar, Control flow integrity for cots binaries, in Proceedings of the 22nd USENIX Security Symposium (2013), pp. 337–352 M. Zhang, R. Sekar, Control flow integrity for cots binaries, in Proceedings of the 22nd USENIX Security Symposium (2013), pp. 337–352
2.
Zurück zum Zitat C. Zhang, T. Wei, Z. Chen, L. Duan, L. Szekeres, S. McCamant, D. Song, W. Zou, Practical control flow integrity and randomization for binary executables, in Proceedings of the 34th IEEE Symposium on Security and Privacy (IEEE, 2013), pp. 559–573 C. Zhang, T. Wei, Z. Chen, L. Duan, L. Szekeres, S. McCamant, D. Song, W. Zou, Practical control flow integrity and randomization for binary executables, in Proceedings of the 34th IEEE Symposium on Security and Privacy (IEEE, 2013), pp. 559–573
3.
Zurück zum Zitat B. Niu, G. Tan, Modular control-flow integrity, in Proceedings of the 21st ACM Conference on Computer and Communications Security (ACM, 2014), pp. 577–587 B. Niu, G. Tan, Modular control-flow integrity, in Proceedings of the 21st ACM Conference on Computer and Communications Security (ACM, 2014), pp. 577–587
4.
Zurück zum Zitat B. Niu, G. Tan, Per-input control-flow integrity, in Proceedings of the 22nd ACM Conference on Computer and Communications Security (ACM, 2015), pp. 914–926 B. Niu, G. Tan, Per-input control-flow integrity, in Proceedings of the 22nd ACM Conference on Computer and Communications Security (ACM, 2015), pp. 914–926
5.
Zurück zum Zitat C. Tice, T. Roeder, P. Collingbourne, S. Checkoway, Ú. Erlingsson, L. Lozano, G. Pike, Enforcing forward-edge control-flow integrity in \(\{\)GCC\(\}\) & \(\{\)LLVM\(\}\), in Proceedings of the 23rd USENIX Security Symposium (2014), pp. 941–955 C. Tice, T. Roeder, P. Collingbourne, S. Checkoway, Ú. Erlingsson, L. Lozano, G. Pike, Enforcing forward-edge control-flow integrity in \(\{\)GCC\(\}\) & \(\{\)LLVM\(\}\), in Proceedings of the 23rd USENIX Security Symposium (2014), pp. 941–955
6.
Zurück zum Zitat M. Abadi, M. Budiu, U. Erlingsson, J. Ligatti, Control-flow integrity, in Proceedings of the 12th ACM Conference on Computer and Communications Security (ACM, 2005), pp. 340–353 M. Abadi, M. Budiu, U. Erlingsson, J. Ligatti, Control-flow integrity, in Proceedings of the 12th ACM Conference on Computer and Communications Security (ACM, 2005), pp. 340–353
7.
Zurück zum Zitat M. Zhang, R. Sekar, Control flow and code integrity for COTS binaries: an effective defense against real-world ROP attacks, in Proceedings of the 31st Annual Computer Security Applications Conference (2015), pp. 91–100 M. Zhang, R. Sekar, Control flow and code integrity for COTS binaries: an effective defense against real-world ROP attacks, in Proceedings of the 31st Annual Computer Security Applications Conference (2015), pp. 91–100
8.
Zurück zum Zitat E. Bosman, K. Razavi, H. Bos, C. Giuffrida, Dedup Est Machina: memory deduplication as an advanced exploitation vector, in Proceedings of the 37th IEEE Symposium on Security and Privacy (IEEE, 2016), pp. 987–1004 E. Bosman, K. Razavi, H. Bos, C. Giuffrida, Dedup Est Machina: memory deduplication as an advanced exploitation vector, in Proceedings of the 37th IEEE Symposium on Security and Privacy (IEEE, 2016), pp. 987–1004
9.
Zurück zum Zitat H. Hu, S. Shinde, S. Adrian, Z.L. Chua, P. Saxena, Z. Liang, Data-oriented programming: on the expressiveness of non-control data attacks, in Proceedings of the 37th IEEE Symposium on Security and Privacy (IEEE, 2016), pp. 969–986 H. Hu, S. Shinde, S. Adrian, Z.L. Chua, P. Saxena, Z. Liang, Data-oriented programming: on the expressiveness of non-control data attacks, in Proceedings of the 37th IEEE Symposium on Security and Privacy (IEEE, 2016), pp. 969–986
10.
Zurück zum Zitat G.C. Necula, Proof-carrying code. Design and implementatio, in Proof and System-Reliability (Springer, 2002), pp. 261–288 G.C. Necula, Proof-carrying code. Design and implementatio, in Proof and System-Reliability (Springer, 2002), pp. 261–288
11.
Zurück zum Zitat G.S. Kc, A.D. Keromytis, V. Prevelakis, Countering code-injection attacks with instruction-set randomization, in Proceedings of the 10th ACM Conference on Computer and Communications Security (ACM, 2003), pp. 272–280 G.S. Kc, A.D. Keromytis, V. Prevelakis, Countering code-injection attacks with instruction-set randomization, in Proceedings of the 10th ACM Conference on Computer and Communications Security (ACM, 2003), pp. 272–280
13.
Zurück zum Zitat G. Portokalidis, A.D. Keromytis, Fast and practical instruction-set randomization for commodity systems, in Proceedings of the 26th Annual Computer Security Applications Conference (ACM, 2010), pp. 41–48 G. Portokalidis, A.D. Keromytis, Fast and practical instruction-set randomization for commodity systems, in Proceedings of the 26th Annual Computer Security Applications Conference (ACM, 2010), pp. 41–48
14.
Zurück zum Zitat E.G. Barrantes, D.H. Ackley, T.S. Palmer, D. Stefanovic, D.D. Zovi, Randomized instruction set emulation to disrupt binary code injection attacks, in Proceedings of the 10th ACM Conference on Computer and Communications Security (ACM, 2003), pp. 281–289 E.G. Barrantes, D.H. Ackley, T.S. Palmer, D. Stefanovic, D.D. Zovi, Randomized instruction set emulation to disrupt binary code injection attacks, in Proceedings of the 10th ACM Conference on Computer and Communications Security (ACM, 2003), pp. 281–289
15.
Zurück zum Zitat A. Papadogiannakis, L. Loutsis, V. Papaefstathiou, S. Ioannidis, ASIST: architectural support for instruction set randomization, in Proceedings of the 20th ACM Conference on Computer and Communications Security (ACM, 2013), pp. 981–992 A. Papadogiannakis, L. Loutsis, V. Papaefstathiou, S. Ioannidis, ASIST: architectural support for instruction set randomization, in Proceedings of the 20th ACM Conference on Computer and Communications Security (ACM, 2013), pp. 981–992
17.
Zurück zum Zitat N.A. Quynh, Capstone: Next-gen disassembly framework, Black Hat USA (2014) N.A. Quynh, Capstone: Next-gen disassembly framework, Black Hat USA (2014)
18.
Zurück zum Zitat V. Van Der Veen, E. Göktas, M. Contag, A. Pawoloski, X. Chen, S. Rawat, H. Bos, T. Holz, E. Athanasopoulos, C. Giuffrida, A tough call: mitigating advanced code-reuse attacks at the binary level, in Proceedings of the 37th IEEE Symposium on Security and Privacy (IEEE, 2016), pp. 934–953 V. Van Der Veen, E. Göktas, M. Contag, A. Pawoloski, X. Chen, S. Rawat, H. Bos, T. Holz, E. Athanasopoulos, C. Giuffrida, A tough call: mitigating advanced code-reuse attacks at the binary level, in Proceedings of the 37th IEEE Symposium on Security and Privacy (IEEE, 2016), pp. 934–953
19.
Zurück zum Zitat A.R. Bernat, B.P. Miller, Anywhere, any-time binary instrumentation, in Proceedings of the 10th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools (ACM, 2011), pp. 9–16 A.R. Bernat, B.P. Miller, Anywhere, any-time binary instrumentation, in Proceedings of the 10th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools (ACM, 2011), pp. 9–16
20.
Zurück zum Zitat C.-K. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, V.J. Reddi, K. Hazelwood, Pin: building customized program analysis tools with dynamic instrumentation, in Proceedings of the 26th ACM Conference on Programming Language Design and Implementation (ACM, 2005), pp. 190–200 C.-K. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, V.J. Reddi, K. Hazelwood, Pin: building customized program analysis tools with dynamic instrumentation, in Proceedings of the 26th ACM Conference on Programming Language Design and Implementation (ACM, 2005), pp. 190–200
21.
Zurück zum Zitat D. Bruening, Efficient,transparent,and comprehensive runtime code manipulation, Ph.D. thesis, Massachusetts Institute of Technology, 2004 D. Bruening, Efficient,transparent,and comprehensive runtime code manipulation, Ph.D. thesis, Massachusetts Institute of Technology, 2004
22.
Zurück zum Zitat E. Göktas, E. Athanasopoulos, H. Bos, G. Portokalidis, Out of control: overcoming control-flow integrity, in Proceedings of the 35th IEEE Symposium on Security and Privacy (IEEE, 2014), pp. 575–589 E. Göktas, E. Athanasopoulos, H. Bos, G. Portokalidis, Out of control: overcoming control-flow integrity, in Proceedings of the 35th IEEE Symposium on Security and Privacy (IEEE, 2014), pp. 575–589
23.
Zurück zum Zitat L. Davi, A.-R. Sadeghi, D. Lehmann, F. Monrose, Stitching the gadgets: on the ineffectiveness of coarse-grained control-flow integrity protection, in Proceedings of the 23rd USENIX Security Symposium (2014) L. Davi, A.-R. Sadeghi, D. Lehmann, F. Monrose, Stitching the gadgets: on the ineffectiveness of coarse-grained control-flow integrity protection, in Proceedings of the 23rd USENIX Security Symposium (2014)
24.
Zurück zum Zitat M. Conti, S. Crane, L. Davi, M. Franz, P. Larsen, M. Negro, C. Liebchen, M. Qunaibit, A.-R. Sadeghi, Losing control: on the effectiveness of control-flow integrity under stack attacks, in Proceedings of the 22nd ACM Conference on Computer and Communications Security (ACM, 2015), pp. 952–963 M. Conti, S. Crane, L. Davi, M. Franz, P. Larsen, M. Negro, C. Liebchen, M. Qunaibit, A.-R. Sadeghi, Losing control: on the effectiveness of control-flow integrity under stack attacks, in Proceedings of the 22nd ACM Conference on Computer and Communications Security (ACM, 2015), pp. 952–963
25.
Zurück zum Zitat V. Pappas, M. Polychronakis, A.D. Keromytis, Transparent \(\{\)ROP\(\}\) exploit mitigation using indirect branch tracing, in Proceedings of the 22nd USENIX Security Symposium (2013), pp. 447–462 V. Pappas, M. Polychronakis, A.D. Keromytis, Transparent \(\{\)ROP\(\}\) exploit mitigation using indirect branch tracing, in Proceedings of the 22nd USENIX Security Symposium (2013), pp. 447–462
26.
Zurück zum Zitat Y. Cheng, Z. Zhou, Y. Miao, X. Ding, H. Deng, et al., ROPecker: a generic and practical approach for defending against ROP attack, in Proceedings of the 21th Annual Network and Distributed System Security Symposium (2014) Y. Cheng, Z. Zhou, Y. Miao, X. Ding, H. Deng, et al., ROPecker: a generic and practical approach for defending against ROP attack, in Proceedings of the 21th Annual Network and Distributed System Security Symposium (2014)
27.
Zurück zum Zitat M. Payer, A. Barresi, T.R. Gross, Fine-grained control-flow integrity through binary hardening, in Proceedings of the 12th International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment (Springer, 2015), pp. 144–164 M. Payer, A. Barresi, T.R. Gross, Fine-grained control-flow integrity through binary hardening, in Proceedings of the 12th International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment (Springer, 2015), pp. 144–164
28.
Zurück zum Zitat M. Wang, H. Yin, A.V. Bhaskar, P. Su, D. Feng, Binary code continent: finer-grained control flow integrity for stripped binaries, in Proceedings of the 31st Annual Computer Security Applications Conference (ACM, 2015), pp. 331–340 M. Wang, H. Yin, A.V. Bhaskar, P. Su, D. Feng, Binary code continent: finer-grained control flow integrity for stripped binaries, in Proceedings of the 31st Annual Computer Security Applications Conference (ACM, 2015), pp. 331–340
29.
Zurück zum Zitat Y. Lin, X. Tang, D. Gao, J. Fu, Control flow integrity enforcement with dynamic code optimization, in Proceedings of the 19th International Conference on Information Security (Springer, 2016), pp. 366–385 Y. Lin, X. Tang, D. Gao, J. Fu, Control flow integrity enforcement with dynamic code optimization, in Proceedings of the 19th International Conference on Information Security (Springer, 2016), pp. 366–385
30.
Zurück zum Zitat K.Z. Snow, F. Monrose, L. Davi, A. Dmitrienko, C. Liebchen, A.-R. Sadeghi, Just-in-time code reuse: on the effectiveness of fine-grained address space layout randomization, in Proceedings of the 34th IEEE Symposium on Security and Privacy (IEEE, 2013), pp. 574–588 K.Z. Snow, F. Monrose, L. Davi, A. Dmitrienko, C. Liebchen, A.-R. Sadeghi, Just-in-time code reuse: on the effectiveness of fine-grained address space layout randomization, in Proceedings of the 34th IEEE Symposium on Security and Privacy (IEEE, 2013), pp. 574–588
31.
Zurück zum Zitat A. Bittau, A. Belay, A. Mashtizadeh, D. Mazières, D. Boneh, Hacking blind, in Proceedings of the 35th IEEE Symposium on Security and Privacy (IEEE, 2014), pp. 227–242 A. Bittau, A. Belay, A. Mashtizadeh, D. Mazières, D. Boneh, Hacking blind, in Proceedings of the 35th IEEE Symposium on Security and Privacy (IEEE, 2014), pp. 227–242
32.
Zurück zum Zitat N. Carlini, A. Barresi, M. Payer, D. Wagner, T.R. Gross, Control-flow bending: on the effectiveness of control-flow integrity, in Proceedings of the 24th USENIX Security Symposium (2015), pp. 161–176 N. Carlini, A. Barresi, M. Payer, D. Wagner, T.R. Gross, Control-flow bending: on the effectiveness of control-flow integrity, in Proceedings of the 24th USENIX Security Symposium (2015), pp. 161–176
33.
Zurück zum Zitat H. Pan, K. Asanović, R. Cohn, C.-K. Luk, Controlling program execution through binary instrumentation. ACM SIGARCH Comput. Archit. News 33(5), 45–50 (2005)CrossRef H. Pan, K. Asanović, R. Cohn, C.-K. Luk, Controlling program execution through binary instrumentation. ACM SIGARCH Comput. Archit. News 33(5), 45–50 (2005)CrossRef
34.
Zurück zum Zitat R. Wahbe, S. Lucco, T.E. Anderson, S.L. Graham, Efficient software-based fault isolation, vol. 27, no. 5 (1994), pp. 203–216 R. Wahbe, S. Lucco, T.E. Anderson, S.L. Graham, Efficient software-based fault isolation, vol. 27, no. 5 (1994), pp. 203–216
35.
Zurück zum Zitat A.N. Sovarel, D. Evans, N. Paul, Where’s the feeb? The effectiveness of instruction set randomization, in Proceedings of the 15th USENIX Security Symposium (2005) A.N. Sovarel, D. Evans, N. Paul, Where’s the feeb? The effectiveness of instruction set randomization, in Proceedings of the 15th USENIX Security Symposium (2005)
36.
Zurück zum Zitat R. Qiao, R. Sekar, Function interface analysis: a principled approach for function recognition in cots binaries, in Proceedings of the 47th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (2017), pp. 201–212 R. Qiao, R. Sekar, Function interface analysis: a principled approach for function recognition in cots binaries, in Proceedings of the 47th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (2017), pp. 201–212
37.
Zurück zum Zitat E.C.R. Shin, D. Song, R. Moazzezi, Recognizing functions in binaries with neural networks, in Proceedings of the 24th USENIX Security Symposium (2015), pp. 611–626 E.C.R. Shin, D. Song, R. Moazzezi, Recognizing functions in binaries with neural networks, in Proceedings of the 24th USENIX Security Symposium (2015), pp. 611–626
38.
Zurück zum Zitat M. Zhang, M. Polychronakis, R. Sekar, Protecting COTS binaries from disclosure-guided code reuse attacks, in Proceedings of the 33rd Annual Computer Security Applications Conference (2017), pp. 128–140 M. Zhang, M. Polychronakis, R. Sekar, Protecting COTS binaries from disclosure-guided code reuse attacks, in Proceedings of the 33rd Annual Computer Security Applications Conference (2017), pp. 128–140
Metadaten
Titel
Control-Flow Carrying Code
verfasst von
Yan Lin
Copyright-Jahr
2021
DOI
https://doi.org/10.1007/978-3-030-73141-0_4