Security Requirements Engineering


Book Description

A novel, model-driven approach to security requirements engineering that focuses on socio-technical systems rather than merely technical systems. Security requirements engineering is especially challenging because designers must consider not just the software under design but also interactions among people, organizations, hardware, and software. Taking this broader perspective means designing a secure socio-technical system rather than a merely technical system. This book presents a novel, model-driven approach to designing secure socio-technical systems. It introduces the Socio-Technical Modeling Language (STS-ML) and presents a freely available software tool, STS-Tool, that supports this design approach through graphical modeling, automated reasoning capabilities to verify the models constructed, and the automatic derivation of security requirements documents. After an introduction to security requirements engineering and an overview of computer and information security, the book presents the STS-ML modeling language, introducing the modeling concepts used, explaining how to use STS-ML within the STS method for security requirements, and providing guidelines for the creation of models. The book then puts the STS approach into practice, introducing the STS-Tool and presenting two case studies from industry: an online collaborative platform and an e-Government system. Finally, the book considers other methods that can be used in conjunction with the STS method or that constitute an alternative to it. The book is suitable for course use or as a reference for practitioners. Exercises, review questions, and problems appear at the end of each chapter.




Software Security Engineering


Book Description

Software Security Engineering draws extensively on the systematic approach developed for the Build Security In (BSI) Web site. Sponsored by the Department of Homeland Security Software Assurance Program, the BSI site offers a host of tools, guidelines, rules, principles, and other resources to help project managers address security issues in every phase of the software development life cycle (SDLC). The book’s expert authors, themselves frequent contributors to the BSI site, represent two well-known resources in the security world: the CERT Program at the Software Engineering Institute (SEI) and Cigital, Inc., a consulting firm specializing in software security. This book will help you understand why Software security is about more than just eliminating vulnerabilities and conducting penetration tests Network security mechanisms and IT infrastructure security services do not sufficiently protect application software from security risks Software security initiatives should follow a risk-management approach to identify priorities and to define what is “good enough”–understanding that software security risks will change throughout the SDLC Project managers and software engineers need to learn to think like an attacker in order to address the range of functions that software should not do, and how software can better resist, tolerate, and recover when under attack




Requirements Engineering for Safety-Critical Systems


Book Description

Safety-Critical Systems (SCS) are increasingly present in people's daily activities. In the means of transport, in medical treatments, in industrial processes, in the control of air, land, maritime traffic, and many other situations, we use and depend on SCS. The requirements engineering of any system is crucial for the proper development of the same, and it becomes even more relevant for the development of SCS. Requirements Engineering is a discipline that focuses on the development of techniques, methods, processes, and tools that assist in the design of software and systems, covering the activities of elicitation, analysis, modeling and specification, validation, and management of requirements. The complete specification of system requirements establishes the basis for its architectural design. It offers a description of the functional and quality aspects that should guide the implementation and system evolution. In this book, we discuss essential elements of requirements engineering applied to SCS, such as the relationship between safety/hazard analysis and requirements specification, a balance between conservative and agile methodologies during SCS development, the role of requirements engineering in safety cases, and requirements engineering maturity model for SCS. This book provides relevant insights for professionals, students, and researchers interested in improving the quality of the SCS development process, making system requirements a solid foundation for improving the safety and security of future systems.




Requirements Engineering for Software and Systems, Second Edition


Book Description

As requirements engineering continues to be recognized as the key to on-time and on-budget delivery of software and systems projects, many engineering programs have made requirements engineering mandatory in their curriculum. In addition, the wealth of new software tools that have recently emerged is empowering practicing engineers to improve their requirements engineering habits. However, these tools are not easy to use without appropriate training. Filling this need, Requirements Engineering for Software and Systems, Second Edition has been vastly updated and expanded to include about 30 percent new material. In addition to new exercises and updated references in every chapter, this edition updates all chapters with the latest applied research and industry practices. It also presents new material derived from the experiences of professors who have used the text in their classrooms. Improvements to this edition include: An expanded introductory chapter with extensive discussions on requirements analysis, agreement, and consolidation An expanded chapter on requirements engineering for Agile methodologies An expanded chapter on formal methods with new examples An expanded section on requirements traceability An updated and expanded section on requirements engineering tools New exercises including ones suitable for research projects Following in the footsteps of its bestselling predecessor, the text illustrates key ideas associated with requirements engineering using extensive case studies and three common example systems: an airline baggage handling system, a point-of-sale system for a large pet store chain, and a system for a smart home. This edition also includes an example of a wet well pumping system for a wastewater treatment station. With a focus on software-intensive systems, but highly applicable to non-software systems, this text provides a probing and comprehensive review of recent developments in requirements engineering in high integrity systems.




