7.5 Using Sandbox as a Method of Protection …
691
the volume of works required for verification and testing before the SoC production
stage.
Simply put, the authors used the concept of ensuring security by dividing the
system into reliable and unreliable environments. Components in the reliable environment are designed under strict control of a verified (certified) system integrator
(e.g., military government) and trusted (certified) partners. These components are
supposed to be admittedly safe and have access to any system resource. It is supposed
that components in an untrusted environment are designed by untrusted sources.
Since they can contain various hardware and software Trojans, they need to be virtually placed into such sandbox together with corresponding required virtual resources.
Of course, Trojans can be successfully hidden in similar IP blocks and integrated
circuits, but this works only until they reveal themselves. In fact, we are talking about
the standard approach to designing classic fail-safe computing systems. As far as we
know, this is so far one of the first works that study security of systems on chips by
retaining potential malicious components inside sandboxes that include the resources
required by the components in visualized forms together with the modules of observance of rules for detection of malicious actions during execution and prevention of
system damages.
Therefore, below we will examine the essence of the method [94]. At first, we
will explain the concept of sandbox to our readers.
7.5.2 Sandbox as an Effective Security Tool
Sandbox is a designated environment for safe execution of computer programs. It
is usually designed as a strictly controlled set of resources for execution of any
guest program, e.g., space on disk or in memory. As a rule, network access and the
possibility of interaction with the main operating system or reading information from
input devices are either partially emulated or severely limited.
Since the increased security of code execution in the sandbox is usually associated
with a high load on the system, certain types of sandboxes are only used for a
non-debugged or suspicious code.
Moreover, sandboxes are often used in software development to run raw code that
can accidentally damage a system or disrupt a complex configuration. Such testing
sandboxes copy the main elements of the environment for which the code is written
and allow the developers of quickly and easily experiment with non-debugged code.
Due to wide distribution of various malware programs, some of which will be
considered in Chap. 2, classic signature scanners are no longer capable of effectively
countering these new threats.
This is why many developers of antivirus software use sandboxes in their products
as a means of active protection of users from various unknown threats. We can provide
here a number of such known examples of practical implementation.
Précédent

- 709/839

Suivant