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