work consisted in analyzing and comparing the vari-
ous available container engines to select the one that
provided the needed functionalities and at the same
time did not represent a heavy dependency itself. The
tool here presented, TED, implements such solution
using Docker containers to perform all the necessary
tests aimed to verify whether a selected set of defense
measures are in place, and to consequently assess the
risk associated with each binary present in the system.
Proposed solution would be practically applicable to
the cyber security areas such as, vulnerability assess-
ment, incident response, system triaging, and security
baseline establishment.
This paper provides the following contributions:
1. discussion of software containers as execution en-
vironment and evaluation of the different con-
tainer engine platforms in the context of vulner-
ability assessment; and
2. container technology implementation for ELF bi-
nary security assessment in an open-source tool-
set TED.
This paper is organized as follows: Section 3 gives
an overview of related work; Section 4 describes the
container engine selection process, the design and the
implementation of TED; Section 5 provides the result
of the evaluation process; Section 6 concludes this pa-
per.
3 RELATED WORK
Extensive research already exists on binary security,
both from the attack and from the defense perspective.
However, very few projects, with a purpose similar to
the one presented in this paper, were found.
BitBlaze is a platform developed by Song et
al. (Song et al., 2008) which uses both static and dy-
namic analysis to extract a wide range of security in-
formation from a program, without taking into con-
sideration the defense measures applied and relying
on custom techniques. The main purpose of Bit-
Blaze is to detect possible vulnerabilities in the pro-
gram and to identify their root cause, rather than de-
termining what security measures are applied. Bit-
Blaze has several components, in particular a static
analysis tool (VINE, available and not maintained for
4 years) and a dynamic analysis component (TEMU,
available and not maintained for 3 years). Young-
Hyun et al. (Choi et al., 2015) in 2015 developed a
project called DBA (Dynamic Binary Analyzer), ca-
pable of dynamically detecting vulnerabilities in bi-
naries with taint analysis, which targets x86 (32-bit)
Windows binaries. This project focuses on finding
vulnerabilities or detecting exploitation at runtime. To
perform its analysis, DBA uses QEMU virtual ma-
chine to emulate the execution environment for a sin-
gle binary. TEASER by Ulrich (Ulrich, 2017) is a
system, which aims to assess the exploitability of bi-
naries, performing a vulnerability assessment from
the perspective of an attacker. TEASER is limited
to identifying memory corruption vulnerabilities and
is meant to ease the process of detecting bugs which
might lead to exploits. It is built on top of other
tools, such as Valgrind, PANDA, ASan and LLVM, and
uses QEMU emulation for some steps of its execu-
tion. Tang et al. (Feng-Yi et al., 2016) and Wang et
al. (Wang et al., 2017) in their projects focused on
binary security analysis in terms of performing a di-
agnosis of memory vulnerabilities. The two projects
which can be compared with TED are checksec.sh
1
and Lynis
2
. The first is a Bash shell script, which
shows technical information, including whether some
security measures are applied, regarding a binary, a
loaded library or the kernel. The main script is not
maintained anymore, but a forked and maintained ver-
sion
3
exists. Lynis, on the other hand, is a software
aimed to audit, hardening and testing for compliance
Unix systems. The software runs a wide range of tests
according to what tools are available on the system,
and it is publicly available.
In addition to the presented tools, there is a con-
spicuous number of proposals to protect binaries from
a wide range of attacks, however, an evident gap be-
tween the academia and the industry emerged. This
means that virtually all the novel tools or techniques,
such as (Marco-Gisbert and Ripoll, 2013; Solanki
et al., 2014; Younan et al., 2006; Chen et al., 2017;
Novark and Berger, 2010), developed in the academic
environment, independently by their efficacy and se-
curity impact, are either unused or extremely rarely
deployed in the production environments.
In the related work, multiple limitations and draw-
backs have been identified, such as, the need for spe-
cific and numerous dependencies, the use of heavy
virtualization technologies (e.g., KVM/QEMU) and
their configuration, the support only for Windows bi-
naries or for 32-bit architectures, the focus on sin-
gle binaries rather than on the whole system, the
lack of automation and the need of user interaction
and finally the use of technologies that make the tool
not portable, not easily extensible or not suitable for
cloud environments. TED aims to address all the gaps
identified by bundling all the tools and dependen-
cies needed inside Docker containers, which not only
1
http://www.trapkit.de/tools/checksec.html
2
https://cisofy.com/lynis/
3
https://github.com/slimm609/checksec.sh
ICISSP 2019 - 5th International Conference on Information Systems Security and Privacy
362