University of Economics, Prague
Transkript
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 nN 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
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...
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...
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...
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...
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.