liu.seSearch for publications in DiVA
Change search
ReferencesLink to record
Permanent link

Direct link
Modeling and Visualizing Security Properties of Code using Dependence Graphs
Linköping University, Department of Computer and Information Science, PELAB - Programming Environment Laboratory. Linköping University, The Institute of Technology.
2005 (English)Conference paper (Other academic)
Abstract [en]

In this paper we discuss the problem of modeling security properties, including what we call the dual modeling problem, and ranking of potential vulnerabilities. The discussion is based on the results of a brief survey of eight existing static analysis tools and our own experience. We propose dependence graphs decorated with type and range information as a generic way of modeling security properties of code. These models can be used to characterize both good and bad programming practice as shown by our examples. They can also be used to visually explain code properties to the programmer. Finally, they can be used for pattern matching in static security analysis of code.

Place, publisher, year, edition, pages
Keyword [en]
Security properties; dependence graphs; static analysis
National Category
Computer Science
URN: urn:nbn:se:liu:diva-90027OAI: diva2:611273
Fifth Conference on Software Engineering Research and Practice in Sweden, October 2o-21, 2005, Västerås, Sweden
Available from: 2013-03-15 Created: 2013-03-15 Last updated: 2013-03-25Bibliographically approved
In thesis
1. Contributions to Specification, Implementation, and Execution of Secure Software
Open this publication in new window or tab >>Contributions to Specification, Implementation, and Execution of Secure Software
2013 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

This thesis contributes to three research areas in software security, namely security requirements and intrusion prevention via static analysis and runtime detection.

We have investigated current practice in security requirements by doing a field study of eleven requirement specifications on IT systems. The conclusion is that security requirements are poorly specified due to three things:  inconsistency in the selection of requirements, inconsistency in level of detail, and almost no requirements on standard security solutions. A follow-up interview study addressed the reasons for the inconsistencies and the impact of poor security requirements. It shows that the projects had relied heavily on in-house security competence and that mature producers of software compensate for poor requirements in general but not in the case of security and privacy requirements specific to the customer domain.

Further, we have investigated the effectiveness of five publicly available static analysis tools for security. The test results show high rates of false positives for the tools building on lexical analysis and low rates of true positives for the tools building on syntactical and semantical analysis. As a first step toward a more effective and generic solution we propose decorated dependence graphs as a way of modeling and pattern matching security properties of code. The models can be used to characterize both good and bad programming practice as well as visually explain code properties to programmers. We have implemented a prototype tool that demonstrates how such models can be used to detect integer input validation flaws.

Finally, we investigated the effectiveness of publicly available tools for runtime prevention of buffer overflow attacks. Our initial comparison showed that the best tool as of 2003 was effective against only 50 % of the attacks and there were six attack forms which none of the tools could handle. A follow-up study includes the release of a buffer overflow testbed which covers 850 attack forms. Our evaluation results show that the most popular, publicly available countermeasures cannot prevent all of these buffer overflow attack forms.

Place, publisher, year, edition, pages
Linköping: Linköping University Electronic Press, 2013. 249 p.
Linköping Studies in Science and Technology. Dissertations, ISSN 0345-7524 ; 1503
National Category
Engineering and Technology
urn:nbn:se:liu:diva-88330 (URN)978-91-7519-681-7 (ISBN)
Public defence
2013-04-22, Visionen, hus B, Campus Valla, Linköpings universitet, Linköping, 13:15 (English)
Available from: 2013-03-15 Created: 2013-02-01 Last updated: 2013-03-27Bibliographically approved

Open Access in DiVA

No full text

Search in DiVA

By author/editor
Wilander, John
By organisation
PELAB - Programming Environment LaboratoryThe Institute of Technology
Computer Science

Search outside of DiVA

GoogleGoogle Scholar
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Total: 27 hits
ReferencesLink to record
Permanent link

Direct link