<!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>Research Challenges in Empowering Agile Teams with Security Knowledge Based on Public and Private Information Sources</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Michael Felderer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Irdin Pekaric</string-name>
          <email>irdin.pekaricg@uibk.ac.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science University of Innsbruck Technikerstr.</institution>
          <addr-line>21a, A-6020 Innsbruck</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The application of agile methods has become increasingly popular that now it is also used in critical system development. Because of this, it is essential to consider the security aspects during agile development. Despite security being knowledge-intensive, developers and product owners in agile projects still have low security knowledge. To overcome this problem, people require more access to easily processable and up-to-date security information, which should be provided on-time and without excessive e ort. In this paper, we propose a framework for security data extraction, processing and application. The framework consists of two main components: a security data collection and analysis component as well as a security knowledge generation component. However, the development and process integration of such a framework poses many challenges that are discussed in this paper.</p>
      </abstract>
      <kwd-group>
        <kwd>agile development</kwd>
        <kwd>data extraction</kwd>
        <kwd>data processing</kwd>
        <kwd>data analysis</kwd>
        <kwd>security knowledge security engineering</kwd>
        <kwd>security</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Agile software development has become increasingly popular to the point that
now it is even used for critical system development [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1,2,3</xref>
        ]. For this reason, agile
methods are used in situations where security issues in a system may impact
safety. In agile software development, there is a focus on the feature
implementation and delivery of value to the customer. Consequently, security aspects are
often neglected [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], which may have severe implications for the developed
software products or services. To counter this, developers require security knowledge,
Copyright c 2017 by the paper's authors. Copying permitted for private and academic
purposes.
which can, for example, be communicated by trainings or guidelines. In a recent
survey, Oyetoyan et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] found that the developers' con dence in their software
security knowledge is generally low. This is why more e ort should be spent on
increasing the level of security knowledge in companies. This is especially true
in agile software development because there is a strong dependency on people,
rather than the processes and documents.
      </p>
      <p>In traditional projects this problem is often addressed by an explicit security
o cer who is responsible for security issues and transferring security knowledge
to developers. However, in an agile development process, where iterations are
short and changes are performed continuously, this is often not the case.</p>
      <p>
        When it comes to an agile context, people require easily processable and
upto-date security information, meaning it should be provided on-time and
without excessive e ort. To support this, data can be extracted and processed from
both public and private information sources, such as vulnerability databases,
forums, blogs, conferences on security, or emails. Afterwards, the security measures
should be based on the extracted data. Activities in this direction are currently
performed in the cyber threat intelligence sharing [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], where cyber threat
information is shared within a community to support IT-security management. The
focus of this paper is not on IT-security management, but on supporting agile
software development teams. On the other hand, the focus of cyber threat
intelligence sharing is on supporting IT-security management, but not agile software
development teams. Nevertheless, tactics, techniques and procedures developed
for cyber threat intelligence sharing can be reused.
      </p>
      <p>
        Intelligence is also one of the four domains of the Building Security In
Maturity Model (BSIMM) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Intelligence is summarized as "Practices that result
in collections of corporate knowledge used in carrying out software security
activities throughout the organization. Collections include both proactive security
guidance and organizational threat modeling."
      </p>
      <p>In order to empower agile teams with security knowledge, we want to present
a framework for security data extraction, processing and application, and related
research challenges.</p>
      <p>Consequently, the remainder of this challenge paper is structured as follows:
Section 2 sketches a framework for security data extraction, processing and
application. Section 3 discusses research challenges on the basis of the de ned
framework. Finally, Section 4 concludes the paper.
2</p>
      <p>Framework for security data extraction, processing and
application
In this section, we give an overview of a framework for security data
extraction, processing and application. Figure 1 provides an overview of the proposed
framework.</p>
      <p>The proposed framework consists of two major components, i.e., a Security
Data Collection and Analysis Component and a Security Knowledge Generation
Component. In the following, we explain these two components in more detail.</p>
      <p>The Security Data Collection and Analysis Component is responsible for the