Cyber Security Engineering


Book Description

Cyber Security Engineering is the definitive modern reference and tutorial on the full range of capabilities associated with modern cyber security engineering. Pioneering software assurance experts Dr. Nancy R. Mead and Dr. Carol C. Woody bring together comprehensive best practices for building software systems that exhibit superior operational security, and for considering security throughout your full system development and acquisition lifecycles. Drawing on their pioneering work at the Software Engineering Institute (SEI) and Carnegie Mellon University, Mead and Woody introduce seven core principles of software assurance, and show how to apply them coherently and systematically. Using these principles, they help you prioritize the wide range of possible security actions available to you, and justify the required investments. Cyber Security Engineering guides you through risk analysis, planning to manage secure software development, building organizational models, identifying required and missing competencies, and defining and structuring metrics. Mead and Woody address important topics, including the use of standards, engineering security requirements for acquiring COTS software, applying DevOps, analyzing malware to anticipate future vulnerabilities, and planning ongoing improvements. This book will be valuable to wide audiences of practitioners and managers with responsibility for systems, software, or quality engineering, reliability, security, acquisition, or operations. Whatever your role, it can help you reduce operational problems, eliminate excessive patching, and deliver software that is more resilient and secure.




Requirements Engineering for Digital Health


Book Description

Healthcare and well-being have captured the attention of established software companies, start-ups, and investors. Software is starting to play a central role for addressing the problems of the aging society and the escalating cost of healthcare services. Enablers of such digital health are a growing number of sensors for sensing the human body and communication infrastructure for remote meetings, data sharing, and messaging. The challenge that lies in front of us is how to effectively make use of these capabilities, for example to empower patients and to free the scarce resources of medical personnel. Requirements engineering is the process by which the capabilities of a software product are aligned with stakeholder needs and a shared understanding between the stakeholders and development team established. This book provides guide for what to look for and do when inquiring and specifying software that targets healthcare and well-being, helping readers avoid the pitfalls of the highly regulated and sensible healthcare domain are and how they can be overcome. This book brings together the knowledge of 22 researchers, engineers, lawyers, and CEOs that have experience in the development of digital health solutions. It represents a unique line-up of best practices and recommendations of how to engineer requirements for digital health. In particular the book presents: · The area of digital health, e-health, and m-health · Best practice for requirements engineering based on evidence from a large number of projects · Practical step-by-step guidelines, examples, and lessons-learned for working with laws, regulations, ethical issues, interoperability, user experience, security, and privacy · How to put these many concerns together for engineering the requirements of a digital health solution and for scaling a digital health product For anybody who intends to develop software for digital health, this book is an introduction and reference with a wealth of actionable insights. For students interested in understanding how to apply software to healthcare, the text introduces key topics and guides further studies with references to important literature.




Integrating Security and Software Engineering: Advances and Future Visions


Book Description

"This book investigates the integration of security concerns into software engineering practices, drawing expertise from the security and the software engineering community; and discusses future visions and directions for the field of secure software engineering"--Provided by publisher.




Security Engineering for Cloud Computing: Approaches and Tools


Book Description

"This book provides a theoretical and academic description of Cloud security issues, methods, tools and trends for developing secure software for Cloud services and applications"--Provided by publisher.




Fundamentals of Secure System Modelling


Book Description

This book provides a coherent overview of the most important modelling-related security techniques available today, and demonstrates how to combine them. Further, it describes an integrated set of systematic practices that can be used to achieve increased security for software from the outset, and combines practical ways of working with practical ways of distilling, managing, and making security knowledge operational. The book addresses three main topics: (1) security requirements engineering, including security risk management, major activities, asset identification, security risk analysis and defining security requirements; (2) secure software system modelling, including modelling of context and protected assets, security risks, and decisions regarding security risk treatment using various modelling languages; and (3) secure system development, including effective approaches, pattern-driven development, and model-driven security. The primary target audience of this book is graduate students studying cyber security, software engineering and system security engineering. The book will also benefit practitioners interested in learning about the need to consider the decisions behind secure software systems. Overall it offers the ideal basis for educating future generations of security experts.




Software Security Engineering


Book Description

Software engineering has established techniques, methods and technology over two decades. However, due to the lack of understanding of software security vulnerabilities, we have been not successful in applying software engineering principles when developing secured software systems. Therefore software security can not be added after a system has been built as seen on today's software applications. This book provides concise and good practice design guidelines on software security which will benefit practitioners, researchers, learners, and educators. Topics discussed include systematic approaches to engineering; building and assuring software security throughout software lifecycle; software security based requirements engineering; design for software security; software security implementation; best practice guideline on developing software security; test for software security and quality validation for software security.