University
Engineering Secure Complex Software
Systems and Services
Preparation of FP7-ICT WP 2009-2010 - Mini-Concertation Meeting
Henrique Madeira
University of Coimbra
Question 1
•
Secure software engineering tends to be seen as a software lifecycle where
a special emphasis is placed on software security in each phase.
Best
practices
can continuously be improved.
•
But secure software engineering should deal with a few facts:
– Developing software is still a human intensive and error prone process… secure coding is hard to achieve.
– Available verification and validation techniques and tools are not perfect.
– Component based SW development (COTS and custom components) is a solid trend… but the impact on security of using COTS is difficult to estimate.
– Security is not a one-time issue… continuous monitoring and management of security configuration settings at runtime is essential.
What should secure software engineering deal with, in
addition to software engineering, to ensure the development
of secure complex software systems and services?
Question 1
•
Secure software engineering tends to be seen as a software lifecycle where
a special emphasis is placed on software security in each phase.
Best
practices
can continuously be improved.
•
But secure software engineering should deal with a few facts:
– Developing software is still a human intensive and error prone process… secure coding is hard to achieve.
– Available verification and validation techniques and tools are not perfect.
– Component based SW development (COTS and custom components) is a solid trend… but the impact on security of using COTS is difficult to estimate.
– Security is not a one-time issue… continuous monitoring and management of security configuration settings at runtime is essential.
What should secure software engineering deal with, in
addition to software engineering, to ensure the development
of secure complex software systems and services?
Question 1
•
Secure software engineering tends to be seen as a software lifecycle where
a special emphasis is placed on software security in each phase.
Best
practices
can continuously be improved.
•
But secure software engineering should deal with a few facts:
– Developing software is still a human intensive and error prone process… secure coding is hard to achieve.
– Available verification and validation techniques and tools are not perfect.
– Component based SW development (COTS and custom components) is a solid trend… but the impact on security of using COTS is difficult to estimate.
– Security is not a one-time issue… continuous monitoring and management of security configuration settings at runtime is essential.
What should secure software engineering deal with, in
addition to software engineering, to ensure the development
of secure complex software systems and services?
26 30 17 7 16 1 17 3
Vulnerability Scanner 1 = Acunetix Web Vulnerability Scanner 4 Vulnerability Scanner 2 = Watchfire AppScan 7 (aquired by IBM)
Vulnerability Scanner 3 = Spi Dynamics WebInspect 6.32 (aquired by HP) Vulnerability Scanner 3 (detected 73/117) Vulnerability Scanner 1 (detected 51/117) Vulnerability Scanner 2 (detected 27/117) Detected by manual scanning only
Question 2
•
Security is a very broad area
– cryptography, security protocols, access control, information flow, code obfuscation, software security, network security, intrusion detection, etc…
•
Security software
– Software whose primary functionality is to implement a security protocol or mechanism, or a security technique Æ good examples of successful mechanisms and techniques
•
Security of software
– Software that does not contain vulnerabilities and functions correctly under malicious use Æ secure coding is still a software engineering problem
•
Verification and Static Analysis
Æ
lots of progress but far from being effective•
We still don’t know…
– How to measure security
– How to benchmark security (of components or systems)