University of Economics, Prague

Transkript

University of Economics, Prague
S c i e n t i f i c J o u r n a l | Vě d e c k ý č a s o p i s
ACTA INFORMATICA
PRAGENSIA
Special Issue on Security I Speciální číslo na Bezpečnost
University of Economics, Prague
Vysoká škola ekonomická v Praze
Faculty of Informatics and Statistics
Fakulta informatiky a statistiky
3
2015
Editorial Board  / Redakční rada
Stanislava Mildeová (Editor-in-Chief)
University of Economics, Prague
Eve Mitleton-Kelly
University of London
Klára Antlová
Technical University of Liberec
Ingeborg Němcová
University of Economics, Prague
Martin Boháček
University of Economics, Prague
Jan Rauch
University of Economics, Prague
Tomáš Bruckner
University of Economics, Prague
Václav Řezníček
Independent consultant, Prague
Vesna Čančer
University of Maribor
Markus Schwaninger
University of St. Gallen
Rasa Daugėlienė
Kaunas University of Technology
Antonín Slabý
University of Hradec Kralove
Jiří Fišer
J. E. Purkyne University, Usti nad Labem
Zdeněk Smutný
University of Economics, Prague
Milan Houška
Czech University of Life Sciences, Prague
Olga Štěpánková
Czech Technical University, Prague
Miloslav Hub
University of Pardubice
Prokop Toman
Czech University of Life Sciences, Prague
Petr Kučera
Independent consultant, Prague
Milan Turčáni
Constantine the Philosopher University, Nitra
Petr Máša
Partners Financial Services, Prague
Viktor Vojtko
University of South Bohemia, Ceske Budejovice
Jan Ministr
VSB-Technical University of Ostrava
Jan Voráček
College of Polytechnics, Jihlava
Petr Kučera
University
of Economics,
Guest editor of the Special issue: Jaromír Veber,
CERGE-EI,
Charles
University Prague
Contact address  / Kontakt:
Technical editors  / Editoři:
Acta Informatica Pragensia
Zdeněk Smutný & Václav Řezníček
University of Economics, Prague
University of Economics, Prague
nám. W. Churchilla 4, 130 67 Praha 3, Czech Republic
e-mail: [email protected]
web: aip.vse.cz
tel.: +420 224 095 473
ACTA INFORMATICA PRAGENSIA
ISSN 1805-4951 (Online)
Acta
Informatica
Pragensia
is
focused
on
the
field
of
applied
informatics,
including
its
inter- and transdisciplinary character with an emphasis on management and administration in the field
of socio-economic environment. The journal is published biannually by the University of Economics,
Prague
and
is
included
in
the
government
list
of
peer-reviewed
journals
published
in the Czech Republic.
Časopis Acta Informatica Pragensia se zaměřuje na oblast aplikované informatiky, a to včetně jejího
v současnosti inter- a transdisciplinárního charakteru s akcentem na problematiku řízení a správy v oblasti
sociálně-ekonomického prostředí. Časopis vydává VŠE v Praze a je publikován dvakrát ročně. Časopis
je uveden v Seznamu recenzovaných neimpaktovaných periodik vydávaných v ČR – platný v roce 2015.
3
2015
ACTA INFORMATICA
PRAGENSIA
CONTENTS  / Obsah
Peer-reviewed papers / Recenzované stati
Huang, X.: It Leaks More Than You Think:
Fingerprinting Users from Web Traffic Analysis |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 206
Šťastná, J., Juhár, J., Biňas, M., Tomášek, M.: Security Measures in Automated
Assessment System for Programming Courses |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 226
Veber, J., Smutný, Z., Vyskočil, L.: Practice of Digital Forensic Investigation in the Czech
Republic and ISO/IEC 27037:2012 (in Czech) |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 242
Madoš, B., Feková, M.: Modification of Steganographic Algorithm Using LSB
and a Set of Stegomedia (in Slovak) |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 258
Alese, B. K., Olatunji, S. O., Agbonifo, O. C., Thompson, A. F.: A Fine-Grained Data
Access Control System in Wireless Sensor Network |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 276
Hurtuk, J.: Using of Sound-Based Communication in the Process of Malware Distribution
without Connectivity to Network Services (in Slovak) ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 288
Palovský, R.: Verifiable Distribution of Material Goods Based on Cryptology |||||||||||||||||||| 302
Baláž, A., Madoš, B., Ambróz, M.: Android Access Control Extension |||||||||||||||||||||||||||||| 310
Strossa, P., Palovský, R.: A Few Ideas for Creating Passwords (in Czech) ||||||||||||||||||||| 318
Kný, M.: Security Management – Systems Approach (in Czech) ||||||||||||||||||||||||||||||||||||||||| 326
Perspective / Perspektiva
Požár, J.: Selected Trends of the Cybercrime (in Czech) ||||||||||||||||||||||||||||||||||||||||||||||||||||| 336
© Authors of the articles / Autoři jednotlivých článků.
Toto číslo bylo podpořeno grantem - F4/74/2014, Vysoké školy ekonomické v Praze
This issue was prepared with the support of grant - F4/74/2014, University of Economics, Prague.
Acta Informatica Pragensia, 2015, 4(3): 206–225
DOI: 10.18267/j.aip.70
Peer-reviewed paper
It Leaks More Than You Think:
Fingerprinting Users from Web Traffic Analysis
Xujing Huang*
Abstract
We show how, in real-world web applications, confidential information about user identities
can be leaked through “non-intuitive communications”, in particular web traffic which appear
to be not related to the user information. In fact, our experiments on Google users
demonstrate that even Google accounts are vulnerable on traffic attacks against user
identities, using packet sizes and directions. And this work shows this kind of non-intuitive
communication can leak even more information about user identities than the traffic explicitly
using confidential information. Our work highlights possible side-channel leakage through
cookies and more generally discovers fingerprints in web traffic which can improve the
probability of correctly guessing a user identity. Our analysis is motivated by Hidden Markov
Model, distance metric and guessing probability to analyse and evaluate these side-channel
vulnerabilities.
Keywords: Side-channel leakages, User identities, Web applications, Google accounts.
1
Introduction
It is not a secret that communication of a web application can reveal a user's web activities
through side channels, even when the web traffic is encrypted. Previous work (Chen et al.,
2010; Cheng, Avnur, 1998) has shown that an eavesdropper can infer a user's web browsing
activities from the lower-lever traffic features, such as packet sizes, numbers, timings, etc.
Traffic-analysis attacks exploit web traffic from communications involving direct
transmission of confidential information. Large number of studies of side-channel leakages in
web applications have already analysed communications explicitly interacting with sensitive
information. However, we suppose that a communication, though not explicitly transiting
sensitive information, may still leak or even leak more about user secrets.
For example, Fig. 1 outlines a scenario showing how user search inputs in an online shopping
center can be revealed. In step 1, the communication explicitly transmits a search keyword
typed in a search bar to the server. The web traffic generated is indistinguishable from user
inputs, so an eavesdropper gains no knowledge of user search keyword from traffic analysis.
*
School of Electronic Engineering and Computer Science, Queen Mary University of London,
Mile End Road, E1 4NS, London, United Kingdom
 [email protected]
206
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Fig. 1. Communications explicitly and implicitly transmitting sensitive information. Source: Author
Now consider the communication illustrated in step 2 in Fig. 1. A transition, some-distance
away from the communication in step 1, is triggered when a user visits a web page regarding
"Today's deals" on the shopping site. This appears to transmit no information about the user's
search keyword. However, as indicated in step 2, web traffic in this transition varies
depending on search keywords, reflected in the content of “Recommendation", which can
actually reveal user search inputs.
Therefore, this work pays attention to communications which implicitly interact with sensitive
information. Moreover, we extend communications including those with third-party websites
outside the server of which the confidential information is located.
In this work we propose a new traffic-analysis attack using packet sizes and directions to
reveal user identities from 50 Google user accounts to websites included in the Alexa (Alexa,
2015) Top 150 websites. There are 25 out of the 150 websites which are likely to leak a large
amount of user identities. They are examined from five locations, to ensure the leakages are
consistent among different locations. Moreover, we develop four testing scenarios for
investigating the leaking sources, more specifically, whether cookies and logged user
accounts are the factors causing web traffic to leak user identities. Although cookies is a wellknown source of tracking users in web applications, there is little work studying on the effect
of cookies in traffic analysis in web applications.
A novel approach based on the Hidden Markov Model (Baum & Petrie, 1966; Baum
& Eagon, 1967) and the Damerau-Levenshtein distance (Navarro, 2001) to analyse the
collected web traffic. Then we use guessing probability (Malacaria, 2015) to evaluate the
probability of guessing user identities correctly in one try.
In summary, our main contributions are as

We propose a novel side-channel attack scenario against user identities
and demonstrate that even Google users are vulnerable under this kind of attack in
real-world applications, through communications with third-parity websites.

We analyse the web traffic based on the hidden Markov model and an optimised
Damerau-Levenshtein distance, to construct traffic patterns of transitions. And we
present a new fingerprinting model with a “one to many” mapping between transitions
and their observations.

We analyse the effect of cookies and logged user accounts in side-channel leakages
of user identities.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
207
2
Fingerprinting Model and Threat Scenario
2.1
Fingerprinting Model
To better explain our work, we define a transition system, as the basis of our model. This
model is similar to the one in (Backes, Doychev, & Kopf, 2013).
Formally the transition system is remodelled as TS = (G, O, A, f, g, MLS, S).
A web application is modelled as a directed graph G = (N, E), where N is the set of nodes,
each node nN representing a web page of the web application.
An edge from one node to the next is a transition between web pages e = (n1 , a, n2 ) ,
where n1 n2 
A user action𝑎 ∈ 𝐴is defined as a sequence of pairs (element, value), where element is
a component the user performs on, and value is the input on this component. For example, the
action of logging into a user account consists of two pairs: one for the user name, and the
other for the password.
We partition user actions as 𝐴 = 𝐴ℎ ∪ 𝐴𝑙 , where 𝐴ℎ are the user actions containing sensitive
data and 𝐴𝑙 those with no sensitive data.
Transitions of interest in this chapter are partitioned into direct and indirect transitions. They
are defined according to the type of user actions which trigger them. A direct transition,
expressed as (𝑛1 , 𝑎 ∈ 𝐴ℎ , 𝑛2 ) ∈ 𝐸, is triggered by a user action containing sensitive data.
An example of a direct transition is the one originated from an authentication on a login page.
An indirect transition is triggered by a user action with no sensitive data input, which can be
represented by: (𝑛1 , 𝑎 ∈ 𝐴𝑙 , 𝑛2 ) ∈ 𝐸 . An indirect transition, for example, is performed by
clicking on a (non sensitive) link on a page. An execution path containing both direct and
indirect transitions is regarded as a combined path.
Set S is a set of sensitive information.
O is an observation set about the web traffic observed in a transition. Each observation is
a sequence of directional sizes describing the packets generated in the communication. For
example, an observation → 125, ← 237indicates a request packet of length 125 bytes sent
from the browser and a response packet of length 237 bytes sent back from the server.
In this work, multiple observations are collected for a transition. Hence we define function
(𝑛1 , 𝑎 ∈ 𝐴ℎ , 𝑛2 ) ∈ 𝐸 , which considers that a transition 𝑒 ∈ 𝐸 is associated with a set of
observations 𝑂𝑒 ∈ 𝑃(𝑂).
Assume each transition associates to a hidden traffic pattern which is followed by most
observations for this transition. Given a set of observations 𝑂𝑒 for a transition e, we define
a most likely sequence 𝑚𝑙𝑠𝑒 , which is the traffic pattern best matching the observations
in set 𝑂𝑒 .
Then a function 𝑔: 𝑃(𝑂) → 𝑀𝐿𝑆 maps each observation set 𝑂𝑒 ∈ 𝑃(𝑂) to a most likely
sequence 𝑚𝑙𝑠𝑒 ∈ 𝑀𝐿𝑆 . The terms most likely sequence and traffic pattern are used
interchangeably throughout this thesis.
208
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
2.2
Threat Model
We propose a threat scenario of revealing user identities from Google user accounts.
A user first logs into a Google account, where the transition is regarded as a direct transition.
Then the user accesses to a new website which is either a Google or non-Google website by
typing a URL address of the website into a URL bar. This communication is regarded as an
indirect transition.
Assume an attacker can be a Google service provider or a database administrator who is able
to profile traffic patterns of web traffic for each user account, given a space of Google users.
Consider that the attacker has prior knowledge concerning which website a victim is visiting.
Details of how an eavesdropper fingerprints websites can be seen in many literature, see e.g.
(Cai et al., 2012).
The attacker aims to identify a user's identity, i.e. which user out of the space of Google users
carries out the communication, by eavesdropping a web traffic and matching it to a traffic
pattern for a user.
Consider a non-Google website as a third-party website or an external website, relative to
a Google website which is regarded as an internal website.
Experiments in this threat scenario are implemented in a close-world environment from
a perspective of a developer. Instead of obtaining an accurate leakage of user identities, this
work aims to demonstrate a possible threat of leaking user identities through communications
with third-party websites.
3
Testing Specification
In this section, we show how we configured the experimental settings, to build the test cases
and perform the experiments.
3.1
Testing Process
First, the secret we consider is the user identity represented by a user account, instead of the
user name and the password of the account. We examine user identities from 50 Google
accounts on Alexa Top 150 websites (Alexa, 2015), excluding Google websites. A roundrobin test is performed on each user account for all the 150 websites. Each test case is run 10
times. Caches and cookies are cleared every time before a new test starts. The aim is to
discover if the user identity can be uncovered through communications with a third-party
websites.
Selenium (Selenium, 2015), a web driver, is used to perform the tests by simulating the user
actions on websites automatically; and Jpcap (2015) – a network packet capture library,
records the web traffic generated during the experiments.
A sentence “the website fingerprints user" indicates that the indirect transitions in the
execution paths in terms of this website reveal user identities from the web traffic. We use
“a website fingerprints users" and “a website leaks user identities" interchangeably.
Since there are 150 websites and 50 user accounts, 7500 test cases are required to be executed
in a testing round. Moreover, if each test case is executed ten times, there are 75000 tests in
total when testing on all the websites one round. Hence a large amount of time will be spent
when executing one round for all the websites.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
209
Moreover, with a preliminary analysis of some collected web traffic, we discover that not
every website leaks a large amount of user identities.
Therefore, to save time for performing in-depth analysis on websites which likely leak large
amounts of user identities, a coarse cleansing operation was first conducted to roughly refine
the websites by eliminating those which may leak few user identities.
3.1.1
Cleansing Operation
To make results more convincing, in the beginning all 7500 test cases were tested using two
laptops located in a same network. A test case was executed where a user account was first
authenticated and then an external website was accessed to. It took around two months to
complete the cleansing operation.
Analysing and quantifying the leaks using the methodologies described in sections 4, if the
leakages for a website at both laptops are similar and the guessing probabilities are relatively
high, the website probably leaks user identities stably at a network. Thus the website will be
selected to be tested in depth in next stage. As a result, 25 websites were obtained, each of
which is likely to leak large amount of the secret.
The two laptops were configured, one of Windows XP system with Intel Core i3-2310M CPU
@ 2.10GHz and 3.41 GB of RAM, and the other of Windows 7 system with Intel Core
i5-3230M CPU @ 2.60GHz and 3.88 GB of RAM. Next, we show how to perform the indepth analysis.
3.1.2
In-depth Testing Process
In addition to the 25 external websites, two internal websites www.google.com.br and
www.google.it were connected to in the indirect transitions after authenticating. They were
performed in order to compare with those from internal to external websites.
The 50 user accounts on the 27 websites were examined in the PlanetLab testbed (PlanetLab,
2015), from five virtual machines located at the Technical University of Berlin (Berlin,
Germany), the University of Cambridge (Cambridge, UK), Imperial College (London, UK),
the University of Neuchatel (Neuchatel, Switzerland) and the University of Stuttgart
(Stuttgart, Germany) respectively.
We tested them at multiple locations to (1) guarantee that the leakages related to a website
from different networks are consistent, in order to mitigate the error from a single testing site
as far as possible; and to (2) investigate whether the leakage depends on locations, which may
reveal user locations.
The Firefox web browser was installed in the five machines with versions ranging from 3.6.24
to 3.6.28 under the Fedora 14 operating system. It is the browser used by Selenium for
executing the testing.
3.2
Testing Scenario
In the real world, a user often visits an external website with her Google account logged in.
It is possible that the external web server requests information related to the logged user
account. The data may be insignificant to user sensitive information, however, it may contain
some unique data which leads to distinguishable web traffic between different users.
Moreover, cookies which store user login information may be sent to the network during
communications with an external website. Concerning that logged user accounts and cookies
210
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
may bring information of user identities into communications, we design four testing
scenarios to analyse the effects of these factors on the leakage of user identities.
Scenario 1. General
This is a general scenario same as the one used in the cleansing process. Communications
start from a direct transition of authenticating a user account, and then immediately access to
a different website, either an internal or external website.
Scenario 2. Delete cookies
In this scenario, the cookie is cleared every time after authenticating, just before triggering
a following indirect transition. Since logging into a Google account simply sets a cookie, an
action of deleting cookie makes completely no information related to the user account exist.
Comparing with the result in scenario 1, this scenario can be used to analyse that whether the
leakage is affected greatly by removing cookies. If the guessing probabilities are relatively
high in scenario 1 but are relatively low in scenario 2, it is probable that the web traffic is
affected largely by the cookies. However, simply from the statistics in scenarios 1 and 2, we
are still unable to get a clear picture of which factor, out of cookies and logged user accounts,
decides the web traffic. Hence, scenario 3 is developed.
Scenario 3. Log out user accounts
In scenario 3, the user account is logged out before communicating with a new website, but
the cookie is retained. This is a way attempting to clean user trails as much as possible, but
only keeping cookies as a source of user identities. It aims to see if there is an influence on
web traffic when a user account is logged out.
By comparing the results between scenarios 1, 2 and 3, a clearer picture regarding the
influential factors on the leakages can be suggested, in terms of which factor, logged user
accounts or cookies, accounts for a larger effect on the leakage.
Scenario 4. Log out user accounts + Delete cookies
In addition to logged user accounts and cookies, other external unknown-sourced factors can
lead to a variation of web traffic. It can be mistakenly regarded that the variation is originated
from cookies or logged user accounts.
Therefore, how influential these unknown factors are in the variation of web traffic is
estimated in this scenario, to mitigate the error caused by external unknown factors. This
scenario attempts to clear all the user trails generated during communications. Instead of
logging out user accounts and cleansing all trails, there is an alternative in a more straight
way, i.e. not logging into the user accounts, which stays away from the user identities.
This scenario should give rise to a same effect as cleansing the cookies in scenario 2, because
there is not any information related to users retained. Therefore, the aim of this scenario is to
provide a reference for the result in scenario 2, which confirms the accuracy of results in these
scenarios. Moreover, it can also be used to check if exceptions exist when the results from
scenarios 2 and 4 are different.
In scenario 4, each test case contains a single transition, starting from Google's authentication
page and forwards to an examined website straightly. A test case in terms of a website was
performed 500 times and every ten traces of web traffic were aggregated into one group, to
construct a space with as same the number as the user accounts analysed in other scenarios.
Analysing the observations between each group, the data obtained represents the variation
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
211
generated by the unknown factors. Test cases in this scenario are considered as indirect
transitions.
The unknown factors evaluated in scenario 4 are regarded as external factors which have no
relation to user identities. Relatively, logged user accounts and cookies are deemed as internal
factors as they are related to user identities.
For a website, each testing round executed the test cases on 50 user accounts in four
scenarios. The testing on 27 websites, consisting of 25 external and 2 internal websites, were
performed at five locations simultaneously. One round of testing on all the 27 websites lasted
over a two-week period. At least two testing rounds for the 27 websites were performed.
4
Data Analysis
In this section, we explain how we identify users through side-channel analysis on the
collected web traffic. We ran each test case in terms of a user account 10 times. A traffic
sequence is considered as an observation. Given a set of observations, request packets in each
observation can be extracted according to the packet directions, to form a sequence of request
packets to be analysed. Currently we do not analyse response packets. Hence each
observation means a sequence of request packets.
Given a set of observations for a transition, we attempt to determine the most likely
sequence, which is a hidden traffic pattern best matching the observations of a transition. If
a transition holds a most likely sequence, we consider the most likely sequence fingerprinting
the user whom the transition corresponds to. Now we explain how to normalise a most likely
sequence. First define the packet characteristics.
4.1
Packet Specification
Given a set of observations 𝑂𝑒 , we define the following notations:
𝑂𝑒 : a set of observations for a transition e;
𝑜𝑒𝑖 : the ith observation where 𝑜𝑒𝑖 ∈ 𝑂𝑒 ; In a given set 𝑂𝑒 , 𝑜𝑒𝑖 can also be abbreviated
as 𝑜𝑖 ∈ 𝑂𝑒 ;
𝑜𝑖𝑘 : the packet at position k in 𝑜𝑒𝑖 . It is presented by a pair (value, k), where value is the
packet size and k is the position the packet is located in this observation. The use of packet
location is to deal with a packet-disorder issue introduced later.
Definition 1 [Indistinguishable] Packets from two traffic sequences are considered to be
indistinguishable, if they are located at the same position in the sequences and their sizes a, b
satisfy:
|𝑎 − 𝑏| ≤ 𝑡𝑝 ⋅ 𝑚𝑎𝑥(𝑎, 𝑏),
where 𝑡𝑝 ∈ [0,0.5] is the threshold of indistinguishable packets. Moreover, two traffic
sequences are determined to be indistinguishable, if every two packets, which are located at
the same position in these two sequences, are indistinguishable. By default, we set 𝑡𝑝 = 0.1
Ideally the observations of a transition are identical in a limit time period. But external
factors, e.g. performing time, may result in the sizes of packets which are located at the same
position of observations slightly fluctuating. The use of indistinguishable packets aims to
reduce the probably impacts from external factors on packet sizes among different
observations.
212
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
In the real world, an issue of network packet disorder often occurs. When a reliable in-order
delivery of packets is required, for instance when using Transmission Control Protocol (TCP),
a transmitter resends the packets which are not received properly. This may cause packets
disordered, e.g. a retransmitted packet is observed after a packet where it should be observed
before the packet in a proper order.
This research analyses TCP packets, where sequence numbers of packets can be extracted to
recover a correct order. However, to provide an extensive mechanism which can analyse
traffic precisely even when packet sequence numbers are not available, this work proposes
a stronger analyser using a shift operation, which, to a great extent, mitigates possible errors
caused by disordered packets.
Definition 2. [Displacement Range] A displacement range is an integer 𝑑 > 0.
Definition 3. [Shift with Displacement Range d] Given a packet located at position k in an
observation 𝑞⃗, it can be shifted up to d-position forward or backward away from the current
position k. This aims to recover the original position where the packet is actually located in
⃗⃗⃗⃗.
a proper order. After shifting the sequence becomes sequence 𝑞′
Every packet after n times shifting in sequence ⃗⃗⃗⃗
𝑞′should be within the displacement range
from their originial positions in observation 𝑞⃗. Displacement range is used to simulate the
degree of packet disorder caused by a packet transmission error. If there is a packet
retransmitted and observed in an incorrect order, it can be moved back to its correct position
if the disorder happens within the displacement range.
So the proper setting of the displacement range is important for the precision of a most likely
sequence. If the value is too small, it will miss the disordered packets which are outside the
displacement range. But if it is too large, there may be incorrect judgements for the packets
which are already in the proper order. In this work we set 𝑑 = 2.
Next we describe how to construct the most likely sequence 𝑚𝑙𝑠𝑒 for transition e,
i.e. 𝑔(𝑂𝑒 ) = 𝑚𝑙𝑠𝑒 .
4.2
Modelling Packet Data
In a hidden Markov model (HMM) (Baum & Petrie, 1966; Baum & Eagon, 1967), states are
not observable while outputs depending on the states are observable. We use a HMM to
model the packet data in an observation set. We consider observations in a set are the outputs,
and the traffic pattern generated from the observations can be deemed as a sequence of hidden
states.
Given an observation set 𝑂𝑒 of a transition e, a position-dependent model can be denoted
as follows:
𝐾 = number of positions, i.e. the maximum length among the numbers of packets
in observations
𝑁𝑘 = number of states at position k
𝑆𝑇𝑘 = {𝑠𝑡𝑘1 , … , 𝑠𝑡𝑘𝑁 } ∈ 𝑆𝑇= a set of possible hidden states at position k
𝑘
Each state 𝑠𝑡𝑘𝑖 ∈ 𝑆𝑇𝑘 is unique and originated from the size of a packet observed at position k
in an observation. This set may contain states related to the potential disordered packets,
which are not observed but within displacement range from position k. The final confirmed
state at position k is denoted by 𝑠𝑡𝑘 .
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
213
Mk = number of outputs at position k
𝑂𝑃𝑘 = {𝑜𝑝𝑘1 , … , 𝑜𝑝𝑘𝑀 } ∈ 𝑂𝑃= a set of output at position k
𝑘
Set 𝑂𝑃𝑘 collects packets that can be observed at position k in each observation 𝑜𝑒𝑖 ∈ 𝑂𝑒 ,
expressed by packet sizes. Similar to the states in a state set, outputs in this set may also
include those probably disordered but within displacement range from position k.
𝐼𝑃 = {𝑖𝑝1 , … , 𝑖𝑝𝑁1 } ∈ 𝐼𝑃= initial state distribution at position 1
𝑖𝑝𝑖 denotes the initial probability of state 𝑠𝑡1𝑖 .
𝐶𝑘 = {𝑐𝑘 (𝑠𝑡𝑘𝑖 , 𝑠𝑡𝑘+1𝑗 )} ∈ 𝐶= transition probabilities between states at position k
It is a 𝑁𝑘 × 𝑁𝑘+1 matrix, and 𝑐𝑘 (𝑠𝑡𝑘𝑖 , 𝑠𝑡𝑘+1𝑗 ) denotes the probability of transferring from
state 𝑠𝑡𝑘𝑖 ∈ 𝑆𝑇𝑘 at position k to state 𝑠𝑡𝑘+1𝑗 ∈ 𝑆𝑇𝑘+1 at position 𝑘 + 1.
𝐵𝑘 = {𝑏𝑘 (𝑜𝑝𝑘𝑡 ∨ 𝑠𝑡𝑘𝑖 )} ∈ 𝐵= output probabilities at position k
It is a 𝑁𝑘 × 𝑀𝑘 matrix, and 𝑏𝑘 (𝑜𝑝𝑘𝑡 ∨ 𝑠𝑡𝑘𝑖 ) denotes the probability of observing output
𝑜𝑝𝑘𝑡 ∈ 𝑂𝑃𝑘 in state 𝑠𝑡𝑘𝑖 ∈ 𝑆𝑇𝑘 .
This model can be also characterised by a set of parameters 𝜇 = {𝐼𝑃, 𝐶, 𝐵}. Then the BaumWelch algorithm (Baum et al., 1970) is performed until the resulting probabilities converge
satisfactorily, which maximises 𝜇 = {𝐼𝑃, 𝐶, 𝐵}.Then the Viterbi algorithm (Forney, 1973) is
performed to get a sequence of most likely states which has the maximum probability. The
most likely sequence generated from𝑂𝑒 is regarded as a sequence of most likely states, where
𝑚𝑙𝑠𝑒 = (𝑠𝑡1 , 𝑠𝑡2 , … )
Next, we show how to quantify leakages. Fig. 2 gives an overview of the process
of quantification. Given the most likely sequences generated from the observation sets, each
for a transition, we define confidence, i.e. 𝑐𝑜𝑛𝑓(𝑂𝑒 , 𝑚𝑙𝑠𝑒 ), for each most likely
sequence𝑚𝑙𝑠𝑒 .Then the probabilities of the most likely sequences can be obtained and the
probability distribution pd on the set of most likely sequences MLS is built to quantify the
leakage. The details are described in the following.
Fig. 2. Overview of quantifying the leakage. Source: Author
214
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
4.3
Confidence of Most Likely Sequence
First we define confidence of most likely sequence, a measure to assess the similarity
between sequence𝑚𝑙𝑠𝑒 and the observations in 𝑂𝑒 .It can be abbreviated as confidence.
Definition 4. [Confidence] Given a set of observations 𝑂𝑒 , and a most likely sequence
𝑚𝑙𝑠𝑒 for transition e, the confidence of most likely sequence is defined as
𝑐𝑜𝑛𝑓(𝑂𝑒 , 𝑚𝑙𝑠𝑒 ) = 1 − 𝑚𝑖𝑛 (
𝑎𝑑 + 𝑑𝑚
, 1)
|𝑚𝑙𝑠𝑒 |
(1)
where ad and dm are the average distance and the dissimilarity between𝑚𝑙𝑠𝑒 and observations
in 𝑂𝑒 respectively, which are defined later. |𝑚𝑙𝑠𝑒 | is the number of packets in sequence
𝑚𝑙𝑠𝑒 .In this equation,𝑚𝑙𝑠𝑒 is regarded as the reference sequence. 𝑐𝑜𝑛𝑓(𝑂𝑒 , 𝑚𝑙𝑠𝑒 ) can be
abbreviated as𝑐𝑜𝑛𝑓𝑒 .
Confidence is used to assess the overall similarity between a most likely sequence and the
observations.
Definition 5. [Distance between two sequences] A traffic sequence𝑎⃗can be obtained from
traffic sequence𝑏⃗⃗ through at least n operations of shift, insertion, deletion, substitution of
packets, and transposing two packets within displacement range. The distance between
sequences 𝑎⃗ and 𝑏⃗⃗ is defined as
𝑑𝑖𝑠(𝑎⃗, 𝑏⃗⃗) = 𝑚𝑖𝑛(𝑛, |𝑎⃗|)
(2)
where |𝑎⃗| is the number of packets in sequence 𝑎⃗.
Definition 6. [Average Distance] The average distance between a traffic pattern 𝑚𝑙𝑠𝑒 and
a set of observations𝑂𝑒 is defined as
𝑎𝑑 =
∑𝑜𝑖 ∈𝑂𝑒 𝑑𝑖𝑠 (𝑜𝑖 , 𝑚𝑙𝑠𝑒 )
|𝑂𝑒 |
(3)
where𝑑𝑖𝑠(𝑜𝑖 , 𝑚𝑙𝑠𝑒 )is the distance between 𝑚𝑙𝑠𝑒 and observation𝑜𝑖 ,defined in Definition 5,
and |𝑂𝑒 | is the cardinality of set 𝑂𝑒 .
After calculating the distances, each observation 𝑜𝑖 ∈ 𝑂𝑒 is indistinguishable from traffic
pattern𝑚𝑙𝑠𝑒 .
Nevertheless, there may still be dissimilarity between indistinguishable packets between
observation𝑜𝑖 and sequence 𝑚𝑙𝑠𝑒 ,when their packet sizes are not identical. Hence dissimilarity
is taken into consideration, in terms of the standard deviation (Bland, Altman,1996)
of indistinguishable packets.
Definition 7. [Dissimilarity] Given a set of observations 𝑂𝑒 after Damerau-Levenshtein
process and a traffic pattern 𝑚𝑙𝑠𝑒 , dissimilarity is defined by:
𝑑𝑚 =
∑
𝑚𝑙𝑠𝑒𝑘 ∈𝑚𝑙𝑠𝑒
𝑠𝑑𝑘
𝑚𝑙𝑠𝑒𝑘
(4)
where
∑𝑜 ∈𝑂 (𝑜𝑖 − 𝑚𝑙𝑠𝑒𝑘 )
𝑠𝑑𝑘 = √ 𝑖 𝑒 𝑘
|𝑂𝑒 |
Volume 04 | Number 03 | 2015
2
ACTA INFORMATICA PRAGENSIA
(5)
215
is the standard deviation of indistinguishable packets at position k, and 𝑚𝑙𝑠𝑒𝑘 and 𝑜𝑖𝑘
represent the packet sizes at position k in sequences 𝑚𝑙𝑠𝑒 and 𝑜𝑖 respectively.
Next we define a threshold of confidence Tc to assess determine if sequence𝑚𝑙𝑠𝑒 is actually
the traffic pattern of observations for transition e.
4.3.1
Determination of the most likely sequence
Given a transition e, a set of observations 𝑂𝑒 and the most likely sequence 𝑚𝑙𝑠𝑒 , if
𝑐𝑜𝑛𝑓(𝑂𝑒 , 𝑚𝑙𝑠𝑒 ) ≥ 𝑇𝑐, 𝑚𝑙𝑠𝑒 is confirmed to be the most likely sequence for transition e.
Otherwise, transition e is considered generating random web traffic not conforming to any
traffic patterns. We instead propose a null traffic pattern, so that in this case
𝑚𝑙𝑠𝑒 = 𝑛𝑢𝑙𝑙and 𝑐𝑜𝑛𝑓(𝑂𝑒 , 𝑚𝑙𝑠𝑒 ) = 1
Accordingly, it can be concluded that 𝑇𝑐 ≤ 𝑐𝑜𝑛𝑓(𝑂𝑒 , 𝑚𝑙𝑠𝑒 ) ≤ 1.
The confidence assesses a most likely sequence𝑚𝑙𝑠𝑒 in terms of the similarity between𝑚𝑙𝑠𝑒
and observations. A most likely sequence is regarded as a fingerprint of a user in
a communication. After determining the most likely sequence for a transition, we build
a relation of the “one to many" mapping between a transition and multiple traffic patterns.
4.4
One Many Mapping for a Transition
Previous work consider a "one to one" mapping where each transition associates to either one
observation or one traffic pattern. Instead, this work builds a “one to many" mapping, where
a transition can associate to more than one traffic pattern.
4.4.1
Similarity
First we define similarity between an observation and its traffic pattern to measure
the similarity between them.
Definition 8. [Similarity] Given an observation 𝑜𝑖 ∈ 𝑂𝑒 and a most likely sequence 𝑚𝑙𝑠𝑒 , the
similarity between𝑜𝑖 and 𝑚𝑙𝑠𝑒 is defined by
𝑠𝑖𝑚𝑖(𝑜𝑖 , 𝑚𝑙𝑠𝑒 ) = 𝑐𝑜𝑛𝑓({𝑜𝑖 }, 𝑚𝑙𝑠𝑒 )
(6)
The similarity examines the degree of an observation𝑜𝑖 following the most likely sequence
𝑚𝑙𝑠𝑒 .
With similarity 𝑠𝑖𝑚𝑖(𝑜𝑖 , 𝑚𝑙𝑠𝑒 ), we can determine if observation 𝑜𝑖 follows most likely
sequence 𝑚𝑙𝑠𝑒 by defining a threshold of similarity-Tm (0.5 < 𝑇𝑚 ≤ 1).
Given the threshold of similarity Tm, observation𝑜𝑖 is considered conforming to most likely
sequence𝑚𝑙𝑠𝑒 if and only if 𝑠𝑖𝑚𝑖(𝑜𝑖 , 𝑚𝑙𝑠𝑒 ) ≥ 𝑇𝑚.
4.4.2
“One to Many" Mapping
1. When 𝑐𝑜𝑛𝑓(𝑂𝑒 , 𝑚𝑙𝑠𝑒 ) < 1
The probability of observations from transition e conforming to most likely sequence 𝑚𝑙𝑠𝑒 is
denoted by:
𝑃𝑟(𝑚𝑙𝑠𝑒 ∨ 𝑒) =
216
ACTA INFORMATICA PRAGENSIA
𝑀
|𝑂𝑒 |
(7)
Volume 04 | Number 03 | 2015
where M is the number of observations in set 𝑂𝑒 which follow traffic pattern 𝑚𝑙𝑠𝑒 , i.e.
an observation 𝑜𝑖 satisfies 𝑠𝑖𝑚𝑖(𝑜𝑖 , 𝑚𝑙𝑠𝑒 ) ≥ 𝑇𝑚.
This probability 𝑃𝑟(𝑚𝑙𝑠𝑒 ∨ 𝑒) represents the probability of observations from transition e
following traffic pattern 𝑚𝑙𝑠𝑒 .
However, random observations not following 𝑚𝑙𝑠𝑒 can also be generated. They are
considered following no traffic patterns. Hence we consider that they follow the null pattern,
and the probability of observations following pattern null is defined as:
𝑃𝑟(𝑛𝑢𝑙𝑙 ∨ 𝑒) = 1 − 𝑃𝑟(𝑚𝑙𝑠𝑒 ∨ 𝑒).
As a whole, when 𝑐𝑜𝑛𝑓(𝑂𝑒 , 𝑚𝑙𝑠𝑒 ) ≠ 1,an observation for transition e follows one of two
most likely sequences, i.e. either 𝑚𝑙𝑠𝑒 or pattern null.
2. When 𝑐𝑜𝑛𝑓(𝑂𝑒 , 𝑚𝑙𝑠𝑒 ) = 1
Most likely sequence𝑚𝑙𝑠𝑒 can be either pattern null or a non-null pattern. In this case, all the
observations follow most likely sequence 𝑚𝑙𝑠𝑒 . Hence the probability of observations for
transition e following pattern𝑚𝑙𝑠𝑒 is:𝑃𝑟(𝑚𝑙𝑠𝑒 ∨ 𝑒) = 1.
By bringing in a null pattern, random web traffic for a transition is also associated to a traffic
pattern. It is still an advance towards using multiple traffic patterns in traffic analysis. This
model can improve the accuracy when evaluating leakage of user privacy, as a larger space of
observations including random web traffic generated during communications are considered.
With a set of most likely sequences and their probabilities, this section describes how to
quantify the leakage of the related secret.
4.5
Probability Distribution in terms of Traffic Patterns
First we build a probability distribution on the set of most likely sequences, in terms of the
probabilities of observations for a set of transitions.
Definition 9. [Probability Distribution for a set of Transitions] Given a set of transitions
E, a set of observation sets𝑃(𝑂)where𝑓: 𝐸 → 𝑃(𝑂), a set of most likely sequences MLS
where𝑔: 𝑃(𝑂) → 𝐸, and the probability distribution𝑝𝑑: 𝑦 → [0,1]on set MLS is defined by:
𝑝𝑑(𝑚𝑙𝑠𝑖 ) = 𝜇(𝑒) × 𝑃𝑟(𝑚𝑙𝑠𝑖 ∨ 𝑒)
(7)
where 𝜇 denotes the probability of a transition e and 𝑚𝑙𝑠𝑖 is a most likely sequence for
transition e.
In this chapter, we suppose a uniform distribution on set E, such that 𝜇(𝑒) = 1⁄|𝐸|.
4.6
Quantifying Leakages
With the most likely sequences and their probabilities, now we build an equivalence relation
to measure the leakage of user identities.
Given a set of transitions E, a set of most likely sequences MLS for set E, and their
probabilities 𝑃𝑟(𝑚𝑙𝑠𝑒 ∨ 𝑒), where 𝑚𝑙𝑠𝑒 ∈ 𝑀𝐿𝑆 is a most likely sequence for transition 𝑒 ∈ 𝐸,
an equivalence relation X on set MLS can be built as:
∀𝑚𝑙𝑠𝑖 , 𝑚𝑙𝑠𝑗 ∈ 𝑀𝐿𝑆, 𝑚𝑙𝑠𝑖 ∼ 𝑚𝑙𝑠𝑗 if and only if the similarity between them satisfies:
𝑠𝑖𝑚𝑖(𝑚𝑙𝑠𝑖 , 𝑚𝑙𝑠𝑗 ) ≥ 𝑚𝑎𝑥 (𝑃𝑟(𝑚𝑙𝑠𝑖 ∨ 𝑒𝑘 ), 𝑃𝑟(𝑚𝑙𝑠𝑗 ∨ 𝑒𝑡 ))
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
217
where𝑚𝑙𝑠𝑖 is a traffic pattern for transition𝑒𝑘 and𝑚𝑙𝑠𝑗 for transition𝑒𝑡 ,and 𝑃𝑟(𝑚𝑙𝑠𝑖 ∨ 𝑒𝑘 ) is the
probability of an observation for transition𝑒𝑘 following𝑚𝑙𝑠𝑖 .
The sequence with a shorter length is regarded as the reference sequence, mentioned in
Equation 1, i.e. |𝑚𝑙𝑠𝑖 | ≤ |(𝑚𝑙𝑠𝑗 )| . This makes the similarity smaller, which provides
a “stricter" matching between two most likely sequences.
In an equivalence relation, there may be an equivalence class classifying null patterns, as even
the irregular web traffic can leak user privacy. Given an observation not following any traffic
patterns, e.g., it is more likely that this observation is originated from a transition which holds
the highest probability of generating irregular web traffic among all the transitions.
Guessing probability (Malacaria, 2015) is used to evaluate the probability of successfully
guessing user identity in one try, based on the Smith's vulnerability (Smith, 2009) with
an equivalence relation on most likely sequences.
Definition 9. [Guessing probability] Given an equivalence relation X on a set of most likely
sequences MLS in terms of a secret sec and a probability distribution 𝑝𝑑: 𝑀𝐿𝑆 → [0,1],the
guessing probability for secret sec is defined by
𝐺𝑢𝑒(𝑠𝑒𝑐 ∨ 𝑋) ∑ 𝑔𝑢𝑒 (𝑋𝑖 )
𝑋𝑖 ∈𝑋
where 𝑔𝑢𝑒(𝑋𝑖 ) = 𝑚𝑎𝑥𝑚𝑙𝑠𝑘∈𝑋𝑖 𝑝𝑑(𝑚𝑙𝑠𝑘 )is the vulnerability of equivalence class 𝑋𝑖 , i.e. the
worst-case probability the secret can be guessed in one try.
5
Experimental Results
This section presents the experimental results of the in-depth analysis related to the 27
websites.
Given 50 Google accounts, in original the priori chance of guessing a user before observing
web traffic is 0.02. The analysis used the following configurations: threshold of
indistinguishable packets Tp=0.1, displacement range d=2, and the thresholds of confidence
and of confidence Tc =Tm= 0.7.
5.1
Direct Transition
Between testing scenarios 1, 2 or 3, the direct transitions in test cases are only dependent on
user accounts, regardless of the websites the indirect transitions communicate with.
By analysing the web traffic of direct transitions in different scenarios and in different testing
rounds, in general, the guessing probabilities of user identities from direct transitions are all
less than or around 0.1 at each of the five locations.
In the following sections, therefore, our focus is turned to the analysis of indirect transitions.
Without particular explanation, the guessing probabilities mentioned are for indirect
transitions.
In the following, we analyse the results of guessabilities for indirect transitions.
5.2
Indirect Transition
We assume that the web traffic for an indirect transition examined in a testing scenario can
fingerprint the user when it is consistent regardless of the testing locations, testing machines,
218
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
testing time, etc. In other words, similar guessing probabilities will be obtained among
different testing rounds and different locations.
In general, we consider the transitions of a website leak user identities if
1. the guessing probabilities generated at different locations are consistent. The five variation
trends of the guessing probabilities in four scenarios, each generated from a location,
generally follow a consistent variation pattern; and
2. the highest gap between two guessing probabilities among any two scenarios should be
large enough.
In condition 2, currently we only examine the leakage when the largest gap between guessing
probabilities is originated from scenarios 1 and 4, i.e. the highest is from scenario 1 and the
lowest from scenario 4. Leakages in other cases are left for future investigation.
To ensure the variation trends of guessing probabilities from different locations are consistent,
we execute test cases for each website at least two rounds at each location, except the testing
sites in Berlin and Neuchatel. This is because that the two testing sites are unavailable after
a round of testing for all the websites.
Fig. 3 plots six websites which leak user identities among the examined 27 websites, in terms
of guessabilities from five locations. A line plotted in a sub figure manifests the variation
trend of guessabilities at one testing site. As can be seen, the guessing probabilities are
generally highest in scenario 1 whereas lowest in scenario 4.
Although test cases were only tested one round in Berlin and Neutchatel, the two locations
have consistent variation trends for most of the six websites. This can be deemed as another
sign which indirectly manifests the high consistency of guessing probabilities between
locations, as the variation trends at these two locations are consistent to the variation pattern
in one try.
There may be a few vibrations between consistent variation trends. For example, in Fig. 3(4)
in terms of website dailymail.co.uk, the guessing probabilities in London and Neuchatel are
essentially identical under scenarios 2, 3 and 4, while in Berlin and Stuttgart, the statistics in
scenario 3 are lower than those in scenarios 2 and 4. Nevertheless, relative to the gaps with
guessing probabilities in scenario 1, the differences between the guessing probabilities
in scenarios 2, 3 and 4 are fairly small. Thus it can still be considered that the variation trends
are consistent among the five locations.
From the variation trends displayed in Fig. 3, we produce three templates mainly followed by
the variation trends for the six websites. As the websites are considered revealing user
identities, a template is also deemed as a leaking pattern of user identities.
For a website whose variation trends of guessing probabilities from indirect transitions follow
a leaking pattern, the indirect transitions are considered as the vulnerabilities of leaking user
identities.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
219
Fig. 3. Websites with consistent variation trends of guessabilities between locations. Source: Author
Next we analyse the three leaking patterns.
1. 𝐺(1) ≃ 𝐺(3) > 𝐺(2) ≃ 𝐺(4)
In this leaking pattern, guessing probabilities in scenarios 1 and 3 are close to each other, and
so are those in scenarios 2 and 4. However, the figures in scenarios 1 and 3 are much larger
than those in scenarios 2 and 4.
Symbol ≃ is used to express that two guessing probabilities are with similar values.
Compared with scenario 1, guessing probabilities in scenario 2 fall down sharply when the
cookies were cleared, to a same level as the values in scenario 4.
This verifies what we expected as indirect transitions in both scenarios 2 and 4 should involve
no information related to user accounts. On the contrary, the guessing probabilities stay at
a high level as long as the cookies were retained, even when the user accounts were logged
out in scenario 3.
This suggests, therefore, that cookies cause the web traffic for indirect transitions depending
on users, for a website whose the variation trends of guessing probabilities follow this leaking
pattern.
For websites livedoor.com and ebay.de displayed in Fig. 3(1) and 3(2), their variation trends
generally follow this leaking pattern, excluding that in Neuchatel for livedoor.com and that in
Berlin for ebay.de.
2. 𝐺(1) > 𝐺(2) ≃ 𝐺(3) ≃ 𝐺(4)
For websites in Fig. 3(3) and 3(4), their variation trends generally follow this leaking pattern.
In this leaking pattern, guessing probabilities in scenario 1 are much higher than those in other
scenarios, which are similar from each other.
Unlike in leaking pattern 1, where guessing probabilities maintain on a high level as long as
the cookies are retained, in this leaking pattern the high-level guessing probabilities only
come from scenario 1 when both cookies and logged user accounts were kept. This indicates
that without logged user accounts, user identities are not revealed even when the cookies
exist. It suggests that some information related to the logged user accounts may be propagated
to the indirect transitions, but not via cookies.
220
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Now consider the variation trends depicted in Fig. 3(3) for bankofamerica.com.
The one in Stuttgart is exceptional, where the guessing probabilities in all scenarios are 0.02,
identical to the prior chance.
To further investigate, communications with website bankofamerica.com were repeatedly
performed several more rounds in Stuttgart during a large time period. However, identical
guessing probabilities were always obtained in every testing round. Hence the user identity is
not leaked through the indirect transitions when testing in Stuttgart.
3. 𝐺(1) > 𝐺(2) > 𝐺(3) ≃ 𝐺(4)
This leaking pattern is summarised from the variation trends for internal websites
google.com.br and google.it in Fig. 3(5) and 3(6) respectively.
The guessing probabilities gradually decline over the first three scenarios and then level off in
scenario 4, close to the value in scenario 3.
Compared with the guessing probabilities for the external websites shown in Figure 3(1-4), in
this case when communicating with internal websites, guessing probabilities in scenario 2 are
higher than those in scenario 4, which do not conform to the expectation where the guessing
probabilities in scenarios 2 and 4 are similar.
Therefore, a suspicion is proposed when communications happened between Google internal
websites. Google wanted to get the information about user accounts in communications.
Assume that during the direct transition when a user logged into her user account, a temporary
session, containing the information related to the user account and the IP address of the user,
was stored in the server.
When an indirect transition was performed in scenario 3, Google detected that the cookie is
available. Hence it did not request any information related to the user account as the cookie
has existed and it would be used in future communications. As regards in scenario 4, no
information related to the user account can be requested, therefore the guessing probabilities
in scenarios 3 and 4 are close.
However, when the cookie was deleted in scenario 2, Google attempted to get the information
about the user account from a different channel.
It can request for the temporary session from the direct transition saved in the server, through
the match between the user's IP address in the indirect transition and that stored in the
temporary session. This process can lead to the web traffic for indirect transitions varying
depending on users.
It is supposed, therefore, that even when the cookies are deleted, communications between
Google internal websites can still implicitly transmit the information related to user accounts.
This may cause a side-channel leakage of user identities.
As can be seen that the guessing probabilities for google.it are more stable than for
google.com.br, we suppose that the communications with google.it happened within the
Europe, while the communications with google.com.br were the global transmission to
Brazil, which may cause the web traffic with a higher unsteady.
Therefore, it can be supposed that user identities are leaked through communications with
internal websites, even when the cookies are deleted.
From the variation trends of guessabilities shown in Figure 3, we make a conclude that it is
not a coincidence when a website follows a same variation pattern. The results indicate that
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
221
the control variables, i.e. the cookies cleared in scenario 2 and the user accounts logged out in
scenario 3, can be the essentials of providing web traffic the capability of fingerprinting users.
As shown in Figure 3, the average increment of guessing probabilities, i.e. the maximum gap
between scenarios 1 and 4, is around 0.25 when communicating with an external website.
And it is around 0.3 when connecting to an internal website.
Moreover, we also analysed the vulnerabilities from communications without consistent
variation trends.
5.3
Leaking User Locations
When analysing the web traffic which leaks no user identities, it is by accident discovered that
there is a website whose observations completely rely on the locations. More specifically, the
observations from one location always terminate with the same packet sequence, which is
unique from those in other locations.
In the communications with website craigslist.org, one of the 25 external websites, the web
traffic for indirect transitions is constant and indistinguishable from users, so that no user
identities are leaked. However, the observations generated from Berlin end with a packet with
size 412 in any scenarios, and the observations in Cambridge, London, Neuchatel, and
Stuttgart always terminate with packet sizes 421, 415, 408 and 418 respectively.
To confirm, several more rounds of testing on this website were conducted during a large
period of time. As a result, the observations always end with the same packet sizes, which are
unique from locations.
This discovery is exciting, but at the same time questions like “will the observations still leak
user locations when the number of testing locations increase largely", “is the location really
the factor leading to the uniqueness of ending packet sizes in observations", etc. can be asked
and wait for further investigation.
Inspired by this finding, we examined the web traffic for the six websites in Fig. 3, in terms of
the leakage of user identities. However, the observations are independent on the five testing
locations.
6
Discussion
This work starts an in-depth analysis of the side-channel leakage of user identities.
It demonstrates a potential leaking threat which reveals user identities from Google accounts
to external websites in the real world. Moreover, user location is also identifiable by traffic
analysis in our experiments.
We also analyse the effects of cookies and logged Google accounts on the web traffic varying
depending on user identities. It is not a surprise to see that cookies leak user privacy, as it has
been a well-known mean of web tracking. However, to our best knowledge, this research is
the first study on cookies in side-channel leakages of user identities via traffic analysis.
On the other hand, one may come up with an argument like “is the increment of guessing
probability of around 0.3 large enough to indicate that the user identity is leaked". Moreover,
questions like “is the sample space too small compared with millions of Google accounts",
“does the guessing probability reduce rapidly when the sample space expands" etc. are still
open.
Opposite to previous work which quantifies leakages by simulating real attacks, we simply
use the trained data to evaluate leakages, without mounting attacks. Furthermore, when
222
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
assessing whether a maximum gap between the guessing probabilities is large enough, we do
not establish a threshold of the existence of leakage. Instead we subjectively determine
whether the gap is large enough to indicate the leakage of user identities.
Even though these limitations exist, the purpose of this research is achieved. It is not to
examine how serious the leakages in real-world web applications. Instead a primary aim is to
illustrate a new traffic-analysis threat in terms of user identities, based upon user accounts on
a website like Google, where the privacy may be leaked through communications with
external websites.
In theory, this work gives a null pattern for observations which do not follow the non-null
patterns. The null pattern completes the construction of a “one to many" mapping between
each transition and multiple traffic patterns. Although the null pattern is weak to present the
traffic features, it is a beginning in the multiple mapping between transitions and
observations, which is closer to the cases in real-world communications. Hence it is an
advance towards a more precise evaluation of traffic-analysis vulnerabilities in real-world
web applications.
On the whole, this research demonstrates a new security threat in side-channel attacks in web
applications. Instead of closing a case, this research, as believed, opens a new case towards
the in-depth investigation of side-channel vulnerabilities in communications with external
websites.
7
7.1
Related Work
Side-Channel Attacks in Web Applications
There is a long standing interest in side-channel attacks against encrypted web traffic.
In 1996, Wagner and Schneier (Wagner & Schneier, 1996) first proposed the idea of
information leakage through traffic analysis from a personal communication. Cheng a Avnur
(1998) present the first actual experiment which discloses that user browsing histories of web
page can be revealed by observing the highly unique HTML file sizes from the encrypted
traffic.
From then on, a large amount of work has studied the attacks, via traffic features, against user
privacy, such as (Cai et al., 2012; Danezis, 2010). Moreover, timing attacks have also been
examined, e.g. (Felten & Schneider, 2000). Felten a Schneider (2000) propose a cache-based
timing attack against the response time of accessing a web page, to determine if the web page
has been visited.
In 2010, Chen (2010) turned focus of side-channel attacks from inferring web pages/sites
visited to obtaining the user sensitive data on a website. They investigate real-world websites
and find out that user health conditions, financial statuses, search inputs, etc. can be largely
leaked through traffic analysis, based on the packet sizes and directions.
The first automated tool – Sidebuster, for detecting and quantifying side-channel leakages
of user sensitive information, is proposed by Zhang et al. (Zhang, 2010), based on the source
code of Struts-based web applications. Then Chapman and Evans (Chapman & Evan, 2011)
propose a black-box analysis for detecting side-channel vulnerabilities in real-world web
applications. In 2013, Huang and Malacaria (2013) advanced towards the automated test case
generation in the detection of traffic-analysis vulnerabilities in web applications.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
223
7.2
Fingerprinting Users
In anonymity networks which particularly hiding identities of endpoints, practical traffic
analysis have been proposed for compromising user identities, e.g. (Chakravarty, Stavrou,
& Keromytis, 2010). In this work, an attacker exploits traffic fluctuations from characterising
bandwidth variations to compromise the anonymity of Tor users.
Device fingerprinting has also been concerned in terms of breaking user anonymity. For
example, (Eckersley, 2010) shows that trackers can recognise users without the needs
of cookies, through fingerprinting the properties of browsers and their plug-ins.
There has been an increasing public concern about the disclosure of online user identities with
the widespread usage of social media, e.g. (Wondracek et al., 2010). Wondracek et al. (2010)
introduce a de-anonymising attack triggered by an evil website a user visits, which examines
the group memberships of a user on social networking sites, i.e. the groups in a social network
to which the user belongs. The information of group memberships is obtained by mounting
a web browser history stealing attack. Then the attacker uses the group memberships to
identify users.
In this work, however, a novel traffic-analysis scenario of fingerprinting users is proposed. It
is, as believed, a more common scenario of inferring user identities. User identities, based
upon user accounts on a website like Google, can be recognised via traffic analysis in
communications with third-party websites.
8
Conclusion and Future Work
This work demonstrates Google users can be identified via traffic-analysis attacks. User
identities are leaked through transitions which appear to be irrelevant to users, via the
communications with third-party websites. We also discover that cookies and logged user
accounts can be the sources of fingerprinting users.
An immediate work will be to investigate leakages of user locations in depth. Future work can
determine if the user location can be leaked through traffic analysis, and check what sources
lead to varying web traffic.
In terms of communications with third-party websites, this research analysed leakages when
the maximum distance of guessing probabilities coming from scenarios 1 and 4. However,
user privacy is possibly revealed from communications when the maximum gap between
guessing probabilities is derived from other two scenarios. Hence future work can be
extended to analyse leakages in communications with maximum distances of guessing
probabilities from any two scenarios. Furthermore, we will simulate real-world attacks
on websites with state of the art browsers.
References
Alexa. (2015). Alexa Top websites. Retrieved from http://www.alexa.com/topsites
Baum, L. E., & Petrie, T. (1966). Statistical inference for probabilistic functions of finite state Markov
chains. The annals of mathematical statistics, 37(6), 1554-1563.
Baum, L. E., & Eagon, J. A. (1967). An inequality with applications to statistical estimation for
probabilistic functions of Markov processes and to a model for ecology. Bulletin of the American
Mathematical Society, 73(3), 360-363. doi: 10.1090/S0002-9904-1967-11751-8
224
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Baum, L. E., Petrie, T., Soules, G., & Weiss, N. (1970). A maximization technique occurring in the
statistical analysis of probabilistic functions of Markov chains. The annals of mathematical
statistics, 41(1), 164-171.
Bland, J. M., & Altman, D. G. (1996). Statistics notes: measurement error. British Medical
Journal, 313(7059), 744.
Cai, X., Zhang, X. C., Joshi, B., & Johnson, R. (2012). Touching from a distance: Website
fingerprinting attacks and defenses. In Proceedings of the ACM conference on Computer and
communications security (pp. 605-616). New York: ACM.
Chakravarty, S., Stavrou, A., & Keromytis, A. D. (2010). Traffic analysis against low-latency
anonymity networks using available bandwidth estimation. In Proceedings of the 15th European
conference on Research in computer security (pp. 249-267). Berlin: Springer.
Chapman, P., & Evans, D. (2011). Automated black-box detection of side-channel vulnerabilities in
web applications. In Proceedings of the 18th ACM conference on Computer and communications
security (pp. 263-274). New York: ACM.
Cheng, H., & Avnur, R. (1998). Traffic analysis of ssl encrypted web browsing. Retrieved from
https://www.cs.berkeley.edu/~daw/teaching/cs261-f98/projects/final-reports/ronathan-heyning.ps
Danezis, G. (2010). Traffic Analysis of the HTTP Protocol over TLS. Retrieved from
http://research.microsoft.com/en-us/um/people/gdane/papers/TLSanon.pdf
Eckersley, P. (2010). How unique is your web browser?. In Proceedings of the 10th international
conference on Privacy enhancing technologies (pp. 1-18). Berlin: Springer.
Felten, E. W., & Schneider, M. A. (2000). Timing attacks on web privacy. In Proceedings of the 7th
ACM conference on Computer and communications security (pp. 25-32). New York: ACM.
Forney Jr, G. D. (1973). The viterbi algorithm. Proceedings of the IEEE, 61(3), 268-278. doi:
10.1109/PROC.1973.9030
Huang, X., & Malacaria, P. (2013). SideAuto: quantitative information flow for side-channel leakage in
web applications. In Proceedings of the 12th ACM workshop on Workshop on privacy in the
electronic society (pp. 285-290). New York: ACM.
Backes, M., Doychev, G., & Kopf, B. (2013). Preventing side-channel leaks in web traffic: A formal
approach. Retrieved from http://www.internetsociety.org/sites/default/files/04_2_0.pdf
Jpcap. (2015). Jpcap. Retrieved from http://jpcap.sourceforge.net/
Malacaria, P. (2015). Algebraic foundations for quantitative information flow. Mathematical Structures
in Computer Science, 25(2), 404-428. doi: 10.1017/S0960129513000649
Navarro, G. (2001). A guided tour to approximate string matching. ACM computing surveys, 33(1),
31-88. doi: 10.1145/375360.375365
PlanetLab. (2015). PlanetLab Euorpe. Retrived from https://www.planet-lab.eu/
Selenium. (2015). Selenium Webdriver. Retrieved from http://docs.seleniumhq.org/projects/webdriver/
Smith, G. (2009). On the foundations of quantitative information flow. In Proceedings of the 12th
International Conference on Foundations of Software Science and Computational Structures
(pp. 288-302). Berlin: Springer. doi: 10.1007/978-3-642-00596-1_21
Wagner, D., & Schneier, B. (1996). Analysis of the SSL 3.0 protocol. In Proceedings of the 2nd
conference USENIX Workshop on Electronic Commerce (pp. 29-40).
Wondracek, G., Holz, T., Kirda, E., & Kruegel, C. (2010). A practical attack to de-anonymize social
network users. In IEEE Symposium on Security and Privacy (pp. 223-238). New York: IEEE.
Zhang, K., Li, Z., Wang, R., Wang, X., & Chen, S. (2010). Sidebuster: automated detection and
quantification of side-channel leaks in web application development. In Proceedings of the 17th
ACM conference on computer and communications security (pp. 595-606). New York: ACM.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
225
Acta Informatica Pragensia, 2015, 4(3): 226–241
DOI: 10.18267/j.aip.71
Peer-reviewed paper
Security Measures in Automated Assessment
System for Programming Courses
Jana Šťastná*, Ján Juhár*, Miroslav Biňas*, Martin Tomášek*
Abstract
A desirable characteristic of programming code assessment is to provide the learner
the most appropriate information regarding the code functionality as well as a chance to
improve. This can be hardly achieved in case the number of learners is high (500 or more).
In this paper we address the problem of risky code testing and availability of an assessment
platform Arena, dealing with potential security risks when providing an automated
assessment for a large set of source code. Looking at students’ programs as if they were
potentially malicious inspired us to investigate separated execution environments, used by
security experts for secure software analysis. The results also show that availability issues
of our assessment platform can be conveniently resolved with task queues. A special
attention is paid to Docker, a virtual container ensuring no risky code can affect the
assessment system security. The assessment platform Arena enables to regularly,
effectively and securely assess students' source code in various programming courses.
In addition to that it is a motivating factor and helps students to engage in the educational
process.
Keywords: Automated assessment, Programming assignment, Unsafe code, Virtual
environment, Docker, System availability.
1
Introduction
Automated assessment in programming assignments has been a center of attention in various
studies which differ in applied strategies or technologies. Some focused on deployment
of separate tools run from command line, others described complex systems providing a user
interface (UI) over Internet, and finally, some are available as web services. As mentioned in
a work of Ihantola et al. (2010) or Pears et al. (2007), one common problem is availability of
particular assessment tool. Mostly, such tools are created to solve local problems, e.g.
automated evaluation of student projects.
Programming courses and innovative assessment approaches have been discussed since at
least 1997, when Thorburn and Rowe (1997) described in their work an automated system
used for assessment of students' programs. They called it PASS (Program Assessment using
Specified Solutions) and it checked if a student's program matches a solution plan provided to
the system by a teacher. The solution plan was a description of proper program functionality
at a higher level of abstraction – some kind of pseudo-code of desired solution. The
representative solution plan was compared with a solution plan extracted from the student's
*
Department of Computers and Informatics, Faculty of Electrical Engineering and Informatics,
Technical University of Košice, Letná 9, 042 00 Košice, Slovak Republic
 [email protected], [email protected], [email protected], [email protected]
226
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
program and if they matched, it indicated that the student's solution is implemented as desired
and with full score. The score together with more detailed feedback were provided to the
student.
It seems that PASS, the system mentioned above, inspired many other researchers and
programming teachers, if not in functionality then at least in naming. Wang and Wong (2008)
deal with computer-assisted learning in programming courses and they describe how they
used the Programming Assignment aSsessment System (PASS) in their classes. Automatic
assessment systems are used not only as a means to simplify the assessment. Law, Lee, & Yu
(2010) provide a study which shows how PASS encourages and motivates students in
learning.
Problems of automated assessment are also discussed in a work of Pieterse (2013). The author
provides an extensive summary of issues regarding programming assignments assessment,
especially in massive open online courses (MOOC) focused on teaching programing. With
high numbers of attendees it is crucial to provide fast feedback and fair assessment
of assignments, which is not possible to achieve without automation of the assessment
process. The educational view on the evaluation of programming assignments is also
discussed in a work of Biňas and Pietriková (2014) and Pietriková, Juhár, and Šťastná (2015).
Regardless of the preferred assessment tool it is crucial to discuss security issues associated
with testing by execution of unknown and probably risky code submitted by students. Novice
programmers will probably make mistakes in their code which could cause problems on the
testing system or even render it inoperable. Automatic assignments evaluation platform
should be resistant to such effects of risky code execution and availability of the evaluation
service needs to be sustained also in case of numerous requests.
In this article we describe potential security risks related to verification of students’ code,
weaknesses of evaluation systems and our experiences with automatic evaluation platform
Arena that is being developed at our department. We present one of several approaches for
coping with security risks in Arena and describe how we ensured the system’s confidentiality,
integrity and availability.
2
Motivation
Our assessment platform Arena is based on web services with focus on its reusability and
availability. However, execution of students’ programming solutions may pose a problem
unless appropriate security measures are applied.
2.1
The Arena platform
In our programming courses, we use an approach of programming custom computer games
(Biňas & Pietriková, 2014). Generally, aspects of a programming language along with an
individual game-related problems are dispensed gradually. This way students remain
motivated while they are not potentially overburdened neither by the complexity of the
language nor by the complexity of a particular problem. It also opens a way to get into the
depth of language concepts as well as principles of given programming paradigm.
Our main intention with Arena platform is to build an effective learning environment leading
towards training of good programmers. Maintaining attractive learning environment and its
services is a contributing factor in increasing of students’ motivation and enhancement of
their engagement during the entire semester. Version control system in combination with
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
227
automated evaluator provide an effective as well as a fair assessment of large number of
students.
Over the last year, Arena has been experimentally used with the programming languages C
and Java within three courses, together covering over 1100 students. We currently have
following two use cases in which Arena is being used.

Scheduled assessment of students’ projects they push to Git repository. This
assessment is scheduled in a cron task that every few hours sends repositories
matching a given name pattern for evaluation to Arena. Result of assessment is made
available on a web page of Arena platform accessible with the knowledge of
a randomly generated student identifier that is sent to the student by email after first
assessment of his or her project.

Real-time assessment during final exam. Students access a web page containing
description of programming tasks and a web-based code editor where they implement
their solutions. These solutions can be assessed on-demand multiple times during the
exam - whenever student press the "submit" button. In this use case it is especially
important to achieve as short evaluation times as possible.
With the help of Arena platform, students have a chance to fix errors and improve their
overall score prior to a deadline. In the case of scheduled assessment our intention is to
identify specific problems as early as possible rather than to assess a black-box once by the
end of semester. For final exam, our approach gives students enough space for improvement
within the exam time limit.
2.2
Services of the Arena platform
The top-level view on the Arena platform reveals a set of separate web services designed
to cooperate with each other through REST-like2 interfaces. They are displayed in Fig. 1 and
can be characterized by the following description.
2

Arena, as a service, represents user-facing web application through which the
assessment results of students’ projects are presented. This service is dependent on the
Gladiator, as it expects the input data (the assessment results) in the format produced
by this service.

Gladiator service represents the key part of the Arena platform, its test runner. This
service is responsible for running sets of tests provided by lecturers against students’
projects and grade the results according to rules provided with tests. Gladiator is
designed to be independent of the other services and to be usable for assessment of
programs written in (almost) any programming language.

Conductor is a small standalone service that checks the structure of a project against
the declarative description of its expected content.

Spartan is a web application providing real-time evaluation results of programming
tasks presented and solved within a web browser. The main use case of this service is
the automated assessment and grading of course exams. It depends on the Gladiator
service for actual evaluation. The interface displays only the summary result of each
evaluation and provides a URL address to full results available in Arena service.
REST – Representational State Transfer, a software architectural style for web application interfaces.
228
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
These services, developed mostly in Python, have already been used in our courses. The
separation of the processes involved in the automatic assessment of programming
assignments that resulted in this set of services is a continuation of our work presented in
(Biňas, 2014).
Although the platform is designed to be universal regarding the tests it is able to run, it is also
designed for the needs of an educational environment. This is manifested for example in the
terms testcase, problemset, and submission that have following meanings: a testcase
represents a single task to be assessed and graded. In the most common case it is a test
represented as a command to be executed with additional information as title, description,
expected results and score assigned for correct solution. All the testcases form a problemset
configuration. Problemset package provided by lecturer contains this configuration in a JSON
(JavaScript Object Notation) file. It also contains all the files that are required to actually run
the tests, e.g., implementation of unit tests and required libraries. Finally, a submission refers
to the result of assessing student’s project against a problemset that contains structured output
of each testcase. It usually consists of standard output, error output and return code of
a testcase command. More details on problemset package preparation and presentation of
submission outputs are published in (Pietriková, Juhár & Šťastná, 2015).
Testcase runners in Gladiator are implemented as plugins. Currently there are two such
plugins: executable testcase runner that runs a specified local command and web service
testcase runner that calls remote service through HTTP (HyperText Transfer Protocol). The
web service testcase runner is currently used only for checking structure of student’s project
with the Conductor service. In the following, we focus on the executable testcase runner, as
there were several challenges in its implementation in both secure and performing way.
2.3
Security issues
Our evaluation platform works on a base of software testing (e.g., unit testing). In order to
find out if a solution is correct, the source code from the submission is executed with
predefined inputs. The first version of the executable testcase runner used system calls
executed directly from within Gladiator’s web server processes to run the tests specified in the
problemset configuration. This posed two significant security problems:
 Risky code problem - unknown code was executed directly under operating system
of the server (although under user with restricted system rights).
 Availability problem - during execution of tests the server process was unavailable to
serve other requests. Server configuration was set up for 4 worker processes, which
presented limit of 4 concurrently processable HTTP requests, while assessing one
submission takes - depending on the test complexity - several seconds to complete.
Execution of unknown code poses a risk that students unwittingly or, in a worse case
scenario, on purpose submit for evaluation code that performs harmful operations or that may
subvert fair grading of test results or even damage the evaluation system. Even if we do not
expect many submissions to include harmful operations, for security reasons we should
handle students’ programs as potentially malicious software. After all, code we evaluate
comes from students learning to program and erroneous implementations should be expected.
By taking some precautions it should be possible to prevent collapse of the assessment
platform.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
229
Fig. 1. Components of the Arena platform. Source: Authors.
As for the availability problem, first usage of Arena was during scheduled assessment
of students’ project from single course and thus it was not affecting the system performance.
Scheduled nature of this kind of assessment prevented the problem from occurring even when
two courses were using the Arena during the next semester. However, first exposure of
Spartan to real-time use case scenario, in which around 80 students had the possibility to
evaluate their current solution on-demand, confirmed that the design is inappropriate and
problem needs prompt solution. Web server running Arena services was easily overloaded
with incoming requests 3 which caused long evaluation times and even developed into
complete unavailability of the service.
Our motivation for this work lies in the effort to explore possible solutions of the above
outlined problems. We also want to show how the selected technologies were integrated with
our solution.
3
Execution of unknown programs
Depending on the specific harmful code fragments, execution of the program may have
negative consequences on the system’s primary security principles:

Confidentiality – it is necessary to ensure that a submission and test results are
available to the student-author and a lecturer. No other user should have access to
these data by exploiting the evaluation system.

Integrity – one student’s submission cannot be modified in an undesired manner –
neither by another student nor by other person involved in the course. Such undesired
3
There were two requests for each submission, because Spartan communicated with Gladiator through another HTTP
request.
230
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
alterations would lead to violation of information integrity core attributes (Boritz,
2005).

Availability – sometimes even unintentional error in submitted source code, for
example mistake in the implementation of the while-do cycle producing an infinite
loop, can obstruct the evaluation process and render the evaluation system practically
inoperable. This situation should be prevented in order to sustain availability of the
evaluation service, mainly in the use case of course exams evaluation and grading.
Secure execution of potentially harmful software is an issue not only when assessing students’
projects in programming courses but also in computer security research, especially in the field
of malicious software analysis.
There are two general approaches to analysis of unknown code functionality:
1. static analysis, and
2. dynamic analysis.
3.1
Static analysis
Static analysis of source code as simply defined in the work of Landi (1992) is “the processes
of extracting semantic information about a program at compile time”. Determining program’s
functionality from its syntactic representation is a difficult task. In the case of students’
submission analysis we consider static analysis for the purpose of determining program’s
partial correctness, since the total correctness of a program is generally an unsolvable problem
(Wögerer, 2005).
Static analysis methods can be helpful in detection of various errors in code, however,
checking program’s functionality seems to be more complicated. For every testcase a valid
program structure would have to be defined, not to mention the issue that some functionality
may be programmed in numerous different ways.
In general, every program can comprise numerous execution paths, also called execution
traces. The disadvantage of dynamic analysis is that only one execution trace can be observed
at a time. On the other hand, static analysis can handle all of the traces, but this is viewed also
as a disadvantage of static analysis (Beaucamps, Gnaedig, & Marion, 2012), because
inspecting large number of program traces requires more processing time and memory space
than only one execution trace.
While static analysis is practically safe, it does not meet the needs of our evaluation platform,
although it may be useful as a minor analytic technique, for checking e.g. the submission’s
structure and proper program’s construction.
3.2
Dynamic analysis
Techniques of dynamic program analysis require execution of the analyzed program, which is
a drawback from security point of view, but offer results relatively quickly and in an easier
way. Several security researchers consider dynamic analysis more reliable in obtaining
program’s real functionality than static analysis (Egele et al., 2012).
Concerning dynamic analysis, a good practice among malicious software researchers is to use
separated environment for the purpose of programs’ execution. This can be achieved by
allocating either a physical system or a virtual system for this special purpose. Considering
our resources the virtual system was the best choice.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
231
3.3
Secure environments for unknown code testing
We looked at solutions used by malware analysts in search of suitable environment for
execution and testing of unknown code. A lot of researchers rely on an analytic setting of
virtual machines, as described in a work e.g. by Wagener, State, & Dulaunoy (2008).
A potentially malicious code is executed and analyzed in a virtual environment without a risk
of damaging the host system. After the analysis the environment can be safely destroyed and
re-created with the initial settings. There are paid solutions available as well as free and opensource systems.
3.3.1
General and special-purpose virtualization system
One of the possibilities for establishing a secure environment for code execution, known as
sandbox, is to use full virtualization technology. The advantage is that the environment is
fully isolated from hosting operating system and such environment allows to run programs
without any modifications, as if running directly in a normal operating system. Virtualization
software like VirtualPC, VMWare and VirtualBox are built for general-purpose virtualization.
Alongside full virtualization sometimes a paravirtualization technology is used, also called
“hardware-bound”. Xen is one of the systems using that technology (Ormandy, 2007). The
main difference, comparing with full virtualization, is that instructions of a program are
executed by the physical central processing unit. In order to effectively share physical
resources between the host and the guest operating system, several modifications need to be
made on the virtual environment (Ferrie, 2007). These changes are detectable by programs
running on the guest system, which is often undesired when analyzing malicious software.
Especially for the purpose of malware analysis and research some virtualization systems have
evolved into specialized systems with analytical features. CWSandbox is a sandbox which
enables automatization of malware behavior analysis by implementing hooking of Windows
API (Application Programming Interface) functions calls (Willems, Holz, & Freiling, 2007).
A similar analytic environment is Anubis (Bayer et al., 2009), which has formed into an
advanced dynamic malware analysis platform. In addition to Windows API hooking, Anubis
is able to inspect data flows and network traffic of analyzed samples and in this way collect
information about program’s behavior.
3.3.2
Hybrid virtual machine
The problem of executing unsafe programs is addressed in an unusual way in a work
of Nishiyama (2012) which deals with source code written in programming language C. The
code is executed through Java Native Interface which allows C functions execution from Java
methods. Nishiyama proposes an improved Virtual Machine execution mechanism - a Hybrid
Virtual Machine - which is a combination of Java bytecode interpreter and an engine for
emulation of native code execution in a sandbox-like environment. Every time a native code
is to be executed, a context manager changes the execution context for the emulation engine
and so the code executes in a separate context. Then when Java code is to be executed again
the context is switched back from emulation engine to the original Java thread.
Hybrid Virtual Machine is able to check and limit unsuspected system calls which are able to
violate consistency of Virtual Machine. It is achieved either by preventing the system call to
even execute or by limiting external resources used by it, e.g. by disabling access to certain
system directories or limiting data transfer speed (Nishiyama, 2012). It is an interesting
approach, however, it is limited only to C programming language, so it could not be used in
our evaluation platform in the future for courses using different programming languages.
232
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Even if virtualization provides a relatively safe separated environment for execution
of unknown code, virtual systems and sandboxes have also bugs and weak points (Ray
& Schultz, 2009) which generate opportunities for exploitation (Payer, Hartmann, & Gross,
2012). Therefore it is necessary to count with the fact that even the best virtualized
environment is not 100% secure.
3.3.3
Virtual containers
A significant disadvantage of full virtualization technology, mentioned in sections above,
is the time required to start virtual operating system inside the virtual machine, which can be
in tens of seconds. This makes it not usable for our use cases.
A more lightweight solution is a container-based virtualization, of which Docker represents
an increasingly popular option. It provides fast and secure virtualization as well as extensive
API for working with virtual containers. As we can see in Fig. 2, the main difference
compared to full virtualization is that container virtualization does not include full guest
operating system in virtual environment.
Docker containers are built on top of Linux containers. When a container is started, kernel
namespaces and control groups are created for it (Petazzoni, 2014). The provided virtual
environment runs as an isolated process on the host operating system, shares kernel with the
host OS and other containers, and comprises only the application and its dependencies.
Control groups ensure that no single container can exhaust all system resources. Resource
isolation and allocation benefits of virtualization are (for the most part) preserved while the
solution is significantly more efficient. Container starts more quickly - usually in the subsecond range - and requires less system resources.
However, shared OS kernel adds one attack vector that is not present in full virtualization,
specifically if a kernel vulnerability can be exploited or container is misconfigured and allows
for elevation of user permissions. Also the Docker API needs to be secured to prevent its
usage by unauthorized users.
Fig. 2. Difference between full virtualization and container virtualization. Source: Docker Inc. (2015)
Besides extending Linux containers with more secure defaults, Docker containers provide
benefits in terms of container image management. An image template can be specified within
Dockerfile. It contains a sequence of commands used to assemble an image of container.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
233
These commands can specify a base image to build upon (either from local or remote image
repository), run commands to install required system packages, set up working directories,
and more.
Based on discussed properties of multiple virtualization solutions, we decided to use Docker
virtual containers. The decision was mainly influenced by its short startup times, good
environment isolation, and convenient automation features, like Dockerfile.
4
Distributed task queues
Based on the behavior of Arena platform during real-time assessment use case and on the
subsequent availability problems, we concluded that there are two specific changes to the
platform architecture that should resolve these problems. The first is to move submission
assessment execution off the main server processes. Such execution “in the background” will
not block server processes and they will be able to serve other requests. The second change is
to introduce a reliable mechanism that even under higher load will ensure that all received
submissions will be evaluated. Properties of distributed task queues meet requirements of
these changes.
Distributed task queues enable remote execution of tasks through message passing. Various
implementations of this technique provide a wide range of capabilities, which include task
scheduling, re-running of failed tasks or persistently storing results of tasks. As the Arena
platform is implemented in Python, we looked at some Python task queue projects. According
to Makai (2015) the following represent the most used ones:

Celery – arguably the most advanced solution for Python. Celery supports many
features like scheduling, handling of synchronous and asynchronous task, message
routing, result storing. It also supports multiple message brokers and storage backends,
like RabbitMQ4 and Redis5, which can be selected with regard to different features
they provide.

RQ (Redis Queue) – library for queueing tasks and processing them in background. As
name implies, this library is backed by Redis.

Taskmaster – task queue designed to handle large numbers of one-off tasks that are
characterized by large amount of transferred data.

Huey – simple task queue that depends only on Redis as its backend.
As Makai (2015) also notes, Celery is generally the library to go for, even though its usage is
more complicated (due to larger number of included features) than with the other libraries. As
we wanted to select solution that would provide enough possibilities for future extension, we
decided to use this task queue in our implementation.
5
Integrating Docker and Celery with Gladiator
First version of executable testcase runner used direct system calls from the context of web
server process. In POST request to judge REST endpoint of Gladiator service with student’s
submission and problemset identifier the problemset configuration was used to read
4
Message broker with focus on reliability and high availability, see https://www.rabbitmq.com/
5
Data structure storage server supporting publish/subscribe pattern, see http://redis.io/
234
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
individual commands and these were executed with Python’s subprocess library. The only
security measures applied were execution of the tests under user with restricted permissions
and specification of maximal allowed duration for single testcase execution.
To solve the availability problem and the problem of risky code that we described earlier, we
transformed Gladiator service into Celery workers that run executable testcases within
Docker container.
5.1
Running tests with Docker
First added was the Docker support. Problemset configuration JSON file can specify the name
of Docker image that will be used during assessment. It is also possible to include Dockerfile
within the problemset package, which provides convenient way specifying requirements for
test execution. This way, a lecturer - author of a problemset package - can set up the whole
testing environment without needing direct access to the server where test are executed.
Within Gladiator we implemented a new class Dockerizer that serves for checking
availability of configured images on the system, for building those images from
dockerfile in case they are not available, and for starting containers with these prepared
images. Dockerizer is implemented with the help of Docker API client for Python called
docker-py6. Before the container is created, the content of problemset package is copied into
temporary directory that is then configured as a volume on the container. This means that
content of this directory is made available to otherwise isolated file system of the container.
Container is also created with limited available memory.
The last required step for docker integration was to update executable testcase runner to use
prepared Docker container. Main modification consisted of changing direct testcase command
execution to sending the command into running Docker container. However, we still set the
desired user and maximal allowed execution time of the test.
5.2
Gladiator as Celery worker
Integration of distributed task queue Celery with Gladiator started with configuration of the
so-called Celery application. Its configuration consists of specifying message broker (we
choose RabbitMQ) and task result backend (in our case Redis) and of various parameters
related to message passing. We also needed to refactor code related to submission evaluation
into functions independent on the web server-related code of Gladiator service that could be
then marked as Celery tasks.
To minimize amount of data transferred through RabbitMQ queue, we set up a shared
network storage server accessible through SSH. This storage is used for problemset packages
as well as students’ submissions retrieved by Gladiator, which are thus accessible for workers
running on multiple different hosts.
6
An official Docker API client for Python, see https://github.com/docker/docker-py
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
235
Fig. 3. Submission evaluation in the real-time assessment scenario. Source: authors.
REST API endpoint judge of the Gladiator’s web server (the one that performs submission
evaluation) was modified to call appropriate task of the Celery application. The call places
a new task on the Celery queue. Three arguments are passed to this call: original name
of submitted file, unique identifier of that file stored in shared storage, and identifier of
problemset against which the submission should be evaluated. These arguments are retrieved
by worker that is (by Celery internal mechanisms) selected to process the task, it can then
fetch the submission and problemset files from shared storage and perform the evaluation of
the submission.
5.3
Updated real-time assessment scenario
However, for all these changes in the implementation, there was still one obvious weak spot
that prevented full benefit of task queue to show up. Even though submission evaluation was
moved to one of the distributed celery workers, if the server needs to wait for the result the
situation regarding availability is not really improved. And in a situation where all server
workers are waiting for celery workers to finish their jobs, task queue is not going to help
much either.
As we wanted to preserve REST-like Gladiator interface, it appeared that the problem would
require usage of asynchronous web server. Such server would be able to wait for result of
a worker job without blocking the process of handling other requests and to respond with the
result after it is received. This would, of course, mean a significant rewrite of the whole web
server part of Gladiator. However, as we stated in section 2.2, for real-time assessment use
case we needed some more quickly realizable solution. Thus we decided to implement an
alternative asynchronous communication channel usable with combination of the web
browser and leave REST services synchronous for the moment (they would not be used). To
this end a simple real time web server was created, which serves as a mediator for delivering
submission result to browser through Redis publish-subscribe channel and WebSocket
connection.
The whole process of on-demand submission evaluation during real-time scenario (final
exam) is captured in Fig. 3 and can be described as follows.
236
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
1. A Student clicks on the "submit" button when he or she wants to evaluate their current
solution.
2. A request with the student’s implemented source code is sent to Spartan web server
through XMLHttpRequest7 (XHR) API.
3. Spartan saves source code to shared storage and enqueues submission evaluation and
publication tasks directly in Celery task queue.
4. Spartan server sends an empty response to the original XHR request. This ensures that
the connection is quickly closed.
5. Eventually, the tasks from the queue gets to one of running workers. Receiving worker
retrieves submission code from shared storage.
6. Worker starts Docker container from image specified in problemset configuration.
7. Actual evaluation of the submission proceeds as a sequence of commands from
problemset configuration is sent to the running Docker container and results of these
command calls (i.e., stdout, stderr, return code) are collected for assessment.
8. Worker stops running Docker container.
9. Worker sends results of submission assessment to Arena service, where it is stored for
viewing in accessible form by student.
10. Response from Arena service contains URL (Uniform Resource Locator) address
where the results are available.
11. The URL address and the achieved submission score are combined into a simple
JSON-formatted string and this message is sent through Redis publish/subscribe,
where the real-time server can pick it up.
12. Real-time server sends the received JSON to student’s browser through WebSocket
connection that is open for entire duration of student’s session on Spartan web page.
5.4
Results
Implementation changes described above were tested in an artificial situation where
48 computers were scripted to open Spartan web page and repeatedly send evaluation
requests of tasks prepared for C programming course exam. Gladiator was configured to use
4 workers. At first, responses of the system (retrieval of the gained score and URL to full
submission results) were in 3-4 second range. As the queue began to fill up with unprocessed
tasks, responses slowed down and stabilized at 45-50 seconds. Although such times are not
exactly acceptable for final exam, the experiment setup was rather unrealistic, because
scripted Spartan page issued new request as soon as it retrieved response to the previous one.
Moreover, response times would be easily reduced with more configured workers. On the
positive side, we did not observe any request that would fail to be evaluated or its result to be
delivered to the browser during the entire duration of the experiment (30 minutes). During the
real final exam evaluation times rarely raised above 5 seconds. This showed significant
improvement of platform availability over the original setup.
Evaluation of Docker integration benefits from the risky code problem perspective is more
complicated to approach. Docker containers themselves do not prevent erroneous or malicious
7
An API available in web browsers that enables in-background HTTP requests to a server.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
237
code execution, but they should provide enough isolation from the rest of the system that any
problems would have effect only on the container. And although we have not yet detected any
attempts to compromise the system by submitting malicious code, by taking basic precautions
against students’ errors through limiting execution time and available memory, we managed
to ensure better stability of the evaluation platform. Moreover, automation features of Docker,
like Dockerfile, provide convenient means to configure and manage execution
environments for different problemsets.
6
Related work and discussion
The approach to evaluation of students' programs presented by Thorburn and Rowe (1997)
surely inspired other authors who needed to deal with the same problem. The idea of so called
solution plan as a simple representation of program's functionality at a higher level of
abstraction is interesting. We believe that simple programs in procedural languages can be
safely checked whether they match a specific solution plan, however, in case of objectoriented programming complications should be expected. The nature of object-oriented
languages gives programmers more freedom in how some functionality is expressed and
usually these languages are used in larger projects which would be difficult to check with the
technique of Thorburn and Rowe. Despite all this, their solution enables safe inspection
of unknown code and could be considered in the future.
Concerning security issues with automatic evaluation of programming assignments, Pieterse
(2013) assumes based on her previous experience that only a low amount of students'
assignments are intentionally malicious, however, the potential threat remains in erroneous
programs. While programming courses provided for university students have a limited
amount of participants, massive open online courses have potentially unlimited attendance, so
especially in the latter case even serious security breaches need to be considered and
prevented.
A system developed by Pieterse (2013) and her colleagues is described in her paper. Similarly
as in our approach they used a sandbox as a separated secured environment, in which
functionality of students' programs is tested with a set of testcases. The testing procedure is
described in general, but neither details concerning the testing environment nor specific
security measures that they used are provided in the paper.
A problem with students’ assignments evaluation, similar to ours, is addressed in the work of
Špaček, Sohlich, and Dulík (2015). For secure testing of unknown students’ programs they
incorporated separated environment into their evaluation system called APAC. Similarly as
in our work they chose Docker container for secure testing of programs.
There are several differences worth mentioning between our Arena platform and APAC.
Beside the difference in programming language used for implementation and architecture of
these systems, it seems that in their case Docker container and APAC run on different
systems. It can improve the isolation of Docker from the main system, on the other hand, such
isolation causes a communication delay.
Concerning students’ submissions assessment process, Špaček et al. (2015) mention that the
submitted source code is compiled still on the host system on which APAC application is
running. Only then is the compiled program transferred to the Docker container. In contrast
with their solution, our Docker container takes care also of the compilation of source code
submitted by a student. This ensures greater level of protection against errors or attacks
possible in compilation phase. Moreover, they use pool of prepared Docker containers that are
238
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
repeatedly used while they are available. Although in this way they may manage to shorten
evaluation time (there are always some containers prepared to execute tests), our
implementation creates new container for each submission being evaluated. The result is that
each submission starts in an identical testing environment, unaffected by any changes that
may remain from previous evaluations.
7
Conclusion
Beginner programmers many times learn on their own mistakes. Errors and bugs simply
belong to programming. Even if targeted attacks are rare in students’ source codes, we can
learn from security experts who cope with malicious programs every day. Looking at
students’ programs as potentially malicious code led us to important security improvements in
our automated assessment platform Arena.
By integrating Docker container into Arena the testing environment is separated from the rest
of the system and thereby better secured. In this way the risky code problem is resolved. This
solution is promising since it seems that employment of Docker is moving towards computer
security domain, especially malicious software analysis (Zeltser, 2015). With growing
popularity of containers like Docker also their implementation will improve, so their
disadvantages against full virtualization solutions may eventually disappear.
Availability of platform services is another area in which we made improvements. These were
achieved by using distributed task queue and workers that now handle scheduling of tasks and
their actual execution, respectively.
There are still some unresolved issues that we want to address in our future work. Best
practices for using Docker container securely are developing together with the technology
itself. We will seek to adapt those to our implementation to ensure secure and stable operation
of Arena platform. Also, the solution of availability problem presented in this work was
focused on our real-time use case and scheduled assessment use case cannot yet fully benefit
from the presence of task queue. Already outlined transformation of Gladiator web server to
asynchronous operation is another of our future plans.
Another direction for future work is to enrich the Arena platform with additional methods for
fair assessment of students’ assignments. Beside the functionality of tested code, its quality
can be evaluated also based on programmers’ profiles (Pietriková & Chodarev, 2015).
We believe that Arena will provide the most appropriate information regarding functionality
and quality of students’ code as well as a chance to improve their programming skills.
Acknowledgement
This work was supported by project KEGA No. 019TUKE-4/2014 Integration of the Basic
Theories of Software Engineering into Courses for Informatics Master Study Programmes
at Technical Universities – Proposal and Implementation.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
239
References
Bayer, U., Habibi, I., Balzarotti, D., Kirda, E., & Kruegel, C. (2009). A view on current malware
behaviors. In Proceedings of the 2nd USENIX conference on Large-scale exploits and emergent
threats: botnets, spyware, worms, and more (p. 8). Berkeley: USENIX Association Berkeley.
Beaucamps, P., Gnaedig, I., & Marion, J. Y. (2012). Abstraction-based malware analysis using
rewriting and model checking. In Proceedings of the 17th European Symposium on Research in
Computer Security (pp. 806-823). Berlin: Springer. doi: 10.1007/978-3-642-33167-1_46
Biňas, M., & Pietriková, E. (2014). Useful recommendations for successful implementation of
programming courses. In Proceedings of the 12th International Conference on Emerging
eLearning Technologies and Applications (pp. 397-401). New York: IEEE. doi:
10.1109/ICETA.2014.7107618
Biňas, M. (2014). Identifying web services for automatic assessments of programming assignments.
In Proceedings of the 12th International Conference on Emerging eLearning Technologies and
Applications (pp. 45-50). New York: IEEE. doi: 10.1109/ICETA.2014.7107547
Boritz, J. E. (2005). IS practitioners’ views on core concepts of information integrity. International
Journal of Accounting Information Systems, 6(4), 260-279. doi: 10.1016/j.accinf.2005.07.001
Docker Inc. (2015). What is Docker. Retrieved from https://www.docker.com/what-docker
Egele, M., Scholte, T., Kirda, E., & Kruegel, C. (2012). A survey on automated dynamic malwareanalysis techniques and tools. ACM Computing Surveys, 44(2), 6. doi:
10.1145/2089125.2089126
Ferrie, P. (2007). Attacks on more virtual machine emulators. Retrieved from
https://www.symantec.com/avcenter/reference/Virtual_Machine_Threats.pdf
Ihantola, P., Ahoniemi, T., Karavirta, V., & Seppälä, O. (2010). Review of recent systems for
automatic assessment of programming assignments. In Proceedings of the 10th Koli Calling
International Conference on Computing Education Research (pp. 86–93).
doi: 10.1145/1930464.1930480
Landi, W. (1992). Undecidability of Static Analysis. ACM Letters on Programming Languages and
Systems, 1(4), 323-337. doi: 10.1145/161494.161501
Law, K. M.Y., Lee, V. C.S., & Yu Y.T. (2010). Learning motivation in e-learning facilitated computer
programming courses. Computers & Education, 55 (1), 218-228.
doi: 10.1016/j.compedu.2010.01.007
Makai, M. (2015). Task Queues - Full Stack Python. Retrieved from
http://www.fullstackpython.com/task-queues.html
Nishiyama, H. (2012). Improved sandboxing for java virtual machine using hybrid execution model. In
Proceedings of the 6th International Conference on New Trends in Information Science and
Service Science and Data Mining (pp. 173-178). New York: IEEE.
Ormandy, T. (2007). An empirical study into the security exposure to hosts of hostile virtualized
environments. Retrieved from http://taviso.decsystem.org/virtsec.pdf
Payer, M., Hartmann, T., & Gross, T.R. (2012). Safe Loading - A Foundation for Secure Execution of
Untrusted Programs. In Proceedings of the IEEE Symposium on Security and Privacy (pp. 1832). New York: IEEE. doi: 10.1109/SP.2012.11
Pears, A., Seidman, S., Malmi, L., Mannila, L., Adams, E., Bennedsen, J., Devlin, M., & Paterson,
J. (2007). A survey of literature on the teaching of introductory programming. ACM SIGCSE
Bulletin, 39(4), 204-223. doi: 10.1145/1345375.1345441
Petazzoni, J. (2014). Containers & Docker: How Secure Are They? Retrieved from
http://blog.docker.com/2013/08/containers-docker-how-secure-are-they/
Pieterse, V. (2013). Automated Assessment of Programming Assignments. In Proceedings of the 3rd
Computer Science Education Research Conference on Computer Science Education Research
(pp. 45-56). New York: ACM. doi: 10.1145/1559755.1559763
240
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Pietriková, E., & Chodarev, S. (2015). Profile-driven Source Code Exploration. In Proceedings of the
IEEE Federated Conference on Computer Science and Information Systems (pp. 929-934). New
York: IEEE. doi: 10.15439/2015F238
Pietriková, E., Juhár, J., & Šťastná, J. (2015). Towards Automated Assessment in Game-Creative
Programming Courses. Proceedings of the 13th International Conference on Emerging
eLearning Technologies and Applications (pp. 307-312). Košice: TUKE.
Ray, E., & Schultz, E. (2009). Virtualization Security. In Proceedings of the 5th Annual Workshop on
Cyber Security and Information Intelligence Research: Cyber Security and Information
Intelligence Challenges and Strategies (pp. 42:1-42:5). New York: ACM.
doi: 10.1145/1558607.1558655
Špaček, F., Sohlich, R., & Dulík, T. (2015). Docker as Platform for Assignments Evaluation. Procedia
Engineering, 100, 1665-1671. doi: 10.1016/j.proeng.2015.01.541
Thorburn, G., & Rowe, G. (1997). PASS: An automated system for program assessment. Computers
& Education, 29 (4), 195-206. doi: 10.1016/S0360-1315(97)00021-3
Wagener, G., State, R., & Dulaunoy, A. (2008). Malware behaviour analysis. Journal in Computer
Virology, 4(4), 279-287. doi: 10.1007/s11416-007-0074-9
Wang, F.L., & Wong, T.-L. (2008), Designing Programming Exercises with Computer Assisted
Instruction. In J. Fong, R. Kwan, & F.L. Wang (Eds.), Lecture Notes in Computer Science: Hybrid
Learning and Education (pp. 283-293). Berlin: Springer. doi: 10.1007/978-3-540-85170-7_25
Willems, C., Holz, T., & Freiling, F. (2007). Toward automated dynamic malware analysis using
CWSandbox. IEEE Security & Privacy, (2), 32-39.
Wögerer, W. (2005). A Survey of Static Program Analysis Techniques. Retrieved from
http://www.ics.uci.edu/~lopes/teaching/inf212W12/readings/Woegerer-progr-analysis.pdf
Zeltser, L. (2015). Security Risks and Benefits of Docker Application Containers. Retrieved from
https://zeltser.com/security-risks-and-benefits-of-docker-application/
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
241
Acta Informatica Pragensia, 2015, 4(3): 242–257
DOI: 10.18267/j.aip.72
Peer-reviewed paper
Praxe digitálního forenzního vyšetřování
v České republice a norma ISO/IEC 27037:2012
Practice of Digital Forensic Investigation
in the Czech Republic and ISO/IEC 27037:2012
Jaromír Veber*, Zdeněk Smutný*, Ladislav Vyskočil†
Abstrakt
Digitální forenzní vyšetřování prodělalo v uplynulých dvou dekádách velkou proměnu.
Důvodem je jak technologický pokrok, tak již naprosto běžné používání ICT ve společnosti.
Tento článek se zabývá standardizaci postupů sběru digitálních stop v souvislosti s normou
ISO/IEC 27037:2012. V článku jsou prezentovány některé důležité principy uvedené
v normě. Dále jsou představeny názory dvou expertů z České republiky – vyšetřovatele
kriminální policie a analytika forenzní laboratoře. Jsou uvedeny jejich zkušenosti z praxe,
týkající se sběru a analýzy digitálních stop, a dále diskutovány jejich názory na obsah normy.
Na tomto základě je možné poukázat na neshody mezi doporučeními uvedenými v normě
a praxí. Dále jsou v článku obecná doporučení normy komentována s odkazem na některé
základní postupy při zajišťování digitálních stop v České republice.
Klíčová slova: Sběr digitální důkazů, ISO 27037, praxe, digitálního forenzního vyšetřování,
Česká republika.
Abstract
Digital forensics investigation undergone a great transformation in the past two decades.
This is due to technological progress and already quite common use of ICT in society. This
article deals with the standardization of the procedures for collecting potential digital
evidence in connection with the ISO/IEC 27037:2012. This article presents some of the
important principles presented in the standard. It also presents the views of two experts from
the Czech Republic – criminal police investigator and forensic analyst. They introduce their
practical experience regarding the collection and analysis of potential digital evidence and
also discuss their views on the content of the standard. This makes it possible to point out
the discrepancies between the recommendations laid down in the standard and practice. The
general recommendations of the standard are commented in the article with references to
some basic procedures used in the Czech Republic for potential digital evidence acquisition
and collection.
Keywords: Digital evidence collection, digital evidence acquisition, ISO 27037, practice,
digital forensic investigations, Czech Republic.
*
Department of Systems Analysis, Faculty of Informatics and Statistics, University of Economics, Prague,
nám. W. Churchilla 4, 130 67 Praha 3, Czech Republic
 [email protected], [email protected]
†
Department of Information Crime, Office of Criminal Police Services and Investigation, Police of the Czech Republic,
Strojnická 935/27, 170 89 Praha 7, Czech Republic
242
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
1
Úvod
Metody pro zajišťování stop v digitální formě se stále vyvíjí, a s tím, jak roste množství
a objem stop získaných v digitální formě, samozřejmě roste i množství lidí, kteří se zabývají
zajišťováním digitálních stop a následnou analýzou (Hegarty, Lamb & Attwood, 2014). S tím
jak narůstá důležitost digitálního vyšetřování v rámci kriminalistiky a v důsledku rozvoje
informační společnosti, tak vznikají také rámce, modely, metodiky (Agarwal & Kothari,
2015; Jang & Kwak, 2014; Shrivastava & Gupta, 2014) a další relevantní rigorózní postupy
– často založených na bayesovské síti, teorie složitosti, teorie informace a teorie
pravděpodobnosti – (Overill, 2014) provádění této činnosti – tzn. sběr, zpracování,
vyhodnocování a uchování digitálních stop.
Oproti příspěvku (Ajijola, Zavarsky, & Ruhl, 2014), který se zabývá porovnáním dvou
forenzních metodik NIST SP 800-101 Rev.1:2014 a ISO/IEC 27037:2012, tak chceme
prezentovat jiný pohled. V předkládaném článku se zaměříme na porovnání vybrané ISO
normy (forenzní metodiky) s praxí v České republice. Mezinárodní organizace pro
standardizaci ISO se zaměřuje na tvorbu a vydávání standardů pro téměř všechny oblasti
lidské činnosti. Jedná se o standardy pro výrobky, služby a nejlepší postupy v praxi. Rodina
norem ISO 27000 řeší bezpečnost informací (Veber, & Klíma, 2014), a právě do této rodiny
norem patří i norma ISO/IEC 27037:2012 (2012) – dále v textu jen ISO 27037 nebo norma.
ISO 27037 se specializuje na postupy pro sběr digitálních stop a patří do skupiny standardů
pro nejlepší postupy v praxi (best practices). Norma shrnuje postupy, které by měly být
dodržovány při identifikaci, sběru, zpracování a uchování digitálních stop. Dodejme, že tato
norma nebyla, a pravděpodobně ani nebude přeložena do češtiny (důvodem je poměrně nízký
počet zainteresovaných stran). V rámci České republiky se touto problematikou zabývá úzký
okruh vědecky zaměřených výzkumníků, a proto odkážeme alespoň na některé publikace či
závěrečné práce v souvislosti se zde uvedenou problematikou (Rak & Porada, 2006; Porada
& Rak, 2006; Gřivna & Polčák, 2008; Vyskočil, 2013; Porada & Bruna, 2013; Kothánek,
2014).
V tomto článku bychom nejprve stručně představili vybraný obsah normy ve volném překladu
a dále bychom rádi diskutovali nejen obsah této poměrně nové normy zaměřené na sběr
digitálních stop, ale také bychom konfrontovali postupy uvedené v normě s postupy
v současnosti používanými profesionály v České republice. Dále je uveden názor analytiků
digitálních důkazů (soudního znalce a kriminalisty) jak na současné postupy uplatňované
v ČR, tak na postupy uvedené v normě.
Tento článek vychází z přepracovaného a rozšířeného konferenčního příspěvku (Veber
& Smutný, 2015), který byl prezentován na 14. Evropské konferenci o kybernetické válce
a bezpečnosti, která se konala na University of Hertfordshire (Spojené království).
2
Směrnice pro identifikaci, sběr, akvizici a uchování
digitálních důkazů – Norma ISO 27037:2012
Norma ISO 27037 v úvodních kapitolách definuje pojmy, se kterými se bude pracovat.
Důležitým pojmem je DEFR (Digital Evidence First Responder), což je fyzická osoba, která
je oprávněna, vyškolena a kvalifikována ke sběru a hledání digitálních důkazů na místě činu.
V České republice se jedná o policistu s osvědčením o odborné způsobilosti k provádění
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
243
kriminalisticko-technických úkonů při zajišťování výpočetní techniky a dat na místě činu
(alternativně se může jednat o osvědčeného soudního znalce s potřebným zaměřením1).
Dále norma stanovuje základní rámec pro zacházení s digitálními stopami. Mezi základní
požadavky sběru digitálních stop dle normy patří: relevantnost, spolehlivost a dostatečnost.
Při zacházení s digitálními stopami by měly být podle normy dodrženy tyto hlavní
požadavky: kontrolovatelnost, ospravedlnitelnost, opakovatelnost a reprodukovatelnost.
Dodejme, že tato norma nedefinuje procesy zabývající se souběžně použitelnými digitálními
forenzními principy, v tomto ohledu musíme odkázat na článek (Valjarevic & Venter, 2015).
2.1
Práce s digitálními stopami
Mezinárodní standard ve formě uvedené normy se zabývá pouze prvotním procesem
manipulace potenciálními digitálními důkazy a nezohledňuje další práci s těmito stopami,
jako je jejich analýza, prezentace a likvidace. To je obsahem jiných norem – viz (ISO/IEC
FDIS 27041, 2012; ISO/IEC 27043, 2015; ISO/IEC FDIS 27042, 2012). Prvotní a níže
popsaný proces se zabývá identifikací, zajištěním a uchováním digitálních stop. Digitální
stopy jsou ze své povahy nestabilní/křehké. Osoby manipulující s digitálními stopami by měly
být schopny určit a řídit rizika, která mohou nastat při práci s tímto druhem stop, tak aby
nedošlo k jejich znehodnocení.
DEFR by měl postupovat tak, aby zajistil zachování integrity a spolehlivosti digitálních stop.
Zvolené konkrétní postupy se musí řídit následujícími základními principy:




Minimalizovat manipulaci s digitálním zařízením či digitálními daty.
Zdokumentovat veškeré akce a změny provedené s danou digitální stopou tak, aby si
mohl nezávislý expert vytvořit názor na spolehlivost předložených důkazů.
Postupovat v souladu se zákony dané země.
DEFR by neměl postupovat nad rámec své působnosti.
Dodržení těchto fundamentálních principů zajistí zachování stop pro účely vyšetřování,
respektive v případě, že dojde k jejich nevyhnutelné změně, tak všechny provedené akce
a důvody jsou náležitě zdokumentovány. Dále uvádíme zkrácený popis dílčích procesů
prvotní manipulace s digitálními důkazy.
A) Identifikace
Identifikační proces zahrnuje vyhledávání, rozpoznávání a dokumentaci digitálních stop, která
je reprezentována ve fyzické a logické formě. Během tohoto procesu by měla být
identifikována všechna zařízení, na kterých by se mohly nacházet digitální stopy. DEFR by
měl systematicky prohledávat místo činu tak, aby nepřehlédl malá, maskovaná zařízení či na
první pohled nepodstatný materiál. Kromě toho by měl DEFR zvážit i možnost existence
skrytého důkazu ve formě virtuální komponenty – např. Cloud Computing viz články (Chung
et al., 2012; Federici, 2014). V případě nestálosti některých zařízení, je třeba provést
upřednostnění těchto zařízení při zajišťováním dalších důkazů. Správné pořadí sběru
a následné zpracování by mělo minimalizovat možné poškození digitálních stop.
Tady je třeba se pozastavit nad termínem „osvědčeného soudního znalce s potřebným zaměřením“. Jestliže u Policie ČR
existuje určitý systém kvalifikace kriminalistických techniků, kde určitě i zajišťování digitálních stop je jednou ze součástí
prověřované odbornosti, u soudních znalců odpovídající prověřování neboli certifikace neexistuje.
1
244
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
B) Zajištění zařízení
Po identifikaci zařízení, která mohou obsahovat digitální stopy, jsou tato zařízení přesunuta
z jejich původního místa do laboratoře, kde jsou v dalším kroku analyzována a zpracována.
Tato zařízení mohou být ve dvou základních stavech – zapnutá a vypnutá. Proces zajištění
zařízení je nutné celou dobu dokumentovat včetně balení a transportu do laboratoře.
C) Zajištění dat
Proces zajištění dat, tedy prvotní zpracování digitální stopy, spočívá především ve vytvoření
bitové kopie digitální stopy (např. obsahu celého harddisku) a dokumentaci použitých metod
při jejím vytváření. Pokud je to potřeba, tak by při zajištění dat mělo být získáno jak
alokované, tak nealokované místo včetně vymazaných souborů. Obecně platí, že originál
a každá jeho kopie by měly vytvářet při stejné verifikační funkci stejný výstup.
DEFR by měl v závislosti na okolnostech (situace, čas, cena) vybrat nejvhodnější postup
a metodu pro zajištění dat. V případě že výsledkem tohoto procesu jsou nevyhnutelné změny
ve vytvořené kopii oproti originálu, tak je potřeba zdokumentovat jaká data byla změněna.
V případech, kde nemůže být proces ověřování proveden (např. při zajištění dat z běžícího
systému) by DEFR měl použít nejlepší možný způsob, který má k dispozici tak, aby byl
schopen zdůvodnit a obhájit výběr použité metody. Pokud vytvořenou bitovou kopii nelze
verifikovat, pak to musí být zdokumentováno a odůvodněno. Veškeré další kroky forenzní
analýzy se provádí na kopiích digitálních stop.
D) Uchování
Z hlediska uchování digitálních stop je nutné ochránit jejich integritu tak, aby byla zajištěna
jejich použitelnost při vyšetřování. DEFR by měl být schopen prokázat, že důkazy nebyly
změněny od doby jejich sběru, případně poskytnout odůvodnění a dokumentaci všech akcí,
které vedly k jejich změnám.
2.2
Hlavní komponenty práce s digitálními důkazy
Uveďme nyní devět klíčových součástí práce s digitálními důkazy tak, jak je uvádí norma:
Sled činností (chronologický záznam provedených akcí)
Nutností při práci s digitálními stopami je vedení podrobného chronologického záznamu
jednotlivých akcí s digitální stopou. Účelem tohoto záznamu je umožnit identifikaci přístupu
k dané stopě a monitorovat pohyb digitální stopy, včetně možnosti sledovat časový sled
prováděných akcí.
Bezpečnostní opatření na místě incidentu
DEFR by měl vykonávat všechny činnosti směřující k ochraně místa, kde se nacházejí
digitální stopy, co nejdříve po svém příjezdu na místo.
Role a odpovědnosti
Role DEFR zahrnuje identifikaci, zajištění a uchování digitální stopy na místě činu. S tím je
spojeno vytvoření zprávy o zajištění stopy 2 . DEFR není nutně zodpovědný za zprávu
o výsledcích forenzní analýzy. Úloha DEFR zahrnuje také zajištění integrity a věrohodnosti
digitální stopy.
V ČR může být záznam o zajištění stopy zaznamenán i do jiných protokolů – domovní/nebytová prohlídka nebo dobrovolné
vydání.
2
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
245
Kompetence
DEFR by měl mít příslušné technické a právní kompetence, musí být schopen prokázat, že je
řádně vyškolen a má dostatečné technické a právní znalosti, aby odpovídajícím způsobem
zajistil digitální stopy.
Použití přiměřené péče
Je nutné vyhnout se činnostem, které by mohly vést ke znehodnocení digitálních stop, ať už se
jedná o úmyslné či neúmyslné jednání.
Dokumentace
Zejména je nutné dokumentovat veškeré provedené aktivity, čas, stav systému (pokud je
zapnutý), veškeré přesuny a sériová čísla zařízení.
Instrukce před vlastním úkonem
Je nezbytné, aby DEFR byl před vlastním úkonem zajištění digitálních stop dostatečně
informován příslušným orgánem o dodržení všech zákonů, případně důvěrnosti. Je důležité,
aby se konala formální informační schůzka před samotným zásahem na místě činu, aby
nedošlo ke znehodnocení stop.
Upřednostnění zajišťování digitálních stop
DEFR může 3 upřednostnit stopy dle relevance neboli důkazní hodnoty. Položky vysoké
relevance respektive vysoké potenciální důkazní hodnoty jsou ty, které s největší
pravděpodobností obsahují údaje týkající se vyšetřovaného činu.
Uchování digitálních stop
Získané digitální stopy je důležité zabezpečit takovým způsobem, který eliminuje možnost
zničení stop nebo manipulaci s nimi. Ke zničení stop může dojít v důsledku magnetické
degradace, elektrické degradace, tepelné degradace, vystavení vysoké nebo nízké vlhkosti,
jakož i vibracemi a nárazy. Digitální stopy by neměly být ponechány bez dozoru ani
v průběhu jejich přepravy.
2.3
Příklady – identifikace, sběru, zpracování a uchování
Norma obsahuje také konkrétní příklady postupů pro sběr digitálních stop. Tyto příklady
upřesňují jednotlivá obecná doporučení a uvádí způsob jejich nasazení v praxi. Příklady se
zaměřují na postupy zajištění digitálních stop podle druhu zařízení – samostatná zařízení,
síťová zařízení, kamerové systémy.
2.3.1
Zajištění stop ze samostatných digitálních
periferních zařízení a úložných médií.
zařízení
(počítačů),
Identifikace
V souvislosti s normou, jsou počítače považovány za samostatná digitální zařízení, která
získávají, zpracovávají, uchovávají data a produkují výstupy. Tato zařízení nejsou připojena
k síti, ale mohou být spojena s periferními zařízeními, jako jsou tiskárny, skenery, kamery,
MP3 přehrávače, GPS systémy, RFID zařízení aj. Digitální zařízení, které má síťové rozhraní,
V ČR specialista na zajišťování digitálních stop (DEFR) navrhne/doporučí upřednostnění stop, nicméně rozhodnutí
o postupu je zodpovědnost vyšetřovatele (zpracovatele spisu).
3
246
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
ale není připojeno k síti v době sběru, by mělo být považováno (pro účely této normy) za
samostatné digitální zařízení.
Místo činu obvykle obsahuje různé typy digitálních paměťových médií. Příklady digitálních
paměťových médií zahrnují externí přenosné pevné disky, flash disky, CD, DVD, Blu-Ray
disky, diskety, magnetické pásky, paměťové karty a další.
Před tím, než může být provedeno zajištění digitálního zařízení, by měl DEFR vyhodnotit
a ujistit se, zda zdánlivě samostatná zařízení nebyla v poslední době připojena k síti.
V případech, kdy existuje podezření, že zdánlivě samostatné zařízení bylo nedávno odpojeno
od sítě, je třeba zvážit, zda k zařízení nepřistupovat jako k síťovému z hlediska sběru
digitálních stop.
Zajištění celých digitálních zařízení
Postupy pro zajištění digitálních zařízení se liší v závislosti na tom, o jaké zařízení se jedná,
nicméně existují určité základní postupy, které je nutné dodržet, a následně přizpůsobit další
postupy dotyčnému zařízení, kterého se sběr týká. Následující základní činnosti by měl DEFR
provádět v případech, kdy mají být zajištěna zapnutá digitální zařízení:







Zvažte zajištění dat, která jsou závislá na aktuálním stavu zařízení před vypnutím
systému.
Podle nastavení zařízení rozhodněte, zda vypnout zařízení prostřednictvím běžných
postupů, nebo zda přímo odpojit zařízení od zdroje energie.
Označte, odpojte a zajistěte všechny kabely z digitálního přístroje a popište porty tak,
aby systém mohl být později rekonstruován.
Umístěte pásku přes vypínač, aby se zabránilo změně stavu spínače. Zdokumentujte
stav spínače zařízení před zabalením a přesunem.4
Pokud se jedná o notebook místo vypínání rovnou raději odstraňte baterii hlavního
zdroje napájení.
Vložte pásku přes slot disketové mechaniky, je-li přítomna5.
Ujistěte se, že optické mechaniky jsou zasunuty na místo; a zaznamenejte, zda jsou
mechaniky prázdné, obsahují disky, nebo není známo; a zapečeťte slot mechaniky
páskou, aby se zabránilo jejímu otevření.
Zajištění dat ze zařízení na místě
Existují tři scénáře, které mohou nastat během zajišťování dat: digitální zařízení je zapnuté,
digitální zařízení je vypnuté a digitální zařízení je zapnuté a nelze jej vypnout (kritická
digitální zařízení). Ve všech těchto případech je nutné provést přesnou kopii médií, která
mohou obsahovat digitální stopy. V případě, že není možné získat přesnou bitovou kopii
médií, měly by být získány vybrané soubory, u kterých existuje podezření, že obsahují
digitální stopy. V ideálním případě by měla být vytvořena jak hlavní kopie, tak pracovní
kopie. Pokud zařízení nelze vypnout, je vhodné zvážit zajištění dat z běžícího zařízení.
Tady je nutné podotknout, že uvedené opatření je sice dobré, ale ne optimální. Vhodnější je zabránit opětovnému připojení
zdroje elektrické energie (např. přelepením odpovídajícího konektoru). V některých případech může být také důležitou
informací stav hlavního vypínače (zapnut/vypnut).
4
Další opatření, svědčící o historickém vývoji celé uvedené normy, protože aktuálně se disketové mechaniky vyskytují už
jen skutečně historicky. Jestliže také zabráníme opětovnému zapnutí zařízení, přelepování páskou postrádá opodstatnění.
5
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
247
Následující základní činnosti by měl DEFR provádět ve všech případech týkajících se
zajišťování digitálních stop (dat) z běžících zařízení na místě:








Nejprve si určíme, zda zajistit digitální stopy, které by mohly být v případě vypnutí
přístroje ztraceny.
Zajištění dat přímo z běžícího zařízení vyžaduje, aby zařízení stále běželo, ale umožní
získat i data z paměti RAM, jako je stav sítě a dešifrovací hesla k aplikacím.
DEFR by nikdy neměl věřit programům v systému. Z tohoto důvodu se doporučuje
využívat externí důvěryhodné nástroje (statické binární programy).
Při zajišťování nestálých dat v paměti RAM by měl DEFR vytvořit bitovou kopii
a ukládat data do logického souboru a okamžitě vytvořit kontrolní součet (hash), který
zadokumentuje. Výsledné soubory by měly být uloženy na digitálním paměťovém
médiu, které bylo připraveno k tomuto účelu, tedy bylo formátováno6.
Vytvořte image stálých dat (na disku) pomocí ověřeného nástroje.
Zkontrolujte, zda není použito šifrování dat, to lze provést prohlídkou surových dat
disku, nebo za použití nástrojů pro detekci šifrování. Pokud je použito šifrování,
zvažte uložení nestálých dat v paměti RAM.
Použijte spolehlivý zdroj času a dokumentujte dobu každé provedené akce.
(nespoléhejte na čas běžícího systému)
Bývá vhodné spojit osobu DEFR se získanými digitálními stopami za použití podpisů7
(případně digitálních), pomocí biometrie nebo pomocí fotografií.
Následující základní činnosti by měl DEFR provádět ve všech případech týkajících se
zajišťování dat z vypnutých zařízení:



Ujistěte se, že je přístroj opravdu vypnutý.
Odstraňte úložné médium z vypnutého digitálního zařízení, pokud ještě není
odstraněno.
Vytvořte bitovou kopii pomocí ověřeného nástroje pro vytvoření bitových kopií
podezřelého disku.
Na místě činu lze nalézt různé typy digitálních paměťových médií. Obvykle se jedná
o stabilní data, tento typ dat může mít nejnižší prioritu při zajišťování.
Uchování digitálních stop
Po dokončení procesu zajištění digitálních stop by DEFR měl zaznamenat výsledky ověřovací
funkce (hash), případně použít další postupy, které umožní kontrolovat správnost dat
využitých pro následnou forenzní analýzu. DEFR také musí zajistit integritu, důvěrnost
a dostupnost dat originálu (případně primární kopie) digitální stopy. Dále by DEFR měl při
uchovávání stop provést následující:

Použijte příslušnou ověřovací funkci, která umožní poskytnout důkaz o tom, že kopie,
se kterými se pracuje, jsou shodné s originály.
Formátování není tou nejdůležitější a nezbytnou podmínkou přípravy datového nosiče. Mnohem důležitější je předem ověřit
jeho spolehlivost, aby později nedošlo ke znehodnocení stop právě jeho nízkou spolehlivostí. K tomu je nutné použít
speciální nástroje.
6
7
V ČR se praxi používají pouze vlastnoruční podpisy.
248
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015

Bývá také vhodné spojit osobu DEFR se získanými digitálními stopami, k tomu lze
použít podpisy, digitální podpisy, biometrii nebo fotografování7.
Všechny digitální přístroje, které byly shromážděny, musejí být odpovídajícím způsobem
chráněny. Potenciální digitální důkazy musí být dostupné po celou dobu řešení případu, která
se může lišit v závislosti na právním řádu.
2.3.2
Síťová zařízení
V tomto případě považujme za síťová zařízení počítače nebo zařízení pro uchování dat, která
jsou připojena k síti. Síťová zařízení mohou zahrnovat sálové počítače, servery, stolní
počítače, přístupové body, přepínače, rozbočovače, směrovače, mobilní zařízení, tablety,
bluetooth zařízení, kamerové systémy a mnoho dalších. Zdůrazněme, že v případě, kdy jsou
digitální zařízení propojená k síti, je obtížné zjistit, kde jsou uloženy digitální stopy. Data by
mohla být umístěna kdekoliv na síti.
Identifikace
Identifikace digitálních zařízení zahrnuje i vyhledání loga výrobce, sériových čísel, kolébek
a napájecích adaptérů. Vzhledem k obecně malé velikosti mobilních zařízení musí DEFR dbát
zvýšené opatrnosti při identifikaci všech typů mobilních zařízení, které mohou být relevantní
pro daný případ. DEFR musí zabezpečit místo činu a zajistit, aby žádné osoby nemohly
odstranit mobilní nebo jiné digitální zařízení z místa činu. Digitální zařízení, které může
obsahovat digitální stopy, by mělo být chráněno před neoprávněným přístupem.
Prohledání místa činu a dokumentace
Před tím, než dojde k jakémukoliv zásahu do původního stavu místa činu (sběr důkazů), by
mělo být místo vizuálně zdokumentováno buď kamerou, fotografováním, nebo kreslením, aby
existovala dokumentace, jak místo vypadalo při příchodu DEFR. Volba metody musí být
v souladu s okolnostmi, náklady, časem a dostupnými zdroji. DEFR zdokumentuje všechny
ostatní položky na místě, které mohou obsahovat relevantní materiály, jako jsou napsané
poznámky, lístky s poznámkami, diáře a další.
Zajišťování a uchování digitálních stop
DEFR se musí rozhodnout, zda zajistit celá zařízení nebo jen zajistit data z digitálních
zařízení. Volba závisí na okolnostech, nákladech, času, dostupných zdrojích a prioritách.
Pokud se DEFR rozhodl odpojit zařízení, následný proces shromažďování digitálních stop
bude popsán níže. V případě, že zařízení nemůže být odpojeno od sítě z důvodu kritičnosti
jeho funkce nebo pravděpodobnosti zničení digitálních stop, měl by DEFR provést zajištění
stop z běžícího zařízení, zatímco zařízení zůstává připojeno k síti.
Obecně platí, že mobilní zařízení jako jsou tablety a mobilní telefony, musí být zapnuty, aby
bylo možné získat digitální stopy. Tato zařízení pokud jsou v provozu, plynule mění své
provozní prostředí (například bývá aktualizován čítač hodin). Související problém je, že dvě
bitové kopie dat ze stejného zařízení se liší, a proto neprochází standardní ověřovací funkcí
jako je hash. V takové situaci je nutné využít alternativní funkce pro ověření dat, které
identifikují standardní a měnící se oblasti.
Pokud se DEFR rozhodl zajistit data zařízení, síťová zařízení by měla zůstat spuštěna po dobu
identifikace dalších zařízení připojených k síti. DEFR by však měl zvážit možnost sabotáže
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
249
vyšetřované sítě prostřednictvím aktivního síťového připojení a podle toho se rozhodnout, zda
monitorovat systém nebo jej raději odpojit8.
V některých případech může být vhodné ponechat síťová zařízení připojená, aby jejich
činnost mohla být monitorována a dokumentována příslušným orgánem.



Pokud je upřednostněno zajištění zařízení a je známo, že zařízení obsahuje energeticky
závislou paměť (RAM), zařízení by mělo být trvale připojeno ke zdroji elektrické
energie.
Pokud je mobilní přístroj vypnutý, měl by být označen a pečlivě zabalen a zapečetěn.
Mělo by se tak přecházet náhodnému stisku kláves nebo tlačítek při převozu. Jako
preventivní opatření, by DEFR měl rovněž zvážit použití stíněné krabičky nebo
Faradayovy klece9.
Za určitých okolností, je lepší mobilní zařízení po sběru vypnout, aby se zabránilo
změně dat.
V případě že, zařízení je připojeno k síti, existuje i možnost, že zařízení je připojeno k více
než jedné fyzické a/nebo virtuální síti. Například zařízení, které vypadá, že má jedno viditelné
fyzické síťové připojení, může být ve skutečnosti připojeno pomocí virtuální privátní sítě
(VPN) a provozovat více virtuálních strojů s více než jednou IP adresou. Proto by DEFR před
odpojením měl analyzovat i logická datová spojení.10
Při zajišťování dat u síťového zařízení, které musí být trvale zapnuté, by mělo být zabráněno
zařízení jakkoliv datově komunikovat včetně signálů mobilních operátorů nebo GPS. DEFR
by měl použít metody povolené místními zákony, aby izoloval rádiové signály. Metody
izolace mohou zahrnovat, ale nejsou omezeny pouze na:




Použití rušičky, která vysílá silné signály, které blokují příchozí i odchozí signály,
tento způsob může být ale v některých zemích zakázán11.
Použití stíněného pracovního prostoru (Faradayovy klece).
U mobilních telefonů je možné použití náhradní SIM - speciální zachovávající identitu
zařízení ale blokující datový provoz.
Zakázat zařízení síťové služby po domluvě s mobilním operátorem.
DEFR by měl provést zajištění informací před vyjmutím baterie z telefonu.
2.3.3
Zajišťování a uchovávání kamerových systémů
DEFR by měl pochopit, že zajištění video sekvencí z počítačově založeného nebo
zabudovaného DVR kamerového systému se liší od zajišťování digitálních stop z počítače.
Níže jsou uvedeny specifické pokyny pro zajišťování digitálních stop z kamerových systémů:
V praxi při sběru mobilních zařízení bývá postup takový, že je zařízení přepnuto do režimu letadlo, (případně i dobito)
a předáno odborníkovi na mobilní zařízení.
8
V praxi je toto použito pouze v extrémních případech (např. nebezpečí odpálení bomby). Doplníme také, že současné
„chytré telefony“ (Smartphone) a tablety by v zapnutém stavu měly být raději ukládány do stíněných obalů, protože
v současnosti je již běžně používaná služba dálkového smazání dat (v případech krádeží).
9
Tyto činnosti již zjevně přesahují kompetence a kvalifikaci DEFR, protože vyžadují analýzu operační paměti zařízení,
což je vysoce kvalifikovaná činnost znalce a DEFR nepřísluší takové činnosti provádět na místě.
10
11
V ČR je nutné povolení soudu, aby mohla být rušena neveřejná frekvence.
250
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015


Před zahájením procesu zajištění digitálních stop musí DEFR nejprve zjistit, zda
systém zdokumentoval potřebnou video sekvenci.
DEFR by měl získat všechny záznamy z relevantních kamer v době činu k zajištění
dodatečných informací.
V případech, kdy není možné provádět zajištění stop přímo na místě činu, DEFR musí zajistit
digitální paměťová média. Nejčastěji tak, že nahradí pevný disk kamerového systému
prázdným nebo klonovaným pevným diskem 12 . Nicméně je nutné posoudit rizika spojená
s použitím této metody, jako je například slučitelnost nového pevného disku se systémem
a slučitelnost odstraněného pevného disku s jinými systémy použitými při vyšetřování.
3
Diskuze
V této části přinášíme diskuze odborníků z praxe k normě ISO 27037, včetně odchylek
typických pro Českou republiku. Neomezujeme se pouze na problematiku sběru digitálních
stop, ale zabýváme se také hlediskem odborníka, který se zabývá analýzou získaných
digitálních stop.
Prvním odborníkem (část 3.1.) především v oblasti zajišťování digitálních stop je Ing.
Ladislav Vyskočil, který působí na Oddělení informační kriminality (Odbor analytiky
a informační kriminality, Služba kriminální policie a vyšetřování, Krajské ředitelství policie
Jihomoravského kraje) Policie ČR.
Druhým odborníkem (část 3.2.) především v oblasti analýzy digitálních stop je Ing. Marián
Světlík, který je vedoucím Znaleckého ústavu společnosti Risk Analysis Consultants, s.r.o.
a zároveň soudním znalcem v oboru kriminalistika, kriminalistická počítačová expertíza.
3.1
Názor odborníka z praxe – Zajištění digitálních stop
V normě jsou zpočátku standardní a v oboru dobře známá obecná doporučení (část 2.1 a 2.2),
kterých se obecně vyšetřovatelé v ČR, a pravděpodobně i kdekoliv jinde ve světě, drží.
Nicméně dále uvedená praktičtější doporučení (část 2.3) jsou již dokonce na dnešní dobu
zastaralá. Např. zajištěná zařízení bývají dnes již běžně kompletně zabalena a zapečetěna
nejlépe v neprůhledném obalu tak, aby s nimi nemohl nikdo nijak manipulovat – nikoli jak
norma doporučuje přelepit mechaniky a spínač zařízení.
Norma dělí vyšetřování na postupy pro zajištění zařízení, která nejsou připojena k síti,
a zařízení, která jsou připojena k síti. Toto dělení je již zbytečné, protože v dnešní době jsou
téměř všechna zařízení připojena k síti a je nutné ke všem zařízením přistupovat, jako by byla
připojena k síti. Zajištění stop v kamerových systémech je v ČR obsahem práce expertů na
audiovizuální techniku, a ne specialistů na zajišťování digitálních důkazů. Důvodem jsou
určitá specifika audiovizuálních zařízení, zvláště pak jejich úložišť, a hlavně fakt, že jsou
z nich nejčastěji zajišťovány audiovizuální záznamy (stopy).
Norma zbytečně zmiňuje, že je nutné při zajištění dat ze zařízení na místě vytvořit bitovou
kopii kopie, na které se dále pracuje. Avšak tento fakt je již uveden v rámci obecných
doporučení – viz předchozí část 2.1 bod c). Je podivující, že norma vůbec nezmiňuje existenci
třetí strany (nezúčastněné), která se velmi často při vyšetřování vyskytuje, a ta v ČR nesmí
Formát disku v kamerových systémech bývá často specifický danému zařízení, a po vyjmutí disku ze zařízení často nebývá
možné získat záznamy, z toho důvodu se disky ze zařízení nevyndávají a zajišťuje se celý server.
12
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
251
být při provádění vyšetřování poškozena. Minimálně zmínka o třetích stranách by podle
našeho názoru měla být obsahem světové normy.
V normě se na několika místech objevuje zmínka o tom, že je třeba vytvořit kontrolní součet,
aby bylo možné ověřit data, nicméně dále již není zmíněno, že vytvořenou hash je třeba
zaznamenat do protokolu. Tak je zajištěno ověření, že se zajištěnou stopou dále
nemanipulovalo.
Norma obsahuje víceméně popis již zaběhlých případně i vylepšených postupů, které Policie
ČR dlouhodobě využívá. Zavedení normy do praxe policie by pravděpodobně nepřineslo nic
nového kromě dodatečných nákladů na implementaci dané normy. Dodejme, že norma nebyla
od svého uvedení aktualizována, což s vývojem v oblasti ICT, přidává nové problémy
související s její implementací. Současná praxe při sběru a následné analýze digitálních stop
v ČR je popsána v (Vyskočil, 2013).
3.2
Názor odborníka z praxe – Analýza digitálních stop
Není snadné se vyjádřit stručně k normě, která byla vydána organizací ISO, vzhledem k tomu,
že odborníci Znaleckého ústavu RAC se přímo podíleli na jejím připomínkování. Je nutné
také zmínit, že naše připomínky, které byly v zásadě v souladu s předchozím názorem
policistů z praxe, nebyly organizací ISO přijaty.
Abychom paušálně nekritizovali určitou technickou zastaralost nebo nekonzistenci zejména
posledních částí normy, musíme si uvědomit, že to je prakticky první soupis doporučení, který
má oficiálně mezinárodní váhu. Musíme také bohužel konstatovat, že pro jednotný výklad
normy (implementaci) do prostředí v ČR nejsou vytvořeny organizační ani kompetenční
podmínky. A nemyslíme tím jenom implementaci do policejní praxe, ale i do praxe výkonu
znalecké činnosti v daném oboru a také do výkonu činnosti CERT týmů a dalších subjektů,
které řeší například bezpečnostní incidenty v informačních komunikačních systémech.
Protože tady všude probíhá zajišťování digitálních stop, které mohou být posléze použity jako
důkazy.
Norma by měla být také určitým východiskem pro posuzování kvalifikačních předpokladů
pro výkon znalecké činnosti. Protože reálná praxe ukazuje, že mnoho soudních znalců nezná
ani základní požadavky na zajištění digitálních stop, které jsou v úvodu normy uvedeny.
Soudní znalci se dostávají do různých pozic – například konzultantů při zajišťovacích
úkonech při práci policie, nebo tyto úkony provádějí jako znalci samostatně v ostatních
případech, anebo tyto úkony provádějí již jako znalci ve svých laboratořích. Proto by uvedená
norma také měla být jedním z mnoha důležitých podkladů kvalifikačních požadavků
bezpečnostních specialistů ICT.
Norma ISO 27037 má už od svého vzniku některé, možná i zásadní, nedostatky. Můžeme zde
diskutovat, proč jako základ normy nebyly použity jiné podklady a doporučení, která jsou již
léta akceptována mezinárodní komunitou digitálních forenzních odborníků (např. doporučení
ACPO, DFRWS, IOCE, ENFSI a další). Přesto norma alespoň elementární sjednotila zásady
a pravidla práce při zajišťování digitálních stop. Mnohé z nich (pravděpodobně u nás hlavně
v policejní praxi) se jeví jako samozřejmé a dlouhá léta již aplikované do praxe. Nicméně
naše zkušenosti říkají, že ani policejní praxe není zcela ideální z hlediska schopnosti vytváření
obecných postupů.
Na základě této normy by mohlo vzniknout i regulatorní opatření, protože zajišťování
digitálních stop je proces, jehož přímým následovníkem je získávání důkazů. To už je natolik
závažná skutečnost, že některá elementární pravidla by neměla v žádném případě být
252
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
porušována. K porušování i těch základních pravidel však v České republice dochází. Jestliže
je biologická stopa prokazatelně kontaminována, tak nemůže být jako důkaz použita. Porušení
základních postupů zajištění a práce s digitální stopou však kontaminovanou stopu
z důkazního řízení paradoxně nevylučuje.
Závěrem tedy můžeme konstatovat, že uvedenou normu chápeme jako užitečným prvním
krokem k procesu, který ve svém důsledku povede ke zvýšení povědomí o specifikách práce
s digitálními stopami a důkazy - i přes některé její zjevné nedostatky. Tím přispívá také
k postupnému zkvalitnění práce všech, kteří se s digitálními stopami jakýmkoliv způsobem
potkávají, ať to jsou policejní technici a experti, soudní znalci, vyšetřovatelé, advokáti,
soudci, ale i bezpečnostní specialisté a správci ICT nebo členové CERT týmů.
Závěr
4
V článku jsme prezentovali a diskutovali obsah normy ISO 27037 z roku 2012. Obsah normy
jsme podrobili diskuzi odborníků, kteří se problematikou zabývají. Výsledkem je zajímavá
konfrontace postupů z praxe s postupy, které zmiňuje norma. Tento článek má i své limity, na
které musí být čtenář upozorněn. Jedná se zejména o diskuzi, která je omezena pouze na
názory dvou expertů. Na jednu stranu by článek mohl být založen na větším počtu expertů
(např. panel expertů), na druhou stranu je třeba brát do úvahy specifičnost představené oblasti
a také úzkou komunitu expertů v České republice, jež se tímto tématem zabývá. Shrňme dále
hlavní implikace tohoto článku.
První expert z Policie ČR, probírá hlavní odlišnosti při sběru potenciálních digitálních
důkazů. Identifikuje zejména některé nedostatky jako opomenutí třetích stran, rozdíly
v přístupu k balení důkazů nebo specifické rozdělení práce mezí více expertů. Druhý expert ze
Znaleckého ústavu RAC se vyjadřuje k normě obecněji z pohledu expertů, kteří zajištěné
důkazy analyzují. Dochází k dvěma propojeným problémům:


Malá znalost základních principů sběru potencionálních důkazů všemi osobami, které
jsou zapojeni na různých úrovních do řešeného případu (např. zasahující policisté na
místě činu, soudní znalci). Není výjimkou, že sběr potenciálních digitálních důkazů
provádí odborník na zajišťování fyzických stop a nikoli odborník na informační
kriminalitu a sběr digitálních stop.
S tím související problém užívání jiných postupů, které však v českém prostředí
nemusí mít dopad na hodnotu důkazu v soudním řízení. Což je celkem nezvyklé a je
třeba se této problematice v českém kontextu věnovat.
Názory odborníků říkají, že obecná doporučení uvedená v úvodu standardu jsou formulována
dobře. První část normy lze proto považovat za závazný podklad v případě tvorby postupů pro
sběr digitálních důkazů. Nicméně druhá část normy, která již obsahuje konkrétní postupy, je
na dnešní dobu částečně zastaralá.
Poděkování:
Tento článek byl zpracován za podpory prostředků grantu F4/74/2014 (Inovace systému
řízení digitální forenzní laboratoře) řešeném na Fakultě informatiky a statistiky, VŠE v Praze.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
253
Použité Termíny
Digitální stopa
Digitální stopa je jakákoliv informace s vypovídající hodnotou, uložená nebo
přenášená v digitální podobě.
ACPO
Asociace policejních ředitelů.
Zajištění
digitálních stop
Je proces, který začíná okamžikem, kdy data, nebo zařízení, jsou zajištěna pro
znalecké zkoumání.
Bitová kopie
Je kopie digitální stopy, která je uložena na přepisovatelných médiích, např.
pevné disky, flash disky a paměťové karty.
DEFR
(Digital Evidence First Responder) je fyzická osoba, která je oprávněna,
vyškolena a kvalifikována ke sběru a hledání digitálních důkazů na místě činu
DFRWS
Seminář digitálního forenzního výzkumu
Místo činu
Obecně v kontextu této práce se jedná o fyzické místo, kde probíhá hledání
digitálních stop.
Hash
Jedná se o digitální otisk určitého souboru dat pomocí matematické funkce.
ICT
(Information and Communication Technologies) Informační a komunikační
technologie
IOCE
Mezinárodní organizace přes digitální důkazy (International Organization on
Digital Evidence)
CERT
(Computer Emergency Response Team) Bezpečnostní tým
ENFSI
Pracovní skupina pro forenzní IT
PUK
(PIN Unlock Key) Klíč pro reset PINu v případě jeho ztráty či zapomenutí
PIN
(Personal Identification Number) Klíč pro přístup k využívání určité SIM
karty.
IP adresa
Číslo, které jednoznačně identifikuje síťové rozhraní v počítačové síti, která
používá internetový protokol.
RAM
(Random-Access Memory) Paměť s přímým přístupem.
SIM
(Subscriber Identity Module) tzv. SIM karta pro identifikaci účastníka
v mobilní síti.
ZIP
Souborový formát pro kompresi a archivaci dat.
GPS
(Global Positioning System) Jedná se o vojenský globální družicový polohový
systém provozovaný Ministerstvem obrany USA.
RFID
(Radio Frequency Identification) Jedná se o novou generaci identifikátorů
navazující na systém čárových kódů.
MP3
Jedná se o formát ztrátové komprese zvukových souborů, založený na
kompresním algoritmu definovaném skupinou MPEG (Motion Picture Experts
Group).
CD
(Compact Disk) Optický disk určený pro ukládání digitálních dat.
DVD
(Digital Video Disc) Jedná se o formát digitálního optického datového nosiče.
Blue-Ray
Třetí generace optických disků, určených pro ukládání digitálních dat.
254
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Seznam použitých zdrojů
Agarwal, R., & Kothari, S. (2015). Review of Digital Forensic Investigation frameworks. In K. J. Kim
(Ed.), Information Science and Applications – Part V. (pp. 561-571). Berlin: Springer. doi:
10.1007/978-3-662-46578-3_66
Ajijola, A., Zavarsky, P., & Ruhl, R. (2014). A review and comparative evaluation of forensics
guidelines of NIST SP 800-101 Rev.1:2014 and ISO/IEC 27037:2012. In World Congress on
Internet Security, WorldCIS 2014 (pp. 66-73). New York: IEEE. doi:
10.1109/WorldCIS.2014.7028169
Chung, H., Park, J., Lee, S., & Kang, C. (2012). Digital forensic investigation of cloud storage
services. Digital investigation, 9(2), 81-95. doi: 10.1016/j.diin.2012.05.015
Federici, C. (2014). Cloud data imager: A unified answer to remote acquisition of cloud storage areas.
Digital Investigation, 11(1), 30-42. doi: 10.1016/j.diin.2014.02.002
Gřivna, T., & Polčák, R. (2008). Kyberkriminalita a právo. Praha: Auditorium.
Hegarty, R., Lamb, D., & Attwood, A. (2014). Digital Evidence Challenges in the Internet of Things.
In Proceedings of the 10th International Network Conference (pp. 163-172). Plymouth: Centre for
Security, Communications and Network Research.
ISO/IEC 27037:2012. (2012). Information technology — Security techniques — Guidelines for
identification, collection, acquisition, and preservation of digital evidence. Ženeva: International
Organization for Standardization.
ISO/IEC FDIS 27041. (2012). Information technology – Security techniques -- Guidance on assuring
suitability and adequacy of incident investigative methods. Ženeva: International Organization
for Standardization.
ISO/IEC 27043:2015. (2015). Information technology – Security techniques – Incident investigation
principles and processes. Ženeva: International Organization for Standardization.
ISO/IEC FDIS 27042. (2012). Information technology – Security techniques -- Guidelines for the
analysis and interpretation of digital evidence. Ženeva: International Organization for
Standardization.
Jang, Y.-J., & Kwak, J. (2014). Digital forensics investigation methodology applicable for social
network services. Multimedia Tools and Applications, 74(14), 5029-5040. doi: 10.1007/s11042014-2061-8
Kothánek, J. (2014). Vytěžování důkazů z výpočetní techniky. Diplomová práce. Brno:
Masarykova univerzita.
Overill, R. E. (2014). Quantifying likelihood in digital forensic investigations. Journal of Harbin Institute
of Technology (New Series), 21(6), 1-4.
Porada, V. & Rak, R. (2006). Teorie digitálních stop a její aplikace v kriminalistice a forenzních
vědách. Karlovarská právní revue, 2(4), 1-21.
Porada, V., & Bruna, E. (2013). Digitální svět a dokazování obsahu elektronických dokumentů. In
Bezpečnostní technologie, systémy a management (pp. 1-10). Zlín: Univerzita Tomáše
Bati ve Zlíně.
Rak, R., & Porada, V. (2006). Digitální stopy v kriminalistice a forenzních vědách.
Soudní inženýrství, 17(1), 3-23.
Shrivastava, G., & Gupta, B. B. (2014). An encapsulated approach of forensic model for digital
investigation. In Proceedings of the IEEE 3rd Global Conference on Consumer Electronics (pp.
280-284). New York: IEEE. doi: 10.1109/GCCE.2014.7031241
Valjarevic, A., & Venter, H. S. (2015). Introduction of concurrent processes into the digital forensic
investigation process. Australian Journal of Forensic Sciences, (Article in press). doi:
10.1080/00450618.2015.1052754
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
255
Veber, J., & Klíma, T. (2014). Influence of Standards ISO 27000 Family on Digital Evidence Analysis.
In: Proceedings of the 22nd Interdisciplinary Information Management Talks (pp. 103-114). Linz:
Trauner.
Veber, J., & Smutny, Z. (2015). Standard ISO 27037:2012 and collection of digital evidence:
Experience in the Czech Republic. In N. Abouzakhar (Ed.), Proceedings of the 14th European
Conference on Cyber Warfare and Security (pp. 294-299). Reading: ACPI.
Vyskočil, L. (2013). Zajišťování a analýza digitálních důkazů. Diplomová práce. Zlín: Univerzita
Tomáše Bati ve Zlíně.
256
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
257
Acta Informatica Pragensia, 2015, 4(3): 258–275
DOI: 10.18267/j.aip.73
Peer-reviewed paper
Modifikácia steganografického algoritmu
využívajúceho LSB použitím množiny stegomédií
Modification of Steganographic Algorithm Using LSB and a Set of Stegomedia
Branislav Madoš*, Mária Feková*
Abstrakt
Ambícia získať možnosť ukrývať digitálne reprezentované informácie kódované ako
sekvencie bitov v digitálnych krycích médiách je naplnená prostredníctvom viacerých
steganografických algoritmov, vrátane algoritmu využívajúceho najmenej dôležitý bit
jednotlivých dátových zložiek digitálnych médií – Least Significant Bit (LSB). Rozvinutím
týchto algoritmov môže byť použitie viacerých krycích médií vo forme ich množín, do ktorých
je ukrývaná informácia rozdistribuovaná pomocou viacerých distribučných funkcií.
Predkladaný článok popisuje návrh steganografického algoritmu založeného na využití
najmenej dôležitého bitu digitálnych médií (LSB) a definovaní troch distribučných funkcií.
Súčasťou článku je aj predstavenie programového vybavenia, ktoré bolo v tejto súvislosti
navrhnuté, implementované a otestované.
Klíčová slova: Steganografia, Least Significant Bit, LSB, multi-carrier.
Abstract
Ambition to achieve possibility to hide digitally represented information which is coded in bit
sequences into digital cover media is fulfilled through a number of steganographic
algorithms, including Least Significant Bit (LSB) algorithm. A further development of those
algorithms can be seen in the use of multiple cover media in the form of their sets, into which
digital information is distributed by the use of multiple distribution functions (multi-carrier
steganographic algorithms). This paper describes design of steganographic algorithm that is
based on the use of the Least Significant Bit (LSB) and three distribution functions, which
allow to distribute digital information into the set of cover media. The part of this article is
describing software solution which was designed, developed and tested as the part of this
research.
Keywords: Steganography, Least Significant Bit, LSB, Multi-carrier.
*
Department of Computers and Informatics, Faculty of Electrical Engineering and Informatics,
Technical University of Košice, Letná 9, 042 00 Košice, Slovak Republic
 [email protected], [email protected]
258
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
1
Úvod
Steganografia je súčasťou techník špecializovaných na ukrývanie informácií, pričom sú pri
nej používané komunikačné kanály umožňujúce utajenú komunikáciu na pozadí otvorenej,
neutajenej komunikácie. Bližšie sa problematike utajovaných komunikačných kanálov venuje
Reiland (2005). Príbuznou problematikou je watermarking, ktorý sa líši od steganografie
cieľom použitia vkladania informácie a snahou o robustnosť používaných algoritmov
v zmysle nemožnosti odstránenia vloženej informácie manipuláciou s použitými médiami.
Vzťahu watermarkingu a steganografie sa venuje Cox (2008) a Baran et al. (2001).
Steganografiu možno deliť podľa viacerých kritérií, vynikajúci prehľad tejto problematiky
ponúka Petitcolas et al. (1997) a Kessler and Hosmer (2011). Klasické delenie steganografie
predstavuje jej rozdelenie na predigitálnu éru a éru digitálnu, založenú na používaní
výpočtových prostriedkov. Príkladom môže byť lingvistická steganografia, založená na
využití metód ukrývajúcich informácie do klasického prirodzeného ľudského jazyka, často
využívajúc krycie médiá v podobe písaného textu. Bližšie Chapman et al. (2001) a Bennet
(2004). Steganografia dokáže využiť aj programovacie jazyky, ukrývanie informácií v podobe
škodlivého kódu v programovom kóde pomocou obfuskácie rozoberá Hurtuk et al (2014)
a Hurtuk (2014). Technická steganografia ukrýva správy pomocou technických zariadení do
rôznych typov médií, príkladom môže byť neviditeľný atrament, mikrobodka apod.
Moderná steganografia patriaca do digitálnej éry využíva s výhodou možnosti výpočtovej
techniky. Možno ju klasifikovať napríklad podľa druhov použitých médií. Príkladom môžu
byť texty, obrázky, audiosekvencie alebo videosekvencie. Steganografia založená na použití
obrázkov môže byť rozdelená na rastrovú a vektorovú. Medzi základné typy steganografie
využívajúce rastrové obrazové formáty patrí steganografia s využitím najmenej dôležitého
bitu – Least Significant Bit (LSB), pričom LSB môže byť aplikovaná aj na iné typ multimédií
ako je napríklad zvuk, tak ako to ukazuje Cvejic a Seppanen (2014). Medzi steganografické
postupy využívajúce vektorovú grafiku patria algoritmy využívajúce jittering a embedding.
Jittering je podobný LSB steganografii, keď umožňuje ukrývať utajované správy do najmenej
dôležitých číslic číselných hodnôt popisujúcich obraz. Embedding ukrýva utajovanú
informáciu pridávaním ďalších, redundantných číselných hodnôt popisujúcich obraz tak, aby
sa jeho vizuálna reprezentácia nezmenila. Algoritmus využívajúci embedding vo vektorovom
formáte SVG prináša Madoš (2014).Steganografia s použitím najmenej dôležitého bitu
predstavuje jednoduchý a ľahko programovo implementovateľný koncept, ktorý je dobre
preskúmaný tak z hľadiska možností jeho využitia ako aj z hľadiska steganalytického, teda
odhaľovania jeho použitia. Spoľahlivou detekciou LSB steganografie sa zaoberá Fridrich
et al. (2001).
Predkladaný článok sa zaoberá v druhej kapitole predstavením LSB substitučného algoritmu
v spojení s rastrovými obrazovými formátmi. V nasledujúcej kapitole predstavuje návrh
modifikácie LSB algoritmu použitím viacerých krycích médií rôznych typov (multi-carrier)
a doplnením troch distribučných funkcií, umožňujúcich výber spôsobu distribúcie
jednotlivých bitov ukrývanej správy do jednotlivých krycích médií, výber poradia
jednotlivých krycích médií a spôsob uloženia jednotlivých bitov ukrývanej správy v každom
z krycích súborov. Štvrtá kapitola predstavuje hlavné črty programovej implementácie
navrhnutej modifikácie LSB algoritmu. Nasledujúca kapitola predstavuje zhrnutie časti
testov, ktoré boli po implementačnej fáze programového vybavenia realizované, pričom sa
zaoberá testami, ktoré súviseli s použiteľnosťou aplikačného programového vybavenia
z hľadiska dĺžky času vykonávania jeho kľúčovej funkcionality. Posledná kapitola článku,
predstavujúca jeho záver, zhŕňa výhody a nevýhody navrhnutej modifikácie algoritmu.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
259
Klasický Least Significant Bit algoritmus
2
LSB substitučná steganografia (z anglického Least Significant Bit) nad rastrovými obrázkami
využíva na vkladanie tajnej správy krycie médium v podobe obrázka, kde s každým pixelom
potenciálneho nosiča správ je zviazaná informácia o jeho polohe v obrázku a farbe.
Farba pixela rastrového obrázka je najčastejšie kódovaná v prípade monochromatických
obrázkov ako 8-bitový vektor, ktorého hodnota je kódom príslušného odtieňa farby zo škály
sivej, obsahujúcej celkovo 256 rôznych odtieňov. V prípade farebných obrázkov je farba
pixelu zložená z väčšieho počtu farebných zložiek, pričom každá farebná zložka je kódovaná
ako samostatný bitový vektor. Farba pixelu sa v prípade plnofarebných obrázkov skladá
najčastejšie z troch zložiek, označených ako R, G a B (z anglického Red, Green a Blue) pre
červenú, zelenú a modrú farebnú zložku, pričom každá je osobitne kódovaná najčastejšie ako
8-bitový vektor. Farba jedného bodu je následne definovaná pomocou 24 bitov, čo znamená
16 777 216 odtieňov farieb. Rozsahy kódov odtieňov farieb tak pre monochromatické, ako aj
pre plnofarebné obrázky umožňujú tak veľkú farebnú škálu, že ľudské oko nie je schopné
rozoznať dva odtiene farby, ktorých bitové vektory sa líšia iba o hodnotu 1, to znamená v bite
s najnižším významom.
Posledný, najmenej signifikantný bit (odtiaľ Least Significant Bit - LSB) je využitý pre zápis
ukrývanej informácie, ktorá nahrádza posledný bit kódu príslušnej farby. Štatisticky je
príslušný bit správy s 50% pravdepodobnosťou zhodný s pôvodným bitom vektora farby,
preto je zamieňaných v priemere iba 50% bitov, tak ako to ukazuje Obr. 1, kde je v zelenom
obdĺžniku vyznačený prúd 4 bitov, z ktorých každý je zapisovaný do najmenej dôležitého bitu
príslušného pixela obrázka (tieto bity sú vyznačené červeným obdĺžnikom). Výsledkom je
zmena týchto bitov, tak ako je vyznačené na Obr. 1 vpravo modrou farbou. Porovnaním bitov
vyznačených červeným obdĺžnikom a modrým obdĺžnikom je možné vidieť, že 50% bitov
bolo zmenených a 50% má pôvodnú hodnotu.V prípade plnofarebných obrázkov je možné
zmeniť najmenej dôležitý bit v jednej (ľubovoľnej) alebo viacerých farebných zložkách.
Pre uloženie utajovanej správy je používaný najmenej dôležitý bit vektora popisujúceho
farebný odtieň pixela resp. jeho farebnú zložku, pretože tak ako stúpa hodnota rádu
príslušného bitu, tak hodnota tohto bitu významnejšie ovplyvňuje celkovú hodnotu vektora,
a teda aj odtieň zobrazovanej farby pixela. Zmeny vo vyšších rádoch vektora popisujúceho
pixel by teba boli pre ľudské oko viditeľnejšie a ľahšie detegovateľné.
Obr. 1. Utajovaná správa (a) ukrývaná do krycieho média (b), vzniká stegomédium (c). Zdroj: Autor.
V prípade monochromatického obrazu je kapacita obrázka pre uloženie správy približne 1/8
z veľkosti obrázka na úložnom médiu, pretože 1/8 bitov je možné zmeniť. Toto sa na prvý
pohľad môže javiť ako pomerne malá kapacita, avšak ako príklad možno uviesť
260
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
nekomprimovaný monochromatický BMP obrázok s rozlíšením 1 024 × 768 pixelov, čo
je 786 432 pixelov, z ktorých farebný odtieň každého pixelu je kódovaný na 8-bitoch. Ak je
nahradený 1 z 8 bitov, je možné pre zápis tajnej správy použiť 786 432 b, čo tvorí 98 304 B.
To predstavuje pri kódovaní pomocou klasickej ASCII tabuľky 98 304 znakov, čo pri 1 800
znakoch na stranu predstavuje až 54,61strán textu. V prípade farebného obrázka s 24-bitovou
farebnou hĺbkou je táto kapacita v ideálnom prípade až trojnásobná, čo znamená 163,84 strán
textu.
V záujme čo najvyššieho utajenia správy sa odporúča používanie obrázkových médií
s pestrými farbami a zložitými motívmi, nie s veľkými homogénnymi farebnými plochami,
ako je napríklad čierne, prípadne biele pozadie. Zmeny v takýchto homogénnych plochách
môžu byť pozorovateľné a v prípade nízkeho počtu bitov vektora popisujúceho každý pixel
môžu spôsobovať dokonca vznik osamotených bodov dostatočne výraznej farby, ktoré môže
odhaliť ľudské oko. Okrem vizuálnej steganalýzy, ktorú popisuje Watters (2008), keď sa
vykonáva vizuálna inšpekcia obrazu buď v takej forme, v akej je obraz zachytený alebo vo
forme, keď bol predspracovaný rôznymi technikami, ako ukazuje Davidson a Paul (2004),
uľahčujúcimi odhalenie utajenej správy, existujú aj štatistické metódy, ktoré sú zamerané na
odhaľovanie odchýlok v štatistických parametroch obrázka ako celku s cieľom určiť, či je
daný obrázok stegomédiom. Štatistickou steganalýzou sa zaoberá Dumitrescu a Wu (2005).
V prípade, ak je odhalená prítomnosť utajovanej správy, je možné pokračovať v snahe túto
správu extrahovať. V mnohých prípadoch nie je k dispozícii pri prezeraní stegomédia
pôvodný obrázok, ktorý nenesie utajovanú správu, čo ešte viac sťažuje možnosť identifikácie
zmien v krycom médiu na úrovni najmenej významných bitov.
Pre maximalizáciu možného utajenia vloženej správy je možnéju pred jej ukrytím ešte
zašifrovať, navyše nie je nutné správu uložiť lineárne v prúde pixelov, tak ako sú uložené
v obrázku, ale je možné určiť niektorý z pixelov obrázka ako počiatočný a uložiť správu do za
ním nasledujúcich pixelov, prípadne použiť zložitejší algoritmus pre výber konkrétnych
pixelov, pričom ostatné pixely nebudú niesť žiadnu informáciu, alebo budú použité pre
doplnenie informácie modifikujúcej štatisticky spracovávateľné parametre obrázka, čo
umožní zmenšiť šancu na odhalenie použitia steganografie pomocou štatistickej steganalýzy.
3
Modifikovaný LSB algoritmus
V rámci tejto práce navrhnuté použitie LSB substitučného algoritmu sa pokúša nájsť jeho
modifikáciu resp. rozšírenie, ktoré umožní zvýšiť bezpečnosť použitia tohto algoritmu
a sťažiť jeho steganalýzu v zmysle zabránenia odhalenia stegomédia ako prostriedku pre
prenos ukrytej správy, ako aj zabránenia prípadnej extrakcie ukrytej správy v prípade, ak bolo
použitie stegomédia odhalené.
3.1
Množina krycích médií
V práci navrhnutý modifikovaný LSB algoritmus nevyužíva pre ukrytie informácie iba jedno
krycie médium, ale používa celú množinu K pozostávajúcu z n krycích médií (súborov)
označených ako S1, S2, S3 až Sn . Možno teda vyjadriť, že
K = { S1, S2, S3, … ,Sn }
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
261
Množina krycích médií nemusí nevyhnutne pozostávať výlučne zo súborov jediného typu,
napríklad z rastrovej grafiky vo formáte bmp, alebo png, môžu byť využité akékoľvek
multimediálne formáty, na ktoré môže byť aplikovaný LSB algoritmus, príkladom môžu byť
zvukové vzorky vo formáte wav. Súčasťou množiny K tak môže byť napríklad jeden rastrový
obrázok vo formáte png, jeden obrázok vo formáte gif a jedna zvuková vzorka vo formáte
wav.
Krycie médiá nemusia mať rovnakú veľkosť v zmysle počtu bitov, z ktorých sa skladajú, resp.
počtu bitov, ktoré je možné využiť pre uloženie ukrývanej správy. Pre celkovú kapacitu
Cmnožiny K krycích médií určenej pre ukrytie stegosprávy však neplatí, že sa dá vypočítať
ako jednoduchý súčet kapacity jednotlivých krycích médií. Možno ju vypočítať ako
C = min(K) x n [b]
kde
min(K) je najmenšia z kapacít jednotlivých stegomédií z množiny K,
n je počet stegomédií v množine K
Ak je kapacita stegomédií množiny Knedostatočná pre uloženie stegosprávy, je možné
upraviť celkovú kapacitu množiny K viacerými spôsobmi, medzi ktoré patrí napríklad:



Rozšírenie množiny K o ďalšie stegomédium, pričom ak je jeho kapacita zhodná alebo
vyššia ako je min(K), rozšíri sa kapacita celej množiny K práve o túto hodnotu min(K).
Ak však toto médium bude mať menšiu kapacitu ako je min(K) je potrebné zvážiť, či
prispeje svojou kapacitou v dostatočnej miere, k celkovej kapacite súboru médií K,
pretože vznikne nová, menšia hodnota min(K).
Zámenou najmenšieho média z množiny za iné médium s väčšou kapacitou sa súčasne
zväčší aj celková kapacita množiny K na novú hodnotu min1(K) x n. Táto úprava
súboru používaných médií môže pomôcť k zvýšeniu jeho celkovej kapacity najmä
vtedy, ak má jedno z médií výrazne menšiu kapacitu ako všetky ostatné.
Vynechaním najmenšieho média z množiny K sa môže zvýšiť celková kapacita
množiny K na novú hodnotu min1(K) x (n - 1), keď min1(K) je hodnota aktuálne
najmenšieho stegomédia z množiny K. Počet médií v tejto množine v tomto prípade
síce klesne o 1, preto je vo vzorci využitá hodnota n – 1, ale zvýšenie hodnoty min(K)
môže túto zmenu vykompenzovať a celková kapacita C môže stúpnuť. Je však
potrebné zvážiť, či touto úpravou nedôjde k navýšeniu celkovej kapacity množiny K
o menšiu hodnotu ako je kapacita vynechaného média, teda či nedôjde k celkovému
poklesu kapacity.
V prípade, ak sú pre ukrývanie dát používané súbory obsahujúce farebnú rastrovú grafiku
s viacerými farebnými zložkami, je možné využívať pre uloženie dát jednu, viacero alebo
všetky farebné zložky obrazu. V prípade klasického RGB modelu je teda možné použiť nie
len jednu, ale dve prípadne tri farebné zložky. Ak je teda v množine K použitý takýto rastrový
obrázok, je možné upraviť vzorec pre výpočet celkovej kapacity množiny médií dvoma
spôsobmi:

262
Kapacita súboru nesúceho rastrovú grafiku v pixeloch sa vynásobí počtom farebných
zložiek modelu, ktoré budú použité pre uloženie stegosprávy, čo môže mať vplyv aj na
hodnotumin(K)celej množiny K krycích médií a môže teda túto hodnotu zdvojnásobiť
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015

3.2
alebo strojnásobiť, na druhej strane, ak nejde o médium, ktoré má v celom súbore
minimálnu kapacitu, nemusí sa táto úprava nijako prejaviť na celkovej kapacite celého
súboru stegomédií.
Každá z farebných zložiek RGB modelu takejto rastrovej grafiky sa bude považovať
za samostatný súbor, a teda zvýši sa počet stegomédií n v množine K na hodnotu
(n + 1) pri použití dvoch farebných zložiek, resp. (n + 2) pri použití troch farebných
zložiek.
Distribučná funkcia f1
Ukrývaná správa je pred jej uložením do množiny K krycích médií predspracovaná, pričom
v tom čase je už známe koľko multimediálnych súborov bude túto množinu tvoriť a známa je
aj minimálna kapacita stegomédií min(K), a teda aj celková kapacita tejto množiny súborov
Cpre uloženie ukrývanej správy. Podstatou predspracovania stegosprávy je aplikovanie
postupu, ktorý sekvenciu bitov ukrývanej správy rozdelí do súboru L množín s celkovým
počtom m, ktorý je zložený z množín s1, s2, s3, ... , sm:
L = { s 1 , s2 , s3 , … , s m }
Algoritmus na tieto účely zavádza distribučnú funkciu f1, ktorá každému bitu ukrývanej
správy priradzuje konkrétnu množinu Sx zo súboru množín L, do ktorej bude príslušný bit
patriť. Výber konkrétnej realizácie distribučnej funkcie môže byť ponechaný na konkrétnu
programovú implementáciu tohto algoritmu, prípadne môže byť implementovaných viacero
takýchto verzií distribučnej funkcie a výber konkrétnej z nich môže byť súčasťou stegokľúča.
Ponechanie tejto voľnosti na druhej strane znamená, že programové implementácie tohto
algoritmu s rôznymi verziami distribučných funkcií nemusia byť navzájom kompatibilné
a v prípade viacerých implementovaných distribučných funkcií v rámci jednej programovej
implementácie musí byť výber konkrétnej z nich ponechaný na používateľa, prípadne mu
musí byť daná k dispozícii informácia, ktorá z distribučných funkcií bola programom
vybraná. Táto informácia musí byť potom súčasťou stegokľúča alebo musí byť súčasťou
odosielanej správy. V prípade, ak je táto informácia súčasťou stegokľúča, musí byť známy tak
odosielateľovi ako aj prijímateľovi stegosprávy. Zaslanie informácie o vybranej verzii
distribučnej funkcie adresátovi správy však potom podlieha tým istým nevýhodám ako
distribúcia šifrovacieho kľúča v prípade symetrického šifrovania. Ak je táto informácia
súčasťou ukrývanej správy, musí byť zvolený spôsob jej kódovania a oddelenia od samotnej
stegosprávy, aby bolo možné túto informáciu korektne extrahovať zo stegomédia a zabezpečiť
jej správnu interpretáciu.
Jedna z najjednoduchších verzií distribučnej funkcief1rozdeľuje jednotlivé bity ukrývanej
správy do množín tak, že prvý bit správy vloží do prvej množiny S1, druhý bit vloží množiny
S2 až po m-tý bit, ktorý vloží do množiny Sm. Následne sa m + 1 bit vloží opäť do prvej, teda
S1 množiny atď., až kým nerozdistribuuje do množín všetky bity správy.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
263
Obr.2. Tajná správa distribuovaná do troch krycích médií distribučnou funkciou f1.
Zdroj: (Vokorokos et al., 2015)
Jednoduchý príklad takejto distribučnej funkcie je znázornený na Obr. 2, kde je správa,
zložená zo sekvencie bitov b0 až b8, vložená do súboru množín L pozostávajúceho z troch
množín S1, S2, a S3, pričom bola zvolená v predošlom texte popísaná distribučná funkcia,
ktorá cyklicky umiestňuje jednotlivé bity do jednotlivých množín tak, že bit b0 uložila do
množiny s1, bit b1 do množiny s2, bit b2 do množiny S3 a pokračuje opäť množinou S1, do
ktorej ukladá bit b3 atď. až kým, nie sú uložené všetky bity stegosprávy.
Kapacita pre uloženie stegosprávy je 5b pre médium S1, 3b pre médium S2 a 4b pre médium
S3. Celková kapacita množiny K médií sa dá vypočítať ako ich počet n = 3 v súčine
s kapacitou toho média, ktoré ju má najnižšiu, a teda určuje hodnotu min(K). V toto prípade je
to médium S2, ktoré má kapacitu 3b. Celková kapacita súboru médií je potom 3 x 3b, teda 9b.
3.3
Distribučná funkcia f2
Druhá distribučná funkcia sa týka poradia stegomédií, teda ako sú priradené množiny S1, S2,
S3, až Sm jednotlivým súborom, resp. jednotlivým farebným zložkám v súboroch, ak sú
považované za samostatné súbory. Funkcia f2 teda každej množine Sx ∈ L priradzuje
konkrétny krycí súbor resp. jeho konkrétnu farebnú zložku.
Opäť, ako v prípade prvej distribučnej funkcie môže byť aj tu výber poradia krycích médií
resp. farebných zložiek ponechaný na používateľovi aplikácie, a teda sa tento výber stáva
súčasťou stegokľúča, ktorý musí poznať tak odosielateľ, ako aj prijímateľ správy.
Alternatívne je možné výber poradia ponechať na konkrétnej programovej implementácii
algoritmu. Pre voľbu poradia by potom bolo možné využiť viaceré parametre krycích médií
ako je napríklad ich veľkosť, prípadne názov a bolo by ich možné napríklad zoradiť od
najväčšieho po najmenší, prípadne vzostupne či zostupne podľa abecedy na základe ich
názvu, pričom je možné použiť na tieto účely rôzne metriky reťazcov. Poradie obrázkov
možno zostaviť aj na základe ich obsahu, teda motívu, ktorý zobrazujú. To v súčasnosti nie je
možné účinne automatizovať a je potrebná asistencia používateľa, ktorý sám určí obsah
obrázkov a následne zostaví ich poradie.
3.4
Distribučná funkcia f3
Tretia distribučná funkcia je použitá pre distribúciu jednotlivých bitov z príslušnej množiny Sx
v rámci daného súboru, resp. v rámci konkrétnej farebnej zložky. Využité môžu byť všetky
bity krycieho média až do kapacity min(K) alebo môže verzia distribučnej funkcie rozhodnúť,
že niektoré bity nebudú zmenené a zmenší sa aj hodnota min(K)a celková kapacita súboru
krycích médií C. Distribučná funkcia potom môže jednotlivé bity zapisovať v poradí, v akom
sa nachádzajú v príslušnej množine Sx alebo môže predstavovať algoritmus, pri ktorom môže
264
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
byť toto poradie pozmenené, čo predstavuje ďalšiu komplikáciu pre prípadného útočníka,
ktorý by chcel diagnostikovať prítomnosť ukrytej stegosprávy na základe analýzy jej obsahu,
ako aj na základe analýzy globálnych štatistických parametrov konkrétneho stegomédia.
Na Obr. 3. je znázornená situácia, keď distribúcia jednotlivých bitov správy v rámci súboru,
resp. farebnej zložky prebieha tak, že jednotlivé bity správy sú ukladané bezprostredne po
sebe. Takto je možné využiť celú kapacitu stegomédia, resp. jeho kapacitu až do veľkosti
min(K). Na Obr. 3(A) je zobrazená verzia distribučnej funkcie, ktorá je najjednoduchšia
a ukladá jednotlivé bity sekvenčne, to znamená, že ich poradie v sekvencii v množine Sx a
v stegomédiu je totožné. Verzia distribučnej funkcie na Obr. 3(B) ukladá predpripravenú
sekvenciu bitov tak, že poradie jednotlivých bitov sa po ich uložení do stegomédia líši.
Obr. 3. Distribučná funkcia f3 využívajúca plnú kapacitu krycích médiímin(K).
Zdroj: (Vokorokos et al., 2015).
Na Obr. 4. je zobrazená situácia, keď zvolená verzia distribučnej funkcief3 nevyužíva všetky
bity stegomédia z kapacity min(K). Nevýhodou takejto verzie distribučnej funkcie je, že
nedokáže využiť kapacitu stegomédia až do hodnoty min(K) a znižuje tak aj celkovú kapacitu
súboru médií C, avšak na druhej strane pôsobí pozitívne, pretože zvyšuje pravdepodobnosť,
že nedôjde k detegovaniu použitia steganografického algoritmu a nedôjde ani k extrahovaniu
správy. Jednotlivé bity, ktoré nie sú využité pre zápis ukrývanej informácie potom môžu
zostať v pôvodnej verzii alebo môžu byť modifikované tak, aby vhodne upravovali štatistické
hodnoty týkajúce sa obrázku ako celku.
Na Obr. 4(A) je zobrazená verzia distribučnej funkcie, ktorá ukladá jednotlivé bity sekvenčne,
to znamená, že ich poradie v predpripravenej sekvencii Sx a v stegomédiu je zhodné. Verzia
distribučnej funkcie na Obr. 4(B) ukladá predpripravenú sekvenciu bitov tak, že poradie
jednotlivých bitov sa po ich uložení do stegomédia líši.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
265
Obr. 4. Distribučná funkcia f3 využívajúca iba niektoré bity stegomédia. Zdroj: (Vokorokos et al., 2015)
Zrealizovať by bolo možné aj algoritmus, ktorý využíva rozdielne verzie distribučnej funkcie
f3 v rámci jedného súboru stegomédií, resp. v rámci súboru farebných zložiek. To by na jednej
strane sťažilo získanie informácie, či bola použitá steganografia a ešte viac by skomplikovalo
extrahovanie ukrytej správy, na druhej strane by si to vyžadovalo použitie ďalšej doplnkovej
informácie, ktorá by musela byť súčasťou kľúča, a teda dopredu dohodnutá alebo by musela
byť distribuovaná spolu s ukrývanou správou, pretože ku každému súboru by osobitne musela
existovať informácia, ktorá konkrétna distribučná funkcia f3 bola použitá.
Ak by bola aplikovaná na každé stegomédium zo súboru iná distribučná funkcia f3, bolo by
súčasne možné využiť zostávajúcu kapacitu tých súborov, ktorých kapacita je väčšia ako
min(K) a to tak, že táto voľná kapacita by bola rozdistribuovaná medzi bity ukrývanej správy
a využitá by bola na úpravu globálnych štatistických parametrov stegomédia uložením
vhodných bitov, nenesúcich žiadnu informáciu. Čím väčší by potom bol rozdiel medzi
celkovou kapacitou konkrétneho média a hodnotou min(K), tým väčší podiel bitov stegomédia
by bolo možné použiť na tento účel, a tým viac by bolo možné zo štatistického hľadiska
zakryť existenciu stegosprávy a použitie steganografického algoritmu.
Jednotlivé stegomédiá sú určené na distribúciu prostredníctvom rôznych komunikačných
kanálov, pričom prijímateľ správy musí tieto komunikačné kanály poznať. Použitím viacerých
komunikačných kanálov sa znižuje pravdepodobnosť možnosti extrakcie správy v prípade
odhalenia jedného z nich, pretože prípadný útočník by musel odhaliť všetky komunikačné
kanály.
Programová implementácia navrhnutého algoritmu
4
Programové vybavenie implementujúce navrhnutú modifikáciu LSB algoritmu bolo
realizované v programovacom jazyku JAVA s využitím plne grafického používateľského
rozhrania. V strednej časti hlavného okna aplikácie bol vyčlenený priestor pre zobrazenie
dvoch pôvodných rastrových obrázkov a ďalších dvoch obrázkov, ktoré vzniknú ich
modifikáciou uložením stegosprávy. Z hľadiska použiteľnosti programu boli zvažované
viaceré možnosti ako zobrazovať obrázky v obmedzenom priestore, ktorý bol na tento účel
vyčlenený. Jedna z možností bola, že sa obrázok svojimi rozmermi prispôsobí vyčlenenej
ploche, to však znamená, že môže dochádzať k deformácii obrázka, keď pomery jeho strán
a priestoru určeného na jeho zobrazenie nie sú zhodné. Navyše, ak má obrázok veľké
rozlíšenie, pri jeho zobrazení na malej ploche dochádza k jeho výraznému zmenšeniu.
266
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Vzhľadom k tomu, že zobrazenie obrázkov má umožniť používateľovi vizuálnu inšpekciu
s cieľom rozoznať aj minimálne, voľným okom rozoznateľné zmeny vo farebných odtieňoch
jednotlivých pixelov, bolo by toto potenciálne výrazné zmenšenie obrázkov nevhodné.
Alternatívne je možné zobraziť obrázky, ktorých rozlíšenie je väčšie ako plocha, ktorá je
k dispozícii na zobrazovanie týchto obrázkov tak, že bude zobrazený iba výrez z obrázka v
jeho aktuálnej veľkosti a používateľ dostane k dispozícii vertikálny a horizontálny posuvník
pre každý zobrazený obrázok, aby mohol interaktívne vyberať zobrazený výrez obrázka
a posúvať tento výrez tak v horizontálnom, ako aj vertikálnom smere. Ako sa ukázalo počas
práce s prototypom aplikácie, tento spôsob zobrazovania obrázkov je vyhovujúci, preto bol
implementovaný v jej konečnej verzii. Po načítaní sa obrázky zobrazia v ľavej časti určenej
plochy (označená ako Covermedium na Obr. 5). Ak je zvolená steganografická funkcionalita
aplikácie, tak sú následne stegogramy zobrazené v pravej časti určenej plochy (označená ako
Stegogram na Obr. 5). Ak je však využívaná steganalytická funkcia, tak ostane pravá časť
plochy prázdna.
Ďalšou skupinou ovládacích prvkov aplikácie, ktorá bola uložená v dolnej časti jej hlavného
okna, je textové pole určené pre interaktívne zadávanie ukrývanej správy alebo pre zobrazenie
extrahovanej správy a textové pole pre vkladanie kryptokľúča, ktorý je používaný ako kľúč
pre použité šifrovanie.
Navrhnutá aplikácia má v súlade s vyššie uvedeným návrhom implementované príslušné
verzie všetkých troch distribučných funkcií.
Obr. 5. Grafické používateľské rozhranie aplikačného programového vybavenia implementujúceho
navrhnutú modifikáciu LSB algoritmu s využitím dvoch krycích médií. Zdroj: Autor.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
267
Prvá distribučná funkcia rozhoduje o tom ako budú jednotlivé bity ukrývanej správy
rozdistribuované do jednotlivých stegomédií. Navrhnutá aplikácia obmedzuje dátový formát
stegomédií na rastrovú plnofarebnú grafiku vo formáte png a bmp. Aplikácia počas
načítavania potenciálneho stegomédia kontroluje, či stegomédium je rastrovým obrázkom, či
je plnofarebné a či disponuje troma farebnými zložkami RGB s počtom bitov 8 na jednu
farebnú zložku pixelu. Používateľ môže vybrať, či bude používať jednu, dve alebo všetky
farebné zložky. Vzhľadom k tomu, že sú používané dve stegomédiá, počet množín, do
ktorých je rozdelená stegospráva je rovný 2 × počet použitých farebných zložiek. Nie je teda
možné vybrať rozdielny počet farebných zložiek v jednom a druhom stegomédiu. Distribučná
funkcia rozdeľuje jednotlivé bity tak, že ak sú napríklad vybrané zložky R a B, tak celkový
počet použitých farebných zložiek n je rovný štyrom. Prvý bit správy je potom vložený do
farebnej zložky R prvého obrázku, druhý bit je vložený do zložky R druhého obrázku, tretí bit
je vložený do B zložky prvého obrázku, štvrtý bit je vložený do B zložky druhého obrázku.
Piaty bit je potom znova vkladaný do farebnej zložky R prvého krycieho média a takýmto
spôsobom sú následne rozdistribuované aj všetky ostatné bity ukrývanej správy.
Druhá distribučná funkcia, určujúca poradie krycích médií, resp. ich farebných zložiek,
zoraďuje krycie súbory podľa poradia ich načítania. Toto poradie určuje používateľ pri
ukrývaní správy ako aj pri jej extrakcii, je teda súčasťou stegokľúča.
Tretia distribučná funkcia je implementovaná v najjednoduchšej forme, teda bity správy sú
vkladané do krycích médií v rovnakom poradí ako sú v množinách, ktoré vytvorila prvá
distribučná funkcia, a do bezprostredne za sebou nasledujúcich pixelov.
Šifrovanie nie je priamou súčasťou steganografických postupov avšak veľmi často sa obidva
prístupy k utajenej komunikácii používajú súčasne, keď je steganografická správa, ktorej
existencia má byť utajená vložením do stegomédia pred týmto ukrytím ešte zašifrovaná.
Požívateľovi steganografického softvéru nebráni nič v tom, aby na zašifrovanie správy použil
špecializovaný programový nástroj určený primárne na účely šifrovania. Pre zvýšenie
používateľského komfortu steganografických aplikácií sa však bežne do tohto softvéru
implementujú aj kryptografické funkcie. To umožňuje inštalovaním jedinej aplikácie pokryť
obidve oblasti ukrývania dát. Preto bola takáto funkcionalita zahrnutá aj do navrhnutej
aplikácie. Zašifrovanie správy navyše môže napomôcť zvýšiť efektivitu použitého
steganografického algoritmu, a to v prípade, ak je steganalýza založená na vyhľadávaní
zmysluplných fragmentov ukrytej správy.
Implementované boli dva algoritmy šifrovania AES a 3DES, pričom prvý využíva 128 bitový
kľúč v podobe 16 ASCII znakov v 8 bitovom kódovaní, druhý z vybraných šifrovacích
algoritmov využíva 168 bitový kľúč, ktorý je reprezentovaný 21 ASCII znakmi v 8 bitovom
kódovaní.
Testovanie navrhnutého programového vybavenia
5
Realizácia hlavnej funkcionality aplikácie, teda ukrývanie tajnej správy do krycieho média,
nebola počas vývoja aplikácie vyhodnotená ako zdĺhavá, preto neboli používané
optimalizačné metódy pre zníženie jej časovej náročnosti. Potrebný čas na vykonávanie
funkcií aplikácie sa napriek tomu líši od použitia k použitiu a závisí ako od veľkosti použitých
krycích médií, tak aj od veľkosti vkladanej tajnej správy.
Cieľom testovania bolo zistiť aká je závislosť času potrebného pre ukrytie správy
a prípadného šifrovania správy od veľkosti použitého média pri konštantnej veľkosti správy.
Testovaný bol aj opačný proces, to znamená extrakcia správy a jej dešifrovanie, pričom
268
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
sledovaný bol takisto čas potrebný na realizáciu týchto operácií. Na testovanie bol použitý
stolný počítač s procesorom Intel Core i5 4460 3.4GHz, RAM 8GB DDR3, Windows 8
64-bit.
Pre otestovanie bolo náhodne vybraných 10 krycích médií rôznych veľkostí, do ktorých bola
vkladaná tajná správa, ktorá bola pre jasnejšiu viditeľnosť závislosti vo forme súboru
konštantnej veľkosti. Systematicky bola vkladaná tajná správa prv do jednej zložky RGB
modelu, potom do dvoch a nakoniec do troch, pričom bolo taktiež rozlišované, či nebola
použitá kryptografia alebo bol použitý šifrovací algoritmus AES, resp. šifrovací algoritmus
3DES.
Všetky rôzne varianty boli sledované na 5-tich dvojiciach náhodne vybraných krycích médií.
Keďže časová závislosť od veľkosti krycích médií bola pozorovateľná už pri prvých desiatich
náhodných krycích médiách, je možné vyvodiť záver, že so vzrastajúcou veľkosťou krycích
médií bude vzrastať aj čas potrebný na ukrytie správy do takýchto médií.
Tab. 1. Graf závislosti času spracovávania v milisekundách od veľkosti krycích médií. Zdroj: Autor.
Výsledky tohto testu znázorňuje Tab. 1., kde sú zhrnuté výsledky ukrývania informácie vždy
do dvojice súborov a následne extrahovania informácie z týchto súborov. V tabuľke je
indikované, či boli v konkrétnom teste použité pre uloženie informácie najmenej dôležité bity
jednej, dvoch, alebo troch zložiek RGB modelu a či bolo použité šifrovanie a ak áno, aký
algoritmus šifrovania bol využitý. Uvedené sú potom časy realizácie príslušnej operácie
v milisekundách.
Z vykonaných testov vyplýva, že čím je celková veľkosť použitých médií väčšia, tým sa
zväčšuje čas vykonávania procesu ukrývania resp. extrakcie správy. Veľkosť času potrebného
na realizáciu príslušných operácií je však z hľadiska používateľského komfortu zanedbateľná.
Názornejšie výsledky meraní zobrazuje graf vybranej časti výsledkov na Obr. 6. resp. Obr. 7.
zobrazujúci časovú závislosť pri ukrývaní správ do krycích médií.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
269
Obr. 6. Graf závislosti času spracovávania v sekundách od veľkosti krycích médií. Zdroj: Autor.
Obr. 7. Graf závislosti času spracovávania od veľkosti krycích médií pri vkladaní tajnej správy
do 3 RGB zložiek rastrového obrázka. Zdroj: (Vokorokos et al., 2015)
Ďalším krokom testovania závislosti trvania vykonávania funkcií aplikácie od veľkosti
súborov bolo otestovanie závislosti dĺžky procesu ukrývania tajnej správy od veľkosti
vkladanej správy. Takisto ako v prípade testovania závislosti času od stúpajúcej veľkosti
krycích médií, tak aj v tomto prípade boli testované všetky kombinácie nastavení aplikácie,
teda vloženie správy do jedného, dvoch alebo troch farebných kanálov, deaktivovanie použitia
šifrovania, ako aj použitie šifrovacích algoritmov AES a 3DES. Pre názornejší pohľad na
závislosť času od veľkosti správy bola vybraná dvojica krycích médií náhodnej veľkosti
a postupne do nich boli vkladané tajné správy rôznych veľkostí. Výsledkom tohto testovania
bolo zistenie, že narastanie veľkosti tajnej správy zvyšuje nároky na čas realizácie týchto
funkcií aplikácie ako znázorňuje Tab. 2.
270
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Tab. 2. Graf závislosti času spracovávania v milisekundách od veľkosti ukrývanej informácie. Zdroj:
Autor.
Výsledky meraní zaznamenané v tabuľke zobrazuje graf vybranej časti výsledkov na Obr. 8.
zobrazujúci časovú závislosť pri ukrývaní správ do krycích médií.
.
Obr. 8. Graf závislosti času spracovávania v milisekundách od veľkosti vkladanej utajovanej správy.
Zdroj: Autor.
Z grafu na Obr. 9. je možné získať informáciu, že v prípade ukrývania tajnej správy
stúpajúcej veľkosti do krycích médií konštantnej veľkosti program vykazuje lineárnu
závislosť času ukrývania a veľkosti tajnej správy. Súčasne možno skonštatovať, že tento čas
je v prípade predpokladaných bežných spôsobov použitia programu akceptovateľný
a nepôsobí negatívne z hľadiska použiteľnosti aplikácie.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
271
Obr. 9. Graf závislosti času spracovávania od veľkosti vkladanej správy do všetkých trochfarebných
zložiek RGB modelu. Zdroj: (Vokorokos et al., 2015)
Závery
6
Navrhnutá modifikácia LSB substitučného algoritmu prináša viacero výhod oproti použitiu
klasického LSB algoritmu. Pri použití distribučných funkcií pri rozdeľovaní jednotlivých
bitov ukrývanej správy je výhodou to, že ani jedno z použitých krycích médií nenesie úplnú
utajovanú správu a nenesie ani sekvenciu bitov ukrývanej správy, ktoré by v nej nasledovali
bezprostredne za sebou. Ak teda dôjde k odhaleniu ukrytia správy v jednom z n krycích
médií, toto odhalenie neumožní extrakciu celej správy a ani žiadnej jej časti tak, aby ju bolo
možné zmysluplne interpretovať. Ďalšou výhodou navrhnutého algoritmu je zväčšenie
kapacity pre ukrytie utajovanej správy, keď oproti použitiu jedného stegomédia môže byť
kapacita množiny n stegomédií s rovnakou veľkosťou až n-krát väčšia. Dosiaľ používané
steganografické a steganalytické programy nie sú s týmto algoritmom kompatibilné, a teda
neumožnia odhalenie ukrytia tajnej správy alebo prinajmenšom neumožnia extrahovanie
ukrytej správy v prípade, ak odhalia samotné ukrytie správy.Použitie viacerých stegomédií
umožňuje využitie viacerých komunikačných kanálov pre ich doručenie adresátovi, čo znižuje
šancu útočníka odhaliť všetky tieto komunikačné kanály a získať tak všetky stegomédiá
z použitej množiny. To mu značne sťaží až znemožní extrahovanie utajovanej správy
v prípade odhalenia podmnožiny z použitej množiny stegomédií.
Nevýhodou navrhnutého algoritmu je, že celková kapacita množiny použitých krycích médií
je pri ich celkovom počte n rovná n × kapacita najmenšieho stegomédia z množiny použitých
stegomédií. Použitie jedného významne menšieho stegomédia tak môže znamenať výrazné
zmenšenie kapacity celej množiny stegomédií. Použitie viacerých stegomédií, ako aj
viacerých komunikačných kanálov, ktorými budú tieto stegomédiá zasielané adresátovi
znamená zvýšenie rizika, že bude jedno alebo viacero použitých stegomédií narušených
prípadne dôjde k narušeniu jedného alebo viacerých komunikačných kanálov, čo môže
spôsobiť stratu stegomédia zasielaného týmto kanálom. Nemožnosť extrahovania utajovanej
správy z neúplnej množiny stegomédií sa tak súčasne stáva aj nevýhodou tohto algoritmu.
Ak sa v ukrývanej správe bude periodicky vyskytovať rovnaký symbol, pri nevhodne
zvolenom počte stegomédií sa môže tento symbol začať v jednom zo stegomédií opakovať
s príliš vysokou frekvenciou, čo môže ohroziť utajenie časti ukrývanej správy uloženej
v tomto stegomédiu. Následne môže prezradiť použitie daného komunikačného kanála,
272
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
a prípadne aj ostatných použitých stegomédií, čo môže napokon viesť až k extrakcii správy.
Napríklad, ak by obsahom utajovanej správy mala byť séria binárne kódovaných
desiatkových číslic (BCD kód) a pre ukrytie stegosprávy by boli použité štyri stegomédiá,
negatívne by sa prejavila vlastnosť BCD kódu, ktorý v najvýznamnejšom bite kódu každej
číslice obsahuje s 80% pravdepodobnosťou bit 0, to znamená, že pri štatisticky významnom
počte číslic by sa táto pravdepodobnosť prejavila aj v súbore do ktorého by bol tento najvyšší
bit ukladaný a znak 0 by sa v ňom vyskytoval v 80% prípadov.
Poďakovanie
Táto práca bola podporovaná Agentúrou na podporu výskumu a vývoja na základe zmluvy
č. APVV-0008-10. Bola realizovaná na Katedre počítačov a informatiky, Fakulty
elektrotechniky a informatiky, Technickej univerzity v Košiciach.
Zoznam použitých zdrojov
Baran, B., Gomez, S., & Bogarin, V. (2001). Steganographic Watermarking for Documents. In
Proceedings of the 34th Annual Hawaii International Conference on System Sciences (pp. 1-10).
Los Alamitos: IEEE.
Bennet, K. (2004). Linguistic Steganography: Survey, Analysis, and Robustness Concerns for Hiding
Information in Text. West Lafayette: Purdue University. CERIAS Tech Report 2004-13.
Cox, I. J. (2008). Digital Watermarking and Steganography. Second Edition. Burlington: Elsevier.
Cvejic, N., & Seppanen, T. (2005). Increasing Robustness of LSB Audio Steganography by Reduced
Distortion LSB Coding. Journal of Universal Computer Science, 11(1), 56-65. doi: 10.3217/jucs011-01-0056
Davidson, I., & Paul, G. (2004). Locating secret messages in images. In ACM SIGKDD international
conference on Knowledge discovery and data mining (pp. 545-550). New York: ACM. doi:
10.1145/1014052.1014117
Dumitrescu, S., & Wu, X. (2008). LSB steganalysis based on high-order statistics. In Proceedings of
the 7th workshop on Multimedia and security (pp. 25-32). New York: ACM. doi:
10.1145/1073170.1073176
Fridrich, J., Goljan, M., & Du., R. (2001). Reliable detection of LSB steganography in grayscale and
color images. In Proceedings of the 2001 workshop on Multimedia and security: new challenges
(pp. 27-30). New York: ACM. doi: 10.1145/1232454.1232466
Hurtuk, J., Čopjak, M., Dufala, M., & Drienik, P. (2014). The malicious code hiding techniques, code
obfuscation problem. In Proceedings of the 12th IEEE International Conference on Emerging
eLearning Technologies and Applications (pp. 181-185). Danvers: IEEE. doi:
10.1109/ICETA.2014.7107581
Hurtuk, J. (2014). Malware categorization and recognition problem. In: Proceedings of the 14th
Scientific Conference of Young Researchers (pp. 207-211). Košice: TU.
Chapman, M., Davida, G., & Rennhard, M. (2001). A Practical and Effective Approach to LargeScale Automated Linguistic Steganography. In Proceedings of 4th International Conference ISC
2001 (pp. 156-165). New York: Springer. doi: 10.1007/3-540-45439-X_11
Kessler, G., & Hosmer, C. (2011). An Overview of Steganography. Advances in Computers,
83(1) 51-107.
Madoš, B., Hurtuk, J., Čopjak, M., Hamaš, P., & Ennert, M. (2014). Steganographic algorithm for
information hiding using scalable vector graphics images. Acta Electrotechnica et Informatica,
14(4), 42-45. doi: 10.15546/aeei-2014-0040
Petitcolas, F. A. P., Anderson, R. J., & Kuhn, M. G. (1999). Information hiding a survey.
Proceedings of the IEEE, special issue on protection of multimedia content, 87(7), 1062-1078.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
273
Reiland, K., Oblitey, W., Ezekiel, S., Wolfe, J. (2005). Steganography and Covert Channels. Indiana:
Indiana University of Pennsylvania.
Vokorokos, L., Madoš, B., Hurtuk, J., & Feková, M. (2015). Multi-carrier steganographic algorithm
using LSB steganography. Acta Electrotechnica et Informatica, 15(2), 39-42. doi: 10.15546/aeei2015-0016
Watters, P., Martin, F., & Stripf, H. S. (2008). Visual detection of LSB-encoded natural image
steganography. ACM Transactions on Applied Perception, 5(1). doi: 10.1145/1279640.1328775
274
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
275
Acta Informatica Pragensia, 2015, 4(3): 276–287
DOI: 10.18267/j.aip.74
Peer-reviewed paper
A Fine-Grained Data Access Control System
in Wireless Sensor Network
Boniface K. Alese*, Sylvester O. Olatunji*, Oluwatoyin C. Agbonifo*,
Aderonke F. Thompson*
Abstract
The evolving realities of Wireless Sensor Network (WSN) deployed to various terrain of life
require serving multiple applications. As large amount of sensed data are distributed and
stored in individual sensors nodes, the illegal access to these sensitive data can be
devastating. Consequently, data insecurity becomes a big concern. This study, therefore,
proposes a fine-grained access control system which only requires the right set of users to
access a particular data, based on their access privileges in the sensor networks. It is
designed using Priccess Protocol with Access policy formulation adopting the principle of Bell
Lapadula model as well as Attribute-Based Encryption (ABE) to control access to sensor
data. The functionality of the proposed system is simulated using Netbeans. The
performance analysis of the proposed system using execution time and size of the key show
that the higher the key size, the harder it becomes for the attacker to hack the system.
Additionally, the time taken for the proposed work is lesser which makes the work faster than
the existing work. Consequently, a well secure interactive web-based application that could
facilitates the field officers access to stored data in safe and secure manner is developed.
Keywords: Attribute-Based Signature (ABE), Bell Lapadula access policy model, Wireless
sensor network (WSN), Fine-grained data access control, Security.
1
Introduction
A wireless sensor network (WSN) can be generally described as a network of nodes that
cooperatively sense and may control the environment enabling interaction between persons or
computers and the surrounding environment. WSNs usually consist of a large number of
sensor nodes that can be easily deployed to various terrains of interest to sense the
environment. WSNs can be used in wide range of applications, such as military, health and
weather forecast. While the main purpose of deploying wireless sensor network (WSN) is to
monitor the physical world and provide observations for various applications. As WSNs are
usually deployed in an environment that is vulnerable to many security attacks, it is crucial to
control the access to the sensor nodes (e.g. reading the sensor data), especially when there are
many users in the system. Moreover, different users may have different access privileges, in
the case of WSN deployed in the battlefield, a soldier only need to access the data related to
his mission, but higher rank officer often requires information gathering for overall
monitoring and therefore should have more information access privilege than a soldier,
(Buratti et al, 2009; Tubaishat, Madria, 2003, Hac, 2003).
*
Computer Science Department, Federal University of Technology Akure, P.M.B. 704, Akure, Ondo State, Nigeria,
 [email protected], [email protected], [email protected], [email protected]
276
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
The emerging reality of WSNs developed as long-lived infrastructure required to serve
multiple applications necessitates the development of fine-grained security support. Sensor
nodes participation in multiple concurrent applications requires access control per-application
basis (Matthys et al, 2010). According to Lou et al, (2006), data security naturally becomes
a big concern due to very large amount of sensed data distributed and stored in the individual
sensor nodes. Moreover, in mission-critical application scenarios various types of data
generated by all kind of sensors may belong to different security levels, and thus are meant to
be accessed only by selected users. The application is compromised if the access control is not
properly enforced. Varieties of security solutions of deployed WSNs have been proposed in
literatures, these provide some levels of access control by using different types
of authentication schemes comprising digital signatures, hash functions and symmetric
keying. However, each of these approaches operates at a coarse-grained level, as they provide
a level of entity authentication which considers complete nodes as endpoint, meaning that it
consist of fewer, larger components than fine-grained system. (Matthys et al, 2010). Object
composition based on Object references is coarse grained while object composition is based
on attributes is fine-grained (Yu et al, 2010, Lou et al, 2006).
Some common security aspects such as confidentiality and integrity are also desired in any
other WSNs security scheme. With respect to data access control in WSNs to provide finegrained data access control, the system provides a strategy that is able to precisely specify the
capability of different kind of users to access sensor data of different types of security level,
collision resistance, sensor compromised resistance and backward secrecy.
In a very large scale WSN, transmitted data in sensors is via wireless communication,
mechanisms to prevent unauthorized users from interfering on the transmitted information or
introducing data into the network have to put in place since the main aim is only to protect the
sensitive nodes data been hack by the hackers.
Sushmita et al, (2011) identify most popular threat which includes: insider and outsider threat,
passive and active threat, and user might collude and try to gain access to unauthorized data.
In view of these, access control is put in place to curb the unauthorized users and which must
satisfied these requirements: user authentication, node compromised tolerance, limit access
privileges, efficiency, and integrity.
2
Literature review
In WSN, nodes monitored given field (an area or a volume) are through wireless links. The
data is forwarded, possibly via multiple hops, to a sink (controller or monitor) that can use
it locally or is connected to other networks (the Internet) through a gateway. The nodes can be
stationary or moving; and can be aware of their locations or not. They can also be
homogenous or not, (Buratti et al, 2009). Each individual nodes must be designed to provide
the set of primitives necessary to synthesize the interconnected web that emerges as they are
deployed, while meeting strict requirements of sizes, cost and power consumption, (Jason,
1998; Lewis, 2004; Cook and Das, 2004). Fig. 1 shows a typical WSN scenario.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
277
Fig. 1. Wireless Sensor Network scenario. Source: (Lewis, 2004)
The three categories of sensor nodes are: (i) Passive, Omni Directional Sensors (ii) Passive,
narrow-beam sensors; and (iii) Active Sensors. WSNs are vary depending on the
environment, such types can be the following: Terrestrial, Underground, Underwater,
Multimedia and Mobile. The applications of WSNs are innumerable (Sohraby et al, 2007).
The expansion and arrangement of WSN have taken traditional network topologies in new
directions. Thus, many of today’s sensor applications require networking alternatives that
reduce the cost and complexity while improving the overall reliability. Early sensor networks
used simple twisted shielded–pair (TSP) implementations for each sensor. Recently, the
industry adopted multidrop buses (an example is Ethernet). Now there is true web-based
networks (e.g., the World Wide Web) implemented on the factory floor (Wayne, 2000). Some
topology existing in WSN are: Point-to-Point Networks, Multidrop Networks and Web
Network.
2.1
Wireless Sensor Network Protocols
Data are routed from one node to other using different routing protocols (Bhattacharyya, Kim,
Pal, 2010). Research and industry trends revealed that routing protocols are majorly classified
into three categories, namely, Data-centric protocols: are query based and use concept of
naming of desired data to eliminate many redundancy transmission within the network.
Hierarchical protocols: it clusters the nodes so that cluster heads can be aggregate and reduce
the data to save energy. Location based protocols: use position information to send the data to
only desired regions rather than to the whole network. Low Energy Adaptive Clustering
Hierarchy (LEACH), Threshold Sensitive Energy Efficient Sensor Network (TEEN),
Adaptive Threshold Teen (APTEEN), Power Efficient Gathering Sensor Information System
(PEGASIS), Sensor Protocol for Information Via Negotiation (SPIN), Diffusion Direct (DD),
Rumors Routing (RR), Geography and Energy-Aware Routing (GEAR) and Geographic
Adaptive Fidelity (GAF) are all other WSNs protocol.
2.2
Related Works
Nanda (2003) discussed some features in detail. The author described building a secure
application authentication system using contexts and Fine-Grained access control (FGAC)
system. The research is solely based on database applications.
Lou et al (2006) proposed a fine-grained distributed data access control in wireless sensor
network. Their scheme is solely based on FGAC in which each sensor node is assigned a set
of attributes, and each user is assigned an access structure which designates the access
capability of the user. Thus, overload in FGAC is reasonable in practical scenarios but the
efficient update of data encryption keys for sensor nodes as well as distribution of keys to the
278
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
legitimate users as well as fine-grained data access control is hard to realize due to the
complexity introduced by its management technique. However, strong attacks on WSN are
still possible, this is a major limitation of their work.
Buratti et al (2009), discussed the relevant issues of WSNs from the application to design and
technology viewpoints. They also stressed further that, there is need to use the communication
protocols such as topology and signal processing strategies. Matthys et al (2010) proposed
a Fine-Grained and application centric access control for WSNs. The approach is to realize
fine-grained access control in WSNs based on three elements, a loosely-coupled WSN
component model named LooCI which allows easy inspection of data flows between the
components that compose application, second, a flexible and extensible policy engine which
also allows fine-grained control of data flows and ensures that these policies cannot be
avoided and thirdly, a secure policy distribution channel ensures that only authorized actors,
may deploy security policies. Since it is run-time application, it reconfigures itself after the
main work has been done on each node. That is, it follows single event condition action.
Jin et al (2010) proposed an efficient attribute-based access control system in cloud
computing. In their system, two CSPs namely KG-CSP and D-CSP are introduced as
employees to finish outsource the heavy tasks for users’ management and file access
respectively. A challenging issue in the proposed system is how outsources computational
task to CSPs without any private information leakage would be achieved.
Sushmita et al (2011), discussed a fully distributed fine grained access control schemes for
distributed networks. The scheme is well secured against collusion of users and supports user
join, revocation and access structure modifications. The communication costs are the same as
that of Yu et al (2006) scheme which contained only one Trust Authority (TA); hence, it is
prone to breaking down on the event that the TA is compromised. The computation costs
incurred by the sensors are also the same making the schemes highly practical for distributed
sensor networks.
2.2.1
Attribute Policy: Subjects and Objects
Pirretti et al (2006) defined an attribute policy (same as policy) as a specification
of cryptographic operations carried out on a plaintext in the attribute-based system. Hence,
through encryption, a party is able to insert expressive policies into objects, allowing the
decentralized enforcement of such policies. There are two components central to policies
characterization: the attributes and the objects. An attributes consists of a uniquely identifying
string and names. Objects refer to all encrypted or discovered data. For example, objects in
a distributed file system would be the file that it stores. The attribute policy is a specification
of the attribute and threshold used to encrypt an object. For example, consider a policy p that
mandate encryption using a single attribute a under a threshold of 1. P = t1 (a) while the
application of attribute place of objects (Obj) is denoted by E(Obj, p) equivalent to E(Obj,
t1(a)) meaning that Obj has been encrypted under attribute a using 1-out-of-1 threshold
encryption function. This object can only be encrypted by a user with right attribute.
3
System Design
Bilinear map, pairing-base is employed in the design. Consider two cyclic groups 𝑮𝟏 and 𝑮𝟐
of prime order 𝑞 generated by 𝒈𝟏 and 𝒈𝟐 respectively. Let 𝑮𝑻 be a group of order 𝑞 , we
consider mapping 𝑒 as follows: e: 𝑮𝟏 × 𝑮𝟐 →𝑮𝑻 .
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
279
KP-ABE is used for achieving fine-grained data access control. KP-ABE is a type of attribute
Based encryption in which each ciphertext is associated with a set of descriptive attributes.
Each private key is associated with an access structure or policy that specifies which type
of cyphertext the key can decrypt. Thus, a user is able to decrypt a cyphertext if and only if
the attributes associated with a cyphertext satisfy the key’s access structure or policy. The
KP-Attribute Based Encryption scheme consists SETUP, KEY GENERATION,
ENCRYPTION and DECRYPTION algorithms.
a. SETUP: In the setup phase, the system parameters are chosen by the key attribute
authority. The threshold parameter 𝑑 is decided, such that if a user 𝑈𝑗 has at least 𝑑
attributes in common with the sender 𝑇, it can decrypt the message.
Let 𝑞 be a prime power. 𝑮𝟏 and 𝑮𝑻 are two groups of order 𝑞 and
Let 𝑔 be the generator of the group 𝑮𝟏 .
e: 𝑮𝟏 × 𝑮𝟏 → 𝑮𝑻
(3.1)
Let W be the total number of attributes.
𝑡1 , 𝑡2 , ⋯,. 𝒕𝒘 and 𝑦 are chosen at random from 𝒁𝒒 .
𝒁𝒒 Set of integers {0,1, ⋯, q − 1}
The following public parameter are published
[𝑻𝟏 = 𝒈𝒕1 , 𝑻𝟐 = 𝒈𝒕𝟐 , … , 𝑻𝒘 , 𝒀 = 𝒆 (𝒈, 𝒈)𝒚 ]
(3.2)
Where
(𝑡1 , 𝑡2 , ⋯, 𝑡𝑤 , 𝑦) is a master secret key, 𝑻𝒊 ∈ 𝑮𝟏 .
b. KEY GENERATION: The server generates secret keys for the users, depending on
the set of attributes it has and its group. It takes groups 𝑮𝟏 and 𝑮𝑻 , the threshold
parameter 𝑑, set of attributes that a user has as input and outputs the secret keys. The
algorithm chooses a 𝑑 – 1 degree polynomial 𝑝(𝑥) at random, such that 𝑝(0) = 𝑦.
For i-th attribute,
SKi = 𝒈𝒑(𝒊)/𝒕𝒊 ,
then the secret key is output as
SK = (𝑺𝑲𝟏 , 𝑺𝑲𝟐 , ⋯, SKn-1)
(3.3)
(3.4)
c. ENCRYPTION: The server generates public keys and encrypts the message using its
public keys. The sender 𝑇 runs the encryption algorithm, the inputs of which are the
message 𝑀 , the set of attribute 𝑈 j it has, and the public parameters. It outputs
a ciphertext 𝑪′ for the message 𝑀. The algorithm randomly chooses a value 𝜌 ∈ 𝑍𝑞 .
The ciphertext is calculated as
𝝆
𝑪′ = (𝒖𝒋 , C = 𝑴𝒀𝝆 , {𝑬𝒊 =𝑻𝒊 } i∈𝒖𝒋 )
(3.5)
d. DECRYPTION: This algorithm enables a user with valid set of attributes to decrypt
the message. The decryption process is performed at each node. It takes as input the
ciphertext 𝐶, the group 𝑮𝟏 and the parameters that a receiving user has and outputs the
message 𝑀.
Then,
e(𝒈, 𝒈𝝆𝒑(𝟎) ) = e(𝒈, 𝒈𝒚𝝆 )
(3.6)
3.1
Network Architecture and Assumptions
In this work, we consider military WSN to be the network consisting network server or
trusted Authority, several sensor nodes and many users. We denote the network server as 𝑇,
user or subjects as 𝑈𝑗 and node or objects as 𝑁𝑖 respectively. Both users and nodes have their
280
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
unique IDs. The 𝑇 can always be online for easy detection of intruders or threat. It is in charge
of issuing, revoking and updating attribute keys for users. The proposed architecture is
divided into six phases which are: system initialization phase, user query generation phase,
sensor node verification, establishing secure channel between the network users and the
sensor nodes, new user and the user revocation. Conventionally, we assume that Subject
(Subj) have sufficient computational resources to execute some expensive cryptography
operations and also assume that there is loose time synchronization among the sensor nodes.
In this scheme, each sensor node is preloaded with a set of attributes- the detected military
operations which has been classified as security levels, (TOP SECRET , SECRET,
CONFIDENTIAL AND UNCLASSIFIED) as well as public key (PK) depending on a set of
attributes that a sensor possess. Each user (Subj) is assigned an access policy with the
corresponding secret key (SK). A user (Subj) is able to decrypt the information from the
sensor node (Obj), provided it has the matching set of attribute and access policy. Some of the
architecture algorithms are:
USER QUERY GENERATION: After the system initialization, subjects can enter the
network to access the nodes base on their access privilege. Let assume that group member’s
Public keys consists of 𝒀𝟏 , 𝒀𝟐 ⋯ , 𝒀𝑵 With Que, subjects compute 𝑯𝟏 (Que) p. To sign
𝑯𝟏 (Que) p will takes the following step
i. For all i∈ {𝟏 ⋯ , 𝒎} and 𝑼𝒊 ≠ 𝑼𝒋 , 𝑼𝑱 randomly choose 𝒂𝒊 ∈ 𝒁𝒒 and for which the 𝒂𝒊
are pairwise different. Compute 𝑹𝒊 = 𝒂𝒊 p (i≠ j)
ii. Choose a random number 𝒂 ∈ 𝒁𝒒
iii. Compute Rj where
𝑹𝒋 = 𝒂𝑷 − ∑𝒎
(3.7)
𝒊=𝟏,𝒊≠𝒋 𝑯𝟐 (𝑸𝒖𝒆)𝑷, 𝑹𝒊 ) 𝒀𝒊
If Rj = 𝝏 or Rj = Ri for some i≠ 𝒋, then go to (ii).
iv. Compute ∝ where
∝ = 𝒂 + ∑𝒎
(3.8)
𝒊=𝟏,𝒊≠𝒋 𝒂𝒊 + 𝒙𝒋 𝑯𝟐 (𝑯𝟏 (𝑸𝒖𝒆)𝒑, 𝑹𝒊 )𝑴𝒐𝒅 𝒑
v. The signature of Que made by the subgroup s from the group {𝑼𝟏, 𝑼𝟐 … . . 𝑼𝒏 } is given
by 𝝈 = {𝑹𝟏 , … , 𝑹𝒎 , 𝒀𝟏 , … 𝒀𝒎 , 𝝈}. After that, Uj sends the message {Que, 𝝈} to the
sensor nodes.
SENSOR NODE VERIFICATION: Upon receiving the message {Que, 𝝈} , each node
firstly checks whether the time stamp 𝑇𝑗 included in Que is within a given period of time.
Then verification of signature 𝝈 on the query Que is:
i. Compute h1, where hi = H2 (H1(Que)P, Ri)∀𝟏 ≤ 𝒊 ≤ 𝒎
ii. Check the equation
𝝈𝑷 = ∑𝒎
(3.9)
𝒊=𝟏(𝑹𝒊 + 𝒉𝒊 𝒀𝒊 )
Signature validity is checked. Then response is sent to the user Uj; otherwise, the message
{Que, 𝝈} is rejected.
SECURE CHANNELS ESTABLISHMENT BETWEEN NETWORK USER AND
SENSOR NODES: During the user query generation phase, user Uj randomly chooses c ∈ 𝒁𝒒
and compute cP. cP is added to the query command Que for sensor node to confirm the
validity of the query command. It takes the following steps to achieve it
i. The node randomly choose d∈ 𝒁𝒒 and generate dP
ii. Compute sk = d(cP) as the session key between itself and the user Uj. Thus the node
can uses the key sk to encrypt require sensor data of Uj.
Subsequently, it uses SK to encrypt sensor data with symmetry encryption. At the same time,
it encrypts SK using public key encryption with Uj’s public key cP. Then, the node send the
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
281
encrypted sensor data to Uj with the private key c, only user is capable of decrypting the
session key SK and therefore recovering the original sensor data.
USER REVOCATION: The revocation takes the following steps. Let the value of Y be
(Y)old
1. TA broadcast Y1 = e(g1, g2)∆a
2. Each TA can calculate new value of Y as (Y) new = (Y) old Y1 = e (g1, g2) ∑a∑𝒁𝒒 𝑝𝟏 𝒂 .
The public parameter (Y) old is change to new (Y) new.
3. A new polynomial p[j]a(x)new is calculated for user Uj TA
P[j]a (x) old – pa+p1a
= p[j]a (x) old +∆a
Therefore,
p[j]a (0) new = p1a - ∑R ∑𝒎∈𝒁𝒒 {𝒂} 𝑹 [𝒋]𝒂𝒎
(3.10)
4. Each TA a∑ 𝒁𝒒 IS selectively broadcast the value of 𝒈𝟏 ∆𝒂 /𝒕𝒂,𝒊 = g1p[j]a (i) +∆a, while
i ∈ B[a] j, to each non revoke authorized users Uj.
The secret key is (SKa,i)new = (SKa,i)old𝒈𝟏 ∆𝒂 /𝒕𝒂,𝒊 for each attribute i ∈ B[a] j, and given to
users.
3.2
Classification or Users’ Grouping
The principle of Bell Lapudala model (Ogundele, 2011) which requires subject be given
access to the objects (an entity that contained information that is protected.) is adopted. The
groups are classified into two distinct classes: the subjects and the object.
Subjects Class: The ranking start from OF – 10 (top most rank) and goes towards OF – 1
which is the least. The category notations are:
𝑺𝟏 = { 𝑺𝑮 , 𝑺𝑳𝑮 , 𝑺𝑴𝒋𝒈 , 𝑺𝑩𝒓𝒈 }, 𝑺𝟐 ={𝑺𝒄𝒐𝒍 , 𝑺𝑳𝒄𝒐𝒍 , 𝑺𝑳𝒎𝒂𝒋 , 𝑺𝒄𝒑𝒕 , 𝑺𝑳𝒊𝒖𝒕 ,}, 𝑺𝟑 = { 𝑺𝟐𝒏𝒅 𝒍𝒊𝒆𝒖𝒕 , 𝑺𝒎𝒘𝒐 ,
𝑺𝒘𝒐𝒇 , 𝑺𝒔𝒔𝒈𝒕 , 𝑺𝒔𝒈𝒕 ,}, 𝑺𝟒 = {𝑺𝒓𝒐𝒇 , 𝑺𝒍𝒄𝒐𝒓𝒑 , 𝑺𝒄𝒐𝒓𝒑 }.
The subjects categories can be grouped together to form a general class given as: S= {𝑺𝟏 , 𝑺𝟐 ,
𝑺𝟑 , 𝑺4 , } in which 𝑺𝟏 ,> 𝑺𝟐 , > 𝑺𝟑 , > 𝑺𝟒 . This shows that group S1 is the highest ranking in the
classes of subjects, follow by the 𝑺𝟐 down to the least.
Object Class: They are encrypted information or data pre-deployed to all the nodes which
can be categories as follow O= {𝑶𝒕𝒔 , 𝑶𝒔 , 𝑶𝒄 , 𝑶𝐮𝒄 ,} where O stand for the object and the
subscripts are the security classification level ranging from top secret to the least i.e Top
secret (ts), Secret (s), Confidential (c) and Unclassified (uc).
Access Policy: The access policies are formed from the subject and the object class. Let the O
be a universal set and L1 to L4 be the level at which each subjects can operate in the network
as represented below:
𝑶𝑳𝟏 = {𝑶𝒕𝒔 , 𝑶𝐬 , 𝐎𝐜 , 𝐎𝐮𝐜 ,}, OL2 = {𝐎𝐬 , 𝐎𝐜 , 𝐎𝐮𝐜 ,}, OL3 = {𝐎𝐜 , Ouc }, OL4 = {Ouc }
In view of these, S1 → OL1 , S2 → OL2 , S3 → OL3 , S4 → OL4 , this means that for a subject to
be able to encrypt an object, the subject must belong to the group list pool that had register
with the network administrator based on their attribute possess.
Let Sn denotes all subjects class where (n ∈ {1, … , 4}) and Oy denotes all the object class Oy
where (y ∈ {ts, s, c, uc}). A direct mapping between the members of 𝑛 and 𝑦, this implies that
every member of 𝑛 takes a corresponding value of 𝑦. Thus, Sn combined with Oy gives:
Sn: Oy → S1 OL1 , Sn: Oy → S2 OL2 , Sn: Oy → S3 OL3 , Sn: Oy → S4 OL4
Therefore,
1 iff S⊂ S Oy ∈{1ts,2s,3c,4uc}
n Oy
A = {0 Iff S ⊄Sn
Where A is an access, S =subject, Sn = subject Class, Oy = Objects class
282
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
4
Results and discussion
User Authentication
The system was able to authenticate both the administration and the users using the back end
(Database) user authentication system. The authentication is done by comparing the user input
in the front end, process it at the middle layer, and then authenticate it in the database. If the
matching is correct by entering the right username and password, the system grants access.
Else access is denied.
Creating Account
Users enter their Username, e-mail, phone number, Password, Re-enter password, Full name
and Rank which generates access level automatically. In most cases the username might be
part of the user’s full name and in some cases it might be different from the user’s full name.
The essence of re-entering password is to ascertain the correctness of the password given.
In most cases the full name might be more than two names depending on the choice of the
user. Also, the ranking order assigned to users is different from one another depending on the
cadre of the personnel. These rank orders ranges from highest to the lowest in the military.
Each user is expected to have an accessible e-mail address that could be used to contact
personnel in case of any information that needs prompt action. An access level of each user
differs from one another as this could be used to differentiate a user that is assigned access
level from those that do not have. Another security measure is the user’s phone number which
is a unique identifier; these can as well be used to distinguish a user from others.
Uploading a File
On this part, Admin specifies or gives a description or the name of the locality where the data
is generated and also the type of officer or personnel that can view it. Access level is selected
which generates or assigns secret key to the file. The essence of these is to secure the
uploaded file from unauthorized user such that without the rightful secret key coupled with an
assigned access level, such user will not be able to deploy a file (confidentiality).
Accessing an Uploaded Files
Accessing an already uploaded file, a user needs to enter assigned secret key before download
of any files. Once the secret key is entered correctly, it compared with the stored secret keys
in the database, which will determine maybe access will be granted or not in order to
download any file. This security measure; secret key prevents unauthorized users from
accessing files in the database.
Performance Analysis
The performance analysis is evaluated using the following standard metrics namely:
execution time, energy consumption, and size of the key.
The execution time measures the duration of the operations performed by users during the
decryption and while querying a sensor data. The energy consumption estimates the energy
consume during the process and also considers eave-dropping because the propose system
work on a wireless network environment and it is necessary to consider intruders who may
want to hijack information transmitted on the wireless network and compromise its privacy.
The energy consumption is different from conventional wired and wireless networks, wireless
sensor networks have a major energy issue because most wireless sensors cannot be charged
after being deployed, and energy loss causes node failure and finally leads to entire network
failure. The energy problem is very complex. Many researchers proposed different ways to
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
283
reduce energy consumption as much as possible. However, an accurate measurement
of energy consumption remains a challenge to the work.
Users
Response time
(sec)
Size of the
data (KB)
User 1
User 2
User 3
User 4
User 5
User 6
User 7
User 8
5
10
12
15
20
25
30
35
10
20
30
40
50
60
70
80
Tab. 1. Response time for decryption. Source Authors.
Tab. 1, shows the chosen users from a group of sensor network during decryption period and
their response time being recorded. The size of a given key (ABE) is set to be 260 and 292
which is considered enough to secure the sensor data. The response time and the size of the
key (ABE) vary in length during decryption process.
Execution Time for Decrypting Sensor Data
Response Time (sec)
100
80
60
40
20
0
User 1 User 2 User 3 User 4 User 5 User 6 User 7 User 8
Response time (sec)
5
10
12
15
20
25
30
35
Size of the data (KB)
10
20
30
40
50
60
70
80
Fig 2. Execution time for Decryption in a Sensor Node. Source Authors.
Metrics
Proposed system
He et al (2011)
Execution time
Take a very short time to execute a given data
Takes a longer time
Energy
consumption
Unable to actualized the real total energy
consumption due to lack stable electricity
It actualize to an extent
Size of the key
260-bit and 292-bit (ABE)
160-bit and 192-bit (ECC)
Tab. 2. Summary of comparative analysis. Source Authors.
284
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
5
Conclusion
In this work, a fine grained data access control that enforces security controls and ensures data
accessibility only to authorized entity has been developed. The architecture address the
security challenges often encounters in a WSN especially in a mission-critical application.
Technology is a dynamic concept which is constantly changing and as it is changing, the
security measures should also change to keep up the standard. This system is easy to use,
secure and has an interactive user interface and can also be used for purpose of authentication,
limit of access privilege and user revocation for secure access into the system. It is therefore;
recommended that this research work should be adapted to different terrain of life such as
health institutions and government. The main challenge is the power consumption for
effective data delivery and also improve the bandwidth of WSN.
References
Alese B. K. (2000). Vulnerability Analysis of Encryption / Decryption Techniques of computer network
security. Master Thesis. Akure: Federal university of technology Akure.
Bhattacharyya, D., Kim T-h, & Pal, S. (2010). A Comparative Study of Wireless Sensor Networks
and Their Routing Protocols. Sensors, 10, 10506-10523. doi: 10.3390/s101210506
Buratti, C., Conti, A., Dardari, D., & Verdone, R. (2009). An overview on wireless sensor networks
technology and evolution. Sensors, 9(9), 6869-6896. doi: 10.3390/s90906869
Cook D. J. & Das S. (2004). Smart Environments: Technology, Protocols and Applications. New York:
John Wiley & Sons.
He, D., Bu, J., Zhu, S., Chan, S., & Chen, C. (2011). Distributed Access Control with privacy support
in wireless sensor networks. IEEE Transactions on Wireless Communications, 10(10),
3472-3481. doi: 10.1109/TWC.2011.072511.102283
Ferraiolo, D., Cugini, J., & Kuhn, R. (1995). Role Based Access Control: Features and Motivations.
In Proceedings of the Annual Computer Security Applications Conference, pp. 241-248, New
Orleans: IEEE Computer Society Press.
Hac, A. (2003). Wireless sensor network designs. Etobicoke: John Wiley & Sons.
Han, K. Kim, K. & Shon, T. (2010). Untraceable Mobile Node Authentication in WSN. Sensors, 10,
4410-4429. doi: 10.3390/s100504410
Shon, H. (2012), All-in-one CISSP Exam Guide. Emeryville: McGraw Hill Osborne.
Hill, J. L. (1998). System Architecture for Wireless Sensor Networks. Doctoral Dissertation. Berkeley:
University of California.
Lewis F. L. (2004). Wireless Sensor Networks. In D.J. Cook, S.K. Das (eds.), Smart Environments:
Technology, Protocols, and Applications. New York: John Wiley.
Li, M., Lou, W., & Ren, K. (2010). Data security and privacy in Wireless body area networks. IEEE
Wireless communications, 17(1), 51-58. doi: 10.1109/MWC.2010.5416350
Matthys, N., Afzal, R., Huygen, C., Michiels, S., Joosen, W., & Hughes, D. (2010). Toward Finegrained and application-centric Access control for wireless sensor networks. In Proceedings
of the 2010 ACM Symposium on Applied Computing (pp. 793-794). New York: ACM. doi:
10.1145/1774088.1774252
Nanda, A. (2003). Fine grained access control. International Oracle users group publication. Retrieved
from http://www.proligence.com/nyoug_fgac.pdf
Ogundele, O. S. (2011). Design of multilevel access control model for delegation based on attributes
separation of duty and trust. Master thesis. Akure: Federal University of Technology Akure.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
285
Pirretti, M., Traynor, P., McDaniel, P., & Waters, B. (2006). Secure Attribute-Based Systems.
In Proceedings of the 13th ACM conference on Computer and communications security
(pp. 99-112). doi: 10.1145/1180405.1180419
Shon, H. (2012). Cryptography. In CISSP All-in-One Exam Guide. New York: McGraw-Hill Education.
Sohraby, K., Minoli, D., & Znati, T. (2007). Wireless sensor networks: technology, protocols, and
applications. New York: Wiley.
Ruj, S., Nayak, & A. Stojmenovic, I. (2011). Distributed fine-grained Access control in Wireless
Sensor Networks. In IEEE International Parallel & Distributed Processing Symposium
(pp. 352 - 362). New York: IEEE. doi: 10.1109/IPDPS.2011.42
Tubaishat, M., & Madria, S. (2003). Sensor networks: an overview. IEEE Potentials, 22, 20-30.
Wayne, W. M. (2000). Wireless Sensor Network Topologies. Retrieved from
http://archives.sensorsmag.com/articles/0500/72/
Campete, S. A., & Yener, B. (2005). Key distribution mechanisms for wiles sensor networks:
a survey. Retrieved from https://www.cs.rpi.edu/research/pdf/05-07.pdf
Yu, S., Wenjing, L., Kui, R. (2006). FDAC: Toward fine-grained distributed data access control in
wireless sensor networks. IEEE Transactions on Parallel and Distributed Systems, 22(4),
673-686. doi: 10.1109/TPDS.2010.130
286
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
287
Acta Informatica Pragensia, 2015, 4(3): 288–301
DOI: 10.18267/j.aip.75
Peer-reviewed paper
Využitie komunikácie na báze zvuku
v distribúcii škodlivého softvéru
bez prístupu k sieťovým službám
Using of Sound-Based Communication in the Process
of Malware Distribution without Connectivity to Network Services
Ján Hurtuk*
Abstrakt
V dnešnej dobe, založenej na širokom spektre využívaných technických a výpočtových
zariadení, sa otvára široký priestor pre zneužitie slabých miest obsluhujúceho softvéru pre
deštrukčné alebo obohacujúce účely. Denne sú vyvíjané a nasadzované čoraz
sofistikovanejšie škodlivé softvéry umožňujúce ovládnutie napadnutého systému, alebo
zneužitie citlivých informácií, ktoré napadnutý systém uchováva. Jednu z neprebádaných
oblastí predstavujú neštandardné formy komunikácie takýchto softvérov, mimo sieťových
služieb, ktoré môžu do budúcna predstavovať za istých podmienok reálnu hrozbu. Tento
článok popisuje návrh a následnú implementáciu špeciálneho typu škodlivého softvéru,
ktorého komunikačná zložka je založená na IRC (Internet Relay Chat) a v prípade
nedostupnosti sieťového pripojenia zohľadňuje možnosti komunikovania infikovaných
počítačových systémov pomocou generovaných zvukových vĺn. Skúma jeho jednotlivé vetvy
správania sa, založené na pretrvávajúcich podmienkach, jeho slabé stránky, a v závere
poukazuje na najdôležitejšie ukazovatele efektivity jeho činnosti. Druhá časť článku sa venuje
experimentálnym metódam komunikácie prostredníctvom zvukových vĺn s kmitočtami mimo
počuteľné spektrum. V poslednej časti článku sú uvedené výsledky dotazníka, ktoré
jednoznačne poukazujú na rozšírené používanie zariadení potrebných na spustenie vetvy
vírusu, ktorá je úzko spojená s generovaním signálov za pomoci zvukových vĺn, a tým
poukazujú na hrozbu možného využitia podobne zameraných vírusov v reálnej prevádzke.
V závere je poukázané na fakt, že podobný druh škodlivého softvéru je za istých splnených
podmienok plne schopný fungovať v reálnej prevádzke.
Klíčová slova: Škodlivý software, komunikácia, experiment, zvukové vlny.
Abstract
Nowadays, in today’s society based on a wide range of the technical and computing devices,
it opens wide scope for misusing vulnerabilities of managing software, for destructive or
enriching purposes. Daily are developed and deployed increasingly sophisticated malicious
software, enabling the controlling of contested system or misusing sensitive information that
infected system stores. One of the yet unexplored areas represent non-standard forms
of communication used by such software, without access to network services, which could
in the future represent a real threat to certain conditions. This article describes the design and
*
Department of Computers and Informatics, Faculty of Electrical Engineering and Informatics,
Technical University of Košice, Letná 9, 042 00 Košice, Slovak Republic
 [email protected]
288
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
subsequent implementation of a special type of malicious software that communications
components are based on IRC (Internet Relay Chat) and in case of unavailability of the network
connection takes into account the possibility of communicating infected computer systems by
generating sound waves. It examines the various branches of behavior, based on ongoing
conditions, its weaknesses, and finally points out the most important indicators of the
effectiveness of its activities. The second part of the article is devoted to experimental methods
of communication using sound waves with frequencies outside the audible range. The last part
of the article presents the results of a questionnaire, which clearly point to the widespread use
of equipment needed to run the branches of the virus, which is closely associated with the
generation of signals with the help of sound waves, and thus point to the threat of the possible
use of similarly based viruses in real operation. In conclusion, it is pointed out to the fact that
a similar type of malware is fully usable under certain conditions, and it can be fully deployed
in real environment.
Keywords: Malware, Communication, Experiment, Sound waves.
1
Úvod do problematiky
Otázka škodlivého softvéru je v súčasnosti veľmi diskutovanou témou, a to pre užívateľov ako
aj pre samotných vývojárov alebo iných odborníkov v oblasti informačných technológií. Pokiaľ
ide o pokrok, prichádzajú čoraz sofistikovanejšie a viac efektívne spôsoby, ako vytvoriť
takzvaný exploit, a tým poškodiť používateľa. Tiež boj proti tomuto druhu trestnej činnosti je
veľmi náročný, z hľadiska časového i vedomostného, pretože, kým sa útočník sústredí len na
jeden konkrétny typ zraniteľnosti, spoločnosti zapojené do boja proti tejto trestnej činnosti
musia spravovať zabezpečenie mnohých súčastí rôznych systémov z hľadiska softvéru
i hardvéru.
Tento článok je pokračovaním výskumu z práce Hurtuk et. al (2015), opiera sa o dosiaľ
publikované znalosti a vrhá nové svetlo na túto tému, pričom poukazuje na väčší potenciálny
prístup k zneužívaniu všetkého druhu. Výsledok analýzy sa skladá zo základných bodov, ktoré
sú charakteristické pre každý resp. všeobecný model škodlivého softvéru a ich plnením by sa
mala zaručiť vysoká účinnosť a efektívnosť daných výsledných škodlivých operácií. Nastoľuje
otázku, ktorá stavia do popredia oblasť komunikácie, pričom je kontrola a oblasť riadenia
určená ako počiatočná podmienka a vyvodzovanie záverov je otázkou najvyššej priority.
Účelom tejto práce je teda vyvinúť nový spôsob komunikácie zložiek navrhovaného vírusu
založenej na neštandardnom prístupe za pomoci generovaného zvuku a za pomoci zariadení
bežne používaných v reálnej prevádzke. Z hľadiska operačných systémov ako testovacie
prostredie zvolený systém Windows, pre jeho všeobecné rozšírenie.
V snahe simulovať pôsobenie škodlivého softvéru a jeho šírenie bola implementovaná a do
programových jednotiek pridaná komunikácia medzi klientom a serverom, aby bolo možné
zvážiť účinnosť komunikácie za štandardných podmienok, z pohľadu útočníka. Ako ďalšie
možné modely boli zvažované témy spracovania a šírenia zvukového nízkofrekvenčného
signálu ako zdroja priameho útoku na používateľa.
2
Spoločné záchytné body správania sa škodlivého softvéru
Pôvodné počítačové vírusy a ďalší škodlivý softvér boli vyvinuté pre vysoko špecializované
sieťové aplikácie, ktoré sa neustále menia a ovplyvňujú vývoj ohľadom počítačovej
bezpečnosti. Samotná problematika škodlivých aplikácií je veľmi široká a autori týchto
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
289
aplikácií sú veľmi motivovaní v ich úsilí. Je tiež možné mnohých z nich klasifikovať ako časť
organizovanej skupiny. Stratégia pre útoky škodlivého softvéru sa vyvinula na natoľko odlišné
metódy, ktoré môžu byť popísané ako multi-procesné kroky, ktoré využívajú celý rad
systémových zraniteľností a tým je samotný škodlivý softvér zložený s niekoľkých
stupňujúcich sa koordinovaných útokov na firemné či iné siete, Schrittwieser a Katzenbeisser
(2011).
Medzi kľúčové spoločné kroky modernej stratégie útoku patria:

schopnosť infikovať cieľový systém,

schopnosť perzistencie,

komunikácia,

možnosť riadenia a kontroly.
Z predchádzajúcich viet je možné vyvodiť, že tvorba a využívanie vírusov, sa neustále vyvíja
smerom dopredu a neustále prináša nové hrozby a výzvy. Je možné tiež vidieť pravidlo, podľa
ktorého vírusy vytvorené pomocou pokročilých techník sú ťažko zistiteľné a sledovateľné. To
isté platí aj pre boj proti tejto hrozbe. Čím viac sofistikované a účinné metódy škodlivý softvér
používa, tým vyššie percento hrozieb nie je možné včas odhaliť.
Súčasný stav dnešnej problematiky vírusov je diametrálne odlišný od stavov v minulosti.
Škodlivý softvér slúži ako nástroj aktu zvaného kybernetická vojna. Je stále sofistikovanejší
a pokročilejší a nachádza sa na miestach, ktoré pred niekoľkými rokmi ešte neboli k dispozícii.
Preto je potrebné pochopiť a analyzovať ich rozvoj do stavu, ktorý nám umožní pochopiť
budúce generácie škodlivého softvéru a jeho orientáciu, analýzou existujúcich najrozšírenejších
hrozieb. Po preskúmaní vybraných vzoriek nastáva otázka, ako triediť a bojovať s vírusmi
v dnešnej dobe. Prihliadnuc na predchádzajúce zistenia, sa ako jedno z možných riešení ukazuje
použitie zariadení v zabezpečenej sieti, ktorá bude schopná (dočasne) znemožňovať alebo
obmedzovať aktivity vírusu tak, že autor nebude schopný vzorku riadiť, vírus nebude schopný
komunikovať s jeho kópiami v sieti, nebude schopný sa aktivovať alebo aktualizovať, a tým
prestane byť aktívny.
Analýza spoločných bodov životného cyklu
škodlivého softvéru
3
Z predchádzajúcich zistení je možné poukázať na niekoľko nedostatkov v životnom cykle
škodlivého softvéru na základe bližšieho pohľadu na štyri hlavné atribúty, ktoré charakterizujú
jeho činnosť: infekcia, perzistencia, komunikácia, riadenie a kontrola Hurtuk et al. (2014).
Schopnosť prieniku do systému
Táto funkcia je silno závislá na interakcii a činnosti používateľa, jej najsilnejším nástrojom je
takzvané sociálne inžinierstvo, ktorý využíva podiel ľudskej interakcie a človeka ako
najrizikovejší faktor ohľadom bezpečnosť. Podľa CSIRT (2014) je sociálne inžinierstvo druh
útoku využívajúci priamu interakciu s človekom za účelom vykonania určitej akcie (napr.
spustenie súboru), alebo získania určitých informácií. Sociálne inžinierstvo môže prebiehať
osobne alebo prostredníctvom prostriedkov komunikácie (telefón, mail...), alebo úpravou
prostredia (ako je opustenie médií na verejne prístupnom mieste).
290
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Perzistencia
Definuje schopnosť škodlivého softvéru byť videný operačným systémom, čo sa v danom
prípade rovná jeho neodhaleniu a tým a schopnosti zotrvania v danom hostiteľskom systéme.
Využíva pokročilé techniky a rôzne druhy slabých miest umožňujúcich priamy zásah do
systému a jeho častí.
Komunikácia
Snahou komunikácie je zabezpečiť, aby sa informácie získané od obetí dostali späť
k útočníkovi. V prípade, že komunikácia neprebieha, činnosť útočníka je zameraná iba na
samotné poškodenie systému alebo zneužitie jeho súčastí v rámci krokov komplexnejšieho
útoku Vokorokos et al. (2014).
Kontrola a manažment
Ide o jeden z najviac kritických bodov. Dôvodom je, že hoci je škodlivý softvér schopný
úspešne sa rozšíriť a skryť v systéme, ale nie je možné riadiť ho, veľmi rýchlo sa stáva
nekontrolovateľný a ľahko detekovateľný a neschopný ďalšej činnosti. Z pohľadu útočníka
musí existovať forma kontroly nad jeho činnosťou, najmä ak ide o vyspelejšie vírusy, kde môže
akcia byť variabilná v závislosti na infikovanom systéme a jeho ochranách. Strata kontroly
môže teda viesť k plytvaniu útočníkových zdrojov, alebo v prípade, že je softvér zameraný na
zber dát, stratu a znehodnotenie celých blokov údajov potrebných pre ďalšiu činnosť. Existuje
mnoho rôznych možností pre komunikáciu, ktoré útočník môže využiť vo svoj prospech. Pre
zvýšenie úspešnosti daného škodlivého softvéru je z hľadiska útočníka potrebné zaviesť
opatrenia na zlepšenie vytrvalosti, optimalizovať kód a implementovať polymorfizmus, Ennert
et al. (2014) alebo založiť útok na niekoľkých spolu prepojených a spolupracujúcich vírusových
vzorkách a použiť pokročilé techniky, ako je sociálne inžinierstvo a inžinierstvo sociálnych
sietí.
Je však nevyhnutné nastoliť otázku, čo v prípade odpojenia sa používateľa zo siete. Z pohľadu
útočníka je preto vhodné pokúsiť sa nájsť nový spôsob komunikácie medzi zariadeniami, ktorý
bude schopný zastúpiť konvenčné metódy ak tie konvenčné nebudú k dispozícii. Jedným
z takýchto návrhov je jednosmerná komunikácia tranzitného zvukového vysielania a jeho
následnej analýzy, ktorá bude opísaná v nasledujúcich kapitolách.
3.1
Výhody a nevýhody jednosmernej komunikácie
Aby bolo možné používať zvuk pre účely komunikácie škodlivého softvéru, je potrebné
stanoviť kľúčové faktory ovplyvňujúce komunikáciu. Jedná sa o:




Aký druh komunikácie sa použije (centralizovaná / P2P),
V akom zvukovom spektre bude komunikácia prebiehať,
Ako budú signály dekódovať a prekladať potrebné inštrukcie,
Aký bude dopad a využitie tohto druhu komunikácie a jeho obmedzenia.
Najväčším obmedzením jednosmernej komunikácie je, že je schopná len prijímať pokyny a nie
je schopná potvrdiť príjem inštrukcií, čo značne obmedzuje jej spoľahlivosť. Vytvorenie
spätnej väzby by bolo možné, ale v takom prípade by bolo potrebné pracovať s presne
časovanou formou komunikácie alebo nájsť vhodnejšiu alternatívu kódovania a vysielacích
frekvencií. Rovnako je pri bližšom skúmaní možné naraziť na hardvérové obmedzenia týkajúce
sa pripojeného mikrofónu, ktorým musí byť prijímajúce zariadenie vybavené.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
291
Návrh komunikačnej schémy nového
typu škodlivého softvéru
4
Zmysel operácie spočíva v nekonečnej slučke, ktorá je prvým krokom funkcionality škodlivého
softvéru v danom zariadení. Najskôr sa overí pripojenie k internetu, prípadne so serverom
C & C (command-and-control server). V prípade možnosti takéhoto pripojenia by do
navrhovaného vírusu mala byť pripojená riadiaca inštrukcia pre túto operáciu. Následne sú
vykonávané inštrukcie, ktoré pochádzajú buď zo správcovského kanála, alebo pasívne čakajú
na príjem ich riadiacej inštrukcie mimo počuteľné rozmedzie. Následne prebehne aktualizácia
niekoľkých súčastí ako aktualizácia zdrojového kódu (jednoduchý polymorfizmus).
C&C server
Predstavuje centralizovaný počítač, ktorý je špeciálne nastavený na kontrolu a rozdeľovanie
príkazov pre vírusové vzorky pasívne sediace v infikovanom prostredí, tzv. zombies. Tie
s vonkajším prostredím komunikujú pomocou utajovaných kanálov na základe protokolu IRC
(vytvorených napr. trójskym koňom).
IRC protocol
Je protokol aplikačnej vrstvy, ktorý umožňuje komunikáciu vo forme textu. Pracuje systémom
na sieťovom modeli klient / server. IRC klienti predstavujú počítačové programy, ktoré je
možné nainštalovať v danom systéme. Klienti komunikujú so serverom, ktorý následne
distribuuje správy cieľovej stanici. IRC je určený predovšetkým pre skupinovú komunikáciu
ale umožňuje i one-on-one komunikáciu prostredníctvom súkromných správ vo forme chatu
a taktiež prenos dát, vrátane zdieľania súborov.
IRC komunikácia
Tento typ komunikácie je základným typom komunikácie so správou servera C & C, kde sa
vírus prikladá ku konkrétnemu IRC kanálu a odtiaľ "číta" komunikáciu a funguje ako bežný
používateľ Vokorokos et al. (2012). Okrem toho, však prekladá inštrukcie, ktoré riadia jeho
činnosť. Je dôležité zároveň zabezpečiť, aby komunikácia pomocou IRC prebiehala na
základoch vzorovej dokumentácie IRC podľa CSIRT (2014) pre správne spracovanie
prichádzajúcich správ a správne formátovanie odchádzajúcich správ. Priebeh komunikácie
ilustruje Obr.1.
292
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Obr. 1. Priebeh IRC komunikácie. Zdroj: Autor
Uskutočnenie vetvy využívajúcej zvuk a jeho preklad na inštrukcie
Základné rutiny prekladu inštrukcií závisia na vyššie uvedených skutočnostiach, a teda straty
prístupu k sieti a neschopnosti komunikácie so serverom pre správu, čo znemožňuje fungovanie
celého modelu. V tejto štúdií sa spomínaný problém obchádza pomocou inicializácie bloku
vedenia kódu pomocou zvuku Vokorokos et al. (2015). Spiace inštrukcie čakajú v tzv. spúšťacej
fáze, ktorá môže niesť určitý časový interval vypnutia, časovú pečiatku, alebo byť spustená
mimoriadnou udalosťou v systéme. Dekódovanie sa skladá z odfiltrovania zvukových vĺn,
ktorých škála nespadá do rozsahu definovaným v danom bloku. Spracovanie by malo byť
schopné počítať s hlukom, disperziou a skreslením. Výsledný interval teda nie je filtrovaný iba
ako zvuk priamo zodpovedajúci 16kHz, ale ponecháva zvuk v rozmedzí 15,5 - 16,5 kHz. Po
filtrácii sa do istej miery určuje doba trvania každej sekvencie, ktorá priamo zodpovedá ako
kľúč inštrukcie v strome inštrukcií. Kľúče inštrukcií sú v strome definované ako približné
hodnoty a teda ako intervaly. Výsledný preklad inštrukcií je tiež závislý na nastavení zvukovej
karty, kvalite zvuku prijímaného mikrofónom a vzorkovacej frekvencii. Schematicky
to znázorňuje Obr.2.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
293
Obr. 2. Preklad zvuku na inštrukcie. Zdroj: Autor
Po odfiltrovaní nepotrebného rozsahu sa zistí dĺžka trvania jednotlivých sekvencií, poprípade
trvanie jednej konkrétnej z nich a tej sa na základe jej dĺžky priradí jej kód pre konkrétnu
inštrukciu v strome. Do algoritmu sú zahrnuté aj odchýlky a preto sa pri čase, pre ktorý sa
priradí konkrétna inštrukcia uvažuje len o približných hodnotách. Výsledný preklad inštrukcie
závisí aj od nastavenia zvukovej karty, kde si používateľ mení nastavanie kvality a vzorkovacej
frekvencie a taktiež od nastavenia mikrofónu, ktorý zvuk nahráva.
Zvukový broadcast
Zvukové vysielanie prebieha nasledovne. Nastaví počet iterácií vysielania, t.j. počet signálov,
ktoré sú prenášané. Nastavuje frekvenciu, pri ktorej sa bude vysielať. Potom nastaví dĺžku, t.j.
kľúč kódu pre každú iteráciu, tzn. signál pre každú inštrukciu. Potom sa zisťuje, či je
k dispozícii hardvérovo vstavaný reproduktor na základnej doske zariadenia, pokiaľ nie je, je
možné vysielať za pomoci externých reproduktorov. Tu sa nerozlišuje medzi reproduktormi
pripojenými cez konektor, alebo reproduktormi vstavanými do notebooku. Výber možností
prehrávacieho zariadenia ilustruje Obr.3.
294
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Obr. 3. Výber možnosti prehrávacieho zariadenia. Zdroj: Autor
Funkcia prechodu stromom inštrukcií definovaných pre zvuk
Strom inštrukcií je strom, ktorý nám umožňuje, ako už bolo spomínane spúšťať nielen
konkrétne inštrukcie, ale aj celé vetvy inštrukcií. Obsahuje inštrukcie, sú vopred dané, nemenné
a opakujúce sa. Strom znázorňuje Obr.4. Spúšťanie jednotlivých inštrukcií bolo popísané
v predošlých kapitolách. Avšak je nutné poznamenať, že daný strom inštrukcií umožňuje pre
inštrukciu 2 spustiť celý pod strom inštrukcií a tieto sa vykonávajú v poradí zhora nadol od
ľavej vetvy k pravej. Pre konkrétny strom z Obr.4 je definované poradie vykonávania
ilustrované na Obr.5.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
295
Obr. 4. Prechodový inštrukčný strom. Zdroj: Autor
Obr. 5. Poradie vykonania inštrukcií pre strom z Obr.4. Zdroj: Autor
Hrubo zvýraznené sú body, kde sa tento strom vetví a kam prechádza riadenie vykonávania
z ľavej vetvy do pravej. V programe sa toto správanie odrazí ako interpretácia pomenovaného
stromu, ktorý si stále zachováva informáciu o aktuálnom umiestnení, o pôvodnom znení
inštrukcie a o budúcom smerovaní, pre každý list.
Analýza zvuku a filtrovanie konkrétnych frekvencií
Pre tento krok spracovávania je nutné zachytený zvuk s inštrukciami mimo počuteľné spektrum
spracovať tak, aby bolo možné zistiť aký dlhý úsek, poprípade koľko tých úsekov sa nachádza
v zachytenej vzorke. Na dosiahnutie tohto výsledku sa využívajú filtre s priepustnosťou
v nízkych, vysokých frekvencii a s priepustnosťou v bežnom pásme. Pre účely tejto práce je
najvhodnejšie využiť vysokofrekvenčný filter, ktorý prepúšťa nami požadovanú výšku zvuku
a všetko pod touto hranicou zahodí. Pre túto zmenu v zvukovej vzorke sa používa diskrétna
296
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Furierová transformácia, ktorá spracováva signál v závislosti od času. Na spracovanie signálu
bolo využitá knižnica FIR-filter, ktorej dokumentácia a použitie je podrobne zdokumentovaná
Perkins (2013).
Využitie oligomorfizmu
V tomto príklade sa jedná o pseudonáhodné generovanie inštrukcií, ktoré vykonajú totožnú,
poprípade takmer zhodnú činnosť. Pre ilustráciu je uvedený diagram tejto funkcie a jednotlivé
inštrukcie s vysvetlením, Obr.6.
Obr. 6. Náhodné rozhodovanie pre oligomorfické inštrukcie. Zdroj: Autor
Využité príkazy aj ich alternatívy sa nachádzajú v Tab. 1. Tieto príkazy slúžia pre ilustráciu
škodlivej činnosti. V tabuľke sa nachádza aj popis ich činnosti.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
297
Príkaz
Vysvetlenie
Alternatíva príkazu Vysvetlenie
DEL /F *.dll
Vymazanie
všetkých
dostupných dll súborov z
disku.
Príznak
/F
umožňuje
zmazanie
súborov určených len pre
čítanie.
DEL /a:R *.dll
SHUTDOWN /s /t /d
P:2:17
Vypnutie počítača s
nastavenými príznakmi
na upozornenie o vypnutí,
na prednastavený čas
vypnutia do 30s, a s
výpisom
chybového
hlásenia o plánovanom
vypnutí.
SHUTDOWN
P:2:17
Beep (16000, 2)
Funkcia pre vysielanie
zvukového signálu ktorá
ako parameter berie
frekvenciu a čas.
Beep (0x3E80, 2)
Vymazanie
všetkých
dostupných dll súborov
určených na čítanie.
Vymazanie ostatných dll
súborov
DEL *.dll
/f
/d
Okamžité
vypnutie
počítača s rovnakým
chybovým
hlásením,
avšak bez odloženia a
oznámenia.
Tá istá funkcia, avšak
parameter frekvencie je
prerátaný do sústavy so
základom 16.
Tab. 1. Ilustratívny príklad škodlivé činnosti. Zdroj: Autor
Analýza podmienok nasadenia prezentovaného modelu
v reálnej prevádzke
5
Jednou zo zásadných podmienok využitia špeciálnych vlastností vyššie navrhovanej schémy je
prítomnosť zariadení schopných emitovať a prijímať kódované signály v podobe zvukových
vĺn. Zistenia sú prezentované dotazníkom, na ktorý odpovedalo 190 respondentov. Dokazovaní
boli vysokoškolskí študenti, pričom pri vypĺňaní bol uvedený ako predmet dotazníka prieskum
o počte vlastnených a využívaných multimediálnych zariadení a technológií s nimi spojených.
Jednotlivé podkapitoly zodpovedajú položeným otázkam.
Aké typy zariadení a koľko kusov vlastní domácnosť v ktorej žijete?
Z odpovedí vyplýva, že na jedného užívateľa, teda potenciálnu obeť pripadá viac ako jedno
zariadenie v domácnosti. Toto zistenie je zásadné, keďže ako obmedzenie pre fungovanie
vírusu je nutnosť vlastniť aspoň dva zariadenia, poprípade mať dva zariadenia pripojené
zároveň. Výsledky reprezentuje Obr. 7.
298
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
15
Other
187
Notebook/ Netbook
Stolné PC
79
0
37
74
111
148
185
222
Obr. 7. Graf výsledkov otázky: Aké typy zariadení a koľko kusov vlastní domácnosť v ktorej žijete?
Zdroj: Autor
Aké príslušenstvo vlastníte k svojmu zariadeniu?
Zistením vyplývajúcim z týchto odpovedí je jednoznačná odpoveď na otázku, či je v bežnej
domácnosti možné danú komunikáciu, ktorej obmedzením je vlastníctvo nahrávacieho
a prehrávacieho zariadenia, uskutočniť. S príchodom nových technológií sa zariadenia ako
mikrofón a reproduktory, či slúchadlá stali samozrejmosťou vo veľkom počte prípadov. Taktiež
z tohto prieskumu vyplýva, že aj užívatelia so stolným počítačom, ktorý neobsahuje vstavaný
mikrofón a reproduktory majú potenciál na to, aby sa stali buď vysielačom alebo prijímačom
pri komunikácii toho vírusu. Výsledky reprezentuje Obr.8.
Other
18
Stačia mi vstavané zariadenia
54
Slúchadlá s mikrofónom
68
Mikrofón
43
Slúchadlá
140
Externé reproduktory
127
0
28
56
84
112
140
168
Obr. 8. Výsledky odpovedí otázky: Aké príslušenstvo vlastníte k svojmu zariadeniu? Zdroj: Autor
Aký druh mikrofónu pripojený k počítaču?
Pri zodpovedaní tejto otázky je možné vidieť, že využívanie nahrávacích zariadení je pomerne
rozšírené. Podľa dotazníka 95% opýtaných používa mikrofón. Pričom pre naše potreby, kedy
je najvhodnejšie využívať mikrofón vstavaný, či prípadne mikrofón je pripojený neustále je to
až 54%. Možnosť, ktorú zaškrtlo 5% opýtaných zhruba zodpovedá možnosti, kedy nie je
využívaný mikrofón. Výsledok odpovedí na túto otázku ukazuje, že použitie mikrofónu ako
nahrávacieho zariadenia je vo všeobecnosti rozšírené, čo je pre potreby fungovania vírusu viac
než dostačujúce. Výsledky reprezentuje Obrázok 9.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
299
Other; 6; 5%
Externý
mikrofón;
54; 41%
Mám
vstavaný; 70;
54%
Obr. 9. Výsledky odpovedí otázky: Aký druh mikrofónu pripojený k počítaču? Zdroj: Autor
Považujeme za smerodajné, že vybraná vzorka respondentov pre tento dotazník bola dostatočná
a taktiež aj na základe zistení je možné tvrdiť, že tieto zistenia dostatočne odrážajú aktuálnu
situáciu, ktorá bola očakávaná. Vďaka zisteným informáciám je taktiež možné potvrdiť, že
navrhnutý spôsob komunikácie bude nielen realizovateľný, ale taktiež v mnohých prípadoch aj
veľmi efektívny.
Zhodnotenie navrhovaného riešenia
6
Navrhnuté riešenie pre komunikáciu zvukovými vlnami medzi jednotlivými zariadeniami
nakazenými týmto druhom vírusu by za predpokladu, že výsledky z dotazníka je možné brať
ako reprezentatívnu vzorku, sa ukázalo ako veľmi výhodné. Je možné ho teda považovať za
správnu alternatívu ku komunikácii cez internetovú sieť.
V prípade reálneho nasadenia do prevádzky, teda za predpokladu schopnosti nakaziť väčšiu
homogénnu oblasť tak, aby bolo možné ďalšie šírenie, máme za to, že takýto vírus by bol
úspešný a dokázal reálne prežiť v bežnom užívateľskom prostredí. Výsledky, ktoré sme sa
snažili dosiahnuť by sa dali zhrnúť v nasledujúcich bodov:



Zabezpečiť komunikáciu zvukovými vlnami mimo počuteľné spektrum,
Zabezpečiť základnú funkcionalitu vírusu,
Využiť pokročilé techniky ako polymorfizmus, poprípade jemu podobné.
Ďalšie smerovanie výskumu
Ďalšie smerovanie výskumu by sa dalo zhrnúť do niekoľkých krokov:





300
Nasadenie prezentovanej schémy do prostredia obsahujúceho viac ako dva počítačové
systémy,
Zameranie sa na viac komplexnejšie inštrukcie, resp. bloky inštrukcií a ich preklad do
zvukových vzoriek,
Implementácia vzorky do menej homogénneho prostredia,
Skúmanie správania sa vzorky v prípade hlučného prostredia,
Implementácia interaktívnej komunikácie pomocou zvuku so štandardnými formami
sieťovej komunikácie s cieľom zmenšiť frekvenciu posielania správ pomocou
sieťových kanálov, čo bude mať za následok vyššiu schopnosť perzistencie
prezentovanej vzorky.
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
7
Záver
Navrhnuté riešenie pre komunikáciu za pomoci zvukových vĺn medzi zariadeniami,
infikovanými týmto typom vírusu, môže byť považované za alternatívu ku komunikácii
prostredníctvom siete Internet. Táto analýza a následný návrh týmto poukazuje na možné
spôsoby a cesty vývoja škodlivého softvéru a tým otvára témy možnej ochrany proti podobne
orientovaným schémam. V prípade reálneho nasadenia v prevádzke, za splnenia potrebných
podmienok, by sa takýto vírus by bol schopný úspešne rozšíriť a mohol by prežiť v súčasnom
používateľskom prostredí.
Zaujímavým zistením pri spracovaní problematiky audio frekvencie mimo rozsah ľudského
vnímania bolo to, že pri použití vlny v spodnej hranici sluchovej počuteľnosti, ktorá patrí do
infrazvuku, môže spôsobiť fyziologické zmeny vo fungovaní ľudského tela vrátane
psychických problémov. Jedná sa o zvuk o vlnovej dĺžke 20 Hz a pod. V tomto prípade je však
nutné dlhodobé pôsobenie na ľudský organizmus. Žiaran (2013), skúma vplyv rutinných
zvukov podobných zvukom z otvoreného okna v aute pri jazde a ich podiel na zmenách vo
fyziológii. Najznámejšie efekty hluku na ľudské telo zahŕňajú vplyv hluku na krvný tlak
a v dlhodobom efekte následnej tvorby hypertenzie (t.j. zvýšenie krvného tlaku), ktoré sa môžu
vyvinúť do chronických problémov. Žiaran vychádza z akustického tlaku, ktorý vzniká
v dôsledku šumu, a pre každú hodnotu popisuje úroveň poškodenia, ktorá vplýva priamo na
srdce. Hluk spôsobený nízkou frekvenciou má oveľa väčší vplyv než hluk na stredných a
vysokých frekvenciách. So znižujúcou sa intenzitou nízkofrekvenčného zvuku úmerne stúpa
čas nevyhnutný na dosiahnutie fyziologických zmien.
Zoznam použitej literatúry
CSIRT. (2014). Retrieved from https://www.csirt.org
Ennert, M., Madoš, B. & Dudláková, Z. (2014). Data visualization of network security.
Acta Electrotechnica et Informatica, 14(4), 62-65. doi: 10.15546/aeei-2014-0034
Hurtuk, J., Copjak, M., Dufala, M., & Drienik, P. (2014). The malicious code hiding techniques, code
obfuscation problem. In Proceedings of the 12th IEEE International Conference on Emerging
eLearning Technologies and Applications (pp. 181-185). New York: IEEE. doi:
10.1109/ICETA.2014.7107581
Hurtuk, J., Madoš, B. & Halčín, Š. (2015). Sound-Based Communication in the Process of Malware
Distribution. Acta Electrotechnica et Informatica, 15(2), 62-65. doi: 10.15546/aeei-2015-0020
Perkins, M. (2013). Retrieved from http://www.cardinalpeak.com/blog/a-c-class-to-implement-lowpass-high-pass-and-band-pass-filters
Schrittwieser, S., & Katzenbeisser, S. (2011). Code Obfuscation against Static and Dynamic
Reverse Engineering. In Proceedings of the 13th International Conference on Information Hiding
(pp. 270-284). doi: 10.1007/978-3-642-24178-9_19
Vokorokos, L., Baláž, A., & Madoš, B. (2012). Intrusion Detection Architecture Utilizing Graphics
Processors. Acta Informatica Pragensia, 1(1), 50-59. doi: 10.18267/j.aip.5
Vokorokos, L., Hurtuk, J., & Madoš, B. (2014). Malware categorization and recognition problem. In
Proceedings of the 18th IEEE International Conference on Intelligent Engineering Systems (pp.
105-108). New York: IEEE. doi: 10.1109/INES.2014.6909350
Vokorokos, L., Baláž, A., & Madoš, B. (2015). Application Security through Sandbox Virtualization.
Acta Polytechnica Hungarica, 12(1), 83-101.
Žiaran, S. (2013). Low Frequency Noise and Its Assessment and Evaluation. Archives of Acoustics,
38(2), 265–270. doi: 10.2478/aoa-2013-0032
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
301
Acta Informatica Pragensia, 2015, 4(3): 302–309
DOI: 10.18267/j.aip.76
Peer-reviewed paper
Verifiable Distribution of Material
Goods Based on Cryptology
Radomír Palovský*
Abstract
Counterfeiting of material goods is a general problem. In this paper an architecture for
verifiable distribution of material goods is presented. This distribution is based on printing
such a QR code on goods, which would contain digitally signed serial number of the product,
and validity of this digital signature could be verifiable by a customer. Extension consisting
of adding digital signatures to revenue stamps used for state-controlled goods is also
presented. Discussion on possibilities in making copies leads to conclusion that
cryptographic security needs to be completed by technical difficulties of copying.
Keywords: Digital signature, Verifiable distribution, Material goods, QR code,
Revenue stamp.
1
Introduction
Distribution of consumer goods in a real world suffers from counterfeiting of desirable brands
or of goods in state-controlled licensed flow, mostly with an excise tax. Many organizational,
repressive law enforcement methods are used to reduce amount of counterfeiting. In this
paper, I present a method based on cryptography which is able to provide customers with
sufficient certainty about the producer of this particular item.
The problem of proving the authorship of the document was dealt with in the eighties. (Baker
& Hurst, 1998) Various methods of digital signatures have been developed as a solution.
(Smid & Branstad, 1993) (Schneier, 2007), (Pfitzmann, 1996) These methods change natural
uncertainty about who the creator of the document is, in situation when anybody can imitate
anything at almost zero cost, to a pretty sureness about the authorship of the digitally signed
document. During the years digital signature became real equivalent of handwritten signature
and is widely accepted not only as a proof of communication between persons or businesses
but also as a proof of communication between the state and some other subject. In particular,
Czech Republic approved Law on digital signature in 2000, and soon after that papers were
written about how digital signature would change our businesses (Hrubý & Mokoš, 2001)
or document processing (Tvrdíková, 2003).
I would like to propose, that the same principles that lead to the acceptance of digital
signatures in the digital world, can be used in the material world, where material goods are
being distributed. A digitally signed document consists of two parts. One part is the document
itself. The second part is digitally signed hash of the document. Hashing of documents
*
Department of Information and Knowledge Engineering, Faculty of Informatics and Statistics,
University of Economics, Prague, nám. W. Churchilla 4, 130 67 Praha 3, Czech Republic
 [email protected]
302
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
changes a document of an arbitrary length to a hash value of a fixed length and signing of the
hash clearly and indisputably declares the author of document. There is no strict constraint on
the length of the digital signature. Usually, this is only a fraction of the document's length,
and in practice, adding to the length makes not a problem. This paper does not mention legal
aspects of digital signing of material goods, only the technical architecture is presented.
2
Signing of a material goods
Usage of cryptography for signing the goods in the material world is quite different. There
is some information, which producers of goods individually print on labels of consumer
goods, but amount of this information is quite limited. Examples of such are serial numbers of
electric appliances or “used by date” of food. Digital signature of material goods would be
something different then simple human readable information. At first, it would not be
verifiable without technical equipment, so the signature needs to be a machine readable code.
Second, amount of information must be much greater than simple serial numbers or human
readable date, so we need to effectively put a lot of data in a small area.
One very good machine-readable code with high space efficiency is QR code, designed for
the automotive industry in Japan and later adopted as the ISO/IEC 18004:2000 standard and
revised as the ISO/IEC 18004:2006 standard. (ISO 18004, 2006) Possible resolution and
formats of QR codes have many variants and the codes are able to store information till 2933
8bit bytes in its largest version (Version 40) and lowest ECC correction level (Level L).
Fig. 1. An example of QR code. Source: Author.
Information which could be signed is the unique serial number, which is assigned to each
particular product item. The serial numbers used on products are usually short numbers, from
cryptographic point of view. They usually consist of 10 or less digital numbers and of some
letters, mostly less than 4. That makes less than 35 bits of entropy. We can enlarge the
entropy of signed information by concatenating the human readable serial number with
a random number. A full length of the signed message should be greater than desired security
level; this level for short term use is recommended as 80 bits.
An algorithm recommended for digital signature should be of very good efficiency of security
against the signature length. One of the best signatures is Boneh Lynn Shacham signature
scheme (Boneh, Lynn, & Shacham, 2004). BLS has signature length 2 times security length.
That means, if we need 80 bits security (at present security level, which is sufficient for shortterm safety) a BLS signature will be of 160 bits length. Moreover, the BLS signature scheme
is provably secure in the random oracle model and there has been quite a lot of its
cryptanalysis in models without random oracle, since its invention (Zhang et al., 2011),
(Boneh & Boyen, 2004). The comparison of a signature length of BLS, DSS and RSA provide
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
303
Zhang (Zhang et al., 2011) and it is BLS - 160 bit, DSS - 320 bits and RSA - 1024 bits.
The main drawback of BLS scheme is the fact, that not every system uses it.
Next best, with respect to the efficiency against the signature length, currently used algorithm
is the elliptic curve digital signature algorithm (ECDSA) (Johnson, Menezes, & Vanstone,
2001). Precisely, the signature length is the same as in case of ordinary DSS for the same
security, but the ECDSA has shorter keys. It was accepted in 1999 as an ANSI standard, and
was accepted in 2000 as IEEE and NIST standards. It was also accepted in 1998 as an ISO
standard. Unlike an algorithm based on the ordinary discrete logarithm problem and the
integer factorization problem, no sub exponential time solution is known for the elliptic curve
discrete logarithm problem.
3
Distribution of certificates
A digital signature alone is not enough. We need a proof that the public key for the digital
signature belongs to the subject which claim is ownership. The certificate is such a proof; it is
the public key together with ownership information digitally signed by a certification
authority. But the certificate is a quite large object for small area on QR code. Encoding
a certificate into limited space of the QR code will consume lot of (perhaps all) available
bytes. The certificates scheme X.509 was not designed with space efficiency in mind. But we
need the certificate to prove that digital signature is really issued by the trustworthy signer.
So, when there is not enough space for the certificate and certainly not for the chain
of certificates, a solution can be not to include any certificate at all. The certificate would be
accessed on-line on demand of the verifier. Instead of the certificate, only a certificate URI
will be included in the physical signature.. We need to use binary mode to store URI as the
alphanumerical mode of QR codes is only for numbers and letter in one case, no mixed case is
possible. As URI is of quite small information density we can think of some compression e.g.
LZW compression before storing into QR code.
Fig. 2. A simple signature. Source: Author.
4
Trusted timestamping
The digital signature scheme described above is fully dependent on the goods producer
reliability. We can enhance the scheme in the way that a trusted third party would digitally
sign SN. Such third party could provide not only a verified digital signature but also a trusted
timestamp if acting as Time Stamping Authority (TSA). Standards providing reliable
timestamping are Internet X. 509 public key infrastructure timestamp protocol described in
RFC 3161 (Adams et al., 2001), ANSI X9.95-2012 standard and ISO/IEC 18014: Information
technology-security techniques time stamping services (ISO 18014, 2008). We can use any of
the time stamping schemes mentioned above as we need only a basic time stamping service.
304
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
In such a case QR code on material goods would provide not only a verification of goods
producer but also a partially verified time of production. Why only “partially”? The time
stamps for digital goods can ensure that these digital goods existed before the stamped time.
In the case of material goods, the situation is not so simple. Formally, the time stamp ensures
that the digital serial number existed before the stamped time, but it is not a claim about the
existence a material goods. However, we can claim that if the QR code containing signature
and time stamp is an integral part of the product i.e. printed on its surface before the last clear
coat is applied, the material goods were produced after the stamped time. If the QR code was
printed on a label and affixed to a product, we could claim that the printing and affixing of the
label took place after the stamped time, but the sequence of production and time stamping
would be not known.
Fig. 3. A signature with a time stamp. Source: Author.
5
The distribution scheme with a revenue stamp
Distribution of some goods is state-controlled, mainly it involves alcohol and tobacco
products, but this can be easily extended to other goods. The state control is carried out by
distribution of stamps (revenue stamps) which the product must be labeled with. Since
December 12, 2013, the revenue stamps for alcohol in Czech Republic should have serial
numbers not only printed in a human readable format but also in computer readable QR code.
Such configuration makes it possible to sign the serial number generated for the product by
the producer, and also to sign the serial number of the stamp. The producer needs to read the
QR code printed on stamp (the stamp number), to generate his own serial number, possibly
obtain time stamp for his serial number and to collect all the information. Finally, he needs to
add the digitally signature of all collected data, transform this to QR code and print it on the
product.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
305
Fig. 4. A signature with a time stamp and a serial number from a revenue stamp. Source: Author.
6
Verification
The digital signature of material goods could be verified by any customer having
a smartphone. Nowadays, every smartphone is equipped with a digital camera and also a QR
reader application is available for all major mobile OS. In case of a plain signature, the QR
code will contain the serial number, the digital signature and a link to the public key
certificate. A verifying application will download the certificate, verify its validity and verify
the digital signature from the QR code with the public key from the certificate.
Fig. 5. A verification of the simple signature. Source: Author.
306
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
In case of digital signature with time stamp, the verification will be quite similar. The verifier
will check the same information as in the basic model and moreover will check the validity of
the time stamp.
Fig. 6. A verification of the signature with the time stamp. Source: Author.
The verification of state controlled distribution of goods will need a little more checking. First
of all, the verifier needs to scan both QR codes – the code from the revenue stamp and the
main code containing digital signature and the other. After that, the stamp number must be
extracted from the digital signature QR code and checked if it is equal to number of the
revenue stamp. Then the validity of digital signature will be verified in the same process as in
the previous simpler situation.
Fig. 7. A verification of the signature with the revenue code and time stamp. Source: Author.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
307
7
Discussion and limitations of the architecture
When a digital message with a digital sign is copied, the result is the same message as the
original and it carries the same information. Both, the original and the replica provide the
message as well as a proof of the authorship of the message, and they are indistinguishable.
A replica of a material item always creates a new item and, contrary to the digital world, the
replica is not “the same indistinguishable item”. From a cryptographical point of view if the
counterfeiter exactly copies the original with all dots of the QR code, the replica will be
cryptographically valid. But that is the case with all verification signatures. The authenticity
of the signature must be furthermore supported by technical difficulties in creating a copy.
A banknote is a typical example of an item in the material world with many features
preventing from copying. A revenue stamp is a simpler example, with fewer features.
A digital signature of material goods can't prevent from counterfeiting by itself. The signing
needs to be materialized by means technically difficult to be copied. One of such methods was
described in part 5 (The distribution scheme with a revenue stamp). The revenue stamp is
equipped with features to prevent copying and digital signature proves the real producer.
If neither the revenue stamp nor other non copyable sign is used, the counterfeiter must
produce only exact copies; serial numbers can't increase and so it will be easier to detect
counterfeiting when more than one item is available.
The presented architecture is designed to reduce possibility to counterfeit material goods.
Goods digitally signed in accordance with this architecture would be much more complicated
to counterfeit, and it would be much more difficult to create cryptographically valid fake item.
Nevertheless, when the counterfeiter exactly copies the original with all dots on the designed
QR code, then the replica would be also cryptographically valid; so cryptographic security
should be completed by technical difficulties in making exact copies. Especially, usage
of a cryptographically signed revenue stamp embodied in a product would be very secure.
References
Adams, C., Cain, P., Pinkas, D., & Zuccherato, R. (2001). RFC 3161: Internet X. 509 public key
infrastructure timestamp protocol (TSP). Retrieved from https://www.ietf.org/rfc/rfc3161.txt
Baker, S. A., & Hurst, P. R. (1998). The limits of trust: cryptography, governments, and electronic
commerce. Boston: Kluwer Law International.
Boneh, D., & Boyen, X. (2004). Short signatures without random oracles. In Proceedings of the
International Conference on the Theory and Applications of Cryptographic Techniques (pp.
56–73). New York: Springer. doi: 10.1007/978-3-540-24676-3_4
Boneh, D., Lynn, B., & Shacham, H. (2004). Short Signatures from the Weil Pairing.
Journal of Cryptology, 17(4), 297-319. doi: 10.1007/s00145-004-0314-9
Hrubý, J., & Mokoš, I. (2001). K zákonu o elektronickém podpisu, jeho dopadu na ekonomiku
a bezpečnostních hlediscích. Crypto-World, 3(2), 7-14.
ISO 18004, (2006). ISO/IEC 18004: Information Technology-Automatic Identification and Data
Capture Techniques-QR Code Bar Code Symbology Specification. Retrieved from
http://www.iso.org/iso/catalogue_detail?csnumber=43655
Johnson, D., Menezes, A., & Vanstone, S. (2001). The elliptic curve digital signature algorithm
(ECDSA). International Journal of Information Security, 1(1), 36-63. doi:
10.1007/s102070100002
ISO 18014. (2008). ISO/IEC 18014-1:2008 Information technology — Security techniques
— Time-stamping services — Part 1: Framework. Retrieved from
https://www.iso.org/obp/ui/#iso:std:50678:en
308
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Pfitzmann, B. (1996). Digital Signature Schemes: General Framework and Fail-Stop Signatures.
New York: Springer.
Schneier, B. (2007). Applied cryptography: protocols, algorithms, and source code in C. New York:
John Wiley & Sons.
Smid, M. E., & Branstad, D. K. (1993). Response to comments on the NIST proposed Digital
Signature Standard. In Proceedings of the 12th Annual International Cryptology Conference
(pp. 76–88). New York: Springer. doi: 10.1007/3-540-48071-4_6
Tvrdíková, M. (2003). Správa digitálních dokumentů. In Proceedings of the Systems Integration
Conference (pp. 586-591). Praha: Vysoká škola ekonomická v Praze.
Zhang, M., Yang, B., Zhong, Y., Li, P., & Takagi, T. (2011). Cryptanalysis and Fixed of Short
Signature Scheme without Random Oracle from Bilinear Parings. International Journal
of Network Security, 12(2), 159–165.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
309
Acta Informatica Pragensia, 2015, 4(3): 310–317
DOI: 10.18267/j.aip.77
Peer-reviewed paper
Android Access Control Extension
Anton Baláž*, Branislav Madoš*, Michal Ambróz*
Abstract
The main objective of this work is to analyze and extend security model of mobile devices
running on Android OS. Provided security extension is a Linux kernel security module that
allows the system administrator to restrict program's capabilities with per-program profiles.
Profiles can allow capabilities like network access, raw socket access, and the permission to
read, write, or execute files on matching paths. Module supplements the traditional Android
capability access control model by providing mandatory access control (MAC) based
on path. This extension increases security of access to system objects in a device and allows
creating security sandboxes per application.
Keywords: Android, Security, Sandbox, Policy, Profile, Access control, MAC.
1
Introduction
Android represents an operating system for mobile devices being used with approx. 80%
of all these devices. Since approx. 97% of all malware is created for this operating system,
there is a need to pay a proper attention to security of such devices (Bousquet, 2013).
Malware created for mobile devices differs in various goals, e.g. obtaining personal data, SIM
card number or IMEI device number which is send to servers of third parties and misused,
or creating hidden calls and SMS messages which can cost a lot of money (Novák, 2012).
Security of mobile devices is extensively affected by user behavior, as every potentially
dangerous application requires permissions when being installed. Malicious software usually
requires inadequate set of permissions according to its purpose. If users paid a proper
attention to these permissions, the risk of threats to their devices would be minimized.
However, according to many studies, only around 20% of users pay attention to permissions
when installing applications to their mobile devices (Barrera, 2010).
The main goal of this work is to propose and implement an architecture which creates
a mandatory access control module for kernel of Android operating system which allows
managing installed applications permissions as well as the access control of system resources
more securely (Smalley, 2013).
2
State of Art
As an operating system for mobile devices, Android is based on Linux kernel inheriting both
advantages and disadvantages of this architecture. Linux kernel provides a number of security
*
Department of Computers and Informatics, Faculty of Electrical Engineering and Informatics,
Technical University of Košice, Letná 9, 042 00 Košice, Slovak Republic
 [email protected], [email protected], [email protected]
310
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
benefits for Android. These advantages include isolation of active processes, interprocess
communication or user security model etc. (Hoopes, 2009). With such a multiuser system, an
early goal is to separate resources of one user from another. However, for Android it means
that resources of one application are separated from resources of another application, since
Android applications are defined by a given user identification number from their installation
to their uninstallation. As other systems, yet Linux and Android are still prone to security
faults (Wei, 2012). In case of mobile devices, these faults mainly include threats to privacy
and sensitivity of user data, possibility of identity theft and possibility of money leak,
if permissions related to phone calls and SMS messages are misused (Shan, 2012).
Applications for Android can be distributed to users through developer web pages, though
more common way is to use Google Play, a shop with Google applications. Google enters the
process of publication of applications in their shop only at minimal level, making the work of
developers easier on one hand, but creating a space for spreading insecure applications among
users on the other hand. After its installation, such an application can cause harm to the
device, eventually it can cause an unexpected behavior of the device (Wagner, 2012).
In order to avoid such an unexpected behavior, every application contains a set of permissions
which should be defined by its user. Android provides several mechanisms limiting the
interactions between the system and the applications and between the applications themselves.
To handle applications privileges, Android uses a specific model of permissions (Wu, 2015).
Each application requests a set of permissions, allowing it to perform specific actions. For
instance, an application that needs to send SMS has to request the SEND SMS permission.
This is a security model based on capabilities (Vargas, 2012). Permissions are explicitly
granted by the user during the installation of the application. Nevertheless, since Android
does not allow a partial selection, the user must either accept all the permissions or cancel the
installation. Moreover, the user cannot change the permissions afterwards: the only way is to
uninstall the application. A solution proposed in this paper allows the user to specify exactly
what resources an application can use.
Actually, there exist a number of security solutions for Android:




TaintDroid is an extension of Android that enables to track information flows on
Android smartphones (Felt, 2012). TaintDroid uses data tainting to track sensible data.
It assumes that the applications installed by the user cannot be trusted. It monitors the
user’s data and aims to detect whether any data leave the system.
AppFence makes privacy controls on Android applications by retrofitting the runtime
environment. AppFence implements two systems: data shadowing, i.e. providing fake
data to the application (empty contact list etc.) instead of sensitive data, and exfiltration blocking, i.e. preventing sensitive data (tainted by TaintDroid) from leaving
the device.
Aurasium is a protection solution that does not alter the Android OS. Indeed,
Aurasium hardens Android applications by repackaging them in order to add its policy
enforcement code. Thus, Aurasium can control access to sensitive information, such as
IMEI number, location etc.
CRePE presents a policy enforcement solution based on the contextual environment
(geographical location, time of the day etc.). These environments are automatically
detected by CRePE, and no action from the user is requested. Thus, users can disable
particular functions depending on the current situation.
As shown by this state of the art, a solution that provides a fine-grained access control
mechanism is required. Module proposed in this work is designed as a sandbox for
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
311
applications installed in the devices. The user defines a set of policies (profile) to control the
propagation of data. Sandbox is a mechanism which operates on user level (Vokorokos, Baláž
& Ádám, 2015). It tracks untrusted applications and allows controlling potentially insecure
system calls. As a result of this assumption, an application is capable to perform any action
within its address space in more secure way.
3
Designed Security Architecture
In order to solve the presented problem, we proposed and implemented a sandbox module for
the OS kernel which allows a user to manage advanced permissions assigned to installed
applications (Spreitzenbarth, 2013). This allows to perform an effective creation of isolated
sandboxes over running applications and to securely manage an access to system resources
(Fig. 1).
Fig. 1. Sandbox architecture. Source: Authors.
The security extension monitors application requests (system calls) for system resources.
Each request is referenced to security policy profile, confining data flow from/to application
and OS resources.
Application Request ID → Policy Profile → System Resources Permit, Deny
Within the design phase, it was necessary to appropriately select an interface allowing to
operate with profile files – security policy. Such an interface would apply these profiles and it
would manage application permission according to the desired security policy. The most
common approach in Linux OS uses a virtual file system called proc or sys, both allowing to
create and process files without any impact on the operating system (Danková, 2011). From
the previous analysis, the realized solution is based on system call filp open. Module
presented in this work does not need to have an access to a superuser account. For the
purposes of this work, filp_open interface was used, provided by the OS kernel, allowing to
filter all common system operations on files, e.g. open, reading and writing. The main
restrictions of the filp_open function include the size which cannot exceed the size of the
stack, 1 024 bits in this case. Structure of a profile file is specifically defined. Profile name
corresponds to user identification number of the application. Every file line represents one
permission adjustment of a given application or an access adjustment to one of the files.
Profile files implement black list – entering denying rules, default policy is permit.
312
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Profile example:
/sdcard/images/dont/show/picture/pic.png rwf
/sdcadrd/other/dont/show/data/data.txt rp
network
#application
Within the presented example, one may notice that the user prohibited to display pic.png
in images directory as well as to change this file. Conversely, in data directory, the user only
permits to read contents of data.txt, however, the given application is allowed to modify this
file. The third line defines the user denied a network access to this application. The last line
allows the user to write a comment to which application this profile applies.
Profile syntax:
<profile> ::= <permission><operation><mode> | <permission> |
<comment>
<comment> ::= "#" <string>
<permission> ::= <path-to-file>
|"network"|"identity"|"contacts"|"photos, media, files"
<operation> ::= "r"|"w"|"o"|"rw"|"wo"|"or"|"rwo"|""
<mode> ::= "p"|"f"|""
In this work, the module design included 2.3.69 Goldfish version of Android. In order to
ensure a secure functioning of the module, the first step focused on the necessity to determine
address of a table with system calls located in system.map in a directory containing system
kernel. The module hooks an access to all system calls performed to installed applications
through the table of system calls.
Fig. 2. Module operation. Source: Authors.
The module contains two obligatory functions: init_module and cleanup_module. The aim
of the init_module function is to initialize the module and further it is used to hook system
calls. The cleanup_module function is called when the module ends its work and it assigns
original values to every call. However, in case of this work, the cleanup_module function
executes on the functionality of hooking the Internet service, since the values are assigned to
the system calls when they are captured. Fig. 2 depicts a simplified model of security module
processing. The module operates in several steps:
1. In the beginning the module should be introduced to kernel using the insmod
command.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
313
2. While the module operates, it is necessary to hook system calls and filter them
according to the defined profiles.
3. If a packet is captured by the module, it loads the profile. If the application which
initialized the packet already includes a defined profile as well as a defined size of the
data to be transmitted, it is necessary to count how many data have been already
transmitted by the application out of the data guaranteed by the user. If the application
received more data than permitted, then the packet is discarded. Otherwise the packet
is received and the evaluation continues.
4. If the module captures a system call to open, read or write to a file, it loads a profile
for the application which invoked the call.
5. The system calls of read and write to file do not contain the name of the file to which
they approach but they contain its descriptor. Since it is possible to determine a path to
the file from this number, this step is recommended in such a case.
6. After the module receives a path to the file and reads the file, it is possible to evaluate
permissions from the profile.
7. Since some permissions contain their own identification number, they are monitored
separately according to files to which the application approaches.
8. If permission located in the profile matches with the file to which the application
approaches, the call is returned with the -EPERM macro of the kernel, marking that
the permission was removed from the application. Otherwise the original system call
is returned.
4
Module Evaluation
Testing of the proposed security policy was performed on the Android OS using the 2.3.69
Goldfish kernel. For evaluation purposes of the enhanced security policy and comparison to
the status quo, we have chosen several applications which are commonly installed by users
and ones containing malware, e.g. Flappy Bird with a malware secretly sending SMS
messages, applications of iMatch and iCalendar containing the Zsone malware, and Tencent,
an application which cumulates and sends data to remote servers. In order to test file security,
another ES File Manager was selected as well, simulating opening of sensitive files. As an
example, this paper selected an application containing several suspicious permissions as it is
displayed in Fig. 3.
314
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Fig. 3. FlappyBird permissions. Source: Authors.
The application requires permissions to send SMS messages, causing a financial harm to the
user. Based on this information, a profile was created and as it is visible in Fig. 3, the module
successfully prevented the application from its insecure malicious behavior. Similarly were
tested all selected applications against defined security policy by application profiles.
Fig. 4. Call/SMS denying. Source: Authors.
Tab. 1 contains an evaluation of the selected set of tested insecure applications. Lines labeled
by X mark successful attack prevention. The - character indicates the permission was not
dangerous to the application and N marks such a behavior that was impossible to reproduce.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
315
FlappyBird
iMatch
iCalendar
Tencent
ES
Internet Access
-
X
X
X
-
SMS and Calls
X
X
X
-
-
Identity
-
-
-
N
-
File Access
-
-
-
-
X
Tab. 1. Security module evaluation. Source: Authors.
5
Conclusion
Android represents an operating system for mobile devices being used with majority of all
these devices. Since approx. 97% of all malware is created for this operating system, there is
a need to pay a proper attention to security of such devices.
The aim of this work was to propose and implement a security enhancement to Android OS
through the module for the operating system kernel. Based on a profile this module is capable
of restricting threats to applications installed in mobile devices. Designed extension is an
application security tool designed to provide an easy-to-use security framework for installed
applications. Module proactively protects the operating system and applications from external
or internal threats, even zero-day attacks, by enforcing expected behavior and preventing even
unknown application flaws from being exploited. Module security policies, called profiles,
completely define what system resources individual applications can access, and with what
privileges.
Proposed security extension was evaluated on selected samples of malicious code, which
causes several malicious activities such as unwanted SMS delivering, privacy data gathering,
unsolicited data transmitting. From the results, active proposed module successfully
eliminates mentioned security threats of the evaluated samples. However, the proposed
solution contains actually several restrictions, e.g. no customized GUI interface to create and
modify profiles as well the need to compile the module for a specific version of the system
kernel.
Acknowledge
This work was supported by the Slovak Research and Development Agency under the
contract No. APVV-0008-10 and project KEGA 077TUKE-4/2015 Promoting
the interconnection of Computer and Software Engineering using the KPIkit.
References
Barrera, D., Kayacik, H. G., van Oorschot, P. C., & Somayaji, A. (2010). A methodology for
empirical analysis of permission-based security models and its application to android.
In Proceedings of the 17th ACM conference on Computer and communications security
(pp. 73-84). New York: ACM. doi: 10.1145/1866307.1866317
Bousquet, A., Briffaut, J., Clévy, L., Toinard, C., & Venelle, B. (2013). Mandatory Access Control
for the Android Dalvik Virtual Machine. ESOS: Workshop on Embedded Self-Organizing
Systems. Retrieved from https://www.usenix.org/conference/esos13/workshopprogram/presentation/bousquet
Danková, E., Ádám, N. & Jakubčo, P. (2011). An anomaly-based intrusion detection system.
In Proceeding of the Electrical Engineering and Informatics II (pp. 260-264). Košice: FEI TU.
316
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Hoopes, J. (2009). Virtualization for security: including sandboxing, disaster recovery, high
availability, forensic analysis, and honeypotting. New York: Elsevier.
Novák, D., Ádám, N. (2012). Route planner for mobile devices. In Kollár, J. (ed.) Computer Science
and Technology Research Survey. Košice: FEI TU.
Felt, A. P., Ha, E., Egelman, S., Haney, A., Chin, E., & Wagner, D. (2012). Android permissions:
User attention, comprehension, and behavior. In Proceedings of the Eighth Symposium on
Usable Privacy and Security (no. 3). New York: ACM. doi: 10.1145/2335356.2335360
Shan, Z., Wang, X., Chiueh, T. C., & Meng, X. (2012). Facilitating inter-application interactions for
os-level virtualization. In Proceedings of the 8th ACM SIGPLAN/SIGOPS conference on Virtual
Execution Environments (pp. 75-86). New York: ACM. doi: 10.1145/2151024.2151036
Smalley, S., & Craig, R. (2013). Security Enhanced (SE) Android: Bringing Flexible MAC to Android.
Retrieved from http://www.internetsociety.org/doc/security-enhanced-se-android-bringingflexible-mac-android
Spreitzenbarth, M., Freiling, F., Echtler, F., Schreck, T., & Hoffmann, J. (2013). Mobile-sandbox:
having a deeper look into android applications. In Proceedings of the 28th Annual ACM
Symposium on Applied Computing (pp. 1808-1815). New York: ACM. doi:
10.1145/2480362.2480701
Vargas, R. J. G., Huerta, R. G., Anaya, E. A., & Hernandez, A. F. M. (2012). Security controls for
Android. In Proceedings of the 4th International Conference on Computational Aspects of Social
Networks (pp. 212-216). New York: IEEE. doi: 10.1109/CASoN.2012.6412404
Vokorokos, L., Baláž, A., & Ádám, N. (2015). Secure Web Server System Resources Utilization.
Acta Polytechnica Hungarica, 12(2), 5-19. doi: 10.12700/APH.12.2.2015.2.1
Wagner, D., Goldberg, I., & Thomas, R. (1996). A secure environment for untrusted helper
applications. In Proceedings of the 6th conference on USENIX Security Symposium, Focusing
on Applications of Cryptography. Berkeley: USENIX Association
Wei, X., Gomez, L., Neamtiu, I., & Faloutsos, M. (2012). Permission evolution in the android
ecosystem. In Proceedings of the 28th Annual Computer Security Applications Conference
(pp. 31-40). New York: ACM. doi: 10.1145/2420950.2420956
Wu, L., Du, X., & Zhang, H. (2015). An effective access control scheme for preventing permission
leak in Android. In Proceedings of the International Conference on Computing, Networking and
Communications (pp. 57-61). IEEE. doi: 10.1109/ICCNC.2015.7069315
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
317
Acta Informatica Pragensia, 2015, 4(3): 318–325
DOI: 10.18267/j.aip.78
Peer-reviewed paper
Několik myšlenek k tvorbě hesel
A Few Ideas for Creating Passwords
Petr Strossa*, Radomír Palovský*
Abstrakt
Osmiznakových řetězců složených z malých a velkých písmen české abecedy a číslic
existuje zhruba 6 × 1015. Drtivou většinu z takových hesel si však nikdo není schopen
zapamatovat, protože se ani vzdáleně neasociují s žádným „rozumným“ obsahem. V tomto
textu docházíme k odhadu, že počet smysluplných českých vět o čtyřech až pěti slovech je
určitě o několik desítkových řádů vyšší (a nezáleží přitom příliš ani na tom, zda použijeme
nějaké velké písmeno), přičemž takto tvořená hesla se navíc dají snadno zapamatovat. Dále
ukazujeme několik jednoduchých způsobů, jak rozšířit „prostor“ takto tvořených hesel až
k hranicím kolem 1040 teoreticky možných řetězců, aniž by se pro uživatele příliš
zkomplikovala zapamatovatelnost zvoleného hesla. Tím nabízíme metodu efektivní tvorby
silných hesel.
Klíčová slova: Heslo, čeština, abeceda, gramatika, bezpečnost.
Abstract
There is about 6 × 1015 eight-character strings from Czech small and capital letters
and numbers. The vast majority of such passwords is impossible to remember because of no
association with any “reasonable” contents. In this paper we come to an estimate that the
number of meaningful Czech sentences containing 4–5 words is certainly by several decimal
orders higher (even without distinguishing small and capital letters), and passwords created
in this way are easy to remember. Further we show some simple ways to extend the “space”
of such passwords up to ca. 1040 theoretically possible strings without significantly
complicating the possibility to remember the chosen password. A method for efficient
generation of strong passwords is thus offered.
Keywords: Password, Czech language, Alphabet, Grammar, Security.
Úvod
1
Přestože autentizace uživatele pomocí hesla patří mezi nejstarší metody autentizace, je pořád
jednou z hlavních metod, ne-li metodou pro běžné uživatele dominantní. Analýzou
uživatelského chování, přístupu uživatelů k tvorbě hesel a doporučeními pro tvorbu
bezpečnějších hesel se zabývá poměrně dost prací, z poslední doby např. Stanton et al. (2005),
Komanduri et al. (2011). Nicméně v českém prostředí je prací poměrně málo, na vědecké
*
Department of Information and Knowledge Engineering, Faculty of Informatics and Statistics,
University of Economics, Prague, nám. W. Churchilla 4, 130 67 Praha 3, Czech Republic
 [email protected], [email protected]
318
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
úrovni téměř žádné, a navíc se zabývají spíše sociálními aspekty tvorby hesel (Páral, 2006)
(Kadlecová, 2011). Naše práce se věnuje analýze složitosti vytvářených hesel, která vzhledem
k jinému lingvistickému typu českého jazyka je tu významně jiná než v případě angličtiny.
V práci vycházíme jak z vlastních zkušeností s tvorbou hesel k různým účelům v různých
prostředích, tak z dosud publikovaných prací o některých statistických vlastnostech češtiny
(Čermák et al., 2004) (Hajič, 1996) (Hajič & Drozd, 1990) (Těšitelová et al., 1983)
(Těšitelová et al., 1987). S využitím těchto zdrojů ukážeme, že silná hesla není nutné vytvářet
v podobě x-znakových řetězců kombinujících velká a malá písmena s nejrůznějšími jinými
symboly a nezapamatovatelných, protože nedávají žádný smysl, ale je možné vyjít
z gramatických pravidel přirozeného jazyka. Ukážeme, že takto vytvořená hesla mají
přinejmenším srovnatelnou sílu, a navíc je snadné si je zapamatovat.
2
Obecná pravidla tvorby hesel
Pravidla tvorby přístupových hesel k různým službám, ve kterých „o něco jde“, dnes
nejčastěji vypadají nějak takto: heslo musí mít alespoň 8 znaků (nebo ještě lépe 12–15 znaků),
v tom alespoň jedno malé písmeno, alespoň jedno velké písmeno a alespoň jednu číslici.
Jinými slovy: minimalisticky utvořené heslo je osmiznakový (nebo až patnáctiznakový)
řetězec z „abecedy“ malých písmen (tj. v češtině 42 znaků), velkých písmen (dalších 42
znaků) a číslic (10 znaků), tj. celkem 94 znaků. Takových hesel lze technicky vytvořit
(a narušitel, který by chtěl metodou hrubé síly na heslo přijít, by jich musel zkusit
vygenerovat) celkem 948 ≈ 6 × 1015 v osmiznakové variantě, resp. 9415 ≈ 4 × 1029 ve variantě
patnáctiznakové.
V některých systémech ovšem může docházet k problému s rozpoznáním nastaveného typu
klávesnice v okamžiku zadávání hesla. Pokud by se například v daném prostředí často střídalo
používání anglické a české klávesnice, pak by asi nebylo příliš vhodné používat v heslech
specificky česká písmena, ale ani písmena „y“ a „z“, která si vzájemně vyměňují polohu na
klávesnici. V takovém případě by nám zůstalo jen 24 malých a 24 velkých písmen + 10 číslic,
dohromady 58 znaků — a výslednou variabilitu možných hesel by vystihovala čísla 588 ≈
1014 v osmiznakové variantě, resp. 5815 ≈ 3 × 1026 ve variantě patnáctiznakové.
Ještě větší bezpečnost by samozřejmě mohla zajistit ještě delší hesla vytvořená podle
obdobného schématu — jenže takové heslo (tvořené libovolnou kombinací velkých a malých
písmen a číslic) je zpravidla už při méně než 8 znacích dost obtížně zapamatovatelné.
A musíme-li si ho někam zapsat, pak jsme právě celou bezpečnost „poslali do háje“.
Považujeme za mnohem přirozenější nestarat se příliš o velká písmena ani o číslice, ale tvořit
hesla ve formě vět nebo frází přirozeného jazyka o nějaké rozumné délce (nejde o nic jiného,
než aby se člověk příliš nezdržoval jejich psaním) — jako např. „můj dědeček nebyl
kosmonaut“…
3
Několik základních statistických charakteristik
českého jazyka
Heslo výše uvedené jako příklad má konkrétně 27 znaků a nemáme problém si je
zapamatovat. Všech možných řetězců o 27 znacích složených z písmen české abecedy (jen
malých, tedy z abecedy 42 znaků) a mezer (bez jakýchkoli jiných interpunkčních znamének)
je mimochodem 4327 ≈ 1044. Vlastně ale příliš nezáleží ani na tom, zda mezi slovy používáme
mezery. Řetězec „můjdědečeknebylkosmonaut“ se skládá z 24 malých písmen. Takových
řetězců by technicky mohlo být vytvořeno 4224 ≈ 1039. Musíme ovšem předpokládat, že
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
319
i potenciální narušitel naší bezpečnosti chápe, že když používáme tak dlouhá hesla (a nikam si
je nepoznamenáváme, čili si je pamatujeme), pak nemůže jít o libovolné řetězce znaků, ale
nejspíš půjde výhradně o řetězce dávající nějaký smysl, tj. o výrazy (fráze nebo věty) složené
ze slov podle nějakého slovníku a gramatiky. Skutečně použitelných řetězců tedy bude o něco
méně. Jsme schopni to aspoň trochu přesněji odhadnout?
Vyjděme z principu, že heslo má být větou nebo frází složenou alespoň ze čtyř slov. Je
pravda, že věta ze čtyř slov v češtině může být třeba „a je i to“ — to je celkem 9 znaků včetně
tří mezer — ale potenciální narušitel nemůže předem vědět, jak dlouhá slova jsme použili!
Průměrně je třeba počítat s tím, že české slovo v textu má kolem 5,5 až 6 písmen (Těšitelová
et al., 1987) čili věta nebo fráze o čtyřech slovech má kolem 25–27 znaků včetně mezer, resp.
22–24 znaků bez mezer.
Extrémně dlouhá slova mohou v češtině mít i hodně přes 30 písmen — ovšem taková slova,
jako třeba „nejnezpravděpodobnostňovávatelnější“ (Těšitelová et al., 1987), asi nikdo ve
svém hesle nepoužije, už proto, že je téměř nemožné napsat je na první pokus bez chyby,
o možnosti napsat je správně „naslepo“ ani nemluvě… Za reálné však můžeme považovat
použití některých slov dlouhých až kolem 10 písmen (přesně tolik má např. slovní tvar
„kosmonauti“), celý výraz složený aspoň ze čtyř slov pak klidně může představovat i kolem
30–40 znaků, přičemž pro někoho může být snadno zapamatovatelný i výraz o dost delší. To
jsme ovšem stále nezohlednili, že se ten výraz musí skládat ze slov, ne z libovolných písmen
a mezer.
Konstrukce heslových frází místo heslových slov se přirozeně řeší i v angličtině. Významnou
odlišností angličtiny od češtiny je téměř absentující tvarosloví a v důsledku toho obvykle
gramatická smysluplnost náhodně vygenerované posloupnosti slov. Tohoto využívá např.
systém Diceware (Reinhold, 1995) (Carnut & Hora, 2005), který vytváří heslové fráze
náhodným výběrem slov. Korpus slov, který Diceware používá, tvoří přesně 7776 krátkých
anglických slov. Číslo 7776 se rovná 65 a jednotlivá slova do fráze jsou vybírána hody
klasickou šestihrannou kostkou (odtud název systému). Pět následných hodů vytvoří náhodné
číslo, jemuž odpovídá jedno slovo. Doporučovaný způsob použití je vytvoření 5–8 slov podle
typu použití hesla. Tím vznikne fráze, která fakticky reprezentuje 25 až 40 náhodných hodů
šestihrannou kostkou a její složitost tedy je 625 až 640 ≈ 1017 až 1027. Nicméně čistě náhodné
složení slov v češtině má problém v tom, že většinou netvoří smysluplnou frázi, zato díky
tvarosloví máme mnohem více možností, čemuž se věnujeme dále.
Český slovník a gramatika (a co z toho plyne)
4
Kolik slov má čeština? To je „věčná otázka“, na kterou nikdy nebudeme znát přesnou
odpověď — mimo jiné proto, že v každém lidském jazyce neustále (sice pomalu, ale jistě)
vznikají nová slova a zanikají slova zastaralá. Nicméně lze odhadovat, že v současné češtině
máme minimálně něco kolem 200 000 „obecně srozumitelných“ slov. Pokud k nim přidáme
všechny vysloveně odborné termíny z nejrůznějších vědecko-technických oborů a všechna
objektivně známá vlastní jména míst a osob, která lze v češtině použít, tento počet vzroste
nejméně dvojnásobně, spíše však ještě mnohem více. (Hajič, 1996) (Těšitelová et al., 1983)
(Těšitelová et al., 1987) (Záleží v podstatě jen na tom, jestli jsme připraveni použít jako
součást našeho hesla např. jakékoli zeměpisné jméno z Ugandy. Zde je třeba si ještě uvědomit
jednu důležitou věc. Nikdo z nás ve skutečnosti nedokáže používat 200 000 obecných slov ani
200 000 vlastních jmen. Individuální slovní zásoba člověka se pohybuje maximálně v oblasti
desítek tisíc slov, u běžných lidí je spíše ještě o řád menší. Ovšem potenciální narušitel
bezpečnosti nemůže vědět, která slova právě my známe a která ne. V tom je obrovská síla!)
320
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Česká věta se ale neskládá „jen tak“ ze slov. Česká věta se skládá (podle jistých gramatických
pravidel) ze slovních tvarů (podstatných jmen v určitém čísle a pádě, přídavných jmen
v určitém stupni, rodě, čísle a pádě, sloves v určitém způsobu, času, osobě atd.). Různé slovní
druhy mají různě široké arzenály možných tvarů. Tak například každé podstatné jméno
existuje (teoreticky) ve dvou číslech a sedmi pádech, tj. ve 14 možných tvarech, a každé
přídavné jméno může mít (spočítáme-li všechny možné stupně, rody, čísla a pády) dokonce
168 (!!!) různých tvarů. V praxi není různých tvarů slov tolik, jak by napovídal tento rozbor,
jednak proto, že některá slova nelze použít ve všech tvarech (např. slovo „nůžky“ nemá tvary
jednotného čísla, slovo „dvouhlavý“ logicky nelze stupňovat ap.), a dále proto, že prakticky
u každého českého slova některé teoreticky rozlišované tvary znějí stejně (např. „nůžky“ je ve
skutečnosti zároveň tvar prvního, čtvrtého i pátého pádu). V každém případě však nebudeme
daleko od pravdy, budeme-li předpokládat, že v češtině máme k dispozici více než milión
(spíše asi několik miliónů) slovních tvarů (Hajič & Drozd, 1990).
Kdyby tedy neexistovala žádná gramatická omezení na vzájemné kombinování různých
slovních tvarů ve větě, existovalo by minimálně (106)4 = 1024 vět a frází o čtyřech slovech.
Člověk by si samozřejmě mohl zvolit jako své heslo libovolnou kombinaci čtyř slovních tvarů
— i když by to nebyla gramaticky správná kombinace (např. „čtvrtečnímu kolem nášlapná
proti“) — jenže to bychom zase měli řetězec nedávající žádný smysl a z toho důvodu těžko
zapamatovatelný. Zůstaňme tedy raději u představy skutečné věty nebo alespoň fráze (např.
pojmenování něčeho) o 4 (nebo více) slovech. Případně připusťme i libovolné „výroky“, které
přísně podle gramatiky nejsou správnými větami (něco v nich chybí ap.), ale které intuitivně
nějaký smysl dávají (nebo aspoň naznačují), a proto se nám líbí a jsme schopni si je
zapamatovat. Autoři tohoto textu mají například tento oblíbený „výrok“ popisovaného typu:
„Jeden hnědý, druhý doleva.“
Ve skutečné smysluplné větě nelze slovní tvary kombinovat libovolně, to právě omezují
pravidla větné skladby jazyka. Tato pravidla jsou ovšem poměrně velmi složitá a pro naši
kombinatoriku mají velmi rozličné důsledky. Zpravidla platí, že n slov tvořících začátek věty
do jisté míry omezuje volbu slova v pozici (n + 1) — ale míra tohoto omezení dost záleží na
tom, jakých n slov to je!
Jestliže například jako první slovo použijeme jakýkoli tvar podstatného jména, pak vzhledem
k volnosti českého slovosledu není volba druhého slova prakticky vůbec omezena! A jen pro
úplnost dodejme, že taková míra volnosti se zdaleka nemusí objevovat jen na začátku věty.
Představme si například, že prvních (n – 1) slov už tvoří jednoduchou větu a n-té slovo je
spojka „a“. V takové situaci lze na pozici (n + 1) pokračovat nanovo bez jakéhokoli omezení!
(Délka „4 slova“ je poměrně malá, souvětí se spojkou „a“ se v této délce tvoří hodně těžko.
Nicméně si připomeňme, že požadavek byl stanoven jako „alespoň 4 slova“, nikoli „přesně
4 slova“. Celkem nekomplikované souvětí může znít např.: „Teta přijela a zítra poletíme.“)
Na druhé straně, pokud jako první slovo použijeme přídavné jméno v 1. pádě jednotného čísla
mužského rodu, dejme tomu „český“, pak se na první pohled jeví, že tím máme volbu
následujícího slova poměrně dost omezenou: buď to bude další přídavné jméno, a to opět
v 1. pádě jednotného čísla mužského rodu (např. „autorský“), anebo podstatné jméno
mužského rodu, opět v 1. pádě jednotného čísla (např. „film“). Těžko přesněji odhadovat, ale
ze všech možných tvarů všech českých slov by jich tato omezení mohla splňovat řádově snad
desetina. Jenže ani tahle situace na druhý pohled tak přísná není — následujícím slovem
smysluplné věty může ve skutečnosti být i leccos jiného, stačí vzít v úvahu možné úvodní
fráze jako třeba „český žalostně nefunkční pseudotrh“ nebo „český ke všemu netečný
politik“…
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
321
Zkusme proto — prozatím a čistě z nedostatku jiného, kvalifikovanějšího odhadu —
předpokládat, že je-li v pozici číslo n ve větě použitelných p(n) slovních tvarů, pak každá
konkrétní volba v průměru omezí možnosti volby pro následující pozici na
p(n+1) = p(n) / 2
použitelných slovních tvarů. (Kdyby takové pravidlo skutečně platilo zcela obecně a přesně
a čeština přitom dávala k dispozici právě jeden milión slovních tvarů, znamenalo by to, že 21.
slovo ve větě je už s ohledem na předchozích 20 slov vždy jednoznačně dáno a 22 slov věta
vůbec nemůže mít! V případě existence 4 miliónů slovních tvarů by se tato hranice posunula
jen o 2 slova dál. Víme, že i delší smysluplné věty — tedy přesněji souvětí — odborníci
dokážou napsat, takže náš předběžný odhad je snad stále „o něco přísnější než skutečnost“.)
Z výše uvedených předpokladů by vyplývalo, že smysluplných vět a frází o přesně
4 slovech lze vytvořit přinejmenším 1 000 000 × 500 000 × 250 000 × 125 000 ≈ 1,5 × 1022.
Protože jsme na začátku stanovili, že se heslo má skládat aspoň ze 4 slov, nelze vyloučit, že si
někdo vymyslí něco delšího. Celkový počet možností, se kterým je třeba počítat, by tedy měl
být přinejmenším ještě asi 60 000 krát větší — to znamená, že by se měl pohybovat kolem
hodnoty 1027. I kdyby tedy potenciální narušitel měl k dispozici správnou generativní
gramatiku spolu se správným slovníkem a pomocí těchto nástrojů zkoušel generovat možná
hesla v podobě gramaticky správných frází a vět o délce v určitých mezích, vypadá tento
přístup k tvorbě hesel „dost dobře“: jako uživatelé jsme schopni si taková hesla snadno
zapamatovat, a jejich množství je přitom téměř srovnatelné s výše uvedenou maximalistickou
hodnotu pro 15 libovolných znaků (přesněji by řád 1027 odpovídal 14 znakům).
Ale dokonce i kdyby se nakonec (na základě důkladného výzkumu kombinatoriky slovních
tvarů podle české gramatiky) ukázalo, že náš odhad p(n+1) = p(n) / 2 byl příliš optimistický,
je třeba uvést, že například pro variantu
p(n+1) = p(n) / 10
by při omezení na „alespoň 4 slova“ vycházela potřeba vyzkoušet minimálně kolem 1020
kombinací slovních tvarů (počítáme, že slov určitě může být i 5; 106 × 105 × 104 × 103 × 102 =
1020). I to je stále mnohem více než počet osmiznakových kombinací malých a velkých
písmen a číslic (a to bez potřeby rozlišovat malá a velká písmena). Přitom absolutní platnost
tohoto vzorce by teoreticky znamenala, že už pro sedmé až osmé slovo ve větě ve skutečnosti
žádná možnost volby nezbývá a delší než osmislovné věty nejsou možné. Lze se tedy
důvodně domnívat, že ani v průměru takto přísné omezení neplatí.
Nikomu přitom samozřejmě není třeba bránit v dalším posílení naznačeného schématu např.
tím, že bude ve svém hesle dodržovat všechna pravidla interpunkce a psaní malých a velkých
písmen (takže např. heslo může znít doslova: „Můj dědeček nebyl kosmonaut!“) — i když,
popravdě řečeno, právě takovými detaily se ve skutečném přirozeném jazyce nic moc nezíská:
velké písmeno má takhle krátká věta obvykle jen na začátku a nějaké interpunkční znaménko
(z velmi omezené množiny) jen na konci.
Mnohem víc se dá naopak na síle hesla získat tím, že do něj cílevědomě zabudujeme nějakou
chybu, kterou jsme schopni si zapamatovat — např. vynecháme jedno písmeno a použijeme
formu „můj ddeček nebyl kosmonaut“. Případně můžeme, abychom si to všechno ještě
bezpečněji pamatovali, aplikovat nějakou systematickou chybu, např. umělý „překlep“ typu
záměny „ě“ ↔ „2“ (což se na české klávesnici skutečně často stává, takže se to „samo
nabízí“) — a máme heslo ve tvaru „můj d2deček nebyl kosmonaut“. Nabízejících se
systematických chyb podobného typu není sice přímo „nepřeberné“ množství, ale
322
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
potenciálnímu narušiteli bezpečnosti každopádně dost ztíží jeho snažení, že vůbec netuší,
kolik a jakých podobných transformací jsme se rozhodli aplikovat.
Maximálně vhodné je taky kombinovat slova z různých jazyků, které trochu ovládáme —
zhruba podle vzoru „byla jedna Mutter-matka“ ze známě dětské říkanky. V takovém případě
se už vlastně počet „čtyřslovných“ konstrukcí, které by narušitel musel zkusmo generovat,
blíží hodnotě x4, kde x je úhrnný počet všech slovních tvarů všech v úvahu přicházejících
jazyků, protože „slovní mix“ typu „byla jedna Mutter-matka“, byť nám dává určitý smysl,
není generován gramatikou žádného jednotlivého jazyka!
Úplně nejlepší by asi bylo, kdybychom se podobně jako jistí američtí šifranti za 2. světové
války naučili nějaký indiánský jazyk na prahu vyhynutí a hesla tolik potřebná pro náš dnešní
informatizovaný život tvořili jako věty v tomto jazyce. Hackerovi, který by nevěděl, který
jazyk jsme se naučili, by pak v podstatě nezbývalo než se smířit s tím, že pro heslo o délce
např. 25 znaků (které my si snadno zapamatujeme a můžeme ho i různě průběžně obměňovat)
existuje minimálně 2725 ≈ 6 × 1035 možných hodnot. (Tento výpočet vychází z předpokladu,
že používáme 26 písmen mezinárodní abecedy a mezery mezi slovy.)
Protože však většina lidí zřejmě nemá tu možnost ovládnout jazyk, který by v jejich okolí
neovládal nikdo jiný, můžeme jako „východisko z nouze“ nabídnout tuto poslední radu: do
věty o 4–5 slovech lze zamontovat výraz, který známe, který nám dává smysl, ale který
vlastně do žádného přirozeného jazyka přímo nepatří. Příkladně: „můj dědeček nebyl žádný
e=mc2“. Takové výrazy je rovněž velmi těžké generovat gramatikou jakéhokoli konkrétního
jazyka, o slovníku ani nemluvě, takže se opět — a tentokrát skoro „zadarmo“ — přibližujeme
mezní situaci, kdy snažit se prolomit heslo určité délky znamená testovat všechny variace této
délky ze všech možných znaků (přičemž zde konkrétně hovoříme o délce kolem 25–35 znaků
vybraných ze souboru asi 60 znaků — pokud se nám stále nechce rozlišovat malá a velká
písmena; to znamená, že existuje minimálně 6025 ≈ 3 × 1044 možných znakových řetězců).
5
Závěr
Opravdu silných hesel uživatel ve skutečnosti nepotřebuje mnoho. Značnou část použití hesel
je možné ulehčit pomocí systémů klíčenek (password managers), které slouží jako uzamčené
kontejnery pro používaná hesla. Jejich bezpečnost je někdy diskutabilní (Gasti & Rasmussen,
2012), ale i u těch bezpečných k otevření klíčenky obvykle heslo potřebujeme a jeho kvalita
by měla odpovídat škodě, která by mohla nastat při neoprávněném prolomení. Další silné
heslo je vhodné mít pro vlastní vstup do systému, když případná klíčenka ještě není
k dispozici, nebo jako heslo, které je použito k odemčení klíčů použitých k šifrování disků
a tím k přístupu k datům na těchto discích, pokud zájem na bezpečnosti a ochraně ukládaných
dat významně přesahuje obtíže a zdržení pro stálé dešifrování.
Představili jsme zde několik úvah pro efektivní tvorbu silných hesel. Na základě jejich
vyhodnocení, která výše uvádíme, soudíme, že by uživatelé nemuseli a neměli být nuceni
k vymýšlení hesel ve formě náhodných sekvencí z poněkud uměle rozšířené množiny znaků,
ale měla by být věnována větší pozornost (a to jak v praxi, tak v dalším teoretickém
výzkumu) alternativní možnosti vytváření hesel v podobě frází přirozeného jazyka nebo
podobajících se přirozenému jazyku. Podle našich dosavadních odhadů, které zde
prezentujeme, mají taková hesla potenciál být silnější než dnes běžně používaná.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
323
Seznam použitých zdrojů
Carnut, M. A., & Hora, E. C. (2005). Improving the Diceware Memorable Passphrase Generation
System. In Proceedings of the 7th International Symposium on System and Information Security.
São José dos Campos: CTA/ITA/IEC.
Čermák, F. et al. (2004). Frekvenční slovník češtiny. Praha: Nakladatelství Lidové noviny.
Gasti, P., & Rasmussen, K. B. (2012). On the Security of Password Manager Database Formats.
In S. Foresti, M. Yung, & F. Martinelli (Eds.), Computer Security – ESORICS 2012 (pp. 770–
787). Berlin/Heidelberg: Springer. doi: 10.1007/978-3-642-33167-1_44
Hajič, J. (1996). Současnost a budoucnost inteligentní práce s textem. ComputerWord, (51–52), 2540.
Hajič, J., & Drozd, J. (1990). Spelling-checking for highly inflective languages. In Proceedings of the
13th conference on Computational Linguistics – Volume 3 (pp. 358–360). Helsinki: Association
for Computational Linguistics.
Kadlecová, P. (2011). Motivace uživatelů používat bezpečná hesla. Bakalářská práce. Brno:
Masarykova univerzita, Fakulta informatiky.
Komanduri, S. et al. (2011). Of passwords and people: measuring the effect
of password-composition policies. In Proceedings of the SIGCHI Conference on Human Factors
in Computing Systems (pp. 2595–2604). New York: ACM. doi: 10.1145/1978942.1979321
Páral, K. (2006). Hodnocení kvality hesel v počítačových systémech. Bakalářská práce. Brno:
Masarykova univerzita, Fakulta informatiky.
Reinhold, A. (1995). Diceware Passphrase Home. Retrieved from
http://world.std.com/~reinhold/diceware.html
Stanton, J. M., Stam, K. R., Mastrangelo, P., & Jolton, J. (2005). Analysis of end user security
behaviors. Computers & Security, 24(2), 124–133.
Těšitelová, M. et al. (1983). Psaná a mluvená odborná čeština z kvantitativního hlediska (v rámci
věcného stylu). Linguistica, IV. Praha: Československá akademie věd, Ústav pro jazyk český.
Těšitelová, M. et al. (1987). O češtině v číslech. Praha: Academia.
324
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
325
Acta Informatica Pragensia, 2015, 4(3): 326–335
DOI: 10.18267/j.aip.79
Peer-reviewed paper
Bezpečnostní management – systémový přístup
Security Management – Systems Approach
Milan Kný*
Abstrakt
Cílem sdělení je využití systémového přístupu k uchopení bezpečnostního managementu,
jako praktického oboru a nové vědní disciplíny. Filosofie systémového přístupu k řešení
problémů obecně je vhodným metodologickým základem i pro teorii managementu. Cesta ke
skutečné optimalizaci bezpečnostní situace v managementu vede jen přes holistické, celistvé
řešení. Aplikace ze systémové analýzy a syntézy dokládají, že systémový přístup
a systémové myšlení v bezpečnostních objektech nemají absentovat. Pravdivost tvrzení, že
bezpečnostní management je etablovanou disciplínou, je závislá na pokračující diskusi, jež
představuje užitečný proces vývoje nové vědní disciplíny. Racionalita vědy a systémovosti
působí zároveň jako protiváha iracionálního strachu celé lidské společnosti. Jaké zůstávají
otevřené otázky bezpečnosti ve vztahu k „našim zájmům“? Aktuální problémy Evropy by
měly být řešeny systémově. Je třeba definovat zájmový prostor, teritoriálně buď hranice EU,
nebo Schengenského prostoru, zavést systém na objekt s ohledem na hranice prostoru,
specifikovat strukturu a subjekty rozhodování a implementace.
Klíčová slova: Bezpečnostní management, systémový přístup, ICT, kybernetika, výzkum,
krizové řízení, systémové myšlení, terminologie.
Abstract
The aim of the contribution is the use of the systems approach to treat security management
as a practical field and new scientific discipline. The philosophy of systems approach to the
solution of problems generally is an adequate methodological basis even for the theory
of management. The path to the real optimization of security situation leads only through the
holistic and solid solution. Applications of systems analysis and synthesis back up the fact,
that systems approach and systems thinking should not absent in security objects. The
truthfulness of the claim, that security management is a well-established discipline, depends
on ongoing discussion that represents useful process of development of new scientific
discipline. At the same time the rationality of science and systematism works as
a counterbalance to irrational fear of the whole society, too. Which questions of security
remain open in relation to „our interests“? Current problems of Europe should be solved
systematically. It is necessary to define the space of interest (territorially the border of the EU
or the Schengen area), to implement the system to the object with respect to the borders
of the space, to specify the structure and subjects of decision making and implementation.
Keywords: Security management, Systems approach, ICT, Cybernetics, Research, Crisis
management, Systems thinking, Terminology.
*
Faculty of Security Management, Police Academy of the Czech Republic in Prague,
Lhotecká 559/7, P.O.Box 54, 143 01 Praha 4, Czech Republic
 [email protected]
326
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Úvod
1
K vymezení předmětu zkoumání nebo k racionálnímu pohledu na objekt reality jsou
pro uchopení problému užitečné formální přístupy, metody a techniky. Pro dané sdělení
odkazujeme pozornost zejména na kybernetiku, inženýrství, matematiku a často v kontextu
s filosofií a sociologií. Předmět či objekt blíže specifikuje mix a modifikaci zvolených
přístupů.
Bezpečnostní management krystalizuje jako nová vědní disciplína a je již etablován jako
praktický obor, respektive pojmenování relativně homogenní aktivity bezpečnostní komunity.
Zajisté by patřil také do množiny bezpečnostních věd. Systémový přístup a systémové
inženýrství svými nástroji usilují o adekvátní reflexi bezpečnostního managementu.
Dokladem toho jsou konference a semináře i aplikovaný výzkum, v České republice zejména
za posledních dvacet let. Cílem sdělení je využít diskusí a poznatků z aplikací formálních
disciplín z nejrůznějších oblastí života za účelem systémového přístupu k uchopení
bezpečnostního managementu, jako praktického oboru a nové vědní disciplíny.
Bezpečnostní management
2
2.1
Terminologie
„Bezpečnostní management“ patří k termínům složených z adjektiva a substantiva.
Podstatné jméno lze považovat ve významu termínu za dominantní, vždyť přídavné jméno
plní roli „pouze“ vlastnosti. Jedná se tak o druh managementu. To považujeme za základ
k lokalizaci složeného výrazu.
„Management“ v teorii představuje zároveň tři významy:
a) Vědní disciplína.
b) Skupina vedoucích, manažeři.
c) Činnosti, respektive funkce, prostřednictvím kterých se řídí
Bezpečnostní management jako vědní disciplínu lze diferencovat analogicky jako
management obecný.
Bezpečnostní management má znaky a projevuje se jako praktický obor nebo specializace,
jako téma vědy o řízení a také jako akademická instituce nebo studijní obor či program.
Pojem v češtině není ustálen, respektive je již často používán k různým účelům jako složenina
dvou obsahů, také víceznačných: bezpečnost – management.
Na konferencích na téma „bezpečnostní management“ bývá v repertoáru také „terorizmus“
nebo „bezpečnost silničního provozu“. Pod titul konference by spíše patřilo „řízení boje
s terorizmem“ a „řízení k bezpečnosti silničního provozu“. Jednalo by se o pojetí procesního
managementu.
„Bezpečnostní manažer“ (Security Manager) je dle (Jirásek, Novák, & Požár, 2015)
příkladem k ad b) definice z kybernetického slovníku 1 – „zaměstnanecká role pro výkon
odpovědnosti gestora IS (informačního systému) za bezpečnost s definováním odpovědnosti a
Výkladový slovník kybernetické bezpečnosti je průběžně doplňován a upravován a je k dispozici na webových stránkách
AFCEA, Česká pobočka.
1
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
327
pravomoci“. Ke zdroji bychom doplnili, že bezpečnostní manažer, ať má nebo nikoliv toto
funkční označení, je každý manažer, který řídí bezpečnostní činnosti nebo organizaci
(náčelník generálního štábu AČR, ředitel příslušné složky policie nebo hasičů apod.).
„Bezpečnost“ jako významný termín má rovněž více výkladů, zdůrazňujeme v češtině, neboť
má některé potíže s jazykovými ekvivalenty (při překladech) security, safety apod.
V kybernetickém slovníku (Jirásek, Novák, & Požár, 2015) se uvádí: (angl. security)
„Vlastnost prvku (např. informačního systému), který je na určité úrovni chráněn proti
ztrátám, nebo stav ochrany proti ztrátám. Bezpečnost IT zahrnuje ochranu důvěrnosti,
integrity a dosažitelnosti při zpracování, úschově a prezentaci informací.“ Analogické
parametry charakterizují bezpečnost, a její úroveň, fyzických a kombinovaných objektů.
I zde je patrno, že jde o proces utváření bezpečného prostoru, zabezpečování nebo již o stav
a úroveň zabezpečení. V tomto případě má bezpečnost dokonavý „vid“ (angl. Safety?). Často
se také rozlišuje subjektivní pocit bezpečí, individuálně nebo ve skupině kolektivní pocit,
atmosféra (strachu). Objektivní, měřitelná (relativně) bezpečnost, např. tloušťka pancéřování
vozu pro chráněnou osobu nebo počet ochranných prvků fyzicky u banky (finanční instituce)
či vrstev u informačního systému.
Jakou bezpečnost máme na mysli, bývá důležité specifikovat tehdy, jakmile kombinujeme
české synonymum řízení – řízení bezpečnosti. Čeština lépe vystihuje „řízení k bezpečnosti“
(aby byla vytvořena, zvýšena), (angl. “to“ nebo „of“). Poznámka: automobil řídíme přímo
volantem, podnik manažerskými činnostmi, bezpečnost nepřímo tak, aby byla odpovídající.
2.2
Východiska zkoumání
V tématu vycházíme mj. z výzkumných zpráv uzavřených výzkumných úkolů na Policejní
akademii ČR v Praze. Starší z výzkumných úkolů „Teorie policejního managementu
a informatiky“, byl zařazen jako dílčí výzkumný úkol č. 424 do integrovaného úkolu č. 4
„Aktuální problémy rozvoje policejních věd a transfer jejich poznatků do praxe“. Byl
ukončen v roce 2003 a zaměřen byl zvláště na řízení za zvýšeného rizika. Výzkumné týmy
tehdy měly ambice přispět ke konstituování policejních věd, a proto logicky součástí měl být
„policejní management“ a nikoliv „bezpečnostní management“. V období 2004 – 2010 byl
realizován Výzkumný záměr „Identifikace a reflexe rizik společenské praxe jako teoretický
základ pro rozvoj policejních služeb“.
V rámci integrovaného výzkumného úkolu „Aktuální problémy rozvoje policejních věd
a transferu jejich poznatků do praxe“ IVU 1 je řešen, jako druhá součást tohoto integrovaného
úkolu, dílčí výzkumný úkol „Rozvoj bezpečnostního managementu a informatiky“
VÚ 1/2. K vizi řešitelů dílčího výzkumného úkolu patřilo již patrné sbližování a systémová
neoddělitelnost vnitřní a vnější bezpečnosti 2 jako finality bezpečnostního managementu
a policejní management jako podmnožina.
Jádrem řešení dílčího výzkumného úkolu byl „management“, který je zaměřen zejména
na řízení bezpečnostních činností ve veřejném sektoru. Ověřuje mj. zvláštnost pojetí
2
Vojenské vědy byly a jsou jako jediné z oblasti bezpečnosti etablovány i v oficiálních číselnících.
328
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
informatiky jako servisu informačních a komunikačních technologií pro řídící subjekty
policie a dalších bezpečnostních sil společnosti. V tomto směru se jeví jako finální hodnota
– informační bezpečnost, představující zvláštní součást řízených bezpečnostních procesů.
Pojetí bezpečnostního managementu bylo analyzováno v rámci plnění VÚ 1/2 výzkumnou
studií (Kný, & Požár, 2010b) a v následné monografii (Kný, & Požár, 2010a). Tématika
bezpečnostního managementu byla dále rozvíjena v období 2010 – 2015 především
Integrovanými výzkumnými úkoly „Bezpečnostní management a krizové řízení“
a „Analýza a predikce vybraných aktuálních problémů veřejné správy“.
Struktura Integrovaných úkolů přímo neslibuje konzistentní rozvoj bezpečnostního
managementu v homogenní celistvosti (Požár et al., 2015). Jednotlivé výstupy systémový
přístup odrážejí. Utřídění poznatků si žádá i vyjasnění podobnosti mezi vědami forenzními
a bezpečnostními. Další vývoj poznatkové báze lze očekávat v konstituování bezpečnostního
managementu jako disciplíny obecného managementu v kontextu bezpečnostních respektive
policejních věd, viz Obr. 1. Další empirický materiál průběžně poskytuje praxe, i když
v chaotickém náběhu témat společenských rizik (terorizmus, živelná migrace, sociální
soudržnost, kybernetická kriminalit apod.)
Policejní vědy
Bezpečnostní vědy
Forenzní vědy
POLICEJNÍ
MANAGEMENT
BEZPEČNOSTNÍ
MANAGEMENT
Obr. 1. Hierarchie bezpečnostních disciplín. Zdroj: (Požár et al., 2015, s. 16)
3
Systémový přístup v bezpečnostním managementu
Systémové přístupy 3 k řešení problémů zaznamenávají v 21. století jistou renesanci. Vyšší
stupeň těchto přístupů představují systémová řešení u formálně propracovaných,
algoritmizovatelných úloh, které využívají nástrojů výkonných informačních
a komunikačních technologií (ICT). Pro současný vývoj je charakteristické, že uživatelé mají
k dispozici pestrou softwarovou nabídku, která by měla být komfortní a přátelská. Naproti
tomu však adekvátní znalost matematicko-statistických metod často chybí. Tak se projevují
nedostatky v aplikaci a implementaci při nepochopení vhodnosti. Jsou obory, kde je to
Systémové přístupy (v množném čísle) znamenají možnost zavedení nikoliv jen jediného modelujícího systému na určitý
objekt, jinak řečeno přípustnost různých pohledů na touž věc v obdobném (formálně logickém) stylu. Systémový přístup
k managementu obecnému uplatňují také (Weihrich, & Koontz, 1993).
3
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
329
obzvláště nepříjemné, např. v praktické v medicíně, právu, politice. Kritické postřehy
zaznívají např. na tradičních setkáních komunity pro „systémové přístupy“ (VŠE v Praze)
a „systémové inženýrství“ (konference SYSIN – Systémové inženýrství a informatika,
univerzit v Hradci Králové, Pardubicích a virtuální setkání s Policejní akademií ČR).
Připomeňme si některé zásady z 60. – 70. let dvacátého století, kdy systémové přístupy
a systémové inženýrství „rozkvétaly“. Výraznější kybernetický formalizmus narážel
u sociálních objektů na bariéru.4
Systémový přístup chápeme jako metodu, techniku, postup, při kterém si jsme vědomi
vymezení zájmového celku v jeho vnějším okolí (pracovní definice autora). Systémová
analýza přitom sleduje prvky systému a jejich koexistenci ve vazbách. Vědomé cílové
chování organizmů a jejich instinktivní vnímání existenčního účelu ve vnějším konkurenčním
prostředí je předmětem systémové syntézy (Habr, Vepřek, 1986). Sociální objekty, které
pozorujeme se zvláštním zřetelem k bezpečnosti, existují v prostředí o mnoha dimenzích,
včetně přírodních, průmyslových a ekonomických.
Co obzvláště je zdůrazňováno – systémové myšlení jako styl k řešení konceptuálních
problémů5. Zejména jsou oceňována díla, která v poslední době zdůrazňují „měkké přístupy“.
Bezpečnostní informační a manažerské projekty nacházíme v objektech a jevech, které jsou
málo strukturalizovatelné. Patří k nim zvláště takové, které jsou netechnické, neprůmyslové,
nekomerční, tzn. spíše sociální, nevýrobní, neziskové – veřejné.
Stopy systémového myšlení sahají do daleké minulosti ke klasickým filosofům /mj. Kant,
Novokantovci etc. / a hodí se dodnes v koncepční práci i ve vědě. Cesta od obecného
k specifickému, od širšího k cílově zaměřenému. V konfliktu (s řádem) bývá prosazení
tvořivosti s otevřeným způsobem objevovat nové pořádací principy. Kreativita a podpora
náhodného způsobu v synergii se systémovým přístupem narážejí 6 na obtíže ve státní
byrokracii a ve stylu řízení silových složek státu, které podporou veřejného mínění v české
společnosti neoplývají.7
Systémová analýza informačních zdrojů má hodnotit, zda je již nyní, případně až v budoucnu
možné očekávat vytvoření konstituovaného oboru nebo tématu managementu
nebo popřípadě nové bezpečnostní vědní disciplíny. Rysy systémové syntézy mají být
nalezeny zejména v konceptuálních modelech a dalších inspiracích z obecného managementu,
aplikovaného průběžně na řízení, s odhledem na bezpečnost. Na tomto místě nedokládáme
uznání bezpečnostního managementu (BM) jako vědy, přesvědčení o tom, že systémové
přístupy se ke studiu a řešení úloh BM hodí, je nesporné.
Také u sociálních věd, které však byly asymetricky ideologicky deformovány. Fundovaní formalisté tiše bojovali proti
ideologii a zanedbali v té souvislosti měkké přístupy, jejichž prosazování bylo politicky riskantní.
4
Podle Vítka bývá systémové myšlení vymezováno jako hledání smyslu celků (Kný, et al., 2015). Sledována je vazba mezi
filozofií a chápáním celku, ucelenosti, celistvosti jinými vědními disciplínami. Transcendentalita, pojetí celku na úrovni
individua (ich, sebst) až k nejobecnější, totálně globální úrovni celku (viz C. G. Jung a „jeho“ kolektivní nevědomí, angl.
All , arab. Al, boží) přechází do oblasti filozofie nebo až k liberálnímu vytváření individuálních paradigmat.
5
Zároveň je vhodné připomenout, že „systémový přístup“ není cílem, ale prostředkem k poznání. Tím nemá být řečeno,
že prostředky a podmínky nemají často klíčovou roli v cestě ke znalosti.
6
Na náborovém letáku ke vstupu do řad policie bylo uvedeno mnoho motivátorů, ke kterým humorně kdosi znalý situace
připsal „…a chcete-li být jednou nohou ve vězení.“ Některá povolání nejsou dosud částí naší veřejností přijímána s uznáním.
Mají na tom podíl i masmedia a celebrity.
7
330
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Ve vědě však obecně, ve vědních disciplínách specificky, systémové přístupy mají zdroje
u klasiků, i když tohoto výrazu ani nepoužili. Tondl (1969) při studiu struktury vědy
systémový přístup zmiňuje. Systémový přístup na rozdíl od atributivního přístupu – „neptá se
primitivně na to, co věda (též bezpečnostní management?) je nebo není, ale ptá se po tom, co
dělá, jak funguje, co z ní vychází, a popřípadě dále také na to, jaké jsou její základní složky,
její vnitřní struktura apod.
4
Manažeři pro bezpečnost
Mezi aktuální role manažerů patří odpovědnost za implementaci „opatření k bezpečnosti
organizace“, kterou řídí. Po integraci kompetence ekonomické a informační patří
do potenciálu manažera bezpečnostní kompetence, ta která je podmíněna další nezbytnou
znalostí, dovedností i schopností či talentem, který manažerská profese vyžaduje.
„Bezpečnost“ není všeobecně považována za vědu, ani dosud není výhradním předmětem
některé vědní disciplíny. Praxe rozlišuje množství profesí bezpečnostního charakteru.
Činnosti těchto profesí jsou předmětem zájmu celé řady oborů, které přes rozličné vývojové
cesty obsahují mnoho společného jak co do obsahu a účelu, tak po stránce formy, technik
a procesů.
Výsledky výzkumu (PAČR 2011-2014) kompetence policejního manažera přinášejí poznatky
pro modelovou vybavenost vedoucích pracovníků policie (PČR), svým způsobem také pro
bezpečnostní manažery obecně (Požár et al., 2015).
Součástí integrovaného řízení organizace je samozřejmě existující ekonomický management
a informační management. Řízení speciálních procesů zabezpečuje ekonomický (obchodní,
marketingový apod.) ředitel, náměstek pro informatizaci a v poslední době analogicky
bezpečnostní ředitel. V praxi se postupně a stále intenzivněji vyskytuje speciální profese
bezpečnostního manažera. Taková personální dělba práce je charakteristická spíše pro větší
organizace.
Bezpečnostní situace ve světě i ve všech subglobálních úrovních registruje výskyt nejen
běžných bezpečnostních incidentů, ale také zvlášť nebezpečné až krizové situace. V praxi
je konstituován obor krizového managementu. Vojenské konflikty a rizika vnitřní
bezpečnosti zajímají armádní, policejní, zdravotnické a další instituce a jejich vedení. Řízení
procesů, které vedou k odvrácení a regulaci bezpečnostních hrozeb nebo k návratu
k optimální bezpečnostní situaci vyžadují synergické úsilí pozitivních bezpečnostních sil 8 .
Nejen terminologickým problémem 9 je diference „krizové řízení“ versus „krizový
management“.
„Pozitivní bezpečnostní síly“ jsou pracovním označením pro objektivizovaný a relativizovaný vlivový subjekt vzhledem
k definované cílové bezpečnosti objektu. Pro soupeřící síly v konfliktu mohou být jejich činnosti stejně tak pojaty za
pozitivní při vlastním vítězství jako negativní při prohře – získání nevýhody/výhody.
8
K otázce bezpečnostních věd nebylo před deseti lety dosti odvahy zveřejňovat úvahy o jejich existenci nebo konstituování
v soustavě uznávaných věd. Spíše probíhala mise k uznání policejních věd (vedle věd vojenských), dle našeho názoru –
součástí bezpečnostních věd.
9
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
331
Bezpečnost
5
5.1
Bezpečnostní situace
Bezpečnostní situaci je žádoucí vztahovat k objektu, zájmovému prostoru jako diagnózu jevu.
Je přirozené ji vnímat jako dynamickou událost, jako stav věci v časovém a prostorovém
intervalu.
Nejblíže vyšší globální bezpečnostní prostor, či systémové okolí respektive prostředí
pro Českou republiku institucionálně stojí EU a NATO. Žádoucí je vysoká
konkurenceschopnost a kompatibilní, integrovaná kooperace. Konkurence je účelově
transformována na spolupráci s prosazením alespoň minimálních zájmů vlastních
(individuálních) i společných (společenských). Jsme svědky toho, že intenzívnější spolupráce
ekonomického partnerství pozitivně vede k zvýšení vzájemné bezpečnosti, avšak
v mimořádných situacích se vztahy mění, vyhrocují (krize).
5.2
Systém řízení
Bezpečnostní situace je vázána na objekt, hmotný, nehmotný, sociální, ekonomický.
Na objekt zavedeme systém řízení. Meritum systému řízení k bezpečnosti je dáno
charakterem objektu. Fyzicky se může jednat o banku, kterou je třeba zabezpečit proti
nežádoucím událostem a napadení banky na určitém stupni nebezpečnosti. Další a další
bezpečnostní prvky zvyšují bezpečnost banky. Není adekvátní tyto „prvky ochrany“
ztotožňovat s „prvky systému“.
Systém řízení rozlišuje nejen strukturu (např. organizace), ale zejména chování, finálně
cílové, účelné a účelové. Malý (2010) zdůrazňuje, že „je třeba podrobněji prozkoumat, jaké
nástroje tyto systémy (řízení, regulace) používají a podrobněji se jimi zabývat.“ Bezpečnostní
systémy (vrstvy systému, subsystémy) patří, pokud se týká procesů – událostí (incidentů
havárií apod.), k jedinečným neopakovatelným a špatně strukturovaným, pro něž je
systémová analýza zvláště důležitá. Projektování bezpečnostních systémů se zpřesňuje na
základě zkušeností z podobných případů (vč. tacitních znalostí)
Regulace je forma řízení (Požár et al., 2015). Typ systému, který podrobujeme pozorování,
rozlišuje mezi univerzem (množinou prvků). Prvky, které jsou zvláště důležité, jsou
rozhodující pro fungování systému a tvoří kritickou infrastrukturu. Tak, jako
v komunikačním systému rušivě působí šum, zde působí narušováním různé vlivy prostředí.
Rozhodující prvky systému představují podstatné proměnné, které bývají nežádoucími vlivy
vychýleny z životně přijatelných mezí. Vlivy to mohou být náhodné a záměrné. Znakem
technických a biologických systémů je schopnost autoregulace. Umělé lidské systémy, např.
systém řízení kvality, mají zakomponovány do procesů neuralgické body se schopností
určité odchylky z optima monitorovat a regulovat, k návratu do rovnováhy. Regulátor
k usměrňování nežádoucích vnitřních i vnějších vlivů může být definován jako systém
(subsystém) řízení. Úplnou regulaci nacházíme u technických systémů. U sociálních, také
bezpečnostních systémů se jedná o regulaci neúplnou.
V Evropské unie (z hlediska ČR úroveň bezpečnostního nadsystému) jsou regulativy v podobě
politik nejběžnější metodou řízení. Implementace politik vychází z rozhodnutí instituceni
332
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
(Rada EU, Evropský parlament a Evropská komise) o předpisech různého stupně závaznosti
pro podřízené subjekty (národní) jako jsou nařízení, směrnice a doporučení. Regulace
chybami (zákon a jeho realizace) má podobu „regulace podle výjimek“. Rovnovážného stavu
se dosahuje pouze v časových okamžicích (krátkém období) Ultrastabilní systémy mají
schopnost adaptace k dynamické stabilitě. Řízení podle výjimek je založeno na selekci např.
informačních zpráv zvláštního významu (porušení legality v aktuálně kritických situacích).
6
Diskuse
Za odbornou diskusi lze považovat nejenom polemiku protichůdných názorů s argumentací
různých mluvčích, nýbrž i vlastní vysvětlení možných pochybností z pestrých názorových
rozdílů z literárních, konferenčních a mezilidských zdrojů. Volíme jednu z forem
– problémovou otázku a reakci na ni.
Bezpečnost lze vnímat jako vlastnost objektu nebo subjektu předmětného zájmu.
Používá se spojení „řízení bezpečnosti“ adekvátně? Proč zavádět „bezpečnostní
management“ jako obor nebo vědní disciplínu?
Pojem „bezpečnost“ má více významů. Charakterizuje například „bezpečnostní situaci“
(někde, něčeho), která nebývá nikdy úplná, zabezpečená je jen relativně podle kritérií
bezpečnostní spolehlivosti, zvolené míry „jistoty“. Relativitu bezpečnosti, zabezpečenosti
nebo ochrany a u lidských systémů v pocitové sféře, tu je třeba chápat dynamicky se měnící.
Ve společnosti nejde o proces automatický, ale podléhající jen vlivu chaotických jevů, ale
také vlivu subjektů. Takové působení je záměrné, řízené. Představujeme si, že bezpečnostní
management, manažeři, řídí činnosti k bezpečnosti, např. kritické infrastruktury. Krizoví
manažeři mají funkce v krizovém plánování, strategicky i operativně rozhodují o opatřeních.
Vrcholní manažeři firem čelí rizikům všemi manažerskými funkcemi. Neobejdou se bez
účinné kontroly. I tím plní roli bezpečnostních manažerů. Velitel (zásahu), který neudělá
fatální chybu, neohrozil vlastní zdroje (lidské), nezvýšil nebezpečnost. Bezpečnost přímo řídit
nelze. Můžeme řídit zabezpečovací práce, stavbu protipovodňových hrází. Záměrné a účelné
ovlivňování a určování podoby bezpečnosti postihuje bezpečnostní management.
Patří systémový přístup v 21. století stále k živým přístupům pro řešení otázek
managementu?
Management je uznávanou disciplínou společenských věd. Ty v současnosti neoplývají
prioritním postavením v průmyslových, politických i akademických kruzích. Jedním
z argumentů je distance od aktuální praxe, také špatná měřitelnost přínosů a zhoršená
konkurenceschopnost s technickými obory. Systémové myšlení, systémový přístup k řešení
společenských problémů poskytují argumentaci na podporu významu společenských věd,
zejména uplatněním do politické praxe. Systémové přístupy se vrací k racionalitě účelného
způsobu myšlení v celistvosti (ta praxi chybí), a také ke klasikům manažerských škol (mj.
Vodáček, Rosický, Koonz a Weihrich). To platí i pro informační management (Vodáček,
& Rosický, 1997, str. 43). Terminologie systémových věd podpírá průhlednost řešení
problémů spojených s aplikovaným systémovým přístupem. Přesné chápání pojmů (v
komunitě systémových inženýrů běžné): systém, prvek, struktura nebo chování a otevřenost
(systému do okolí) charakterizuje verbálně i na modelech abstraktní i konkrétní skutečnosti.
Churchman (1968) ve své knize se k pojmům a kategoriím vizionářsky postavil (Vodáček,
& Rosický, 1997, str. 45). V témže období (1968) přichází biolog Ludwig von Bertalanffy
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
333
s obecnou teorií systémů, která je rozvíjena i v kybernetice (mj. Churchman, Wiener).
Koryfejů kybernetiky a systémového přístup či systémového inženýrství je řada
a z nezmíněných aspoň připomeneme některé „z našich“ Drába, Vlčka, Ehlemana, Habra,
Vepřeka nebo Klíra, či Vítka.
Termínu Systémový přístup se používá již dlouho. Používal se v souvislosti s řízením armád
a vlád odedávna. Až průmyslová revoluce v průběhu devatenáctého a dvacátého století se
tento pojem spojuje s managementem, filosofií a vědou. Biolog Ludwig von
Bertalanffy přemýšlel o živých organismech jako o obecných systémech. Se zvyšující se
komplexitou průmyslových procesů se stala potřeba systémového přístupu nezbytná.
Systémový přístup přišel na svět ve chvíli, kdy vědci a filozofové identifikovali společná
témata přístupu k tomu jak řídit a organizovat komplexní systémy.
Pojem systémový přístup sjednocuje jak analytické, tak i syntetické metody, zahrnující
holismus i redukcionismus. Von Bertalanffy si všiml, že systémy z pohledu přírodovědy jsou
uzavřené – tzn., že nereagují na podněty z vnějšího světa ani žádné podněty nevysílají.
Sociální systémy naopak jsou otevřené, vícevrstvé a vzájemně se prolínající. Vždyť na týž
objekt je možno zavést více systémů, jejich modelů. Jejich kontext však má být uchopen
a zobrazen v celistvosti a přehlednosti. Složité systémy proto prezentujeme na modelech
zjednodušených.
Interakce nebo zpětná vazba?
K současnému managementu patří jako neoddělitelná součást celá oblast informatiky. ICT je
běžně užívanou zkratkou pro integraci jak informačních tak komunikačních technologií.
Známé komunikační schéma představuje spojení mezi dvěma a více komunikanty. To
připomíná subjekt – subjektové působení, charakteristické pro sociální systémy. Stále však je
platný princip subjekt – objektového působení z klasické dialektiky. Jednosměrný
komunikační model od mluvčího/odesilatele k posluchači/příjemci obsahuje vedle šumu také
důležitou zpětnou vazbu.
Příběh z armádní komunikace s nadsázkou: Tady Orel, tady Orel, jak mě slyšíte? Pozice alfa,
slyšíme vás, na kótě 32 je patrný pohyb…
Jednosměrný kanál umožní zpětnou vazbou opět po přepnutí vysílačky jednosměrně vrátit
odpověď. Vícesměrné vazby mezi subjekty/uzly klasickou zpětnou vazbu nerozlišují
a vymezeny jsou tzv. zájmovým prostorem. Podobné prostorové vymezení systému je
využíváno v síťových strukturách ve vojenství nebo v ochraně kybernetického prostoru.
Principu zpětné vazby se užívá v managementu k doplnění modelu subjekt – objektového
působení jako kontrolní vazby pro řídící subjekt o plnění úkolů a efektů řízeného
objektu/organizační složky. V systémovém modelu – viz také (Weihrich, & Koontz, 1993)
– komunikační zpětná vazba prochází všemi manažerskými funkcemi zpět k plánování a cíli.
Moderní management řadí mezi současné přístupy (konce 20. a začátku 21. století) systémové
přístupy k managementu (Vodáček, & Rosický, 1997). Zcela aktuální je pro security
management – cyber security v nadnárodním prostoru, kde „národní hranice“ se na Internetu
těžko dodržují.
Závěr
7
Systémového přístupu využíváme jako nástroje k vymezení bezpečnostního managementu
v prostředí bezpečnostní komunity a jako termín pro novou vědní disciplínu. Paradigma
(Požár et al., 2015) této bezpečnostní disciplíny se zřejmě bude dále vyvíjet v kontextu
334
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
bezpečnostní situace a mezinárodních vztahů. K vlivovým procesům akceleruje význam
kybernetického prostoru, institucionalizace monitoringu a ochrany proti incidentům. Zřizují
se služby ve prospěch regenerace, zejména po útocích k narušení infrastruktury. Měkké
přístupy k systémové bezpečnosti nepředstavují méně cennou nadstavbu, ale naopak vysokou
hrozbu od lidského činitele, chybujícího jako uživatel a škodící jako kreativní útočník.
Aktuální hrozby nadnárodního charakteru vyžadují racionalitu „správného cítění“ proměnit
v racionalitu „systémového myšlení“. Ad hoc vytvářené aliance (např. k poražení
„islámského státu“) se musí shodnout na průniku společných zájmů, aby získaly konkurenční
výhodu nad síťovou strukturou (islamistů) a non normativní strukturou protivníka (non
hodnot „naší“ kultury). Cílový stav dynamiky naprogramovaných bezpečnostních aktivit
zpravidla nekončí dosažením prvního cíle - vítězství. Proces regenerace a adaptace byl
v mezinárodním rozměru několikrát podceněn a stal se příčinou dalšího problému. Celistvost
a úplnost je věcí kvalifikovaného odhadu a správné vize.
Seznam použitých zdrojů
AFCEA (2015). Český slovník pojmů kybernetické bezpečnosti. Retrieved from http://afcea.cz/ceskyslovnik-pojmu-kyberneticke-bezpecnosti/
Churchman, C. W. (1968). The System Approach. New York: Laurel.
Habr, J., & Vepřek, J. (1986). Systémová analýza a syntéza: zdokonalování a projektování systémů.
Praha: SNTL – Nakladatelství technické literatury.
Jirásek, P., Novák, L., & Požár, J. (2015). Výkladový slovník kybernetické bezpečnosti.
Praha: Policejní akademie ČR.
Kný, M., & Požár, J. (2010a). Aktuální pojetí a tendence bezpečnostního managementu a informační
bezpečnosti. Praha: Tribun.
Kný, M., & Požár, J. (2010b). Rozvoj bezpečnostního managementu a informatiky. Závěrečná
výzkumná zpráva. Praha: Policejní akademie ČR.
Kný, M. (2004). Safety – State of Mind Objective Situation. In Proceedings of the Conference
on Secure Europe. Praha: AFCEA.
Kný, M., et al. (2015). Předpoklady informačních systémů v systémovém inženýrství. Praha: Policejní
akademie ČR.
Kný, M. (2010). Systémové myšlení předpokladem poznatkovosti bezpečnostního managementu.
In J. Křupka, M. Vítek (Eds.), Budoucnost systémového vědění. Pardubice: Univerzita Pardubice.
Lukáš, L., Hrůza, P., & Kný, M. (2008). Informační management v bezpečnostních složkách.
Praha: MO ČR.
Malý, J. (2000). Teorie systémů I. Hradec Králové: Gaudeamus.
Požár, J., et al. (2015). Reflexe funkcí bezpečnostního managementu. Praha: Policejní akademie ČR.
Tondl, L. (1969). Člověk a věda. Praha: Academia.
Vodáček, L., & Rosický, A. (1997). Informační management. Pojetí, poslání a aplikace. Praha:
Management Press.
Weihrich, H., & Koontz, H. (1993). Management. Praha: Victoria Publishing.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
335
Acta Informatica Pragensia, 2015, 4(3): 336–348
DOI: 10.18267/j.aip.80
Perspective
Vybrané trendy kybernetické kriminality
Selected Trends of the Cybercrime
Josef Požár*
Abstrakt
V rámci příspěvku je pozornost věnována trendům kybernetické kriminality v budoucím
období, věnující se potírání negativních jevů v rámci kyberprostoru. Struktura článku se
zabývá definicí kybernetické kriminality, její právní klasifikací a zejména možnými vybranými
trendy kybernetické kriminality v budoucím období.
Klíčová slova: Kybernetická kriminalita, kybernetické útoky, trendy, právo.
Abstract
The contribution paid particular attention to trends of the cybercrime in future period
dedicated to combating negative phenomena in the context of cyberspace. The structure
of article concern of definition of cybercrime, its legal classification especially choosing trends
of cybercrime in future period.
Keywords: Cybercrime, Cyber-attacks, Trends, Law.
Úvod
1
V posledních dvaceti letech došlo k rozmachu informačních a komunikačních technologií.
Přinesly nám dříve nemyslitelné zrychlení a tedy i zefektivnění pracovních činností, zábavy
a komunikací. V posledním desetiletí expandoval vývoj výpočetních systémů obrovským
skokem do všech oblastí našeho života. Počítače, výpočetní systémy, nové informační
a komunikační technologie, informační sítě se dnes staly samozřejmostí. Díky rozvoji
výpočetní techniky je možno lépe a efektivněji provádět sběr informací, jejich třídění
a provádět s nimi operace jak analytického, tak i statistického rázu.
Dnes je již používání výpočetní techniky běžné v životě téměř každého člověka. Na druhé
straně bouřlivý rozvoj těchto informačních a komunikačních technologií sebou přináší i jisté
negativní jevy. Fenomén výpočetní techniky však přinesl nejen zjednodušení práce lidí, ale
zároveň se stal zdrojem problémů v oblasti utajení informací a ochrany dat. Zejména se jedná
o počítačovou kriminalitu. V souvislosti s počítačovým útokem a zločinem se používají
termíny počítačová kriminalita, informační kriminalita a nejnověji kybernetická kriminalita.
*
Faculty of Security Management, Police Academy of the Czech Republic in Prague,
Lhotecká 559/7, P.O.Box 54, 143 01 Praha 4, Czech Republic
 [email protected]
336
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
2
Charakteristika kybernetické kriminality
Termínem počítačová kriminalita se obvykle označují trestné činy proti počítačům či trestné
činy páchané prostřednictvím počítače. Obecně ji lze definovat jako trestné činy namířené
proti integritě, dostupnosti nebo utajení počítačových systémů nebo trestné činy, při nichž je
použito informačních či telekomunikačních technologií. Někteří autoři definují počítačovou
kriminalitu jako veškeré aktivity, které vedou k neautorizovanému čtení, manipulaci,
vymazaní či zneužití dat. Je to tzv. počítačová defraudace jako jedna z metod kybernetické
kriminality založená na změně nebo jiné interpretaci dat s cílem získat výhodu, peníze pro
vlastní neoprávněnou potřebu. V dnešní době se stále více používán termín kybernetická
kriminalita od již uvedeného anglického názvu cybercrime.
Počítačovou kriminalitu lze definovat jako trestnou činnost, v níž figuruje určitým způsobem
počítač (chápaný jako souhrn technického a programového vybavení včetně dat), nebo pouze
některé jeho části, případně větší množství počítačů samostatných nebo propojených do
počítačové sítě, a to buď jako předmět této trestné činnosti (s výjimkou majetkové trestné
činnosti), nebo jako nástroj trestné činnosti. Termín informační kriminalita se užívá při
zdůraznění skutečnosti, že trestný čin má vztah k softwaru, k datům, resp. k uloženým
informacím, nebo častěji k informačním technologiím. Podobných definic je celá řada, bylo
by však nad rámec této práce se jim podrobněji věnovat.
Počítače v podstatě neumožňují páchat novou neetickou a trestnou činnost, poskytují jen
novou technologii a nové způsoby na páchání již známých trestných činů jako sabotáž,
krádež, neoprávněné užívání cizí věci, vydírání anebo špionáž.
V současné době nemá pojem kybernetická kriminalita žádný oficiálně stanovený obsah ani
definici. Existuje však více různorodých pojetí. Velmi jednoduše bychom mohli tvrdit, že se
jedná o kriminalitu, kde je hardware nebo software nástrojem pro spáchání, anebo je
samotným cílem této kriminality. Avšak nová publikace uvádí kybernetickou kriminalitu jako
„trestnou činnost, v níž figuruje určitým způsobem počítač jako souhrn technického
a programového vybavení (včetně dat), nebo pouze některá z jeho komponent, případně větší
množství počítačů samostatných nebo propojených do počítačové sítě, a to buď jako předmět
zájmu této trestné činnosti (s výjimkou té trestné činnosti, jejímž předmětem jsou popsaná
zařízení jako věci movité) nebo jako prostřední (objekty) nebo jako nástroj trestné činnosti“
Kybernetická kriminalita má řadu výrazných charakteristik, které ji odlišují od kriminality
klasické. Ve většině případů kybernetické kriminality se neobjevují takové prvky, jako je
násilí, použití zbraně, újma na zdraví osob apod. Zatímco však u klasické kriminality se měří
doba spáchání trestného činu na minuty, hodiny, dny, trestný čin v oblasti kybernetické
kriminality může být spáchán v několika tisícinách sekundy a pachatel ani nemusí být přímo
na místě činu.
Další významnou charakteristikou pro kybernetickou kriminalitu jsou v důsledku značné
ztráty, ať již přímo v podobě finančních částek, nebo v podobě zneužití získaných údajů.
Kybernetickou kriminalitu také provází určitá diskrétnost trestné činnosti. Z uvedeného
vyplývá, proč kybernetická kriminalita bývá, pro svou povahu, označována jako kriminalita
„bílých límečků“.
3
Právní aspekty kybernetické kriminality
V současné době nemá pojem kybernetická kriminalita žádný oficiálně definovaný obsah, ale
existuje více různorodých pojetí, podle toho, z jakého hlediska se autoři na problém dívají.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
337
Kybernetickou kriminalitu je třeba chápat jako specifickou trestnou činnost, kterou je možné
spáchat pouze s pomocí výpočetní techniky, a kde je výpočetní technika předmětem trestného
činu nebo pachatelovým nástrojem ke spáchání trestného činu.
Aby bylo možno hovořit o kybernetické kriminalitě, musí pachatel ke svému jednání užít
nejen výpočetní techniku, ale jeho jednání musí také naplňovat znaky skutkové podstaty
některého trestného činu uvedeného v trestním zákoně a nebezpečnost takového jednání musí
dosahovat požadovaného stupně nebezpečnosti činu pro společnost.
První případy trestných činů spáchaných pomocí výpočetní techniky se na území někdejšího
Československa vyskytly koncem 70. a v průběhu 80. let 20. století. To ještě nebyly
v masovém měřítku užívány osobní počítače, nýbrž hlavně velké sálové počítače. Rychlý
rozvoj a zvyšování množství osobních počítačů a jejich postupné spojování do sítí v 90. letech
vedlo k tomu, že éra kybernetické kriminality začala i u nás.
Na každý jev lze nahlížet z mnoha pohledů a pod různými úhly. Existuje více variant pohledu
na kybernetickou kriminalitu. Kybernetickou kriminalitu lze dělit z hlediska postavení
počítače při páchání trestné činnosti na tyto základní kategorie:
Trestné činy ve vztahu k počítači, jeho příslušenství a jiným nosičům informací
jako věcem movitým
1.


krádež,
neoprávněné užívání počítače (cizí věci).
Skutková podstata je táž jako u trestných činů, spáchaných v souvislosti s jinými movitými
věcmi. V daném případě může jít zejména o tyto trestné činy uvedené v trestním
zákoně:§ 205 – krádež, § 206 – zpronevěra, § 209 – podvod, § 215 a § 214 – podílnictví
a § 253 – poškozování spotřebitele § 230 – neoprávněný přístup k počítačovému systému
a nosiči informací, § 231 – opatření a přechovávání přístupového zařízení a hesla
k počítačovému systému a jiných takových dat a § 232 – poškození záznamu v počítačovém
systému a na nosiči informací a zásah do vybavení počítače z nedbalosti.
Krádež počítače má ovšem odlišné znaky oproti odcizení jiné movité věci. Specifičnost je zde
dána faktem, že počítač většinou zahrnuje v sobě jednak technické zařízení včetně nosiče
informací (hardware) a jednak nehmotný obsah, obecně zahrnující programy (software) a data
(informace). Hodnota nehmotného obsahu může výrazně ovlivnit celkovou hodnotu odcizené
věci. Ta může několikanásobně převýšit cenu samotného počítače.
Trestné činy ve vztahu k software, datům uloženým informacím, počítač a jeho
programové vybavení a data v něm jako cíl útoku, jako předmět trestného činu
(Trestní zákoník, 2009)
2.






porušení autorského práva, práv souvisejících s právem autorským a práv
k databázi, § 270 trestního zákoníku,
útoky viry proti počítačům a informačním systémům,
neoprávněné nakládání s osobními údaji, §180 trestního zákoníku,
ochrana přenášených zpráv (e-mail),
trestná činnost páchaná na internetu,
„hacking“ – neoprávněný přístup a průnik.
Jedná se především o jednání pachatelů, které lze postihovat podle ustanovení § 232 trestního
zákoníku – poškození a zneužití záznamu na nosiči informací. Podle této úpravy bude
potrestán ten, kdo v úmyslu způsobit jinému škodu nebo jinou újmu nebo získat sobě nebo
jinému neoprávněný prospěch získá přístup k nosiči informací a takových informací
338
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
neoprávněně užije nebo informace zničí, poškodí nebo je učiní neupotřebitelnými, nebo učiní
zásah do technického či programového vybavení počítače.
Neoprávněný přístup k datům hackerství je možné postihnout podle charakteru získaných
informací jako trestný čin vyzvědačství § 316 trestního zákoníku. Aktéři útoků proti
programovému vybavení a datům uloženým v informačních systémech se snaží obejít
zabezpečení informačního systému a neoprávněně do něj vniknout buďto z důvodu prokázání
svých schopností nebo s cílem informace zneužít.
3.
Trestné činy, při nichž je počítač prostředkem k jejich páchání




podvody a padělky, § 250 trestního zákoníku,
dokladové delikty,
neoprávněné užívání počítače k vedlejší podnikatelské činnosti – § 249 trestního
zákoníku – neoprávněné užívání cizí věci nebo § 170 trestního zákoníku
– porušování autorského práva,
změny údajů v informačním systému.
Nejčastějším případem jsou podvody realizované formou neoprávněného převodu finančních
prostředků na účet, který byl k tomu zvlášť založený. Pachateli jsou většinou vlastní
zaměstnanci finančních institucí napadající počítačové systémy chráněné identifikací
a autorizací.
Technicky zdatní zloději a zaměstnanci firem zcizí miliony až miliardy dolarů ročně. Zloději
se neomezují pouze na krádeže peněz z bankovních účtů, ale zajímají se o cenné informace,
jako jsou podnikové strategie, specifikace nových výrobků, podrobnosti o smlouvách, data
pak nabízejí konkurenci k prodeji. Hlavními cíli útoků jsou velké banky, telekomunikační
společnosti a další. Zhruba 70 % narušení systémů má souvislost se zaměstnanci postižených
firem.
4.
Útoky na nehmotný majetek, trestné činy ve vztahu k programu jako autorskému
dílu
Svou charakteristikou by tyto delikty mohly patřit do druhé kategorie trestných činů,
vzhledem k jejich četnosti výskytu jsou zařazeny v samostatné skupině.
Toto možné legislativní dělení kybernetické kriminality není samozřejmě konečné a uzavřené.
V průběhu technického rozvoje se budou vyskytovat další nové útoky na data a bude nutné
nově tyto skutky kodifikovat. Z hlediska technických, technologických a programových
přístupů lze popsat kybernetickou kriminalitu podle hrozeb a útoků na data a informace.
V současné době se do popředí dostávají případy útoků proti datům, resp. proti uloženým
informacím. V tomto případě pachatel vede útok proti uloženým či přenášeným datům. Tento
útok může nabýt několika forem. Od nejjednoduššího smazání nebo pozměnění
programového vybavení až po zavedení viru do programového vybavení a následné ztráty
programů a dat.
Mezi formy takového jednání řadíme již zmíněný hacking. Podstatně jiná situace nastává,
když se hacker, který vnikl do databáze, rozhodne, že získané informace nejspíše za určitou
protihodnotu použije.
Další formou tohoto druhu kybernetické kriminality je destrukční činnost pomocí virů. Od
počátku počítačů jsou průvodním negativním jevem počítačové viry. Počítačový virus je
taková forma počítačové infiltrace, která má schopnost vlastního množení a infikování dalších
systémů, bez vědomí uživatele. Jedna z definic počítačového viru zní: počítačový virus je
program či část programového kódu, schopný sebereprodukce bez vědomí uživatele.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
339
Jinými slovy: Vir je počítačový program, který se prostě šíří, aniž by o tom člověk sedící za
počítačem věděl (Přibyl, 2015). Škála destruktivní činnosti je samozřejmě velmi široká a bude
záviset nejen na skupinovém typu viru, ale i na jeho konkrétním typu, mnohdy variantě či
mutaci. Takovými nejobvyklejšími akcemi virů je mazání souborů, zformátování pevného
disku, modifikace dat, označování sektorů za vadné atd. Na druhé straně existují i neškodné
viry, které jen vyhrožují texty či grafickými efekty na monitoru. Počítačové viry mohou být
různého druhu. Například trojské koně, což jsou v podstatě programy, které se chovají jako
zcela legální, ve skutečnosti však provádí škodlivé operace. Jedním z velmi rozšířených virů
jsou i tzv. červi1. Do počítače pronikají většinou elektronickou poštou a otevřením zpravidla
souboru v příloze se červi aktivují a rozesílají zavirované e-maily na další adresy, které jsou
v adresáři počítače uloženy. Další variantou viru jsou back door čili zadní vrátka. Tento vir se
chová podobně jako trojský kůň2. Zadní vrátka mohou být do systému nainstalována spolu
s dodaným programem, kde může mýt trojský kůň, který je vstupem pro infiltraci. To
znamená, že připojený hacker může získat přístup k datům a informacím, může mazat celé
soubory, programy, může telefonovat na účet pravého uživatele, nakupovat a čerpat finanční
prostředky z tohoto účtu apod.
S rozvojem bezhotovostního platebního styku se objevuje i další forma tohoto druhu
kybernetické kriminality, tzv. carding. Jím se obecně rozumí zneužití platebních karet.
Dochází k němu různými způsoby. Vznik cardingu je spjat s rozvojem internetové komerce.
Platební karta se stává převažujícím platebním instrumentem a zabezpečení je v mnoha
případech nedostatečné. Pachatelé cardingu získávají osobní údaje majitelů účtů různými
pokoutnými způsoby. Pachatelé často využívají tzv. generátorů, což jsou programy, které
dokáží vygenerovat číslo kreditní karty na základě zřejmě odcizeného algoritmu. Typický
cardingový útok vypadá tak, že na cílovém účtu se začnou objevovat podezřelé pokusy
o transakci, kdy jakoby někdo testoval, jaký je na účtu zůstatek, a kolik je ještě banka schopna
vyplatit. Toto testování probíhá tak dlouho, až je příkaz k platbě proveden.
Škála protiprávního jednání pachatele s využitím počítače při klasifikaci kybernetické
kriminality je velmi široká. Řadíme sem především softwarové pirátství. Mezi základní formy
softwarového pirátství je možní zařadit:

průmyslově vyráběný software bez udělení licence,

kopírování softwaru bez udělení licence,

plagiátorství nebo také pozměňování originálního softwaru a vydávání za vlastní,

nelegální stahování softwaru pomocí sítě Internet,

vědomé užívání nelegálně vyrobeného softwaru apod.
Crackeři3 jsou podobná skupina lidí jako hackeři, jen s tím rozdílem, že se svými průniky
většinou živí. Specializují se především na užitkový software a hry, u kterých prolomují
ochranné mechanismy proti kopírování a pak celé programy a hry vystavují na Internetu
k volnému stažení nebo za poplatek. Mezi další formy této kriminality dále patří:
Červ se obvykle šíří bez účasti uživatele, přičemž distribuuje své úplné kopie (případně pozměněné) v rámci sítí. Může
spotřebovávat paměť nebo šířku pásma sítě, což může vést ke zhroucení počítače.
2 Počítačový program, který se jeví jako užitečný, ale při stažení z webu pak později působí škody.
3 Cracker neoprávněně přistupuje k datům v počítačové síti nebo počítači a slídí v nich, krade je, nebo s nimi jinak
manipuluje a také ten, kdo prolamuje zabezpečení programů proti nelegálnímu užívání a kopírování.
1
340
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015





4
phreaking – zneužívání telekomunikačních služeb, kdy se využívá telefonní linka
bez zaplacení za tyto služby provozovateli,
sniffing 4 – neoprávněné monitorování elektronické komunikace za využití
speciálních programů, zpravidla v síti Internet,
warez 5 – moderní počítačové pirátství, kdy se sdružují skupiny crackerů, za
účelem prolomení softwarových ochran programů,
spamming – zasílání nevyžádané elektronické pošty, nejčastěji s propagačním
obsahem,
dále vydírání, elektronické výpalné, šíření pornografie, extremismus na Internetu
apod.
Trendy kybernetické kriminality
Kromě běžných uživatelů informačních a komunikačních technologií se bohužel řadí také
mnoho profesionálních pachatelů, kteří provádějí latentní, skryté operace. Kybernetickou
kriminalitu v současné době rozvíjejí ti, kteří v ní hledají zdroj obživy, což vede
k narůstajícímu zapojení organizovaného zločinu. Metody profesionálních pachatelů jsou
stále rafinovanější, a proto aktivní ochrana se stává absolutní nezbytností. (Caponi, 2014;
Cherry Bekaert, 2014; Ciccatelli, 2013)
Dnešní firmy, organizace a státní instituce jsou na počítačích, počítačových sítích a obzvláště
na internetu silné závislé. Počet evropských uživatelů internetu v prosinci 2014 prolomil
hranici 100 milionů. Bohužel internetový protokol TCP/IP6 je velice málo zabezpečený proti
útokům zvenčí. Dnes lze kybernetickou kriminalitu charakterizovat následujícími trendy:
1.
Nové delikty lze spáchat pouze on-line. Jedná se o trestné činy či pouze přestupky proti
integritě, důvěrnosti a dostupnosti počítačových dat a informací. Nejlépe
dokumentovanou formou tohoto typu deliktu je hacking.
2.
Tradiční útoky na okolní počítače, sítě a informační systémy jsou realizovány prostředky
informačních a komunikačních technologií také on-line. Pachatelé využívají k útoku na
data a počítačové sítě takové prostředky jako vydírání, podvody a v poslední době jsou
realizovány metody tzv. sociálního inženýrství. Před dvěma roky bylo zaznamenáno
každý měsíc přibližně 300 škodlivých kódů a dnes je evidováno až 1 500 takových
ohrožení. Kybernetická kriminalita zároveň odráží vývoj tradičních off-line kriminálních
aktivit. Odhaduje se, že přibližně 70 % veškerých škodlivých kódů vzniká za účelem
zisku. Kybernetická kriminalita je v Evropě trestně právní kategorií s nejvyšším nárůstem
trestných činů.
3.
Vzrůstající ohrožení mobilních komunikačních systémů. Nedávný virus Cabir a jeho
následné varianty ukázaly, že ani mobilní zařízení nejsou před útoky zvenčí bezpečná.
Celosvětový počet uživatelů mobilních telefonů koncem roku na více než 2,2 miliardy.
Sítě 3G přinesou ještě větší konektivitu a vzroste prodej Smartphonů. Podle odhadů
vzroste počet útoků na mobilní zařízení v průběhu roku pěti až desetinásobně.
Sniffing (čmuchání) – též odposlouchávání přenosových paketů, které hackerovi vůbec nepatří. Pak přijímá a zapisuje
obsahy všech paketů s danými vlastnostmi. V těchto paketech, pokud nejsou vedeny šifrovaně, je otevřeně vypsáno
uživatelské jméno a heslo. Toho lze pak jednoduše zneužít.
5 Warez je termín počítačového slangu označující autorská díla, se kterými je nakládáno v rozporu s autorským právem.
Slovo bylo vytvořeno z anglického slova warez (zboží).
6 Rodina protokolů TCP/IP (Transmission Control Protocol/Internet Protocol je „primární přenosový protokol/protokol
síťové vrstvy“) obsahuje sadu protokolů pro komunikaci v počítačové síti a je hlavním protokolem celosvětové sítě
Internet. Komunikační protokol je množina pravidel, která určují syntaxi a význam jednotlivých zpráv při komunikaci.
4
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
341
4.
Zneužívání sítí Wi-Fi. Síťoví červi představují nebezpečí pro mobilní telefony a další
přenosná zařízení. Bezpečnost sítí Wi-Fi však byla již v roce 2004 rovněž předmětem
velkých obav. Viry napadající sítě Wi-Fi mohou přecházet mezi jednotlivými sítěmi
a spouštět lokalizované útoky typu Denial-of-Service7.
5.
Masové rozšíření spammingu pomocí trojských koní a botů. Velký nárůst počtu
e-mailových červů (mass mailers) upozornil na jejich existenci. Masový spamming, který
následně umožňuje stažení trojských virů, nakazí nechráněné počítače, aniž by to jeho
uživatel zpozoroval. Takový způsob tajného infikování počítačů umožňuje útočníkům
ovládat pomocí „botů“ – automatických programů, které z jiného počítače ovládají
napadený počítač na dálku. Odborníci odhadují, že počet botů narůstá až o 30 každý den.
Jedná se o nesmírně populární způsob napadení, protože infikování se neustále vyvíjí a je
velice obtížné je vystopovat. V důsledku toho lze předpokládat, že poroste počet
závažných „nárazových“ útoků. Jak se tisíce nakažených počítačů začnou spojovat do
jedné obrovské sítě (bot network – botnet), umožní provádět rozsáhlé útoky typu
Distributed Denial of Service, kde bude kritické úrovně dosaženo během několika minut
a dokonce sekund. Pak nastane přetížení a zahlcení napadeného serveru velkým
množstvím požadavků na služby a ten přestane vůbec fungovat. Stane se tak nedostupný
pro ostatní uživatele.
6.
Nárůst phishingu. Podle Anti-Phishing Working Group bylo v listopadu 2014
zaznamenáno 1518 nových jedinečných phishingových útoků, v lednu téhož roku to bylo
jen 176 útoků. Phishing znamená rozesílání falešných e-mailových zpráv ze zdánlivě
oficiálního zdroje. Tyto zprávy obsahují zpětné adresy nebo odkazy a požadují, aby
adresát aktualizoval určité osobní informace, např. hesla, čísla bankovních účtů nebo
dokonce PIN. To je právě oblast sociálního inženýrství, která se v poslední době velice
rozšiřuje. Vzhledem k tomu, že internetoví podvodníci jsou stále motivováni finančním
ziskem, se předpokládá, že počet případů phishingu se každý měsíc zdvojnásobí a bude
zejména pro běžné uživatele představovat velmi reálnou hrozbu.
7.
Rozšiřování spyware. Spyware jsou programy, které se bez vědomí uživatele zachytí
a instalují v jeho systému. Až dosud se jednalo o převážně neškodné programy, které
měly hlavně za úkol sledovat, které internetové stránky uživatel otevírá. Spyware
využívaly hlavně marketingové a reklamní společnosti. Internetoví pachatelé této trestné
činnosti se však stále častěji zaměřují na finanční zisk, a spyware se tak bude stále častěji
využívat k zištným a nelegálním účelům. Jedná se například o zcizení identity (identity
theft), kdy se takový pachatel vydává za někoho jiného, či k monitorování klávesnice za
účelem zachycení osobních údajů.
Během příštích deseti let dojde k masivnímu rozšíření informačních a komunikačních
technologií (ICT), tak jak ho dnes známe. S nástupem Internetu věcí bude docházet
k propojování ICT firem s firmami z oblasti spotřební elektroniky, ale i dalších oborů.
V následujícím období tak budeme svědky změn na trhu, bude docházet k vzájemným
akvizicím, investicím nebo dohodám o užší spolupráci mezi firmami z oboru ICT a mimo
něj.
Ve studii Cisco Technology Radar se spojují názory více než osmdesáti předních
odborníků a inženýrů jak ze společnosti Cisco, tak mimo ni. V posledních měsících jsme
7
Denial of Service (DoS) čili odmítnutí služeb, kdy se jedná o útok na přenosové kanály a paměti serveru, kdy je tento
zahlcený desítkami tisíc e-mailů a není schopen všechny v daném čase obsloužit. Poté může nastat kolaps, zhroucení
serveru.
342
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
svědky velmi razantní proměny světa ICT a tak nástup internetu věcí a Internet
of Everything přináší na ICT prostředí zcela nové nároky a to se tomu musí přizpůsobit.
Dobrým příkladem je například zjednodušování síťové infrastruktury směrem
k softwarově definovaným sítím, které bude příští rok rozhodně jedním z nejviditelnějších
trendů.
8.
Posun ke cloudovým úložištím. Od mobility a videa se bude svět ICT posouvat stále více
ke cloudovým technologiím a programovatelným či dynamickým sítím. Stále více
zařízení bude připojeno k internetu a stále více služeb či technologií bude k dispozici
prostřednictvím internetového prohlížeče z cloudu.8 To s sebou přinese vyšší nároky na
bezpečnost, ale také na dostupnost a rychlost doručení.
9.
Nástroje pro vzdálenou spolupráci a komunikaci v reálném čase se přesunou do cloudu.
Technologie WebRTC umožňující audio a video komunikaci v reálném čase v prostředí
internetového prohlížeče se přesune i do firemního segmentu. To společně s posilujícím
trendem BYOD9 bude znamenat komoditizaci řešení pro týmovou spolupráci na dálku.
Podle údajů amerického úřadu pro statistiky práce (US Bureau of Labor Statistics) bude
téměř polovina amerických firem umožňovat nové formy komunikace v rámci týmu,
včetně sociálních sítí a spolupráce na dálku. Videokonference, instant messaging10, blogy
a další komunikační nástroje se stanou ve firmách standardem. WebRTC umožní
odstranit bariéry a umožní začlenění do týmu i těm, kterým v tom dosud bránil nějaký
handicap či jiné překážky. Díky novým technologiím získají zaměstnanci mnohem větší
flexibilitu a budou moci pracovat kdykoli a odkudkoli. To dovolí mnohem lépe vyvážit
svůj osobní a pracovní život. Nástroje pro vzdálenou spolupráci v týmu tak například
usnadní návrat ženám po mateřské dovolené, stejně jako třeba lidem s tělesným
postižením, kteří z různých důvodů nemohou docházet do kanceláře. Stejně tak ale
umožní všem zaměstnancům rozložit si práci tak, aby jim zbýval čas na koníčky a rodinu.
10. Nároky na bezpečnost internetu věcí dále porostou. Rostoucí počet zařízení připojených
k internetu bude znamenat i změnu nároků na bezpečnost. Hranice ICT bude postupně
smazána. Bude potřeba vyvinout zcela nové bezpečnostní standardy, které zajistí
bezpečné připojení zařízení, se kterými se dosud svět ICT nesetkával. Může jít například
o nositelnou elektroniku, ale i chytré elektroměry či senzory, ať již v domácnostech, tak
ve městech či průmyslu.
Hranice počítačových sítí se s nástupem internetu věcí smazávají. K internetu už nejsou
připojeny jen počítače či notebooky, ale i nositelná elektronika, senzory a další zařízení.
To ale znamená zároveň nárůst počtu potenciálních slabých míst, protože jejich výrobci
8
Cloud computing je na Internetu založený model vývoje a používání počítačových technologií. Lze ho také charakterizovat
jako poskytování služeb či programů uložených na serverech na Internetu s tím, že uživatelé k nim mohou přistupovat
například pomocí webového prohlížeče nebo klienta dané aplikace a používat je prakticky odkudkoliv. Uživatelé neplatí za
vlastní software, ale za jeho užití. Nabídka aplikací se pohybuje od kancelářských aplikací, přes systémy pro distribuované
výpočty, až po operační systémy provozované v prohlížečích.
BYOD (angl.. "Bring Your Own Device") je vzrůstajícím trendem, který znamená, že si zaměstnanci nosí svá vlastní
"chytrá" zařízení (jako jsou notebooky, smartphony, wi-fi routery apod.) do firemního prostředí. To samozřejmě zvyšuje
tlak na informační bezpečnost, kterou BYOD znesnadňuje.
10 Instant messaging je internetová služba, umožňující svým uživatelům sledovat, kteří jejich přátelé jsou právě připojeni,
a dle potřeby jim posílat zprávy, chatovat, přeposílat soubory mezi uživateli a i jinak komunikovat. Hlavní výhodou oproti
používání např. e-mailu spočívá v principu odesílání a přijímání zpráv v reálném čase.
9
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
343
nemají dosud s kybernetickou bezpečností téměř žádné zkušenosti. Bude tak nutné
připravit zcela nové standardy a změnit pohled na tuto problematiku.
Například chytré elektroměry mohou pomoci dodavatelům elektřiny přizpůsobit
rozvodnou síť aktuálním potřebám odběratelů. Zároveň je ale třeba zajistit, aby data
odesílaná takovým elektroměrem byla pro další zpracování anonymizována a nemohlo
dojít k jejich zneužití.
Dalším příkladem jsou třeba výrobní stroje v průmyslu, které mají na rozdíl od spotřební
elektroniky delší životní cyklus a možnosti pro upgrade jejich ICT částí jsou jen velmi
omezené. Přesto bude potřeba zajistit, aby byly během svého dlouhého životního cyklu
ochráněny před případnými kybernetickými útoky, a zároveň mohly firmy využívat
informací z jejich senzorů pro optimalizaci výroby.
11. Fog Computing přesune data blíže k uživateli. Senzory připojené k internetu budou
zasílat data do cloudu a zároveň je z něj přijímat. Jak jejich počet poroste, může docházet
ke zpožděním při přenosu dat.
Fenomén Fog Computingu umožní přenést data blíže k místu, kde jsou potřeba. To sníží
nároky na kapacitu sítí, jejíž další navyšování by již nemělo smysl. Mezi cloudem
a zařízeními tak vznikne prostor pro datová úložiště a ICT infrastrukturu, která budou
shromažďovat data blíže uživateli. Nástup cloudových technologií a internetu věcí
přinese výrazné zvýšení provozu v datových sítích. Aby nedocházelo k přetěžování
některých přenosných tras, umožní Fog Computing vložit inteligenci na rozhraní mezi
ICT infrastrukturou či třeba senzory a cloudem. Například přepínač doplněný o aplikaci
analyzující spotřebu energie u odběratele může automaticky, aniž by data procházela
internetem až do cloudu, přepínat mezi jednotlivými zdroji energie podle aktuální
spotřeby a dostupnosti. Může tak například místo centrálního přívodu přepnout na
energii dodávanou fotovoltaickými panely a tím pomůže snižovat náklady na energie.
12. Poroste význam analýzy dat v reálném čase. Možnost analýzy dat v reálném čase se stane
jednou z nejdůležitějších vlastností nové generace ICT infrastruktury. Analytické nástroje
integrované do síťových zařízení umožní zaznamenávat dění v síti, monitorovat její
výkon a detektovat případné anomálie. To umožní mnohem efektivnější ochranu proti
případným útokům, ale také optimalizaci sítě v reálném čase. Analytické nástroje
založené na velkých datech a jejich real-time analýze pak otevírají prostor rozvoji
aplikací pro business intelligence, řízení dopravy či přenosových sítí.
V roce 2050 překročí populace Země hranici 9 miliard lidí. Jen pro pokrytí z toho
plynoucí poptávky bude nutné zvýšit produkci potravin o 70 procent. Právě analýza dat v
reálném čase může významně přispět ke zvýšení produktivity a zmenšení ztrát. Přesnější
předpověď počasí s využitím analýzy dat v reálném čase pomůže například stanovit
ideální čas sklizně či hnojení, stejně jako přesněji odhadovat úrodu.
13. Analýza chování uživatelů napomůže odhadu jejich potřeb.
Zejména v oblasti dopravy a prodeje bude znamenat revoluci schopnost odhadovat přání
či záměry uživatelů na základě jejich dosavadního chování a umístění. Tzv. ContextAware Computing pomůže ICT infrastruktuře připravit ta data, která budou v krátké
době potřeba. Podle odhadu expertů je téměř třetina veškerého provozu ve městech
způsobena řidiči hledajícími místo k parkování. Pokud budou mít řidiči ve svých chytrých
telefonech aplikaci, která jim umožní najít nejbližší aktuálně volné parkovací místo, může
doprava ve městech poklesnout až o 40 procent a ruku v ruce s tím klesnou i emise oxidu
uhličitého. Stejně tak například data ze senzorů monitorujících okolní prostředí mohou
344
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
pomoci dodavatelům energií lépe odhadovat nároky na rozvodnou síť. Chytré termostaty
tak například nejenže zapnou či vypnou vytápění, ale zároveň mohou informovat
dodavatele o klesající teplotě v nějaké oblasti a tedy o pravděpodobném zvýšení nároků
na dodávku elektřiny či plynu pro vytápění.
14. Zjednodušení síťové infrastruktury.
V roce 2018 bude k internetu připojeno více než 20 miliard zařízení. To si vyžádá
zjednodušení síťové infrastruktury a vývoj autonomních sítí, které se budou schopny
přizpůsobovat momentálním potřebám uživatelů, aplikací, ale třeba i senzorů. Vývoj
aplikací a sítí bude tak do budoucna mnohem úžeji propojen. Dosavadní architektura sítí
neodpovídá požadavkům, které na ně bude klást nástupu internetu věcí a Internet
of Everything. Propojení lidí, procesů, dat i zařízení do sítě přinese zcela nový typ
požadavků na síťovou infrastrukturu a otevře prostor pro zcela nové aplikace. Bez
zjednodušení by byla stávající infrastruktura velmi zranitelná. Východiskem jsou
Softwarově definované sítě (SDN), které umějí automaticky přizpůsobit architekturu sítě
momentálním potřebám uživatelů nebo aplikací. Takovéto autonomní sítě a prvky
zjednoduší celou architekturu, a zároveň sníží nároky na čas administrátorů, protože se
budou schopné automaticky konfigurovat, spravovat a v případě potřeby i opravit.
Společnost Sophos (2015) zveřejnila zprávu Security Threat Trends 2015, ve které se
zaměřila na největší bezpečnostní rizika nadcházejícího roku – viz také článek (CIO,
2015).
1.
Menší závažnost exploitů 11 a jejich obtížnější zneužití povede nižšímu počtu hrozeb.
Hackeři se po mnoho let zaměřovali především na operační systémy Microsoft Windows.
Díky velkému úsilí společnosti Microsoft o snížení závažnosti zneužitelných
programátorských chyb je dnes ale vytvoření škodlivého software mnohem obtížnější.
Spolu s tím, jak roste složitost využití exploitů, vrací se kyberzločit zpět k technikám
sociálního inženýrství. A mnozí z nich se zaměřují i na jiné platformy, než na ty z dílny
společnosti Microsoft.
2.
Útoky na svět internetu věcí (Internet of Things). Během roku 2014 jsme se setkali
s mnoha důkazy toho, že výrobci zařízení z kategorie internetu věcí na bezpečnost moc
nemyslí. Vzhledem k tomu, že mnohdy nedodržují ani ty nejzákladnější bezpečnostní
standardy, mohou mít útoky na svět internetu věcí opravdu velmi vážné negativní dopady
na svět veskrze reálný. Bezpečnostní průmysl tak musí zohlednit i tento druh rizik.
3.
Šifrování se stává standardem. Povědomí o důležitosti bezpečnosti se bezesporu zvyšuje.
V podstatě ruku v ruce s růstem obav o soukromí, mimo jiné i v důsledku odhalení
nekalých špionážních aktivit zpravodajských služeb. Pozitivním dopadem je, že šifrování
se konečně stává standardní součástí mnoha systémů a aplikací. Nicméně některým
organizacím, ke kterým patří i celá řada právních institucí, se to nelíbí. Odpůrci
argumentují především tím, že šifrování má negativní vliv na bezpečí nás všech.
4.
Nově se objeví se další zatím skryté chyby v široce využívaném softwaru. Zranitelnosti
Heartbleed (openSSL) a Shellshock (bezpečnostní chyba) ukázaly jednu nepříjemnou
věc. Existuje softwarový kód, který je všeobecně považován za bezpečný a používán
11
Exploit je speciální program, data nebo sekvence příkazů, které využívají programátorskou chybu, která způsobí původně
nezamýšlenou činnost software a umožňuje tak získat nějaký prospěch. Obvykle se jedná o ovládnutí počítače nebo
nežádoucí instalaci software, která dále provádí činnost, o které uživatel počítače neví (např. nějaký druh malware). Běžně
používanou ochranou je včasná instalace aktualizací, které vydá tvůrce chybného software.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
345
v celé řadě dnešních systémů. Podstatné je, že o skutečné bezpečnosti tohoto kódu vlastně
mnoho nevíme. A že se ani nemůžeme spolehnout na to, že by muselo jít o ojedinělé
případy. Události roku 2014 vedly k zájmu počítačových zločinců o systémy a aplikace,
které zůstávaly na okraji zájmu. Dnes již víme, že díky falešnému pocitu o jejich skvělém
zabezpečení. Firmy by se proto na tuto změnu přístupu počítačového podsvětí měli dobře
připravit.
5.
Regulační orgány si vynucují stále větší pravomoci včetně širšího přístupu k datům
a informacím, a to především v Evropě. Technologie i bezpečnost se velmi rychle
vyvíjejí. Bohužel legislativa nezvládá s touto rychlostí držet krok. V následujících
obdobích dojde v oblasti práva k celé řadě změn, které jsou prosazovány již po mnoho let
a souvisí právě s počítačovou bezpečností. Je přitom velmi pravděpodobné, že tyto
změny vyvolají další vášnivé diskuse o nutnosti právní úpravy ochrany dat. A také
o rozsahu soudních pravomocí v této oblasti.
6.
Růst zájmu útočníků o mobilní platební systémy poroste, ale zatím se nevyrovná
tradičním podvodům. Mobilní platební systémy se staly jedním z témat roku 2014 poté,
co nepříliš poklidné bezpečnostní vody ještě více rozvířily diskuse o novém platebním
systému Apple Pay. Počítačoví zločinci budou v příštích měsících a letech pátrat po
chybách i nedostatcích těchto systémů, které jsou ale často velmi dobře zabezpečené.
Oprávněně proto můžeme očekávat, že počítačová kriminalita bude v případě platebních
systémů ještě hodně dlouhou dobu využívat „klasické“ postupy. Například zneužívání
kreditních i debetních karet.
7.
Znalostní propast se bude i nadále zvětšovat.
Spolu s tím, jak jsou technologie stále běžnější součástí našeho života a tvoří jeden ze
základů globální ekonomiky, uvědomují si vlády i firmy rostoucí důležitost dovedností
souvisejících s počítačovou bezpečností. Jde ovšem o běh na velmi dlouhou trať a některé
státy předpokládají, že se stav nezmění nejméně do roku 2030.
8.
Služby umožňující útoky i exploit kity přichází na nové platformy včetně mobilních.
Několik posledních let počítačové kriminality velmi úzce souviselo s růstem popularity
univerzálních útočných produktů a služeb, které výrazně zjednodušují tvorbu škodlivého
kódu i útoky. Vzhledem ke stále větší oblibě mobilních platforem (a také zvětšujícímu se
objemu dat na mobilních zařízeních), nebude trvat dlouho a začne se objevovat stále více
zločineckých balíčků zaměřených právě na tato zařízení. Obdobně se tento trend týká
i dalších platforem ze světa internetu věcí.
9.
Zabezpečení řídicích a dispečerských systémů bude zaostávat. Průmyslové řídicí systémy
zaostávají z pohledu bezpečnosti za běžnými systémy nejméně o jedno desetiletí. Během
následujících let se setkáme s celou řadou problémů, které v těchto systémech počítačoví
zločinci bez váhání zneužijí. Motivy navíc budou velmi různorodé. Vedle všech dnes
běžných důvodů se setkáme například i se státem podporovanými útoky v rámci
mezinárodních konfliktů či boje s terorismem. Stručně řečeno jde o oblast, kde je mnoho
ohrožených subjektů.
10. Zajímavé vlastnosti rootkitů12 a botů mohou vést k novým typům útoků. Spolu s tím, jak
se vyvíjí informační technologie, dochází i ke změnám hlavních platforem a protokolů,
12
Rootkit je sada počítačových programů a technologií, pomocí kterých lze maskovat přítomnost zákeřného softwaru v
počítači (například přítomnost virů, trojských koní, spyware a podobně). Rootkit je technologie maskující přítomnost
zákeřných programů skrýváním adresářů, v nichž jsou instalovány do položek registru Windows, procesů, síťových spojení
346
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
které tvoří základy IT světa. Tyto změny na velmi nízké úrovni mohou odhalit
„zajímavé“ chyby, které by mohly počítačovým zločincům nabídnout nové možnosti.
Velké množství změn v dosavadních bezpečnostních technologiích tak povede nejen
k opětovnému zneužití již známých možností, ale také k rizikům spojeným s novými
bezpečnostními chybami.
Internet v současnosti čelí riziku, že se rozdělí na dva tábory a to uživatele chráněné
pokročilými zabezpečovacími programy a na nevědomé přenašeče, kteří prostřednictvím
svých nechráněných počítačů šíří většinu infekcí.
5
Závěr
Otázkou zůstává, jakým směrem se bude v budoucnu ubírat počítačový zločin a s ním
související ochrana informačních technologií. Předpokládá se prudké rozšíření Internetu ve
firmách, státních institucích, ale též v domácnostech. Zvýší se množství elektronicky
přenášených dat a s tím i pravděpodobnost útoků na ně. Mezi odborníky v oboru
informačních technologií se čím dál tím častěji hovoří o tzv. profesionalizaci kybernetické
kriminality a tím i organizované kybernetické kriminalitě. Lze si například představit i situaci,
kdy organizovaný zločin vyzbrojený dokonalými znalostmi dobře placených hackerů začne
vybírat něco jako elektronické výpalné. A instituce, které se budou obávat případného útoku
a nutných astronomických investic do zabezpečení, které bude stejně dříve nebo později
prolomeno, raději zaplatí mafiánům za „ochranu“.
Dalším mimořádně nebezpečným jevem je tzv. lidský faktor. Ze strany pachatelů
kybernetické kriminality bude pravděpodobně čím dál tím častěji docházet k podplácení
a následnému využití osob s přístupovými právy do systému, tedy zaměstnanců,
administrátorů apod. Potvrzuje se zde tedy, že největší riziko hrozí systému nikoli průnikem
zvenčí, ale především od lidí, kteří mají přístupová práva.
Poděkování
Tento příspěvek byl vytvořen v rámci řešení Projektu vědeckovýzkumného úkolu č. 4/4
„Informační bezpečnost a kybernetická kriminalita v organizaci“, který byl součástí
Integrovaného výzkumného úkolu na léta 2010-2015 „Analýza bezpečnostních rizik
společnosti a jejich transfer do teorie bezpečnostních systémů“ realizovaný Fakultou
bezpečnostního managementu Policejní akademie České republiky v Praze.
Seznam použitých zdrojů
Business IT. (2014). IT v roce 2015: Fog Computing a analýza dat v reálném čase. Retrieved from:
http://www.businessit.cz/cz/it-v-roce-2015-fog-computing-a-analyza-dat-v-realnem-case.php
Dolejš, R. (2014). Co čeká IT v roce 2015. Retrieved from: http://computerworld.cz/udalosti/co-ceka-itv-roce-2015-cisco-technology-radar-51616
Caponi, S. (2014). Cybersecurity Trends for 2014. Corporate Compliance Insights. Retrieved from:
http://www.corporatecomplianceinsights.com/cybersecurity-trends-for-2014/
Cherry Bekaert. (2014). Cybersecurity Trends for 2014. Retrieved from:
http://www.cbh.com/cybersecurity-trends-for-2014/
a systémových služeb tak, aby přítomnost zákeřného softwaru nebyla běžně dostupnými systémovými prostředky
odhalitelná.
Volume 04 | Number 03 | 2015
ACTA INFORMATICA PRAGENSIA
347
Ciccatelli, A. (2013). Top 5 Cybersecurity Trends for 2014. Inside Counsel. Retrieved from:
http://www.insidecounsel.com/2013/12/27/top-5-cybersecurity-trends-for-2014
CIO. (2015). 10 trendů v počítačové bezpečnosti pro rok 2015. Retrieved from:
http://businessworld.cz/analyzy/10-trendu-v-pocitacove-bezpecnosti-pro-rok-2015-12079-p13186
Přibyl, T. (2015). Počítačové viry a jejich svět. Retrieved from: http://docplayer.cz/1872082-I-n-f-o-rm-a-t-i-k-a-a-v-y-p-o-c-e-t-n-i-t-e-c-h-n-i-k-a-pocitacove-viry.html
Sophos. (2015). Security Threat Trends 2015. Retrieved from: https://www.sophos.com/en-us/threatcenter/medialibrary/PDFs/other/sophos-trends-and-predictions-2015.pdf
Trestní zákoník. (2009). Zákon č. 40/2009 Sb. Trestní zákoník. Retrieved from:
www.mvcr.cz/soubor/sb011-09-pdf.aspx
348
ACTA INFORMATICA PRAGENSIA
Volume 04 | Number 03 | 2015
Call for paper  / Informace pro autory
Detailed information about the scope of the journal and its sections including the review process
can be found here. Templates for the articles are available on the journal website.
Podrobné informace o zaměření časopisu a jednotlivých sekcích včetně průběhu recenzního
řízení získáte zde. Šablony pro psaní příspěvků jsou k dispozici na webových stránkách.
June issue / Červnové číslo
Deadline 27th March 2016 / Termín uzávěrky 27. března 2016
December issue / Prosincové číslo
Deadline 16th October 2016 / Termín uzávěrky 16. října 2016
Acta Informatica Pragensia
Publisher
Layout
University of Economics, Prague
Daniel Hamerník & Zdeněk Smutný
Faculty of Informatics and Statistics
The journal Acta Informatica Pragensia
nám. W. Churchilla 4, 130 67 Praha 3
Editor-in-Chief
is open access and has no charge
for article publishing.
Stanislava Mildeová
e-mail: [email protected], tel.: +420 224 095 474
Abstracting & Indexing
European Reference Index for the Humanities and the Social Sciences (ERIH Plus), Research Papers
in Economics (RePEc), Open Archives Initiative (OAI), Directory of Open Access Journals (DOAJ),
Bielefeld Academic Search Engine (BASE), OCLC WorldCat, Google Scholar, Open Academic
Journals Index, Academic Journals Database, ResearchBib Journal Database, National Library of the
Czech Republic (WebArchiv project).
The journal Acta Informatica Pragensia is also included in the government list
of peer-reviewed journals published in the Czech Republic.
General partner University of Economics, Prague
Generální partner Vysoké školy ekonomické v Praze
http://aip.vse.cz

Podobné dokumenty

Recenzovaný vědecký časopis / Peer

Recenzovaný vědecký časopis / Peer ISSN 1805-4951 Vydává / Publisher: Vysoká škola ekonomická v Praze / University of Economics Prague nám. W. Churchilla 4 130 67 Praha 3 Czech Republic (The European Union) IČ / ID: 61384399 Web: ht...

Více

Recenzovaný vědecký časopis / Peer

Recenzovaný vědecký časopis / Peer ISSN 1805-4951 Vydává / Publisher: Vysoká škola ekonomická v Praze / University of Economics Prague nám. W. Churchilla 4 130 67 Praha 3 Czech Republic (The European Union) IČ / ID: 61384399 Web: ht...

Více

Máj 2012

Máj 2012 the case of a lot of tested coatings that were made from pulverised colours applied on phosphate coatings. In order to ensure a  compact coating it is necessary to obtain minimal thickness 60 μm. F...

Více

manuál

manuál Všechny mobilní telefony mohou být rušeny, což může ovlivnit výkon. • Všechny mobilní telefony mohou být rušeny, což může ovlivnit výkon. Nikdy mobilní telefon nepoužívejte bez povolení v blízkost...

Více

Practical Ambient Energy Harvesting for WSNs

Practical Ambient Energy Harvesting for WSNs L, LT, LTC, LTM, Linear Technology and the Linear logo are registered trademarks of Linear Technology Corporation. All other trademarks are the property of their respective owners.

Více