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

Direct link
Pattern Matching 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.
Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
2005 (English)Conference paper (Other academic)
Abstract [en]

In recent years researchers have presented several tools for statically checking security properties of C code. But they all (currently) focus on one or two categories of security properties each. We have proposed dependencegraphs decorated with type-cast and range information as a more generic formalism allowing both for visual communication with the programmer and static analysis checking several security properties at once. Our prototype tool GraphMatch currently checks code for input validation flaws. But several research questions are still open. Most importantly we need to address the complexity of our algorithm for pattern matching graphs, the accuracy of our security models, and the generality of our formalism. Other questions regard the impact of security property visualization and heuristics for ranking of potential flaws found.

Place, publisher, year, edition, pages
Keyword [en]
Security properties; dependence graphs; static analysis
National Category
Computer Science
URN: urn:nbn:se:liu:diva-90028OAI: diva2:611276
1st International Workshop on Code Based Software Security Assessments (CoBaSSA 2005), Pittsburgh, Pennsylvania, USA, November 7, 2005
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 TechnologyDepartment of Computer and Information Science
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: 37 hits
ReferencesLink to record
Permanent link

Direct link