Reducing information security vulnerabilities in software is a daunting task that organizations face today. Industry reports on information security breaches indicate that web applications remain a persistent target for attacks (Hewlett-Packard Development Company 2011). In a study by the Ponemon Institute (2012b) on application security, developers cited mobile applications as the most likely to disrupt their organizations' business operations, yet 65% of those surveyed indicated that mobile applications in their organizations are not tested. Of the 256 developers surveyed in the study, 79% indicated their organizations had no or an inefficient, ad-hoc process for building security into their applications, and 71% believed that security was not adequately covered in the systems development lifecycle (SDLC) within their organizations. Thus, information systems (IS) security at the application-level is needed, yet under-developed, ultimately contributing to expensive data breaches.
According to the Ponemon Institute (2012a), data breaches cost the average firm $194 USD for each customer record compromised and $5.5 million USD per incident. In the widely-referenced annual Verizon Data Breach Investigations Report (2) (2013), financial motives accounted for 75% of their investigated data breaches, with financial payments and user credentials being the most targeted data types. In spite of the high costs of data breach notifications when personal information has been compromised, less than 35% of respondents in a study by PricewaterhouseCoopers (2013) believed their organizations had an accurate inventory of where personal data for employees and customers are collected, transmitted, and stored--making it less likely that these data will be adequately protected.
These findings suggest that the time is ripe for IS professionals to begin incorporating security into the analysis and design of an IS as a means to reduce security vulnerabilities and data breaches. While leading security frameworks for integrating security into the SDLC advocate planning for security during software initiation (NIST 2008) and integrating security into software design (Microsoft 2010), guidance is limited on how security may be integrated into the "analysis" phase of the SDLC as systems analysts gather system requirements. Therefore, this teaching case is focused on integrating security into conceptual (i.e., logical) models developed in the analysis and early design phases of the SDLC (see Figure 1) while systems analysts gather functional requirements. In doing so, security will be more tightly integrated into system design. Moreover, conceptual models that incorporate security can lay a foundation from which systems developers, systems engineers, and security professionals can build upon in subsequent design, development, implementation, and maintenance phases of the SDLC.
System modeling has traditionally focused on functional requirements (i.e., what the system should do), typically excluding security requirements (i.e., what and how the system should protect). Though computer scientists have proposed adding security to UML use case diagrams (Sindre and Opdahl 2000; 2008) and modeling security requirements for specific types of applications such as web applications (Salini and Kanmani 2013) or specific system types such as distributed systems (Uzunov et al. 2012), these methods have not been widely adapted in IS systems analysis and design courses. Indeed, scant coverage of security has been found in systems analysis and design textbooks (Biros et al. 2007; Parrish et al. 2009). In absence of including security earlier in the SDLC, security as part of systems development is reactionary and typically "bolted on" during system implementation or maintenance (Parrish et al. 2009; Ponemon Institute 2012b; van Wyk and McGraw 2005), at which point it may be cost prohibitive to make significant security design changes. …