4 research outputs found

    Architectural Data Flow Analysis for Detecting Violations of Confidentiality Requirements

    Get PDF
    Software vendors must consider confidentiality especially while creating software architectures because decisions made here are hard to change later. Our approach represents and analyzes data flows in software architectures. Systems specify data flows and confidentiality requirements specify limitations of data flows. Software architects use detected violations of these limitations to improve the system. We demonstrate how to integrate our approach into existing development processes

    Architectural Data Flow Analysis for Detecting Violations of Confidentiality Requirements

    Get PDF
    Software vendors must consider confidentiality especially while creating software architectures because decisions made here are hard to change later. Our approach represents and analyzes data flows in software architectures. Systems specify data flows and confidentiality requirements specify limitations of data flows. Software architects use detected violations of these limitations to improve the system. We demonstrate how to integrate our approach into existing development processes

    Architectural Data Flow Analysis for Detecting Violations of Confidentiality Requirements

    Get PDF
    Diese Arbeit prĂ€sentiert einen Ansatz zur systematischen BerĂŒcksichtigung von Vertraulichkeitsanforderungen in Softwarearchitekturen mittels Abbildung und Analyse von DatenflĂŒssen. Die StĂ€rkung von Datenschutzregularien, wie bspw. durch die europĂ€ische Datenschutzgrundverordnung (DSGVO), und die Reaktionen der Bevölkerung auf Datenskandale, wie bspw. den Skandal um Cambridge Analytica, haben gezeigt, dass die Wahrung von Vertraulichkeit fĂŒr Organisationen von essentieller Bedeutung ist. Um Vertraulichkeit zu wahren, muss diese wĂ€hrend des gesamten Softwareentwicklungsprozesses berĂŒcksichtigt werden. FrĂŒhe Entwicklungsphasen benötigen hier insbesondere große Beachtung, weil ein betrĂ€chtlicher Anteil an spĂ€teren Problemen auf Fehler in diesen frĂŒhen Entwicklungsphasen zurĂŒckzufĂŒhren ist. Hinzu kommt, dass der Aufwand zum Beseitigen von Fehlern aus der Softwarearchitektur in spĂ€teren Entwicklungsphasen ĂŒberproportional steigt. Um Verletzungen von Vertraulichkeitsanforderungen zu erkennen, werden in frĂŒheren Entwicklungsphasen hĂ€ufig datenorientierte Dokumentationen der Softwaresysteme verwendet. Dies kommt daher, dass die Untersuchung einer solchen Verletzung hĂ€ufig erfordert, DatenflĂŒssen zu folgen. Datenflussdiagramme (DFDs) werden gerne genutzt, um Sicherheit im Allgemeinen und Vertraulichkeit im Speziellen zu untersuchen. Allerdings sind reine DFDs noch nicht ausreichend, um darauf aufbauende Analysen zu formalisieren und zu automatisieren. Stattdessen mĂŒssen DFDs oder auch andere Architekturbeschreibungssprachen (ADLs) erweitert werden, um die zur Untersuchung von Vertraulichkeit notwendigen Informationen reprĂ€sentieren zu können. Solche Erweiterungen unterstĂŒtzen hĂ€ufig nur Vertraulichkeitsanforderungen fĂŒr genau einen Vertraulichkeitsmechanismus wie etwa Zugriffskontrolle. Eine Kombination von Mechanismen unterstĂŒtzen solche auf einen einzigen Zweck fokussierten Erweiterungen nicht, was deren AusdrucksmĂ€chtigkeit einschrĂ€nkt. Möchte ein Softwarearchitekt oder eine Softwarearchitektin den eingesetzten Vertraulichkeitsmechanismus wechseln, muss er oder sie auch die ADL wechseln, was mit hohem Aufwand fĂŒr das erneute Modellieren der Softwarearchitektur einhergeht. DarĂŒber hinaus bieten viele AnalyseansĂ€tze keine Integration in bestehende ADLs und Entwicklungsprozesse. Ein systematischer Einsatz eines solchen Ansatzes wird dadurch deutlich erschwert. Existierende, datenorientierte AnsĂ€tze bauen entweder stark auf manuelle AktivitĂ€ten und hohe Expertise oder unterstĂŒtzen nicht die gleichzeitige ReprĂ€sentation von Zugriffs- und Informationsflusskontrolle, sowie VerschlĂŒsselung im selben Artefakt zur Architekturspezifikation. Weil die genannten Vertraulichkeitsmechanismen am verbreitetsten sind, ist es wahrscheinlich, dass Softwarearchitekten und Softwarearchitektinnen an der Nutzung all dieser Mechanismen interessiert sind. Die erwĂ€hnten, manuellen TĂ€tigkeiten umfassen u.a. die Identifikation von Verletzungen mittels Inspektionen und das Nachverfolgen von Daten durch das System. Beide TĂ€tigkeiten benötigen ein betrĂ€chtliches Maß an Erfahrung im Bereich Vertraulichkeit. Wir adressieren in dieser Arbeit die zuvor genannten Probleme mittels vier BeitrĂ€gen: Zuerst prĂ€sentieren wir eine Erweiterung der DFD-Syntax, durch die die zur Untersuchung von Zugriffs- und Informationsflusskontrolle, sowie VerschlĂŒsselung notwendigen Informationen mittels Eigenschaften und Verhaltensbeschreibungen innerhalb des selben Artefakts zur Architekturspezifikation ausgedrĂŒckt werden können. Zweitens stellen wir eine Semantik dieser erweiterten DFD-Syntax vor, die das Verhalten von DFDs ĂŒber die Ausbreitung von Attributen (engl.: label propagation) formalisiert und damit eine automatisierte RĂŒckverfolgung von Daten ermöglicht. Drittens prĂ€sentieren wir Analysedefinitionen, die basierend auf der DFD-Syntax und -Semantik Verletzungen von Vertraulichkeitsanforderungen identifizieren kann. Die unterstĂŒtzten Vertraulichkeitsanforderungen decken die wichtigsten Varianten von Zugriffs- und Informationsflusskontrolle, sowie VerschlĂŒsselung ab. Viertens stellen wir einen Leitfaden zur Integration des Rahmenwerks fĂŒr datenorientierte Analysen in bestehende ADLs und deren zugehörige Entwicklungsprozesse vor. Das Rahmenwerk besteht aus den vorherigen drei BeitrĂ€gen. Die Validierung der AusdrucksmĂ€chtigkeit, der ErgebnisqualitĂ€t und des Modellierungsaufwands unserer BeitrĂ€ge erfolgt fallstudienbasiert auf siebzehn Fallstudiensystemen. Die Fallstudiensysteme stammen grĂ¶ĂŸtenteils aus verwandten Arbeiten und decken fĂŒnf Arten von Zugriffskontrollanforderungen, vier Arten von Informationsflussanforderungen, zwei Arten von VerschlĂŒsselung und Anforderungen einer Kombination beider Vertraulichkeitsmechanismen ab. Wir haben die AusdrucksmĂ€chtigkeit der DFD-Syntax, sowie der mittels des Integrationsleitfadens erstellten ADLs validiert und konnten alle außer ein Fallstudiensystem reprĂ€sentieren. Wir konnten außerdem die Vertraulichkeitsanforderungen von sechzehn Fallstudiensystemen mittels unserer Analysedefinitionen reprĂ€sentieren. Die DFD-basierten, sowie die ADL-basierten Analysen lieferten die erwarteten Ergebnisse, was eine hohe ErgebnisqualitĂ€t bedeutet. Den Modellierungsaufwand in den erweiterten ADLs validierten wir sowohl fĂŒr das HinzufĂŒgen, als auch das Wechseln eines Vertraulichkeitsmechanismus bei einer bestehenden Softwarearchitektur. In beiden Validierungen konnten wir zeigen, dass die ADL-Integrationen Modellierungsaufwand einsparen, indem betrĂ€chtliche Teile bestehender Softwarearchitekturen wiederverwendet werden können. Von unseren BeitrĂ€gen profitieren Softwarearchitekten durch gesteigerte FlexibilitĂ€t bei der Auswahl von Vertraulichkeitsmechanismen, sowie beim Wechsel zwischen diesen Mechanismen. Die frĂŒhe Identifikation von Vertraulichkeitsverletzungen verringert darĂŒber hinaus den Aufwand zum Beheben der zugrundeliegenden Probleme

    Architectural Data Flow Analysis for Detecting Violations of Confidentiality Requirements

    Get PDF
    Software vendors must consider confidentiality especially while creating software architectures because decisions made here are hard to change later. Our approach represents and analyzes data flows in software architectures. Systems specify data flows and confidentiality requirements specify limitations of data flows. Software architects use detected violations of these limitations to improve the system. We demonstrate how to integrate our approach into existing development processes
    corecore