following: data extraction from various data sources, quality assessment of data
and data merging in order to provide the data in a processable form.</p>
      <p>
        Currently, there are several available online sources, which store security
related information. These include the Common Vulnerabilities and Exposures
(CVE) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] as well as the Malware Information Sharing Platform (MISP) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
Many well-known websites, such as Twitter or YouTube, provide APIs that can
be used to search for security data. In addition, data can be collected using public
sources like security forums and websites. While each of the sources retains the
data in di erent formats, there is no uni ed approach available for obtaining
such valuable information. Thus, it is necessary to create custom extractors
for each of the sources. In the framework, data extraction is conducted using
multiple adapters, which represent light-weight algorithms whose sole purpose is
to retrieve the data and store it into a central local database. They all implement
the same interface. Each adapter is categorized into a version, which corresponds
to a version of a source. By doing so, it becomes easier to identify which adapter
should be plugged to a certain source because the security online stores are
regularly updated. Consequently, this allows adapters to be reused and with
only minor changes applied to any new versions of security databases.
      </p>
      <p>Once the data is extracted and available, it must be formatted, the quality
assessed and then merged. This is done through the Security Data Collection
and Analysis Component. Because of the type of information being handled and
the fact that there are di erent data elds to deal with, this is a highly complex
task. For instance, the CVE database contains information about vulnerabilities
and exposures, while the MISP database consists of malware and threat-related
data, and it is expected to have multiple mismatches. In order to overcome such
di erences, a general format is proposed, which includes information such as
name, type, year, target platform, description and reference.</p>
      <p>The Security Knowledge Generation Component processes the extracted
security information in order to provide it for di erent roles and various purposes in
the agile development process. For instance, a developer can be provided with a
security dashboard or concrete guidelines on how code can be secured or security
properties can be tested. As for the product owner, they can receive guidelines
on security requirements. Finally, when developing a safety critical system, a
developer who is responsible for the system architecture can be provided with
generated attack models that can be integrated with available system models to
perform an integrated safety-security analysis.</p>
      <p>An additional input for the Security Knowledge Generation Component is
the event data, which is gathered by scanning local networks and proprietary
software applications. Because of the fact that there are available software
solutions that provide this service, it is unnecessary to reinvent the wheel. It is
su cient to apply Nessus or other similar applications.</p>
      <p>Another signi cant aspect is keeping track of private data sources such as
user pro les or email logs. It is important to keep track of users that have
access to a project. This includes their access level information and action logs.
Based on the available user data, it is possible to apply the user anomaly
detection (UAD) algorithms and search for a deviation among di erent users. If
actively monitored and regularly updated, it will help detect possible intrusions
via masquerade attacks, which can signi cantly impact security. In addition, the
monitoring of certain private user sources can lead to the enrichment of collected
security related information. For instance, custom email scanners could search
for a speci c set of keywords that are known to potentially impact security. Once
they detect a possible security issue, the Security Knowledge Generation
Component will generate alerts and reports for the security o cer. By doing so, it
is possible to provide an active guidance to the agile team members and enforce
the required security mechanisms.</p>
      <p>All the security related information that were collected using the Security
Data Collection and Analysis Component as well as the independent modules
are used by the Security Knowledge Generation Component, wherein the data is
correlated in order to produce a valuable input for a developer or product owner.
The component stores all the generated security information into the knowledge
database. This data store is also used to generate additional information by
correlating all the resources that are available within. Furthermore, when necessary,
a team member can provide additional input for the Security Knowledge
Generation Component. The output of the framework includes reports, alerts and
charts. Based on the result that is provided by this component, the alerts of
di erent intensities will be generated. For example, if there was an indication
that there is a vulnerability that could cause minor damage to a system, such
as gaining access to the part of a system where valuable information cannot
be retrieved, an alert of low intensity would be generated. On the other hand,
if the Security Knowledge Generation Component concludes that the attacker
could gain access to valuable data, such as the account information, an alert of
high intensity would be created. The framework provides support for 10 types of
alert intensities, thereby giving the agile software development team the ability
to prioritize security issues and resolve them e ectively.
3</p>
    </sec>
    <sec id="sec-2">
      <title>Research Challenges</title>
      <p>This section outlines relevant challenges in empowering agile teams with security
