dennisaa / patharmor

PathArmor context-sensitive CFI implementation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

patharmor

PathArmor context-sensitive CFI implementation

Stuff that gets built in this directory from PA to which LICENSE.md applies:

  • lkm: directory containing the Linux kernel module
  • dyninst-pass: dyninst pass used in PA
  • dyninst-static: static part of PA LBR analysis
  • include: many include dirs
  • shared: runtime loaded module in PA
  • toy-bug: toy example that can be used to trigger a non-legitimate LBR

Stuff that gets built that is included but not part of PA itself to which LICENSE.md does not apply:

  • Dyninst-8.2.1 with patches in patches/ applied
  • DynamoRIO-Linux-5.0.0-9
  • nginx-0.8.54: stock nginx distribution we used to test PA

Other dirs:

  • bin: install directory for di modules

Notes:

  • These Makefiles assume LLVM 3.4

Building / Installing

Detailed instructions are in INSTALL.md.

Authors

This software is the open-sourcing of the research prototype supporting the paper "Practical Context-Sensitive CFI", published in ACM Computer and Communications Security (CCS) 2015. The authors on the paper, and to some degree the software, are:

First authors:

  • Victor van der Veen
  • Dennis Andriesse

Further:

  • Enes Göktas
  • Ben Gras
  • Lionel Sambuc
  • Asia Slowinska
  • Herbert Bos
  • Cristiano Giuffrida

Special thanks also to:

  • Xi Chen (Address-Taken implementation)
  • Alyssa Milburn (help with debugging LLVM's DSA)

About

PathArmor context-sensitive CFI implementation

License:BSD 2-Clause "Simplified" License


Languages

Language:C 45.2%Language:HTML 35.4%Language:C++ 11.8%Language:JavaScript 3.5%Language:TeX 1.9%Language:CMake 1.1%Language:CSS 0.2%Language:Python 0.1%Language:Assembly 0.1%Language:Shell 0.1%Language:Yacc 0.1%Language:Perl 0.1%Language:Objective-C 0.1%Language:XS 0.1%Language:Makefile 0.0%Language:Groff 0.0%Language:Lex 0.0%Language:Nginx 0.0%Language:SourcePawn 0.0%