Recenzovaný vědecký časopis / Peer-reviewed scientific journal
Ročník / Year: 2013
Číslo / Number: 1
ISSN: 1805-4951
Vydává / Publisher:
Vysoká škola ekonomická v Praze / University of Economics Prague
Recenzovaný vědecký časopis / Peer-reviewed scientific journal
Ročník / Year: 2013 (vychází dvakrát ročně / published twice a year)
Číslo / Number: 1
Místo vydání / Place of edition: Praha
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: http://aip.vse.cz
Kontakt a technické informace / Contact and technical information:
Václav Řezníček – [email protected]
Zdeněk Smutný – [email protected]
Redakční rada / Board of editors:
Stanislava Mildeová1 | University of Economics Prague, Czech Republic
Martin Boháček | University of Economics Prague, Czech Republic
Tomáš Bruckner | University of Economics Prague, Czech Republic
Vesna Čančer | University of Maribor, Slovenia
Rasa Daugėlienė | Kaunas University of Technology, Lithuania
Jiří Fišer | Jan Evangelista Purkyne University in Ústí nad Labem, Czech Republic
Milan Houška | Czech University of Life Sciences Prague, Czech Republic
Miloslav Hub | University of Pardubice, Czech Republic
Petr Kučera | Komix, Prague, Czech Republic
Petr Máša | Partners Financial Services, Prague, Czech Republic
Jan Ministr | VSB-Technical University of Ostrava, Czech Republic
Eve Mitleton-Kelly | London School of Economics, United Kingdom
Ingeborg Němcová | University of Economics Prague, Czech Republic
Jan Rauch | University of Economics Prague, Czech Republic
Václav Řezníček | University of Economics Prague, Czech Republic
Markus Schwaninger | University of St. Gallen, Switzerland
Antonín Slabý | University of Hradec Králové, Czech Republic
Zdeněk Smutný | University of Economics Prague, Czech Republic
Olga Štěpánková | Czech Technical University in Prague, Czech Republic
Prokop Toman | Czech University of Life Sciences Prague, Czech Republic
Milan Turčáni | Constantine the Philosopher University in Nitra, Slovakia
Viktor Vojtko | University of South Bohemia in České Budějovice, Czech Republic
Jan Voráček | College of Polytechnics Jihlava, Czech Republic
1
Šéfredaktorka / Editor in Chief
OBSAH / CONTENT:
Recenzované stati / Peer-reviewed papers
A Transitive Recommendation System for Information Technology Communities ................ 1
Waleed M. Al-Adrousy, Hesham A. Ali, Taher T. Hamza
Approaching Retargetable Static, Dynamic, and Hybrid Executable-Code Analysis ............ 18
Jakub Křoustek, Dušan Kolář
The adolescence of electronic health records:
Status and perspectives for large scale implementation ......................................................... 30
Stefan Sauermann, Matthias Frohner, Philipp Urbauer, Mathias Forjan,
Birgit Pohn, Andreas Drauschke, Alexander Mense
Vplyv sofistikovaného hybridného Honeypotu na efektivitu architektúry systému
detekcie prieniku v distribuovaných počítačových systémoch............................................... 39
/ Influence of Sophisticated Hybrid Honeypot on Efficiency of Intrusion Detection System
Architecture in Distributed Computer Systems
Peter Fanfara, Martin Chovanec
Vizuální jazyk Archimate pro modelování Enterprise architektury
na příkladu integrace ekosystému tabletu............................................................................... 57
/ Visual language Archimate for Enterprise Architecture modelling
– an example of a tablet ecosystem integration
Hynek Stehlík
Jak žáci a učitelé českých škol využívají Internet .................................................................. 70
/ How Czech Students and Teachers use the Internet
Václav Nádvorník
Viacjadrová architektúra zameraná na akceleráciu výpočtov ................................................ 79
/ Acceleration based on multicore architecture
Liberios Vokorokos, Eva Chovancová
Uplatnění systémového myšlení v analytické fázi vývoje aplikací ........................................ 91
/ Applying systems thinking in the analytical stage of application development
Anna Exnarová
Optimalizácia monitorovania sieťovej prevádzky ................................................................ 101
/ Optimization of Network Traffic Monitoring
František Jakab, Adrián Pekár, Peter Feciľak, Miroslav Michalko
Knižní recenze / Book reviews
Sociální inženýrství aneb umění klamu ................................................................................ 122
/ Social engineering or the art of deception
Tomáš Klíma
Zamyšlení / Reflections
Relativita poznání jako východisko uvažování .................................................................... 125
/ Relativity of knowledge as basis of thinking
Martin Sova
Acta Informatica Pragensia
2(1), 2013, 1–17, ISSN 1805-4951
Online: aip.vse.cz
Section:
Peer-reviewed papers
A Transitive Recommendation System for Information
Technology Communities
Waleed M. Al-Adrousy1, Hesham A. Ali2, Taher T. Hamza1
1
Department of Computer Science, Faculty of Computers and Information
Mansoura University, Egypt
2
Department of Computer Engineering and Systems, Faculty of Engineering
Mansoura University, Egypt
{waleed_m_m, [email protected], [email protected]
Abstract: Social networks have become a new trend for research among computer
scientist around the world. Social network had an impact on users' way of life. One
of social network usages is recommendation systems. The need of recommendation
systems is arising when users try to know best choice for them in many items types
(books, experts, locations, technologies, etc.). The problem is that a single person
can't try all alternatives in all possibilities life goals to compare. Thus, a person has
to use his friends' expertise to select better option in any item category. This
process is the main idea of “Recommendation Systems”. Recommendation systems
usually depend on users-to-items ratings in a network (graph). Two main
challenges for recommendation systems are accuracy of recommendation and
computation size. The main objective of this paper is to introduce a suggested
technique for transitive recommendation system based on users' collaborative
ratings, and also to balance loading of computation. All this has to be applied on a
special type of social network. Our work studied the transitivity usage in
connections to get a relation (path) as a recommendation for nodes not directly
connected. The target social network has eight types of nodes. So, there are
techniques that are not suitable to this complex type of network. Those we can
present a new support for recommending items of several types to users with
several types. We believe that this functionality hasn't been fully provided
elsewhere. We have suggested using single source shortest path algorithm
combined with Map Reduce technique, and mathematically deduced that we have a
speeding up of algorithm by 10% approximately. Our testing results shows an
accuracy of 89% and false rejection of 99% compared to traditional algorithms
with less configuration parameters and more steady count of recommendations.
Keywords: Social network, Recommender systems, Collaborative filtering,
Parallelism, Web mining, Graph theory
2
Al-Adrousy, Ali, Hamza
1 INTRODUCTION
Social networks become one of human communications media. In social networks, users communicate
to their friends using modern web 2.0 technologies. Each user can have many friends and in turn each
friend can have many friends, so the transitive nature between users can lead to a Friend-of-a-Friend
relationship (FoaF). Social networks environment encouraged the development of a trend called
“Recommendation Systems”, this trend aims to recommend the best item of interest to a specific user
based on his friends or his FoaF's recommendations – sometimes called “ratings”. The
recommendation systems themselves usually depend on social network and users' interactions with
themselves and with other items (books, articles, code snippets, etc.). Usually those interactions can be
stored in a log file or database. Sometimes, not all recommendations are trust worthy so a process of
Collaborative Filtering (CF) is applied to remove anomalies of recommendations. According to [1],
CF tries to identify users that have relevant interests and preferences by calculating similarities among
user profiles. Recommender systems have several challenges [16]:
Accuracy of suggestion (recommendation), which measures how much similar the suggested items to
user to his/her preferences.
1. Traceability, which means that system can present good reasons to user to know why the
suggested items are selected. This should be presented in user-friendly way.
2. Timely calculation: whatever the techniques applied in recommendation systems, they should
operate in a fast way for both users and server sakes.
3. Load balancing for huge calculations processes. This point can lead also to achieve the timely
calculation goal (3rd point).
In this research, we are interested in 1st and 4th points (accuracy and load balancing). However, we add
an extra dimension to the first point, which is to get the transitive relationships between nodes which
are not directly connected. According to [16], there are several types of recommendation systems:
1. Rank-based recommendation: that's to calculate score for each item, and order items by it.
This is similar to web ranking. Examples for these techniques are Tensor factorization and
FolkRank [16].
2. Content-based recommendation: some semantic analysis is applied to content, meta-data or
description of each item and then recommendation is calculated to measure how similar the
item to each user profile.
3. User-based recommendation, that's to use other friends (or similar users) experts and get their
suggestions.
Our work is focused on 3rd type of recommendation (user-based). This paper is organized as follows;
some background and similar work are presented in section 2. The suggested technique is presented at
section 3, with some mathematical analysis for algorithm speedup. In section 4, testing results and
metrics are presented, and finally section 5 is the conclusion.
Acta Informatica Pragensia
3
2 RELATED WORK
There are some common problems in researches about recommender systems [24]; prediction
accuracy, testing opinions' subjectivity, recommended items suitability rather than being high ranked,
effective preferences inference, trust formation of recommended items and usability of recommender
systems interface layout. Those problems focus on the value of the recommended items rather than the
performance of recommendation process itself. Recommender systems had many forms over the few
past years. Some expert systems such as "Syskill & Webert" and Web Browser Intelligence (WBI)
[25] applied intelligence to learn user preferences and patterns of recommendations and decision trees.
This system allowed user to make symbolic ratings about items using words like cold or hot. The
symbolic ratings were converted later by the system into numeric ratings [26]. Numeric rating aimed
to handle the problem of difference in modeling nature between the human view and machine the
view. However, this approach used explicit user likeness actions where user selects the rating for the
item. Another technique in recommender systems was modeling of general interests was the analysis
of user's navigation actions items pages. Also, another set of techniques is to use geographic location
as a measure in recommendation systems for similarity, a good survey about this set is listed in [31].
Knowledge based filtering was discussed in the work of Bruke et al. [27]. Their work classified
knowledge into three areas: the social knowledge about users' database, the individual knowledge
about a particular user and content knowledge about the items in the network. They discussed some
problems in knowledge based filtering such as the distribution of users to items. In that problem, few
items gain the attention of users while some other good items may not discovered.
Some techniques of natural language processing and semantic analysis have been used in some
researches such as the work of Santos and Boticario [28]. In that research a new concept of Semantic
Educational Recommender Systems "SERS" was introduced to join e-learning with semantic analysis.
In [29] a survey is introduced to explore the features of some social networks that include e-learning
support. One of those discussed networks is "OpenStudy" which was a large social learning
community.
Many researchers have studied social networks containing two types of nodes (bipartite graphs), such
as users-to-items relationships. Items can be anything; products, videos or articles...etc. We shall
present two families of related work: suggestion accuracy and Map Reduce application. Each of them
is applied for network graphs. Sometimes those graphs are randomly generated with simulation rules
while other researchers have used a real data set to test their work.
Firstly, for accuracy: According to [9, 10, 11, 12, 30], there are some researches to solve sparsity and
cold-start problem. Ceylan and Birturk [19] have focused on semantic similarity calculation using
three types of similarities; taxonomy (ontology analysis), relation and attributes. They made two
predictors for ratings stored in a matrix. They suggested two models; SEMCBF (content based) and
SEMCBCF (content and collaborative analysis). They could get a precision of about 63 and recall of
range 92-93 approximately [19]. On the other hand, Purtell and his team [20] have developed a greedy
algorithm for constructing social topologies from users' groups’ communications data. Their work
aimed to analyze emails and photo tags from users' profiles to build general information about social
network. They applied their work on a collection of 1,995 email archives and 286,038 tagged photos
4
Al-Adrousy, Ali, Hamza
from Facebook website [20]. Some data mining techniques have been used for dimensionality
reduction like Singular Value Decomposition (SVD) [13, 23]. By applying SVD, user-item rating
matrix sparsity is reduced. Other researchers have used the semantic analysis of social content [14].
Another research technique was to use control theory and dynamics [15]. Papagelis and his team [1]
suggested a technique in section 3 to use trust inference and user similarities estimation. They used
Pearson co-relation to calculate recommendation for items. They also discussed the use of user
similarities to enhance the recommendation.
Secondly, for Map Reduce with graphs: Ekanayake et al. have made [32] a good survey on applying
Map Reduce for data intensive analysis. Morales and his team [21] have addressed the problem of
social content matching using Map Reduce to handle very large data sets. Their algorithms (StackMR
and GreedyMR) are tested on large data sets [21]. Both algorithms scale extremely well. However,
StackMR requires only a poly-logarithmic number of Map Reduce steps, making it an attractive option
for applications with very large data sets. Some other surveys were made in [17, 33, 34] about map
reduce for parallel data processing.
Most of above work either focus on data mining side of computation, or the distributed computation
mechanism. We combine both of them besides studying the multi-mode graph to get transitive
recommendations for far away items.
2.1 CONTRIBUTION
In this paper we focus on a special case of graph of multi-type nodes, k-partite graph. To be specific
we targeted an eight-partite network introduced in the following section. One importance of this eightpartite is the relation between the university sciences and real life career. Our work is focused on two
major targets: parallelism of computation, and accuracy of suggestions. This paper suggests different
technique for calculating recommendation rating queried by a user about an item. The technique of
Map Reduce is suggested for load balancing. The algorithm of single source shortest paths is
suggested to be used with combination with hierarchical clustering. Our work is tested in two parts;
the first part is a mathematical part for Map Reduce effect, we concluded that we have a speeding up
of algorithm by 10% approximately. The second part was a simulation testing for accuracy of
suggestion. Our testing results for that part shows an accuracy of 89% and false rejection of 99%
compared to traditional recommendation systems algorithms with less configuration parameters and
more steady count of recommendations. We can claim that our work uniqueness is the combination of
recommendation systems, Map Reduce, and academic learning co-relation with real life careers using
eight-partite graph. An additional contribution is combining the previous goals with the ability to get
transitive recommendations for items recommended by people not directly connected to starting user's
friends. The nature of single source shortest path algorithms enabled that functionality.
3 SUGGESTED APPROACH
As we introduced in section 2, Papagelis and his team [1] suggested a technique in their paper (section
3) to use trust inference and user similarities estimation. This work is our start and we suggest using
single source shortest pass algorithms to get a strongest relation of nodes in less time. We shall focus
on Bellman-Ford [2, 3] algorithm applied on clustering results.
Acta Informatica Pragensia
3.1
5
PROBLEM MODEL
Our main concern is based on a need for a broader range social networks, not just two-mode networks,
but also multi-mode networks. In practice there is a relationships in information technology
communities between many elements, we would focus on eight types of nodes: developers, users,
technologies, reusable components, version control repositories, students, educational courses and
companies. Figure 1 presents an overall relations graph between those elements. In Figure1 there's a
symbol letter beside the name of each node (Element) to be used later in discussion, Each element has
different view: Developers set (D) want to get best reusable components tested and documented and
technologies set (T) for long term projects. Also, they may want to know which courses are best to get
trained on to be up-to-date. Also, Companies want to hire the best developers, either for long or short
term hiring. Or even to know which developer is good to use for outsourcing. Also, companies want to
follow the trends of new technologies and have a decision when to migrate to a new technology.
Students set (S) want to learn new technologies and be up-to-date, and in the same time have a clear
vision which academic educational courses are useful to their study. Users set (U) want to use or buy
the best Products set (P) and have an advice from a friend which product is trusted. Courses
Curricula set (C) need to be updated quickly to provide market needs. Reusable Components and
libraries set (L) already have version control repositories set (R). Those repositories have some
useful data in their log, like frequency of updates, passed unit tests, quality assurance history and so
on. Those data are important to estimate the quality of a product, but they aren't understood by regular
users. So, if there's a simple understood measure of quality to users based upon quality nature, so more
trust can be achieved.
Fig. 1. Overall graph of relations nature between nodes.
According to relationships, there are three types of relationships: Trust relation (which is between
humans and each other). Usage relation (which is between an item and its user). Recommendation
relation (which is a higher degree of usage that has a degree of satisfaction). The social network itself
6
Al-Adrousy, Ali, Hamza
can be modeled as a large graph G(V,E), Where ∈ ,
∪ ∪ ∪ ∪ ∪ ∪ ∪
,∧ ∃ ∈ ,
∣ ∣∈ . Usually, Social network edges values are limited to small set of integer
values like set [1, 5] to express strength of relation between edge ends. Sometimes, some social
networks express (Dislike) relation in negative values. There are some examples of applications in
this large graph: Recommendation of products (P) to customers U (direct relation), recommendation of
courses C to students S (direct relation), recommendation of courses C to students S though
technologies (Indirect relation by filtering the direct relations between C and S), recommendation of
Market trends U to students S though technologies T, products P, libraries L and so on. An important
aspect is to get a relation between nodes not directly connected or not even from the same type or
cluster. For example, to get a recommendation for students to learn new technologies based on the
popularity of products developed by that technology.
3.2 PRELIMINARIES
3.2.1
BELLMAN-FORD ALGORITHM
Bellman–Ford runs in O(V·E) time [2], where V and E are the number of vertices and edges
respectively. The Bellman-Ford algorithm determines the shortest path from the source s to each v in V
for a graph G = (V; E) with real-valued weights, which may be negative. This point is important in
case of expressing dislike operations in social network, which would result in negative edges between
a user and an item. The algorithm assigns each vertex v in V its correct shortest path weight, provided
there are no cycles with negative weights. The algorithm then returns true if and only if there are no
negative weight cycles. The algorithm is described in Listing 1.
procedure Bellman Ford(list vertices, list edges, vertex source)
// This implementation takes in a graph, represented as lists of vertices
// and edges, and modifies the vertices so that their distance and
// predecessor attributes store the shortest paths.
// Step 1: initialize graph
for each vertex v in vertices:
if v is source then v.distance := 0
else v.distance := infinity
v.predecessor := null
// Step 2: relax edges repeatedly
for i from 1 to size(vertices)-1:
for each edge uv in edges: // uv is the edge from u to v
u := uv.source
v := uv.destination
if u.distance + uv.weight < v.distance:
v.distance := u.distance + uv.weight
v.predecessor := u
// Step 3: check for negative-weight cycles
for each edge uv in edges:
u := uv.source
v := uv.destination
Acta Informatica Pragensia
7
if u.distance + uv.weight < v.distance:
error "Graph contains a negative-weight cycle"
List. 1. Bellman-Ford Algorithm [2, 4].
Bellman-Ford is preferred than another algorithm called Dijkstra shortest path [2, 4] for its complexity
and running time.
3.2.2
SIMILARITY OF SAME-TYPE NODES
As presented in [1], similarity between users can be estimated using the following equation:
∑
,
,
∑
,
∑
,
From [1] the definition for this Pearson correlation uses the following symbols: ux, uy are two friend
users. Items co-rated by both users are subset I={ix, x=1,2,....n}. rux,ih rating of user ux to item ih. rux, ruy
are average ratings by users ux, uy.
3.2.3
MAP REDUCE
As explained in [22, 33, 36], Map Reduce is a parallel and distributed solution approach developed by
Google for processing large data sets. Map Reduce has two key components. Map and Reduce. A map
is a function which is used on a set of input values and calculates a set of key/value pairs. Reduce is a
function which takes these results and applies another function to the result of the map function. The
approach assumes that there are no dependencies between the input data. This makes it easy to
paralyze the problem. Map Reduce depends on forking(Map) a computing over many processing units
and aggregate their results (Reduce) to form final total result [8,17] as shown in figure 2:
8
Al-Adrousy, Ali, Hamza
Fig. 2. Map Reduce Architecture according to [37].
This can reduce overhead on server and reduce calculations time.
3.3 SUGGESTED MAIN ALGORITHM
Instead of relaying only on either trusted friends' recommendations or similar users' recommendations,
we suggest combining both of them in the following way:
Find Recommendations (Multi-Partite_network, partite_count, count of clusters): Complexity Estimation
1.
Consider each node a cluster initially
O(m)
2.
Sort all graph nodes based on hash value
O(m2)
3.
Find proximity matrix by getting all output edges weights for each node.
O(m)
4.
T = partite_count
O(1)
5.
Initialize T of sub-proximity matrices, each matrix is for a set of nodes of same types.
O(m)
6. Parallel For each sub-proximity matrix M
Use Manhattan distance to cluster nodes inside same type sub-graph store the results as
connected components
O(m2 +u) without
parallelism, O(m+u) with
parallelism.
7.
Merge all connected components arrays into a single array.
O(m2)
8.
Create a graph of connected components,
O(1)
9. Let connected components graph edge weights = sum of all common edges between the O(m.u)
nodes of those two components. (edges grouping)
10. Remove weak relations between connected components.
O(u)
11. Apply Hierarchical clustering to cluster connected components as blocks.
O(u.log u)
12. Apply Bellman-ford shortest path calculation on each cluster.
O(u.e)
13. Let Recommendation set for each cluster = cluster neighbor of other types.
O(u)
List. 2. Suggested Algorithm.
Acta Informatica Pragensia
9
For edges in graphs, there is a problem; the nature of relationships between nodes differs. Some
relationships that express “trust” can be expressed in range [-5,5]. However, dependency relations
have broader range (like case of libraries and products). So, to unify our calculations we need a
normalization pre-processing. For normalization, we suggest the following equation:
,
,
Where i is the edge with index i, t the type of node, E(i,t) is the original edge weight for edge i, N(i,t) is
the normalized edge i in type t, Max(Et) is the greatest edge weight per same type t. in fact this is not
a perfect normalization, but it's quick for computation. In the algorithm in listing 2, the 6th step is
parallel, which enables the use of Map Reduce algorithm. In the following section, we shall present a
mathematical analysis for the suggested algorithm to get an approximation of computation speedup. In
second column in table in Listing 2, an estimation of each instruction complexity is presented to allow
mathematical analysis in next sub-section.
3.4 PARALLELISM SPEEDUP APPROXIMATION
The speedup of calculation can be estimated by Dahlia’s Law [18]:
1
1
Where p is the percent of parallel code, and n is the number of processing nodes. In fact, this law is
applied in multiprocessing systems originally. Of course, in distributed systems there should be a
consideration for network overhead. However, the Dahlia’s law is a good approximation for speedup.
So in order to calculate the p factor we introduced a mathematical analysis for algorithm individual
instructions in listing 2. First analysis for algorithm without parallelism:
2 3∗
2∗
∗
2∗
∗ log
.
and since u and e are less than m, then:
2
3∗
.
2∗
10 ∗
, and when algorithm has parallelism:
∗
2∗
∗ log
So,
9∗
, Then by dividing the parallelism by linear size, we can say that the
parallelism had a decreased size percentage 0.9 approximately. So the percentage of parallel code (p)
= 1-0.9 = 0.1 approximately. So we can apply Dahlia’s law at p = 0.1 for any number of
multiprocessing cores n.
4 TESTING AND RESULTS
4.1 SIMULATION ENVIRONMENT
Basically, we focused in this paper on testing the accuracy of transitive recommendation which is the
second goal of algorithm. For the first goal (load balancing) we presented a mathematical analysis for
it in sub-section (3.4). in that analysis we concluded that parallelism is effective by 10%
10
Al-Adrousy, Ali, Hamza
approximately. Running tests using JUNG[5] and LingPipe[6] java libraries for eight-partite graph for
several random samples. The following figures show some samples of original testing networks (2
samples with different sizes), shown by figures 3 and 4.
Fig. 3. Sample 1
Fig. 4. Sample 2
In the our experiments, we randomly created graphs, containing eight types of nodes to represent
eight types of objects in target study; students, courses, repositories, technologies, users, developers,
products and reusable components. For simplicity, we've assumed that each type have equivalent
number of items. Figure 3 shows a graph with 10 nodes for each type, while figure 4 shows another
graph with 15 nodes per type. The edges in both graphs are also randomly created within a specified
range for each type. The experiment method tried to compare traditional Collaborative Filtering
techniques described in [1] with our suggested technique, and see how far our suggested algorithm
could reach the same results using single source shortest path algorithm. After clustering both samples
we get the following two connected components graphs shown in figures 5 and 6. The edges between
clusters are the summation of outgoing edges weights in the children of each clustering to the other
cluster children. After that a removal of weak edges is done. The value of threshold is fixed to an
arbitrary value since it's beyond the scope of the current study.
Acta Informatica Pragensia
Fig. 5. Clustered Sample 1
11
Fig. 6. Clustering sample 2
To evaluate algorithm we have applied several metrics discussed in the following sub-section to
compare traditional recommender system algorithm with our suggested algorithm.
4.2 USED METRICS OVERVIEW
The used metrics for comparison is based on LingPipe library [6] precision evaluation. The precision
recall evaluation is a matrix of counts of reference (goal) and response (tested) classifications. When
a tested classification contains a target item then the value of the matrix is “true”. Otherwise the
“false” value is stored in matrix. To compare two classification results, the precision matrix is
evaluated first, then iterating over all classes generated in matrix. The ideal target is to have all
classifications sets common in those two matrix and no extra sets in any of them to 100% match.
Table 1 presents all possible combinations between response and reference [6].
Response matrix
Referenc
e matrix
True (found)
False (missing)
Reference
Totals
True
(found)
True Positive
(TP)
False Negative
(FN)
Positive
Reference
False
(missing)
False Positive
(FP)
True Negative
(TN)
Negative
Reference
Positive Response
Negative Response
total
Response Totals
Tab. 1. The relation between a reference and response in precision matrix. [6]
From those cases we can get several statistics [6, 7, 35] presented in Listing 3.
12
Al-Adrousy, Ali, Hamza
1.
2.
3.
4.
5.
6.
7.
∗
8.
,
9.
1
∗ 1
,
where
1
10.
where:
2
and
,
List. 3. Summary of statistics used for evaluation.
In the following sub-section 4.3, a comparison is performed using the previous metrics.
5 EXPERIMENTS RESULTS
Consider the CF algorithm is reference and suggested clustered CF algorithm is response, we
performed several experiments and we got those results.
Measure
AVERAGE
Accuracy
0٫89
Rejection Recall
0٫89
Rejection Precision
0٫99
Random Accuracy
0٫85
Random Accuracy Unbiased
0٫85
kappa
0٫25
Tab. 2. Testing results for comparing basic CF and Clustered CF.
The most important results are: accuracy from table [2] is 89%, and the rejection precision is 99%. So
the, the suggested algorithm is moderate compared to original algorithm. However, Kappa agreement
value is too low. We have an assumption that the too low kappa agreement is resulted due to extra
transitive recommendation inferred by suggested algorithm. The discussion point is: are those extra
13
Acta Informatica Pragensia
recommendations really suitable to querying start users? Well, this can't be covered in random
simulation, and has to be tested on real users and get a real feedback to have some sort of supervised
evaluation. Unfortunately, since our suggested eight-partite network is not covered a lot in previous
researches, we didn't find suitable data set to test our algorithm on it. All available data sets are either
same-type nodes with relationships or bi-partite networks (2 types of nodes only).
In order to explore in more detail the existence of extra recommendation by our algorithm compared to
traditional collaborative filtering algorithm [1], we've made another experiment to compare count of
suggested items in both algorithm in traditional recommendation shown in table 3 and Figure 7. Our
experiment was designed to generate random network with fixed number of items per partite. After
that, both traditional recommendation algorithm and our suggested algorithm are applied to the same
network in each case. We've assumed that the traditional algorithm needs parameter k, as number of
maximum recommended items per request. Of course, this parameter has many values, starting from 1
to n in case of network of items. So, in each network test case, we have tested many values for k in
within that range. The values in table 3 are the result of dividing the value of suggested algorithm
average count of recommendation over the traditional algorithm average count of recommendation.
Items per
partite
Maximum recommendation parameter k
1
3
5
7
9
11
13
15
17
19
29
35
43
49
10
10.00 10.00 5.00
5.00
3.30
-
-
-
-
-
-
-
-
-
12
12.00 12.00 6.00
4.00
4.00
4.00
-
-
-
-
-
-
-
-
14
14.00 14.00 7.00
4.66
4.66
3.50
3.50
-
-
-
-
-
-
-
16
16.00 16.00 8.00
5.30
5.30
4.00
4.00
3.20
-
-
-
-
-
-
18
18.00 18.00 9.00
6.00
6.00
4.50
4.50
4.50
3.60
-
-
-
-
-
20
10.00 10.00 5.00
3.30
3.30
2.50
2.50
2.00
2.00
1.60
-
-
-
-
30
10.00 10.00 5.00
3.30
3.30
2.50
2.50
2.00
2.00
1.60
1.40
-
-
-
50
10.00 10.00 5.00
3.30
3.30
2.50
2.50
2.00
2.00
1.60
1.25
1.10 0.91 0.77
100
10.00 10.00 5.00
3.30
3.30
2.50
2.50
2.00
2.00
2.00
2.40
1.10 1.00 0.91
Tab. 3. Matrix of Comparison Ratio.
So, when the comparison ratio is 2.0 for example, it means that our algorithm has produced twice as
traditional algorithm (200%). In fact, our algorithm is steady in the number of items of
recommendation; it produces almost the same count of recommendations and doesn't need extra
parameter of k. In fact it's the same value in column at k=1 in table 3. We assume that is easier for
users who don't want to enter configuration values like k. the dashed values in table 3 means that k
value is not applicable in that case. An interesting result has been noticed, that as more convergent the
value of k to the value of count of items per partite, the more similar count of items produced by the
two algorithms and at some point our algorithm produces less results than the traditional algorithm. To
judge which is more correct, we need a real sample data set with a real feedback of users to get some
14
Al-Adrousy, Ali, Hamza
sort of supervised learning. In figure 7, a curve is made for each sample with fixed count of items per
partite. The curve values themselves are the comparison ratio values defined in table 3.
Fig. 7. Recommendation Ratio Comparison Graph.
6 CONCLUSION
The suggested algorithm is designed for two main goals: load balancing and accuracy. For first goal
(load balancing), it could use parallel loops using Map Reduce technique to get a reduction of
computation size estimated mathematically as 10%. for second goal (accuracy of recommendation), it
achieves 89% accuracy and 99% rejection precision with less configuration parameters and more
steady count of recommendations. The power of the suggested algorithm is in finding association
between k-partite graphs compared to other algorithms which may ignore the nature of k-partite. The
use of Map/reduce is proposed to reduce overhead on server and reduce computation time. The
practical application of suggested algorithm in this paper can achieve the mutual use of distributed
systems algorithms, web mining and graph theory techniques. However, testing results is based on
simulation. We hope that we can apply this in real life and test the suggested algorithm and
architecture when dealing with target eight-partite graph in technology community. Our results show
that the suggested algorithm is a good start but needs more enhancements in the quality of
recommendation. In fact, we have a problem in randomly created samples, that can't confirm or deny
that the suggested algorithm recommendations are really suitable to users, or has some shortage in
some case. Some real test cases and datasets are needed.
Acta Informatica Pragensia
15
7 REFERENCES
[1]
PAPAGELIS, M., PLEXOUSAKIS, D., KUTSURAS, T. Alleviating the Sparsity Problem of
Collaborative Filtering Using Trust Inferences. Trust Management, 2005, pp. 224-239.
[2]
CORMEN, T. H., LEISERSO, CH. E., RIVEST, R. L., STEIN, C. Introduction to Algorithms,
Third Edition. The MIT Press, 2009.
[3]
MEGHANATHAN, N. Survey of Topology-based Multicast Routing Protocols for Mobile Ad
hoc Networks, International Journal of Communication Networks and Information Security
(IJCNIS), vol. 3, no. 2, pp. 124–137, 2011.
[4]
JENSEN, J. B., GUTIN, G. The Bellman-Ford-Moore algorithm. Section 2.3.4 in Digraphs:
theory, algorithms and applications. Springer, 2009.
[5]
Jung Library [online]. [cit. 2013-05-21]. URL: http://jung.sf.net/
[6]
LingPipe online documentation [online]. [cit. 2013-05-21]. URL: http://alias-i.com/lingpipe3.9.3/docs/api/com/aliasi/classify/PrecisionRecallEvaluation.html
[7]
CHOI, S. S., Cha, S. H., TAPPERT, C. A survey of binary similarity and distance measures.
Journal of Systemics, Cybernetics and Informatics 8.1, pp. 43-48, 2010.
[8]
JI, CH., BUYYA, R. Mapreduce programming model for. net-based cloud computing. EuroPar 2009 Parallel Processing. Springer Berlin Heidelberg, pp. 417-428, 2009.
[9]
BREESE, J. S., HECKERMAN, D., EMPIRICAL, C. K. Analysis of predictive algorithms for
collaborative filtering. Proceedings of the Fourteenth Conference on Uncertainty in Artificial
Intelligence (UAI-98), San Francisco, Morgan Kaufmann, pp. 43–52,1998.
[10]
MELVILLE, P., MOONEY, R. J., NAGARAJAN, R. Content-boosted collaborative filtering
for improved recommendations. In Proceedings of the Eighteenth National Conference on
Artificial Intelligence, (AAAI/IAAI-02), AAAI Press, Menlo Parc, CA, USA, pp. 187–192,
2002.
[11]
XU, B., BU, J., CHEN, C., CAI, D. An exploration of improving collaborative recommender
systems via user-item subgroups, In Proceedings of the 21st international conference on
World Wide Web - WWW ’12, April 16–20, 2012, Lyon, France, p. 21-30, 2012.
[12]
CEYLAN, U., BIRTURK, A. Combining Feature Weighting and Semantic Similarity Measure
for a Hybrid Movie Recommender System. The 5th SNA-KDD Workshop ’11 (SNA-KDD’11),
August 21, 2011, San Diego CA USA.
[13]
SARWAR, B. M., KARYPIS, G., KONSTAN, J. A., RIEDL, J. T. Application of
dimensionality reduction in recommender systems: A case study. In WebKDD Workshop at
the ACM SIGKKD, 2000.
[14]
JANE, J. Y. L., HSU, Y. J. LEE, T. Y. News Feed Filtering with Explanation Using Textual
Concepts and Social Contacts. The 5th SNA-KDD Workshop ’11 (SNA-KDD’11), San Diego
CA USA, August 21, 2011.
16
Al-Adrousy, Ali, Hamza
[15]
JAMBOR, T., WANG, J., LATHIA, N. Using Control Theory for Stable and Efficient
Recommender Systems. In Proceedings of International World Wide Web Conference
Committee (IW3C2), Lyon, France .April 16–20, 2012.
[16]
MARINHO, L. B., NANOPOULOS, A., THIEME, L. S. Social Tagging Recommender
Systems, chapter in Recommender Systems Handbook, pp. 615–644, 2011.
[17]
LIN, J., SCHATZ, M. Design patterns for efficient graph algorithms in MapReduce.
Proceedings of the Eighth Workshop on Mining and Learning with Graphs. ACM, pp.78-85,
2010.
[18]
DONIS, M. Parallel Programming with Microsoft® Visual Studio® 2010 Step by Step.
Microsoft Press, 2011.
[19]
CELYAN, U., BIRTURK, A. Combining Feature Weighting and Semantic Similarity
Measures for Hybrid Movie Recommender System. The 5th SNA-KDD workshop '11, San
Diego, CA USA, August 2011.
[20]
PURTELL, T. J., MACLEAN, D., KEAT, S. An Algorithm and Analysis of Social Topologies
from Email and Photo Tags. The 5th SNA-KDD workshop '11, San Diego, CA USA, August
2011.
[21]
MORALESM, G. D., GIONIS, A., SOZIO, M. Social Content Matching in Map Reduce. The
37th international conference on very large databaese, Seattle, Washington. AugustSeptember 2011.
[22]
VOGEL, Lars. MapReduce Introduction [online]. [cit. 2013-05-29]. URL:
http://www.vogella.com/articles/MapReduce/article.html
[23]
ZHANG, Y., ZHOU, J., CHENG, J. Preference-Based Top-K Influential Nodes Mining in
Social Networks, in 2011I EEE 10th International Conference on Trust, Security and Privacy
in Computing and Communications, 2011, pp. 1512–1518.
[24]
PU, P., CHEN, L., HU, R. A user-centric evaluation framework for recommender systems.
Proceedings of the ACM RecSys 2010 Workshop on User-Centric Evaluation of Recommender
Systems and Their Interfaces (UCERSTI), Barcelona, Spain, Sep 30, 2010, i, pp. 14–21.
[25]
GOMAH, A., ABDEL-RAHMAN, S., BADR, A., FARAG, I. An Auto-Recommender Based
Intelligent E Learning System. International Journal of Computer Science and Network
Security, 2011, 11, (1), pp. 67-70.
[26]
LOPS, P., DE GEMMIS, M., SEMERARO, G.: Content-based Recommender Systems: State
of the Art and Trends, chapter in: Recommender Systems Handbook (Springer Science and
Business Media, LLC), 2011, pp. 73–105.
[27]
BURKE, R., FELFERNIG, A., GKER, M.: Recommender systems: An overview. AI
Magazine, Association for the Advancement of Artificial Intelligence, 32, (3), pp. 13–18,
2011.
[28]
SANTOS, O., BOTICARIO, J. Requirements for Semantic Educational Recommender
Systems in Formal E-Learning Scenarios. Open access Algorithms, 2011, 4, (2), pp. 131-154.
Acta Informatica Pragensia
17
[29]
RAM, A., AI, H., RAM, P., SAHAY, S. Open Social Learning Communities. International
Conference on Web Intelligence, Mining and Semantics, WIMS-11, Sogndal, Norway, May
2011, Article No. 2.
[30]
P. LOPS, DE GEMMIS, M., SEMERARO, G. Content-based Recommender Systems : State
of the Art and Trends, Springer Science and Business Media, LLC, 2011, pp. 73–105.
[31]
DESROSIERS, C., KARYPIS, G. A comprehensive survey of neighborhood-based
recommendation methods, chapter in Recommender Systems Handbook, 2011.
[32]
EKANAYAKE, J., PALLICKARA, S., FOX, G. Mapreduce for data intensive scientific
analyses. eScience, 2008. eScience'08. IEEE Fourth International Conference on. IEEE, 2008.
[33]
LEE, K. H., et al. Parallel data processing with MapReduce: a survey. ACM SIGMOD Record
40.4 (2012): pp.11-20, 2012.
[34]
DELIP, R., YAROWSKY, D. Ranking and semi-supervised classification on large scale
graphs using map-reduce. Proceedings of the 2009 Workshop on Graph-based Methods for
Natural Language Processing. Association for Computational Linguistics, 2009.
[35]
MANNING, C. D., RAGHAVAN, P., SCHÜTZE, H. Introduction to information retrieval.
Vol. 1. Cambridge: Cambridge University Press, 2008.
[36]
DEAN, J., SANJAY, G. MapReduce: simplified data processing on large clusters.
Communications of the ACM 51.1, pp.107-113, 2008.
[37]
Werneck Paiva. [online]. [cit. 2013-04-29]. URL:
http://blog.werneckpaiva.com.br/2011/08/como-funciona-o-map-reduce-usado-pelo-google/
Acta Informatica Pragensia
2(1), 2013, 18–29, ISSN 1805-4951
Online: aip.vse.cz
Section:
Peer-reviewed papers
Approaching Retargetable Static, Dynamic,
and Hybrid Executable-Code Analysis
Jakub Křoustek1, Dušan Kolář1
1
IT4Innovations Centre of Excellence
Faculty of Information Technology
Brno University of Technology
Božetěchova 1/2, 612 66 Brno, Czech Republic
{ikroustek, [email protected]
Abstract: Program comprehension and reverse engineering are two large domains
of computer science that have one common goal – analysis of existing programs
and understanding their behaviour. In present, methods of source-code analysis are
well established and used in practice by software engineers. On the other hand,
analysis of executable code is a more challenging task that is not fully covered by
existing tools. Furthermore, methods of retargetable executable-code analysis are
rare because of their complexity. In this paper, we present a complex
platform-independent toolchain for executable-code analysis that supports both
static and dynamic analysis. This toolchain, developed within the Lissom project,
exploits several previously designed methods and it can be used for debugging
user’s applications as well as malware analysis, etc. The main contribution of this
paper is to interconnect the existing methods and illustrate their usage on the
real-world scenarios. Furthermore, we introduce a concept of a new retargetable
method – the hybrid analysis. It can eliminate the shortcomings of the static and
dynamic analysis in future.
Keywords: Debugger, Decompiler, Reverse Engineering, Lissom
Acta Informatica Pragensia
19
1 INTRODUCTION
As E. W. Dijkstra said years ago: “If debugging is the process of removing bugs, then programming
must be the process of putting them in.”. Moreover, software development is getting more tricky since
applications are being developed for a wide range of target platforms (computers running x86(-64)
processors, smart devices with ARM multi-cores, consumer electronics with smaller chips, etc.) where
the toolchain (e.g. compiler, disassemble, simulator) can be incomplete or not properly tested (e.g.
automatically generated compiler, experimental target-specific optimizations), especially for the newly
created platforms such as application-specific instruction-set processors (ASIPs).
With this diversity of target architectures and operating systems, it is not easy to properly analyze and
debug your code because it is highly probable that the appropriate analytical tool do not support such
particular target platform.
Roughly speaking, analysis of the source code is easier since it is more or less platform independent.
Only the basic information about the target architecture (e.g. bit-width, endianity) is usually enough.
As an example we can mention Coverity SAVE [14] that can be used for retargetable source code
verification. However, there are two major scenarios where source-code analysis cannot be used.
(1) Analysis of applications distributed in the form of executable files (abbreviated as
executables in the following text) without source codes. This kind of analysis is useful for
malware analysis, testing of the third-party commercial software, etc.
(2) Whenever we need to examine executable versions of our own software, e.g. testing
automatically generated compiler used for application’s compilation, validation of the code
optimized after compilation (optimizing linkers, postpass code optimization tools like AbsInt
[5], etc.). Within this analysis, source code is available as well as additional information like
symbols or debugging information.
In the following text, we present a complex retargetable framework for executable-code analysis,
which is capable of both static and dynamic analysis. This framework was successfully implemented
and tested within the Lissom project [10].
The motivation of this paper is to demonstrate both approaches on the real-world scenarios described
in the previous paragraph. Furthermore, we highlight their drawbacks and we present their
enhancement – the hybrid analysis. This approach combines advantages of the current methods but it
is not implemented yet.
The paper is organized as follows. Section 2 discusses the state of the art of executable-code analysis.
The description of the retargetable approach developed within the Lissom project is given in Section 3.
Afterwards, we evaluate our methods of static and dynamic analysis on the real-world scenarios in
Section 4. In Section 5, we introduce a new type of analysis, the hybrid analysis, and examples of its
usage. Finally, Section 6 contains conclusion of this paper and discussion about the future research.
20
Křoustek, Kolář
2 STATE OF THE ART
In this section, we discuss the state of the art of executable-code analysis. In present, we can find
several common executable file formats – UNIX ELF, WinPE, Mac OS-X Mach-O, etc. These files
may contain debugging information in one of the modern existing standards – DWARF or Microsoft
PDB, for more details about theses formats and their processing see [7].
In order to support their accurate and comfortable analysis, it is important to provide appropriate tools.
We can find two basic groups of tools – static and dynamic.
(1) Static executable-code analysis examines applications without their execution and it is usually
focused on the program transformation from a machine code into a human-readable form of
representation. The most common tools are disassemblers, which produce assembly code, or the more
modern decompilers producing a high-level language (HLL) code (C, Java, etc.). Static analysis can
also perform control-flow and data-flow checking, see [6] for more details.
(2) Dynamic analysis executes the application and it analyses its behavior during the run-time. The
execution can be done either on the target architecture (e.g. remote debugging) or via simulation or
emulation. Profilers, simulators, and debuggers are the most often used tools within this category.
The platform-specific analysis of executables is a partially solved problem, because implementation of
such tool is a straightforward task [8, 15]. The existing toolchains usually contain both dynamic and
static tools. For example the GNU Compiler Collection together with the Binutils package contains
a profiler, disassembler, and debugger. Another example is the Microsoft Visual Studio. Nevertheless,
program decompilation is still rare because even platform-dependent decompilers are hard to create [2,
3].
The retargetable analysis (i.e. the target architecture can be easily changed) is a more challenging task.
We can find several projects focused on a rapid ASIP design that supports quality dynamic analysis
(i.e. simulation and debugging of the ASIP’s applications), but with a very limited static analysis (only
the disassemblers are supported in general). All of these projects exploit its own architecture
description language (ADL), which has been developed within the project, for the toolchain
generation.
For example, the xADL project, developed at the Vienna University of Technology, supports
generation of three types of simulators, but the support of debugging and static-analysis is missing. In
other projects (ArchC, Sim-nML, EXPRESSION, LISA, etc), the situation is very similar – they
support various types of automatically-generated simulators and debuggers, but the static analysis
is very limited [8].
In past, there were only two attempts to create a retargetable decompiler – the PILER
System (1976) [1] and the Boomerang project (2007) [16]. However, none of them was entirely
completed and they are no longer actively developed.
Acta Informatica Pragensia
21
3 RETARGETABLE STATIC AND DYNAMIC EXECUTABLE-CODE
ANALYSIS
Our solution is developed as a part of the Lissom project located at Brno University of Technology
[10]. The project is primarily focused on the design and development of the new ASIPs, their
applications, and their interconnection within large Multiprocessor Systems-on-Chips (MPSoC).
A complete toolchain is developed within this project. It is automatically generated based on the target
architecture description. The ISAC architecture description language [10] is used for this purpose.
Each ISAC processor model consists of several parts. In the resource part, processor resources, such as
registers or memories, are declared. In the operation part, processor instruction set with behavior of
instructions is specified. The assembler and coding sections capture the format of instructions in the
assembly and machine language, respectively. Behavior section is used for description of the
instruction semantics via the ANSI C code, see Fig. 1 for illustration.
RESOURCES {
PC REGISTER bit[32] pc;
REGISTER bit[32] gpregs[16];
RAM bit[32] memory {...};
}
//
//
//
//
HW resources
program counter
register file
memory, etc.
// instruction set description
OPERATION op_sub {
INSTANCE gpregs ALIAS {rd, rs, rt};
ASSEMBLER { "SUB" rd "," rs "," rt };
CODING { 0b1111 rs rt rd };
// instruction’s behavior description
BEHAVIOR { regs[rd] = regs[rt] - regs[rs]; }
}
Fig. 1. Example of a simple processor description in the ISAC language.
Size of the ISAC models varies based on the architecture’s complexity; see Tab. 1 several examples.
The RISC (Reduced Instruction Set Computer) architectures (MIPS, ARM, SPARC, etc.) are usually
easier to describe than CISC (Complex Instruction Set Computer), such as Intel x86. ISAC is also
capable to describe VLIW (Very Long Instruction Word) architectures (VEX, ADI Blackfin, etc.) as
well as the highly-parallel architectures like multi-core processors, or multiprocessor systems on chip
(MPSoC) [12].
MIPS ARM VEX x86
Lines of ISAC code
3300 3400 1500 7000
Lines of auxiliary C code 1500 2000 800 2600
Total
4800 5400 2300 9600
Tab. 1. Complexity of the ISAC models for different architecture types.
22
Křoustek, Kolář
The ISAC models are used for an automatic toolchain generation, e.g. C compiler, assembler, and
analytical tools – decompiler, debugger, and simulators, see Fig. 2.
Fig. 2. Tools automatically generated based on the ISAC models.
In present, three main types of simulators are supported – interpreted, compiled, and translated.
The interpreted simulator performs constant fetching, decoding, and executing instructions from
memory. This approach is relatively slow but it is independent on the simulated application. On the
contrary, the compiled simulator is dependent on a particular application because it is generated based
on its content. However, it is faster than the former one because the repetitive tasks (e.g. fetching,
decoding) are pre-computed during simulator creation. Finally, the translated simulator further
enhances the concept of the compiled simulator via usage of debugging information [7]. Based on this
information, we are able to extract information about the basic blocks (BB) contained within the
application. Afterwards, the translated simulator is capable to execute instructions within the same BB
in a burst mode (e.g. it is possible to skip several checks for these instructions). Therefore, its speed is
even higher than the compiled simulator. However, the presence of debugging information
is mandatory in this case.
Each simulator type suites for a different usage, see [12, 13] for details. The debugger allows dynamic
analysis on the different levels (e.g. microarchitecture, instruction level, and source-level) [8]. The
first two levels do not need any additional information, while the source-level debugger needs
debugging information.
The retargetable decompiler is depicted in Fig. 3. At first, the input binary executable is transformed
into an internal COFF representation. Afterwards, such file is processed in the front-end part, which is
partially automatically generated based on the ISAC model. This phase decodes machine-code
instructions into the LLVM IR representation [9], which is used as an internal code representation
of decompiled applications in the remaining decompilation phases. In the middle-end part, this LLVM
IR code is heavily optimized using optimization passes. Finally, the resulting HLL code is emitted in
the back-end part. Currently, the Python-like language and the C language are supported. In present,
the retargetable decompiler allows decompilation of MIPS, ARM, and Intel x86 executables. The
detailed description can be found in [3, 4].
Acta Informatica Pragensia
23
Fig. 3. Retargetable decompiler developed within the Lissom project.
4 STATIC AND
SCENARIOS
DYNAMIC
ANALYSIS
IN
A
REAL-WORLD
In this section, we present several scenarios of a retargetable executable-code analysis. We use the
previously described tools for the static and dynamic analysis of these executables.
For evaluation, we use a MIPS architecture that is described using the ISAC language on the
instruction-accurate level. MIPS is a 32-bit RISC processor architecture. The processor description is
based on the MIPS32 Release 2 specification [11].
Several open-source applications and algorithms from benchmarking test-suites were used for testing.
The Minimalist PSPSDK compiler (v 4.3.5) was used for their compilation into the MIPS-ELF
executables. Different versions of optimizations were used. The testing was performed on Intel Core2
Quad with 2.8 GHz, 4 GB RAM running a Linux-based 64-bit operating system. The gcc (v4.6)
compiler with optimizations enabled was used for the creation of all tools.
4.1 ONLY THE EXECUTABLE AVAILABLE
In this situation, we only have a naked (stripped) executable. Neither additional information nor its
source code is available. This is the usual scenario of the third-party-software distribution or malware.
Dynamic analysis can be done using interpreted or compiled simulation. The average speeds
of interpreted and compiled simulators for MIPS are 27MHz and 55MHz, respectively [12].
24
Křoustek, Kolář
In the scenario of the interpreted simulation, the simulator is automatically generated based on the
target architecture model in ISAC (i.e. MIPS model). This simulator is capable to simulate the input
application instruction by instruction. According to the description in Section 3, the compiled
simulator needs to be generated for this particular input file. No additional information (e.g. debugging
information) is necessary for creation and usage of these two simulators.
On the other hand, the translated simulator is not available, since we do not have information about
basic blocks of the original program. Debugging is also limited to the instruction level. The sourcelevel debugging is disabled because the debugging information is also unavailable.
Decompilation of the input binary executable is always possible, no matter if the source code or
debugging information is present. The input application is analyzed and the target architecture, file
format, and operating system are detected in preprocessing phase at first. In the same phase, we try to
detect the originally used compiler using the signature-based detection. This is useful in later phases
for generation of a more accurate code. The final step of the preprocessing phase is the conversion into
the COFF format as described in Section 3.
Afterwards, the front-end phase is automatically generated based on the detected target architecture
using the appropriate ISAC model. The machine code stored in the COFF file is transformed into its
semantics representation in the LLVM IR format using the instruction decoder. In the next-step, the
front-end performs several static analyses over the LLVM IR code, e.g. detection of functions,
removal of statically-linked code, control-flow analysis, recovery of data types [3]. The final phase of
front-end is the generation of the proper LLVM IR code that is passed to the middle-end.
Middle-end is responsible for code reduction and elimination of unneeded parts via several built-in
optimization passes. Finally, the results, still in the LLVM IR form, are processed in the back-end part.
It tries to detect and reconstruct the HLL constructions, such as loops, function calls, switch
statements, etc.
However, the output can be further enhanced using debugging information for the better readability
(e.g. variable and function names, position of code, source-code names, etc.), see the next scenario for
details.
4.2 EXECUTABLE WITH DEBUGGING INFORMATION
This situation is less common, but still plausible, e.g. distribution of beta-versions of applications to
testers. Debugging information can be exploited for generating translated simulator that can achieve
higher speeds (up to 120 MHz, in average 113MHz [12]). The simulation speed drop off in debugging
mode is about 1-12% based on the number of breakpoints and their positions within machine-code [8].
In theory, source-level debugging is allowed because debugging information is available (e.g.
mapping of code to the HLL statements, locations of variables); however, the source code is
unavailable and therefore, it is not possible to visualise the run-time information to the user. This
is one of the limitations of the state of the art. However, this issue is addressed in Section 5 and its
solution is proposed.
Acta Informatica Pragensia
25
Decompilation can achieve the best results in this case. An example of source-code recovery using
debugging information can be seen in Fig. 4. In this example, the decompiler was able to reconstruct
even most of the local variable names, which are usually not available because they are removed by
compiler. The retargetable decompiler is capable to extract and reconstruct many program
constructions, e.g. file names (modules), function names, names and types of function arguments,
global and local variable names and types, positions of these constructions within modules (e.g. order
of originally used functions).
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{
int iter;
double x, y, z;
printf("Iterations: ");
scanf("%d",&iter);
/* initialize random numbers */
srand(123456789);
/* cnt = number of points in the
1st quadrant of unit circle */
int cnt = 0;
int i = 0;
while (i++ < iter){
x = (double)rand() / RAND_MAX;
y = (double)rand() / RAND_MAX;
z = x*x + y*y;
if (z <= 1) cnt++;
}
double pi=(double)cnt / iter * 4;
printf("pi is %g\n", pi);
return 0;
}
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
typedef int int32_t;
typedef double float64_t;
int main(int argc, char **argv) {
int32_t cnt, i, iter;
float64_t y, x, y2, x2, x3, lemon;
cnt = i = iter = 0;
printf("Iterations: ");
scanf("%d", &iter);
lemon = (float64_t) 2147483647;
srand(123456789);
while (iter >= i) {
x3 = (float64_t) rand() / lemon;
y = (float64_t) rand() / lemon;
x = x3 * x3;
y2 = y * y;
x2 = x + y2;
cnt = x2 > 1.0 ? cnt : cnt + 1;
i = i + 1;
}
printf("pi is %g\n",
(float64_t)cnt / iter*4.0);
return 0;
Fig. 4: Computing Pi using Monte Carlo method (left – original C code, right – decompiled C code).
The debugging information in the DWARF format was used for decompilation.
4.3 SOURCE CODE AND DEBUGGING INFORMATION AVAILABLE
This is the ideal scenario of the executable-code analysis and it is also to most common one (e.g.
software development, precompiled open-source applications). All the previously mentioned features
are available as well as the source-level debugging. All the common debugging features are supported
(e.g. highlighting position within the source code, stack backtrace, inspecting variable values).
Although it is not obvious, the decompiler can be used too. It can be utilized for compiler testing via
26
Křoustek, Kolář
comparison of the original source code and the code decompiled from the compiler-generated
executables.
Finally, the decompilation results can be further enhanced via information gathered during simulation.
This can be done in all scenarios, i.e. with or without source-code or debugging information. The
description of this approach is given in the following section.
5 HYBRID ANALYSIS
In present, the static and dynamic analyses are isolated from each other; each analysis can be used
independently of the other one, e.g. we can use decompilation without running simulation and vice
versa. However, the outputs of each of them can be enhanced by outputs obtained in the other ones.
This concept is called hybrid analysis. Currently, we can find two fundamental techniques of hybrid
analysis:


Exploitation of the run-time information (generated during simulation) within decompilation.
This can be applied in all three scenarios described in Section 4.
Decompilation results (i.e. a HLL C code) can be used to support the source-code debugging
in scenarios where the source code or debugging information is unavailable (i.e. scenarios
described in Sections 4.1 and 4.2).
5.1 EXPLOITATION OF RUN-TIME INFORMATION IN DECOMPILATION
It is possible to gather a considerable amount of valuable information during the application’s
run-time, e.g. a list of called functions, reachable instructions, values read and written into variables.
On the other hand, it will be complicated or even impossible to get them during static analysis (e.g.
during decompilation).
The mentioned run-time information can be gathered by the simulator. Such mode of execution is
often referred to as a trace mode. The simulator stores all demanded information in an internal
database that aggregates the results (e.g. removal of duplicate values) and the database’s content is
passed to the decompiler at the end of simulation. One of the open problems is simulation of
applications that use dynamically linked code because the simulator must handle such situations (e.g.
syscalls, invocation of standard-library functions). This task is related to code emulation.
Afterwards, all of these values can be used during the decompilation. For example, the list of called
functions is usable in the function-detection algorithm (e.g. revelation of function’s called by
pointers), the list of positions can be employed for extracting targets of the indirect-branches (e.g.
branch to the address stored in some register), variable’s content during execution is important for the
value-range analysis.
5.2 SOURCE-CODE DEBUGGING USING DECOMPILATION
The second proposed technique can be done in two ways. (1) In the easier one, the debugging
information is available and the decompiler has to generate the target HLL code that corresponds to
given debugging information. The HLL code must satisfy the integrity, e.g. mapping of machine-code
Acta Informatica Pragensia
27
instructions to HLL statements, mapping of variables to memory addresses, storage of local variables
on stack in a given order.
(2) The other case (i.e. both source-code and debugging information are unavailable) is a more
challenging task because both information have to be recreated during decompilation. Recreation of
the source code can be done in a classical way described in the previous sections. Recreation of the
debugging information related to the decompiled program can be tricky because the existing
debugging standards are complex and the size of debugging information is usually several times larger
than the application’s code. Furthermore, the debugging standard can be undocumented and
proprietary, such as Microsoft PDB.
The easiest solution is to generate a HLL code and re-compile it with debugging support enabled (e.g.
“-g” in GCC) using an appropriate compiler. Output of this process is a new executable with
debugging information that corresponds to the decompiled HLL code. However this may be an
unwanted behavior because it implies debugging of a different application. The other possible solution
is to recreate only a simplified version of debugging information by the decompiler itself (e.g. only
mapping of machine code to HLL statements).
The debugger must be prepared for this situation and allow a lightweight-debugging mode with only
a limited functionality. The DWARF standard suits this purpose better than PDB. Each type of
debugging information (e.g. position mapping, variable information) is stored in a separated file
section and its presence is optional. Furthermore, several existing libraries can be used for DWARF
generation (e.g. libDWARF).
6 CONCLUSION
This paper was aimed on the retargetable analysis of executables. Several methods of static and
dynamic analysis were presented, e.g. simulation, debugging, and decompilation. These methods are
implemented within the Lissom project as the automatically generated toolchain. These tools are
created based on the ISAC ADL models of the target architectures.
Using these tools, it is possible to inspect behavior of our own applications as well as the third-party
applications, which may be harmful (e.g. malware). The presented approach has been tested on the
MIPS architecture, while other architectures such as ARM or Intel x86 are supported too.
We close the paper by proposing an idea for the future research. We would like to interconnect the
static and dynamic analysis within the hybrid analysis. Two possible ways of its usage in the given
scenarios have been proposed; their implementation and evaluation is the primary target of the future
research.
ACKNOWLEDGMENTS
This work was supported by the project TAČR TA01010667 System for Support of Platform
Independent Malware Analysis in Executable Files, BUT grant FEKT/FIT-J-13-2000 Validation of
Executable Code for Industrial Automation Devices using Decompilation, BUT FIT grant FIT-S-11-2,
28
Křoustek, Kolář
by the project CEZ MSM0021630528 Security-Oriented Research in Information Technology, and by
the European Regional Development Fund in the IT4Innovations Centre of Excellence project
(CZ.1.05/1.1.00/02.0070).
7 REFERENCES
[1]
BARBE, P. The PILER system of computer program translation, Technical report, Probe
Consultants Inc., 1974.
[2]
CIFUENTES, C. Reverse compilation techniques, PhD thesis, School of Computing Science,
Queensland University of Technology, Brisbane, AU-QLD, 1994.
[3]
ĎURFINA, L., KŘOUSTEK, J., ZEMEK, P., KÁBELE, B. Detection and Recovery of
Functions and Their Arguments in a Retargetable Decompiler, In: 19th Working Conference
on Reverse Engineering (WCRE'12), Kingston, Ontario, CA, IEEE CS, 2012, pp. 51-60, ISBN
978-0-7695-4891-3.
[4]
ĎURFINA, L., KŘOUSTEK, J., ZEMEK, P., KOLÁŘ, D., HRUŠKA, T., MASAŘÍK, K.,
MEDUNA, A. Design of a Retargetable Decompiler for a Static Platform-Independent
Malware Analysis, In: International Journal of Security and Its Applications, Vol. 5, No. 4,
2011, Daejeon, KR, pp. 91-106, ISSN 1738-9976.
[5]
KÄSTNER D., WILHELM S. Generic control flow reconstruction from assembly code, In
Proceedings of the joint conference on Languages, compilers and tools for embedded systems:
Software and compilers for embedded systems (LCTES/SCOPES '02), ACM, New York, NY,
USA, pp. 46-55. 2002. URL http://www.absint.com
[6]
KINDER, J., VEITH, H. Jakstab: A static analysis platform for binaries, In Computer Aided
Verification, ser. Lecture Notes in Computer Science. Springer Berlin / Heidelberg, vol. 5123,
pp. 423–427, 2008.
[7]
KŘOUSTEK, J., MATULA, P., KONČICKÝ, J., KOLÁŘ, D. Accurate Retargetable
Decompilation Using Additional Debugging Information, In: Proceedings of the Sixth
International Conference on Emerging Security Information, Systems and Technologies
(SECURWARE'12), Rome, IT, IARIA, pp. 79-84, ISBN 978 1 61208-209-7, 2012.
[8]
KŘOUSTEK, J., PŘIKRYL, Z., KOLÁŘ, D., HRUŠKA, T. Retargetable Multi-level
Debugging in HW/SW Codesign, In: The 23rd International Conference on Microelectronics
(ICM 2011), Hammamet, TN, IEEE, pp. 6, ISBN 978-1-4577-2209-7, 2011.
[9]
LATTNER C. LLVM: An Infrastructure for Multi-Stage Optimization, Master’s Thesis,
Computer Science Dept., University of Illinois at Urbana-Champaign, Dec. 2002. URL
http://llvm.org/
[10]
MASAŘÍK, K. System for Hardware-Software Co-Design, FIT BUT, ISBN 978-80-214-38637, Brno, CZ, 2008, URL http://www.fit.vutbr.cz/research/groups/lissom/
[11]
MIPS Technologies Inc., MIPS32 Architecture for Programmers Volume II-A: The MIPS32
Instruction Set, 2010.
Acta Informatica Pragensia
29
[12]
PŘIKRYL, Z. Advanced Methods of Microprocessor Simulation, PhD thesis, Brno University
of Technology, Faculty of Information Technology, Brno, CZ, p. 103, 2011.
[13]
PŘIKRYL, Z., KŘOUSTEK, J., HRUŠKA, T., KOLÁŘ, D. Fast Translated Simulation of
ASIPs, In: OpenAccess Series in Informatics (OASIcs), Vol. 16, No. 1, Wadern, DE, pp. 93100, ISSN 2190-6807, 2011.
[14]
RAMOS D. A., ENGLER, D. R. Practical, low-effort equivalence verification of real code, In
Proceedings of the 23rd international conference on Computer aided verification (CAV'11),
Springer-Verlag, Berlin, Heidelberg, pp. 669-685, 2011. URL http://www.coverity.com/
[15]
ROSENBERG, B. J. How Debuggers Work – Algorithms, Data Structures, and Architecture,
Wiley Computer Publishing, 1996.
[16]
VAN EMMERIK, M. Static Single Assignment for Decompilation, PhD thesis, School of
ITEE, University of Queensland, Brisbane, AU-QLD, 2007.
Acta Informatica Pragensia
2(1), 2013, 30–38, ISSN 1805-4951
Online: aip.vse.cz
Section:
Peer-reviewed papers
The adolescence of electronic health records:
Status and perspectives for large scale implementation
Stefan Sauermann1, Matthias Frohner1, Philipp Urbauer1, Mathias Forjan1,
Birgit Pohn1, Andreas Drauschke1, Alexander Mense1
1
University of Applied Sciences Technikum Wien
Hoechstaedtplatz 5, 1200 Vienna, Austria
[email protected]
Abstract: Health informatics started to evolve decades ago with the intention to
support healthcare using computers. Since then Electronic health records (EHRs)
and personal health records (PHRs) have become available but widespread
adoption was limited by lack of interoperability and security issues. This paper
discusses the feasibility of interoperable standards based EHRs and PHRs drawing
on experience from implementation projects. It outlines challenges and goals in
education and implementation for the next years.
Keywords: Electronic health record, Personal health record, Interoperability,
Standards, Feasibility
Acta Informatica Pragensia
31
1 INTRODUCTION
1.1 IMPLEMENTATIONS IN THE FIELD
Two naive pictures exist for “biomedical informatics” in the wider public: One image shows highly
skilled individuals in white coats, doctors and engineers united, solving tricky problems elegantly with
help from modern devices and computing methods, saving lives and curing disease. The other image
shows desperate healthcare professionals bravely tackling the challenges of complex software. The
software in the second image tries to support care but actually consumes additional time and effort
while opening up new risks of data loss, confusion and unauthorized access to sensitive information.
One of the pioneers of the field, Edward Shortliffe, described the path of biomedical informatics in his
keynote lecture at the 2012 MIE conference in Pisa [23]. It started from medical schools in the 1960s,
gathered force and complexity as it spread to “informatics”, and is now well established both as an
industry as well as a distinctive field of research and development. Students enrolling biomedical
informatics study programs today have quite a clear image of the profession that they will join.
The information and communication technology (ICT) systems and applications that we see in
healthcare today have typically evolved in regional isolation, out of organizations like hospitals or
companies. Very seldom we find larger networks of systems, where data flows between healthcare
providers (HCPs) who do not meet personally. Today’s systems rely on human individuals with
oversight who can predict and verify what others will provide for them via the ICT system.
Information does not automatically find its way to the place where it is needed. Human gatekeepers
are still necessary who orchestrate the numerous sub-workflows in the specialized medical professions
as they together provide care to individual patients.
Because of their history, the systems available today are also not easy to tailor and adapt to
accommodate the requirements of specialized HCPs. In many places this has caused frustration and
a general bias against ICT in healthcare. The further sections will therefore explore the available
technology and the socio-political environment. This will enable to discuss near term goals that
contribute to the effective adoption of the available technologies in healthcare.
1.2 AVAILABLE TECHNOLOGY AND STANDARDS
Numerous successful examples of artificial intelligence have been demonstrated in practice. Two
decades ago the lack of interoperability standards has been identified as one main obstacle of
transferring ICT methods from one site to the next [22]. Recently strong evidence has emerged that
methods are available to overcome this problem.
Complementing the work of standards development organisations (SDOs, e.g. ISO, CEN, HL7)
“profiling organisations” like the Integrating the Healthcare Enterprise [16] initiative and the Continua
Health Alliance [6] have produced “profiles” of standards that cover selected use cases. While base
standards typically deal with detailed, isolated issues, the added value of profiles is that they cover
complete use cases. Using profiles implementers can therefore build complete solutions that draw
from multiple and complex base standards, enabling quick adoption of state of the art and proven
technologies. The records of the IHE testing events, called “Connectathons”, show that 505 companies
worldwide have implemented interoperable software for EHRs, radiology, laboratory, cardiology, eye
32
Sauermann et al.
care and others, implementing 116 integration profiles since the first Connectathon in 2001. Similarly
67 products have already reached Continua certification since the first product was certified in 2009. It
has been shown that even small research groups and SMEs can successfully implement complete
standards based telemonitoring systems within reasonable time and effort [25].
On the other hand large implementation projects are driven from administrations and large stakeholder
groups worldwide. The European projects www.epsos.eu and www.renewinghealth.eu are piloting
patient summary and medication workflows and telemonitoring on a large scale. National EHR
systems are built in Austria (www.elga.gv.at), Sweden (www.cehis.se/en), and many other countries.
The “EHR Incentive Program” [5] in the USA supports healthcare providers who implement
standards- based ICT infrastructures and clinical decision support, triggering a significant movement
towards implementation and certification of innovative and interoperable software products among
vendors. These national initiatives typically do not use the same set of IT architectures for connecting
local EHRs. However progress is visible. For example the epSOS infrastructure uses a common set of
interoperability standards and generates a common base that can be extended over time.
1.3 SOCIO-POLITICAL ENVIRONMENT
Students of today know rotary dials on telephones from the museum only. They watched the record
stratospheric dive in October 2012 live on a mobile device and commented to friends via twitter and
SMS when they rode on the bus [24]. In contrast, the doctors, politicians, company leaders, patients
and lecturers of today sent their first email when were already firmly settled in the early stages of
a professional career. The technology lifecycles have shortened dramatically.
On the other hand the influence of unhealthy lifestyles and demographic change on the health status of
populations is well documented [21]. Administrations are actively searching and evaluating strategies
to address sedentary lifestyles, unhealthy nutrition and other negative influences on public health on
a large scale [10]. The focus on lifestyle and prevention demands to extend the activities well beyond
the reach of healthcare professions. Many other groups will need to contribute, with the individuals
and patients themselves as the main advocates of their own health. Successful solutions need to
consider the wide variety of user needs and capabilities. State of the art ICT is deeply embedded into
these activities. A wide variety of health-related software products that use mobile technologies have
already reached the market and there are strong indicators for further growth in the near future [20].
The goal of this work was to assess the status of standards based semantic interoperability for EHRs
and PHRs on a large scale in order to better understand the extent of implementation we can expect in
the near future.
The underlying thesis of this work is that only within the last ten years technical specifications have
become available that enable large scale implementation of EHRs and PHRs. Technical specifications
in many variants have been available for much longer, for example from ISO [19], CEN [2], HL7 [11],
IHE [16], and Continua [6]. Nevertheless large scale implementation is not common so far. The
specifications alone therefore are not useful as sufficient evidence for large scale implementation.
Therefore additionally to the specifications publicly available testing tools and evidence of
implementation and testing activities were used as evidence.
Acta Informatica Pragensia
33
2 MATERIALS AND METHODS:
EHR and PHR implementation projects were selected and studied. Selection criteria were:





The projects shall use specifications that are harmonised within an internationally recognised
organisation, for example ISO [19], CEN [2], HL7 [11], IHE [16], and Continua [6].
The projects shall target EHR or PHR implementation on a national or international scale,
potentially serving millions of patients. The necessary stakeholders shall be represented in the
project.
Projects shall involve implementation steps that are documented and publicly available
Documentation about testing activities of the project shall be available publicly
The authors shall be involved in the project, so that feasibility of implementation by SMEs
may be studied
The following projects were selected:




Austrian eHealth initiative: recommendations for an eHealth strategy for Austria (EHI, 0)
Implementation guides for medical reports in HL7 CDA format for the Austrian EHR
“ELGA” (ELGA CDA, http://www.elga.gv.at/index.php?id=28)
European patients smart open services (epSOS, http://www.epsos.eu)
Healthy Interoperability (HIO, [25])
During the projects information was collected and reviewed according to the following questions:







Which stakeholders (clinical users, software vendors, administration) were involved and
which specifications were used?
How much time did it take to generate the specifications?
Which level of detail was reached (basic architecture outline, detailed content and transaction
specifications)
In which way were the specifications then implemented (project was formed, legal
frameworks decided)?
Are formal testing tools for the specifications available?
Was the conformance of the implementations formally tested?
Is re-use of the specifications among the projects documented?
Only publicly available evidence documents were reviewed. These observations were then used to
discuss the feasibility of large scale implementation of semantic interoperability in comparison to the
situation described by Shortliffe in 1993 [22].
34
Sauermann et al.
3 RESULTS
3.1 SPECIFICATIONS, STAKEHOLDER INVOLVEMENT,
LEVEL OF DETAIL
In all projects interoperability specifications were defined for specific applications. In all projects
relevant stakeholders were engaged in the development and agreed on the resulting specifications. In
three of the four projects clinical users, software vendors as well as administration was involved. The
HIO project represents a SME implementing available specifications and therefore includes only one
software vendor. Tab. 1 summarises these findings and lists the reviewed sources.
Project
Type of stakeholders
Duration
Specifications
Level of implementation
EHI
>10 clinical users,
>10 software
vendors,
administration
20052007
Recommendations,
architectural framework 0,
national recommendation
on standards [3]
Only conceptive , taken
further within ELGA
ELGA
CDA
>10 clinical users,
>10 software
vendors,
administration
Since
2007
Technical specifications,
testing tools [8], legal
framework [2], [11]
Implementation under
way, operation in
Austrian hospitals
expected early 2015
epSOS
>10 clinical users,
>10 software
vendors,
administration
Since
2008
Technical Specifications
[11], legal requirements
[12]
Implemented, operative
HIO
1 Software vendor
20092012
Re-used available
specifications [25]
Software implemented
[25]
Tab. 1. Specifications resulting from projects, overview.
The projects that were studied have different scopes. EHI was a conceptive approach that only resulted
in very generic specifications. However all necessary stakeholders were represented and agreed on the
results. All other projects targeted and reached implementations. Especially ELGA CDA and epSOS
represent large scale projects that may be used to compare future large scale activities.
In three of the projects the specifications development lasted at least 2 years. HIO had a similar
duration than the other projects, but only a small part of that time was spent on the development of
specifications. HIO represents a typical SME activity in that it re-used existing specification
documents to develop an application that uses an available infrastructure provided by others as
described in [25].
Acta Informatica Pragensia
35
3.2 TESTING TOOLS, TESTING ACTIVITY
In all projects where implementation occurred, testing specifications are available. Only within epSOS
interoperability was formally tested. However testing specifications for the specifications that were
used in HIO are also available. A list of certified products is publicly available. Tab. 2 summarises the
results and the related references.
Project
Testing tools
Testing activities
Test results publicly available
EHI
Not applicable
Not applicable
Not applicable
ELGA
CDA
Schematrons
available [9]
Only informal tests at
software vendors during
development
none
epSOS
Test specifications
[13]
Yearly formal epSOS
testing events took place
since 2010
Only overviews, e.g. [18],
IHE Connectathon Results
Database [17] addresses
specifications only partly
HIO
Continua
Certification
Specification [7]
Testing occurs regularly
at Plugfests and within
certification activities
[25], Continua certified
products database [8]
Tab. 2. Testing specifications and activities within projects, overview.
3.3 RE-USE OF SPECIFICATIONS
Re-use of existing specifications was found in all projects. Re-use between the studied projects only
occurred in the ELGA CDA project in that it re-used the basic recommendations that resulted from the
EHI. However the total project durations are similar in all studied projects. Successful re-use of
specifications was only possible after the source and target projects thoroughly analysed these issues.
Tab. 3 shows an overview of the most important specifications that were re-used in each project.
Project
EHI
Re-used existing specifications
HL7 CDA document architecture [15]
IHE IT Technical framework [16]
ELGA
CDA
EHI architectural guidance 0,
EHI recommendations for standards [3],
IHE IT Technical Framework [16],
HL7 CDA document architecture [15]
epSOS
IHE IT Technical Framework [16],
HL7 CDA document architecture [15]
36
Sauermann et al.
HIO
IHE IT Technical Framework [16],
Continua design Guidelines [6]
Tab. 3. Re-use of existing specifications in projects.
4 DISCUSSION AND CONCLUSIONS
Based on the observations from the projects that were studied it was found that semantic
interoperability for EHRs and PHRs on both national and international scale is possible in practice.
This is supported by the fact that software implementations were formally tested and are conformant
to the interoperability specifications of all projects that involved implementations.
From the results summarised in Tab. 1 it can be concluded that specifications are available both for
EHRs and PHRs. Tab. 2 additionally shows that methods are available and actively used to formally
test implementations against these specifications.
Tab. 3 shows a high level of overlap between the projects that were studied. This indicates that
a wider harmonisation of specifications has occurred: In 1993 Shortliffe expected that artificial
intelligence in medicine will become a reality only after “… the infrastructure for introducing
computational tools in medicine has been put in place by visionary leaders, who understand the
importance of networking, integration, shared access to patient data bases, and the use of standards for
data-exchange, communications and knowledge-sharing” [22]. The results of this work show that
substantial harmonisation effort has provided visible results since 1993. Common interoperability
standards therefore have moved from a faint hope to partial reality.
It was however found that substantial learning efforts were still necessary even if existing
specifications were re-used. This may be attributed to the fact that the necessary specifications cover
very wide topics and constitute a substantial amount of information, if reviewed in total. Additional
specification effort will be necessary to extend the defined functionality.
In this situation it seems reasonable to focus on a common learning effort that involves individuals,
administrations, healthcare providers, industry, academia and many other forces. As we go along, we
need to:





further explore and share interoperability technologies and standards,
actively engage users and solution providers of all origins,
learn from practice,
document and share experience,
sustain motivation and provide encouragement to all involved.
This work shows that the skills required for this exercise are available within biomedical informatics
as well as in many other disciplines. They have been exercised in first projects. The challenge of the
coming years will be to enrich the “low hanging fruit” applications and further empower
harmonisation work so that co-operation occurs during implementation.
Acta Informatica Pragensia
37
Today we enjoy the luxury of all necessary components being ready, tested and available to all
interested communities within a reasonable time and effort. Never before has this been the case.
Within the next few years we will learn if and how fast we will be able to further develop common
visions and put them into practice. We will definitely see further obstacles that lie hidden in the dark.
We may however be surprised about the speed and success of progress.
5 REFERENCES
[1]
ARBEITSKREIS 1 DER ÖSTERREICHISCHEN EHEALTH INITIATIVE, Pfeiffer, P.;
Sauermann, S.; Leodolter, W.; Seeburger, H.; Hoellebauer, H.; Deutsch, E.; Pjeta, O. &
Holler, G. Pfeiffer, K. (Ed.). Empfehlung für eine österreichische e-Health Strategie - Eine
Informations- und Kommunikationsstrategie für ein modernes österreichisches
Gesundheitswesen. Bericht der Österreichischen e-Health Initiative, Stand Jänner 2007. 2007,
1-58. [cit. 2013-05-27] Online:
http://ehi.adv.at/fileadmin/user_upload/adv_author/pdfs/konferenz20070126/Strategie_Empfe
hlung_der_e-Health-Initiative_Oesterreich_20070126_v2_02.pdf
[2]
BUNDESGESETZ BGBL. Nr. 111/2012 (Austrian law): Elektronische GesundheitsakteGesetz - ELGA-G. [cit. 2013-05-27] Online:
http://www.elga.gv.at/fileadmin/user_upload/uploads/download_Papers/Gesetze_u.a._Rechtsg
rundlagen/BGBLA_2012_I_111.pdf
[3]
BUNDESMINISTERIUM FÜR GESUNDHEIT FRAUEN UND JUGEND (Austrian Federal
Ministry of Health). Standards im österreichischen Gesundheitswesen. 11.6.2007. Document
ID GFJ-72300/0025-I/A/15/20075/2007. [cit. 2013-05-27] Online:
http://www.elga.gv.at/fileadmin/user_upload/uploads/download_Papers/Gesetze_u.a._Rechtsg
rundlagen/BMGFJ_Standards_2007-06-11.pdf
[4]
CEN/TC 251. Published standards. [cit. 2013-05-27] Online:
http://www.cen.eu/CEN/Sectors/TechnicalCommitteesWorkshops/CENTechnicalCommittees/
Pages/Standards.aspx?param=6232&title=CEN/TC+251
[5]
CENTERS FOR MEDICARE AND MEDICAID SERVICES (CMS). The Official Web Site
for the Medicare and Medicaid Electronic Health Records (EHR) Incentive Programs. CMS,
Baltimore, MD, USA. [cit. 2013-05-27] Online: http://www.cms.gov/Regulations-andGuidance/Legislation/EHRIncentivePrograms/index.html?redirect=/ehrincentiveprograms/
[6]
CONTINUA HEALTH ALLIANCE. Continua Design Guidelines Version 2012. 2012. [cit.
2013-05-27] Online: http://www.continuaalliance.org/products/design-guidelines
[7]
CONTINUA HEALTH ALLIANCE. Certification Specification. [cit. 2013-05-27] Online:
https://cw.continuaalliance.org/wg/TCWG/documentRevision/download/10695
[8]
CONTINUA HEALTH ALLIANCE. Certified Products Showcase. [cit. 2013-05-27] Online:
http://www.continuaalliance.org/products/product-showcase
[9]
ELGA GmbH (Elektronische Gesundheitsakte Österreich). Harmonisierungsarbeit für
medizinische Dokumente. [cit. 2013-05-27] Online: http://www.elga.gv.at/index.php?id=28
[10]
EUROPEAN COMMISSION (EC). ICT Challenge 5: ICT for Health, Ageing Well, Inclusion
and Governance. ICT - Information and Communication Technologies in FP7, Work
Programme 2013, homepage, last update 2012-07-31. [cit. 2013-05-27] Online:
http://cordis.europa.eu/fp7/ict/programme/challenge5_en.html
[11]
EUROPEAN PATIENTS SMART OPEN SERVICES (European Project epSOS). Deliverable
D3.4.2, epSOS Common Components Specification. 16.7.2010. [cit. 2013-05-27] Online:
38
Sauermann et al.
http://www.epsos.eu/uploads/tx_epsosfileshare/D3.4.2_epSOS_Common_Components_Specif
ication_01.pdf
[12]
EUROPEAN PATIENTS SMART OPEN SERVICES (European Project epSOS). Deliverable
D2.1.1 - Legal and Regulatory Requirements at EU level. 24.2.2012. [cit. 2013-05-27] Online:
http://www.epsos.eu/uploads/tx_epsosfileshare/D2.1.1_legal_requ_final_01.pdf
[13]
EUROPEAN PATIENTS SMART OPEN SERVICES (European Project epSOS). Deliverable
D3.9.2 - Testing Methodology, Test Plan and Tools. 15.0.2010. [cit. 2013-05-27] Online:
http://www.epsos.eu/fileadmin/content/pdf/deliverables/D3.9.2_Testing_Methodology_Test_P
lan_and_Tools.pdf
[14]
GESUNDHEITSTELEMATIKVERORDNUNG - GTELV 2012. [cit. 2013-05-27] Online:
http://www.elga.gv.at/fileadmin/user_upload/uploads/download_Papers/Gesetze_u.a._Rechtsg
rundlagen/BGBLA_2012_II_483.pdf
[15]
HEALTH LEVEL SEVEN (HL7) INTERNATIONAL. Homepage. [cit. 2013-05-27] Online:
http://www.hl7.org/
[16]
INTEGRATING THE HEALTHCARE ENTERPRISE (IHE). IHE Technical Frameworks.
[cit. 2013-05-27] Online: http://www.ihe.net/Technical_Framework/index.cfm
[17]
INTEGRATING THE HEALTHCARE ENTERPRISE (IHE). Connectathon results browsing.
[cit. 2013-05-27] Online: http://connectathon-results.ihe.net/
[18]
INTEGRATING THE HEALTHCARE ENTERPRISE (IHE). IHE-Europe Connectathon
2013 enables robust, in-depth testing for HIT interoperability. Press release 6.5.2013. [cit.
2013-05-27] Online: http://www.ihe-europe.net/sites/default/files/IHEEurope%20Connectathon%202013%20Press%20Release.pdf
[19]
ISO/TC 215 HEALTH INFORMATICS. Homepage. [cit. 2013-05-27] Online:
http://www.iso.org/iso/iso_technical_committee?commid=54960
[20]
LIEBERT, M. A. Report sees fastest growth at home, as telemed swells to $23B by 2015.
Telemedicine and e-Health News Alert, 2011. [cit. 2013-05-27] Online:
http://www.telemedicinealerts.com/Archives/2011/Feb_11/Feb_18_11.htm
[21]
PINIEWSKI, B.; CODAGNONE, C.; OSIMO, D. Nudging lifestyles for better health
outcomes: crowd sourced data and persuasive technologies for behavioural change European
Commission. Joint Research Centre, Institute for Prospective Technological Studies, 2011, 178. [cit. 2013-05-27] Online: http://ftp.jrc.es/EURdoc/JRC64206.pdf
[22]
SHORTLIFFE E.H. The adolescence of AI in Medicine: Will the field come of age in the 90s?
Artificial Intell.Med. 5, 1993, 93-105.
[23]
SHORTLIFFE, E.H. The Future of Biomedical Informatics: A Perspective from Academia. In:
Quality of Life through Quality of Information. J. Mantas et al. (Eds.), IOS Press, 2012,
European Federation for Medical Informatics and IOS Press. Proceedings of the 24th
European Medical Informatics Conference - MIE2012 - in Pisa, Italy, August 26th -29th, 2012
doi:10.3233/978-1-61499-101-4-19.
[24]
SMITH C. Red Bull Stratos YouTube Live Stream Attracts Record Number Of Viewers. The
Huffingtom Post, New York City, United States. 14th October 2012. [cit. 2013-05-27]
Online: http://www.huffingtonpost.com/2012/10/14/red-bull-stratos-youtube_n_1965375.html
[25]
URBAUER, P.; FROHNER, M.; FORJAN, M.; POHN, B.; SAUERMANN, S.; MENSE, A. A
Closer Look on Standards Based Personal Health Device Communication: A Résumé over
Four Years Implementing Telemonitoring Solutions. European Journal for Biomedical
Informatics, Vol. 8(2012), Issue 3, pp. 65-70, ISSN 1801-5603.
Acta Informatica Pragensia
2(1), 2013, 39–56, ISSN 1805-4951
Online: aip.vse.cz
Sekce / Section:
Recenzované stati / Peer-reviewed papers
Vplyv sofistikovaného hybridného Honeypotu na efektivitu
architektúry systému detekcie prieniku v distribuovaných
počítačových systémoch
Peter Fanfara1, Martin Chovanec2
1
Katedra počítačov a informatiky, Fakulta elektrotechniky a informatiky
Technická univerzita v Košiciach, Letná 9, 04001 Košice, Slovenská republika
2
Ústav Výpočtovej Techniky, Technická univerzita v Košiciach
Boženy Němcovej 3, 04001 Košice, Slovenská republika
{peter.fanfara, [email protected]
Abstrakt: Pri súčasnom vývoji technológií, rapídnom raste počítačových sietí
a distribuovaných systémov, je reálne riziko útoku čoraz pravdepodobnejšie. Pre
zvýšenie samotnej bezpečnosti systémov už bolo vytvorených a implementovaných
množstvo riešení, ktoré mali slúžiť na detekciu a/alebo prevenciu pred samotnými
útokmi. Najpoužívanejšie riešenie predstavuje použitie systému na detekciu
prieniku (IDS) v kooperácii s firewallom. Avšak ani IDS a ani firewall nedokážu
reagovať v reálnom čase, pokiaľ sa jedná o špecifický typ útoku. Táto práca sa
zaoberá detekčným mechanizmom na báze technológie Honeypot a jeho využitím
v navrhovanej architektúre pre zvýšenie bezpečnosti v počítačových systémoch.
Podstatou práce je poukázať na to, ako dokáže sofistikovaný hybridný Honeypot
vplývať na dizajn architektúry IDS a tým zvýšiť jej efektivitu.
Klíčová slova: bezpečnosť počítačových systémov, honeypot, systém detekcie
prienikov, škodlivý kód
Title: Influence of Sophisticated Hybrid Honeypot on Efficiency of Intrusion
Detection System Architecture in Distributed Computer Systems
Abstract: In the current development of technologies, rapid growth of computer
networks and distributed systems still exist a very probable risk of attack. There
have been developed and implemented a number of solutions to help in detecting
and/or preventing attacks and to improve the actual system security. The most
common solution is to use Intrusion Detection System (IDS) in cooperation with
the firewall. Neither the IDS nor firewall can respond in real time to a specific type
of attack. This paper deals with the detection mechanism based on Honeypot
technology and its use in the proposed architecture to improve security of computer
systems. The essence of the work is to show how can sophisticated hybrid
Honeypot influence the design of IDS architecture and thus increase its efficiency.
Keywords: Intrusion Detection System (IDS), Honeypot, Malicious code, Security
40
Fanfara, Chovanec
1 ÚVOD
Vzhľadom k rýchlemu šíreniu internetu a webových technológií môžu ľudia ľahko a jednoducho
vyhľadávať informácie a zároveň rýchlo posielať správy. Avšak, ak nebudeme súčasne klásť
dostatočne veľký dôraz, adekvátny rýchlemu rozvoju internetu, na základné zabezpečenie systémov,
hackeri môžu poľahky ovládnuť zabezpečenie systému použitím škodlivého kódu, využitím
existujúcich zraniteľností systému alebo programových slabín. Potom invázia, ničenie a krádeže, ako
aj falšovanie informácií spôsobia veľké škody väčšine podnikov a na majetku osôb. Dôsledkom
potenciálnej hrozby vzniká v dnešnej dobe čoraz väčší záujem o zvýšenie bezpečnosti informácií, ako
aj detekciu prienikov.
Začiatky detekcie prienikov priniesli so sebou aj komplikácie. Medzi teoretickou a praktickou rovinou
detekcie prienikov stále existuje priepasť. Táto situácia vytvorila všetky druhy skúšok pre skúmané
a rozvíjajúce sa produkty v tejto oblasti. Sú tu pokusy definovať priebežne termíny a vyvíjať
adekvátne riešenia, ktoré kooperujú s ostatnými časťami bezpečnostného systému alebo s riadiacou
infraštruktúrou. Ďalší významný pokus je požiadavka, aby preferované riešenie alebo prístup riešili
všetky problémy bez ohľadu na platnosť tvrdenia.
Zaužívaná obrana siete/systému je postavená na použití firewallu a systému na detekciu prienikov
(Intrusion Detection System – IDS). Tieto dva systémy prinášajú zo sebou dva druhy otázok. Akonáhle
sú útočníci informovaní o tom, že firewall má povolenú bezpečnostnú výnimku pre vonkajšiu službu,
dokážu využitím tejto služby získať prístup k interným serverom a prostredníctvom brány firewall
uskutočniť ďalší útok. Za druhé, systém na detekciu prienikov nedokáže poskytnúť dodatočné
informácie pre zistenie nepriateľských útokov, ako aj nedokáže priamo znížiť straty spôsobené
takýmito útokmi [1].
Ak by sme boli, hneď pri prvom útoku, schopný okamžite zaznamenať neznámu zraniteľnosť a možný
útok na počítač v systéme, analyzovať neznámy útok a postúpiť výsledky o podobných varovaniach
bezpečnostným špecialistom, bola by niekoľkonásobne vyššia šanca vydať výstrahy pre zabezpečenie
systémov, nájsť analyzované vzory útokov, možných rizík, metód a nástrojov, a tak v predstihu
zabrániť potencionálnym útokom i ďalším poškodeniam. Takýmto postupom by sme dokázali
v predstihu účinne znížiť a zmierniť riziko bezpečnosti informácií.
Tradičný prístup k zabezpečeniu je značne mierne zameraný na obranu, ale záujem je čím ďalej, tým
viac venovaný agresívnejším formám obrany pred potencionálnymi útočníkmi a narušiteľmi. Takouto
formou je aj ochrana pred vniknutím založená na návnade prostredníctvom technológie lákadla
(Honeypot).
2 SYSTÉMY NA DETEKCIU PRIENIKOV (IDS)
Systém na detekciu prienikov možno definovať ako nástroj alebo softvérovú aplikáciu, ktorá
monitoruje činnosti počítačového systému a/alebo siete kvôli potencionálnemu výskytu nebezpečných
aktivít alebo porušenia bezpečnostnej politiky. Produkuje správy pre riadiacu stanicu. Primárne je
zameraný na identifikáciu a zaznamenávanie informácií o prípadných udalostiach, ako aj hlásenie
takýchto pokusov.
Acta Informatica Pragensia
41
2.1 KLASIFIKÁCIA SYSTÉMOV NA DETEKCIU PRIENIKOV
Vzhľadom k rozličným aplikačným prostrediam je možné IDS klasifikovať do dvoch hlavných typov
[2]:


Hostiteľský (host-based) – pozostáva z agenta umiestneného na hostiteľskom počítači, ktorý pre
kontinuálne monitorovanie používa informácie získané zo samotného auditného systému
hostiteľského počítača alebo záznamy sieťových aktivít. V takomto IDS senzor zvyčajne obsahuje
aj softvérového agenta. Ak nastanú neobvyklé okolnosti systém automaticky vygeneruje a odošle
upozornenie. Nevýhodou je zvyčajne veľké množstvo dát určené na monitorovanie.
Sieťový (network-based) – predstavuje nezávislú platformu pre identifikovanie prienikov
prostredníctvom priameho zachytenia prenášaných paketov v sieti a monitorovanie viacerých
počítačov na identifikovanie, či sa jedná o útok alebo inváziu na základe sledovania hlavičky
a obsahu jednotlivých paketov. Sieťové systémy detekcie prienikov (NIDSs) získavajú prístup
k sieťovej prevádzke pripojením sa k sieťovému rozbočovaču (network hub), sieťovému prepínaču
(network switch) nakonfigurovanom na zrkadlenie portov. V NIDS sú senzory na detekciu
umiestňované na kritické miesta v sieti, vo väčšine prípadov sú to hranice siete alebo tzv.
demilitarizované zóny. Tieto senzory zachytávajú všetku sieťovú prevádzku a analyzujú obsah
jednotlivých paketov kvôli výskytu nebezpečnej prevádzky. Nevýhodou je konzumácia väčšiny
systémových prostriedkov a sieťovej prevádzky. Príliš veľká sieťová prevádzka zapríčiní
nemožnosť alebo nesprávnosť spracovania paketov systémom na detekciu prienikov.
Vzhľadom na metódy detekcie je možné IDS rozdeliť na tri základné typy [3]:



Detekcia anomálií (anomaly detection) – odkazuje na zistenie štruktúry v danom súbore dát, ktoré
nie sú v súlade s bežným správaním. Takto zistené štruktúry sa nazývajú anomálie. Detekcia
anomálií stanovuje základný výkon pre normálnu prevádzku v sieti. Poplach zaznie len v prípade,
ak je aktuálna prevádzka v sieti mimo základných parametrov – vyskytla sa anomália.
Detekcia zneužitia (misuse detection) – zhromažďuje charakteristiky a vzory predchádzajúceho
útoku hackera a pričom ich ukladá do databázy medzi základné znalosti útoku. Následne dokáže
identifikovať útok, ktorý má rovnaké vzory a charakteristiky, ako už predtým zaznamenaný útok.
V prípade, ak hacker použite na útok novú metódu, ktorá ešte nebola pred tým zaznamenaná, IDS
nedokáže spustiť poplach a vznikne hlásenie typu falošné negatívum (false negative).
Hybridný mód detekcie (hybrid mode detection) – predstavuje detegovanie útoku za pomoci
oboch predchádzajúcich typov detekcie, čo má za následok zníženie generovania falošného
poplachu, aj keď sa nič nedeje (false positives), ako aj negenerovanie poplachu pri nezachytení
útoku (false negatives).
2.2 ŠTRUKTÚRA A ARCHITEKTÚRA IDS
Systém na detekciu prienikov pozostáva z viacerých prvkov, znázornených na Obr. 1, kde hlavným
prvkom je senzor (mechanizmus analýzy), ktorý je zodpovedný za detekciu narušenia. Tento snímač
obsahuje mechanizmus, ktorý generuje rozhodnutia týkajúce sa narušenia. Senzor príjme dáta z troch
hlavných zdrojov informácií: vlastná IDS databáza poznatkov, logovacie záznamy systému
a kontrolné záznamy. Logovacie záznamy systému môžu zahŕňať, napr. konfiguráciu súborového
42
Fanfara, Chovanec
systému a používateľské oprávnenia. Tieto informácie tvoria základ pre ďalšie rozhodovanie pri
detekcii narušenia.
chránený počítačový systém
akcie
kontrolné záznamy a sieťový monitoring
IDS databáza
poznatkov
senzor
(rozhodovací
mechanizmus)
databáza IDS
konfigurácie
modul reakcie
na útok
IDS
Obr. 1. Systém na detekciu prienikov.
Senzor, spolu s ostatnými prvkami znázornenými na Obr. 2, je integrovaný spolu s prvkom
zodpovedným za zber dát – generátor udalostí. Spôsob zbierania dát je určený politikou generátora
udalostí, ktorý definuje spôsob filtrovania informácií notifikovania o udalostiach. Generátor udalostí
(operačný systém, siete, aplikácie) produkuje v súlade s bezpečnostnou politikou súbor udalostí, ktorý
môže byť logovacím záznamom systémových udalostí, prípadne sieťových paketov. Tieto udalosti
môžu byť spolu s informačnou politikou uložené buď v chránenom systéme alebo mimo neho.
V prípade sieťových paketov sa prúdy udalostí neukladajú, nakoľko sú prenášané priamo do
analyzátora.
Acta Informatica Pragensia
43
Chránený systém
generátor
udalostí
súbor
udalostí
politika zbierania
informácií
Zbieranie informácií
analyzátor
(senzor)
informačný
systém
detekčn
á
Detekcia
reakčný
modul
reakčná
politika
Reakcia
Obr. 2. Prvky systému detekcie prieniku.
Úlohou senzora je filtrovanie informácií a odignorovanie všetkých irelevantných údajov získaných zo
súboru udalostí súvisiacich s chráneným systémom a tým odhaliť podozrivé aktivity. Na tento účel
využíva databázu detekčnej politiky, ktorá sa skladá z nasledujúcich prvkov: útok podľa vzoru,
normálne správanie, profily a potrebné parametre. Okrem toho databáza obsahuje aj parametre IDS
konfigurácie a spôsob komunikácie s reakčným modulom. Vlastnú databázu má aj senzor, ktorá
obsahuje dynamickú históriu komplexu potenciálnych prienikov.
2.3 NÁSTROJE DETEKCIE PRIENIKOV
Systémov na detekciu prienikov existuje veľké množstvo a môžu byť špecifické pre systém použitím
vlastných nástrojov. Najčastejšie používaný je multiplatformový nástroj Snort, ktorý má navyše
výborné predpoklady pre použitie na zvýšenie bezpečnosti distribuovaných systémov v kombinácii
s Honeypotom.
Snort
Nástroj Snort predstavuje open-source systém na detekciu prieniku, ktorý dokáže nielen detegovať
a upozorniť na útok, napr. proti Honeypotu, ale dokáže aj zachytiť pakety a zaťaženie siete danými
paketmi zahrnutými do útoku. Tieto informácie sa môžu ukázať ako kritické pri analýze aktivít
útočníkov. Pre projektovanie používa modulárnu architektúru a pravidlami riadený jazyk. Kombinuje
abnormálne správanie, detekciu podpisu a rôzne metódy detekcie protokolu [4].
Aby bolo možné čo najúspešnejšie sledovať činnosti hackerov v distribuovaných počítačových
systémoch, udomácnila sa metodika klamania a podvádzania, prostredníctvom poskytnutia
a emulovania niektorých služieb systému, ktorý sa na prvý pohľad zdá byť legitímny. Z dôvodu
preniknutia a objasnenia jednotlivých taktík útočníkov je potom možné všetky aktivity hackerov
zaznamenať a monitorovať. Táto idea je prijatá použitím pokročilého bezpečnostného nástroja
zvaného Honeypot.
44
Fanfara, Chovanec
3 HONEYPOT
Honeypot je zložité definovať, pretože sa jedná o novú a stále sa vyvíjajúcu technológiu, ktorú je
možné zahrnúť do rôznych aspektov bezpečnosti, ako je prevencia, odhaľovanie a zhromažďovanie
informácií. Jedinečnosť technológie spočíva v jej všeobecnosti a nie v konkrétnosti – nerieši
špecifický bezpečnostný problém. Práve naopak, Honeypot je vysoko-flexibilný nástroj s aplikáciami
v rôznych oblastiach. Všetko záleží na tom, čo chceme dosiahnuť. Niektorými lákadlami možno
zabrániť útokom, iné možno použiť na detekciu útokov, zatiaľ čo ostatné lákadlá môžu byť použité pre
zhromažďovanie informácií a výskum.
Lákadlá, ako sa niekedy Honeypoty nazývajú, sú pozorne monitorované sieťové návnady, existujúce
v rôznych tvaroch a veľkostiach, slúžiace rôznym účelom. Je možné ich umiestniť v počítačovej sieti,
s firewallom, pred firewall aj za firewall. Toto sú najfrekventovanejšie miesta, z ktorých získavajú
útočníci prístup do systému a aj odkiaľ je o nich možné najlepšie získať maximum informácií.
Cieľom je získať informácie ohrozením dát systému takým spôsobom, že v budúcnosti bude
infiltrovanie akýchkoľvek dát systému nerealizovateľné.
Dáta získané z Honeypotov je možné využiť pri zlepšení súčasného zabezpečenia a obrany, alebo
rekonfiguráciu systému s prípravou na budúce hrozby.
3.1 ROZDELENIE HONEYPOTOV
Honeypoty môžu byť klasifikované podľa rôznych spôsobov. Najčastejšie je zaužívané ich
rozdeľovanie podľa účelu a úrovne interakcie.
3.1.1
ÚČEL HONEYPOTU
Toto základné delenie rozdeľuje lákadlá na základe oblasti nasadenia a dôvodu použitia.
Výskumný Honeypot
Hlavným cieľom, nakoľko sú používané výhradne v oblastiach výskumu, je získať čo najviac
informácií o útočníkoch spôsobom, že sa im plne umožní infiltrovať a preniknúť do bezpečnostného
systému. Používa sa na získanie informácií a rozpoznávanie nových metód a druhov nástrojov
používaných pri útoku na iné systémy, ako aj analyzovanie stôp hackerov, ako je totožnosť útočníkov
a ich spôsob práce (modus operandi).
Výskumný Honeypot je navrhnutý na získanie informácií o ľubovoľnej komunite útočníkov, pričom
nepridáva žiadnu priamu hodnotu, ktorá by mohla zvýšiť riziko útoku. Používa sa na zhromažďovanie
informácií o útokoch, ktorým môžu organizácie čeliť a tým im umožní, lepšie sa pred danými
hrozbami chrániť. Primárnou funkciou je skúmať spôsob, akým útočníci postupujú a vedú útok.
Pomáha pochopiť ich motívy, správanie a organizáciu. Výskumné lákadlá sú komplexné, čo sa týka
nasadenia, udržiavania a zachytenia rozsiahleho množstva dát. Na druhej strane ale môžu byť z
časového hľadiska veľmi rozsiahle [5].
Aj napriek informáciám získaným z jedného výskumného Honeypotu, ktoré sa môžu použiť na
zlepšenie prevencie proti útoku, zlepšenie detekcie a odpovedi na útok, výskumný Honeypot prispieva
Acta Informatica Pragensia
45
celkovo k priamej bezpečnosti len veľmi málo. Výskumné Honeypoty pridávajú obrovskú hodnotu pre
výskum, nakoľko poskytujú platformu pre skúmanie kybernetických hrozieb. Útočníkov je možné
sledovať priamo pri čine, zaznamenávať ich útok a narušenie systému krok po kroku. Takéto
zhromažďovanie informácií je jednou z jedinečných a ohromujúcich vlastností Honeypotu. Taktiež je
to vysoko-prospešný bezpečnostný nástroj v oblasti rozvoja analyzovania a forenzných schopností [6].
Produkčný Honeypot
Jedná sa o typ lákadla, ktoré je použité v prostredí organizácie na jej ochranu a pomoc pri znížení
miery rizika. Poskytuje okamžité zabezpečenie lokality výrobných kapacít a nástrojov. Vzhľadom
k tomu, že nevyžaduje takú funkcionalitu ako výskumný Honeypot, je zvyčajne jeho vývoj
a nasadenie značne jednoduchšie. Hoci dokáže identifikovať rôzne spôsoby útokov, poskytuje menej
informácií o útočníkovi ako výskumné Honeypoty. Jeho použitím je možné určiť z ktorého systému
útočníci pochádzajú, ktorú konkrétnu činnosť vykonali, ale nemožno určiť ich identitu alebo aké
nástroje používajú [5].
Používa sa na ochranu siete pred nebezpečnými aktivitami útočníkov, detekciu a izolovanie útokov
vonkajších narušiteľov a spomalenie útoku na skutočné ciele systému, ako aj na zníženie rizík
informačnej bezpečnosti. Umiestňuje sa v sieťach z dôvodu zvýšenia celkovej bezpečnosti
spoločnosti, kde pomáhajú pri odhaľovaní útokov. Majú tendenciu zrkadliť časti siete spoločnosti
alebo špecifické služby a ich simuláciou prilákať pozornosť útočníkov, aby s nimi zahájili interakciu
s cieľom odhaliť aktuálne zraniteľné. Odhaľovanie týchto bezpečnostných nedostatkov a upozornením
administrátora o útoku môžu poskytnúť včasné varovanie pred útokom a výrazne redukovať riziko
prieniku do systému [7].
Je potrebné zdôrazniť, že produkčný Honeypot má ako preventívny mechanizmus minimálnu hodnotu.
Najvhodnejšími postupmi implementovania Honeypotu je využitie firewallu, systémov na detekciu
prieniku (IDS), mechanizmus na uzamknutie a opravu systému [8].
3.1.2
ÚROVEŇ INTERAKCIE
Úroveň interakcie môže byť definovaná ako maximálny rozsah dostupných možností útoku,
umožnený samotným Honeypotom, ktorý má útočník k dispozícii. Hodnota technológie závisí na
úrovni interakcie s útočníkmi. Všetky Honeypoty fungujú na rovnakom koncepte – nikto by nemal
prísť do styku s lákadlom a preto akékoľvek transakcie alebo interakcie sú, na základe definície,
neoprávnené. Okrem základného rozdelenia na výskumný a produktívny Honeypot je možné lákadlá
kategorizovať aj podľa stupňa interakcie medzi narušiteľom a systémom. Je to akási pomôcka pri
výbere správneho typu lákadla pre nasadenie do systému.
Nízka interakcia
Lákadlo na tejto úrovni interakcie neobsahuje žiadny operačný systém, s ktorým by útočník mohol
komunikovať. Všetky nástroje sú nainštalované výhradne k emulovaniu operačného systému a jeho
najzákladnejších služieb, ktoré nemôžu byť využité k získaniu úplného prístupu k/do Honeypotu tak,
aby spolupracovali s útočníkmi a škodlivým kódom [9][10].
46
Fanfara, Chovanec
Interakcia systému s útočníkmi je limitovaná a len počas krátkej doby, takže útočníci majú
niekoľkonásobne sťažené preniknutie do systému. Útočníci môžu daný Honeypot len skenovať
a pripojiť sa na niekoľko portov. Tento typ lákadla sa používa na zabezpečenie systému pred
potenciálnymi útočníkmi, čo na druhej strane spôsobuje získanie obmedzeného počtu informácií
o narušiteľoch. Lákadlá s nízkou interakciou môžu byť porovnávané k pasívnym systémom na
detekciu prieniku, nakoľko žiadnym spôsobom neovplyvňujú prevádzku v systéme a takisto nedokážu
ani komunikovať s útočníkom. Hoci takéto riešenie minimalizuje mieru ohrozenia Honeypotu, je na
druhej strane, z dôvodu schopnosti nízkej interakcie útočníka s lákadlom, získavanie informácií
o útočníkoch veľmi obmedzené. Avšak stále je možné ho použiť pri analyzovaní spamerov a ako
aktívne protiopatrenie proti červom. Honeypoty s nízkou interakciou sú charakteristické možnosťou
ľahkého nasadenia a udržiavania [8].
Stredná interakcia
V porovnaní s predchádzajúcim typom interakcie sú stredné Honeypoty trochu sofistikovanejšie. Ani
tento typ nemá nainštalovaný operačný systém, ale simulované služby na tomto type lákadla sú
technicky viac komplexnejšie. Aj keď sa pravdepobnosť, že útočník nájde slabinu v zabezpečení
systému zvyšuje, je stále málo pravdepodobné, že systém bude ohrozený. Lákadlá so strednou
interakciou poskytujú útočníkovi ilúziu operačného systému, pretože obsahujú viacero emulovaných
služieb, s ktorými môže vzájomne komunikovať. Dôsledkom toho môžu byť zaznamenané
a analyzované aj zložitejšie typy útokov [8].
Vysoká interakcia
Jedná sa o najmodernejšie typy lákadiel, ktoré predstavujú riešenie s najkomplexnejším a časovonáročným dizajnom s najvyššou mierou rizika, pretože v sebe zahŕňajú aj funkčný operačný systém
[10]. Cieľom Honeypotov s vysokou interakciou je poskytnúť útočníkovi možnosť komunikovať so
skutočným operačným systémom, v ktorom nie je nič simulované, emulované alebo obmedzené.
Umožňuje zber najväčšieho množstva informácií, nakoľko dokáže zaznamenať a analyzovať všetky
vykonané aktivity [1].
Vzhľadom k tomu, že útočník má k dispozícií viac zdrojov, malo by byť lákadlo s vysokou interakciou
pod neustálym monitorovaním, aj z dôvodu zníženia nebezpečenstva alebo vzniknutia bezpečnostnej
diery. Hlavný dôraz je kladený na získanie cenných informácií o narušiteľoch, sprístupnením celého
systému alebo dokonca umožnením manipulácie s ním. Pomocou tohto rýdzo výskumneorientovaného lákadla je možné objaviť nové techniky používané narušiteľmi [10].
3.2 ARCHITEKTÚRA HYBRIDNÉHO HONEYPOTU
Hybridné lákadlo predstavuje kombináciu dvoch lákadiel s rôznou úrovňou interakcie. Kombinácia
dvoch rôznych Honeypotov predstavuje bezpečné riešenie, nakoľko je možné využiť výhody obidvoch
lákadiel, znázornené v Tabulka 1, tak, že sa navzájom dopĺňajú a tým obmedzujú svoje nevýhody.
Ideálnym riešením je kombinácia Honeypotu s nízkou a vysokou interakciou. Honeypot s nízkou
interakciou
vystupuje
ako
ľahké
proxy,
čím
odbremeňuje
Honeypot
s vysokou interakciou – nezapája ho do všetkých útočníkových aktivít ako je automatizovaný proces
skenovania samotného systému, čím mu umožňuje zamerať sa na spracovanie podstatných
Acta Informatica Pragensia
47
útočníkových aktivít spojených s procesom prieniku do systému a prenosov smerovaných
k špecifickému IP adresného priestoru, na ktorom je hybridný Honeypot nainštalovaný [11]. Akonáhle
Honeypot s nízkou interakciou vyhodnotí/deteguje, že sa nejedná o žiadny automatizovaný proces,
aktivuje sa Honeypot s vysokou interakciou pre záznam informácií, na základe ktorých je možné
zlepšiť samotnú bezpečnosť systému.
Honeypot s vysokou
interakciou
Honeypot s nízkou
interakciou
Hybridný
Honeypot
- pomalý
+ rýchly
+ rýchly
+ možnosť detegovania
neznámych útokov
- absencia možnosti
detegovania neznámych útokov
+ možnosť detegovania
neznámych útokov
+ 0 falošne detegovaných
útokov
+ 0 falošne detegovaných
útokov
- neschopný odolať časovým
bombám, plytvanie výkonu
pri automatizovaných
procesoch útočníkov
+ odolá časovým bombám
a postačujúci pre interakciu
s automatizovanými procesmi
útočníkov
+ odolá časovým bombám
a postačujúci pre interakciu
s automatizovanými procesmi
útočníkov
- drahý
+ lacný
+ relatívne drahý
- zložitý na nastavenie
a ovládanie
+ jednoduchý na nastavenie aj
ovládanie
- zložitý na nastavenie
a ovládanie
Tab. 1. Podstata hybridných Honeypotov.
Pri každom návrhu lákadla sa jeho implementovanie do systému nezaobíde bez použitia jedného alebo
viacerých implementačných nástrojov, ktoré majú značný význam v oblasti zvyšovania zabezpečenia
systémov:


Dionaea je modulárna architektúra využívajúca Honeypot s nízkou interakciou, ktorá umožňuje
simulovať hlavné služby i zraniteľnosť serverov a takýmto spôsobom upútať útočníkovu
pozornosť alebo zachytiť škodlivý kód [12].
Sebek je najpokročilejší komplexný nástroj pre zhromažďovanie dát, ktorého cieľom je zachytiť
z Honeypotu čo najviac informácií o činnosti útočníka, zastavením konkrétneho systémové
volania (syscalls) na úrovni jadra (kernel level) [12].
3.3 VÝHODY A NEVÝHODY POUŽÍVANIA HONEYPOTOV
Všetky bezpečnostné technológie majú určité riziko. Pokiaľ znalosti a skúsenosti predstavujú výhodu
pre útočníkov, platí to takisto aj pre bezpečnostných odborníkov. Je nutné ovládať jednotlivé výhody
48
Fanfara, Chovanec
aj nevýhody lákadiel, nakoľko uvedomenením si vlastného rizika Honeypotu je možné použiť tieto
znalosti na zmiernenie rizík a obídenie, resp. maximálne minimalizovanie možných nevýhod [8].
Použitie Honeypotov má niekoľko významných výhod v porovnaní so súčasnými najčastejšie
používanými bezpečnostnými mechanizmami [11]:





Malé dátové sady (small data sets) – Honeypoty dokážu sledovať len prevádzku, ktorá
prichádza priamo do nich. Dátové sady lákadla môžu byť malé, ale na druhej strane môžu
obsahovať informácie vysokej hodnoty.
Jednoduchosť (simplicity) – lákadlá sú veľmi jednoduché a flexibilné. Pre plnenie správnej
funkčnosti v počítačovej bezpečnosti nepotrebujú návrhy komplikovaných algoritmov,
aktualizovanie a udržiavanie stavových tabuliek alebo signatúr.
Objavenie nových nástrojov a taktík (discovery of new tools and tactics) – Honeypoty
zachytia všetko, čo sa dostane s nimi do interakcie, ako aj pred tým ešte nepoužité nástroje
a taktiky útočníkov.
Šifrovanie alebo IPv6 (encryption or IPv6) – implementácia lákadiel funguje aj v šifrovanom
alebo IPv6 prostredí.
Minimálne zdroje (minimal resources) – vzhľadom k tomu, že zachytávajú len škodlivé
aktivity, potrebujú k správnej funkčnosti minimálne systémové zdroje. Ako lákadlo je tým
pádom možné použiť už vyradený alebo low–end systém.
Podobne ako ostatné bezpečnostné riešenia, tak aj technológia na báze lákadiel, má špecifické
nevýhody [1]:



Obmedzené videnie (limited view) – jediným spôsobom, kedy Honeypot dokáže aktivity
útočníka zachytiť a sledovať, je ten keď s ním útočník priamo komunikuje. Útoky na ostatné
časti systému nebudú zaznamenané, pokiaľ nebude Honeypot tiež ohrozený.
Prezradenie identity Honeypotu (discovery and fingerprinting) – Honeypot má určité
očakávateľné vlastnosti alebo správania, kvôli ktorým útočník môže zistiť skutočnú totožnosť
lákadla. Aj jednoduchá chyba, ako je nesprávne napísané slovo v emulácii služby, môže byť
pre útočníka signálom interakcie s Honeypotom [8].
Riziko prevzatia (risk of takeover) – ak nad Honeypotom získa útočník kontrolu, môže ho
zneužiť pri útoku na iné systémy vo vnútri alebo mimo organizácie.
4 ARCHITEKTÚRA
SYSTÉMU
HYBRIDNÝ HONEYPOT
DETEKCIE
VYUŽÍVAJÚCA
Hlavnú slabinu IDS predstavuje problém pri detegovaní nového typu útoku, ako aj použitie odlišnej
stratégie pri útoku alebo nového nástroja. Aby bolo možné zachytiť aj takéto útoky je nutné každý
nový útok zaznamenať do konfiguračnej databázy IDS. Navrhovaný systém detekcie využíva
sofistikovaný hybridný Honeypot pre zníženie záťaže pri budovaní a navrhovaní bezpečnostných
prvkov distribuovaných systémov a rozsiahleho zhromažďovania dát, ako aj minimalizovanie
ktorejkoľvek hrozby prieniku do systému. Hybridný Honeypot kombinuje niekoľko nástrojov (Snort,
Dionaea a Sebek) pracujúcich ako jeden celok. Kvôli rýchlej odozve na daný útok navrhovaný systém,
znázornený na Obr. 19, analyzuje všetky zachytené dáta v rôznych formátoch. Pri výskyte/začatí
Acta Informatica Pragensia
49
interakcie s Honeypotom zároveň poskytuje, prostredníctvom webového rozhrania, aj varovný systém
správ pre systémového administrátora.
integrácia dát
a analýza dát
prijímanie správ
server
zhromažďovanie
dát
rýchle
rozmiestnenie
klient
klient
architektúra systému
útok na systém
útok na systém
Obr. 3 Architektúra navrhovaného systému detekcie.
Navrhovaná architektúra pozostáva z niekoľkých klientov a servera. Klient zhromažďuje informácie o
útoku a zachytený škodlivý kód následne odosiela späť na server. Server zaznamená a analyzuje útok,
vydá varovanie a pomocou webového rozhrania zobrazí celkovú informáciu. Architektúra je navrhnutá
na dosiahnutie efektu centralizovaného riadenia distribuovaných informácií a vybudovania
kompletného distribuovaného systému včasného varovania.
4.1 ARCHITEKTÚRA – KLIENT
Z dôvodu zhromažďovania dát o útočníkových aktivitách počas samotného útoku sú nainštalovaní
klienti umiestnení v rovnakej doméne. Pri kyberútoku sa, v závislosti od typu, aktivujú rôzne súčasti
systému pre zber množiny dát a ich spätné doručenie serveru na uľahčenie následnej analýzy a pre
následné aktualizovanie systémovej bezpečnosti. Architektúra klienta, zobrazená na Obr. 4, pozostáva
z troch súčastí:
Snort – monitoruje a filtruje pakety pri detegovaní prieniku. Identifikuje vzory jednotlivých útokov,
informácie a varovné správy.
Nepenthes klient – simulovaním všeobecných služieb a zraniteľných miest láka útočníkov, pričom
zachytáva vzory škodlivých kódov.
Sebek klient – zaznamenáva správanie útočníka počas interakcie s Honeypotom do logovacích
súborov.
50
Fanfara, Chovanec
server
Snort
Nepenthes
klient
Sebek
klient
zachytené
pakety
zachytený
malware
logovacie
súbory
klient
útoky na systém
Obr. 4 Architektúra klienta.
4.2 ARCHITEKTÚRA – SERVER
Z dôvodu centralizácie zozbieraných údajov je server súčasne pripojený k viacerým klientom
a nastavený prijímať všetky odosielané správy, ktoré následne ukladá do databázy. Architektúra
servera je znázornená na Obr. 5. Previazanosťou jednotlivých správ indikuje zámer útočníkov
napadnúť cielené oblasti počítačov rozsiahlymi útokmi alebo skenovaním. Navrhovaná architektúra
servera pozostáva z troch častí, ktoré ešte pred uložením do databázy absolvujú proces normalizovania
vstupných formátov:
Malware server – prijíma vzory malwaru odosielané časťou Nepenthes klient.
Sebek server – súčasne prijíma a filtruje viacero zdrojov dát predstavujúce inštrukciu alebo spojenie
odosielaných dát na uloženie.
Verifikácia – modulárny návrh open-source hybridného systému na detekciu prieniku, využívajúci
štandardný komunikačný formát. Dokáže sa prispôsobiť potrebám rozsiahleho systému z akéhokoľvek
bodu nasadenia, prijímať množstvo údajov od klientov a integrovať rôznorodé dátové formáty.
Acta Informatica Pragensia
rozhranie
webového
manažovania
51
databáza
administrátor
proces normalizovania
malware server
Sebek server
verifikácia
malware
logovacie súbory
pakety vzdialeného systému
server
klienti
Obr. 5 Architektúra servera.
Webové rozhranie servera zobrazuje celú analýzu informácie o útoku, získanej z databázy. Súčasne
monitoruje útoky a výskyt neobvyklých okolností. V prípade ich výskytu sa zvýraznia konkrétne
správy, aby správca systému dokázal správne a včas reagovať. Najideálnejšie riešenie predstavuje
koncept použitia navrhovaného autonómneho sofistikovaného Honeypotu pre proces detegovania.
4.3 NÁVRH SOFISTIKOVANÉHO HONEYPOTU
4.3.1
IDEÁLNY STAV
Riešenie súčasného stavu predstavuje návrh sofistikovaného Honeypotu, ktorý funguje na princípe
plug-&-play. Optimálny stav nastáva, ak po zapojení lákadlo vykoná všetky konfigurácie úplne
samostatne. Napr. po nainštalovaní OS Linux do distribuovaného systému, budeme mať linuxový
Honeypot, alebo pri odstránení ľubovoľnej služby, sa súvisiaca služba odstráni aj spomedzi zoznamu
emulovaných služieb. Pri výmene smerovačov, napr. Hewlett-Packard za smerovače Cisco, sa lákadlo
tváriace ako smerovač samostatne nakonfiguruje a aktualizuje.
Riešením je zariadenie, ktoré jednoducho stačí len pripojiť do siete a samé sa naučí topológiu
systému, presne určí počet Honeypotov, ako aj ich konfiguráciu a dokáže sa v reálnom čase adaptovať
na akúkoľvek zmenu v systéme.
4.3.2
PROBLÉM
Prvou a najkritickejšou časťou sofistikovaného Honeypotu je spôsob, akým dokáže získavať
informácie o sieti, v ktorej je nasadený, napr. aké systémy sú využívané a ako sa používajú v danom
prostredí – znázornené na Obr. 6. Po získaní týchto parametrov bude sofistikovaný Honeypot
52
Fanfara, Chovanec
inteligentne mapovať a promptne reagovať na dané prostredie. Jeden z možných a najjednoduchších
spôsobov je použiť aktívne sondovanie a takto určiť používané systémy, ich typ i používané služby.
Použitím aktívnej metódy získavania údajov, ktorá má svoje nedostatky v podobe zvýšenej záťaže
siete, vzniká riziko ohrozujúce prevádzku systému.
servery s OS Linux
servery s OS Windows
databáza
sofistikovaný
Honeypot
smerovače
pasívne získavanie parametrov
klienti
distribuovaný systém
Obr. 6. Pasívne získavanie systémových parametrov sofistikovaným Honeypotom pre determinovanie spôsobu
rozmiestnenia virtuálnych Honeypotov.
Pre kontinuálnu a korektnú funkčnosť v distribuovanom systéme by sofistikovaný Honeypot musel
neustále aktívne skenovať celé prostredie nasadenia, čo nepredstavuje najvhodnejší prístup.
4.3.3
RIEŠENIE PROBLÉMU
Riešením nevýhod aktívneho skenovania predstavuje pasívny prístup, konkrétne metóda pasívneho
získavania odtlačkov a mapovania (passive fingerprinting and mapping) [13].
Metóda pasívneho získavania odtlačkov nie je nová. Ideou je zmapovanie a získanie prehľadu
systémov v nasadenom prostredí. Rozdiel oproti aktívnej metóde predstavuje spôsob mapovania, ktorý
je pasívne získavaný odchytávaním sieťovej komunikácie, jej analyzovaním a následným určením
identity systémov. Pasívny spôsob používa rovnaké metódy ako aktívny. Nástroje ako, napr. Nmap
[13], vytvoria databázu signatúr o známych operačných systémoch a službách. Po vytvorení databázy
tieto nástroje aktívne vysielajú pakety, vyžadujúce odpoveď, od cieľových zariadení. Prichádzajúce
odpovede, unikátne pre väčšinu operačných systémov a služieb, sú porovnávané s databázou z dôvodu
jednoznačného identifikovania operačného systému a používaných služieb.
Acta Informatica Pragensia
53
Pasívne získavanie odtlačkov používa rovnaký prístup ako vyššie popísaná databáza, ibaže dáta
získava pasívne. Namiesto aktívneho sondovania systému odchytáva prevádzku zo siete a analyzuje
odchytené pakety, ktoré následne porovnáva s databázou signatúr identifikácie vzdialeného systému.
Metóda pasívneho získavania odtlačkov nie je limitovaná použitím výhradne TCP protokolu, čo
umožňuje využitie iných protokolov. Tým, že je metóda kontinuálna – zmeny v sieti zachytáva
v reálnom čase, sa jej výhoda stáva kritickou pre udržiavanie realistického Honeypotu počas dlhého
obdobia. Jedinú nevýhodu pre pasívne získanie predstavuje správnosť fungovania cez smerované siete
– efektívnejšie je pri použití v lokálnych sieťach.
4.3.4
KONCEPT
Navrhovaný Honeypot používa pri získavaní údajov o sieti koncept založený na pasívnom získavaní
odtlačkov. Honeypot je nasadený ako samostatné zariadenie, ktoré je fyzicky pripojené do počítačovej
siete distribuovaného systému. Pasívnym analyzovaním sieťovej prevádzky determinuje počet
používaných systémov, typ operačných systémov, druh spustených a poskytovaných služieb, po
prípade zistí, s kým a ako často komunikuje konkrétny systém. Tieto informácie slúžia pre mapovanie
a získanie znalostí o sieti. Akonáhle Honeypot zozbiera všetky potrebné informácie, môže začať
s rozmiestňovaním Honeypotov Obr. 7, ktoré sú vytvorené pre zrkadlenie celého systému. Honeypoty
so schopnosťou výzoru a správania sa rovnakým spôsobom ako produkčné prostredie, dokážu bez
problémov splynúť s okolím, čo robí ich identifikáciu alebo vypátranie útočníkom omnoho
zložitejším. Pasívne získavanie informácií však nekončí, ale prebieha kontinuálne, čím monitoruje
celú sieť systému a predstavuje zvýšenie flexibility, nakoľko pri akejkoľvek zmene je táto v reálnom
čase identifikovaná a, v systéme rozmiestnenými Honeypotmi, v čo najrýchlejšom čase realizovaná.
4.3.5
ROZMIESTNENIE HONEYPOTOV V SYSTÉME
Tradičné riešenie otázky implementovania lákadlá do systému vyžaduje jeho fyzické umiestnenie pre
každú monitorovanú IP adresu, čo predstavuje značné časové obdobie i prácu. Jednoduchším
autonómnym riešením, napr. typu vystreľ a zabudni (fire-&-forget), je neimplementovať fyzické
Honeypoty, ale virtuálne, ktoré v dostatočnom množstve dokážu monitorovať všetky nevyužívané IP
adresy. Virtuálne lákadlá sledujú identický IP adresný priestor, ako samotný systém. Všetky virtuálne
lákadlá sú vytvorené, umiestnené a spravované jedným fyzickým zariadením – navrhovaným
sofistikovaným Honeypotom, ktorého princíp fungovania je znázornený na Obr. 7.
Nakoľko virtuálne Honeypoty monitorujú nevyužívané IP adresy v počítačovej sieti, je takmer isté, že
akákoľvek aktivita daných IP adries je z najväčšou pravdepodobnosťou škodlivým alebo
neautorizovaným správaním. Pomocou informácií získaných prostredníctvom pasívneho mapovania
prostredia je možné stanoviť potrebné množstvo, typ a rozmiestnenie Honeypotov.
Schopnosť dynamicky vytvárať a rozmiestňovať virtuálne lákadla už existuje. Open-source riešenie
Honeypotu s nízkou interakciou – Honeyd umožňuje nasadiť virtuálne lákadlá v celom prostredí
organizácie. Kombináciou možností riešenia ako je Honeyd a schopnosťami metódy pasívneho
získavania odtlačkov, je možné realizovať návrh autonómneho sofistikovaného Honeypotu
s dynamickým vytváraním a rozmiestňovaním virtuálnych lákadiel, ktoré splynutím s okolitým
prostredím systému minimalizujú riziko identifikovania a odhalenia útočníkom [14].
54
Fanfara, Chovanec
servery s OS Linux
servery s OS Windows
databáza
sofistikovaný
Honeypot
smerovače
klienti
pasívne získavanie
parametrov
distribuovaný systém
Obr. 7. Rozmiestnenie virtuálnych Honeypotov na základe získaných parametrov.
5 ZÁVER
V súčasnosti je bezpečnosť informačných technológií obzvlášť dôležitá v spoločnostiach, ktoré sú
závislé od informácií. Preto sa, pri tvorbe systémov, kladie nemalý dôraz práve na ochranu údajov
a informačných zdrojov. Ochrana prístupu, dostupnosť a integrita údajov reprezentujú základné
bezpečnostné vlastnosti požadované od informačných zdrojov. Narušenie niektorej z uvedených
vlastností by znamenalo prienik do systému a s tým súvisiace bezpečnostné riziko. Existuje niekoľko
spôsobov ochrany systémov, kam radíme aj rôzne metódy na zabezpečenie, obsahujúce bezpečnostné
pravidlá a popisujúce jednotlivé úrovne možného správania.
Ďalším spôsobom obrany sú rôznorodé systémy, ktoré detegujú neobvyklé a podozrivé správanie.
Medzi tieto systémy zahŕňame aj systémy na detekciu prienikov. Pri systémoch na detekciu prienikov
predstavuje hlavný problém riziko nedetegovania prieniku.
Riešením daného problému detekcie predstavuje použitie lákadiel, ktoré sú relatívne novou, čoraz
populárnejšou a používanejšou, technológiou. Technológia nazývaná Honeypot má obrovský
potenciál pre bezpečnostnú komunitu a môže dosiahnuť niekoľko cieľov iných technológií, čo ju robí
takmer univerzálnou. Použitie lákadiel predstavuje cenovo-efektívne riešenie pre zvýšenie
bezpečnostného postavenia organizácie. Z tohto dôvodu sú rastúcou mierou nasadzované v systémoch,
avšak väčšinou pasívne, nakoľko administrátori sledujú situáciu v systéme a akonáhle bol Honeypot
napadnutý, manuálne vykonajú analýzu a implementujú riešenie.
Acta Informatica Pragensia
55
Tak ako akákoľvek nová technológia, aj lákadlá majú určité nedostatky, ktoré potrebujú prekonať
a odstrániť. Takže ani Honeypot nepredstavuje všeliek na prelomenie bezpečnosti. Vzhľadom k tomu,
že sa používa na zber informácií o útočníkoch a iných hrozbách, je užitočný ako nástroj pre forenzné
činnosti v sieti a detekciu prienikov v počítačových systémoch.
Budúcnosť Honeypotov a počítačovej bezpečnosti v detekcii prienikov predstavujú sofistikované
lákadlá, pretože majú predpoklad radikálnej revolúcie autonómneho nasadenia a údržby. Študovaním
a monitorovaním siete v reálnom čase, sa stávajú vysoko-flexibilným riešením. Nielenže ich nasadenie
a spravovanie sa stáva cenovo efektívnejším, ale poskytuje aj omnoho lepšiu integráciu do systému,
čím sa minimalizuje riziko chyby ľudského faktora počas manuálneho konfigurovania. Splynutím
s okolitým prostredím systému navyše minimalizuje riziko identifikovania útočníkom.
POĎAKOVANIE
Táto práca bola podporovaná Agentúrou na podporu výskumu a vývoja na základe zmluvy
č. APVV-0008-10 (50%) a vznikla aj vďaka podpore v rámci operačného programu Výskum a vývoj
pre projekt: Centrum výskumu účinnosti integrácie kombinovaných systémov obnoviteľných zdrojov
energií, s kódom ITMS: 26220220064, spolufinancovaný zo zdrojov Európskeho fondu regionálneho
rozvoja (50%).
6 ZOZNAM POUŽITÝCH ZDROJOV
[1]
MCGRAW, Gary a Greg MORRISETT. Attacking Malicious Code: A Report to the Infosec
Research Council. IEEE Software: A report to the Infosec Research Council. 2000, vol. 17,
issue 5, s. 33-41. DOI: 10.1109/52.877857.
[2]
MCHUGH, John, Alan CHRISTIE a Julia ALLEN. Defending Yourself: The Role of
Intrusion Detection Systems. IEEE Software: A report to the Infosec Research Council. 2000,
vol. 17, issue 5, s. 42-51. DOI: 10.1109/52.877859.
[3]
Know your enemy: revealing the security tools, tactics, and motives of the blackhat
community. Boston: Addison-Wesley, c2002, xvii, 328 s. ISBN 02-017-4613-1.
[4]
Snort. [online]. [cit. 2013-03-03]. Dostupné z: http://www.snort.org.
[5]
CHUVAKIN, Anton. “Honeynets: High Value Security Data”. Network Security. 2003, vol.
2003, issue 8, s. 11-15. DOI: 10.1016/S1353-4858(03)00808-0.
[6]
Symantec Corporation. SPITZNER, Lance a Marty ROESCH. The Value of Honeypots: Part
One: Definitions and Values of Honeypots [online]. 2001, 3.11.2010 [cit. 2013-03-03].
Dostupné z: http://www.symantec.com/connect/articles/value-honeypots-part-one-definitionsand-values-honeypots.
[7]
KECIA, Gubbels. Hands in the Honeypot. In: SANS Institute: InfoSec Reading Room [online].
2002 [cit. 2013-06-03]. Dostupné z:
http://www.sans.org/reading_room/whitepapers/detection/hands-honeypot_365.
[8]
SPITZNER, Lance. Honeypots tracking hackers. Boston: Addison-Wesley, 2003, xxvi, 452 s.
ISBN 03-211-0895-7.
56
[9]
Fanfara, Chovanec
BAECHER, Paul, Markus KOETTER, Thorsten HOLZ, Maximillian DORNSEIF a Felix
FREILING. The Nepenthes Platform: An Efficient Approach to Collect Malware. s. 165. DOI:
10.1007/11856214_9.
[10]
BAUMANN, Reto a PLATTNER. White Paper: Honeypots. 2002. Dostupné z:
http://www.rbaumann.net/download/whitepaper.pdf.
[11]
SPITZNER, L. a PLATTNER. The honeynet project: trapping the hackers. IEEE Security.
2003, vol. 1, issue 2, s. 15-23. DOI: 10.1109/MSECP.2003.1193207.
[12]
SINGH, Ram Kumar a T. RAMANUJAM. Intrusion Detection System Using Advanced
Honeypots. (IJCSIS) International Journal of Comput er Science and Info rmation Security
[online]. 2009, roč. 2, č. 1 [cit. 2013-06-03]. Dostupné z:
http://arxiv.org/ftp/arxiv/papers/0906/0906.5031.pdf.
[13]
LYON, Gordon Fyodor. Nmap network scanning: official Nmap project guide to network
discovery and security scanning. 1st ed. Sunnyvale, CA: Insecure.Com, LLC, c2008, xxix,
434 p. ISBN 09-799-5871-7.
[14]
PROVOS, Niels. Honeyd: A Virtual Honeypot Daemon. Dostupné z:
http://www.citi.umich.edu/u/provos/papers/honeyd-eabstract.pdf.
[15]
Symantec Corporation. In: SPITZNER, Lance. Open Source Honeypots: Learning with
Honeyd [online]. 2003, 2.11.2010 [cit. 2013-06-03]. Dostupné z:
http://www.symantec.com/connect/articles/open-source-honeypots-learning-honeyd.
[16]
SUTTON, Raplh Edvard Jr. Section 1: How to Build and Use a Honeypot. In: Docstoc:
Documents & Resources for Small Businesses & Professionals [online]. 2008 [cit. 2013-0603]. Dostupné z: http://www.docstoc.com/docs/1953205/How-to-build-and-use-a-HoneypotBy-Ralph-Edward-Sutton-Jr-DTEC.
[17]
BALAZ, Anton a Liberios VOKOROKOS. Intrusion detection system based on partially
ordered events and patterns. 2009 International Conference on Intelligent Engineering
Systems. IEEE, 2009, s. 233-238. DOI: 10.1109/INES.2009.4924768.
[18]
VOKOROKOS, Liberios, Norbert ÁDÁM a Anton BALÁŽ. Application Of Intrusion
Detection Systems In Distributed Computer Systems And Dynamic Networks [online]. Košice,
2008[cit. 2013-03-03]. ISBN 978-80-8086-100-1. Dostupné z:
http://kpi1.fei.tuke.sk/CST08/CSetTRS08.pdf#page=23.
Acta Informatica Pragensia
2(1), 2013, 57–69, ISSN 1805-4951
Online: aip.vse.cz
Sekce / Section:
Recenzované stati / Peer-reviewed papers
Vizuální jazyk Archimate pro modelování Enterprise
architektury na příkladu integrace ekosystému tabletu
Hynek Stehlík1
1
Vysoká škola polytechnická Jihlava, Tolstého 16, Jihlava
[email protected]
Abstrakt: Účelem článku je ukázat možnosti modelování Enterprise architektury
prostřednictvím vizuálního jazyka Archimate na problému integrace existujících
podnikových technologických architektur a nových technologií tabletů, které spolu
s doprovodnými webovými službami představují nové typy ekosystémů IT
orientovaných na uživatele jako konzumenty. Diskutován je zejména tlak na další
nárůst heterogenního prostředí při nasazování aplikací v podnikových systémech.
Článek je primárně určen pro architekty IT a manažery v podnikové sféře, kteří
jsou zapojeni do strategických rozhodování.
Klíčová slova: Archimate, tablet, architektura, podnikové informační systémy,
ekosystém
Title: Visual language Archimate for Enterprise Architecture modelling
– an example of a tablet ecosystem integration
Abstract: The purpose of this article is to demonstrate Enterprise Architecture
modelling capabilities of Archimate – a visual language. We analyse problem of an
integration of a consumer oriented tablet ecosystem into existing enterprise
technology architectures. We discuss forces leading towards an increase
of heterogeneous environment during deployment of tablet applications into
enterprise systems. The article is primarily targeted at IT architects and managers
in the enterprise sector, who are involved in strategic decision processes.
Keywords: Archimate, Tablet, Architecture, Enterprise Information Systems,
Ecosystem
58
Stehlík
1 ÚVOD
Rozhodování o změnách v architektuře podnikových informačních technologií (IT) stále častěji
spadají mezi strategická rozhodování podniků. Komplexnost dosavadních technologií IT se v současné
době nesnižuje, spíše naopak. V posledních letech například vyrostl zcela nový trh zaměřený na
domácí uživatele chytrých telefonů a tabletů, kteří se stávají konzumenty nových generací
internetových služeb. Tento trend logicky proniká i do podnikového prostředí, ale často se tak děje
nekoordinovaným způsobem. Cílem příspěvku je ukázat možnosti modelování podnikové architektury
prostřednictvím vizuálního jazyka Archimate na problému integrace existujících architektur s novými
architekturami, které přicházejí do podniků s tablety.
Účelem příspěvku není zásadní hodnocení technologií uváděných v diagramech a komplexní přehled
alternativ, ale především předvedení možností různých pohledů na architekturu prostřednictvím
grafického jazyka Archimate. Představuje rozšíření příspěvku předneseného na konferenci Trendy
a technologie, která se konala na Vysoké škole polytechnické Jihlava [10].
2 STANDARD ARCHIMATE – GRAFICKÝ PROSTŘEDEK PRO
ZNÁZORNĚNÍ HLAVNÍCH ASPEKTŮ PODNIKOVÝCH
ARCHITEKTUR
V oblasti podnikových IT existuje nepřeberné množství pojmů a označení, které se zhruba 40 let
postupně vyvíjelo poměrně nezávisle v rámci geneze jednotlivých technických disciplín. Často
odlišnou terminologii používají specialisté vývoje aplikací, administrátoři platforem, správci sítí,
architekti internetových technologií. Současně jsou pro podporu procesů řízení IT vytvářeny
specifické metodologie a nástroje, které taktéž zavádějí různé termíny (ITIL, COBIT apod.). Stává se,
že stejný výraz má ve dvou disciplínách jiný význam (sémantiku).
Tento stav komplikuje vzájemné porozumění různých technických týmů navzájem, nemluvě
o porozumění mezi technickými a obchodními (byznys) týmy. Týmy, které jsou primárně zodpovědné
za rozvoj a provoz IT, používají bohužel příliš často svoje technické dialekty, zatímco obchodní týmy
potřebují mluvit především jazykem obchodních procesů, produktů a služeb.
Dosavadním standardním podnikovým řešením je zavedení striktního procesu zadávání požadavků
a změn, ve kterém je odděleno prvotní zadávání funkčních požadavků na systémy IT od následného
návrhu a implementace řešení IT. Pro samotný návrh konceptu aplikačního systému a vlastní
programování jsou používány propracované a osvědčené metodiky, například RUP a UP.
Jak se ale ukazuje, oblasti byznysu a technologické oblasti IT jsou natolik provázány, že návrh
konceptů (architektur) je nutné provádět z hlediska celkového pohledu na podnik. Tímto úkolem se
zabývá disciplína Enterprise Architecture (EA, český překlad se zatím neustálil na jednotném
termínu). Existující standard ISO 42010 pro popis architektur [6] definuje základní pojmy (hledisko,
pohled, rámec) v a představuje tak velmi kvalitní základ pro popis architektury podnikových systémů.
Z českých zdrojů je velmi kvalitně popsáno zahrnutí tohoto standardu do širšího kontextu EA v článku
autorů VŠE [3].
Acta Informatica Pragensia
59
Archimate [2] je nový standard pro modelování Enterprise architektury, který je velmi přehledný jak
pro manažery, tak pro architekty IT a tím usnadňuje tvorbu společných týmů. Je založen na standardu
ISO 42010. Je dnes již zahrnut i ve většině profesionálních softwarových nástrojů pro modelování
architektury. Přehled komponent jazyka použitých v tomto článku (relací a konceptů) a jejich notace
obsahuje následující tabulka.
RELACE
NOTACE
KONCEPT
NOTACE KONCEPT
Association
(asociace)
Business actor
(byznys aktér)
Application service
(aplik. služba)
Used by
(využíváno)
Business role
(byznys role)
Application
component (aplik.
komponenta)
Realization
(realizace)
Business process
(byznys proces)
Flow (tok)
Business
function (byznys
funkce)
System software
(systémový software)
Triggering
(spouštění)
Business service
(byznys služba)
Device (zařízení)
Grouping
(seskupování)
Meaning
(význam)
Specialization
(specializace)
Product
(produkt)
NOTACE
Infrastructure service
(infr. služba)
Artifact (artefakt)
Tab. 1. Vybrané komponenty jazyka Archimate.
Na obrázku 1 je uveden zjednodušený diagram základních procesů životního cyklu obchodní aplikace
vytvořený v nástroji ARCHI [8]. Cyklus začíná procesem zadání obchodních požadavků, následuje
vývoj nebo nákup aplikace a její testy, nakonec je aplikace distribuována k nasazení do provozu
a podnikový uživatele s ní může pracovat. Pro zjednodušení není uváděna žádná organizační struktura,
ale pouze podnikové funkce, které je nutné zajistit (řízení obchodních činností, řízení, vývoj a provoz
IT). Je uvažován nejrozšířenější technologický koncept, kdy na přístupových PC je instalován systém
Microsoft Windows.
60
Stehlík
Obr. 1. Příklad využití jazyka Archimate pro zobrazení životního cyklu aplikace.
Obrázek zároveň ukazuje tradiční model aplikací typu klient-server, který se masově rozšířil po
nástupu PC a je stále využíván. Úskalím tohoto modelu je nutnost distribuce a instalace aplikací na
koncová PC, která jsou mnohdy rozšířena v geograficky vzdálených lokalitách.
2.1 APPLE IPAD JAKO ZAČÁTEK
KONZUMNÍCH SLUŽEB
EXPANZE
NOVÉ
GENERACE
Technologie osobních digitálních asistentů (PDA) se nejprve vyvíjely jako off-line zařízení (např.
Microsoft Pocket PC), do kterých bylo možné instalovat aplikace prostřednictvím připojení k PC. Po
prudké expanzi telefonů GSM docházelo k integraci funkcí telefonů do zařízení typu PDA. Vzhledem
k různorodosti zařízení a zastaralému konceptu se tato zařízení obtížně uplatňovaly principy centrální
správy a konfigurace, které jsou vyžadovány v rozsáhlém podnikovém prostředí.
Průlomová byla architektura Blackberry od firmy RIM, která byla postavena jako služba mobilního
emailu pro podnikové prostředí. Architektura systému byla od začátku navrhována tak, aby veškerou
konfiguraci koncových telefonů včetně nastavení zabezpečení bylo možné provádět centrálně
z jednoho místa prostřednictvím software pro centrální správu a zabezpečit tak ochranu podnikových
dat.
Acta Informatica Pragensia
61
V této situaci roku 2007 firma Apple uvedla na trh telefon iPhone a následně v roce 2010 zcela nový
typ tabletu iPad, které zásadně změnily situaci nejen na celém trhu s chytrými telefony, ale i na trhu
s osobními počítači, protože nový tablet začal částečně konkurovat notebookům.
Nejdůležitější aspekty jejich nástupu jsou dle mého názoru následující (stranou ponecháváme
špičkový design a promyšlený produktový marketing):
1. Revoluční ovládání zařízení prsty prostřednictvím gest na dotykové obrazovce (není potřeba
používat stylus)
2. Zařízení je dodáváno jako jeden celek se službami systémové aktualizace a instalace aplikací,
které jsou jednotné a umístěné u poskytovatele. Celek je propojen do jednoho obchodního
modelu se službami prodeje obsahu (hudba, video) a aplikací.
To je doprovázeno principem maximální jednoduchosti ovládání a principem zamezení přímého
přístupu uživatele k funkcím operačního systému.
Druhý aspekt si můžeme znázornit prostřednictvím modelů Archimate – obrázky 2 a 3.
Obr. 2. Společná architektura iPhone a iPad – zařízení a služby představují jeden produkt.
Systémový princip návrhu postavený na konceptu černé skříňky (blackbox) a jejího rozhraní je zde
dotažen téměř k dokonalosti. Rozhraní pro uživatele je maximálně zjednodušeno, vše ostatní je
posunuto do transparentních služeb. Například z konfigurace operačního systému je dostupné jen
nezbytně nutné minimum, aby uživatel nemohl nic důležitého pokazit, a souborový systém je dokonce
odstraněn z přímého vlivu uživatele - je poskytnut pouze prostřednictvím jednotlivých aplikací.
Další obrázek ukazuje vztah mezi koncovými službami pro uživatele (prvky byznys vrstvy jsou žluté)
a komponentami a službami aplikací (prvky aplikací modře). Zelená zůstává pro prvky technologie
infrastruktury.
62
Stehlík
Obr. 3. Tablet z pohledu uživatele (zjednodušeno).
V rámci procesu dodávky (provisioningu) aplikace (Apple [1]) musí být kód aplikace nejprve být
dodán dodavateli, kde projde procesem certifikace (neznázorněno), a teprve pak je zpřístupněn
uživatelům jako produkt, který je možné si zakoupit, stejně jako jsou nabízeny hudební tituly a videa.
Po zakoupení proběhne automatická distribuce samotného kódu aplikace a její instalace na tablet,
která je pro uživatele prakticky transparentní. Od toho okamžiku aplikace může začít fungovat jako
samostatná služba pro uživatele, její napojení na další internetové služby pro přehlednost již není
zobrazeno.
Na obrázcích 2 a 3 je jazyk Archimate použit volněji: smyslem je vizuálně zdůraznit propojení
zařízení se službami, které poskytuje. Uvedený příklad zároveň ilustruje možnosti notace Archimate,
která dovoluje zjednodušit pohledy na architekturu a zároveň ponechat ty nejdůležitější aspekty. Díky
konceptu zobrazení služeb a jejich vztahů k ostatním entitám model umožní zachovat celostní
(holistický) přístup k architektuře. Relace „realizuje“ umožňuje znázornit způsob, jak jsou
z jednotlivých komponent (systémy, aplikace) vytvářeny služby. S narůstajícím posunem podnikových
architektur od interních technologií IT k provázanosti interních a externích služeb je Archimate velmi
vhodná alternativa, protože nabízí jednotnou notaci pro zobrazení integračních pohledů při
modelování Enterprise architektury.
3 EKOSYSTÉMY A JEJICH ODLIŠNOSTI
Tablet v novém pojetí tedy představuje celý ekosystém vystavěný s cílem zajištění integrity
end-to-end (od tabletu jako koncového zařízení přes služby až k jednomu bodu kontroly integrity
– vstupnímu bodu pro vývojáře). To je zásadní změna proti celým předcházejícím generacím
mobilních telefonů a tabletů – dosud byl koncový uživatel sám zodpovědný za integritu zařízení (na
Acta Informatica Pragensia
63
obrázku 2 vlevo) - instaloval si sám aplikace na vlastní odpovědnost lokálně. V novém pojetí se
přesouvá hlavní odpovědnost za integritu celého ekosystému (včetně koncového zařízení) na
dodavatele ekosystému (někdy označován jako megavendor) a možnosti lokálních zásahů uživatele
jsou omezeny.
Řada z těchto principů je velmi blízká správcům podnikových systémů právě proto, že tento koncept
výrazně minimalizuje náklady na správu samotných koncových zařízení.
Na konceptuální úrovni to je tedy podobný koncept, jaký se v oblasti PC ustálil ve velkých
podnikových IT systémech pod názvem prostředí řízeného desktopu (managed desktop environment),
ve kterém jsou aplikace na koncová PC dodávány z centrálního místa. Významným rozdílem je ale
způsob aktivace samotné instalace: zatímco v podnikových systémech převládala centrálně aktivovaná
instalace na PC (metoda push - viz procesy na obrázku 1), v tabletových systémech je výběr a aktivace
aplikací ponechána na samotném uživateli (metoda pull).
Důvodem je, že rozvoj tabletového ekosystému je řízen megavendorem především s důrazem na
úspěšnost služeb na konzumním trhu. Trh podnikového IT nepředstavuje v první etapě zdaleka takový
potenciál obratu, proto jej první generace tabletových systémů spíše opomíjejí. Tabulka 2 zobrazuje tři
nejvýznamnější megavendory a hlavní součásti jejich ekosystémů pro tablety.
MEGAVENDOR
PRODUKT
PLATFORMA
HLAVNÍ SLUŽBA
Apple
iPad
iOS
App Store
Google
Různí dodavatelé
Android
Google Play
Microsoft
Surface RT + různí
dodavatelé
Windows RT, CPU ARM
Microsoft Store
Surface Pro + různí
dodavatelé
Windows 8, CPU Intel
Microsoft Store
Tab. 2. Hlavní součásti ekosystémů pro tablety.
V této situaci podniky, jejichž architektura IT je v oblasti koncových zařízení většinou založena na
platformě Windows, hledají obvykle dva typy řešení pro tablety:
1. jaký typ aplikace zvolit pro zákazníky,
2. jak reagovat na poptávku po tabletech ze strany zaměstnanců podniku.
Obě řešení mají jiný kontext, priority a požadavky na integraci. Aplikace pro zákazníky jsou
navrhovány především v kontextu trhu a v návaznosti na serverové aplikační služby poskytované
podnikem, ale není nutno řešit další integraci na úrovni interního podnikového ekosystému. Příklad
případové studie tvorby aplikace pro tablet v bankovním prostředí uvádí Forrester [4].
Požadavky na nasazení aplikací pro tablet a zaměstnance je třeba analyzovat v kontextu stávajícího
podnikového ekosystému (systémy a procesy správy zařízení a software) a podnikové bezpečnostní
politiky. Tam, kde jsou vysoké požadavky na zabezpečení, je třeba hledat vyhovující model správy
64
Stehlík
tabletu a aplikací. Většinu dosavadních operačních systémů pro tablety představují systémy vyvinuté
pro mobilní telefony, které svým technickým konceptem i způsobem začlenění do ekosystému
megavendora většinou neumožňují, aby podniky převzaly jejich řízení způsobem obvyklým z řízení
desktopů.
Zatím jedinou významnou výjimku představují tablety založené na Windows 8, protože vycházejí ze
plnohodnotného desktopového systému Windows 7, pro který existuje řada osvědčených systémů
centrální správy. Podniky by tedy v případě požadavků na tablety pro zaměstnance měly analyzovat,
zda a jak tablety s Windows 8 (včetně aplikací pro styl METRO) je možné centrálně spravovat
a konfigurovat pomocí jejich dosavadních nástrojů na správu. Základní technické koncepty k této
problematice jsou uvedeny ve zdroji [9].
4 PROFILOVÁNÍ ROLÍ UŽIVATELŮ SYSTÉMŮ
Vznik nové generace mobilních služeb, které jsou postaveny na dotykových telefonech a tabletech
a doprovázeny rozšiřováním internetových služeb, je doprovázen nástupem nové generace uživatelů
jako konzumentů. Z dosavadních uživatelů domácích PC se stali uživatelé skutečně mobilní, kteří
často očekávají a někdy vyžadují stejné parametry mobilního přístupu k podnikovým informačním
systémům ze stejného zařízení.
Vzniklou situaci pak může charakterizovat následující diagram na obrázku 4.
Obr. 4. Dnešní člověk a dvě z jeho rolí z pohledu IT.
Člověk v roli konzumenta je zvyklý na aktivity, jako je sociální sdílení a spoluprožívání
prostřednictvím Facebooku, nákupy, hraní her, procházení internetu bez omezení, poslech hudby a vše
ostatní, nač jen pomyslí.
Acta Informatica Pragensia
65
Naproti tomu od člověka v roli pracovníka se stále očekává, že se bude řídit podnikovými pravidly,
dodržovat bezpečnostní principy a především pracovat.
5 PODNIKOVÉ EKOSYSTÉMY PŘED
ZAVEDENÍ CENTRÁLNÍHO ŘÍZENÍ
IPAD
–
VE
ZNAMENÍ
Model nasazení aplikací typu klient-server (obr. 1) je v podnicích zhruba od začátku tisíciletí
nahrazován architekturou webových aplikací popřípadě architekturou centralizací aplikací na
terminálové servery – obrázek 5. Cílem obou novějších architektur je eliminovat potřebu distribuce
aplikací na vzdálená PC.
Architektura webových aplikací centralizovala aplikační logiku a slibovala ukončení potřeby
instalovat aplikace na koncová PC a zavedení nezávislosti na operačním systému koncového zařízení.
V architektuře terminálového serveru Windows (v nejpropracovanější podobě je dodávaná firmou
CITRIX) běží tradiční Windows aplikace na centrálním terminálovém serveru Windows (nebo spíše
na farmě serverů), ke kterému přistupuje buď specializovaný hardwarový terminál nebo terminálový
software instalovaný na PC.
V architekturách 2 a 3 tedy odpadá nutnost instalace byznys aplikací na vzdálené PC. Webový
browser a terminálový klient jsou fakticky také aplikace, ale svojí funkcí jsou blíže technické
infrastruktuře (proto jsou označeny tmavě zelenou barvou).
Obr. 5. Varianty dodávek aplikací v podniku.
Přestože na obrázku jsou architektury pro přehlednost zobrazeny odděleně, v reálném podniku se
většinou vyskytují minimálně první dvě z nich ve vzájemné provázanosti.
66
Stehlík
6 ARCHITEKTURY PROPOJENÍ – MOŽNÉ VARIANTY
Je třeba si uvědomit, že obchodní model typu iPad znovu oživil tradiční model tzv. tlustých aplikací,
které běží nativně na koncových zařízeních. Vznikl celý nový konzumní trh, který se opírá o dodávky
těchto aplikací z centrálních úložišť (obrázek 3).
Na první pohled nejsnáze je možné začlenit tablety do podnikových systémů napojením na webové
aplikace, jak je uvedeno na obrázku 6. Velmi ale záleží na typu podniku a jeho potřebě ochrany dat, je
tedy nutné nejprve provést konkrétní bezpečnostní analýzu.
Obr. 6. Jedna z variant propojení architektur prostřednictvím sdílené webové aplikace.
Pokud podnik disponuje architekturou terminálového serveru Windows, tak je možné uvažovat
o napojení tabletu prostřednictvím terminálového klienta (obrázek zůstane stejný, jen místo browseru
bude terminálový klient).
Nejnáročnější obvykle bude varianta integrace a využívání nativních (tlustých) aplikací tabletu, které
jsou uživateli nejvíce vyžadovány, protože zatím poskytují nejbohatší funkcionalitu:
Acta Informatica Pragensia


67
znamená zavedení další nové aplikační platformy pro tablet
znamená zavedení dalšího typu distribuce aplikací
Pokud podnik potřebuje vytvářet vlastní aplikace pro tablety, měl by uvažovat o o využití nástrojů pro
tvorbu aplikací s HTML 5, které slibují nezávislost na platformě tabletu (a tedy i na ekosystému
megavendora).
7 NOVÁ ÚSKALÍ A NOVÉ MOŽNOSTI PRO PODNIKOVÉ ÚTVARY IT
Podnikoví pracovníci si ve svých druhých rolích privátních konzumentů rychle zvykli na vnímání IT
jako služby, kterou je velmi snadné vybrat, vyzkoušet a odložit. A to vše za velmi nízké ceny nebo
ještě častěji zadarmo. Je zřejmé, že podnikové IT takto z principiálních důvodů fungovat nemůže.
Různorodost (heterogenita) výpočetních systémů a aplikací obvykle bude přinášet vyšší náklady na
správu, než relativně stejnorodé prostředí. Podnik navíc vždy musí zajistit prioritně rozvoj, podporu,
stabilitu a bezpečnost svých hlavních procesů.
Poslední desetiletí zavádění procesních optimalizací IT orientovaných na služby (např. podle rámce
ITIL [7]) zajišťuje dosažení původních cílů, tedy větší transparentnost a přehlednost IT pro interní
zákazníky. Vedlejším efektem však často je, že interní zákazníci a management firmy mají dojem, že
IT je vlastně jenom služba a samotné technologie je nemusejí zajímat, s nimi už si musí poradit IT
samo. Opak je však pravdou.
V dané situaci je nezbytné, aby útvary IT byly schopny vysvětlovat služby IT jako celek, který je na
jednu stranu provázaný do obchodních služeb podniku a na druhou stranu do technologické
infrastruktury, která většinou založena na platformách (aplikační, databázové, systémové).
Standard Archimate představuje v současnosti jeden z nejkvalitnějších prostředků, který prozíravým
architektům podnikových systémů dává do ruky vizuální nástroj, ve kterém je možné konzistentně
zobrazit ty nejdůležitější aspekty vzájemných závislostí mezi podnikovými procesy, podnikovými
aplikacemi a technologickou infrastrukturou.
8 ZÁVĚRY A DOPORUČENÍ
8.1 SHRNUTÍ
Článek analyzuje nástup mediálních tabletů a souvisejících ekosystémů především z hlediska dodávky
aplikací a celkové architektury v kontextu vnitřních systémů podnikového IT. Zatímco tradiční životní
cyklus podnikové aplikace je převážně interní záležitostí (obrázek 1), architektura dodávek aplikací
v ekosystémech tabletů znamená posun těžiště správy operačního systému a distribuce aplikací mimo
samotný podnik (obrázek 3). Další zásadní změnou je nástup nových typů klientských aplikačních
platforem, které se převážně v podnikovém prostředí nevyskytovaly. Třetím faktorem a hlavním
driverem požadavků na změny jsou zaměstnanci-konzumenti (obrázek 4), kteří si zvykli na používání
tabletů v privátní sféře.
68
Stehlík
8.2 DOPORUČENÍ
Z hlediska architektury infrastruktury podnikových systémů se v této situaci se jeví jako nejvhodnější
integrační koncept sdílení centrálních webových aplikací popřípadě koncept připojení na terminálový
server (pokud jej podnik využívá) - viz obrázek 6. Velkou výhodou tohoto konceptu je zachování
dosavadních investic směrem k centralizaci aplikací. Nevýhodou může být menší uživatelská
přívětivost stávajících centrálních aplikací ve webovém prohlížeči na tabletu.
Jako logické řešení této situace lze doporučit zvážení tvorby firemních aplikací pro tabletová rozhraní
(ovládání gesty) s využitím nastupujícího standardu HTML 5, jehož podporu avizují všichni klíčoví
megavendoři. Toto řešení zároveň sníží závislost podniku na ekosystémech megavendorů a pomůže
oddálit případné strategické rozhodnutí při výběru platformy.
8.3 HLEDISKO ENTEPRISE ARCHITEKTURY
Primární ve vztahu k tabletům by mělo být hledisko vytvořené v procesu enteprice architektury, které
by se mělo opírat především o vyhodnocení skutečné obchodní potřeby na nasazení tabletů ve
vnitřních systémech. Byznys potřeba by měla být podložena reálnými funkčními požadavky na
tabletové řešení, na základě kterých je možné provést analýzu a vyhodnotit obchodní případ.
Podniky s velkým důrazem na bezpečnost, které zároveň využívají jako standardizovanou platformu
koncového zařízení Windows Desktop s centrálním systémem Active Directory, by měly zvážit tablet
s Windows 8, který kromě plnohodnotného operačního systému avizuje i možnost instalace aplikací
pro tablet s využitím stávajících technologií. V takovém případě by náklady na integraci správy tabletu
mohly být minimální. Pro seznámení s možnostmi technologií by pak podniky měly umět využít
řízený technologický experiment, který je provozován odděleně od stávajícího IT.
Jak jsem již zmínil, v oblasti nasazení tabletů je stále příliš brzo na stanovení dlouhodobé podnikové
strategie a výběr strategické platformy. Gartner [5] dává doporučení, kdy zvažovat přístup typu BYOD
(Bring Your Own Device) a jak přistoupit k systémům pro správu koncových zařízení v nové situaci.
V podstatě doporučuje na straně IT raději realisticky akceptovat a podporovat vybrané mobilní
platformy jako prevenci před živelným přístupem ze strany uživatelů. Podle mých zkušeností by však
ty podniky, kterým se podařilo díky standardizaci dosáhnout vysokou homogenitu svých interních
systemů, měly jen velmi opatrně zvažovat akceptaci dalších platforem orientovaných na konzumenty.
8.4 POPIS ARCHITEKTURY
Existence konzistentního popisu architektury IT v podniku je velmi žádoucí. Příklad uváděný ve
zřejmě první rozsáhlejší knize o implementaci Archimate [11] ukazuje, že standard Archimate je
možné ve velkém podniku použít i jako základní jazyk pro vytvoření kompletního aktuálního popisu
architektury podnikových systémů, který slouží zároveň jako databáze typu CMDB (Configuration
Management Database dle ITIL) pro navazující provozní procesy podnikového IT.
Acta Informatica Pragensia
69
POZNÁMKA
Hodnocení a doporučení uvedená v příspěvku vycházejí z dlouholetých zkušeností autora s řízením
architektury rozsáhlých systémů a služeb IT v bankovním prostředí. Diagramy na obrázcích byly
vytvořeny ve volně dostupném nástroji ARCHI [7].
9 SEZNAM POUŽITÝCH ZDROJŮ
[1]
Apple. Distributing Apps. Dostupné z:
http://developer.apple.com/library/ios/documentation/Xcode/Conceptual/ios_development_wo
rkflow/35-Distributing_Applications/distributing_applications.html
[2]
The Open Group. ArchiMate 2.0 Specification. Dostupné z:
http://pubs.opengroup.org/architecture/archimate2-doc/toc.html
[3]
BUCHALCEVOVÁ, Alena, GÁLA, Libor. Architektura v podnikové informatice. Systémová
integrace, 2008, roč. 15, č. 3, s. 7–22. ISSN 1210-9479.
[4]
Forrester. Forrester Case Study: Citibank's Tablet App Transforms The Digital Banking
Experience. Dostupné z: http://www.forrester.com
[5]
GARTNER. Media Tablets and Beyond: The Impact of Mobile Devices on Enterprise
Management [online]. Gartner Inc., 30.1.2012, ID:G00230267. Dostupné z:
http://www.gartner.com/id=1909316
[6]
ISO/IEC 42010:2011, Systems and Software Engineering – Architecture description.
ISO/IEC, 2011
[7]
Information Technology Infrastructure Library (ITIL). Informace o zdrojích dostupné na:
http://www.itil-officialsite.com
[8]
Institute for Educational Cybernetics. ARCHI 2.3.1 [software]. Download dostupný z:
http://archi.cetis.ac.uk/download.html
[9]
Microsoft. Windows Assessment and Deployment Kit (ADK) for Windows 8. Dostupné z:
http://www.microsoft.com/en-us/download/details.aspx?id=30652
[10]
STEHLÍK, Hynek. ARCHIMATE – VIZUÁLNÍ JAZYK PRO MODELOVÁNÍ
ENTERPRISE ARCHITEKTURY NA PŘÍKLADU INTEGRACE TABLETU. In: Trendy a
technologie 2012. 1. vydání. Jihlava: VŠPJ, 2012, s. 31-38. ISBN 978-80-87035-63-4.
[11]
WIERDA, Gerben. Mastering Archimate: A Serious Introduction to Archimate Enterprise
Architecture Modelling Language. Edition I [online]. The Netherlands, 2012. ISBN 978-90819840-0-3. Dostupné z: http://masteringarchimate.com
Acta Informatica Pragensia
2(1), 2013, 70–78, ISSN 1805-4951
Online: aip.vse.cz
Sekce / Section:
Recenzované stati / Peer-reviewed papers
Jak žáci a učitelé českých škol využívají Internet
Václav Nádvorník1
1
Pedagogická fakulta, Jihočeská univerzita v Českých Budějovicích
Jeronýmova 10, 371 15 České Budějovice
[email protected]
Abstrakt: Polemizovat o tvrzení, že dnešní generace žáků základní školy je
internetová generace, je asi zbytečné. Článek si klade za cíl popsat, jak ve
skutečnosti používají děti internet, které jeho části preferují a které naopak málo
používají. Tato zjištění lze porovnávat s návyky učitelů. Autor vychází
z rozsáhlého průzkumu uskutečněného mezi více jak 630 žáky a 150 učiteli
z různých škol na území České republiky. Článek by mohl být inspirací pro tvůrce
školních webových stránek a pedagogy škol, jimž může doporučit vhodné
komunikační kanály směrem k žákům.
Klíčová slova: internet a žáci, školní webová stránka, internet, Facebook
Title: How Czech Students and Teachers use the Internet
Abstract: It is useless to argue about statement that contemporary generation
of students of elementary schools is the Internet generation. The aim of the article
is to describe how children use the Internet, which parts of the Internet they use
more and less. We can compare this finding out with the habits of teachers. The
author made a survey among 630 students and 150 teachers from different schools
in the Czech Republic. The article should be an inspiration for school web masters
and for teachers. It can recommend them appropriate communication channels to
students.
Keywords: Internet and students, School web site, Internet, Facebook
Acta Informatica Pragensia
71
1 ÚVOD
Je třeba si uvědomit, že vzdělávání pouze ve školní budově je již překonaná záležitost. Rozvoj
Internetu a možnost ovlivňovat vzdělávání dětí nejen v době přímého vyučování, ale i v dalších
7 hodinách, které dítě aktivně tráví každý den mimo školní budovu, je šancí, kterou dnešní škola musí
využít. Metod, jak přinést vzdělávací obsah k dětem domů a jak je ovlivňovat a hlavně motivovat ke
vzdělání, je mnoho. Jednou z nich je zcela jednoznačná možnost použít Internet a speciálně školní
webovou stránku. Článek si klade za cíl popsat, jak ve skutečnosti používají děti internet, které jeho
části preferují a které naopak málo používají.
2 VYUŽITÍ INTERNETU V ČESKÉ REPUBLICE DLE
STATISTICKÝCH ZJIŠTĚNÍ
Na základě zjištění Českého statistického úřadu a Eurostatu mělo v domácnostech s dětmi přístup
k Internetu v roce 2010 na území České republiky cca 80%. Pro porovnání v roce 2005 to bylo pouze
32 %. V následující tabulce, která je převzatá ze Statistické ročenky ČSÚ 2010 [2] je patrno jejich
další rozdělení. Vyplývá z něj, že není platná rovnice - čím nižší vzdělání rodičů, tím menší šance na
využití Internetu doma. Největší podíl mají rodiny s úplným středním vzděláním. Každopádně 84 %
domácností je zcela zásadní počet a školy by měly tento fakt využít.
Tab. 1. Děti používající Internet doma. [2]
V článku Mladí a využití internetu ve Švédsku v roce 2009 [1] je uveden graf, ve kterém se ukazuje
změna zájmu o práci s Internetem v závislosti na věku dětí. Je z něj jasně patrno, že již nástupem do
školy ve věku 6, 7 let děti upouštějí od hraní her a sledování videí a postupně přibývá jiných činností
jako je instant messaging, vzdělávací činnosti a sociální sítě.
72
Nádvorník
Obr. 1. Co používají děti ve Švédsku na Internetu. [1]
Asi nejhorší je snažit se dnešní generaci vnutit způsob komunikace nás učitelů, kteří ale vyrůstali ve
zcela jiné době. Na toto zajisté naráží například učitelé českého jazyka, kteří řeší povinnou četbu. Není
možné ani v nejmenším zpochybňovat význam čtení a knih pro žáky. Ale kdo z češtinářů běžně
doporučuje Kindle, tablety, a nebo jiné čtečky e-booků? Autorův spolupracovník na škole zavádí jako
paralelní povinnou četbu poslech audioknih. Není náhodou toto přiblížení se k žákovým návykům
cesta, jak přiblížit literaturu dětem?
Tento příklad autor uvedl, protože i ve využití Internetu jsme my, učitelé, ve věku 40 let, již jiná
internetová generace. Dnešní děti se s Internetem seznamují již v předškolním věku, zatímco pro
průměrného čtyřicetiletého učitele byl Internet maximálně novinkou ke konci studia na vysoké škole,
ale spíše se s ním jako s nástrojem vzdělávání z pozice žáka nesetkal. A co teprve generace alfa,
kterou Papáček ve své práci Badatelsky orientované přírodovědné vyučování – cesta pro biologické
vzdělávání generací Y, Z a alfa [3] definuje takto: „Jako generace alfa bude zřejmě pojmenována
generace dětí rodících se v roce 2010 a v létech následných (pravděpodobně 2010–2024). První děti
z této generace se v prvních třídách základních škol objeví za 5 až 6 let. Futurologové mj. odhadují, že
tato generace bude výrazně vázaná na nové technologie, na virtuální elektronické prostředí
a počítačové modely pro potřeby rozhodování a sedavá zaměstnání." Jako učitelé máme dvě základní
možnosti. Přizpůsobit se dnešní a budoucí generaci a tím změnit naše návyky, anebo tuto nově
nastupující generaci změnit. Z po staletí známého generačního problému není druhá varianta možná.
3 JAK ČEŠTÍ ŽÁCI A UČITELÉ VYUŽÍVAJÍ INTERNET
V části autorova výzkumu uskutečněného v roce 2012 na reprezentativním vzorku 674 žáků a 150
učitelů z různých druhů škol z celé České republiky se autor zabýval využíváním Internetu. Z tohoto
výzkumu jsou vybrány dvě jeho části: Jaké činnosti se věnují na Internetu žáci a učitelé českých škol
a Jak vnímají otázku Facebooku. Průzkum byl uskutečněn prostřednictvím elektronického dotazníku
Acta Informatica Pragensia
73
s uzavřenými i otevřenými otázkami. Respondenti byly získávání oslovením vybraných škol a pomocí
facebookové kampaně.
Obě pohlaví byla v souboru zastoupena přibližně rovnoměrně. Věková struktura souboru odpovídá
Gaussovu rozložení s tím, že věkové období 13-16 let je zastoupeno celkem 67%. Většina respondentů
(66%) navštěvuje základní školu. Rozložení respondentů ohledně místa návštěvy školy je rovnoměrné
přibližně podle rozložení obyvatelstva ČR. Z malých měst, vesnic a okresních měst je 55%
respondentů, krajská města jsou zastoupena 25% a Praha 18%. Toto rozdělení je pro účely mého
výzkumu plně reprezentativní.
Reprezentativnost vzorku je dále potvrzena na základě porovnání přístupu žáků k síti internet
z domova, kdy 75% respondentů průzkumu uvedlo, že mají k internetu přístup denně, což odpovídá
i šetření Českého statistického úřadu, kde 74% dětí má doma přístup k Internetu. [2]
V následující tabulce naleznete četnost využívání jednotlivých možností Internetu respondenty mého
výzkumu. Jsou zde uvedeny odpovědi na stejné otázky žáky a učiteli. Otázka zněla: Ohodnoťte, jak
často na Internetu se věnujete jaké činnosti.
Ohodnoťte, jak často na Internetu se věnujete jaké činnosti
Žáci
Činnost na Internetu
Učitelé
Velmi
často
Často
Téměř
nikdy
Velmi
často
Často
Téměř
nikdy
Čtení zajímavých informací
(časopisy, blogy, aj.)
40 %
61 %
38 %
46 %
69 %
25 %
Hledání obrázků a jiných
materiálů
64 %
79 %
20 %
xxx
xxx
xxx
Hraní on-line her
36 %
47 %
52 %
5%
7%
87 %
Chatování
71 %
78 %
21 %
9%
14 %
78 %
Komunikace prostřednictvím
SKYPE, ICQ, MSN,
případně jiné
57 %
67 %
32 %
21 %
29 %
66 %
Mailování
34 %
57 %
42 %
77 %
79 %
16 %
33 %
48 %
81 %
46 %
80 %
16 %
40 %
52 %
47 %
5%
9%
83 %
Prohlížení sítě Facebook
74 %
80 %
19 %
15 %
19 %
75 %
Prohlížení videí na portálech
Youtube, Stream, případně
jiných
76 %
86 %
13 %
22 %
46 %
48 %
Navštěvování webových
stránek své školy
Používání jiných sociálních
sítí
74
Nádvorník
Přispívání do diskusních fór
36 %
48 %
51 %
4%
10 %
82 %
Stahování filmů, hudby, her
58 %
74 %
25 %
9%
16 %
78 %
Vyhledávání informací
potřebných pro referáty
(učitelé výuku)
28 %
60 %
39 %
64 %
84 %
11 %
Tab. 2. Činnosti žáků a učitelů na Internetu.
V tabulce jsou uvedeny kumulativní odpovědi, kdy „Často“ denně, několikrát týdně a jednou týdně
z toho „Velmi často“ znamená denně, případně několikrát týdně, a „Téměř nikdy“ znamená odpovědi
méně často a nikdy.
Nejčastější činností žáků bylo prohlížení videí, kde více jak tři čtvrtiny z nich se této činnosti věnují
velmi často. (Toto autorovo zjištění je v rozporu se švédským výzkumem a ukazuje na možnou
specifičnost českých dětí.) Zde je z pohledu školní webové stránky veliká šance na použití vhodné
multimediální technologie pro přiblížení se zvyklostem žáků. Tuto preferenci potvrzují i žáci autorovy
školy, kteří v rámci orientačního rozhovoru s autorem velmi oceňovali výuková videa na serveru
Youtube, která jsou speciálně pro ně vytvářena. Počet zhlédnutí výukových videí autora článku
mnohdy přesahuje 3000, a to se v žádném případě nejedná jenom o žáky jeho školy, ale i o náhodné
návštěvníky, kteří tato videa objevili prostřednictvím vyhledávače. Výuková matematická a fyzikální
videa je možné zhlédnout na kanále youtube.com/adlif57. Videa zde publikovaná jsou podobná videím
americké Kahn Academy a její využití metody Fliped Classroom.
Další logicky častou činností žáků je práce na síti Facebook. Velmi časté využití Facebooku u 74 %
žáků je poměrně vysoký podíl. Z pohledu školní webové stránky je však toto číslo obtížně použitelné,
neboť v jiné části tohoto výzkumu žáci zcela jednoznačně odmítli využití oficiální školní Facebookové
prezentace.
Další výraznou činností žáků je chatování, které ale často souvisí s používáním sítě Facebook.
Zajímavou položkou je 61 % žáků, kteří často využívají Internet pro vyhledávání informací ke
školním pracem a referátům. Této činnosti se převážně věnují 1 x týdně, což může ukazovat i na menší
množství domácích zadání, při nichž je třeba využívat Internet. Učitelé by poté ale měli dbát na
pravidla citací z Internetu a využívat portály hlídající shodu v dokumentech. Například server
www.odevzdej.cz je možné používat i pro kontrolu shod seminárních prací. Jednodušší variantou je
využití vyhledávače Google, kde stačí zadat první frázi a mnohdy se objeví doslovná kopie. Nemluvě
o té skutečnosti, že nejčastějším zdrojem žákovských prací je Wikipedia.
Další častou činností žáků je stahování multimediálního obsahu. Zde je otázkou, jestli se jedná
o legální činnost, ale dle zkušeností autora a rozhovorů s žáky se častěji jedná o porušování autorského
zákona. V tomto ohledu je třeba šířit větší osvětu mezi žáky.
Z méně častých odpovědí je nejvíce zarážející řídké používání e-mailu žáky, což je pro velké množství
učitelů denní činností. Žáci se této činnosti věnují mnohem méně, až téměř nevěnují.
Acta Informatica Pragensia
75
Učitelé naproti tomu nejvíce na internetu preferují čtení časopisů, používání emailu a navštěvování
stránek své školy. Poměrně povzbudivou skutečností je 84% učitelů vyhledávající zdroje informací
pro svoji výuku na Internetu. Toto je však v rozporu s mojí zkušeností lektora v rámci dalšího
vzdělávání pedagogických pracovníků, kdy se toto procento ukazovalo nižší.
4 FACEBOOK A JEHO VYUŽITÍ ŽÁKY A UČITELI
Fenomén sítě Facebook je v dnešní době zásadně patrný. 570 žákovských respondentů z 638 uvedlo,
že profil na síti Facebook mají, z nich 423 profil udržují aktuální. Zajímavé je, že i 82 žáků ve věku 11
a 12 let uvedlo, že profil na síti Facebook má. Toto se děje i přes přísná pravidla sítě Facebook, která
omezují věk uživatelů na více jak 13 let (jež se dají snadno obejít uvedením nepravého roku narození).
Na základě rozhovorů s žáky 6. ročníku autorovy školy (nebyly součástí výzkumného vzorku) o tom
zákonní zástupci ve většině případů vědí a akceptují to. Dále z rozhovorů vyplynulo, že profil na
Facebooku je pro žáky téměř nezbytný, neboť by se jinak dostali mimo hlavní sociální směr
a komunitu. Na druhou stranu pouze 30 % učitelů má profil na síti Facebook a jen 13 % jej pravidelně
udržuje.
Je ovšem otázkou, jak tuto síť využít pro účely školní webové prezentace. Zde se naráží na zcela
zásadní etický problém, zvláště na základních školách a na víceletých gymnáziích. Škola nemůže
provozovat stránku, na které toleruje porušování pravidel. Proto by Facebookový profil základní školy
mohl být určen pouze starším žákům, absolventům a rodičům. Jak by ale v takovém případě šlo
zabránit vstupu žákům mladším?
Pouze 15 % žáků uvedlo, že škola má oficiální stránku na síti Facebook. V tomto výčtu zcela zásadně
převažovaly střední školy. Na základě těchto dat lze konstatovat, že školy využívají Facebook
minimálně.
Na druhou stranu facebookové skupiny, které se vztahují k jednotlivým školám, jsou na Internetu
poměrně rozšířené. 51 % respondentů uvedlo, že o nějaké takovéto skupině ví. Předpokládám tedy, že
toto je cesta, jak se žáci sdružují na síti Facebook a jedná se tedy v podstatě o neoficiální stránky škol
na Facebooku. Na příkladu autorovy školy je možné ukázat, že takovýchto skupin je celkem 9. Většina
skupin je otevřených, největší z nich má 285 členů. Samotná aktivita v těchto skupinách je ale velmi
malá. Existují ale i uzavřené třídní skupiny, které slouží pro sdílení poznámek ze školy, zadání
domácích úkolů a dalších školních informací. Toto však probíhá zcela mimo oficiální kontrolu školy.
Klíčovou otázkou ohledně využití Facebooku pro školní webovou prezentaci byla otevřená otázka,
„Co si myslím o možném využití Facebooku pro školní webovou stránku?" Objevilo se zde mnoho
odpovědí, které jsem pro účely zpracování upravil kódováním na tři základní vztahy pozitivní
negativní a neutrální.
76
Nádvorník
Co si myslím o možném využití Facebooku na školní webové stránce
Agregovaná
odpověď
Žáci
Učitelé
Počet
odpovědí
Procent z
celku
Procent z
odpovědí
Počet
odpovědí
Procent z
celku
Procent z
odpovědí
Pozitivní
98
15 %
27 %
19
13 %
23 %
Neutrální
152
23 %
41 %
19
13 %
23 %
Negativní
117
18 %
32 %
44
30 %
54 %
Bez odpovědi
271
44 %
–
68
44 %
–
Tabulka 3. Využití Facebooku na školní webové stránce.
Pozitivní přístup ke školnímu Facebooku má pouze cca 15 % (žáci) resp. 13 % (učitelé) respondentů.
Nejsilněji je v této skupině u žáků zastoupen věk 16 let, 21% šestníctiletých respondentů se staví
k Facebooku pozitivně. Ostatní věkové skupiny jsou přibližně vyrovnané. Nejpopulárnější je školní
Facebook v Praze, kde se 22 % staví k němu pozitivně. Vysoký informační potenciál Facebooku
ukazuje i skupina respondentů, která nejvíce na webových stránkách školy vyhledává informace
o akcích třídy nebo školy. Z nich více jak 25% se na Facebook a jeho použití ve školním webu dívá
pozitivně. Dále se podpora Facebooku zvyšuje v souvislosti s četností návštěv webové stránky školy.
35 % žáků, kteří uvedli, že školní webovou stránku navštěvují několikrát týdně, podporují také školní
Facebook.
Je třeba se zamyslet nad obecně velmi malou podporou školního Facebooku. Příčiny, proč žáci
nepodporují školní facebookové profily, lze najít v otevřených odpovědích. Z nich z velké části
vyplynulo, že žáci považují Facebook za své soukromí a nepřejí si, aby školy do něj vstupovaly. Dále
mnohdy nechápou, jak konkrétně by školní Facebook mohl zlepšit jejich komunikaci se školou.
Využití Facebooku pro školní účely hodnotí zásadně negativně i žáci škol, které facebookovou stránku
provozují. Například na Biskupském gymnáziu a základní škole Bohosudov, kde Facebookový profil
funguje, pouze 13 % respondentů pozitivně hodnotí Facebook a 27 % jej hodnotí negativně. Toto
může být dáno i nepravidelnou aktualizací školního profilu. Z pohledu učitelů využití Facebooku často
naráží na určité předsudky, kdy učitelé často neví, co přesně Facebook je a jaké jsou jeho možnosti
využití. Mnoho učitelů se na Facebook dívá spíše z pohledu rodiče, kde jeho dítě "stále sedí na
Facebooku" a vnímá jej i jako určité bezpečnostní riziko.
Škola by tedy měla uvažovat, zda a proč případnou Facebookovou stránku tvořit a udržovat. Jak jsme
již ukázali, žáci považují zřízení a správu oficiálního školního profilu na síti Facebook za neefektivní.
Profil by tedy mohl být adresován na zákonné zástupce budoucích žáků, či jako komunitní server pro
absolventy. Takové stránky však vznikají spontánně a školy do nich příliš nezasahují.
Popisovaný stav vychází z roku 2012. Je otázkou, jakým způsobem se bude vyvíjet vztah učitelů
a žáků k Facebooku a co by škola měla a mohla udělat pro zlepšení své internetové komunikace
s žáky. Vycházíme z předpokladu, že předložení maxima informací žákům jim může ulehčit cestu ke
Acta Informatica Pragensia
77
vzdělání. Samozřejmě by měly existovat situace, kdysi sami žáci najdou potřebné zdroje, ale pak je na
učiteli, aby ohodnotil relevanci a šíři zdrojů.
5 UŽITEČNÉ TIPY PŘI PROVOZU ŠKOLNÍ WEBOVÉ STRÁNKY
Na základě výše uvedených skutečností a dalších zjištění z mého a jiných průzkumů [4] a [5] se dají
formulovat určitá obecná doporučení týkající se efektivního provozu školní webové stránky.

Udržovat školní webovou stránku aktuální, moderní a přístupnou pro žáky.

Zveřejňovat maximum možných informací potřebných pro žáky na školních webových
stránkách. V případě, že toto stávající školní webová stránka neumožňuje, je možné použít
některá z otevřených řešení. Například blogovací systémy sites.google.com, bloguj.cz,
webnode.cz aj. Další zajímavou možností je grafická nástěnka. Žáci musí nabýt přesvědčení,
že jim návštěva stránky ušetří čas a pomůže důležité věci udržet v paměti.

Používat cloudové nebo e-learningové řešení zadávání a odevzdávání úloh.

Využívat a žákům přímo předkládat elektronické studijní materiály.

Vytvářet pro žáky autentické výukové materiály a ty publikovat na stránkách. (Příkladem je
nahrávání výkladových hodin na video, vytváření online testů, vytváření elektronické časové
osy, atd.)

Zkusit využít diskusní fórum pro dlouhodobější diskusi žáků na zadané téma.

Konzultační hodiny je možné držet pomocí SKYPE, žáci i rodiče budou vědět v jakém čase
jim je učitel na svém kanále k dispozici. Toto řešení se v autorově případě poměrně hodně
osvědčilo. Rodiče mnohdy nemají čas na návštěvu školy, ale na SKYPE rozhovor si čas
udělají.

Facebooková stránka jako komunikační kanál školy je diskutabilní a závisí na místní situaci.

Omezit emailovou komunikaci s žáky - žáci email mnohdy nekontrolují a nevyužívají.
6 ZÁVĚR
Většina obyvatel České republiky Internet zcela běžně používá. Je však zřejmé, že způsob jeho využití
se liší v závislosti na věku uživatelů. V případě školy je možnost využít školní webovou stránku jako
komunikační nástroj s žáky možností efektivní. Narážíme zde však více než jindy na zásadní generační
rozdíl. V praxi jsou k dispozici dva přístupy. V prvním případě budou učitelé nutit žáky komunikovat
a používat internet způsobem čtyřicetiletého člověka, který používá email, minimálně diskutuje
a komentuje příspěvky, multimédia příliš nevyhledává a Facebook či jiné sociální sítě odmítá. Druhý
přístup je snažit se přizpůsobit komunikačním návykům žáka a více publikovat multimediální
záznamy, otevřít příspěvky k diskuzi, omezit emaily případně začít komunikovat pomocí IM klientů
78
Nádvorník
v reálném čase. I zde se jeví jako ideální řešení určitá střední cesta, kdy své styly práce s internetem
přizpůsobí jak učitelé, tak i jejich žáci.
7 SEZNAM POUŽITÝCH ZDROJŮ
[1]
FINDHALD O. The young and the Internet in Sweden, The World Internet Institution.
[online]. Sweden: World Internet Institute, 2009 [cit. 2013-04-12]. Dostupné z
http://worldinternetproject.com/_files/_Published/48/The%20young%20and%20the%20Intern
et%20in%20Sweden%202009.pdf
[2]
Jednotlivci používající Internet doma. In Statistická ročenka České republiky 2010 :
Informační a komunikační technologie [online]. Praha : Český statistický úřad, 2011 [cit.
2013-05-14]. Dostupné z: http://www.czso.cz/csu/2010edicniplan.nsf/kapitola/0001-10--2000.
[3]
PAPÁČEK, M. Badatelsky orientované přírodovědné vyučování – cesta pro biologické
vzdělávání generací Y, Z a alfa?. Scientia in educatione. 2010, 1, s. 33-49. ISSN 1804-7106.
[4]
NEUMAJER, O. Náležitosti školního webu. 2007, 2011 [cit. 2013-04-12] Dostupné z:
http://ondrej.neumajer.cz/download/nalezitosti-skolniho-webu.pdf.
[5]
NEUMAJER, O. Webové stránky škol v roce 2009. [cit. 2013-04-12] Porál Ředitel školy.cz.
12. 10. 2009. Dostupné z: http://www.reditelskoly.cz/show.asp?id=808.
Acta Informatica Pragensia
2(1), 2013, 79–90, ISSN 1805-4951
Online: aip.vse.cz
Sekce / Section:
Recenzované stati / Peer-reviewed papers
Viacjadrová architektúra zameraná
na akceleráciu výpočtov
Liberios Vokorokos1, Eva Chovancová1
1
Katedra počítačov a informatiky, Fakulta elektrotechniky a informatiky
Technická univerzita v Košiciach, Letná 9, 04001 Košice, Slovenská republika
{liberios.vokorokos, [email protected]
Abstrakt: Viacjadrové procesory je možné navrhnúť ako akcelerátor
časovo-náročných výpočtov. Výskum v práci je zameraný na návrh architektúry
urýchľujúcej výpočty v oblasti počítačového videnia. Práca poukazuje na možnosti
návrhu viacjadrovej architektúry, pričom architektúra navrhovaného
špecializovaného procesora je predstaviteľom Harvardskej architektúry. Navrhnutá
architektúra umožňuje na základe paralelizácie výpočtov urýchliť časovo-náročné
výpočty.
Klíčová slova: viacjadrová architektúra, prahovanie, obraz, procesor, čip,
mapovanie, paralelizácia
Title: Acceleration based on multicore architecture
Abstract: Multicore processors can be designed also as accelerator of
time-consuming calculations. This work is focused on architecture design, which
can accelerate computing in computer vision. In this paper are shown design
possibilities for multicore architectures, whereby the specialized processor is
proposed as representative of Harvard architecture. The proposed architecture
based on computing parallelization allows accelerating the time-consuming
calculations in computer vision.
Keywords: multicore architecture, thresholding, image, processor, chip, mapping,
parallelization
80
Vokorokos, Chovancová
1 ÚVOD
Výpočtová technika a informačne systémy sa stali neodmysliteľnou súčasťou každodenného života, či
už v oblasti výskumu, kde je potrebný vyšší výkon z dôvodu náročných výpočtov, alebo aj bežného
života v domácnosti. V dnešnej dobe je správa informácii s ich narastajúcim množstvom stále
zložitejšia, potreby vedeckého výskumu s vývojom nových technológii stále narastajú, a preto je stále
aktuálna požiadavka na zvyšovanie výkonu výpočtových systémov.
Zvyšovanie výkonov u jedno procesorových počítačov, ktoré sú vo väčšine predstaviteľmi von
Neumanovej architektúry, sa realizuje zvyšovaním výkonu jednotlivých komponentov počítača,
pričom je potrebné zároveň zväčšovanie pamäte. Tento spôsob zvyšovania výkonu ma však za
dôsledok zvyšovanie nákladov na vývoj jednotlivých komponentov, a zároveň táto metóda má aj svoje
fyzikálne hranice. Trend zvyšovania rýchlosti jednotlivých komponentov procesorov za účelom
získania vyššieho výkonu je cestou minulosti, nakoľko sa viacjadrové procesory stávajú novým
smerovaním vývoja. Použitie viacjadrových procesorov na jednom čipe je výhodou hrubej sily
spracovania, avšak nič nie je zadarmo. [2][3][10]
Práca sa zaoberá analýzou problematiky viacjadrových architektúr, na základe ktorej navrhuje
architektúru špecializovaného viacjadrového procesora pre akceleráciu výpočtov v oblasti
počítačového videnia. Táto práca bola podporovaná Agentúrou na podporu výskumu a vývoja na
základe zmluvy č. APVV-0008-10 a KEGA 008TUKE-4/2013 s názvom „Mikrolearningové
prostredie pre vzdelávanie odborníkov v oblasti informačnej bezpečnosti“.
2 KONCEPCIE
Pri návrhu špecializovanej architektúry je dôležitá aj voľba koncepcie. Základné koncepcie, ktoré sa
brali do úvahy pri návrhu architektúry sú:


Harvardská koncepcia
Princetonská koncepcia
Princetonská koncepcia má len jednu spoločnú pamäť pre dáta a inštrukcie. Harvardská koncepcia na
rozdiel od princetonskej obsahuje dve samostatné pamäte pre dáta a inštrukcie.
2.1 HARVARDSKÁ KONCEPCIA
Harvardská koncepcia je počítačová architektúra s fyzicky separovaným úložným priestorom
a signálovou cestou pre inštrukcie a údaje, čo znamená že ma oddelený adresný priestor pre program
a pre dáta. Dnes väčšina procesorov ma implementovanú separátnu signálovú cestu z dôvodu výkonu,
ale v spojení s modifikovanou harvardskou architektúrou, ktorá umožňuje podporiť úlohy ako
zavádzanie programu z disku vo forme dát a následne ho vykonať. V harvardskej architektúre nie je
potrebné, aby pamäte zdieľali vlastnosti, keďže časovanie, technológia implementácie a adresná
štruktúra pamäte sa môžu líšiť. [4]
Acta Informatica Pragensia
81
V niektorých systémoch môžu byť inštrukcie uložene v pamäti len na čítanie, keďže pamäťové údaje
požadujú pamäť na čítanie a aj zápis. V niektorých systémoch je pamäť pre inštrukcie väčšia ako
pamäť pre dáta, keďže adresa inštrukcie je širšia ako adresa dát.[3][4]
2.2 PRINCETONSKÁ KONCEPCIA
Jedným z najznámejších predstaviteľov Princetonskej koncepcie je von Neumanova architektúra, ktorá
je jednoduchšia ako novšia Harvardská architektúra. Von Neumanova architektúra na rozdiel od
Harvardskej obsahuje len jednu pamäť, ktorá slúži pre ukladanie dát a aj inštrukcii, čo znamená že
obsahuje jeden spoločný súbor adries pre dáta a inštrukcie.
Z toho vyplýva, že je potrebne zabezpečiť, aby procesor neinterpretoval údaj ako inštrukciu a naopak.
Prístup procesora k pamäti je totiž rovnaký, či sprístupňuje inštrukciu alebo údaj – používajú sa tie iste
adresné, údajové i riadiace signály. Takéto usporiadanie pamäte potom umožňuje používať aj samo
modifikujúce sa programy. [3][4]
Von Neumanova architektúra je systém s možnosťou uloženia programu do operačnej pamäte, pričom
inštrukcie a dáta sú uložene v pamäti typu RAM, ktorá je určená pre čítanie a zápis. Vo Neumanovej
architektúre CPU môže buď čítať inštrukcie alebo čítať/zapisovať dáta z alebo do pamäte. Obidve
operácie sa nemôžu vykonať súbežne, keďže dáta a inštrukcie využívajú spoločnú pamäť.
V Harvardskej architektúre sa môže pracovať súbežne s inštrukciami a dátami, keďže majú samostatne
pamäte. Z uvedeného dôvodu je Harvardská architektúra rýchlejšia. [4]
3 VIACJADROVÁ ARCHITEKTÚRA
Vysoko výkonné procesorové architektúry smerujú k prevedeniu, ktoré sú reprezentované viacerými
procesorovými jadrami na jednom čipe. Tieto architektúry majú potenciál poskytnúť vyššiu
maximálnu priepustnosť, jednoduchší návrh škálovatelnosti a vyšší výkon než monolitické
architektúry. Súčasným trendom vývoja technológií sú aj nové typy procesorov, ktoré by mali pokryť
potrebu vyššieho výkonu bez zvýšenia spotreby energie a tepla. Viacjadrové architektúry procesorov
umožňujú zvýšenie výkonu a zníženie tepla integráciou dvoch alebo viacerých procesorových jadier
v jednom procesorovom puzdre.[12]
Stretávame sa s procesormi, ktoré majú integrované veľké množstvo jadier. Pri týchto procesoroch je
najlogickejšie usporiadanie v dimenzionálnej mriežke, a preto sú využívané control flow, ako aj dáta
flow architektúry jadier. Na základe definície procesora v predchádzajúcej kapitole, vieme viacjadrový
procesor popísať ako integrovaný obvod, na ktorý sú pripojené dva alebo viaceré procesory, ktoré sa
nazývajú aj jadrá. Takýmto zapojením je možné zvýšiť výkon, znížiť spotrebu energie a efektívnejšie
simultánne spracovanie úloh, čo prinieslo rastúci trend v oblasti viacjadrových procesorov, keďže
jednojadrové procesory dosiahli svoje limity z hľadiska výkonu a rýchlosti. [12][13]
82
Vokorokos, Chovancová
4 NÁVRH ŠPECIALIZOVANEJ ARCHITEKTÚRY
Návrh architektúry špecializovaného procesora vychádza z analýzy v oblasti viacjadrových procesorov
a počítačového videnia. Vzhľadom na napredujúci vývoj viacjadrových procesorov a počítačové
videnie, v ktorom sa využívajú algoritmy umožňujúce ich paralelizáciu, je vhodné využiť viacjadrový
procesor práve na akceleráciu výpočtov v oblasti počítačového videnia. Aj keď je možné využiť
v oblasti počítačového videnia aj univerzálne viacjadrové procesory, tak špecializovaný viacjadrový
procesor umožňuje vyšší výkon a rýchlejšie spracovanie dát, vzhľadom na to, že jeho architektúra bola
navrhnutá práve na spracovanie algoritmov z tejto oblasti. [3]
4.1 MAPOVANIE OBRAZU
Navrhnutý špecializovaný procesor umožňuje niekoľko prístupov k mapovaniu obrazu, ktoré sa líšia
v rozdelení digitálneho obrazu, ale aj počtom využitých jadier.
Vstupný obraz
Procesor Covitor (4 x 4)
Obr. 1. Mapovanie obrazu o rozmere 256 x 256 pixelov.
Na obrázku (Obr. 1) je znázornené mapovanie digitálneho obrazu na jednotlivé jadrá procesora,
v prípade ak veľkosť digitálneho obrazu je 256 x 256 pixlov, čo je maximálna veľkosť spracovaného
obrazu. Pri tomto prístupe mapovania sa obraz rozdelí na rovnako veľké časti, ktoré zodpovedajú
presne veľkosti pamäte jedného jadra. Pokiaľ je obraz menší, tak je možné využiť dva spôsoby
prístupu mapovania obrazu. Prvý spôsob využíva všetky jadra, tým pádom sú všetky jadra rovnomerne
vyťažené, ale nevyužije celú pamäť jadra. [5]
Druhý spôsob, ktorý je možné využiť pri menšom obraze je nerovnomerný, avšak je využitá celá
pamäť jadra, avšak tento prístup mapovania nie je efektívny, keďže časovo spracováva ten istý obraz
dlhšie ako rovnomerný prístup. Ako bolo už vyššie uvedené, tak vstupný obraz môže mať maximálny
rozmer 256 x 256 pixelov, a síce z toho dôvodu, že k dispozícií máme 16 jadier s možnosťou využitia
kapacity pamäte o veľkosti 256bodov 256bodov 3bajty RGB
4banky 786432bajtov.
Obraz je ukladaný do samostatných pamäťových bánk, čo umožňuje načítať naraz 4 samostatné
obrazy a následne ich postupne spracovať.[10][11]
Acta Informatica Pragensia
83
5 ŠPECIALIZOVANÝ PROCESOR COVITOR
Navrhnutý procesor Covitor je viacjadrový procesor so 16-timi jadrami, ktorý je špecializovaný na
spracovanie digitálneho obrazu na základe inštrukčnej sady popísanej v predchádzajúcej kapitole.
Navrhnutý procesor je predstaviteľom harvardskej architektúry, teda má samostatnú pamäť pre dáta
a samostatnú pamäť pre inštrukcie. Vzhľadom na dve pamäte je prístup k dátam a inštrukciám
rýchlejší, a taktiež sa zabráni chybnému načítaniu údajov.
Jadrá procesora Covitor sú usporiadané vo forme mriežky 4x4. Štruktúrna schéma procesora Covitor
je znázornená na nasledujúcom obrázku (Obr. 2). Všetky porty procesora Covitor sú popísané
pomocou tabuľky.
Obr. 2. 16-jadrový procesor Covitor.
Procesor operuje v dvoch módoch. Módy pmod a cmod slúžia na nastavenie systému do
programovacieho alebo výpočtového módu. V programovacom móde sa načítavajú vstupné hodnoty
do registrov/pamäte a časovanie systému. Potom sa prestaví systém do výpočtového módu, kedy sa
spustia výpočty na základe programu, ktorého súčasťou sú inštrukcie vykonávané nad jednotlivými
dátami.
84
Vokorokos, Chovancová
Typ
Veľkosť
portu
(bit)
adr
In
12
Adresa pamäte
ac
In
4
Adresa jadra
ab
In
2
Adresa banky
tag
In
1
Príznak pre adresovú pamäť
sigr
In
1
Určuje kedy je povolené čítanie z registra/pamäte
sigw
In
1
Určuje kedy je povolený zápis do registra/pamäte
sigwrpp
In
1
Určuje kedy je povolený zápis do registra RPP
pmod
In
1
Zavádzací mód
cmod
In
1
Výpočtový mód
rst
In
1
Resetovanie (Reset)
clk
In
1
Hodiny (Clock)
clr
In
1
Vyčistenie (Clear)
done
Out
1
Ukončenie cyklu, aby sa mohol začať nový cyklus
data
InOut
24
Výstupné dáta po spracovaní obrazu
Port
Popis
Tab. 1. Popis portov procesora Covitor.
Done slúži na signalizáciu ukončenia cyklu spracovania údajov, ktoré sú umiestnené na konkrétnej
adrese v pamäti. Pokiaľ príde na port done hodnota jedna, tak cyklus bol ukončený a preto sa adresa
nastaví na ďalšiu adresu v pamäti a spustí sa ďalší cyklus výpočtov. Procesor Covitor obsahuje dva
nižšie uvedené komponenty, ktorých prepojenie je definované pomocou mapovania. Tieto
komponenty sú:


Jadro (Core)
Dekodér (Decoder)
Komponent Core predstavuje jedno univerzálne jadro procesora, ktoré je následne mapované na 16
jadier a komponent Decoder slúži na adresáciu jadier.
5.1 PROCESOROVÉ JADRO
Procesor Covitor je navrhnutý ako viacjadrový procesor so 16 jadrami, ktorého architektúra patrí
medzi predstaviteľov harvardskej architektúry. Predstaviteľom tejto architektúry je práve preto, že je
navrhnutý so samostatnou pamäťou pre inštrukcie a samostatnou pamäťou pre dáta. Pamäť pre
inštrukcie je umiestnená priamo v jadre, pričom pamäť pre dáta, ktorá je zároveň väčšia, je vnorená do
vykonávacej jednotky. Pri zapojení procesora prostredníctvom 16-tich jadier získame zvýšený výkon
potrebný pre rýchlejšie spracovanie obrazu. Čas potrebný na spracovanie obrazu vieme vyjadriť
prostredníctvom vzorcu:
Acta Informatica Pragensia
85
(1)
V uvedenom vyjadrení m predstavuje počet pixelov, ktoré tvoria digitálny obraz pripravený na
spracovanie a n predstavuje počet jadier, ktoré ich spracujú. Zo vzorca vyplýva, že čím väčší počet
jadier použijeme tým nižší bude čas potrebný na spracovanie toho istého počtu pixelov. Schematické
zapojenie jedného jadra je znázornené na nasledujúcom obrázku (Obr. 3).
Jadro procesora Covitor pozostáva z pamäte, registra F, počítadla (program counter -PC), sčítačky,
riadiacej jednotky a vykonávacej jednotky, pričom vykonávacia jednotka zahrňuje v sebe
aritmeticko-logickú jednotku.
Register
Vykonávacia
jednotka
Pamäť
Program Counter
Sčítačka
Riadiaca jednotka
Obr. 3. Schematické zapojenie jadra.
Digitalizovaný vstupný obraz sa načíta do pamäte, ktorá je umiestnená vo vykonávacej jednotke
a program (inštrukcie) sa načítajú do pamäte umiestnenej v jadre. Spracovanie obrazu sa následne
vykonáva v štyroch fázach, ktoré sú riadené riadiacou jednotkou.
V prvej fáze sa načíta inštrukcia do registra F a následne v druhej fáze sa vyšle štartovací signál, ktorý
spustí spracovanie obrazu vo vykonávacej jednotke. V tretej fáze sa spustí vykonávacia jednotka,
v ktorej sa vykoná požadovaná inštrukcia nad vstupným obrazom. V poslednej, štvrtej, fáze sa vyšle
ukončovací signál, ktorý ukončí vykonávanie inštrukcie nad daným vstupným obrazom.
5.1.1
RIADIACA JEDNOTKA
Riadiaca jednotka pracuje na princípe konečného automatu ktorý pozostáva zo štyroch stavov
popisujúcich spracovanie obrazu. Prechod medzi jednotlivými stavmi je zabezpečený riadiacou
86
Vokorokos, Chovancová
logikou, ktorá berie do úvahy signál riadiacej jednotky a podmienky, ktoré musia byť splnené, aby sa
prechody mohli uskutočniť.
Aby nastal prechod medzi stavmi, musí sa automat nachádzať v predchádzajúcom stave a zároveň
musí byť nastavený programovací mód. Pre spustenie spracovania obrazu, ktorý zodpovedá stavu S3,
musí ešte okrem uvedených podmienok prísť na vstup aj štartovací signál. Pri prechode do stavu S4 je
potrebné, aby prišiel na vstup signál done, ktorý hovorí o ukončení spracovania obrazu.
5.1.2
VYKONÁVACIA JEDNOTKA
Vykonávacia jednotka je modul, ktorý je súčasťou jadra procesora a jej hlavnou úlohou je vykonanie
inštrukcie nad vstupnými údajmi, ktoré má načítané vo svojej vnútornej pamäti. Zároveň obsahuje aj
čiastkový logický obvod, ktorý umožňuje kontrolovať ukončenie spracovania obrazu. Vykonávacia
jednotka je realizovaná na základe logického obvodu uvedeného na obrázku (Obr.4).
Vykonávacia jednotka je zodpovedná za spracovanie obrazu prostredníctvom prahovania, prípadne
prevodu digitálneho obrazu z RGB do odtieňov sivej. Spustenie spracovania obrazu je riadenie
štartovacím signálom, ktorý signalizuje začiatok spracovania.
Vstup
Prevod RGB ->
sivá
Pamäť Register R8 Vstup
Prahovanie
Vstup
Modul adresácie Vstup
Aritmeticko-logická jednotka
Obr. 4. Schematické zapojenie vykonávacej jednotky.
Výsledok spracovania digitálneho obrazu sa uloží do výstupného registra R8, do ktorého sa ukladajú
výsledky pri prahovaní a aj pri prevode do odtieňov sivej. Pre zabezpečenie správnosti zapísania
údajov do registra R8, bol vytvorený súbor pravidiel, ktorý určuje, kedy a ktoré výsledky sa majú
zapísať do registra R8. Dôležitou súčasťou vykonávacej jednotky je modul adresácie, ktorý má za
Acta Informatica Pragensia
87
úlohu určiť adresu čítania údajov a zároveň po spracovaní údajov z poslednej adresy ukončí
spracovanie.
5.1.3
VYKONÁVACIA JEDNOTKA
Súčasťou vykonávacej jednotky je aj aritmeticko-logická jednotka, ktorá zodpovedá za vykonanie
jednotlivých inštrukcií nad požadovanými údajmi, pričom výstup jednotlivých operácií sa ukladá do
výstupného registra R8. Taktiež súčasťou aritmeticko-logickej jednotky je aj dekodér, ktorý slúži na
dekódovanie požadovanej inštrukcie, na základe ktorej sa určí, aká operácia sa nad danými údajmi má
vykonať. Ďalšou súčasťou aritmeticko-logickej jednotky sú riadiace signály, ktoré majú za úlohu
odštartovanie jednotlivých inštrukcií. Tieto inštrukcie sa vykonávajú na základe dekódovania
inštrukcie.
Aritmeticko-logická jednotka sa dá rozdeliť na dva čiastkové logické obvody, pričom jeden má za
úlohu prevod vstupného digitálneho obrazu vo formáte RGB do formátu odtieňov sivej. Druhý
čiastkový logický obvod zodpovedá za spracovanie obrazu prostredníctvom jednotlivých typov
prahovania obrazu.
6 SIMULÁCIA
Jednou možnosťou ako urýchliť spracovanie obrazu je použitie viacerých jadier na jednom čipe,
pričom sa rozloží záťaž na viacero jadier a každé jadro musí spracovať menší počet pixelov. Pri
spracovaní obrazu rôznym počtom jadier za ten istý čas spracuje procesor s väčším počtom jadier
viacnásobne väčší počet pixelov (Obr. 5).
1000
Počet pixelov
875
750
625
500
375
250
125
0
0
500
1000
1500
2000
2500
3000
Čas t [SC]
1 jadro
4 jadrá
16 jadier
Obr. 5. Spracovanie obrazu rôznym počtom jadier.
3500
4000
88
Vokorokos, Chovancová
Ako z uvedeného grafu vyplýva, tak pri spracovaní obrazu s rovnakým počtom pixelov, procesor so
16 jadrami na jednom čipe spracuje daný obraz za 16x menší počet strojových cyklov (SC). Pri
simulácii spracovania digitálneho obrazu pomocou špecializovaného procesora pozostávajúceho zo 16
jadier na jednom čipe sa použil obraz v rozlíšení 256x256, preto celkový počet pixelov určených na
spracovanie obrazu je:
početpixelov
256 x 256
65536
(2)
Pri testovaní uvažujeme o rovnomernom zaťažení jadier a preto pri počte pixelov 65536 na každé
jadro pripadne 4096 pixelov. Každý pixel obsahuje informácie o zastúpení červenej (R), zelenej (G)
a modrej (B) zložky, pričom v kombinácii predstavujú konkrétny odtieň farby. Jednotlivé informácie
o pixeloch sú importované na spracovanie zo súboru, kde sú uložené ako hrubé dáta v poli
zodpovedajúce jednotlivým zložkám R-G-B.
Pri spracovaní obrazu v menšom rozlíšení, sa pri rovnomernom rozložení záťaže procesorom Covitor
využijú všetky jadra, pričom každé spracováva rovnaký počet pixelov. Pri nerovnomernej záťaži sa
využije len niekoľko jadier, medzi ktoré sa rozdelí záťaž a zvyšné jadrá nevykonávajú žiadnu činnosť.
Z hľadiska efektivity je vhodnejšie použiť rovnomerné rozdelenie záťaže, keďže je potrebný nižší čas
na spracovanie obrazu ako pri nerovnomernej záťaži jadier. Navrhnutý špecializovaný procesor
Covitor obsahuje základnú inštrukčnú sadu, ktorú je možné do budúcna rozšíriť o ďalšie inštrukcie
pre spracovanie obrazu.
7 PRÍNOSY ŠPECIALIZOVANEJ ARCHITEKTÚRY
Prínosy práce je možné hodnotiť z teoretického a praktického hľadiska. Teoretické prínosy prispievajú
hlavne k vývoju problematiky viacjadrových procesorov a ich návrhu. Praktické prínosy práce
predstavuje návrh a simulácia špecializovanej architektúry pre akceleráciu výpočtov v počítačovom
videní. Prínosy práce je možné zhodnotiť v nasledujúcich bodoch:




Preskúmanie výhod a nevýhod využitia harvardskej a princetonskej architektúry.
- Uvedený prínos patrí medzi teoretické prínosy práce, pričom na jeho základe sa
preukázalo, že pre návrh procesora Covitor je vhodnejšia Harvardská architektúra
z dôvodu rýchlejšie prístupu k dátam a inštrukciám.
Samostatný návrh špecializovanej architektúry so zameraním na akceleráciu výpočtov
v oblasti počítačového videnia
- Tento prínos je ďalším teoretickým prínosom, pričom návrh architektúry vychádza na
základe preukázaných výhod z harvardskej architektúry. Vďaka východiskovej
harvardskej architektúre je sprístupňovanie dát a inštrukcií v navrhovanej architektúre
rýchlejšie a zabraňuje chybnému načítaniu dát.
Implementácia a experimentálne overenie navrhnutej špecializovanej architektúry
procesora Covitor
- Ide o hlavný praktický prínos, ktorý vychádza z teoretického návrhu architektúry
špecializovaného procesora pre akceleráciu výpočtov v oblasti počítačového videnia.
Preukázanie funkcionality navrhnutej architektúry špecializovaného procesora Covitor
- Na základe uvedenej simulácie a experimentálneho overenia bolo preukázané správne
fungovanie navrhnutej architektúry, ktorá je zameraná na urýchlenie výpočtov pri
Acta Informatica Pragensia

89
spracovaní obrazu. Akcelerácia výpočtov v oblasti počítačového videnia umožňuje
lineárne zvyšovanie výkonu čipu v závislosti od počtu jadier.
Spracovanie obrazu s využitím špecializovanej architektúry s možnosťou dosiahnutia až
16-násobného urýchlenia
- Simulácia preukázala, že 16-jadrový procesor Covitor urýchľuje výpočty
pri spracovaní záťaže až 16-násobne v závislosti od použitia rovnomerného alebo
nerovnomerného rozloženia záťaže.
8 ZÁVER
Realizované simulačné experimenty jednoznačne preukázali funkčnosť navrhnutej architektúry,
pričom sa preukázala efektívnosť spracovania obrazu z hľadiska urýchlenia výpočtov pri spracovaní
obrazu, tak ako bolo navrhnuté.
Využitie viacerých jadier pri spracovaní obrazu umožnilo zrýchlenie výpočtov z hľadiska času
v lineárnej závislosti od počtu jadier, pričom je možné dosiahnuť až 16-násobné zrýchlenie za použitia
rovnomerného rozloženia záťaže.
Počas simulácie spracovania obrazu procesorom Covitor sa preukázalo, že akcelerácia výpočtov je
závislá od spôsobu rozloženia záťaže, pričom rovnomerne rozloženie záťaže je efektívnejšie, keďže
umožňuje väčšie zrýchlenie ako nerovnomerné rozloženie záťaže.
Špecializovaná architektúra je obmedzená kapacitou pamäte, z dôvodu zjednodušenia simulácií, avšak
do budúcna je možné pamäte rozšíriť podľa potrieb. Taktiež je daná architektúra obmedzená len na
základné operácie spracovania obrazu, pričom pri zavedení komplikovanejších metód (hľadanie
kostry, osem okolie) by boli potrebné rozsiahlejšie úpravy vykonávacej jednotky.
Akcelerácia výpočtov nasadením viacjadrovej architektúry nie je úplne lineárna, keďže pri stálom
zvyšovaní počtu jadier dochádza k oneskoreniu z dôvodu času potrebného na komunikáciu medzi
jadrami a rozdistribuovaním potrebných dát. Pre určenie optimálneho počtu jadier by bolo potrebné
urobiť analýzu zaoberajúcu sa oneskorením.
POĎAKOVANIE
Táto práca bola podporovaná Agentúrou na podporu výskumu a vývoja na základe zmluvy
č. APVV-0008-10 a KEGA 008TUKE-4/2013 s názvom „Mikrolearningové prostredie pre
vzdelávanie odborníkov v oblasti informačnej bezpečnosti“.
9 ZOZNAM POUŽITÝCH ZDROJOV
[1]
AKHTER, S. Multi-core programming: increasing performance through software multithreading. 1. vyd. New York: Intel Press, 2006. ISBN 0-9764832-4-6.
[2]
IEEE signal processing magazine [online]. Univ Politecnica de Madrid, 2009 [cit. 2013-0218]. ISSN 1053-5888. Dostupné z:
http://web.eecs.umich.edu/~blakeg/docs/aSurveyofMulticoreProcessors.pdf
90
Vokorokos, Chovancová
[3]
PARELEC 2006: International Symposium on Parallel Computing in Electrical Engineering :
13-17 September 2006, Bialystok, Poland. Multi-Core Processors: New Way to Achieve High
System Performance. 2006, č. 6. DOI: 0-7695-2554-7. Dostupné z:
http://www.researchgate.net/publication/220959927_MultiCore_Processors_New_Way_to_Achieve_High_System_Performance/file/5046351838467bcb
9f.pdf
[4]
HENNESSY, John L. Computer architecture: a quantitative approach [online]. 4th ed. San
Francisco: Morgan Kaufmann, 2007, 1 sv. (různé stránkování) [cit. 2013-06-17]. ISBN 01237-0490-1. Dostupné z:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.115.1881&rep=rep1&type=pdf
[5]
HLAVÁČ, Václav a Milan ŠONKA. Počítačové vidění. Praha: Grada, 1992, 272 s. ISBN 80854-2467-3.
[6]
MAJUMDER, Bhabatosh Chanda and Dwijesh Dutta. Digital image processing and analysis.
Eastern economy ed. New Delhi: Prentice Hall of India, 2005. ISBN 81-203-1618-5.
[7]
KUMAR, R, V ZYUBAN a D. M. TULLSEN. DEPT. OF COMPUT. SCI. & ENG.,
California Univ., San Diego, CA, USA. Interconnections in multi-core architectures:
understanding mechanisms, overheads and scaling. 2005. ISBN 0-7695-2270-X. Dostupné z:
http://delivery.acm.org/10.1145/1080000/1070004/22700408.pdf?ip=147.232.3.9&acc=ACTI
VE%20SERVICE&key=C2716FEBFA981EF1C8BCF1B5A73992B942788D9E9EDFA807&
CFID=340527944&CFTOKEN=79067881&__acm__=1371452189_ad37eb69cc49a19d1e50a
35e7cc52457
[8]
SPAA 2006: eighteenth Annual ACM Symposium on Parallelism in Algorithms and
Architectures : July 30-August 2, 2006, Cambridge, Massachusetts, USA. New York: ACM
Press, c2006. ISSN 1-59593-452-9. Dostupné z:
http://cseweb.ucsd.edu/users/swanson/papers/SPAA2006WaveScalar.pdf
[9]
NURMI, J. Processor design system-on-chip computing for ASICs and FPGAs. Online-Ausg.
Dordrecht: Springer, 2007. ISBN 978-140-2055-300.
[10]
PARKER, J.R. a Kostas Terzidis TECHNICAL EDITOR. Algorithms for image processing
and computer vision. 2nd ed. Indianapolis, Ind: Wiley Pub, 2010. ISBN 11-180-2188-6.
[11]
GONZALEZ, Rafael C a Richard E WOODS. Digital image processing. 3rd ed. Upper Saddle
River: Pearson, c2008, xxii, 954 s. ISBN 01-316-8728-X.
[12]
VOKOROKOS, L., B. MADOŠ, A. BALÁŽ a N. ÁDAM. Architecture of multi-core
computer with dáta driven computation model. Acta Electrotechnica et Informatica. 2010, s.
20-23.
[13]
VOKOROKOS, L. Princípy architektúr počítačov riadených tokom údajov. Košice: elfa,
s.r.o., 2008. ISBN 978-80-8086-075-2.
[14]
YOUNG, Roger. How computers work: processor and main memory. 2nd ed. S.l.: Roger
Young, 2009. ISBN 14-421-1398-7.
Acta Informatica Pragensia
2(1), 2013, 91–100, ISSN 1805-4951
Online: aip.vse.cz
Sekce / Section:
Recenzované stati / Peer-reviewed papers
Uplatnění systémového myšlení v analytické
fázi vývoje aplikací
Anna Exnarová1
1
Katedra systémové analýzy, Fakulta informatiky a statistiky,
Vysoká škola ekonomická v Praze
nám. W. Churchilla 4, 130 67 Praha 3
[email protected]
Abstrakt: Předkládaný článek představuje návrh uplatnění systémového myšlení
v procesu vývoje aplikace. Uvedené modely systémového myšlení čtenáři
představují možnosti jejich využití v procesu vývoje softwarové aplikace. Návrh
nediktuje tvorbu konkrétního modelu v určitý okamžik, ale navrhuje jak je možno
využít vybrané modely. Autorským záměrem je dosáhnout změny/rozšíření v
mentálním modelu čtenáře – konkrétně části, která obsahuje obraz aplikace
systémového myšlení při vývoji aplikací.
Klíčová slova: modelování, mentální modely, systémové myšlení, vývoj
informačních systémů, softwarová aplikace
Title: Applying systems thinking in the analytical stage of application development
Abstract: This paper presents the proposal for application of systems thinking in
the application development process. The models of systems thinking present to the
reader the possibility of their use and application in the software application
development process. The proposal does not mandate the creation of a specific
model at some point, but suggests how the selected models can be used. Authorial
intention
is
to
change
the
mental
model
of
the
reader
– particularly the part that contains an image of the application of systems thinking
in developing applications.
Keywords: Modelling, Mental models, Systems thinking, Development of the
information system, Software application
92
Exnarová
1 ÚVOD
Čím dále častěji se v pracovním životě v IT praxi při vývoji aplikací setkávám se situacemi, jejichž
řešení běžným analytickým přístupem nepřináší žádoucí výsledky. I přesto, že neustále dochází
k vývoji metodik, technik, nástrojů, přístupů v dílčích činnostech a procesech vývoje informačních
systémů, dle dlouhodobých výzkumů se ukazuje, že výsledky nejsou uspokojivé. Vývoj informačních
systémů a aplikací je poměrně drahý a jeho výsledky jsou nepředvídatelné. [10] Výsledná zpráva
výzkumného projektu „CHAOS“ Standish Group z roku 2011 [10] dokladuje, že více jak polovina
projektů vývoje informačních systémů jsou neúspěšné. Jedná se o projekty z let 2002 až 2010, mezi
kterými pouze 37% bylo vyhodnoceno jako úspěšné. Bohužel 19% je zcela neúspěšných, přičemž
z tohoto objemu je 50% projektů neúspěšných z toho důvodu, že nevyhovovaly byznysovým
požadavkům. V 80% případů je konstatováno, že důvodem neúspěchu projektu byla realizace
požadavků, které nebyly vhodně uchopeny a implementovány. S určitou mírou zjednodušení si
dovolím konstatovat, že neúspěchy projektů velmi úzce souvisí se schopností úspěšně definovat
požadavky a úspěšně a efektivně realizovat činnosti v analytické fázi vývoje.
Uchopení problematiky, pochopení zákazníka a jeho požadavků, vytvoření návrhu řešení je
nepochybně podchyceno v běžně používaných přístupech. Pro to, aby tyto činnosti byly efektivní
a poskytovaly očekávané kvalitní výsledky, je vhodné je propojit a současně aplikovat společně se
systémovým myšlením. To umožňuje odstranit neschopnost pracovat se systémy jako s celky, pomáhá
pochopit skutečnou podstatu problému a nalézt efektivní řešení. [9]
Následující článek předkládá návrh, jak je možné uplatnit systémové myšlení právě při vývoji
informačního systému – konkrétně se jedná o uplatnění systémového myšlení v analytické fázi vývoje
softwarové aplikace. Nástrojem pro toto uplatnění je použití modelů systémového myšlení.
2 SYSTÉMOVÉ MYŠLENÍ A VÝVOJ APLIKACÍ
Z pohledu systémového myšlení je chápání zkoumaného systému zakotveno ve způsobu komplexního
myšlení nad prvky systému, včetně jejich vazeb v rámci vnitřních i vnějších souvislostí. Dle Mildeové
[6] a [7] je základem paradigmatu „vhodnost postavení“ a schopnost myslet. Pod pojmem „vhodnost
postavení“ je chápán postoj k problému, vnímání a chápání jak problému, tak jeho okolí. Efektivní
pohled na problém je vyhledáním jakési rovnováhy vzdálenosti, tj. ani ne zblízka příliš detailní, ani ne
z velké dálky, tak aby nebyly zanedbané podstatné skutečnosti. To co vnímáme, je závislé na našem
způsobu nahlížení. Pozornost by měla být věnována nejen struktuře, ale také vzorům chování a jeho
důsledkům.
Použitím systémového myšlení pro řešení problémů lze dosáhnout přiměřeného nalezení příčin a jejich
následků, akcentování existence zpětněvazebných smyček mezi prvky v systému a jejich dopadů na
chování systému a integrace časového hlediska do popisu systému i jeho chování. Systémové myšlení
je v souladu se základními principy definovanými systémovými přístupy, kterými jsou holismus,
emergence a synergický efekt; systémová hierarchie; existence zpětné vazby; komunikace. [7]
Nutno podotknout, že při vývoji aplikace je tvůrce konfrontován se dvěma systémy: (které se ale
mohou výrazně prolínat, či dokonce překrývat)
Acta Informatica Pragensia


93
za prvé zkoumá systém, nad kterým je aplikace budována;
a za druhé vlastní aplikace je novým systémem, který tvůrce vytváří.
Jako příklad uveďme aplikaci, která bude evidovat docházku zaměstnanců ve firmě (tento příklad je
používán i v dalším textu článku). Zkoumaný systém vykazuje vlastnosti, které řešitel při návrhu
aplikace musí akcentovat (např. to, zda v realitě zaměstnanci musí být fyzicky přítomni na pracovišti,
nebo mohou pracovat z domu či u zákazníka, zda je možné, aby jeden den pracovali pouze 3 hodiny
a druhý den si chybějící čas tzv. napracovali, zda je možné, aby fyzicky v objektu existovala čtecí
zařízení evidující příchody a odchody zaměstnanců).
Vytvářený systém – tedy nová aplikace, je rovněž samostatným systémem. Způsobů, jakým tento
systém může být navržen, vytvořen a následně s ním bude pracováno, je také mnoho. A rovněž i zde je
možné využít principů systémového myšlení.
2.1 PRINCIPY SYSTÉMOVÉHO MYŠLENÍ
Při zkoumání vývoje aplikací se objevují místa, která přímo ukazují na možnost aplikace systémového
myšlení. Postupně uveďme základní principy a pokusme se okomentovat jejich význam z pohledu
vývoje aplikace.
Princip holismu a emergence hovoří o tom, že na systém se nelze dívat odděleně na základě pouhé
dekompozice systému. Je potřebné sledovat jeho chování a to nejen chování izolovaných prvků, ale
v souvislostech s ostatními prvky a okolím systému, pozorovat jejich vazby a vnější i vnitřní interakce.
V případě aplikace, která je nasazována do informačního systému, jsou tyto vlastnosti akcentovány
např. v integračních testech. Aplikace může být otestována uživatelsky, ale může mít při nasazování
velké problémy, právě z důvodu interakce s ostatními komponentami informačního systému.
Příklad vzniku synergie při vývoji systému uvádí [1, str. 45], ve kterém autoři Bébr a Doucek uvádí,
že pokud řešitel na začátku definuje požadované funkce na elementární úrovni, a je vynakládáno
poměrně velké úsilí na sladění funkcí a pochopení systému. V určité fázi nastává zlomový okamžik,
kdy systém náhle začne snadno a dobře plnit požadované funkce.
Problematiku systémové hierarchie určitě zná každý analytik. Systémová hierarchie zkoumá systém
jako součást systému vyšší úrovně a naopak považuje každou jeho část za autonomní systém, který ale
na rozdíl od tradičního pojetí rozpadu pouze na části bere v potaz to, že se jedná o systémy, které mají
vazby na okolí, a vazby uvnitř systému. Vazby i struktura systému teprve společně určují chování,
vlastnosti a funkce systému. V praxi se často lze setkat se snahou rozpracovat složitou problematiku
zkoumaného systému na menší uchopitelné části, které ale jsou dále již zkoumány izolovaně.
Typickým příkladem jsou procesní modely a jejich dekompozice. Vytvoření procesního modelu
složitého zkoumaného systému vyžaduje velkou míru znalostí, dovedností, ale také zkušeností, které
analytik musí mít, aby správně dokázal vytvořit dekompozici systému, „nepřestřelil“ míru
podrobnosti, dokázal akcentovat všechny podstatné a potřebné vlastnosti systému. Mnoho začínajících
analytiků se „utopilo“ při snaze o vytvoření dokonalého procesního modelu, který byl detailní
a dopodrobna modeloval dílčí kroky procesu, ale pro vyšší úrovně pohledu byl nepoužitelný.
94
Exnarová
Regulace (příp. samoregulace) je jednou ze základních vlastností systému. Čím vyšší komplexitu
systém vykazuje, tím bohatší je také struktura zpětných vazeb. Při návrhu vyvíjené aplikace
(vyvíjeného systému) jsou běžně zabudovávány principy regulace – např. na úrovni databázových
operací jsou řešeny optimalizace a regulování výkonu. Z pohledu zkoumaného systému je existence
zpětných vazeb tím složitější, čím složitější je systém. Se zpětnými vazbami velmi úzce souvisí
schopnost prozkoumání příčin a následků a akcentování dynamiky změn.
Komunikace systémů je vlastně výměnou informací (dat) mezi prvky systému nebo jeho okolím. Pro
úplný popis systému je nutné akcentovat všechny typy komunikace, které systém vykazuje. Ve výše
uvedeném příkladu vývoje aplikace pro docházkový systém je z pohledu vyvíjeného systému nutné
uvažovat např. o formě, jakou jsou schvalovány práce mimo pracoviště, principy schvalování
odpracovaných hodin, nebo informační toky směrem od zaměstnance k personálnímu či mzdovému
oddělení. Z pohledu vyvíjeného systému jde např. o to, zda komunikace, které probíhají v realitě, bude
nově vytvářený systém plně akcentovat, nebo dojde k jejich úpravě, či v případě technické
implementace jakým způsobem budou komunikovat databázové objekty s aplikační vrstvou.
3 MODELY SYSTÉMOVÉHO MYŠLENÍ
Systémové myšlení poskytuje nástroje, které umožňují či usnadňují jeho používání. Jedním z těchto
nástrojů jsou jeho modely. V tomto článku se věnuji těmto typům modelů, které lze chápat jako
modely systémového myšlení:





mentální modely,
myšlenkové mapy,
diagram příčin a následků,
příčinně-smyčkový diagram,
diagram hladin a toků.
K tomuto výčtu uvádím dvě stručné poznámky.
1) První uvedený typ modelů (mentální modely) chápu jako nutnou součást modelů systémového
myšlení, protože bez nich nelze provádět jakoukoliv kognitivní činnost. Pokud člověk ovládá
schopnost systémového myšlení, jeho mentální modely vykazují rovněž znaky systémového myšlení.
Na druhou stranu, pokud je nevykazují, jsou tyto modely nutnou podmínkou pro vznik dalších
modelů. Tudíž se domnívám, že tento typ modelů náleží do modelů systémového myšlení.
2) Pojem model a diagram. V článku chápu model jako zjednodušenou reprezentaci, obraz reálného
systému. Diagram je vizualizací modelu.
Následující pasáž článku představuje základní charakteristiky jednotlivých typů modelů systémového
myšlení.
Acta Informatica Pragensia
95
3.1 CHARAKTERISTIKY MODELŮ SYSTÉMOVÉHO MYŠLENÍ
Mentální model si vytváříme v našich hlavách a potřebujeme jej k tomu, abychom byli schopni
v realitě existovat. Zahrnuje v sobě ty vlastnosti systému, které považujeme za potřebné. Nedostatky,
které mentální modely vykazují, souvisí s jejich vlastnostmi. Jsou nekompletní, limitované
schopnostmi lidí „řídit“ a pracovat s vlastními mentálními modely, jsou nestabilní a v čase
proměnlivé, nemají jasně definované hranice a vazby, nejsou vědecké, často obsahují
„nevysvětlitelné“ charakteristiky a emocionální prvky, z části jsou nevědomé a jsou velmi obtížně
sdílené. [3] [5] [8]
Myšlenkové mapy (mentální mapy, mind mapy) umožňují vizualizovat vybranou část mentálních
modelů, umožňují vizualizovat a dokumentovat předávané informace. Myšlenková mapa je grafické
znázornění pojmů, jejich vazeb a souvislostí, doplněné např. grafikou, obrázky, ikonami, barevným
odlišením. Tyto modely jsou založeny na jednom z principů přemýšlení – lidé nemyslí čistě lineárně,
ale vytváří si mapy myšlenek, které různě rozvíjí a propojují. [2] Mentální modely jsou určujícím
faktorem pro porozumění. Pokud chce jedinec řešit komplexní úlohy úspěšně, musí aktivním
kognitivním procesem trvale pracovat na korekci svých mentálních modelů i paradigmat.[8
Dnes již klasickým prostředkem pro vizualizaci příčin a následků je tzv. diagram příčin a následků,
neboli diagram rybí páteř, diagram rybí kosti, fishbone diagram, někdy také označován jako Ishikawův
diagram. Diagram slouží jako prostředek analýzy příčin a následků, v některých případech bývá
používán obdobně jako myšlenkové mapy pro sumarizaci souvisejících prvků a jejich vazeb.
Hledání příčin a následků je v západním způsobu myšlení velmi pevně zakořeněný přístup k řešení
problémů. Ať již v soukromém, profesním nebo vědeckém životě – všude jsme obklopeni výčtem
příčin a důvodů, které mají za následek nějaké chování nebo stav. A většinou se snažíme se dopátrat
úplného výčtu – čím víc tím líp. Jedná se přitom o hledání jednoduchých kauzálních vztahů,
jednosměrného a bez jakéhokoliv vymezení vzájemného působení mezi příčinami a důsledky. Také
zde neexistuje akcent na zpětné působení od následku k příčině. Při modelování problémové situace je
absolutně zanedbána skutečnost, že důsledek může mít velký vliv i na původní příčiny. [4]
Příčinně smyčkové diagramy (causal loop diagram, CLD) umožňují modelovat příčinnosti a tendence
vývoje. Diagram kauzálních smyček je nástrojem pro vizualizaci a následnou analýzu vzájemných
vlivů proměnných v modelech systémové dynamiky. Vzájemné vztahy proměnných usnadňují
pochopení a kvantifikaci funkcí komplexních systémů.
Diagram hladin a toků (Stock and flow diagrams, SFD) slouží k vyjádření vývoje proměnných v čase.
Základními stavebními kameny tohoto diagramu jsou: hladiny (znázorňují stavy – prvky systému,
charakterizující stav systému, zároveň reprezentují i zpoždění); a přítoky a odtoky s ventily
(vyvolávají změny hladin dané nastavením parametrů).
Poslední dva typy (příčinně smyčkové diagramy a diagramy hladin a toků) bývají často uváděn y jako
modely systémové dynamiky. Systémové myšlení a systémovou dynamiku chápu jako dvě samostatné
disciplíny, které mají vzájemný přesah. V případě, že modely obsahují i simulační prvky, náleží do
disciplíny systémová dynamika.
96
Exnarová
3.2 MODELY SYSTÉMOVÉHO MYŠLENÍ V ANALYTICKÉ FÁZI VÝVOJE
APLIKACE
Pro výše uvedené typy modelů systémového myšlení uvádí následující kapitola stručnou
charakteristiku ve vztahu k vývoji aplikací – a to jak z pohledu vyvíjeného systému, tak z pohledu
zkoumaného systému.
3.2.1
MENTÁLNÍ MODELY
Prvním modelem, který v procesu vývoje aplikace vzniká, je mentální model. Vzniká nejdříve
v myslích zadavatelů, kteří tvoří zadání a poptávají možnosti pro řešení jejich problému. Rovněž
kognitivním procesem vznikají modely realizátorů, kteří zadání studují, následně vytváří analýzy,
navrhují řešení, implementují řešení, testují či vytvořenou aplikaci nasazují.
Kvalita těchto modelů je klíčová pro celý proces vývoje aplikace. Je klíčová pro zabezpečení
komunikace. Nedostatky mentálních modelů jsou často omezujícím prvkem pro dosažení
požadovaných výsledků. Mentální modely jsou používány napříč celým procesem vývoje aplikace.
V modelovém příkladu je klíčovou osobou analytik, který má vytvořit základní koncepci návrhu
aplikace pro docházku. Tento analytik dosud celý život pracoval na pozici zaměstnance, vždy
docházel pravidelně na pracoviště a nikdy se nesetkal se situací, kdy pracuje dopoledne z domu
a odpoledne vyjíždí k zákazníkovi. Jeho mentální model budoucí aplikace obsahuje na začátku pouze
jednu variantu – v aplikaci postačuje evidovat příchod a odchod na/z pracoviště. Změna této části
mentálního modelu vyžaduje detailní znalost zkoumaného systému. Zároveň ale také schopnost
a ochotu analytika měnit svůj mentální model na základě nových poznatků. Pouhým zjištěním, že
realita se odlišuje od mentálního modelu, je často nedostatečná. Lidský mozek musí tuto informaci
dostatečně zpracovat, tak aby byl schopen svůj mentální model změnit.
3.2.2
MYŠLENKOVÉ MAPY
Myšlenkové mapy jsou modely, které pomáhají jejich tvůrcům, ale také uživatelům, lépe „přemýšlet“
– tj. efektivněji pracovat se svými mentálními modely a lépe je upravovat. Z pohledu analytické fáze
vývoje aplikace tento typ modelu umožňuje:






popsat potřeby, které má aplikace řešit;
deklarovat důvody vzniku aplikace;
v případě složitějších interakcí dokumentuje očekávané potřeby uživatelů;
popisuje chování aplikace (vytvářeného systému);
mapuje dotčené komponenty informačního systému, či okolí aplikace;
nastiňuje možné vazby na okolí.
Tento typ modelu by neměl pouze dokumentovat, ale také by měl ověřit, zda to, když „někdo říká, že
něco potřebuje“, je skutečnou potřebou. Zda existující mentální modely jsou založeny na reálné
potřebě, anebo jsou z nejrůznějších důvodů modifikovány a dopady těchto modifikací jsou nežádoucí.
Rovněž by měly pomoci ověřit, že mentální modely – a z nich vzniklé zadání, či popis budoucí
aplikace, jsou úplné.
Acta Informatica Pragensia
97
Z těchto modelů může plynout potřeba redefinice nebo doplnění výčtu požadavků na aplikaci, úprava
zadání. Tvořením a následnou diskusí lze ověřit, zda je realizován požadovaný systém. Přínosy
existence těchto modelů jsou (či mohou být):







3.2.3
revize požadavku na vytvoření systému,
revize rozsahu projektu a cíle,
revize (doplnění nebo zrušení) seznamu požadavků,
opětovná diskuse se zadavatelem o cílech a očekáváních,
zjištění potřeby externích konzultací o okolí systému, o kterém nemáme dostatek informací,
vytipování parametrů, které vyplývají ze specifikace požadavků, a které budou použité pro
tvorbu případů užití,
identifikace bodů, které je případně nutné zpracovat pomocí vybrané notace procesního
modelování.
DIAGRAM PŘÍČIN A NÁSLEDKŮ
Diagram rybí páteře umožňuje popsat příčiny a následky chování systémů či možné stavy při řešení
konkrétního problému. V kontextu vývoje aplikace v analytické fázi by tento model měl obsahovat
popis příčin problémů, které by měl vyvíjený SW řešit. Při tvorbě tohoto typu diagramu je velmi
důležitým prvkem ujasnění skutečných příčin a zmapování jejich možných následků.
Použitím tohoto typu modelu může vyplynout nutnost dalších změn mimo plánovaný vývoj aplikace.
Příkladem může být zjištění, že aplikace evidující docházku zaměstnanců nemůže mít nastaven limit
8 odpracovaných hodin za den. Důvodem je existence přesčasů, které zaměstnanci vykazují. Příčinnou
přesčasů jsou různé situace, jejichž zmapování umožní v aplikaci jejich evidenci (v případě, že tento
požadavek se ukáže jako relevantní, bude následně možné vytvořit např. statistiku, proč jsou práce
přesčas využívány). Přínosy existence tohoto typu modelu mohou být:



3.2.4
revize požadavku na vytvoření systému,
revize rozsahu projektu a cíle,
opětovná diskuse se zadavatelem o cíli a očekáváních.
PŘÍČINNĚ-SMYČKOVÝ DIAGRAM
Pohled na entity, veličiny, parametry, či části systému a jejich vzájemné vztahy, vazby a procesy
umožňuje modelovat příčinně-smyčkový diagram. Tento typ diagramu umožňuje:





identifikovat a modelovat klíčové parametry, které by systém měl ovlivňovat a naplňovat,
identifikovat posilující a balanční smyčky, které popisují principy chování systému
a umožňují tak snáze najít efektivní způsoby řešení problémů,
modelovat vazby systému na okolí,
podporovat vyhledávání skrytých, nezjevných, nebo nepřímých interakcí,
v případě několika diagramů z různých úrovní pohledu vybudovat odpovídající model
hierarchie dílčích částí systémů,
98
Exnarová

zachytit vlastnosti, vnitřní závislosti, systémovou hierarchii, procesy uvnitř systému i celé
organizace.
Klasické modelování entit často ohraničuje pozornost pouze na vnitřní vazby systému.
Příčinně-smyčkový diagram podporuje modelování a přemýšlení o vazbách systému na okolí
a pomáhá přemýšlet o procesech a vztazích v příčinných i zpětně-vazebních smyčkách.
V modelovém příkladu je díky tomuto diagramu např. možno zjistit požadavky na reporty, které
aplikace bude poskytovat. Ty se odvíjí od uživatelů. Určitě mezi standardními uživateli bude
personální oddělení, nadřízení sledovaných pracovníků a vedení firmy, ale také např. státní instituce
a dohledové orgány.
Přínosy existence tohoto diagramu jsou:






3.2.5
revize požadavku na vytvoření systému,
revize rozsahu projektu,
revize (doplnění nebo zrušení) seznamu požadavků,
opětovná diskuse se zadavatelem o cílech a očekáváních,
identifikace entit, které následně budou vystupovat v logickém modelu (příp. jejich verifikace,
pokud je identifikace provedena na základě seznamu požadavků),
nalezení kritických procesních bodů, které je vhodné modelovat pomocí specializované notace
procesního modelování.
DIAGRAM HLADIN A TOKŮ
Detailnější prozkoumání entit, jejich vazeb z pohledu systémového myšlení je možné pomocí
diagramu hladin a toků. V předešlých krocích se postupně definovaly entity, vytipovaly se vazby mezi
entitami i mezi entitami a okolím systému, byly identifikovány příčiny a následně popsány zpětné
i příčinné vazby. Následuje diagram hladin a toků, který umožňuje:





podrobněji popsat a specifikovat klíčové parametry, které by systém měl ovlivňovat
a naplňovat (některé z těchto parametrů byly identifikovány v příčinně-smyčkovém
diagramu),
podrobněji dokumentovat vazby, které v systému působí,
konkretizovat působení balančních a posilujících smyček ve smyslu identifikace parametrů,
pomocných proměnných a konstant, které v těchto procesech působí,
vytvoření simulací, na základě kterých je možné podrobně specifikovat chování systému za
konkrétních podmínek,
identifikovat stavy systému, potažmo vybraných entit.
Příkladem pro tento typ diagramu je např. modelování stavu zaměstnance z pohledu vykázaných hodin
– nevykazuje, má vykázáno, má uzavřen pracovní týden, atd. Pochopení těchto stavů a parametrů,
které tyto stavy ovlivňují, jsou klíčové pro správné nastavení např. stavových modelů a použití stavů
při implementaci.
Přínosy existence tohoto diagramu jsou:
Acta Informatica Pragensia





99
identifikace entit, které následně budou vystupovat v logickém modelu (příp. jejich verifikace,
pokud je identifikace provedena na základě seznamu požadavků),
identifikace klíčového parametru – tak může dojít k nutné revizi požadavků a cílů,
vliv na identifikaci kritických faktorů,
identifikace parametrů a jejich vliv na entity systému,
simulací ověřené a potvrzené očekávané hodnoty, identifikace potřebných úprav návrhu
a designu systému, nebo změna způsobu implementace.
4 ZÁVĚR
Z výše uvedených dílčích přínosů použití jednotlivých typů modelů systémového myšlení je možné
generalizovat globální přínosy, které uplatnění systémového myšlení v analytické fázi vývoje aplikace
má.
Systémové myšlení poskytuje nástroje na to, jak pracovat s komplexními systémy a řešit jejich
problémy. Vývoj informačních systémů či dílčích aplikací je nepochybně disciplínou komplikovanou
a komplexní. Využitím principů systémového myšlení za pomoci použití jejich nástrojů (tj. modelů),
by bylo možné docílit efektivnějších a uspokojivějších výsledků.
Uvedené modely jsou rozšířením oproti stávajícím a běžně používaným modelům při vývoji aplikací
(např. UML nebo procesní modely). Jejich souběžné použití by mohlo vykazovat významné
synergické efekty. Domnívám se, že aplikací systémového myšlení do vývoje informačních systémů
a spojením tradičních modelů s modely systémového myšlení vzniknou významné přínosy.
5 SEZNAM POUŽITÝCH ZDROJŮ
[1]
BÉBR, R., DOUCEK, P., 2005. Informační systémy pro podporu manažerské práce. 1. vyd.
Praha: Professional Publishing, 2005, 223 s. ISBN 80-864-1979-7.
[2]
BUZAN, T., B., 2011. Myšlenkové mapy: probuďte svou kreativitu, zlepšete svou paměť,
změňte svůj život. Vyd. 1. Brno: Computer Press, 2011, 213 s. ISBN 978-80-251-2910-4.
[3]
COSTELLO, W., 2007: Computer_Based Simulations as Learning Tools: Changing Student
Mental Models of Real-Word Dynamical Systems; Creative Learning Exchange. [online].
2001. [cit. 2013-03-10]. Dostupné z:
http://www.clexchange.org/ftp/documents/Implementation/IM200104ChangingStuMentMod.pdf
[4]
EXNAROVÁ, A. Uplatnění systémového myšlení v analytické fázi vývoje softwaru. Disertační
práce, VŠE FIS, Praha, 2013.
[5]
CHERMACK, T. J., 2003. Mental Models in Decision Making and Imlications for Human
Resource Development; SAGE Publications, Advances in Developing Human Resources, Vol.
5, No. 4, 408-422, [online]. 2003. [cit. 2013-03-12]. Dostupné z :
http://adh.sagepub.com/cgi/content/abstract/5/4/408
[6]
MILDEOVÁ, S., DALIHOD, M., EXNAROVÁ, A, 2012. Mental Shift Towards Systems
Thinking Skills in Computer Science. Journal on Efficiency and Responsibility in Education
100
Exnarová
and Science [online], 2012, roč. 5, č. 1, s. 25–35. ISSN 1803-1617. Dostupné z:
http://www.eriesjournal.com/_papers/article_165.pdf
[7]
MILDEOVÁ, S., a kol., 2007. Tvorba manažerských simulátorů: vaše virtuální firma.
Oeconomica, Praha, 2007. ISBN 978-80-245-1286-0.
[8]
MOLNÁR, Z., MILDEOVÁ, S., ŘEZANKOVÁ, H., BRIXÍ, R. KALINA, J., 2012. Pokročilé
metody vědecké práce. 1. vyd. Praha: Profess Consulting s.r.o., 2012. ISBN 978-80-7259-0643.
[9]
SENGE, P. M., 1995. Piata disciplína manažmentu, Systémové myslenie predpoklad rozvoja
organizácií, Open Windows, Bratislava, 1995, ISBN 80-85741-10-5.
[10]
SCHWABER, K., SUTHERLAND, J.V. The Crisis in Software: The Wrong Process Produces
the Wrong Results. Software in 30 days: how agile managers beat the odds, delight their
customers, and leave competitors in the dust. Hoboken, N.J.: John Wiley, 2012, s. 14. ISBN
978-1-118-20666-9.
Acta Informatica Pragensia
2(1), 2013, 101–121, ISSN 1805-4951
Online: aip.vse.cz
Sekce / Section:
Recenzované stati / Peer-reviewed papers
Optimalizácia monitorovania sieťovej prevádzky
František Jakab1, Adrián Pekár1, Peter Feciľak1, Miroslav Michalko1
1
Katedra počítačov a informatiky, Fakulta elektrotechniky a informatiky
Technická univerzita v Košiciach, Letná 9, 04001 Košice, Slovenská republika
{frantisek.jakab, adrian.pekar, peter.fecilak, [email protected]
Abstrakt: Tento príspevok sa zaoberá otvorenými problémami vyskytujúcimi sa
pri pasívnom prístupe merania sieťových charakteristík. Opisuje najpoužívanejšie
prístupy merania sieťových parametrov ako aj charakteristiky, ktoré sa pri
monitorovaní najčastejšie sledujú. Hlavným cieľom tohto príspevku je predstavenie
konceptuálneho návrhu riešenia opísaných problémov, ktorý by sa mal docieliť
automatizovaným prispôsobením exportu záznamov o tokoch prevádzky
k aktuálnemu stavu siete.
Klíčová slova: pasívne meranie, aktívne meranie, monitorovanie sieťovej
prevádzky, tok, IPFIX
Title: Optimization of Network Traffic Monitoring
Abstract: This paper deals with problems which occur in passive measurement
of network characteristics. It describes the most used approaches of measuring
network parameters as well as those properties, which are most frequently
monitored. The main aim of this paper is to introduce a conceptual design of
a solution for the discussed problems, which should be achieved by automated
adapting of flow records export of traffic to the actual state of the network.
Keywords: Passive measurement, active measurement, network traffic monitoring,
flow, IPFIX
102
Jakab et al.
1 ÚVOD
Hlavným prostriedkom komunikačnej a informačnej infraštruktúry počas posledných rokov sa stal
internet. Komunikačné siete boli pôvodne navrhnuté na nezávislé prenášanie rôznych typov údajov, t.j.
rádio pre audio, televízor pre video a pod. Od jeho objavenia počet pripojených používateľov
a počítačov výrazne rastie, čo vedie k neustálemu zvyšovaniu zložitosti a náročnosti sieťovej
prevádzky. V dôsledku veľkého množstva používaných multimediálnych a distribuovaných aplikácií
boli vyvinuté konvergované siete. Na rozdiel od klasických komunikačných sietí sú tie dnešné,
konvergované, schopné súčasného prenášania údajov rôznych typov, akými sú video, hlas a dáta.
Jednou z najdôležitejších výziev konvergovaných sietí je zvýšená obťažnosť ich riadenia.
Na zabezpečenie výkonnosti, bezpečnosti a spoľahlivosti týchto sietí sa využívajú rôzne merania
a analýzy, ktoré sa kvôli nárastu požiadaviek sieťovo-orientovaných aplikácií používajú stále vo
väčšej a väčšej miere. Napriek značnému úsiliu vedecko-výskumnej komunity, veľa problémov v
oblasti monitorovania sieťových charakteristík zostáva otvorených.
V nasledujúcich kapitolách bude predstavená stručná motivácia pre monitorovanie sietí a ich
vlastností. Následne budú opísané najdôležitejšie charakteristiky, ktorých meranie je z pohľadu
monitorovania užitočné. Predmetom záujmu bude aj definícia a prehľad rôznych prístupov
monitorovania a merania prevádzkových charakteristík. V pokračovaní sa predstavia otvorené
problémy, ktoré sa pri monitorovaní prevádzkových charakteristík vyskytujú, ako aj výsledky
experimentu vykonaného pre overenie prítomnosti vybraných problémov. Záverečná kapitola
poskytuje konceptuálny návrh metódy pre vyriešenie opísaných problémov.
2 MOTIVÁCIA
Počítačové siete sa stali neoddeliteľnou súčasťou každodenného života. Využívajú sa pre osobnú
komunikáciu, zdieľanie údajov, verejné šírenie správ, prenášanie privátnych údajov, kolaboráciu,
telefonovanie, podnikanie, vzdelávanie, nakupovanie, zábavu, socializáciu, atď. Zdrojom týchto
aktivít sú v drvivej väčšine používatelia a aplikácie, ktoré používajú. Výsledkom je obrovský objem
údajov, ktoré tvoria prevádzku počítačových sietí. Pri prevádzke s takou širokou a rozmanitou
charakteristikou, dôležitým aspektom počas návrhu, správy a optimalizácie dnešných komplexných
a vysoko-rýchlostných počítačových sietí je meranie a monitorovanie ich rôznych vlastností. Meranie
a monitorovanie sietí poskytuje významné informácie pre používateľov, poskytovateľov služieb (ISP),
výskumníkov alebo iných členov verejnej a vedeckej komunity. Na základe týchto informácií je
následne možné zabezpečiť kvalitu, výkonnosť a plnohodnotnú funkčnosť počítačových sietí, ich
služieb a aplikácií.
Pre monitorovanie sieťovej prevádzky existuje aj veľa ďalších dôvodov. Charakteristiky vyťaženia
siete výrazne ovplyvňujú sieťové komponenty a protokoly. Výkonnosť smerovačov napríklad
podstatne závisí od štatistických vlastností prevádzky a rozdelení veľkosti paketu. Ďalej môže správna
charakteristika topológie značne prispieť pri identifikácii miest potenciálneho výskytu výkonnostných
problémov.
Acta Informatica Pragensia
103
Meranie sieťových charakteristík je dôležité aj v prípade vedecko-výskumnej činnosti. Väčšina
výskumov sa zameriava na získanie znalostí o dynamike sietí. Pochopenie dynamiky sieťovej
prevádzky je nevyhnutné z pohľadu budovania rôznych sieťových modelov pre účely riešenia
problémov týkajúcich sa vyhodnocovania, výkonnosti, zabezpečenia alebo optimalizácie sietí [6].
Avšak zhromažďovanie reprezentatívneho súboru nameraných dát nie je jednoduchý proces.
S ohľadom na túto skutočnosť, autori v príspevku [5] poskytujú detailné vysvetlenie problémov
týkajúcich sa simulácie internetu, z ktorých sa niektoré vyskytujú aj v prípade merania sieťovej
prevádzky. Tieto problémy sú napríklad veľkosť a heterogénna povaha sieťovej prevádzky, neustále sa
zvyšujúci počet sieťovo-orientovaných aplikácií, rýchly a nepredvídateľný spôsob zmien v sieťach,
veľkosť a aktuálnosť zhromaždených vzorov alebo manipulácia s odľahlými hodnotami meracích
procesov.
Aj keď počítačové siete patria medzi neustále sa vyvíjajúce oblasti informačných technológií, počet
nových pripojení — či už v podobe zariadení alebo používateľov — a prudký nárast objemu, ako aj
obsahu prevádzky robia ich monitorovanie čoraz zložitejším. Napriek tomu, že súčasné siete obsahujú
množstvo sofistikovaných nástrojov pre detekciu a signalizáciu rôznych chýb a porúch, stále existuje
skupina takých udalostí, ktoré väčšinou zostanú neodhalené [2]. Tieto udalosti sa nazývajú tiché
poruchy (silent failures), medzi ktoré, okrem iných, patria najmä konfiguračné chyby (nesprávne
nastavenia ACL), smerovacie anomálie (smerovacie slučky) alebo nečakané drobné závady
v smerovačoch (neschopnosť smerovača detegovať svoju internú chybu). Všetky tieto udalosti môžu
viesť k nepriaznivému ovplyvneniu výkonnosti počítačových sietí. Nedostatok schopnosti
zachytávania týchto javov je evidentným dôkazom potreby vylepšovania monitorovacích a meracích
mechanizmov.
3 MONITOROVANIE SIEŤOVEJ PREVÁDZKY
V terminológií počítačových sietí spolu s pojmom ‘monitorovanie’ často vystupuje aj ‘meranie’.
V niektorých prípadoch sa o meraní dokonca hovorí, akoby bolo neoddeliteľnou súčasťou
monitorovania [4]. Faktom je, že aj meranie, aj monitorovanie predstavuje rozsiahlu oblasť
počítačových sietí, pričom spolu tvoria nenahraditeľný pilier mechanizmu, ktorý za dnešnými vysokorýchlostnými počítačovými sieťami stojí. Súvislosť medzi monitorovaním a meraním je veľmi
jednoduchá. Bez merania charakteristík sieťovej prevádzky — a následného vyhodnotenia
nameraných dát — by nebolo možné uskutočniť monitorovanie sietí. Bez monitorovania by následne
nebolo možné vykonať úlohy akými sú kontrola, správa, zabezpečenie alebo optimalizácia
počítačových sietí. Kým v prípade merania alebo monitorovania sietí sú najdôležitejšími entitami
sledované prevádzkové charakteristiky, v prípade vyhodnocovania majú najvýznamnejšiu úlohu
aparáty zvolené z oblasti matematických vied [4]. Preto pri monitorovaní a s ním súvisiacimi úkonmi
je potrebné im venovať výnimočnú pozornosť.
Pojem monitorovanie siete slúži na opis činnosti takého systému, ktorý neprerušene sleduje celú sieť
a jej prevádzku. Hlavnou charakteristikou takého systému je, že v prípade objavenia chýb, výpadkov
alebo iných nezvyčajných javov okamžite upozorní (napr. prostredníctvom e-mailu) správcu siete.
Okrem nepretržitého sledovania sa monitorovanie využíva aj v správe sieťovej prevádzky, rôznych
prístupov, komponentov (uzlov) a pod. Tieto, už aj tak komplexné úkony, ďalej komplikuje
104
Jakab et al.
topologická (fyzické prepojenie všetkých komponentov) a výpočtová (smerovanie a riadiace úlohy
sieťových komponentov) zložitosť dnešných konvergovaných sietí. Nasadenie monitorovania nie je
obmedzené typom siete, t.j. prakticky sa môže sledovať ľubovoľná sieť, od lokálnych (LAN) alebo
bezdrôtových, cez virtuálne privátne (VPN), až k metropolitným (MAN) alebo rozľahlým (WAN)
sieťam. Monitorovanie sa neobmedzuje ani na jednotlivé sieťové komponenty (prepínače, smerovače,
servery, IP telefóny, atď.). Monitorovanie siete sa vykonáva pomocou softvérových aplikácií
a nástrojov. Pomocou týchto softvérov sa môžu jednoducho určiť metriky súvisiace s výkonom sietí,
identifikovať jednotlivé aktivity a ich vplyv na softvérové a hardvérové prostriedky. Monitorovanie je
nenahraditeľným nástrojom aj v detekcii a predchádzaní bezpečnostných hrozieb.
Ako bolo na začiatku spomenuté, monitorovanie počítačových sietí je podmienené zberom údajov.
Táto činnosť sa označuje ako meranie charakteristík počítačových sietí a spolu s vyhodnocovaním
nameraných hodnôt tvoria najdôležitejšie súčasti monitorovania.
4 MERANIE PREVÁDZKOVÝCH CHARAKTERISTÍK
Pri meraní prevádzkových parametrov sietí sa rozlišujú tri hlavné prístupy: aktívne, pasívne
a kombinované. V súčasnosti sú najpoužívanejšie aktívne a pasívne prístupy merania. Obe poskytujú
iné typy výsledkov, pričom aj aktívne, aj pasívne meranie sa zvyčajne používa v odlišných meracích
zostavách a pre rôzne účely.
Okrem týchto prístupov, v poslednej dobe sa rozšírilo aj takzvané kombinované alebo semi-aktívne
meranie, ktoré pri zisťovanie sieťových charakteristík zlučuje kladné vlastnosti aktívneho a pasívneho
prístupu merania.
4.1 AKTÍVNE MERANIE
Aktívny prístup merania parametrov sietí je založený na schopnosti vložiť testovacie pakety (sondy)
do monitorovanej siete. Sledovaním a následným meraním týchto paketov je možné dostať operatívnu
viditeľnosť siete. Príklad aktívneho prístupu merania je uvedený na Obrázku 1. Obrázok opisuje
situáciu, keď meranie charakteristík a ich export sa vykonáva z miesta, ktoré je odlišné od
zhromaždovacieho bodu. Takáto situácia sa často vyskytuje v prípade merania charakteristík o IP
tokoch sieťovej prevádzky s dvoma a viacerými meracími/exportovacími bodmi.
V niektorých prípadoch sa testovacie pakety posielajú priamo k serverom alebo aplikáciám. Takýmto
spôsobom je možné dostať prehľad stavu služieb v sieti. Z toho je možné odvodiť nasledujúce dve
vlastnosti:


aktívne meranie si vyžaduje generovanie dodatočnej prevádzky,
prevádzka a jej parametre sú umelé.
Objem a iné charakteristiky generovanej prevádzky sú ľubovoľne prispôsobiteľné, pričom pre získanie
zmysluplných výsledkov stačí aj relatívne malý objem prevádzky. Aktívne meranie poskytuje
explicitnú kontrolu generovania paketov pre rôzne meracie scenáre. Okrem iných zahŕňa kontrolu nad
vlastnosťou generovania prevádzky, technikami vzorkovania, veľkosťou a typom paketov, trás,
Acta Informatica Pragensia
105
funkcií, atď. Jedným nežiadaným vedľajším účinkom aktívnych meraní môže byť zvýšenie záťaže
siete, ktoré môže viesť k ovplyvneniu alebo úplnému znehodnoteniu výsledkov meraní. Ďalšou
nevýhodou aktívneho merania je, že poskytuje málo informácií o danom meracom bode. Namiesto
toho ale poskytuje rôzne typy charakteristík o spojení medzi dvoma uzlami.
Obr. 1. Architektúra aktívneho prístupu merania.
Väčšinou sú to výkonnostné charakteristiky, ako napríklad:




doba obehu paketu (RTT),
priemerná stratovosť paketov,
šírka pásma spojenia,
priepustnosť paketov.
V niektorých prípadoch môžu aktívne merania poskytnúť informácie aj o časoch asymetrického
oneskorenia alebo zmien v cestách smerovania medzi uzlami. Tieto charakteristiky si ale vyžadujú
rozšírenie meracej zostavy o ďalšie podporné mechanizmy alebo dodatočnú kompenzáciu hodnôt.
4.2 PASÍVNE MERANIE
Pasívny prístup merania predstavuje taký proces, ktorý si nevyžaduje generovanie dodatočnej alebo
zmenu existujúcej prevádzky. Meraná prevádzka je teda generovaná len pripojenými používateľmi
a aplikáciami siete. Príklad pasívneho prístupu merania je uvedený na Obrázku 2. Pasívne meranie sa
spravidla vykonáva nasledujúcimi prostriedkami:


Sieťové komponenty (smerovače, prepínače, koncové zariadenia) so zabudovaným
mechanizmov zachytávania informácií o prevádzke. Takéto mechanizmy predstavujú
napríklad protokoly NetFlow [3], SNMP [1] alebo RMON [21].
Softvérové nástroje (BEEM [9], Wireshark [24], atď.) určené pre zber a spracovanie
informácií o údajoch v sietí.
106
Jakab et al.
Zhromažďovanie nameraných údajov od týchto prostriedkov sa vykonáva periodicky. Na základe
vyhodnotenia získaných informácií sa určujú charakteristiky siete (výkonnosť, stav a pod).
Výhodou pasívneho prístupu je meranie reálnej prevádzky. Ďalšou výhodou je, že na rozdiel od
aktívneho merania, proces samotného pasívneho merania nezvyšuje zaťaženie prevádzky siete.
Obr. 2. Architektúra pasívneho prístupu merania.
Keďže spomenuté dotazovanie a zhromažďovanie nameraných údajov môže priniesť isté zvýšenie
prevádzky (najmä v prípade zachytávania informácií o každom pakete), táto výhoda je len relatívna.
Riešenie predstavuje vyhradenie osobitných liniek pre merané a namerané údaje. Takýmto spôsobom
sa informácie súvisiace s pasívnym meraním nebudú miešať s reálnou prevádzkou, čo v konečnom
dôsledku vedie k neovplyvneným výsledkom merania prevádzkových parametrov. Vzhľadom na to, že
sa v niektorom prípade sleduje každý paket v sieti, pasívne meranie môže čeliť problémom týkajúcich
sa súkromia alebo bezpečnosti informácií [18, 19].
Na rozdiel od aktívneho merania, pasívne meranie poskytuje detailný súbor informácií o meracom
bode siete. Tieto informácie sú napríklad:




z akých typov údajov, služieb alebo protokolov pozostáva prevádzka (traffic mix),
intenzita paketov,
časovanie paketov,
oneskorenie paketov.
Okrem vlastností o reálnej prevádzke, pasívne meranie môže poskytnúť informácie aj o infraštruktúre
siete. Takýto typ pasívneho merania pozostáva zo zachytávania a analýzy riadiacej roviny prevádzky,
napríklad smerovača. Pasívne merania infraštruktúry umožňujú napríklad protokoly BGP [22] alebo
OSPF [14].
Acta Informatica Pragensia
107
4.3 KOMBINOVANÉ MERANIE
Meranie infraštruktúrnych alebo topologických charakteristík je často účinnejšie s kombináciou
rôznych prístupov meraní. Napríklad nevýhodou aktívneho merania je veľký počet testovacích
paketov pre zistenie už aj relatívne jednoduchých charakteristík (mapovanie jediného autonómneho
systému). Množstvo testovacích paketov je možné redukovať, napríklad, pasívnym meraním. V tomto
prípade, kombináciou aktívneho a pasívneho merania sa obmedzeniam aktívneho merania dá
jednoducho vyhnúť. Použitím pohľadov protokolu BGP (BGP views) je možné napríklad
identifikovať obmedzenú množinu adries, ktoré pravdepodobne patria do skúmaného autonómneho
systému [16].
Medzi kombinované typy meraní patria aj semi-aktívne, ktoré pre zisťovanie sieťových charakteristík
rozširuje existujúcu prevádzku o ďalšie informácie. Takýmito informáciami sú časová známka alebo
jedinečný identifikátor paketu. Jednou z nevýhod semi-aktívnych meraní je modifikácia paketov, ktorá
môže ovplyvniť výsledky meraní tým, že označené pakety môžu byť ďalej spracovávané.
Semi-aktívne merania sú náročnejšie na výkon meracieho bodu.
Kombináciou rôznych druhov meraní je možné skvalitniť priebeh a presnosť ich výsledkov.
Vo všeobecnosti pre zlúčené merania platí, že využívajú len pozitívne aspekty, ktoré v sebe zahŕňajú.
5 CHARAKTERISTIKY POČÍTAČOVÝCH SIETÍ
Počítačové siete charakterizuje veľa rôznych vlastností, ktoré je z pohľadu monitorovania sieťovej
prevádzky dôležité merať. Niektoré z týchto vlastností sa týkajú fyzických komponentov, iné samotnej
prevádzky počítačových sietí. Významnú skupinu predstavujú aj tie charakteristiky, ktoré vznikajú pri
interakcii fyzických komponentov a prevádzky. Ďalšou dôležitou vlastnosťou počítačových sietí sú
časové charakteristiky. Čas predstavuje jednu zo základných entít, ktorá má dôležitú úlohu v prípade
takmer každého úkonu súvisiaceho s monitorovaním sietí.
5.1 VLASTNOSTI FYZICKÝCH KOMPONENTOV
Prvú skupinu vlastností infraštruktúry predstavujú charakteristiky fyzických komponentov. Fyzické
komponenty tvoria základné prvky počítačových sietí, medzi ktoré okrem iných patria:



Linky – V prípade liniek medzi zaujímavé parametre na meranie patria propagačné
oneskorenie alebo kapacita liniek. Propagačné oneskorenie predstavuje potrebný čas signálu,
aby prešiel cez linku. Kapacita linky predstavuje maximálne dosiahnutú intenzitu prenášania
údajov.
Smerovače – Smerovače charakterizuje tiež niekoľko vlastností. Zo statického hľadiska
zaujímavými vlastnosťami smerovača sú IP adresy rozhraní, geologická poloha, typ
smerovača, podporované protokoly. Z dynamického hľadiska je možné, napríklad merať čas
potrebný na reakciu ICMP správy alebo čas potrebný na doručenie paketu.
Bezdrôtové zariadenia – Meranie bezdrôtových komponentov sa väčšinou zameriava na silu
signálu, intenzitu údajov, úroveň pokrytia, chybovosť alebo informácie týkajúce sa relácie
(session). V prípade kombinácií bezdrôtových a bežných zariadení, zaujímavými vlastnosťami
108
Jakab et al.
na meranie predstavujú metriky, ako napríklad kapacita linky, dostupná šírka pásma,
identifikácia úzkych profilov (bottleneck), atď.
5.2 PREVÁDZKOVÉ CHARAKTERISTIKY POČÍTAČOVÝCH SIETÍ
Dnešné počítačové siete sú schopné prenášať veľké množstvo údajov. Tieto údaje je možné považovať
za určitú kolekciu paketov alebo zbierku bajtov, prostredníctvom ktorých sa definuje prevádzka
počítačových sietí. Prevádzka sa zvyčajne vzťahuje na všetky druhy prenášaných údajov (video, hlas,
dáta, riadiace správy, atď.) za daný časový okamih, avšak v niektorom prípade sa môže obmedziť len
na určité prenosy, správy, záznamy alebo vybranú skupinu používateľov.
Častou požiadavkou pri monitorovaní sieťovej prevádzky je zachytávanie časových charakteristík.
Presnosť nameraných vlastností, akými sú, napríklad, doba obehu (RTT), oneskorenie alebo
výkonnosť sieťových zariadení značne závisia od meraní časových charakteristík. Kedže jednotlivé
sieťové zariadenia sú od seba po sieti často rozptýlené do značnej vzdialenosti, získavanie presných
informácií o čase môže byť náročnou úlohou. Najviac problémov sa týka presnosti hodín, na základe
ktorých sa časové charakteristiky určujú [7]. Paradoxne, pripúšťajúc existenciu presných hodín,
vzdialenosť medzi zariadeniami môže spôsobiť také komunikačné oneskorenie, ktoré môže mať
negatívny vplyv na výsledky meraní časových charakteristík.
Nakoľko výsledky sledovaných charakteristík môžu mať presnosť z výrazne odlišných časových
rozsahov, metódy merania a analýzy sa môžu značne líšiť. Napríklad pre výkonnostnú analýzu
zvyčajná presnosť je od zopár mikrosekúnd do desiatok minút a pre sieťové inžinierstvo od niekoľko
minút do niekoľko mesiacov. Za predpokladu, že každé meranie charakterizuje čas začatia
a ukončenia, teda časový rozsah, všeobecne platí, že merania v malých časových rozsahoch, t.j.
v nano-sekundových presnostiach sú oveľa náročnejšie ako merania vo väčších časových intervaloch,
t.j. v sekundových alebo minútových presnostiach.
5.2.1
PAKETY
Ako bolo vyššie uvedené, prevádzka sa zvyčajne definuje (na úrovni protokolu IP) ako zbierka
paketov za určitý časový okamih. Na spojeniach počítačových sietí nepodporujúcich pakety (napríklad
tradičné dvojbodové (Point-to-Point) telekomunikačné linky) je možné prevádzku považovať za
kolekciu bajtov, znakov alebo bitov. Z toho dôvodu sa pri reprezentácii sledovanej sieťovej prevádzky
najčastejšie využívajú vlastnosti práve týchto dvoch základných prvkov.
Najjednoduchšia metóda reprezentácie nameranej prevádzky predstavuje jej sumarizáciu na základe
nejakej vlastnosti alebo charakteristiky. Jeden spôsob sumarizácie obdržanej prevádzky predstavujú
stochastické modely [4, 23]. Ak uvažujeme len tie časy, keď paket prišiel na pozorovací bod,
t.j.
, 0, 1, . . . , potom výsledný súbor takýchto časov môže byť vyjadrený ako model
príchodového procesu (arrival process). V takomto prípade sumarizácia príchodového procesu
pozostáva z charakteristiky rozdelenia intervalov, t.j. distribučné vlastnosti súboru
, 1, 2, . . . ,
kde
≡ . Príklad takého modelu je uvedený na Obrázku 3, kde -ová os predstavuje
príchody jednotlivých paketov ( ) a -ová os reprezentuje veľkosť týchto paketov v čase (
).
Acta Informatica Pragensia
5.2.2
109
TOKY
Presná identifikácia dátových položiek aplikačnej vrstvy [17] je bez analýzy obsahu paketov často
nemožná. Navyše, pre účtovanie, modelovanie alebo sumarizáciu je zhromaždenie každého paketu
súvisiaceho s výmenou údajov medzi dvomi koncovými bodmi do jednej entity oveľa dôležitejšie ako
identifikácia týchto dátových položiek. Pojem tok sa používa na vyjadrenie tejto podstaty. IP tok je
podľa štandardu IPFIX [12, 26] definovaný ako množina IP paketov prechádzajúcich pozorovacím
bodom v sieti počas určitého časového intervalu. Všetky pakety patriace do daného toku majú
spoločné vlastnosti.
Obr. 3. Príchod paketov.
Každá vlastnosť je definovaná ako výsledok funkcie aplikovanej na niektorú z častí paketu. Takýmito
časťami môžu byť:



jedna alebo viac položiek hlavičky paketu (napríklad cieľová IP adresa), hlavičky
transportného protokolu (napríklad cieľový port) alebo položky hlavičky aplikačného
protokolu (napríklad položky hlavičky RTP).
jedna alebo viac charakteristík samotného paketu (napríklad počet MPLS návestí).
jedno alebo viac polí odvodených zo spracúvania paketu (IP adresa nasledujúceho smerovača,
výstupné sieťové rozhranie).
Paket patrí do toku, ak spĺňa všetky podmienky definované vlastnosťami. IP toky je možné
aj agregovať. Agregácia je možná na základe portu, protokolu, adresy, alebo ich kombinácie.
110
Jakab et al.
5.3 CHARAKTERISTIKY VYPLÝVAJÚCE Z INTERAKCIE
INFRAŠTRUKTÚRY A PREVÁDZKY SIETE
Existuje veľa vlastností prevádzky, ktoré sú ovplyvnené stavom siete. Tieto vlastnosti môžu byť
chápané ako výsledok interakcie medzi prevádzkou a infraštruktúrou siete. Charakteristiky
vyplývajúce z tejto interakcie sa často označujú aj ako parametre súvisiace s kvalitou služieb (QoS)
[10]. Najvýznamnejšie parametre kvality služieb sú opísané v Tabuľke 1.
Názov charakteristiky
Opis
Šírka pásma (bandwidth)
Používa sa pre vyjadrenie množstva údajov,
ktoré môžu byť prenesené za jednotku času.
Stratovosť (packet loss)
Množstvo nedoručených alebo poškodených
paketov.
Jednosmerné oneskorenie (one-way delay)
Absolútna hodnota rozdielu času odoslania
paketu v jednom bode a času prijatia tohto
paketu v inom bode.
Kolísanie oneskorenia (jitter)
Je miera plynulosti procesu príchodu paketu,
ktorú je možné vyjadriť ako kolísavosť
medzičasov príchodu paketu.
Spiatočné oneskorenie (round-trip time)
Čas potrebný na odoslanie paketu od zdroja
k cieľu, jeho prijatie v cieli, okamžité spätné
odoslanie paketu z cieľa a jeho prijatie naspäť
v zdroji.
Priepustnosť (throughput)
Sa vzťahuje na mieru, ktorou je prevádzka
schopná reálne ‘tiecť’ cez sieť. Hranica
priepustnosti je všeobecne daná kombináciou
kapacitných hraníc sieťových komponentov
a nepriechodnosti zapríčineného prevádzkou.
Tab. 1. Najvýznamnejšie charakteristiky vyplývajúce z interakcie interakcie a prevádzky siete.
6 OTVORENÉ PROBLÉMY
SIEŤOVEJ PREVÁDZKY
TÝKAJÚCE
SA
MONITOROVANIA
Jednotlivé úkony súvisiace s monitorovaním a vyhodnocovaním nameraných hodnôt obklopuje veľa
problémov. Niektoré sú z nich na logickej, iné na fyzickej alebo abstraktnej úrovni. Častým
Acta Informatica Pragensia
111
problémom je napríklad určenie tých bodov siete, v ktorých môžu byť merania uskutočnené [4]. Ďalší
problém predstavuje pojem času, ktorý má silný vplyv na presnosť výsledkov meraní [4, 25].
Primeraná časť týchto problémov bola za posledné desaťročie úspešne vyriešená. Vytvorili sa rôzne
techniky, metódy a nástroje pre zachytávanie a vyhodnocovanie vlastností dnešných konvergovaných
sietí. Niektoré problémy ale ostávajú naďalej otvorené.
6.1 PRISPÔSOBENIE INFRAŠTRUKTÚRY A ZARIADENÍ
Zhromažďovanie údajov na rôznych úrovniach si často vyžaduje zmeny v infraštruktúre. Je to kvôli
tomu, že pri plánovaní nie sú zohľadnené spôsoby a možnosti vykonania meraní, ale sú len
dodatočnou myšlienkou. Najväčší problém to spôsobuje v nižších úrovniach, kde je zvyčajne málo
možností na vykonanie meraní.
Vyššie, na úrovni paketov, pre zvládnutie väčšieho objemu údajov je často potrebné rozšíriť siete
o podporu špecifických zariadení. Zabezpečenie nezávislosti zhromažďovania paketov od základných
funkcionalít smerovača si môže napríklad vyžadovať pridanie sieťových odbočovačov (taps) alebo
rôznych zariadení pre pasívne monitorovanie a zrkadlenie paketov. Pre udržanie kroku s prudkým
rastom rýchlosti prevádzky je potrebné aj výraznejšie prispôsobenie na úrovni hardvéru (napríklad
pridanie rýchlejších sieťových kariet). Špeciálne karty sú ale často vyrábané len pre určitú generáciu
alebo rodinu sieťových komponentov, čo niekedy môže značne obmedziť možnosti aktualizácie
hardvérových prostriedkov a kapacít.
6.2 SYMBOLICKÝ CHARAKTER NAMERANÝCH DÁT
Medzi najdiskutovanejšie problémy pri monitorovaní v rozľahlých sieťach patrí zabezpečenie
reprezentatívnosti (symbolického charakteru) nameraných entít. Možne riešenie predstavuje posielanie
a následné sledovanie testovacích správ (sond) prostredníctvom rôznych ciest k veľkému počtu entít
– teda aktívne meranie. Entity v takomto prípade môžu byť:




zákazníci, od ktorých sú namerané údaje obdržané,
trasy, cez ktoré sú údaje prenášané,
webové stránky,
alebo špecifický typ peer-to-peer zdroja pozostávajúceho z rôznych uzlov.
Ďalší problém, ktorý súvisí s reprezentatívnosťou údajov je, že merania v rozsiahlych sieťach nad
veľkým počtom uzlov a webových stránok bez samotného prístupu k infraštruktúre je priam nemožné
vykonať. Tieto ťažkosti niekedy prehlbuje aj častá neochota zo strany sieťových administrátorov, ktorí
z bezpečnostných alebo konkurenčných dôvodov odmietajú prístup alebo monitorovanie údajov.
Rastúci počet webových klientov, vrátane používaných prehliadačov a aplikácií, zvyšuje potrebu
definovania symbolického charakteru kolekcie údajov.
6.3 OBJEM ÚDAJOV
Častým problémom pri zhromažďovaní údajov na smerovačoch alebo iných entitách infraštruktúry
(napríklad linky) je určenie objemu sledovaných údajov. Hlavnou úlohou sieťových entít je
112
Jakab et al.
zabezpečenie plynulého a rýchleho prenosu dát. V prípade dnešných konvergovaných sietí to znamená
obrovský objem údajov.
Nasadenie monitorovania prevádzky môže v niektorých prípadoch namiesto zvýšenia kvality alebo
spravovateľnosti týchto sietí vyvolať opačný účinok, t.j. zaťaženie entít alebo prevádzky. Ak sú
napríklad jednotlivé sieťové zariadenia ovplyvnené riadiacimi správami a nameranými dátami
vymieňanými medzi monitorovacím systémom a meracími bodmi, môže ľahko dôjsť k zníženiu
výkonnosti sieťových prenosov, oneskoreniu alebo dokonca aj k strate údajov. V závislosti od
protokolu vyššej úrovne (TCP/UDP), strata údajov môže, ale nemusí byť ošetrená. V takomto prípade
monitorovanie stratí na svojich výhodách a v istých prípadoch sa stáva ’nežiadúce’. Z dôvodu
zvládnutia čoraz náročnejších požiadavok vysoko-rýchlostných liniek musia byť monitorovacie
mechanizmy pravidelne optimalizované.
6.4 ASYMETRIA KAPACITY SYSTÉMOVÝCH PROSTRIEDKOV
Ďalší problém predstavuje asymetria kapacity systémových prostriedkov medzi meracím
(monitorovacím) systémom a sieťou, ktorá sa meria (monitoruje) [11]. Aj keď sa meria len malá časť
prevádzky, sieť stále obsahuje oveľa viac zariadení ako monitorovací systém. Výsledkom je
neporovnateľný rozdiel medzi výpočtovými kapacitami. Navyše, zachytávanie a uloženie informácií
o prevádzke pre neskoršiu analýzu ďalej obmedzujú parametre, akými sú šírka prenosu, rýchlosť
a kapacita pamätí, diskových polí.
Keďže v niektorých prípadoch môžu vzniknúť aj neprerušované toky prevádzky, pre zabezpečenie
bežných úloh, akými je určenie trás alebo filtrovanie, je ťažké odhadnúť nároky sieťových kariet
smerovačov [4]. Ak smerovač musí vyčleniť pre merania nejakú pevnú čiastku použiteľných
systémových prostriedkov, väčšinou to spraví na úkor iných funkcionalít (napríklad obmedzením
schopnosti zvládnutia náhlych zmien v prevádzke). V prípade, ak aj existuje hardvér schopný
sledovania primeraných častí tokov prevádzky, zhromažďovanie jednoduchších metrík ako počty
(counts) môže spotrebovať výraznú časť dostupných systémových prostriedkov. Táto asymetria si
vyžaduje budovanie efektívnych techník a prístupov monitorovania sieťovej prevádzky.
6.5 VYTVÁRANIE A EXPORT ZÁZNAMOV O TOKOCH PREVÁDZKY
Smerovače sa okrem zachytávania paketov často zúčastňujú aj vo vytváraní agregovaných informácií
o tokoch prevádzky. Agregácia je zabezpečená vytvorením záznamov o tokoch, ktoré pozostávajú
z informácií o kľúčových charakteristikách sieťovej prevádzky. Tieto záznamy sú pravidelne
exportované pre rôzne účely, ako monitorovanie prevádzkových charakteristík, účtovanie alebo správa
sietí [3, 25, 26]. Smerovače od spoločnosti Cisco sú schopné, prostredníctvom vlastného protokolu
Netflow [3], vytvárania takýchto záznamov o tokoch, ktoré obsahujú dôležité štatistiky o prevádzke
sietí. Najpoužívanejšími položkami týchto záznamov sú zdrojové a cieľové IP adresy/porty, protokol,
čas začiatku a konca toku, typ služby (ToS) alebo autonómny systém (AS). Netflow záznam sa
vytvára:


po uplynutí ľubovoľne nastaviteľného času nečinnosti koncových bodov (passive timeout),
ak jedna strana ukončí spojenie,
Acta Informatica Pragensia


113
po prekročení ľubovoľne nastaviteľného času, pričom koncové body sú ešte stále aktívne
(active timeout),
ak smerovač potrebuje vyprázdniť svoj zásobník.
Napriek tomu, že záznamy o tokoch predstavujú efektívnu formu agregovaných meta-informácií,
jednoduché sledovanie veľkého počtu tokov a následné generovanie záznamov môžu značne zaťažiť
smerovač [4]. Obmedzenia pamäte a výpočtových funkcionalít v kombinácii s hlavnou úlohou
smerovača (smerovanie paketov) viedli k rôznym sofistikovaným metódam na redukciu množstva
spracovaných dát, akým sú napríklad vzorkovanie alebo sumarizácia paketov.
Podobne ako smerovače, nástroje pre zhromažďovanie záznamov o tokoch (flow collector) — ktoré sú
často nejakou externou softvérovou alebo hardvérovou súčiastkou merania — môžu mať svoju vlastnú
šírku pásma, veľkosť pamäte alebo výpočtovú kapacitu. Z toho vyplýva, že bez ich optimalizácie
môže dojsť k zahodeniu alebo strate dát [20].
6.6 MIERA CHYBOVOSTI MONITOROVACÍCH NÁSTROJOV
Väčšina súčasných monitorovacích mechanizmov pri analýze nameraných hodnôt zohľadňuje len
jednu charakteristiku tokov prevádzky [15]. Ak vyhodnotená hodnota tejto charakteristiky sa kolíše
okolo preddefinovanej hranice, z dôvodu potencionálnej hrozby môže dojsť k nesprávnym úsudkom
monitorovacieho systému. Takýto prípad môže nastať, ak prípustná hodnota šírky pásma sa kolíše
okolo štandardnej hodnoty, v dôsledku čoho monitorovací systém môže obmedziť isté funkcionality
alebo hlásiť priveľa upozornení aj v prípade, ak sa v skutočnosti nejedná o žiadnu hrozbu alebo
problém. V takomto prípade môže byť presnosť a kvalita monitorovacích mechanizmov spochybnená
[15]. Výrazný vplyv na chybovosť merania má metodika vykonávania samotného merania, kde
merací-exportovací proces nesmie ovplyvniť smerovacie procesy v danej topológii, čím by vnášal
skreslenie do výsledného hodnotenia parametrov prevádzky. Množstvo monitorovacích systémov, ako
je to aj v prípade projektu Basic Meter [9] pracuje so zrkadlenou prevádzkou z danej infraštruktúry, čo
si vyžaduje prítomnosť prvkov siete umožňujúcich toto zrkadlenie.
6.7 VYHODNOCOVANIE ÚDAJOV V REÁLNOM ČASE
Schopnosť spracovania primeranej časti dát v reálnom čase predstavuje tiež zložitú úlohu [8].
Ukladanie údajov, napríklad v databáze, z pohľadu reálno-časového vyhodnocovania dát je absolútne
vylúčené [20]. Pričasté posielanie záznamov o tokoch ale môže často spôsobiť zníženie výkonnosti
sieťových prenosov, oneskorenie alebo dokonca aj stratu údajov. Z tohto dôvodu, výmena dát medzi
monitorovacím systémom a meracím(mi) bodom(mi) sa bežne vykonáva po väčších časových
úsekoch. Takýmto spôsobom je síce možné zredukovať nežiadané zaťažovanie sieťovej prevádzky,
vyhodnocovanie údajov v reálnom čase sa ale stáva nemožnou. Z toho dôvodu je potrebné určiť
správny pomer medzi intervalmi exportu záznamov o tokoch a efektívnym využitím dostupných
prostriedkov. V prípade často sa meniacej charakteristiky dnešných sietí je to ale bez
automatizovaných procesov priam nemožné.
114
Jakab et al.
7 OVERENIE IDENTIFIKOVANÝCH OTVORENÝCH PROBLÉMOV
Na overenie vybraných problémov, vyskytujúcich sa pri monitorovaní sieťovej prevádzky, bola
realizovaná skupina experimentov. Experimenty sa zameriavali:


na odhad priemerného objemu dát, ktoré sa pri monitorovaní musia spracovať,
určenie priemerného vyťaženia systémových prostriedkov, ktoré v sebe
monitorovanie.
prináša
Cieľom experimentov bolo potvrdenie domnienky, že s rastúcimi parametrami sieťovej infraštruktúry
(čo sa týka priepustnosti a počtu klientov) narastú aj požiadavky kladené na monitorovaciu
a vyhodnocovaciu platformu. Pri overení tejto domnienky bola využitá monitorovacia platforma
BasicMeter (BM) [9], ktorá bola nasadená v prostredí podľa Obrázku 4. Export dátových tokov
prebiehal na základe IPFIX protokolu prostredníctvom BM Exportéra, ktorý prijímal prevádzku
generovanú v sieťovej topológii prostredníctvom zrkadleného portu v topológii.
Na zistenie priemerného objemu dát, ktorý je potrebné pri monitorovaní spracovať a približné
vyťaženie systémových prostriedkov, boli realizované merania v dvoch existujúcich sieťach. Každá
z nich mala rôzne množstvo pripojených koncových zariadení a rýchlosť liniek.
Experimenty boli realizované opakovane. Zo získaných výsledkov boli určené priemerné hodnoty
objemu dát za 1 hodinu. Pri meraniach sa sledovalo aj priemerné vyťaženie smerovača (Cisco 2811,
IOS 12.4T), ktorý sa okrem štandardných smerovacích úloh prostredníctvom protokolu Netflow [3]
podieľal aj na vytváraní a exporte záznamov o tokoch prevádzky. Výsledky sú zhrnuté v Tabuľke 2.
Obr. 4. Meracia topológia.
Acta Informatica Pragensia
Sieť 1
Sieť 2
Počet koncových zariadení
11
442
Rýchlosť rozhrania linky
100 Mb/s
1 000 Mb/s
Objem prenesených údajov
210 MB
10 075 MB
Počet prenesených paketov
318 263
16 996 596
Priemerné využitie CPU s vypnutým Netflow
3%
31 %
Priemerné využitie CPU so zapnutým Netflow
6%
48 %
115
Tab. 2. Výsledky experimentov meraní.
Z výsledkov vyplýva, že síce ani jedno z monitorovaní sietí nevyťažovalo linku a systémové
prostriedky na maximum ich výkonnosti, napriek tomu je možné konštatovať, že sieťou bolo
prenesené relatívne veľké množstvo údajov. Navyše, so zvyšovaním rýchlosti liniek, by požiadavky na
systémové prostriedky úmerne rástli. Napríklad pri monitorovaní prevádzky s rýchlosťou liniek 1 Gb/s
by bolo potrebné počas jedného dňa spracovať a vyhodnotiť približne 112 TB údajov. V súčasnosti ale
existujú aj oveľa rýchlejšie spôsoby prenosu dát [13].
Je možné teda konštatovať, že problémy týkajúce sa veľkého objemu dát, ktoré je potrebné počas
monitorovania spracovať a z toho vyplývajúce vyťaženie systémových prostriedkov sú aktuálne.
8 ADAPTÍVNY EXPORT
PREVÁDZKY
INFORMÁCIÍ
O
TOKOCH
SIEŤOVEJ
Pod pojmom optimalizácia monitorovania sieťovej prevádzky sa rozumie návrh a implementácia
takých mechanizmov a metód, ktoré sú adresované na vyriešenie ich nedostatkov. Vzhľadom na
otvorené problémy uvedené v predošlých kapitolách a výsledky experimentov sa má optimalizácia
monitorovania sieťovej prevádzky hlavne zameriavať na:




minimalizáciu celkového preťaženia siete spôsobeného ich monitorovaním,
zvýšenie efektivity využívania a minimalizáciu zaťaženia systémových prostriedkov
monitorovacími mechanizmami,
zvýšenie presnosti vyhodnocovacích mechanizmov,
a maximalizáciu schopnosti vyhodnocovania dát v reálnom čase.
Dosiahnutie týchto cieľov je možné prostredníctvom adaptívneho exportu informácií o tokoch sieťovej
prevádzky, na ktorý v súčasnosti neexistuje žiadna referencia v odbornej a ani vedecko-výskumnej
sfére.
116
Jakab et al.
Využitie systémových prostriedkov monitorovacími mechanizmami je v dôsledku meniaceho sa
charakteru sieťovej prevádzky často neefektívne. Výrazným nedostatkom existujúcich riešení je
absencia adaptívnych exportovacích metód, ktoré by zohľadňovali stav a vlastnosti sieťovej
prevádzky. Konceptuálny návrh adaptívneho exportu informácií o tokoch sieťovej prevádzky
predstavuje:



Prispôsobením určitých parameterov exportu informácií o tokoch k aktuálnemu stavu sieťovej
prevádzky je možné značne prispieť k vyriešeniu vyššie uvedených cieľov optimalizácie.
Takéto vlastnosti predstavujú napríklad objem dát, z ktorých sa vytvárajú záznamy o tokoch
alebo ich čas exportu.
Pri adaptívnom exporte je potrebné stanoviť aj správny pomer medzi intervalmi exportu
a efektívnym využitím dostupných sieťových a systémových prostriedkov. Intervaly exportu
sú dôležité z dôvodu monitorovania sieťovej prevádzky v reálnom čase, ktoré uprednostňujú
čo najmenší časový úsek.
Pre dosiahnutie efektívneho vyhodnotenia dát sa použije viacdimenzionálna analýza rôznych
charakteristík sieťovej prevádzky. Pri takejto analýze, sa namiesto jedinej charakteristiky pri
vyhodnotení aktuálneho stavu sieťovej prevádzky zohľadní viac parametrov. Prostredníctvom
tejto metódy je možné výrazne zredukovať počet nesprávnych úsudkov monitorovacieho
systému, akým je napríklad signalizácia chýb aj v prípade, keď sa v skutočnosti nejedná
o žiadnu hrozbu alebo problém.
V prípade dvoch parametrov, určenie správneho pomeru by mohol byť uskutočnený pomocou
karteziánskej súradnicovej sústavy, kde x-ová os bude predstavovať maximálny objem
prevádzky a y-ová os interval exportu záznamov o tokoch. Príklad takejto sústavy je uvedený
na Obrázku 5.
Každý analyzovaný parameter by bol priradený k jednej osi, nad ktorou by sa vykonávala
zvolená matematicko-štatistická metóda (napríklad štatistické rozdelenie, vzdialenosť od
preddefinovanej hodnoty alebo súboru hodnôt, atď.). Viacdimenzionálna analýza by sa
dosiahla súčasným vykonaním analýz nad týmito parametrami.
Acta Informatica Pragensia
117
Obr. 5. Určenie správneho pomeru parametrov adaptívneho exportu.


Kľúčovým faktorom je teda definícia parametrov, ktoré budú jednou zo vstupných hodnôt
metódy adaptívneho exportu. Táto úloha si vyžaduje realizáciu experimentov, ktoré by mali
jednoznačne určiť charakteristiky prevádzky sietí, ktorých zmena výrazne ovplyvní výkonnosť
siete a efektivitu využívania systémových prostriedkov monitorovacími systémami.
Výsledkom má byť dosiahnutie vyššie uvedených cieľov optimalizácie.
Umiestnenie modulu adaptívneho exportu sa navrhuje medzi meracím a exportovacím procesom (viď.
Obrázok 6.) meracieho nástroja BasicMeter [9]. Takto sa dosiahne efektívne vyhodnotenie vyššie
spomenutých vstupných parametrov, na základe ktorých bude export informácií o tokoch sieťovej
prevádzky prispôsobený. Významnú úlohu okrem modulu pre adaptívny export informácií o tokoch
prevádzky budú mať aj ďalšie dva procesy:


Merací proces bude slúžiť na odchytávanie prevádzky a zaraďovanie jednotlivých paketov do
tokov na základe prednastaveného kľúča toku. Tieto toky budú ukladané do zásobníka tokov.
Pre odchytávanie paketov sa použije knižnica libpcap. Tento proces bude zároveň poskytovať
informácie na základe ktorých sa určia vstupné parametre adaptívneho exportu.
Exportovací proces na základe výstupov z modulu pre adaptívny export bude odosielať
zhromažďovaciemu procesu informácie o tokoch s použitím protokolu IPFIX. Tieto údaje
bude získavať zo zásobníka.
Pre dosiahnutie optimalizácie monitorovania sieťovej prevádzky sa v súčasnosti vyžadujú minimálne
dva parametre:
1. Interval pre expiráciu záznamov o tokoch v závislosti od charakteru sieťovej prevádzky
v prípade vyhodnotenia dát v reálnom čase.
2. Maximálny objem spracovanej prevádzky, ktorý neprináša žiadne alebo len akceptovateľné
zaťaženie systémových a sieťových prostriedkov.
118
Jakab et al.
Rozšírenie týchto parametrov o ďalšie faktory sa v budúcnosti nevylučuje.
Obr. 6. Architektúra adaptívneho exportu.
9 ZÁVER
Dôležitým aspektom budovania, spravovania a optimalizácie rozsiahlych a komplexných počítačových
sietí predstavuje meranie ich záťaže a správania sa. Nenahraditeľný prostriedok pre vykonanie tejto
úlohy predstavuje monitorovanie sieťovej prevádzky. Pomocou monitorovania rôznych
prevádzkových vlastností je možné zabezpečiť plynulú funkčnosť aplikácií, ako napríklad hlas cez
internet (VoIP) alebo video na požiadanie (VoD). Okrem zabezpečenia funkčnosti multimediálnych
aplikácií umožňuje aj odhalenie vnútorných a vonkajších útokov, dominantných zdrojov prevádzky
alebo sledovanie, kto s kým komunikoval, ako dlho, pomocou ktorého protokolu. Taktiež umožňuje
poskytovateľom internetových služieb (ISP) zabezpečiť splnenie podmienok uvedených v zmluve
o dohodnutej úrovni poskytovania služby (SLA) a efektívnejšie plánovať budúci rozvoj siete.
Jednotlivé úkony súvisiace s monitorovaním a vyhodnocovaním nameraných hodnôt obklopuje veľa
problémov. Primeraná časť týchto problémov bola za posledné desaťročie úspešne vyriešená.
Vytvorili sa rôzne techniky, metódy a nástroje pre zachytávanie a vyhodnocovanie vlastností dnešných
konvergovaných sietí. Niektoré problémy ale ostávajú naďalej otvorené.
Tento príspevok podáva stručný prehľad o problematike monitorovania sieťovej prevádzky. Uvádza
vlastnosti sietí, ktoré sa pri ich monitorovaní a meraní najčastejšie sledujú, ako aj rôzne prístupy
určovania charakteristík sieťovej prevádzky. Definuje otvorené problémy, ktoré sa pri monitorovaní
vyskytujú, pričom jeho výstupom je konceptuálny návrh adaptívneho exportu informácií o tokoch,
ktorá je adresovaná na optimalizáciu monitorovania sieťovej prevádzky.
Acta Informatica Pragensia
119
POĎAKOVANIE
Tento príspevok vznikol vďaka podpore v rámci operačného programu Výskum a vývoj, pre projekt:
Kompetenčné centrum znalostných technológií pre inovácie produkčných systémov v priemysle
a službách, kód ITMS: 26220220155, spolufinancovaný zo zdrojov Európskeho fondu regionálneho
rozvoja.
10 ZOZNAM POUŽITÝCH ZDROJOV
[1]
CASE, J.D., M. FEDOR, M.L. SCHOFFSTALL a J. DAVIN. INTERNET ENGINEERING
TASK FORCE (IETF). Simple Network Management Protocol (SNMP): Request for
Comments (RFC 1157). 1990. Dostupné z: http://www.ietf.org/rfc/rfc1157.txt
[2]
CHOFFNES, D. R., F. E. BUSTAMANTE a Z. GE. Crowdsourcing service-level network
event monitoring. Proceedings of the ACM SIGCOMM 2010 conference on SIGCOMM SIGCOMM '10. New York, New York, USA: ACM Press, 2010, roč. 40, č. 4, s. 387-398.
DOI: 10.1145/1851182.1851228.
[3]
CLAISE, B. INTERNET ENGINEERING TASK FORCE (IETF). Cisco Systems NetFlow
Services Export Version 9: Request for Comments (RFC 3954). 2004. Dostupné z:
http://www.ietf.org/rfc/rfc3954.txt
[4]
CROVELLA, M. a B. KRISHNAMURTHY. Internet measurement: infrastructure, traffic,
and applications. Hoboken, NJ: Wiley, 2006, xxii, 495 p. ISBN 978-047-0014-615.
[5]
FLOYD, S. a V. PAXSON. Difficulties in simulating the Internet. IEEE/ACM Transactions on
Networking. 2001, vol. 9, issue 4, s. 392-403. DOI: 10.1109/90.944338. Dostupné z:
http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=944338
[6]
GARCIA-DORADO, J., J. HERNANDEZ, J. ARACIL, J. LOPEZ DE VERGARA, F.
MONSERRAT, E. ROBLES a T. DE MIGUEL. On the duration and spatial characteristics of
internet traffic measurement experiments. IEEE Communications Magazine. 2008, vol. 46,
issue 11, s. 148-155. DOI: 10.1109/MCOM.2008.4689258.
[7]
GIERTL, J., Ľ. HUSIVARGA, M. RÉVÉS, A. PEKÁR a P. FECIĽAK. Measurement of
Network Traffic Time Parameters. In: Proceedings of the Eleventh International Conference
on Informatics (INFORMATICS). Košice: TUKE, 2011, s. 33-37. ISBN 978-80-89284-94-8.
DOI: 978-80-89284-94-8.
[8]
JAKAB, F., R. JAKAB, Ľ. KOŠČO a J. GIERTL. Communication Protocol in Computer
Network Performance Parameters Measurement. In: 4th International Information and
Telecommunication Technologies Symposium (I2TS). Florianopolis, Santa Catarian Island,
Brazil: Federal University of Santa Catarina, 2005, s. 161-162. ISBN 858926405X.
[9]
JAKAB, F., Ľ. KOŠČO, M. POTOCKÝ a J. GIERTL. Contribution to QoS Parameters
Measurement: The BasicMeter Project. In: International Conference on Emerging eLearning
Technologies and Applications (ICETA). Košice, Slovakia: elfa, s.r.o., 2005, s. 371-377. ISBN
8080860166.
120
Jakab et al.
[10]
LEE, H.J., M.S. KIM, J.W. HONG a G.H. LEE. QoS Parameters to Network Performance
Metrics Mapping for SLA Monitoring. In: Proceedings of the Korean Network Operations
and Management (KNOM). Korea: Korea University, 2002, s. 42-53.
[11]
PANG, R. Towards Understanding Application Semantics of Network Traffic. Princetown,
USA, 2008. Dizertačná práca. Princetown University.
[12]
QUITTEK, J., T. ZSEBY, B. CLAISE a S. ZANDER. INTERNET ENGINEERING TASK
FORCE (IETF). Requirements for IP Flow Information Export (IPFIX): Request for
Comments (RFC 3917). 2004. Dostupné z: http://www.ietf.org/rfc/rfc3917.txt
[13]
SCHLEPPLE, N., M. NISHIGAKI, H. UEMURA, K. OBARA, H. FURUYAMA, Y.
SUGIZAKI, H. SHIBATA a Y. KOIKE. 4x10 Gb/s High-Speed Link Over Thin GI 50/125
Plastic Optical Fibers and Compact Optical Sub-Assembly. IEEE Photonics Technology
Letters. 2012, vol. 24, issue 19, s. 1670-1672. DOI: 10.1109/LPT.2012.2209636.
[14]
SHAIKH, A., C. ISETT, A. GREENBERG, M. ROUGHAN a J. GOTTLIEB. A case study of
OSPF behavior in a large enterprise network. In: Proceedings of the 2nd ACM SIGCOMM
Workshop on Internet Measurment. New York, NY, USA: ACM, 2002, s. 217-230. DOI:
10.1145/637201.637236.
[15]
SHIMOKAWA, I. a T. TARUI. Network Monitoring Method Based on Self-learning and
Multi-dimensional Analysis. In: The Second International Conference on Advances in
Information Mining and Management (IMMM). Venice, Italy: IARIA, 2012, s. 47-53. ISBN
978-1-61208-227-1. Dostupné z:
http://www.thinkmind.org/download.php?articleid=immm_2012_3_10_20025
[16]
SPRING, N., R. MAHAJAN, D. WETHERALL a T. ANDERSON. Measuring ISP
Topologies With Rocketfuel. IEEE/ACM Transactions on Networking. 2004, vol. 12, issue 1,
s. 2-16. DOI: 10.1109/TNET.2003.822655.
[17]
TANENBAUM, A. S. a D. WETHERALL. Computer networks. 5th ed. Boston: Pearson,
2011, 951 s. International edition. ISBN 978-013-2553-179.
[18]
VOKOROKOS, L., N. ÁDÁM a A. BALÁŽ. Application of intrusion detection systems in
distributed computer systems and dynamic networks. In: Computer Science and Technology
Research Survey (CST). Košice, Slovakia: elfa, s.r.o., 2008, s. 19-24. ISBN 9788080861001.
[19]
VOKOROKOS, L., A. KLEINOVÁ a O. LÁTKA. Network Security on the Intrusion
Detection System Level. In: Proceedings of the IEEE International Conference on Intelligent
Engineering Systems (INES). Budapest, Hungary: Óbuda University, 2006, s. 270-275. DOI:
10.1109/INES.2006.1689382.
[20]
VOKOROKOS, L., A. PEKÁR a N. ÁDÁM. Data preprocessing for efficient evaluation of
network traffic parameters. In: Proceedings of the IEEE 16th International Conference on
Intelligent Engineering Systems (INES). Budapest, Hungary: Óbuda University, 2012, s. 363367. DOI: 10.1109/INES.2012.6249860.
[21]
WALDBUSSER, S., R. COLE, C. KALBFLEISCH a D. ROMASCANU. INTERNET
ENGINEERING TASK FORCE (IETF). Introduction to the Remote Monitoring (RMON)
Family of MIB Modules: Request for Comments (RFC 3577). 2003. Dostupné z:
http://www.ietf.org/rfc/rfc3577.txt
Acta Informatica Pragensia
121
[22]
WANG, L., X. ZHAO, D. PEI, R. BUSH, D. MASSEY, A. MANKIN, S. F. WU a L.
ZHANG. Observation and analysis of BGP behavior under stress. In: Proceedings of the 2nd
ACM SIGCOMM Workshop on Internet measurment (IMW). New York, NY, USA: ACM,
2002, s. 183-195. DOI: 10.1145/637201.637231.
[23]
WIMMER, G., R. PALENČÁR a V. WITKOVSKÝ. Stochastické modely merania.
Bratislava: Grafické štúdio Ing. Peter Juriga, 2001, 115 s. ISBN 80-968-4492-X.
[24]
Wireshark: Network protocol analyzer. Wireshark [online]. 2013 [cit. 2013-06-23]. Dostupné
z: http://www.wireshark.org/
[25]
WOLF, T., R. RAMASWAMY, S. BUNGA a Ning YANG. An Architecture for Distributed
Real-Time Passive Network Measurement. In: 14th IEEE International Symposium on
Modeling, Analysis, and Simulation of Computer and Telecommunication Systems
(MASCOTS). Washington, DC, USA: IEEE Computer Society, 2006, 335 - 344. DOI:
10.1109/MASCOTS.2006.11.
[26]
ZSEBY, T., BOSCHI, N. BROWNLEE a B. CLAISE. INTERNET ENGINEERING TASK
FORCE (IETF). IP Flow Information Export (IPFIX) Applicability: Request for Comments
(RFC 5472). 2009. Dostupné z: http://www.ietf.org/rfc/rfc5472.txt
Acta Informatica Pragensia
2(1), 2013, 122–124, ISSN 1805-4951
Online: aip.vse.cz
Sekce / Section:
Knižní recenze / Book reviews
Sociální inženýrství aneb umění klamu
Tomáš Klíma1
1
Katedra systémové analýzy, Fakulta informatiky a statistiky,
Vysoká škola ekonomická v Praze
nám. W. Churchilla 4, 130 67 Praha 3
[email protected]
Abstrakt: Recenze knihy Umění klamu od Kevina Mitnicka, která nám
představuje sociální inženýrství jakožto nástroj, který je v současnosti
plnohodnotným doplňkem k technicky založeným prostředkům v arzenálu
narušitelů informační bezpečnosti. Na rozdíl od nich však netrpí tak rychlým
zastaráváním, proto je pohled na jeho základy od jednoho z nejproslulejších
hackerů stále aktuální a má informační hodnotu nejen pro řešitele bezpečnosti, ale
i pro běžné uživatele, kterých se probíraná problematika bezpochyby týká.
Klíčová slova: recenze, sociální inženýrství, sociotechnika, informační bezpečnost
Title: Social engineering or the art of deception
Abstract: Review of the Kevin Mitnick´s book Art of deception. This book
introduces to us the social engineering as complementary tool to technically-based
approaches to penetration of information security of organisations. Unlike these
approaches the social engineering doesn´t become obsolete so fast which means
this book has a value for the IT security guys as well as for the end users who are
the main victims of social engineering.
Keywords: Review, Social engineering, Information security
Acta Informatica Pragensia
123
RECENZE KNIHY
MITNICK, Kevin, SIMON, William. Umění klamu. 1. vyd. Gliwice: Helion,
2003. 345 s. ISBN 83-7361-210-6.
Sociální inženýrství neboli sociotechnika je jedním ze způsobů, jak mohou útočníci narušit bezpečnost
organizace bez použití technických nástrojů. Spoléhají přitom na nejslabší článek, v tomto případě na
lidský faktor, který bývá při řešení bezpečnosti často neprávem opomíjen. Jedním z nejúčinnějších
a nejúčelnějších způsobů ochrany je vzdělávání uživatelů a jejich informovanost o metodách, které
útočníci využívají. Přitom ovšem řešitelé bezpečnosti narážejí na problém nedostatku kvalitní
literatury (zejména v českém překladu), která by byla nejen obsahově kvalitní, ale zároveň i čtivá a pro
čtenáře, neznalého IT světa a terminologie, atraktivní.
Monografie Umění klamu od Kevina Mitnicka bezpochyby výše zmíněné požadavky splňuje, navíc je
již jméno autora zárukou, že půjde o fundovaný výklad podložený vlastní praktickou zkušeností (která
nicméně autora přivedla na řadu let do vězení). Na 345 stranách je v šestnácti kapitolách členěných do
čtyř oddílů probráno vše potřebné k pochopení podstaty útoku a obrany proti manipulaci sociálním
inženýrem.
První oddíl se věnuje představení slabin informačních systémů a vysvětluje, jak jsou organizace
pomocí sociotechniky zranitelné. Druhý pak popisuje, jak sociotechnici využívají ochotu a důvěru
uživatelů k poskytnutí požadovaných informací. Vše je demonstrováno na základě "fiktivních
historek". Při bližším zkoumání a zběžné znalosti autorovy další tvorby je ovšem zřejmě, že tyto
historky jsou často založené na skutečných případech, jen identifikační údaje firem a zaměstnanců
jsou z pochopitelných důvodů pozměněny.
V třetím oddíle jsou pak rozvinuty další scénáře, které ukazují možnosti hlubšího průniku do
infrastruktury firmy a odcizení citlivých údajů. Také jsou nastíněny motivy útočníků od prosté pomsty
propuštěného zaměstnance až po kyberterorismus. Čtvrtý oddíl představuje způsoby možné obrany.
Konkrétně se jednotlivé kapitoly tohoto oddílu zaměřují na tvorbu účinného školení a návrh
bezpečnostní politiky organizace1.
V závěru se pak nachází "bezpečnost v kostce", neboli shrnutí klíčových informací formou seznamů
a tabulek. Zvláštní pozornost je vhodné mimo jiné věnovat předmluvě, která v krátkosti shrnuje
autorův (kontroverzní) život a zdůvodňuje jeho odborné směřování. Pokud by ovšem čtenář chtěl
získat o autorovi více informací, je vhodné se obrátit na nezávislé zdroje.
Jazyková úroveň monografie je na slušné úrovni a je třeba vyzdvihnout fakt, že na rozdíl od mnoha
konkurenčních titulů v oblasti bezpečnosti informací, či konkrétně bezpečnosti IT, nedošlo při
překladu ke zmatení termínů, což je ovšem i částečně dáno netechnickou povahou publikace.
1
Šestnáctá kapitola obsahuje vzor bezpečnostní politiky firmy, který je možné upravovat "na míru" konkrétní organizaci.
124
Klíma
Text je vhodně členěn do krátkých podkapitol dle jednotlivých příkladů a scénářů, což usnadňuje čtení
a následně i pochopení. Pokud nepočítáme přílohy, není text doplněn obrázky ani grafy, což lze ovšem
vzhledem k povaze textu omluvit.
Vzhledem k faktu, že autor se knihou obrací zejména na koncové uživatele a na řešitele bezpečnosti
připravující jejich školení, je zvolena odpovídající úroveň odbornosti textu, který je srozumitelný i bez
předchozí znalosti terminologie či teorie bezpečnosti informačních systémů. Osobně bych čekal, že
autor v dalších publikacích půjde hlouběji a zaměří se na detaily konkrétních typů sociotechnických
útoků2. Bohužel tomu tak není a Mitnick dále vesměs zůstáva na povrchu a zkoumání detailů nechává
pak na svých následovnících.
Celkově lze tuto knihu (i další díla autora) doporučit pro seznámí s fenoménem sociálního inženýrství,
zejména s jednotlivými technikami a postupy, které jsou využívány k oklamání koncových uživatelů
a následně k získání patřičných informací (hesla, interní údaje). Pokud s tímto uživatel obeznámen
není, existuje zde velké riziko, že při samotném útoku sociotechnika nejenže poskytne požadované
informace, ale dokonce ani s odstupem času nedokáže identifikovat, že byl oklamán, a incident tak
zůstane nezachycen, což v důsledku znamená, že vyzrazené informace mohou být dále použity
k hlubší úrovni průniku do infrastruktury firmy (např. s využitím technických nástrojů).
Přestože se může zdát, že tento typ útoků se v našich zeměpisných šířkách prakticky nevyskytuje
a spíše než přímého kontaktu s pracovníky se využívá phishingu (včetně jeho „cílené“ podoby spear
phishingu), rozesílání malwaru a dalších technik „hromadného ničení“, opak je pravdou, o čemž
svědčí i fakt, že IT bezpečnostní firmy působící na našem území, jmenovitě ESET3, již do své nabídky
penetračního testování (způsob ověřování bezpečnosti systémů organizace) zařadily i testy ve formě
fingovaného sociálního inženýrství, ať už se jedná o ověřování reakce pracovníků na přímý osobní,
telefonický či mailový kontakt.
Na závěr bych tedy pro ilustraci sofistikovanosti útoků, se kterými se můžeme setkat, použil slova
samotného Mitnicka: „Dobrý sociotechnik plánuje svůj útok jako šachovou partii, předvídá otázky,
které může oběť klást a připravuje si patřičné odpovědi.“ Kniha, kterou jsme si dnes představili, by
nám tedy měla pomoci, aby naše organizace takovou partii lacině neprohrála.
SEZNAM POUŽITÝCH ZDROJŮ
[1]
2
MITNICK, Kevin, SIMON, William. Umění klamu. 1. vyd. Gliwice: Helion, 2003. 345 s.
ISBN 83-7361-210-6.
Dnes je zejména populární využívat sociotechniky ve spojení s phishingem, distribucí malware, a dalšími prostředky, k
čemuž jsou již dostupné i softwarové nástroje - např. modul SET (Social Engineering Toolkit) dostupný v Metasploitu.
Využití tohoto spojení sociotechniky se speciálním softwarem/malwarem stojí za několika významnými datovými úniky z
poslední doby (např. RSA). Tento trend je v krátkosti zmíněn v kapitole 7, odkazy na malware a spyware jsou pak na
několika dalších místech v knize.
3
Viz webová stránka: http://www.eset.cz/cz/firmy/eset-services/bezpecnostni-audit/socialni-inzenyrstvi/
Acta Informatica Pragensia
2(1), 2013, 125–131, ISSN 1805-4951
Online: aip.vse.cz
Sekce / Section:
Zamyšlení / Reflections
Relativita poznání jako východisko uvažování
Martin Sova1
1
Katedra systémové analýzy, Fakulta informatiky a statistiky,
Vysoká škola ekonomická v Praze
nám. W. Churchilla 4, 130 67 Praha 3
[email protected]
Abstrakt: Naše neschopnost pochopit hloubkově skutečně každou myšlenku, jež
přijímáme za pravdivou, nás nutí omezit se na povrchní porozumění a odevzdat se
všanc tomu, co je nám prezentováno jako pravdivé ze zdrojů, které jsou
považovány za autoritativní. Příspěvek se zabývá rozborem relativity poznání
světa, neexistencí objektivní pravdy a naznačuje nebezpečí spočívající v
synergickém působení psychických mechanismů jedince a systému, v němž hraje
roli, při jeho snahách o co nejpřesnější deskripci skutečnosti.
Klíčová slova: realita, znalost, dogma, paradigma, víra, systém
Title: Relativity of knowledge as basis of thinking
Abstract: We’re unable to understand the depth of every idea we accept as true.
We’ve to be believed in facts, presented to us as the true from source considered as
authoritative. This paper discusses relativity of knowledge, nonexistence
of objective truth and indicates danger inherent in the synergistic effect
of psychological mechanisms and the system role of human being trying to
objectively describe reality.
Keywords: Reality, Knowledge, Dogma, Paradigm, Belief, System
126
Sova
ZAMYŠLENÍ
1 ÚVOD
Tím, jak usedne jedinec do školních škamen, začíná přijímat fakta, prezentovaná mu jako objektivní
realita, neoddiskutovatelná deskripce světa přesně tak, jak je. Nikoliv tedy, jako současný stav
poznání, respektive výběr ze současného hlavního názorového proudu jednotlivých vědních disciplín,
jak by to mělo být ve skutečnosti. Sama tato fakta jsou holým výřezem z těchto teorií, jejichž podstatu
je schopen pochopit zpravidla jen absolvent vysoké školy spjaté s dotyčným oborem.
Velmi málo lidí nezabývajících se teoretickou fyzikou by pravděpodobně bylo schopno odpovědět na
otázku, proč se domnívá, že svět je tvořen z atomů a jaké má pro to důkazy. Přesto většina
středoškolsky vzdělané západní společnosti by bez váhání odpověděla, že vesmír je z nich vytvořen.
O pravdivosti skutečností, jimž nejsme s to porozumět do hloubky, jsme jednoduše přesvědčeni na
základě toho, že nám daná skutečnost byla řečena. Byla nám sdělena nějakým subjektem, kterému
věříme, ve který máme důvěru. Jedincem akceptovaným z titulu jeho odbornosti anebo jeho
autoritativního postavení, případně jsme ji získali z člověkem vytvořeného informačního zdroje.
Primární zdroj těchto údajů je o mnoho vrstev hlouběji a nejsme mu schopni bez vynaložení
dostatečných časových nákladů na jeho studium porozumět. Víra je zpravidla chápána jako výraz pro
to, kdy uznává jedinec určité náboženské učení, které nelze standardními vědeckými metodami ověřit.
Ve skutečnosti ale věřící jsou všichni lidé (disponující schopností myšlení na určité úrovni) bez
rozdílu. Jistotu o skutečnosti máme jen na určité vrstvě vnímání reality. S růstem složitosti problému
ale jsme nuceni přijímat stále větší objem přímo neověřitelných fakt, v jejichž pravdivost věříme. Ve
skutečnosti každý je věřícím, každý má v mysli vytvořen svůj vlastní obraz světa, poskládaný
z výkladu autorit, jimž uvěřil, že mluví pravdu.
2 VÍRA A KOEXISTENCE VÝKLADŮ REALITY
2.1 NUTNOST EXISTENCE DOGMAT
To, proč existují různé paralelně existující výklady reality, proč v ekonomii stojí proti sobě
keynesiánci a libertiáni, ve fyzice koexistuje několik teorií kandidujících na jednotnou teorii pole (jako
teorie superstrun a smyčková kvantová gravitace), to vše je dáno tím, že při poznávání jakéhokoliv
komplexního problému se objevují výskyty určitých jevů, jež náhled či teorii potvrzují, stejně tak jako
odchylky, jež jí vysvětleny nejsou. Anomálie – paradoxy, které v pozitivním případě vedou k tvorbě
alternativy ke stávajícímu paradigmatu a pokusům o načrtnutí revolučního řešení, které pak po jeho
transformaci v nové paradigma může čelit anomáliím nového druhu. Koexistence názorových směrů
souběžně existujících v témže čase a realitě, a přitom zásadně odlišným způsobem popisujících realitu,
je tedy důsledkem různě provedeného výběru fakt, vytvoření odlišných premis vystavěných na jejich
základě a určení odlišných dogmat. (Dogmatem je chápán pro účely tohoto článku postulát, jehož
pravdivost nelze na stávající úrovni poznání ověřit.) Vzpomeňme zde některé příklady takovýchto
tvrzení, která byla dogmaty v době vzniku teorie, jež se o ně opírala: v ideální ekonomice existuje
Acta Informatica Pragensia
127
neviditelná ruka trhu; existuje temná hmota; vesmír vznikl velkým třeskem, atp. Dogma, je-li
postaveno správně, se může na vyšším stupni poznání podařit ověřit a binárně klasifikovat, tj.
jednoznačně ho určit jako pravdu, respektive nepravdu. Například tvrzení jež bylo při ustavení teorie
relativity neověřitelným, tj. že nejvyšší možnou rychlostí pohybu je rychlost světla, je v současnosti již
ve fyzice hlavního proudu pokládáno za ověřený fakt. Pravda je tedy pouze vírou, verifikovanou
vybraným faktem. Model skutečnosti přijímaný jedincem jako pravda se tedy různí v závislosti na
tom, které vjemy ze jsoucen si vybere k verifikaci svého názoru.
2.2 DOPADY EFEKTU MOTÝLÍCH KŘÍDEL
Může jeden chybný předpoklad, jedna chybná informace, data, mít skutečně až tak velký dopad?
Vzpomeňme na zřejmě nejznámější obraz tohoto jevu v literatuře, Ecovo Foucoultovo kyvadlo [5].
Dějová linka v této knize se začíná rozvíjet poté, co dojde k chybné interpretaci jednoho nalezeného
textu. Jeden chybný závěr vede k formulaci teorie opírající se o navzájem se potvrzující důkazy,
k vytvoření nesmírně působivé konstrukce startující procesy i v reálném světě. Ve chvíli, kdy se tento
jeden nápis interpretuje správně, pojivo držící pohromadě tyto důkazy se drolí.
Podobné úkazy se ale vyskytují běžně i v realitě. Filioque, jediné slovo doplněné do latinského textu
Nicejsko-cařihradského vyznání [9], stálo na počátku oddělení východní a západní křesťanské teologie
k souběžnému vývoji dvou, ač na společném základu stojících, zcela odlišných spiritualit, ke
scholastice a papismu na straně jedné a k patristice a učení o nestvořených energiích na straně druhé.
Když se roku 1919 vypravily dvě skupiny britských astronomů, aby pozorovaly ohyb slunečních
paprsků vlivem zemské gravitace a potvrdily tak Einsteinovu teorii relativity, obě ohlásily kladný
výsledek a teorie začala být ve vědecké obci přijímána. Později se však ukázalo, že přesnost tehdejších
měření byla tak nedostatečná, že stěží lze jejich výsledky považovat za průkazné [6]. V roce 2011
proběhl experiment OPERA, během něhož byl zachycen pohyb neutrin nadsvětelnou rychlostí.
Vyvrácením postulátu, že nejvyšší možnou existující rychlostí objektu je c, rychlost světa, byla tedy
považována teorie za vyvrácenou [4]. Tedy do chvíle, než se zjistilo, že měření bylo provedeno
chybně (pravděpodobně kvůli špatně připojenému konektoru) [2]. Epicykly (matematické modely
oběhu těles) sestavované pro geocentrický model byly sestaveny tak přesně, že na jejich základě se
daly velmi přesně předpovídat budoucí polohy nebeských těles [10]. Přesto, že paradigma uspořádání
vesmíru, na jehož základě byly vystavěny, bylo od základu chybné. Do 50. let byly případy
zdravotních komplikací spojených s kouřením všeobecně považovány za ojedinělé komplikace
a obecně napříč lékaři nebyly považovány za nijak zdravotně závadné. Do roku 2005 byly vředy
považovány za následky stresu a konzumace ostrých jídel, dokud Barry Marshall and Robin Warren
nedostali Nobelovu cenu za objevení jejich pravého původce, bakterie Helicobacter pylori [7].
2.3 PSYCHIKA JEDINCE V KONTEXTU SYSTÉMOVÉ TEORIE
Zdá se však, že problém je ještě více vrstevnatým. Průzkumy prokázaly, že při sázkách na koně člověk
v okamžiku, kdy vydá peníze na sázku, začne svému favoritovi věřit násobně více, než mu věřil
o několik málo okamžiků dříve, když se rozhodoval mezi ostatními kandidáty [3]. Ještě jednou si
zmapujme tento případ: existují určitá fakta, tj. historické výsledky koňů, kurz nastavený sázkových
kanceláří. Vnější realita je tedy stále stejná. Okamžikem uskutečnění sázky se ale myšlenkové
pochody začínají stáčet tak, že z objektů jsoucna si mozek vybírá jen ty podněty, jež jsou v souladu
s jeho přesvědčením. Podobně jako při depresi, kdy se začínají spojovat negativní vzpomínky a vjemy
128
Sova
do dokonale ponurého obrazu reality, která ovšem sama o sobě není depresivní, to pouze mozek ji
takto interpretuje. Obdobně zastánce určité teorie logicky tenduje k tomu, vybírat pouze ty případy,
které ji potvrzují a relativizovat ty výskyty určitého jevu, které by tato teorie nevysvětlovala.
Tento mechanismus není od podstaty destrukčním, jak by mohlo se zdát, naopak je v zásadě
ochranným – slouží k tomu, aby člověk mohl poté, co učiní rozhodnutí, napřít síly k jeho realizaci
a myšlení nebylo narušováno zbytečným rozvažováním jiných možných variant. Problémem je, že
s rostoucí komplexitou problému se stává tento mechanismus stále méně užitečným. Nenechme se
mýlit, že řešením je svěřit zpracování dat a pak od nich přejímat matematicky přesné objektivní
výstupy. Ani informatizace a komputerizace zpracování dat nijak není proti tomuto chování imunní,
neboť algoritmus není ničím jiným než dalším typem zápisu představy o světě vytvořené svým
tvůrcem – a zdrojová data, jež zpracovává, jsou výstupem představy jedince, který je získal, o tom,
jaká data a jakým způsobem by se měla získávat.
Pravda, nepravda, dogma a verifikace názorů, to vše jsou jen zdánlivě jakési akademické úvahy
a pojmy bez bezprostřední vazby na praktický život. Opak je pravdou: nic nemá tak přímý dopad na
chování jedince, jeho práci a život jako celek, jako subjektivně vnímaný obraz reality, jako
individuálně vnímaná pravda. Člověk omezen pozorováním okolí přejímá vzory chování a bere je za
vodítko ke své činnosti jako jediné možné. Jak potenciál vrozených či nabytých dovedností tak
fyzických či majetkových dispozic je tak vždy více či méně využíván jen nepatrný zlomek. Procesy
nastavené v mysli opět nijak neusnadňují objektivní náhled na tyto vzory chování a vydělení se kamsi
nad ně, protože mozek je nastaven tak, že stačí přijmout (lhostejno, zda vlastním rozhodnutím či
z donucení, vlivem vnějších tlaků) roli v systému a spustí se automaticky myšlenkové procesy
odpovídající přidělené roli. Vzpomeňme na Zimardův Standfordský experiment, kdy se z psychicky
zdravých studentů, obyčejných lidí vystavených tlaku okolí, stali v závislosti na přidělené role brutální
dozorci, a nebo depresivní pasivní vězni. Mimochodem, experiment se podařilo ukončit díky vydělení
jeho ženy z role manželky ředitele věznice – Zimbardo o takovémto chování mluví jako o chování
"hrdiny," schopného se vydělit z nastaveného chování a myslet i konat nezávisle na tlaku okolností
[11].
Podle systémové teorie každý člen nehledě na jeho bližší charakteristiky vykazuje při působení
stejných podmínek totožné jednání. Z tohoto pohledu je tedy postup hledání a život jedince jako
takový procesem změn chování a myšlení v podobě vyčleňování se a zařazování do jiných případně
vytváření nových systémů, řazení se do nich pod určitou funkcí a fungování v nich. Ovšem i to, že v
některých z nich musí být člověk začleněn je samo o sobě sdílenou znalostí v rámci společnosti, jež
nemusí být zcela pravdivou. Typicky, aktuálně jakoby v západní kultuře byl život jedince jakýmsi
automatizovaným skriptem, v němž může maximálně korigovat průběh záměnou některých
proměnných. Narodí se, jde do školy, pracuje, žena-dítě-hypotéka, vrchol kariéry, krize středního
věku, důchod, smrt.
2.4 MYŠLENÍ VE SVĚTĚ NEURČITOSTI
Uvědomění výše naznačeného působení a tendencí je nutnou, nikoliv však postačující podmínkou pro
identifikaci omezujících vzorců a nastavení postupů vedoucích k jejich vytěsnění. Vodítka pomocná
tomuto snažení se určitým způsobem vymykají z rámce obvyklého vědeckého uvažování – zatímco při
výzkumech je četnost výskytu určitého jevu zpravidla jedním z atributů potvrzení jisté hypotézy,
Acta Informatica Pragensia
129
množství jedinců zastávajících určitý názor arbitrem verifikace tohoto názoru naprosto není. Z jiného
úhlu však lze standardní postupy používané v rámci bádání uplatnit bez výhrad – při zkoumání
původních pramenů, zdrojů takovýchto tvrzení.
Obecně je považováno za cosi nepředstavitelného, až heretického, zpochybňovat vědecké poznání
a snažit se o kritický pohled na stav světa předkládaný vědou. Přitom samozřejmě nic jako univerzální
vědecké poznání světa neexistuje – to, co si aktuálně myslíme, že víme, není v zásadě ničím jiným,
než fragmentovaným sumářem pohledů a aktuálně přijímaných teorií (které se mimo to mohou
navzájem vyvracet), vystavěných na podkladu víry v pravost aktuálně známých faktů. Když přijmeme
do určité míry hyperbolizovaný pohledem předkládaný Arbesmanem [1], můžeme konstatovat, že
výrazná část toho, co lidé před sto lety věděli o ekonomii, medicíně nebo psychologii, byly (podle
toho, co víme dnes) naprosto mylné teorie. Jen nedostatečná znalost historie a mechanismu uvažování
nás může vést k přesvědčení, že jsme na tom dnes nějak výrazně lépe a vše, co dnes víme (nejen)
o těchto oborech bude i za dalších sto let při tehdejším stupni poznání stále naprosto přijímáno
a považováno za pravdivé.
Stejnou informaci lze interpretovat různě – v rámci statistického testování hypotéz mohou být při
různě velkém výběrovém vzorku podány různé výsledky pravdivosti hypotéz; obdobně – při zkoumání
obrazových materiálů je vždy zkoumán jejich stav zachycený v čase, nehledě na to, jak průkazná jsou
data, na základě kterých jsou informace utvářeny a interpretovány.
Neexistuje žádná univerzální pravda, která by byla všem dostupná, ale spíše několik polopravd, stejně
tak jako penzum znalostí o každém oboru není nikdy soustředěno do podoby jednotného, ale vždy se
skládá z kompilace vlastních zkušeností, znalostí nabytých studiem psané nebo mluvené řeči. Bohužel
není ve společnosti příliš rozšířena obecná tendence ke kritické interpretaci faktů, málokdo zkoumá
prameny, na základě kterých jsou některé šířené memy, a tak vzniká jakési kulturní povědomí
založené na opakování neověřených faktů.
Ve skutečnosti ovšem zpravidla lidé neznají všechny příčiny svého jednání, zdroje informací jsou
roztříštěny a mají velký rozsah. Nehledě na to, že z každé přijaté informace si jedinec vybírá capta, tj.
pouze to, co ho na základě minulé zkušenosti zajímá, či čemu rozumí, a teprve tento výběr pak
vytváření změnu jeho znalostí. V kontextu fungování tržní ekonomiky i zdánlivě jednoznačná
informace může být interpretována v kontextu minulých zkušeností jedince různě – kupříkladu
numerická hodnota určitého produktu či služby je vždy různými jedinci díky tomu, že jejich představy
získané v minulosti se liší, hodnocena různě – jako nadhodnocený, podhodnocený i přiměřený a pro
uplatnění určitého produktu na trhu je pak klíčové, jak ho vnímá majorita (což by se také dalo
interpretovat tak, že pro konkurenceschopnost produktu je rozhodující, co je považováno za
konsenzuální pravdu, na které se shodne většina zástupců strany poptávky). Inovace a vstup nových
konkurenčních technik mohou být chápány jako metody snažící se tento stav narušit a změnit
zaběhnutá paradigmata buď nabídnutím nových možností k rozhodování při výběru statku, který chce
poptávající směnit za peníze, případně nových informací a nástrojů k jejich získání (ostatně podle
Schumpetera [8] jsou právě inovace hnací silou vlnění ekonomického cyklu) – ať už inovace vzniká
jako chování adaptivní (tj. takové, kdy se přizpůsobují entity novému statu quo), anebo proaktivní
(kdy dochází k aktivnímu vytváření nových postupů či nástrojů bez přímé příčiny z vnějšího
prostředí).
130
Sova
3 ZÁVĚR
Veškeré poznání je relativní a jediným východiskem z tohoto chaosu neurčitosti je selekce bodů jimž
přisoudíme absolutní důvěru, dogmat, od kterých se může odrazit dále a na nichž můžeme stavět
složitější konstrukce. Obdobně jako sázkař zadává svou představu o tom, jaká padnou čísla vybráním
některých čísel na tiketu, vybíráme si z nabídky existujících vysvětlení reality některá a na jejich
základě uzavíráme „sázku,“ tj. snažíme se s nimi operovat. Podobně jako se správnost výběru čísel na
tiketu ověří až v dalším kole losování, jejich platnost se podaří ověřit až na vyšším stupni poznání
dané disciplíny. To, že si zastánci jiných názorových proudů či doktrín vybrali jiné, tedy není nutně
jejich chybou, ale je to jednoduše dáno odlišným výběrem těchto základních „pravd,“ na základě
odlišných myšlenkových postupů a skutečná podstata je autonomně existujícím stavem, vyskytujícím
se nezávisle na jeho deskripci.
SEZNAM POUŽITÝCH ZDROJŮ
[1]
ARBESMAN, Samuel. The half-life of facts: why everything we know has an expiration date.
New York: Penguin Group, 2012, viii, 242 s. ISBN 978-159-1844-723.
[2]
ANTONELLO, M. et al. Precision measurement of the neutrino velocity with the ICARUS
detector in the CNGS beam. Journal of High Energy Physics. 2012, roč. 2012, č. 11, s. -. ISSN
1029-8479. DOI: 10.1007/JHEP11(2012)049.
[3]
CIALDINI, Robert B. Zbraně vlivu: manipulativní techniky a jak se jim bránit. Vyd. 1. V
Brně: Jan Melvil, 2012. Žádná velká věda. ISBN 978-80-87270-32-5.
[4]
COLLABORATON, Opera, et al. Measurement of the neutrino velocity with the OPERA
detector in the CNGS beam. 2011.
[5]
ECO, Umberto. Foucaultovo kyvadlo. V českém klubu vyd. 3. Praha: Český klub, 2009, 566 s.
ISBN 978-808-6922-270.
[6]
KING, D a Michael WERTHEIMER. Max Wertheimer. New Brunswick: Transaction
Publishers, c2005, s. 122-123. ISBN 0-7658-0258-9.
[7]
Press Release: The 2005 Nobel Prize in Physiology or Medicine. In: Nobelprize.org [online].
2005 [cit. 2013-03-31]. Dostupné z:
http://www.nobelprize.org/nobel_prizes/medicine/laureates/2005/press.html
[8]
SCHUMPETER, Joseph A. The theory of economic development: An inquiry into profits,
capital, credit, interest, and the business cycle. University of Illinois at Urbana-Champaign's
Academy for Entrepreneurial Leadership Historical Research Reference in Entrepreneurship,
1934.
[9]
SIECIENSKI, A. The filioque: history of a doctrinal controversy. New York: Oxford
University Press, 2010, ix, 355 s. ISBN 01-953-7204-2.
[10]
VAN DER WAERDEN, B. L. The earliest form of the epicycle theory. Journal for the History
of Astronomy, 1974, 5: 175.
Acta Informatica Pragensia
[11]
131
ZIMBARDO, Philip G. The Lucifer effect: understanding how good people turn evil. 2008
Random House trade pbk. ed. New York: Random House Trade Paperbacks, 2008, xx, 551 p.
ISBN 978-081-2974-447.
Acta Informatica Pragensia
Recenzovaný vědecký časopis / Peer-reviewed scientific journal
ISSN: 1805-4951
Články v časopise podléhají licenci Creative Commons Uveďte autora 3.0
This work is licensed under a Creative Commons Attribution 3.0 License
Download

01/2013 - Acta Informatica Pragensia