Verification of the instantiation and integration of security patterns

Tu Peng*, Shuliang Wang, Jing Geng, Qinsi Wang, Yun Yang, Kang Zhang

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

Abstract

As software applications suffer from increasing malicious attacks, security becomes a critically important issue for software development. To avoid security problems and increase efficiency, a large software system design may reuse good security solutions for existing security patterns. While security patterns document expert solutions to common security problems and capture well-examined practices on secure software design, implementing them in a particular context (pattern instantiation) and composing them with other related patterns (pattern integration) are prone to flaws and may break expected security properties. In this paper, we present an approach to verify security patterns instantiation and integration automatically. We offer formal definitions for security pattern instantiation and integration, and establish rules to transform sequence diagrams (representing the behaviors of security patterns) to expressions in Milner’s Calculus of Communicating Systems (CCS). We prove the correctness of the proposed transformation, and propose an algorithm to carry out this transformation automatically. In particular, we formally specify the alternative flows of UML sequence diagrams guarded by constraint conditions, which allows us to model choice making behaviors of security patterns precisely. The properties of the instantiation and integration can be verified by model checking against their CCS expressions. Flaws of instantiation and integration can, therefore, be discovered early in the design stage. We use two case studies to illustrate our approach and show the capability to prove security in integration and detect design errors in instantiation respectively.

Original languageEnglish
Pages (from-to)521-555
Number of pages35
JournalJournal of Web Engineering
Volume19
Issue number3-4
DOIs
Publication statusPublished - 14 Jun 2020

Keywords

  • Software engineering
  • Software safety
  • Software verification

Fingerprint

Dive into the research topics of 'Verification of the instantiation and integration of security patterns'. Together they form a unique fingerprint.

Cite this