knowledge based on public and private information sources.</p>
      <p>In order to develop a bene cial security knowledge database, it is necessary
to extract high-quality security information. There are various sources that are
available as online data stores. However, the identi cation of such sources is a
highly challenging task. In fact, combining too many sources may result in an
overpopulated database, making it extremely di cult to devise security
knowledge due to the diversity of data. On the other hand, the consolidation of a small
number of sources could result in an inability to devise information that are more
valuable than the ones already present in the online security data stores. Thus,
to avoid these related issues that may arise, the most appropriate approach is to
combine small number of sources and then gradually increase the number when
required. Overall, only a small amount (about 5%) of the information found in
general sources is somewhat relevant.</p>
      <p>Due to the diversity of available sources, it becomes increasingly di cult to
prioritize sources and to assess their validity. For instance, a certain security
database may store data that is considered to be more valuable than another
database. Therefore, it is necessary to develop a metric that will determine the
suitability of each source.</p>
      <p>Another challenge that needs to be addressed is the extraction of data.
Considering that most of the sources keep data in an unstructured and
semistructured format, it will be necessary to create custom adapters for each speci c
source.</p>
      <p>Once the data is collected, it must be merged, thereby bringing a whole new
group of challenges, such as devising a general format, managing inconsistencies,
assessing information that are relative to each other and selecting information
based on stakeholder requirements.</p>
      <p>
        In terms of the general format for security related information, it is possible
to apply the Structured Threat Information eXpression (STIX) [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], Trusted
Automated eXchange of Indicator Information (TAXII) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and Cyber
Observable eXpression (CybOX) [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], which are formats used to describe cyber-threat
information. However, depending on the type of data that will be processed, it
might be impossible to transform it to match any of the aforementioned
standards. Furthermore, it is to be expected that some data source will have the
same or similar data. For this reason, it is essential to accurately compare and
remove any redundancies. The last challenge to consider when merging security
related data is the eld in which the stakeholder conducts the business. In order
to avoid the generation of security artifacts, which will not be of particular value
to a stakeholder, it is necessary to apply lters. The lters will iterate through
the security data and then remove any unrelated information.
      </p>
      <p>
        It might be very di cult to fully automate the proposed framework. While it
is possible to automate the extraction and merging of security related data, the
automation of the Security Knowledge Generation Component will be a
challenging task. Therefore, the solution is expected to be semi-automated and to
provide recommendations for speci c roles such as developers. This will add the
support for speci c tasks such as the de nition of guidelines for secure coding.
The key prerequisites to ensure continuous security [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] and the continuous
consideration of security aspects in all the phases of development are an automated
analysis and the recommendation of information for speci c tasks.
      </p>
      <p>In order to fully utilize generated security artifacts, it is possible to use them
for attack model generation, which would provide an additional input for a
security o cer. Generated attack models will surely improve the process of
penetration testing and might even reduce the tendency of hiring external penetration
testers, which is very common in the agile software development life-cycle.
However, the development and generation of attack models is a formidable task. It
requires advanced knowledge in the area of modeling and software security. In
addition, it is exceedingly di cult to generate zero-day attacks because the
security data that describes such attacks is not available. Nonetheless, by correlating
multiple generated security artifacts, it might be possible to address this issue.</p>
      <p>Finally, the last challenge is the integration of the proposed framework with
the agile software development process. Since the focus of agile development is
on early and continuous delivery, it might be challenging to integrate security
related artifacts with the current artifacts. In addition, another obstacle is the lack
of general security knowledge of agile teams. Therefore, it is necessary to provide
advantageous information at the proper stage of agile software development life
cycle.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Conclusion</title>
      <p>This paper presented a framework for security data extraction, processing and
