36 research outputs found
Architectural Access Control Policy Refinement and Verification under Uncertainty
In our connected world, confidentiality is a central quality requirement. A commonly used mechanism to meet confidentiality requirements is access control. However, access control policies are usually not defined on the architectural abstraction level and are imprecise during design time due to the high degree of uncertainty. This impedes early considerations of confidentiality as implied by "Privacy by Design". We propose an approach to refine and verify access control policies while handling uncertainty that fills the gap between high-level confidentiality requirements and low-level access control
Domain-specific Language for Data-driven Design Time Analyses and Result Mappings for Logic Programs
In der vernetzten Welt von Heute ist der Austausch von Daten für viele Anwendungen unerlässlich. Mit der zunehmenden Vernetzung und dem wachsenden Datenaufkommen wird die Gewährleistung von Sicherheit, Datenschutz und die Einhaltung rechtlicher Vorgaben immer wichtiger. Um diesen Anforderungen frühzeitig gerecht zu werden, können Datenflussanalysen zur Entwurfszeit eingesetzt werden. Durch explizite Modellierung der Daten und ihrer Eigenschaften kann das Architekturmodell automatisch gegen Datenflussbeschränkungen getestet werden. Diese Verifikationsansätze transformieren die modellierte Architektur in ihnen zugrunde liegende Formalismen wie z.B. logische Programme. Um die
Aussagekraft der Beschränkungen zu erhöhen, müssen diese oft ebenfalls unter Nutzung des Formalismus ausgedrückt werden. Dies erfordert von den Architekten Kenntnisse über den Formalismus, die transformierte Architektur und die Verifikationsumgebung.
Unser Ziel ist es, die Lücke zwischen der architektonischen Domäne und dem zugrundeliegenden Formalismus zu schließen, die bei der Formulierung von Datenflussbeschränkungen auftritt. Wir schlagen eine domänenspezifische Sprache (DSL) vor, die es Architekten ermöglicht, Einschränkungen bereits während der Definition der Architektur festzulegen. Durch die Verwendung der selben Terminologie, die auch zur Modellierung der Architektur eingesetzt wird, können individualisierte Beschränkungen ohne Kenntnisse des Überprüfungsprozesses formuliert werden. Zusätzlich stellen wir eine Abbildung der in unserer DSL formulierten Einschränkungen von der Architekturdomäne in den Formalismus vor. Analyseergebnisse werden in die Architekturdomäne zurück abgebildet, um deren Interpretation zu erleichtern.
Die DSL basiert auf der Sammlung und Generalisierung bestehender Einschränkungen aus realen Fallstudien. Wir bewerten die Aussagekraft, Nutzbarkeit und Kompaktheit der DSL für Datenflussbeschränkungen unterschiedlicher Größe. Ungefähr 75% der untersuchten Beschränkungen können mit der ersten Version unserer DSL ausgedrückt werden, wobei bis zu 10-mal weniger Quelltext benötigt wird. Neben den Grundlagen der Datenflussmodellierung und Wissen über die Modellierungsumgebung sind keine weiteren Kenntnisse über den Transformations- oder Verifikationsmechanismus erforderlich. Zusätzlich untersuchen wir die Äquivalenz der Analyseergebnisse von Beschränkungen, die in unserer DSL formuliert wurden mit Beschränkungen, welche direkt unter Nutzung des Formalismus ausgedrückt wurden. In unseren Tests erreichen Beschränkungen, welche mit Hilfe unserer DSL formuliert wurden, eine 100%ige Ausbeute bei einer Präzision von 90%
Dealing with Uncertainty in Architectural Confidentiality Analysis
In a connected world, confidentiality becomes increasingly critical. To cope with confidentiality on a higher abstraction level of software systems, architectural analyses have been proposed. By explicitly modeling data in the system design, the validity of access control policies can be ensured. However, the required information for such analyses is often too imprecise due to the high degree of uncertainty at design-time which results in incomplete and inaccurate policies. In this paper, we describe three key challenges while facing uncertainty and show how software architects could be supported in enhancing confidentiality throughout software design and evolution
Inkrementelle Aktualisierungstechniken für Modelle und ihre Datenbankrepräsentation
Modellgetriebene Software-Entwicklung (engl. Model Driven Software Development) steht für die Entwicklung von Software auf der Basis von Modellen. Diese stehen im Entwicklungsprozess auf einer Stufe mit Quelltext, der aus den Modellen generiert werden kann. Um die Arbeit im Team effizient zu ermöglichen, ist eine Synchronisierung der zu bearbeitenden Modelle nach einer Änderung zwischen allen Mitgliedern zwingend notwendig. Bei der Nutzung von Datenbanken zur Speicherung der Modelle ergeben sich dabei jedoch Probleme, da eine generierte Persistenzschicht häufig nur eine vollständige Ersetzung von bereits geladenen Elementen unterstützt. Eine Lösungsmöglichkeit ist die Detektion von Änderungen und die anschließende, inkrementelle Aktualisierung. Hierfür stehen bereits vorhandene Techniken zur Verfügung, welche kombiniert werden können. Im Rahmen dieser Arbeit sollten verschiedene Ansätze gefunden und anhand von Metriken bewertet werden. Eine Lösung des Problems ist die Kombination von aktiven Datenbanksystemen zur Änderungserkennung mit einer Persistenzschicht zur inkrementellen Aktualisierung einzelner Modellelemente. Bei der Untersuchung von UML-Modellen durchschnittlicher Größe (ca. 400 Elemente) ergibt sich bereits eine 25-fache Beschleunigung im Vergleich mit nicht-inkrementellen Methoden
Continuous Secure Software Development and Analysis
Software security becomes increasingly important nowadays. Security should be considered as early as
possible in the software development. However, considering different aspects of security is a complex
task. In this paper, we propose an extendable framework for continuous secure software development
and evolution. The framework provides interconnected analyses on different stages of development.
Explicit assumption management helps to verify the security requirements more properly. Thus, the
security of the system under development can be estimated more accurately. Finally, the concrete assumptions also help to identify and close security gaps that arise during the software’s lifetime
An Extensible Framework for Architecture-Based Data Flow Analysis for Information Security
The growing interconnection between software systems increases the need for
security already at design time. Security-related properties like
confidentiality are often analyzed based on data flow diagrams (DFDs). However,
manually analyzing DFDs of large software systems is bothersome and
error-prone, and adjusting an already deployed software is costly.
Additionally, closed analysis ecosystems limit the reuse of modeled information
and impede comprehensive statements about a system's security. In this paper,
we present an open and extensible framework for data flow analysis. The central
element of our framework is our new implementation of a well-validated
data-flow-based analysis approach. The framework is compatible with DFDs and
can also extract data flows from the Palladio architectural description
language. We showcase the extensibility with multiple model and analysis
extensions. Our evaluation indicates that we can analyze similar scenarios
while achieving higher scalability compared to previous implementations
Token-based plagiarism detection for metamodels
Plagiarism is a widespread problem in computer science education. Manual inspection is impractical for large courses, and the risk of detection is thus low. Many plagiarism detectors are available for programming assignments. However, very few approaches are available for modeling assignments. To remedy this, we introduce token-based plagiarism detection for metamodels. To this end, we extend the widely-used software plagiarism detector JPlag. We evaluate our approach with real-world modeling assignments and generated plagiarisms based on obfuscation attack classes. The results show that our approach outperforms the state-of-the-art
Tool-Supported Architecture-Based Data Flow Analysis for Confidentiality
Through the increasing interconnection between various systems, the need for confidential systems is increasing. Confidential systems share data only with authorized entities. However, estimating the confidentiality of a system is complex, and adjusting an already deployed software is costly. Thus, it is helpful to have confidentiality analyses, which can estimate the confidentiality already at design time. Based on an existing data-flow-based confidentiality analysis concept, we reimplemented a data flow analysis as a Java-based tool. The tool uses the software architecture to identify access violations based on the data flow. The evaluation for our tool indicates that we can analyze similar scenarios and scale for certain scenarios better than the existing analysis