For ensuring a software system's security, it is vital to keep up with changing security precautions, attacks, and mitigations. Although model-based development enables addressing security already at design-time, design models are often inconsistent with the implementation or among themselves. An additional burden are variants of software systems. To ensure security in this context, we present an approach based on continuous automated change propagation, allowing security experts to specify security requirements on the most suitable system representation. We automatically check all system representations against these requirements and provide security-preserving refactorings for preserving security compliance. For both, we show the application to variant-rich software systems. To support legacy systems, we allow to reverse-engineer variability-aware UML models and semi-automatically map existing design models to the implementation. Besides evaluations of the individual contributions, we demonstrate the approach in two open-source case studies, the iTrust electronics health records system and the Eclipse Secure Storage.
Zusammenfassung: This open access book provides an overview of the dissertations of the five nominees for the Ernst Denert Award for Software Engineering in 2022. The prize, kindly sponsored by the Gerlind & Ernst Denert Stiftung, is awarded for excellent work within the discipline of Software Engineering, which includes methods, tools and procedures for better and efficient development of high quality software. An essential requirement for the nominated work is its applicability and usability in industrial practice. The book contains five papers that describe the works by Jannik Fischbach (Netlight Consulting GmbH and fortiss GmbH), who won the award, entitled Conditional Statements in Requirements Artifacts: Logical Interpretation, Use Cases for Automated Software Engineering, and Fine-Grained Extraction, Christian Kirchhof's (RWTH Aachen University) From Design to Reality: An Overview of the MontiThings Ecosystem for Model-Driven IoT Applications, Sven Peldszus's (Ruhr University Bochum) research about Security Compliance in Model-driven Development of Software Systems in Presence of Long-Term Evolution and Variants, Florian Rademacher's (RWTH Aachen University) work on Model-Driven Engineering of Microservice Architectures, and Alexander Trautsch's (University of Passau) Usefulness of Automatic Static Analysis Tools: Evidence from Four Case Studies. The chapters describe key findings of the respective works, show their relevance and applicability to practice and industrial software engineering projects, and provide additional information and findings that have only been discovered afterwards, e.g. when applying the results in industry. This way, the book is not only interesting to other researchers, but also to industrial software professionals who would like to learn about the application of state-of-the-art methods in their daily work.
Attacks against computer systems can cause considerable economic or physical damage. High-quality development of security-critical systems is difficult, mainly because of the conflict between development costs and verifiable correctness. Jürjens presents the UML extension UMLsec for secure systems development. It uses the standard UML extension mechanisms, and can be employed to evaluate UML specifications for vulnerabilities using a formal semantics of a simplified fragment of UML. Established rules of security engineering can be encapsulated and hence made available even to developers who are not specialists in security. As one example, Jürjens uncovers a flaw in the Common Electronic Purse Specification, and proposes and verifies a correction. With a clear separation between the general description of his approach and its mathematical foundations, the book is ideally suited both for researchers and graduate students in UML or formal methods and security, and for advanced professionals writing critical applications.
Are you ready to take charge of fortifying your Linux systems against the relentless tide of cyber threats? "Mastering Linux Security" is your comprehensive guide to mastering the art of securing Linux environments against a spectrum of digital dangers. Whether you're an IT professional guarding critical servers or a Linux enthusiast striving to bolster personal security, this book equips you with the knowledge and tools to establish an unyielding defense. Key Features: 1. Thorough Exploration of Linux Security: Dive deep into the core principles of Linux security, understanding the intricacies of user management, permissions, and cryptography. Develop a solid foundation that empowers you to create a secure infrastructure. 2. Understanding Cyber Threats: Navigate the dynamic landscape of cyber threats. Learn about malware, exploits, social engineering attacks, and more, enabling you to stay ahead of adversaries and safeguard your systems effectively. 3. Hardening Linux Systems: Discover strategies for hardening Linux systems to reduce vulnerabilities. Implement best practices for securing SSH, firewalls, intrusion detection systems, and more to create a robust barrier. 4. Access Control and Identity Management: Delve into access control mechanisms and identity management strategies. Learn how to implement least privilege principles, multi-factor authentication, and centralized user management for enhanced security. 5. Network Security Measures: Master network security measures to shield Linux systems from cyber threats. Explore techniques for implementing firewalls, intrusion detection and prevention systems, and securing network services. 6. Secure Software Development: Learn how to develop secure software for Linux systems. Explore techniques for mitigating common vulnerabilities, implementing secure coding practices, and performing code audits. 7. Incident Response and Recovery: Develop a comprehensive incident response plan to handle security breaches effectively. Understand the steps for isolating threats, recovering compromised systems, and learning from security incidents. 8. Data Protection and Encryption: Uncover the world of data protection and encryption techniques on Linux. Implement secure storage, encryption, and secure data transmission methods to safeguard sensitive information. 9. Cloud Security Considerations: Navigate the complexities of securing Linux systems in cloud environments. Understand the unique challenges and solutions associated with Linux security in cloud settings. Who This Book Is For: "Mastering Linux Security" is an invaluable resource for IT professionals, system administrators, security analysts, and Linux enthusiasts tasked with protecting Linux systems from cyber threats. Whether you're well-versed in cybersecurity or a novice exploring the world of Linux security, this book will guide you through the complexities and empower you to establish an impregnable defense.
Model-Driven Software Development (MDSD) is currently a highly regarded development paradigm among developers and researchers. With the advent of OMG's MDA and Microsoft's Software Factories, the MDSD approach has moved to the centre of the programmer's attention, becoming the focus of conferences such as OOPSLA, JAOO and OOP. MDSD is about using domain-specific languages to create models that express application structure or behaviour in an efficient and domain-specific way. These models are subsequently transformed into executable code by a sequence of model transformations. This practical guide for software architects and developers is peppered with practical examples and extensive case studies. International experts deliver: * A comprehensive overview of MDSD and how it relates to industry standards such as MDA and Software Factories. * Technical details on meta modeling, DSL construction, model-to-model and model-to-code transformations, and software architecture. * Invaluable insight into the software development process, plus engineering issues such as versioning, testing and product line engineering. * Essential management knowledge covering economic and organizational topics, from a global perspective. Get started and benefit from some practical support along the way!
This textbook presents a proven, mature Model-Based Systems Engineering (MBSE) methodology that has delivered success in a wide range of system and enterprise programs. The authors introduce MBSE as the state of the practice in the vital Systems Engineering discipline that manages complexity and integrates technologies and design approaches to achieve effective, affordable, and balanced system solutions to the needs of a customer organization and its personnel. The book begins with a summary of the background and nature of MBSE. It summarizes the theory behind Object-Oriented Design applied to complex system architectures. It then walks through the phases of the MBSE methodology, using system examples to illustrate key points. Subsequent chapters broaden the application of MBSE in Service-Oriented Architectures (SOA), real-time systems, cybersecurity, networked enterprises, system simulations, and prototyping. The vital subject of system and architecture governance completes the discussion. The book features exercises at the end of each chapter intended to help readers/students focus on key points, as well as extensive appendices that furnish additional detail in particular areas. The self-contained text is ideal for students in a range of courses in systems architecture and MBSE as well as for practitioners seeking a highly practical presentation of MBSE principles and techniques.
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.
Computers at Risk presents a comprehensive agenda for developing nationwide policies and practices for computer security. Specific recommendations are provided for industry and for government agencies engaged in computer security activities. The volume also outlines problems and opportunities in computer security research, recommends ways to improve the research infrastructure, and suggests topics for investigators. The book explores the diversity of the field, the need to engineer countermeasures based on speculation of what experts think computer attackers may do next, why the technology community has failed to respond to the need for enhanced security systems, how innovators could be encouraged to bring more options to the marketplace, and balancing the importance of security against the right of privacy.
Security is a major consideration in the way that business and information technology systems are designed, built, operated, and managed. The need to be able to integrate security into those systems and the discussions with business functions and operations exists more than ever. This IBM® Redbooks® publication explores concerns that characterize security requirements of, and threats to, business and information technology (IT) systems. This book identifies many business drivers that illustrate these concerns, including managing risk and cost, and compliance to business policies and external regulations. This book shows how these drivers can be translated into capabilities and security needs that can be represented in frameworks, such as the IBM Security Blueprint, to better enable enterprise security. To help organizations with their security challenges, IBM created a bridge to address the communication gap between the business and technical perspectives of security to enable simplification of thought and process. The IBM Security Framework can help you translate the business view, and the IBM Security Blueprint describes the technology landscape view. Together, they can help bring together the experiences that we gained from working with many clients to build a comprehensive view of security capabilities and needs. This book is intended to be a valuable resource for business leaders, security officers, and consultants who want to understand and implement enterprise security by considering a set of core security capabilities and services.