Software risk assessment and security analysis in early design of enterprise applications
MetadataShow full item record
Today’s modern business organizations increasingly rely on software to increase their competitive advantages. Enterprise applications are the software that an enterprise uses to perform business functions in order to obtain higher operational efficiency, lower cost, and subsequently increased profitability. Designing such software is highly complex and rarely monolithic. Despite many technological advances, enterprise application designers are facing several challenges. First, they need to ensure that the software does not only function correctly and reliably but it must also satisfy the required business rules. A perfectly performed enterprise application can still put the business of an enterprise deploying it at risk if it does not support sound business logic. Second, enterprise applications tend to be more vulnerable to security than other types of software. This is partly due to the fact that, with advanced in the Internet Technology, enterprise applications are typically accessed from almost anywhere by a large number of users with diverse knowledge and skills. This vulnerability is a concern especially when the applications deal with sensitive information or tasks. Most approaches to security management focus on specifying security policies to constraint access privileges of the users according to their roles in the organizations. However, having security policies in place does not guarantee their conformances. Most existing work does not address this issue. Finally, the traditional approach to address security as an additional feature after the application has been developed can be extremely costly or in the worst case infeasible. The majority of software security issues are caused by design flaws that may not be fixable by patching. For the development of large and complex enterprise applications, such flaws can lead to devastating consequences. This thesis addresses the above issues by presenting analytical approaches to (1) assessment of risks associated with an enterprise application that has adverse consequences to the enterprise’s business objectives, and (2) security analysis of an enterprise application in its early design stage. In particular, the approaches employs a unified model for representing an enterprise application early design, business rules, and role-based access control model in the form of an annotated activity diagram. Unlike previous work in software risk assessment, the proposed approach concentrates on risks of software design in business contexts. The security analysis in this thesis focuses on a conflict of interest policy to prevent frauds and abuses that can be caused by granting particular users with too many access privileges/authorities. Based on the concepts of different types of separation of duty along with mutually exclusive roles, the analysis verifies if the policy is violated from a given set of user role assignment prior to run-time. The thesis illustrates the approach to software risk assessment and the approach to security analysis with early designs of enterprise applications for online shopping and for loan application, respectively.