=Paper=
{{Paper
|id=Vol-2009/fmt-proceedings-2017-paper16
|storemode=property
|title=Rule Creation in a Knowledge-assisted Visual Analytics Prototype for Malware Analysis
|pdfUrl=https://ceur-ws.org/Vol-2009/fmt-proceedings-2017-paper16.pdf
|volume=Vol-2009
|authors=Johannes Schick,Markus Wagner,Niklas Thür,Christina Niederer,Gernot Rottermanner,Paul Tavolato,Wolfgang Aigner
|dblpUrl=https://dblp.org/rec/conf/fmt/Schick0TNRTA17
}}
==Rule Creation in a Knowledge-assisted Visual Analytics Prototype for Malware Analysis==
Rule Creation in a Knowledge-assisted Visual
Analytics Prototype for Malware Analysis
Johannes Schick1 , Markus Wagner2 , Niklas Thür2 , Christina Niederer2 , Gernot Rottermanner2 ,
Paul Tavolato2 , Wolfgang Aigner2
St. Pölten University of Applied Sciences, Austria
Email: 1 dm171566@fhstp.ac.at, 2 first.last@fhstp.ac.at
Abstract—The increasing number of malicious software (mal- language using formal grammars (syntactic pattern recognition
ware) requires domain experts to shift their analysis process to- [5], [6] or for more details [7]). The task of the analyst is
wards more individualized approaches to acquire more informa- the development of a set of grammar rules incorporating their
tion about unknown malware samples. KAMAS is a knowledge-
assisted visual analytics prototype for behavioral malware analy- knowledge about (malicious) behaviors of malware samples.
sis. It allows IT-security experts to categorize and store potentially In this context, visual analytics (VA) is needed to support
harmful system call sequences (rules) in a knowledge database. the analysts in integrating their knowledge. VA plays an
To meet the increasing demand for individualization of analysis essential role in supporting data analysis, since it combines
processes, analysts should be able to create individual rules. data processing capabilities of computer systems with the
This paper is a visualization design study, which describes the
design and implementation of a Rule Creation Area (RCA) into knowledge and experience of users [8].
KAMAS and its evaluation by domain experts. It became clear According to Keim et al. [9], VA also connects automated
that continuous integration of experts in interaction processes analysis techniques with interactive visualizations in order to
improves the knowledge generation mechanism of KAMAS. combine different types of information and obtain understand-
Additionally, the outcome of the evaluation revealed that there ing from complex data sets. To make reasoning out of this
is a demand for adjustment and re-usage of already stored rules
in the RCA. massive amount of data, it is necessary to include ”implicit”
[10] or ”tacit” [11] knowledge in the analysis process. By
I. I NTRODUCTION externalizing the implicit/tacit knowledge of domain experts,
Nowadays, domain experts have to deal with an ever in- it is possible to provide explicit knowledge in form of data,
creasing number of malicious software (malware) which in which is independent from the current user of the system.
addition is becoming more targeted, persistent and unknown. This extracted knowledge can subsequently be connected
Malwares are able to disturb computer operations and gather through interactive visualization tools [11]. In addition to these
personal information of the system’s owner without raising findings, Lee et al. [12] stated that visualization is necessary
attention [1] [2]. When it comes to analyzing methods, there to analyze potential malware more effectively.
are two approaches for the identification of malware. On the This paper provides a design study [13] dealing with the
one hand, software can be analyzed without actually executing implementation and evaluation of a separate Rule Creation
it, which is called static analysis. Obfuscation techniques Area (RCA) [14] into a Knowledge-Assisted Visual Malware
used by malware developers can render this task virtually Analaysis System (KAMAS) [15]. In order to meet quality
impossible [3]. Dynamic analysis observes actions performed standards, this paper follows a problem-oriented research ap-
by potential malware while it is being executed in a protected proach. In conjunction with this prototype, this means that the
environment. More precisely, analysts observe execution traces visualization and implementation of the system is performed
of programs; for the sake of simplicity malware analysts under consideration of specific real-world problems defined by
often reduce these traces to function calls, neglecting all other domain experts [13]. Thus, the main objectives of this research
simple machine instructions. Therefore, dynamic analysis is are:
also known as behavior-based analysis [3]. • Clarify, why the implementation of a separate area for
In behavior-based analysis malware analysts have to deal rule creation is necessary and how malware analysts can
with large amounts of data, which can lead to a very complex benefit from it.
analysis process: a trace of a malware sample may often • Presenting the design and implementation of the RCA
comprise thousands of system calls and analysts have to find into the KAMAS system with a detailed description of
similar system call patterns within thousands of such traces. all involved components and functionalities.
In order to simplify this process, analysts need automated • Conducting an evaluation of the implemented system in
approaches for finding such patterns and categorizing them as cooperation with malware analysis experts to proof the
potentially harmful or harmless. However, such identification effectiveness of the deployed functionalities.
of patterns relies heavily on the analysts knowledge, which • Reflection of the implemented functionalities under con-
makes it impossible to automate this process completely sideration of their evaluation by real world users and the
[4]. These patterns of behaviors can be defined as a formal resulting future research.
116
Rule Creation in a Knowledge-assisted Visual Analytics Prototype for Malware Analysis
II. R ELATED W ORK AND BACKGROUND analysis system by Mohaisen et al. [22] is an example for
a program, which is capable of fulfilling this task. Just like
Since there were no interactive visualization tools available KAMAS, it tries to tackle shortcomings of existing systems
which cover all requirements for malware analysts, Wagner by combining methodologies of static and behavior-based
et al. [15] developed the KAMAS prototype. With KAMAS, approaches. By running malware samples in a virtualized
analysts are able to categorize function call traces in terms of environment, the system collects data which is subsequently
their potential harmfulness and store them into a knowledge used for automated classifying and clustering of samples into
database (KDB). The KDB assists them in further observation different malware families. However, AMAL does not provide
and simplifies the analyzing process. In order to expand the an interactive user interface, nor does it provide the possibility
range of functionalities and subsequently improve the effec- to integrate externalized expert knowledge into the analysis
tiveness of KAMAS, Wagner et al. [16] suggested an interface process. Another project with similar approach to KAMAS is
design for the RCA [14]. The RCA allows the construction of the visualization tool SEEM [23], which enables analysts to
completely new rules by using single system and API calls in compare large sets of malware and their associated attributes.
the same structure as generated by the sequitur algorithm [17]. As mentioned in Section I, supportive visualization is
These rules can subsequently be stored in the KDB. needed in order to provide a more efficient approach of
Knowledge Generation in VA: Thomas and Cook [18] define analyzing potential malware samples [12]. In their state of
VA as approach to gain knowledge from massive, dynamic, the art report on visualization systems in the field of malware
ambiguous, and often conflicting data. Based on the research analysis, Wagner et al. [24] concluded that future systems
by Sacha et al. [19] following findings can be determined: should provide a compound of classification overviews for
VA uses data to draw conclusions on a specific application comparison and detail views for individual analysis.
field and gain insights into the problem domain. On the one
hand, there is the combination of perceptive skills following III. M ETHOD
the capability of drawing conclusions by humans. On the In general, this paper is a design study following the
other hand, there is the computing and data storage capability design principles/ideas proposed in [13], which is described as
of machines. Both of these aspects can be combined in problem-orientated research approach. This includes a problem
visual representations. Interactions with VA tools provide a definition, the design and implementation of a visualization
possibility for analysts to detect patterns in their data, thus system which solves the problem, the evaluation of the proto-
assisting them in verifying or falsifying their initial hypothesis. type as well as a reflection about lessons learned and possible
By clustering and classifying the found patterns, the outcome improvements [13]. The problem was defined by Wagner et
of their exploration can be visualized. al. [16] in their design study, which addresses the need for
According to Chen et al. [10], the aim of knowledge- the implementation of a separate area for rule creation in the
assisted visualization is to automate reasoning about abstracted KAMAS prototype. All scientific publications directly related
information from a set of data. Additionally, they also men- to KAMAS [4] [16] [15] [24] served as a basis for the general
tioned that the field of knowledge-assisted visualization is still understanding of the prototype and its background.
in development, since the growing amount of data requires Requirements & Features: The functionalities and interface
systems to continuously adapt to these challenges. As stated by design of the RCA were designed according to the rule build-
Wang et al. [11], the nature of tacit knowledge can be defined ing screen prototype ’CallNet’ presented in [16]. Furthermore,
as intimate and specialized. However, by using interactive ’CallNet’ and its desired functionalities were already reviewed
visualization it can be connected with explicit knowledge, by usability experts. In order to ensure compatibility with the
which is processable by computers or can be stored in a sequitur algorithm [17], the extracted knowledge has to be
database [11]. Recent research has focused even more on stored in a rule-based interface and structure. Based on the
the role of humans in this process. In order to deal with task definitions and the outcome of the design study, following
the increasingly ambitious challenges in the field of VA, key requirements (R) for the RCA can be defined:
the philosophy has to shift from a ”human in the loop” R1 Consistency: To ensure an effective usage of the user
philosophy to a ”human is the loop” viewpoint [20]. This new interface, it is necessary to provide consistent interac-
approach focuses on recognizing the workflow of analysts and tion techniques throughout the whole system. In this
consequently adapting interaction processes to the needs of the specific case, the input data for the RCA originates
analyst. from another interface section of the program. There-
Appliance of VA Techniques to Malware Analysis: Accord- fore, the interaction visualization should be related to
ing to Alazab et al. [21], all executable programs have the aim the movement of data, e.g. ’Drag & Drop’ operations.
to perform actions using API calls. The process of malware R2 Creation Support: The amount of data offered by this
analysis involves the observation of system call sequence system is particularly high. Thus, additional support
patterns and the actions they cause. Both Alazab et al. [21] and in the process of rule creation is important. By
Mohaisen et al. [22] emphasize classification and clustering of giving the analyst additional interaction possibilities,
patterns in terms of their maliciousness or benignity as a main e.g. automatically validated suggestions for single
task for malware analysts. AMAL, a behavior-based malware calls, the rule creation process can be accelerated.
117
Rule Creation in a Knowledge-assisted Visual Analytics Prototype for Malware Analysis
Moreover the interface has to provide the possibility access information of already stored rules like the name, the
to switch the highlighting of these calls based on assigned concept and the calls it consists of.
higher or lower frequency to support creating rules RCA in General: The RCA (see Figure 1.2) generally consists
with individual preferences. of three main areas. First, the analyst can drop single calls,
R3 Editing Options: The process of rule creation requires which he previously selected and dragged from the ’Call
the system to allow the editing of rules at any time Exploration’ table into the Rule Creation Table (RCT) (see
and to offer a quick way to restart the process. As Figure 1.2.b). Secondly, above and below the RCT, the inter-
a consequence, the analyst has to be able to reorder face provides suggestions for single calls which occur either
and delete single calls of the dropped call sequence before (see Figure 1.2.a) or after (see Figure 1.2.c) the dropped
and to reset the whole RCA to its default state. system call sequence. At last, on the bottom of the RCA the
R4 Knowledge Extraction and Extension: Finally, the analyst has the possibility to reset the whole RCA to its default
newly created rule should be used to extend the state (see Figure 1.2.d) and to switch the highlighting of the
spectrum of computerized knowledge in the system. call suggestions (see Figure 1.2.e).
Therefore, it is necessary to offer the possibility Rule Creation Table in the RCA: After adding the first call
of moving rules from the RCA to the KDB. By from the ’Call Exploration’ table to the RCT, an additional
implementing this functionality, the knowledge gen- row gets added on the top of the table. This row makes
eration loop (see Figure 2) can be expanded, which it possible to drag the newly created rule (which contains
should subsequently improve the effectiveness of the all single calls inside the RCT) and add it to the KDB.
analysis process. Furthermore, the number in the second column of the RCT
The features of the RCA were implemented according to represents the occurrence of the newly created rule in the
the defined key requirements. In general, the design and loaded file. If there is a need to reorder calls inside the RCT,
implementation followed a user-centered design process [25]. this can be achieved by simply dragging a single call and move
During the development process, continuous exchange with it to the desired position. The original call from the desired
researchers/developers of the KAMAS prototype was per- position then switches position with the dragged call. Also,
formed. Thus, it was possible to adjust requirements and single calls can be deleted from the RCT by right clicking on
discuss alternative solutions. the desired call and using the ’Delete’ pop-up. It must also
Evaluation: In order to evaluate the implemented features be pointed out that every interaction performed in the RCT
of the prototype, two malware analysis experts reviewed the affects the occurrence column and call suggestions, since these
system in the course of a semi-structured, qualitative user test. components depend on the values inside the RCT. Even though
During this test, both experts had to solve different tasks, a rule usually can contain 1 to n calls, the maximum number
which occur in the rule creation process. The results were of calls inside the RCT was limited to eight calls in order to
documented by written notes and afterwards categorized based provide enough space for the other areas in the RCA.
on their importance. Afterwards, the results of the evaluation Call Suggestions in the RCA: Above and below the RCT,
were summarized and rated in a list inspired by Nielsen’s the interface offers suggestions for calls, which can be dragged
severity rating procedure [26]. With these ratings, it was and dropped into the RCT. The suggestions above (see Fig-
possible to provide a clear overview of the most important ure 1.2.a) represent calls from the loaded file which occur
findings as well as potentially negligible aspects. before system call sequences with the same structure as the
one inside the RCT, whereas the calls below (see Figure 1.2.c)
IV. D ESIGN AND I MPLEMENTATION represent calls which occur after the currently dropped system
The design and functionalities of the RCA are based on call sequence. Moreover, the font size of the call suggestions
the ’CallNet’ prototype [16], which allows users to create varies depending on their occurrence. By default, more fre-
rules from scratch with system and API calls. The KAMAS quent single calls are displayed with a bigger font. If a single
prototype and its implemented functionalities developed by call appears in multiple system call sequences of the loaded
Wagner et al. [15] served as a basis to expand the prototype’s file, the font size increases by one for every found similar
spectrum of features. The implementation resulted in the single call. Thus, every call suggestion displayed in the user
realization of the RCA (see Figure 1), which was achieved interface is unique and the analyst gets a better overview of
using the programming language Java. which single calls are more or less frequent.
Call Exploration: The ’Call Exploration’ table (see Fig- Control Buttons in the RCA: Provided that the RCT contains
ure 1.3) provides a list of all system and API calls of the loaded at least one single call, a ’Reset’ button (see Figure 1.2.d) is
file showing their occurrence in the file, the name and the ID available at the bottom of the RCA. This button offers the
of the call. In addition to the already available functionalities possibility to set the whole area back to its default state. The
from [15], the possibility to drag single calls from the table second button (see Figure 1.2.e) is responsible for handling the
to the RCA was implemented. highlighting of the call suggestions and is only visible when
KDB: The KDB (see Figure 1.1) offers the possibility to the currently dropped system call sequence offers suggestions.
save and organize rules in tree structure based concepts With the use of this button, the analyst can switch between
visualized as folder structure. Furthermore, the analyst can highlighting more or less frequent call suggestions.
118
Rule Creation in a Knowledge-assisted Visual Analytics Prototype for Malware Analysis
Fig. 1. User interface of the KAMAS prototype with activated RCA. 1) The KDB where newly created rules can be stored. 2) The RCA including the call
suggestions before (2.a) and after (2.c) the currently dropped call sequence, the rule creation table (2.b), the button to reset the whole RCA (2.d) and the
button to change the call suggestion size according to their occurrence (2.e). 3) The ’Call Exploration’ table with a list of all single calls included in the
currently loaded file.
Filter Pipelines for Call Suggestions: Depending on the process was limited to use either preprocessed rules or their
currently dropped system call sequence, the call suggestions included single calls. Thus, the analyst was not able to change
get validated through one general and two separated filter patterns like e.g. the order of included single calls inside a
action pipelines. The general pipeline loops through all rules rule. Following the implementation of the RCA, the analyst
of the loaded file and eliminates every rule which does not can now switch to the ’Rule Creation’ screen and create own
include the exact same system call sequence as in the RCT. rules from scratch. In the beginning, the analyst can explore
In the next step, the remaining rules serve as input data for and select specific calls from the single call table and drag
the call suggestion validation which is finally displayed above them into the RCA. After the desired calls were added to RCT,
and below the RCT. The first pipeline loops through every the interface offers suggestions for calls which occur before
remaining rule and checks if there is another single call before and after the currently dropped call sequence. These calls can
the first one of the sequence. If so, this call is displayed as also be used in the further creation process by dragging them
call suggestion above the RCT in the user interface. The same into the RCT. Additionally, it is possible to highlight either
applies to the second pipeline, except that it extracts the single more or less frequent call suggestions by increasing their font
call after the last one of the sequence which is subsequently size. This can be achieved by clicking the ’Enlarge less/more
displayed below the RCT. frequent calls’ button. The number next to the calls inside the
Usage Scenario: First, the analyst loads a new file into the RCT represents the occurrence of the currently dropped rule
system and KAMAS automatically provides an overview of all in the analysis file. During the whole process, the analyst can
included single calls in the ’Call Explorer’ (see Figure 1.3) as adjust the created rule by reordering calls inside the RCT via
well as all preprocessed rules in the ’Rule Explorer’. The ’Rule drag and drop or deleting unnecessary calls via right clicking
Explorer’ serves as a graphical summary and exploration area on the desired call and using the ’Delete’ pop-up. Finally,
with colored highlighting of all included rules depending on the rule can be dragged at the top of the RCT and moved
the current knowledge state of the KDB. If the analyst wants to the KDB. Afterwards the RCA can be reset to its default
to store one of these rules in KDB, this can either be achieved state by clicking the ’Reset Rule Creation Area’ button. The
by selecting the full rule or just specific parts of this rule and analyst can now return to the ’Rule Exploration’ screen and
drag and dropping it to the KDB. Further functionalities linked continue the analysis with an updated KDB containing the
to the ’Rule Explorer’ are described by Wagner et al. [15]. In newly created rule.
the initial version of the KAMAS prototype, the rule storing
119
Rule Creation in a Knowledge-assisted Visual Analytics Prototype for Malware Analysis
Fig. 2. Comparison of the Knowledge Generation Loop before and after the implementation of the RCA. Left: Knowledge Generation Loop of the initial
KAMAS prototype visualized by Wagner et al. [15]. Right: Knowledge Generation Loop including rule creation process. The range of possibilities for the
analyst has increased.
V. T HE K NOWLEDGE G ENERATION L OOP VI. E VALUATION
As third step in this design study [13], it was necessary to
Initial Knowledge Generation Loop: Wagner et al. [15]
evaluate the newly implemented functionalities with real world
provided an overview of the knowledge generation process in
users. Therefore, a formative usability evaluation including a
the KAMAS system (see Figure 2 on the left). It highlights the
usability test with malware analysis experts was conducted and
KDB, which contains all known rules and the data exploration
finally compressed to the most important findings.
through the analysts as central elements in the knowledge
generation loop. By extending the KDB with new rules, the A. Method
system automatically revalidates the highlighting in the ’Rule
Exploration’ area depending on the new knowledge state. The TABLE I
rules used for the extension of the KDB are automatically OVERVIEW OF THE DOMAIN EXPERTS WHO PARTICIPATED IN THE USER
generated and displayed in the ’Rule Exploration’ table. TEST. (E = EXPERT )
Extension of Knowledge Generation Loop: With the im- Person Age Gender In field Experience Education
plementation of the RCA, the possibilities for knowledge E1 30-39 male 5 years expert MSc
generation have expanded. The usage scenario now includes E2 60-69 male 6 years advanced PhD
the following process (see Figure 2 on the right): The analyst
can load a new file, which is going to be checked automatically Participants: For this user test, two malware analysis experts
against the stored data in the KDB (see Figure 2.1). After- (see Table I) were invited to test and comment all function-
wards, the system provides a visualization of the loaded rules alities of the RCA. Both experts had more than five years of
in comparison to its current knowledge state in the system experience in this field and were also part of previous KAMAS
(see Figure 2.2). In contrast to the initial KAMAS prototype, case studies. Therefore, both of them were familiar with the
the analyst can now choose between two different options to general appearance and functionality of the user interface.
expand the KDB. The analyst can either use automatically Design and Procedure: In the beginning, the experts received
generated rules from the ’Rule Exploration’ table (see Fig- a brief overview about the main functionalities of the RCA. In
ure 2.3 and Figure 2.7), or create own rules, which can include order to provide a realistic testing environment, an execution
presently unknown sequences based on the system’s current trace sample was provided and loaded into the system. Then,
state (see Figure 2.8 for the creation and Figure 2.9 for the the experts were asked to test each possible feature and to
knowledge generation). As a result, the KAMAS prototype is speak out their thoughts on the user interface.
not limited to rely on automatically generated rules anymore, Apparatus and Materials: Both case studies were performed
but rather offers more flexibility by providing an opportunity in a seminar room. To guarantee the testing of all possible
to create rules from scratch based on individual needs. features, a questionnaire based on the functionalities of the
120
Rule Creation in a Knowledge-assisted Visual Analytics Prototype for Malware Analysis
TABLE II
OVERVIEW OF EVALUATED FEATURE REQUESTS , SEVERITIES AND EFFORT (FR: 1: = NICE TO HAVE , 2: = GOOD FEATURE , 3: = ENHANCES USABILITY;
SE: 0: = NO PROBLEM , 1: = COSMETIC PROBLEM , 2: = MINOR PROBLEM , 3: = MAJOR PROBLEM , 4: = CATASTROPHE ; E FFORT: 1: = MIN , 2: = AVERAGE ,
3: = MAX ).
Description Feature Request (FR) Severity (SE) Effort
Call Exploration: Change selection mode to single selection 2 3 1
Call Exploration: Display only the last part of single call names 2 3 1
RCT: Provide a clear visualization of the drop location 3 3 2
RCT: Add arrow symbols to visualize the possibility of reordering 1 1 1
RCT: Display only the last part of single call names 2 3 1
Enlarge-Button: Change ’Enlarge’ to ’Highlight’ 1 1 1
Call Suggestions: Display current highlighting status in separate label 1 1 1
Call Suggestions: Change ’before/after’ to ’which appear before/after’ 1 1 1
Call Suggestions: Change ’scheme’ to ’sequence’ 1 1 1
KDB: Implement possibility to use known rules in the RCA 3 3 3
RCA: Display name of rule if it is already stored in the KDB 2 3 2
RCA: Implement a separate save button 1 2 2
Connection lines: Use logical elements 1 0 2
system was provided. The comments stated by the experts Deletion of Single Calls and Reset of RCA: Both experts
were documented by notes on the printed questionnaire. were able to delete single calls from the RCT and reset of the
whole RCA to its default state without any uncertainty.
B. Results Adding Created Rule to KDB: Both experts expressed their
wish for a possibility to drag rules from the KDB into the
Moving Single Calls to the RCT: E2 mentioned that it RCA. Additionally, the RCA should display the name in a
was difficult to find the desired calls, since the names of the label when editing an already created rule. In order to provide
displayed single calls were not fully readable due to lack of an alternative for the drag and drop approach, E1 suggested
space in the ’Call Exploration’ table. He suggested to display to implement a separate save button for the storing of rules
only the last part of the names because this part mostly into the KDB.
differs from other single call names. Both of them showed General Exploration: Both experts were pleased with the
uncertainty regarding whether if it is possible to move more general appearance of the user interface. They found the func-
than one call at the same time or not. Consequently, they tionalities to be valuable and the interface easy to understand.
were not sure if their desired calls were correctly dropped Furthermore, the simplicity of the user interface was rated
into the RCT. E2 suggested to change the selection mode of positively.
the ’Call Exploration’ table to single selection when the RCA
is activated in order to avoid misconceptions. C. Rating
Moving Call Suggestions to the RCT: While they tried to Based on the experts’ comments, the exploration results
move the calls to the RCT, both of them were confused by the were combined and rated in a list of the most important issues
drop location inside the RCT. They stated that they were not (see Table II). The rating procedure in this list is inspired
able to recognize a drop scheme, which led to the assumption by Nielsen’s severity ratings [26]. It includes a description of
that the calls get randomly added to the table. the issue, feature requests (FR), severities (SE) as well as the
Reordering of Calls Inside the RCT: E1 did not recognize associated effort for the solution of the issue. The conducted
the possibility of reordering in the first place and suggested to rating is illustrated in Table II.
add arrow symbols near the table cells of the RCT in order to Summary: The conducted evaluation showed that the im-
make it more clear. Furthermore, E2 mentioned that long call plemented functionalities were well received by the domain
names could get cropped off inside the table cells. Thus, the experts, although there are still certain improvements to con-
reordering of multiple calls with the same structure could be sider for the future. By rating found issues and suggested
difficult to recognize. improvements (see Table II), it was possible to determine
Change Highlighting of Call Suggestions: Both experts had major areas for further development of the current prototype.
problems understanding the naming convention of the button.
Since the word ’Enlarge’ is present in both versions of this VII. L IMITATIONS
button, E2 expected the call suggestions displayed above and Following the evaluation by malware analysis experts, cer-
below the RCT to extend to the follow-up call. Furthermore, tain limitations in the scope of functionalities for this prototype
he suggested to change the description linked to the call can be determined:
suggestions to ’Calls which appear before/after dropped call Adjustment of Stored Rules: This prototype does not provide
sequence’ to clarify the meaning. E1 added to show the current a possibility to drag already stored rules from the KDB into
highlighting state in a separate label to provide a more clear the RCA. However, the workflow of malware analysts also
appearance for the user. includes the manual adaption of already found rules [4]. With
121
Rule Creation in a Knowledge-assisted Visual Analytics Prototype for Malware Analysis
the implementation of this feature, it would be possible to the whole process from scratch. A particularly interesting
cover all essential needs of malware analysts and subsequently outcome of the evaluation was that both experts expressed their
improve the analysis process even more. wish for reusing/adjusting already stored rules in the RCA.
Displaying of Rule Names: The process of rule creation can This aspect was not taken into account during the development
also lead to a situation, where analysts are constructing rules, of the current prototype version. After the evaluation, it can
which are already stored in the KDB. However, the RCA is not be considered as highly recommendable to implement this
able to recognize already known rules and consequently does feature.
not provide the rule name in the user interface. By enabling R4 Knowledge Extraction and Extension: The possibility to
the RCA to check the currently constructed rule against the drag the newly created rule and store it in the KDB was also
KDB and subsequently recognize known rules, the workflow well received by the experts. As mentioned in Section IV,
of analysts can be enhanced by e.g. preventing the storage of the implementation of this feature expands the knowledge
duplicates in the KDB. generation loop (see Figure 2). Analysts are now more flexible
Creating Rules with More than Eight Single Calls: The when it comes to the extension of the KDB. By providing
RCA offers the possibility to create rules with up to eight the possibility to create individual rules based on the experts
single calls. Nevertheless, rules can contain much more single current state of knowledge, the prototype shifts towards the
calls in reality. Since the RCA also provides call suggestions in the beginning mentioned ”human is the loop” philosophy
above and below the RCT, the capacity of space in the RCA is [20]. As a result, the overall knowledge generation process is
rather limited. To overcome this, for example Focus+Context getting more individualized and the following analysis process
and/or aggregation techniques could be applied. can draw upon different expertises.
Drop Location Visualization: As mentioned in Section VI, Lessons Learned: In the course of this design study, it became
the RCA does not provide a visual preview of the currently clear that the continuous integration of domain experts in
dragged single call in the RCT. Since both experts were interaction processes enhances the efficiency of the analysis
struggling with this issue, the implementation of a visual procedure. As the number of malware families is growing,
preview of the dragged single call would have enormous higher importance has to be attached to the integration of
potential for improving the quality of the user interface. expert knowledge [24]. At the same time, VA techniques have
to adapt to the need for more human integration in the analysis
VIII. R EFLECTION AND C ONCLUSION process [20]. With the implementation of the RCA based on
In order to complete the methodology of Sedlmair et al. the interface design prototype by Wagner et al. [16], both
[13], this section focuses on the reflection of the combined previously mentioned challenges were tackled. In cooperation
results emerging from the design and implementation of the with malware analysis experts, the implemented prototype was
prototype and its evaluation by real world users. The require- proven to enhance the knowledge generation process and to
ments (R1 - R4) described in Section III were omnipresent handle the need for increasing focus on human interactions
during all steps in this design study and serve as point of in VA. However, the evaluation also revealed that interaction
reference for the following reflection. visualization is a key factor for providing a satisfying solu-
R1 Consistency: In order to stick to the defined requirements, tion. Additionally, it showed that there are still possibilities
drag and drop operations served as the major interaction to improve the knowledge generation process. Subsequently,
technique in this prototype. This involves the addition of single humans could be even more integrated into the previously
calls and call suggestions to the RCT, the reordering of calls mentioned knowledge generation loop. In this system, the
inside the RCT as well as the storing of the created rule in the knowledge is stored based on the same rule structure as they
KDB. Both analysts were comfortable with the handling of the are generated by sequitur [17]. But the storage of knowledge
given interaction possibilities. However, the evaluation showed depends on the structure of the underlying data. Thus, also
that additional visualization is needed to make the outcome of value ranges or process structures can be used.
drag and drop operations fully transparent. Future Work: The usage of already stored rules for rule
R2 Creation Support: As mentioned in the beginning, ana- creation can be seen as the next logical step for further
lysts have to deal with a large amount of data during the explo- development of the presented prototype. Additionally, the
ration process. Therefore, the implemented prototype provides enhancement of interaction visualization should round off
call suggestions to accelerate and simplify the rule creation the overall appearance and usability of the user interface.
process. Based on the currently dropped call sequence, the In general, further exchange with malware analysis experts
previously described filter pipeline (see Section IV) validates should be taken into account in order to stay on track with the
the displayed call suggestions automatically. Additionally, the developments in the scene.
prototype offers a possibility to highlight more or less fre-
quent call suggestions, which assists analysts in their decision ACKNOWLEDGMENTS
making process. This work was supported by the Austrian Science Fund
R3 Editing Options: To ensure editability during the rule (FWF) via the “KAVA-Time” project (P25489-N23). We
creation process, the prototype provides possibilities to delete would also like to thank all focus group members and test
and reorder single calls in the RCT as well as a button to restart participants who have agreed to volunteer in this project.
122
Rule Creation in a Knowledge-assisted Visual Analytics Prototype for Malware Analysis
R EFERENCES [21] M. Alazab, S. Venkataraman, and P. Watters, “Towards Understanding
Malware Behaviour by the Extraction of API Calls,” in 2010 Second
[1] T. Micro, “Addressing big data security challenges: The right tools for Cybercrime and Trustworthy Computing Workshop, 2010, pp. 52–59.
smart protection,” US: Trend Micro, 2012. [22] A. Mohaisen, O. Alrawi, and M. Mohaisen, “AMAL: High-fidelity,
[2] E. Gandotra, D. Bansal, and S. Sofat, “Malware Analysis and Classi- behavior-based automated malware analysis and classification,” Com-
fication: A Survey,” Journal of Information Security, vol. 05, no. 02, puters & Security, vol. 52, pp. 251–266, 2015.
p. 56, 2014. [23] R. Gove, J. Saxe, S. Gold, A. Long, and G. Bergamo, “SEEM: A
[3] M. Egele, T. Scholte, E. Kirda, and C. Kruegel, “A Survey on Automated Scalable Visualization for Comparing Multiple Large Sets of Attributes
Dynamic Malware-analysis Techniques and Tools,” ACM Computing for Malware Analysis,” in Proceedings of the Eleventh Workshop on
Surveys, vol. 44, no. 2, pp. 6:1–6:42, 2008. Visualization for Cyber Security, ser. VizSec ’14. New York, NY,
[4] M. Wagner, W. Aigner, A. Rind, H. Dornhackl, K. Kadletz, R. Luh, USA: ACM, 2014, pp. 72–79.
and P. Tavolato, “Problem Characterization and Abstraction for Visual [24] M. Wagner, F. Fischer, R. Luh, A. Haberson, A. Rind, D. A. Keim, and
Analytics in Behavior-based Malware Pattern Analysis,” in Proceedings W. Aigner, “A survey of visualization systems for malware analysis,” in
of the Eleventh Workshop on Visualization for Cyber Security. ACM, Eurographics Conference on Visualization (EuroVis) - STARs, R. Borgo,
2014, pp. 9–16. F. Ganovelli, and I. Viola, Eds. Cagliari (Sardinia / Italy): The
Eurographics Association, 2015, pp. 105–125.
[5] K. Fu, Syntactic pattern recognition and applications, ser. Prentice-Hall
[25] H. Sharp, Y. Rogers, and J. Preece, Interaction Design: Beyond Human
advanced reference series: Computer science. Prentice-Hall, 1982.
Computer Interaction. John Wiley & Sons, 2007.
[6] R. Gonzalez and M. Thomason, Syntactic pattern recognition: an intro-
[26] J. Nielsen, Usability Engineering. Morgan Kaufmann Publishers Inc.,
duction. Addison-Wesley Publishing Company,Reading, MA, 1978.
1993.
[7] H. Dornhackl, K. Kadletz, R. Luh, and P. Tavolato, “Malicious Behavior
Patterns,” in IEEE International Symposium on Service Oriented System
Engineering, 2014, pp. 384–389.
[8] E. Kandogan and U. Engelke, “Agile Visual Analytics in Data Science
Systems,” in IEEE International Conference on High Performance
Computing and Communications; IEEE International Conference on
Smart City; IEEE International Conference on Data Science and Systems
(HPCC/SmartCity/DSS), 2016, pp. 1512–1519.
[9] D. Keim, J. Kohlhammer, G. Ellis, and F. Mansmann, Mastering the
Information Age Solving Problems with Visual Analytics. Eurographics
Association, 2010.
[10] M. Chen, D. Ebert, H. Hagen, R. S. Laramee, R. v. Liere, K. L. Ma,
W. Ribarsky, G. Scheuermann, and D. Silver, “Data, Information, and
Knowledge in Visualization,” IEEE Computer Graphics and Applica-
tions, vol. 29, no. 1, pp. 12–19, 2009.
[11] X. Wang, D. H. Jeong, W. Dou, S.-W. Lee, W. Ribarsky, and R. Chang,
“Defining and applying knowledge conversion processes to a visual
analytics system,” Computers & Graphics, vol. 33, no. 5, pp. 616–623,
2009.
[12] D. Lee, I. S. Song, K. J. Kim, and J. h. Jeong, “A Study on Malicious
Codes Pattern Analysis Using Visualization,” in International Confer-
ence on Information Science and Applications, 2011, pp. 1–5.
[13] M. Sedlmair, M. Meyer, and T. Munzner, “Design Study Methodology:
Reflections from the Trenches and the Stacks,” IEEE Transactions on
Visualization and Computer Graphics, vol. 18, no. 12, pp. 2431–2440,
2012.
[14] J. Schick, M. Wagner, N. Thür, C. Niederer, G. Rottermanner,
P. Tavolato, and W. Aigner, “Supporting knowledge-assisted rule cre-
ation in a behavior-based malware analysis prototype,” in Poster of the
14th Workshop on Visualization for Cyber Security (VizSec), Phoenix,
Arizona, USA, 2017.
[15] M. Wagner, A. Rind, N. Thür, and W. Aigner, “A knowledge-assisted
visual malware analysis system: Design, validation, and reflection of
kamas,” Computers & Security, vol. 67, pp. 1–15, 2017.
[16] M. Wagner, A. Rind, G. Rottermanner, C. Niederer, and W. Aigner,
“Knowledge-assisted rule building for malware analysis,” in Proceedings
of the 10th Forschungsforum der österreichischen Fachhochschulen, FH
des BFI Wien. Vienna, Austria: FH des BFI Wien, 2016.
[17] R. Luh, G. Schramm, M. Wagner, and S. Schrittwieser, “Sequitur-based
inference and analysis framework for malicious system behavior,” in
Workshop for Formal Methods in Software Engineering (ForSE), 3rd
International Conference on Information Systems Security and Privacy
(ICISSP), SCITEPRESS Digital Library. Porto, Portugal: SCITEPRESS
Digital Library, 2017, pp. 632–643.
[18] J. J. Thomas and K. A. Cook, “A visual analytics agenda,” IEEE
Computer Graphics and Applications, vol. 26, no. 1, pp. 10–13, 2006.
[19] D. Sacha, A. Stoffel, F. Stoffel, B. C. Kwon, G. Ellis, and D. A. Keim,
“Knowledge Generation Model for Visual Analytics,” IEEE Transactions
on Visualization and Computer Graphics, vol. 20, no. 12, pp. 1604–
1613, 2014.
[20] A. Endert, M. S. Hossain, N. Ramakrishnan, C. North, P. Fiaux,
and C. Andrews, “The human is the loop: new directions for visual
analytics,” Journal of Intelligent Information Systems, vol. 43, no. 3,
pp. 411–435, 2014.
123