application as well as related research challenges. The framework consists of a
security data collection and analysis component as well as a security
knowledge generation component. In the future, we will be investigating the stated
challenges in the context of agile system development projects.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Fitzgerald</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stol</surname>
            ,
            <given-names>K.J.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>O</given-names>
            <surname>'Sullivan</surname>
          </string-name>
          ,
          <string-name>
            <surname>R.</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O</given-names>
            <surname>'Brien</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          :
          <article-title>Scaling agile methods to regulated environments: An industry case study</article-title>
          .
          <source>In: Software Engineering (ICSE)</source>
          ,
          <year>2013</year>
          35th International Conference on,
          <source>IEEE</source>
          (
          <year>2013</year>
          )
          <volume>863</volume>
          {
          <fpage>872</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>McHugh</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McCa ery</surname>
          </string-name>
          , F.,
          <string-name>
            <surname>Coady</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>An agile implementation within a medical device software organisation</article-title>
          .
          <source>In: International Conference on Software Process Improvement and Capability Determination</source>
          , Springer (
          <year>2014</year>
          )
          <volume>190</volume>
          {
          <fpage>201</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Baca</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boldt</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carlsson</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jacobsson</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A novel security-enhanced agile software development process applied in an industrial setting</article-title>
          .
          <source>In: Availability, Reliability and Security (ARES)</source>
          ,
          <year>2015</year>
          10th International Conference on,
          <source>IEEE</source>
          (
          <year>2015</year>
          )
          <volume>11</volume>
          {
          <fpage>19</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Cruzes</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Felderer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oyetoyan</surname>
          </string-name>
          , T.D.,
          <string-name>
            <surname>Gander</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pekaric</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>How is security testing done in agile teams? a cross-case analysis of four software teams</article-title>
          .
          <source>In: International Conference on Agile Software Development</source>
          , Springer (
          <year>2017</year>
          )
          <volume>201</volume>
          {
          <fpage>216</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Oyetoyan</surname>
          </string-name>
          , T.D.,
          <string-name>
            <surname>Cruzes</surname>
            ,
            <given-names>D.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jaatun</surname>
            ,
            <given-names>M.G.</given-names>
          </string-name>
          :
          <article-title>An empirical study on the relationship between software security skills, usage and training needs in agile settings</article-title>
          .
          <source>In: Availability, Reliability and Security (ARES)</source>
          ,
          <year>2016</year>
          11th International Conference on,
          <source>IEEE</source>
          (
          <year>2016</year>
          )
          <volume>548</volume>
          {
          <fpage>555</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Johnson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Badger</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Waltermire</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Snyder</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Skorupka</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Guide to cyber threat information sharing</article-title>
          .
          <source>NIST Special Publication</source>
          <volume>800</volume>
          (
          <year>2016</year>
          )
          <fpage>150</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>McGraw</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Migues</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>West</surname>
          </string-name>
          , J.:
          <source>Building security in maturity model bsimm v6. 0</source>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. Mitre:
          <article-title>Common vulnerabilities and exposures</article-title>
          . https://cve.mitre.org/
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Andre</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Malware information sharing platform</article-title>
          . http://www.misp-project.org/
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. OASIS:
          <article-title>Structured threat information expression</article-title>
          . https://stixproject.github.io/
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. OASIS:
          <article-title>Trusted automated exchange of indicator information</article-title>
          . https://taxiiproject.github.io/
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. OASIS:
          <article-title>Cyber observable expression</article-title>
          . https://cyboxproject.github.io/
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Fitzgerald</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stol</surname>
            ,
            <given-names>K.J.:</given-names>
          </string-name>
          <article-title>Continuous software engineering: A roadmap and agenda</article-title>
          .
          <source>Journal of Systems and Software</source>
          <volume>123</volume>
          (
          <year>2017</year>
          )
          <volume>176</volume>
          {
          <fpage>189</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>