SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Downloaden Sie, um offline zu lesen
Software & Hardware Security
Erik Poll
Digital Security group
Radboud University
Nijmegen
The Netherlands
Nijmegen
2
Digital Security group
Rigorous & formal methods to design & analyse secure ICT systems
Incl. societal impact, esp. on privacy
Also looking at concrete applications
software security hardware security
attacks
• buffer overflows in C(++)
• web problems:
SQL inj, XSS, CSRF,..
defenses
• security testing
• static analysis
for Java & C
• smartcards & RFID
• attacks
• bank cards
• e-passport
4
online privacy &
cybercrime
The problem
pre-history of hacking
In 1950s, Joe Engressia showed the telephone network
could be hacked by phone phreaking:
ie. whistling at right frequencies
http://www.youtube.com/watch?v=vVZm7I1CTBs
In 1970s, before founding Apple together with Steve Jobs,
Steve Wozniak sold Blue Boxes for phone phreaking at university
sw
s1
6
Slammer Worm (2003)
Pictures taken from The Spread of the Sapphire/Slammer Worm, by David Moore, Vern Paxson, Stefan Savage, Colleen Shannon, Stuart Staniford,
Nicholas Weaver
7
Slammer Worm (2003)
Pictures taken from The Spread of the Sapphire/Slammer Worm, by David Moore, Vern Paxson, Stefan Savage, Colleen Shannon, Stuart Staniford,
Nicholas Weaver
8
9
Top secret NSA slides leaked by Edward Snowden
More info at http:// leaksource.info and
http:// www.theguardian.com/us-news/the-nsa-files
10
11
12
Security problems of past days…
To get an impression of the scale of the problem,
have a look at
http://www.securityfocus.com/vulnerabilities
http://www.us-cert.gov/ncas/alerts
http://www.us-cert.gov/ncas/bulletins
http://www.securitytracker.com/
13
Quiz
What do laptops, tablets, mobile phones, wifi access
points, network routers, bank cards, e-passports, eID
cards, smartphone apps, web sites, web browsers,
web servers, operating systems, firewalls, intrusion
detection systems, cars, and airplanes have in
common?
Why can all these things be hacked, if we are not
very careful?
There is SOFTWARE inside them!
14
Software (in)security
• Software is the main source of security problems.
– Software is the weakest link in the security chain, with the
possible exception of “the human factor”
• Software security does (did?) not get much attention
– in other security courses, or
– in programming courses,
or indeed, in much of the security literature!
Computer security courses traditionally focus on cryptography…f be
solve by cryptography, you do not understand cryptography and you do not
understand your problem” [Bruce Schneier]
15
“if you think your problem can be solved by cryptography,
then you do not understand cryptography
and you do not understand your problem”
[Bruce Schneier]
16
Superficial analysis of the problem
17
Observation 1
All these problems are due to (bad) software
Namely software in
• the Linux/Windows/Mac operating system (OS)
• web servers
• web browsers
• the router software
• ...
Because of these software bugs constant patching of
system is needed to keep them secure
18
Observation 2
All these problems are due to bad software that
• can be executed/addressed over the network
– eg. in case of Slammer worm
• executes on (untrusted) input obtained over the
network
or both
With ever more network connectivity,
ever more software can be attacked.
19
Changing target of attacks
• Traditionally, focus of attacks was on operating system and network
“Solutions”
– regular patching of OS
– firewalls
– virus scanners
• Increasingly, focus on
• web applications
• web browser
• mobile devices
• smartphones, tablet, that pass through firewalls
• embedded software
• software in cars, factories, infrastructure...
and targetted attacks on specific organisation or person
(known as ATP = Advanced Persistent Threat)
20
Changing nature of attackers
Traditionally, hackers were amateurs motivated by fun
• publishing attacks for fame & glory
• attacks creating lots of publicity
Increasingly, hackers are professional
• attackers go underground
• zero-day exploits are worth a lot of money
Attackers increasingly include
• organized crime
with lots of money and (hired) expertise
• government agencies:
with even more money & in-house expertise
21
stuxnet attack
Malware (by US and Israel?) attacking nuclear enrichment facility in Iran
http://www.ted.com/talks/ralph_langner_cracking_stuxnet_a_21st_century_cyberweapon.html
22
Software (in)security: crucial facts
• No silver bullets!
crypto or special security features do not magically solve all
problems
• Security is emergent property of entire system
– just like quality
• (Non-functional) security aspects should be integral part of the
design, right from the start
23
We focus on software security now, but don’t forget
that security is about
people (users, employees, sys-admins, programmers,...), and
their laziness, mistakes, stupidity, incompetence, confusion,
software, bugs, verification, hackers, viruses, testing,
operating systems, networks, databases, hardware,
access control, passwords, smartcards, biometrics, cryptology,
security protocols, security policies & their enforcement,
monitoring, auditing, risk management, complexity,
legislation, persecution, liability, public relations
public perception, conventions, standards, …..
24
The causes of the problem
25
Quick audience poll
• How many of you learned to program in C or C++?
• How many had it as a first programming language?
• How many of your C(++) courses
• warned you about buffer overflows?
• explained how to avoid them?
Major causes of problems are
• lack of awareness
• lack of knowledge
• irresponsible teaching of dangerous programming
languages
26
Quick audience poll
• How many of you have built a web-application?
– in which programming languages?
• What is the secure way of doing a SQL query in this
language? (to avoid SQL injection flaws)
Major causes of problems are
• lack of awareness
• lack of knowledge
27
1. Security is always a secondary concern
• Security is always a secondary concern
– primary goal of software is to provide some
functionality or services;
– managing associated risks is a derived/secondary
concern
• There is often a trade-off/conflict between
– security
– functionality & convenience
where security typically looses out
• more examples of this later...
28
29
Functionality vs security
• Functionality is about what software should do,
security is (also) about what it should not do
Unless you think like an attacker,
you will be unaware of any potential threats
30
Functionality vs security: Lost battles?
• operating systems (OSs)
– with huge OS, with huge attack surface
• programming languages
– with easy to use, efficient, but very insecure and error-prone
mechanisms
• web browsers
– with plug-ins for various formats, javascript, ActiveX, Ajax ...
• email clients
– which automatically cope with all sorts of formats &
attachments..
31
Functionality vs security : PHP
"After writing PHP forum software for three years now,
I've come to the conclusion that it is basically
impossible for normal programmers to write secure
PHP code. It takes far too much effort. .... PHP's
raison d'etre is that it is simple to pick up and make it
do something useful. There needs to be a major push
... to make it safe for the likely level of programmers -
newbies. Newbies have zero chance of writing
secure software unless their language is safe. ... "
[Source http://www.greebo.cnet/?p=320]
32
2. Weakness in depth
programming languages
hardware (incl network card & peripherals)
application
operating system
webbrowser
with plugins platform
eg Java or .NET
system APIs
middleware
libraries
interpretable or executable input
eg paths, filenames, .doc, .xls, .pdf, .js,...
sql
data
base
33
2. Weakness in depth
Software
• runs on a huge, complicated infrastructure
– OS, platforms, webbrowser, lots of libraries & APIs, ...
• is built using complicated languages & formats
– programming languages, but also SQL, HTML, XML, ...
• using various tools
– compilers, IDEs, preprocessors, dynamic code downloads
These may have security holes, or may make the
introduction of security holes very easy & likely
34
Recap
Problems are due to
• lack of awareness
– of threats, but also of what should be protected
• lack of knowledge
– of potential security problems, but also of solutions
• compounded by complexity
– software written in complicated languages, using large APIs ,
and running on huge infrastructure
• people choosing functionality over security
35
Security concepts & goals
Security
• Security is about regulating access to assets
– assets can be information, functionality, or physical assets
–
• Software provides functionality
– eg on-line exam results
• This functionality comes with certain risks
– eg what are risks of on-line exam results?
• (Software) security is about managing these risks
37
Starting point for ensuring security
• Any discussion of security should start with an inventory of
– the stakeholders – ie. who is involved
– their assets, and
– the threats to these assets
by possible attackers
– employees, clients, script kiddies, criminals
Any discussion of security without understanding these
issues is meaningless:
You have to know what you want to secure,
against what type of attacks, and against who
38
Security concepts
Goal of security is to reduce risks to acceptable levels,
• Security is never 100%
So you have to know what you want to secure,
against what type of attacks, against who,
and at what cost
39
Security Objectives: CIA
• Confidentiality
– unauthorised users cannot read information
• Integrity
– unauthorised users cannot alter information
• Availability
– authorised users can access information
– ie. preventing DoS (Denial of Service) attacks
• Non-repudiation or accountability
– authorised users cannot deny actions
40
Security objectives
• Integrity nearly always more important than
confidentiality
Eg think of
– your bank account information
– your medical records
– all the software you use, incl. the entire OS
41
How to realise security objectives? AAAA
• Authentication
– who are you?
• Access control/Authorisation
– control who is allowed to do what
– this requires a specification of who is allowed to do
what
• Auditing
– check if anything went wrong
• Action
– if so, take action
42
How to realise security objectives?
Other names for the last three A's
• Prevention
– measures to stop breaches of security goals
• Detection
– measures to detect breaches of security goals
• Reaction
– measures to recover assets, repair damage, and persecute
(and deter) offenders
43
Try to prevent, but also detect and react
Never think that good prevention
makes detection & reaction superfluous.
Eg. breaking into house or office is often easy;
only detection & reaction seriously deters burglars.
Detection of digital break-in is harder
who noticed a break-in on his computer recently?
Reaction (incl. prosecution) is even harder
how to find the person responsible,
somewhere on the internet?
Software security
warning: confusing terminology
Common use of terminology can be very confused & confusing:
(security) weakness, flaw, vulnerability, bug, error, coding defect...
We can make a distinction between
• a security weakness/flaw:
something that is wrong or could be better
• a security vulnerability
a weakness/flaw that can actually be exploited by an attacker,
which requires the flaw to be
- accessible: attacker has to be able to get at it
- exploitable: attacker has to be able to do some damage with it
Eg by unplugging your network connection,
some (many?) vulnerabilities become flaws.
46
software vulnerabilities
Software vulnerabilities can be introduced at two “levels”
• design flaws
vulnerability in the design
• bugs aka implementation flaws or code-level defects
vulnerability in the software introduced when implementing a
system
Rough consensus: bugs and design flaws are equally common
Vulnerabilities also arise on other levels (out of scope for now)
• configuration flaw when installing software on a machine
• the user
• unforeseen consequence of the intended functionality (eg. spam)
47
Typical software security vulnerabilities
Security bugs found in Microsoft bug fix month (2002)
37%
20%
26%
17%
0%
buffer overflow
input validation
code defect
design defect
crypto
48
bugs aka implementation flaws aka code-level defects
There are roughly two kinds of implementation flaws
1. bugs that can be understood looking at the program itself
(and understanding what it is meant to do!)
– eg. , simple typos, confusing two program variables, off-by-one error in
array access, ...
– sometimes called logic errors, as opposed to syntax errors,
or an errors in the program logic
2. lower-level problems that can only be spotted if you understand
the underlying platform of the program in execution, eg
– buffer overflow,integer overflow,... in binaries compiled from C(++)
– SQL injection, XSS, CSRF,.... in web-applications
49
The big problem of software security
The bad news
people keep making the same (types of) mistakes
The good news
people keep making the same (types of) mistakes
…… so we can do something about it!
“Every advantage has its disadvantage ” -- Johan Cruijff
50
security in the
software development life cycle
Tackling Software Insecurity
• Knowledge about standard mistakes is crucial in preventing
them
– these depends on the programming language, the “platform”
(OS, database systems, web-application framework,…), and
the type of application
– lots of info available on this now
• But this is not enough: security to be taken into account from the
start, throughout software development life cycle
– several ideas & methodologies to do this
52
Security in Software Development Life Cycle
[Gary McGraw, Software security, Security & Privacy Magazine,
IEEE, Vol 2, No. 2, pp. 80-83, 2004. ]
McGraw’s Touchpoints
53
Methodologies for security in development life cycle
Common/best practices, with methods for assessments, and
roadmaps for improvement
• McGraw’s Touchpoints
BSIMM Building Security In – Maturity Model
http://bsimm.com
• Microsoft SDL Security Development Lifecycle
• OpenSAMM Software Assurance Maturity Model
http://opensamm.org
54
Microsoft’s SDL Optimisation Model
55
BSIMM
Based on data collected from large enterprises
56
Spot the (security) flaws in electronic_purse.c
int balance;
void decrease(int amount)
{ if (balance <= amount)
{ balance = balance – amount; }
else { printf(“Insufficient fundsn”); }
}
void increase(int amount)
{ balance = balance + amount;
}
<= should be >=
what if this sum is
too large for an int?
what if amount
is negative?
57
Different kinds of implementation flaws
• lack of input validation of (untrusted) user
input
– could be a design flaw rather than an
implementation flaw?
– more “fundamental” than the flaws
below
• simple mistake in the program logic
• potential problem depending on how the
underlying platform work, eg. in case of
an integer overflow;
– “lower level” than the flaws above
<= should be >=
what if amount
is negative?
what if this sum is
too large for an int?
58
More info
• Gary McGraw,
Software security,
Security & Privacy Magazine, IEEE, Vol 2, No. 2, pp. 80-83,
2004.
• Check out websites
http://www.us-cert.gov/ncas/alerts/
http://www.us-cert.gov/ncas/bulletins/
http://www.securitytracker.com/
http://www.securityfocus.com/vulnerabilities
for security alerts in the past week
59

Weitere ähnliche Inhalte

Was ist angesagt?

offline character recognition for handwritten gujarati text
offline character recognition for handwritten gujarati textoffline character recognition for handwritten gujarati text
offline character recognition for handwritten gujarati textBhumika Patel
 
IRJET- Brain Tumor Detection using Image Processing and MATLAB Application
IRJET-  	  Brain Tumor Detection using Image Processing and MATLAB ApplicationIRJET-  	  Brain Tumor Detection using Image Processing and MATLAB Application
IRJET- Brain Tumor Detection using Image Processing and MATLAB ApplicationIRJET Journal
 
Wi-Fi Architecture
Wi-Fi ArchitectureWi-Fi Architecture
Wi-Fi ArchitectureArnab Ghosal
 
Graphical password authentication system with association of sound
Graphical password authentication system with association of soundGraphical password authentication system with association of sound
Graphical password authentication system with association of soundVikram Verma
 
Steganography Project
Steganography Project Steganography Project
Steganography Project Uttam Jain
 
IoT and Cloud Computing in Automation Application
IoT and Cloud Computing in Automation ApplicationIoT and Cloud Computing in Automation Application
IoT and Cloud Computing in Automation ApplicationAreej Qasrawi
 
Computer Security - CCNA Security - Lecture 2
Computer Security - CCNA Security - Lecture 2Computer Security - CCNA Security - Lecture 2
Computer Security - CCNA Security - Lecture 2Mohamed Loey
 
Hacking Wireless Networks : Null Delhi (November)
Hacking Wireless Networks : Null Delhi (November)Hacking Wireless Networks : Null Delhi (November)
Hacking Wireless Networks : Null Delhi (November)Mandeep Jadon
 

Was ist angesagt? (20)

Zigbee ppt
Zigbee pptZigbee ppt
Zigbee ppt
 
I twin report
I twin reportI twin report
I twin report
 
offline character recognition for handwritten gujarati text
offline character recognition for handwritten gujarati textoffline character recognition for handwritten gujarati text
offline character recognition for handwritten gujarati text
 
Stegnography
StegnographyStegnography
Stegnography
 
Wlan security
Wlan securityWlan security
Wlan security
 
802 15-4 tutorial
802 15-4 tutorial802 15-4 tutorial
802 15-4 tutorial
 
IRJET- Brain Tumor Detection using Image Processing and MATLAB Application
IRJET-  	  Brain Tumor Detection using Image Processing and MATLAB ApplicationIRJET-  	  Brain Tumor Detection using Image Processing and MATLAB Application
IRJET- Brain Tumor Detection using Image Processing and MATLAB Application
 
Wi-Fi Architecture
Wi-Fi ArchitectureWi-Fi Architecture
Wi-Fi Architecture
 
Graphical password authentication system with association of sound
Graphical password authentication system with association of soundGraphical password authentication system with association of sound
Graphical password authentication system with association of sound
 
Steganography Project
Steganography Project Steganography Project
Steganography Project
 
IoT and Cloud Computing in Automation Application
IoT and Cloud Computing in Automation ApplicationIoT and Cloud Computing in Automation Application
IoT and Cloud Computing in Automation Application
 
14 572
14 57214 572
14 572
 
Image Steganography
Image SteganographyImage Steganography
Image Steganography
 
Computer Security - CCNA Security - Lecture 2
Computer Security - CCNA Security - Lecture 2Computer Security - CCNA Security - Lecture 2
Computer Security - CCNA Security - Lecture 2
 
Zigbee ppt
Zigbee pptZigbee ppt
Zigbee ppt
 
Hacking Wireless Networks : Null Delhi (November)
Hacking Wireless Networks : Null Delhi (November)Hacking Wireless Networks : Null Delhi (November)
Hacking Wireless Networks : Null Delhi (November)
 
Gi-Fi ppt
Gi-Fi pptGi-Fi ppt
Gi-Fi ppt
 
Steganography
SteganographySteganography
Steganography
 
Zigbee technology
Zigbee technologyZigbee technology
Zigbee technology
 
Wireless hacking
Wireless hackingWireless hacking
Wireless hacking
 

Ähnlich wie 1_Introduction.pdf

SoftwareSecurity.ppt
SoftwareSecurity.pptSoftwareSecurity.ppt
SoftwareSecurity.pptssuserfb92ae
 
The Threat Landscape & Network Security Measures
The Threat Landscape & Network Security MeasuresThe Threat Landscape & Network Security Measures
The Threat Landscape & Network Security MeasuresCarl B. Forkner, Ph.D.
 
Cyber security for business
Cyber security for businessCyber security for business
Cyber security for businessDaniel Thomas
 
LIS3353 SP12 Week 9
LIS3353 SP12 Week 9LIS3353 SP12 Week 9
LIS3353 SP12 Week 9Amanda Case
 
Webinar - Reducing the Risk of a Cyber Attack on Utilities
Webinar - Reducing the Risk of a Cyber Attack on UtilitiesWebinar - Reducing the Risk of a Cyber Attack on Utilities
Webinar - Reducing the Risk of a Cyber Attack on UtilitiesWPICPE
 
Software Security Training
Software Security TrainingSoftware Security Training
Software Security TrainingBryan Len
 
Built-in Security Mindfulness for Software Developers
Built-in Security Mindfulness for Software DevelopersBuilt-in Security Mindfulness for Software Developers
Built-in Security Mindfulness for Software DevelopersPhú Phùng
 
Defending Enterprise IT - beating assymetricality
Defending Enterprise IT - beating assymetricalityDefending Enterprise IT - beating assymetricality
Defending Enterprise IT - beating assymetricalityClaus Cramon Houmann
 
Cyber security for Developers
Cyber security for DevelopersCyber security for Developers
Cyber security for Developerstechtutorus
 
chap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information Systemschap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information SystemsKashfUlHuda1
 
The Future of Cybersecurity - October 2015
The Future of Cybersecurity - October 2015The Future of Cybersecurity - October 2015
The Future of Cybersecurity - October 2015Security Innovation
 
Beyond security testing
Beyond security testingBeyond security testing
Beyond security testingCu Nguyen
 

Ähnlich wie 1_Introduction.pdf (20)

SoftwareSecurity.ppt
SoftwareSecurity.pptSoftwareSecurity.ppt
SoftwareSecurity.ppt
 
The Threat Landscape & Network Security Measures
The Threat Landscape & Network Security MeasuresThe Threat Landscape & Network Security Measures
The Threat Landscape & Network Security Measures
 
Cyber security for business
Cyber security for businessCyber security for business
Cyber security for business
 
Thur Venture
Thur VentureThur Venture
Thur Venture
 
Venture name Basics
Venture name BasicsVenture name Basics
Venture name Basics
 
Venture name Basics
Venture name BasicsVenture name Basics
Venture name Basics
 
Regression
RegressionRegression
Regression
 
Sangeetha Venture
Sangeetha VentureSangeetha Venture
Sangeetha Venture
 
Software Security
Software SecuritySoftware Security
Software Security
 
LIS3353 SP12 Week 9
LIS3353 SP12 Week 9LIS3353 SP12 Week 9
LIS3353 SP12 Week 9
 
Webinar - Reducing the Risk of a Cyber Attack on Utilities
Webinar - Reducing the Risk of a Cyber Attack on UtilitiesWebinar - Reducing the Risk of a Cyber Attack on Utilities
Webinar - Reducing the Risk of a Cyber Attack on Utilities
 
Careers in Cyber Security
Careers in Cyber SecurityCareers in Cyber Security
Careers in Cyber Security
 
Software Security Training
Software Security TrainingSoftware Security Training
Software Security Training
 
Managing security threats in today’s enterprise
Managing security threats in today’s enterpriseManaging security threats in today’s enterprise
Managing security threats in today’s enterprise
 
Built-in Security Mindfulness for Software Developers
Built-in Security Mindfulness for Software DevelopersBuilt-in Security Mindfulness for Software Developers
Built-in Security Mindfulness for Software Developers
 
Defending Enterprise IT - beating assymetricality
Defending Enterprise IT - beating assymetricalityDefending Enterprise IT - beating assymetricality
Defending Enterprise IT - beating assymetricality
 
Cyber security for Developers
Cyber security for DevelopersCyber security for Developers
Cyber security for Developers
 
chap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information Systemschap-1 : Vulnerabilities in Information Systems
chap-1 : Vulnerabilities in Information Systems
 
The Future of Cybersecurity - October 2015
The Future of Cybersecurity - October 2015The Future of Cybersecurity - October 2015
The Future of Cybersecurity - October 2015
 
Beyond security testing
Beyond security testingBeyond security testing
Beyond security testing
 

Mehr von ssuserfb92ae

Data Annotation_Cars.pptx
Data Annotation_Cars.pptxData Annotation_Cars.pptx
Data Annotation_Cars.pptxssuserfb92ae
 
CIRA Labs - Secure Home Gateway Project 2019-03.pptx
CIRA Labs - Secure Home Gateway Project 2019-03.pptxCIRA Labs - Secure Home Gateway Project 2019-03.pptx
CIRA Labs - Secure Home Gateway Project 2019-03.pptxssuserfb92ae
 
MicrocontrollersIII.ppt
MicrocontrollersIII.pptMicrocontrollersIII.ppt
MicrocontrollersIII.pptssuserfb92ae
 
36_Cryptography.pdf
36_Cryptography.pdf36_Cryptography.pdf
36_Cryptography.pdfssuserfb92ae
 

Mehr von ssuserfb92ae (8)

11_interface.ppt
11_interface.ppt11_interface.ppt
11_interface.ppt
 
Data Annotation_Cars.pptx
Data Annotation_Cars.pptxData Annotation_Cars.pptx
Data Annotation_Cars.pptx
 
CIRA Labs - Secure Home Gateway Project 2019-03.pptx
CIRA Labs - Secure Home Gateway Project 2019-03.pptxCIRA Labs - Secure Home Gateway Project 2019-03.pptx
CIRA Labs - Secure Home Gateway Project 2019-03.pptx
 
TRUSTSeminar.ppt
TRUSTSeminar.pptTRUSTSeminar.ppt
TRUSTSeminar.ppt
 
ch13.ppt
ch13.pptch13.ppt
ch13.ppt
 
MicrocontrollersIII.ppt
MicrocontrollersIII.pptMicrocontrollersIII.ppt
MicrocontrollersIII.ppt
 
36_Cryptography.pdf
36_Cryptography.pdf36_Cryptography.pdf
36_Cryptography.pdf
 
2011_esc.pdf
2011_esc.pdf2011_esc.pdf
2011_esc.pdf
 

Kürzlich hochgeladen

VVIP Pune Call Girls Balaji Nagar (7001035870) Pune Escorts Nearby with Compl...
VVIP Pune Call Girls Balaji Nagar (7001035870) Pune Escorts Nearby with Compl...VVIP Pune Call Girls Balaji Nagar (7001035870) Pune Escorts Nearby with Compl...
VVIP Pune Call Girls Balaji Nagar (7001035870) Pune Escorts Nearby with Compl...Call Girls in Nagpur High Profile
 
Book Sex Workers Available Pune Call Girls Yerwada 6297143586 Call Hot India...
Book Sex Workers Available Pune Call Girls Yerwada  6297143586 Call Hot India...Book Sex Workers Available Pune Call Girls Yerwada  6297143586 Call Hot India...
Book Sex Workers Available Pune Call Girls Yerwada 6297143586 Call Hot India...Call Girls in Nagpur High Profile
 
Top Rated Pune Call Girls Shirwal ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...
Top Rated  Pune Call Girls Shirwal ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...Top Rated  Pune Call Girls Shirwal ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...
Top Rated Pune Call Girls Shirwal ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...Call Girls in Nagpur High Profile
 
Vip Mumbai Call Girls Andheri East Call On 9920725232 With Body to body massa...
Vip Mumbai Call Girls Andheri East Call On 9920725232 With Body to body massa...Vip Mumbai Call Girls Andheri East Call On 9920725232 With Body to body massa...
Vip Mumbai Call Girls Andheri East Call On 9920725232 With Body to body massa...amitlee9823
 
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...drmarathore
 
Kothanur Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
Kothanur Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...Kothanur Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
Kothanur Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...amitlee9823
 
Escorts Service Arekere ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Arekere ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Arekere ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Arekere ☎ 7737669865☎ Book Your One night Stand (Bangalore)amitlee9823
 
VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...
VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...
VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...Call Girls in Nagpur High Profile
 
SM-N975F esquematico completo - reparación.pdf
SM-N975F esquematico completo - reparación.pdfSM-N975F esquematico completo - reparación.pdf
SM-N975F esquematico completo - reparación.pdfStefanoBiamonte1
 
Call Girls In RT Nagar ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In RT Nagar ☎ 7737669865 🥵 Book Your One night StandCall Girls In RT Nagar ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In RT Nagar ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Call Girls Chikhali Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Chikhali Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Chikhali Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Chikhali Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
Call Girls Kothrud Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Kothrud Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Kothrud Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Kothrud Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
VIP Call Girls Dharwad 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Dharwad 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Dharwad 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Dharwad 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
(👉Ridhima)👉VIP Model Call Girls Mulund ( Mumbai) Call ON 9967824496 Starting ...
(👉Ridhima)👉VIP Model Call Girls Mulund ( Mumbai) Call ON 9967824496 Starting ...(👉Ridhima)👉VIP Model Call Girls Mulund ( Mumbai) Call ON 9967824496 Starting ...
(👉Ridhima)👉VIP Model Call Girls Mulund ( Mumbai) Call ON 9967824496 Starting ...motiram463
 
Deira Dubai Escorts +0561951007 Escort Service in Dubai by Dubai Escort Girls
Deira Dubai Escorts +0561951007 Escort Service in Dubai by Dubai Escort GirlsDeira Dubai Escorts +0561951007 Escort Service in Dubai by Dubai Escort Girls
Deira Dubai Escorts +0561951007 Escort Service in Dubai by Dubai Escort GirlsEscorts Call Girls
 
Develop Keyboard Skill.pptx er power point
Develop Keyboard Skill.pptx er power pointDevelop Keyboard Skill.pptx er power point
Develop Keyboard Skill.pptx er power pointGetawu
 
HLH PPT.ppt very important topic to discuss
HLH PPT.ppt very important topic to discussHLH PPT.ppt very important topic to discuss
HLH PPT.ppt very important topic to discussDrMSajidNoor
 

Kürzlich hochgeladen (20)

CHEAP Call Girls in Vinay Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Vinay Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Vinay Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Vinay Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
VVIP Pune Call Girls Balaji Nagar (7001035870) Pune Escorts Nearby with Compl...
VVIP Pune Call Girls Balaji Nagar (7001035870) Pune Escorts Nearby with Compl...VVIP Pune Call Girls Balaji Nagar (7001035870) Pune Escorts Nearby with Compl...
VVIP Pune Call Girls Balaji Nagar (7001035870) Pune Escorts Nearby with Compl...
 
Book Sex Workers Available Pune Call Girls Yerwada 6297143586 Call Hot India...
Book Sex Workers Available Pune Call Girls Yerwada  6297143586 Call Hot India...Book Sex Workers Available Pune Call Girls Yerwada  6297143586 Call Hot India...
Book Sex Workers Available Pune Call Girls Yerwada 6297143586 Call Hot India...
 
Top Rated Pune Call Girls Shirwal ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...
Top Rated  Pune Call Girls Shirwal ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...Top Rated  Pune Call Girls Shirwal ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...
Top Rated Pune Call Girls Shirwal ⟟ 6297143586 ⟟ Call Me For Genuine Sex Ser...
 
Vip Mumbai Call Girls Andheri East Call On 9920725232 With Body to body massa...
Vip Mumbai Call Girls Andheri East Call On 9920725232 With Body to body massa...Vip Mumbai Call Girls Andheri East Call On 9920725232 With Body to body massa...
Vip Mumbai Call Girls Andheri East Call On 9920725232 With Body to body massa...
 
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...
Abort pregnancy in research centre+966_505195917 abortion pills in Kuwait cyt...
 
Kothanur Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
Kothanur Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...Kothanur Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
Kothanur Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
 
Escorts Service Arekere ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Arekere ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Arekere ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Arekere ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...
VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...
VVIP Pune Call Girls Warje (7001035870) Pune Escorts Nearby with Complete Sat...
 
SM-N975F esquematico completo - reparación.pdf
SM-N975F esquematico completo - reparación.pdfSM-N975F esquematico completo - reparación.pdf
SM-N975F esquematico completo - reparación.pdf
 
CHEAP Call Girls in Hauz Quazi (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Hauz Quazi  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Hauz Quazi  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Hauz Quazi (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Call Girls In RT Nagar ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In RT Nagar ☎ 7737669865 🥵 Book Your One night StandCall Girls In RT Nagar ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In RT Nagar ☎ 7737669865 🥵 Book Your One night Stand
 
Call Girls Chikhali Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Chikhali Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Chikhali Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Chikhali Call Me 7737669865 Budget Friendly No Advance Booking
 
Call Girls Kothrud Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Kothrud Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Kothrud Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Kothrud Call Me 7737669865 Budget Friendly No Advance Booking
 
VIP Call Girls Dharwad 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Dharwad 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Dharwad 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Dharwad 7001035870 Whatsapp Number, 24/07 Booking
 
(👉Ridhima)👉VIP Model Call Girls Mulund ( Mumbai) Call ON 9967824496 Starting ...
(👉Ridhima)👉VIP Model Call Girls Mulund ( Mumbai) Call ON 9967824496 Starting ...(👉Ridhima)👉VIP Model Call Girls Mulund ( Mumbai) Call ON 9967824496 Starting ...
(👉Ridhima)👉VIP Model Call Girls Mulund ( Mumbai) Call ON 9967824496 Starting ...
 
Deira Dubai Escorts +0561951007 Escort Service in Dubai by Dubai Escort Girls
Deira Dubai Escorts +0561951007 Escort Service in Dubai by Dubai Escort GirlsDeira Dubai Escorts +0561951007 Escort Service in Dubai by Dubai Escort Girls
Deira Dubai Escorts +0561951007 Escort Service in Dubai by Dubai Escort Girls
 
Develop Keyboard Skill.pptx er power point
Develop Keyboard Skill.pptx er power pointDevelop Keyboard Skill.pptx er power point
Develop Keyboard Skill.pptx er power point
 
HLH PPT.ppt very important topic to discuss
HLH PPT.ppt very important topic to discussHLH PPT.ppt very important topic to discuss
HLH PPT.ppt very important topic to discuss
 

1_Introduction.pdf

  • 1. Software & Hardware Security Erik Poll Digital Security group Radboud University Nijmegen The Netherlands
  • 3. Digital Security group Rigorous & formal methods to design & analyse secure ICT systems Incl. societal impact, esp. on privacy Also looking at concrete applications
  • 4. software security hardware security attacks • buffer overflows in C(++) • web problems: SQL inj, XSS, CSRF,.. defenses • security testing • static analysis for Java & C • smartcards & RFID • attacks • bank cards • e-passport 4 online privacy & cybercrime
  • 6. pre-history of hacking In 1950s, Joe Engressia showed the telephone network could be hacked by phone phreaking: ie. whistling at right frequencies http://www.youtube.com/watch?v=vVZm7I1CTBs In 1970s, before founding Apple together with Steve Jobs, Steve Wozniak sold Blue Boxes for phone phreaking at university sw s1 6
  • 7. Slammer Worm (2003) Pictures taken from The Spread of the Sapphire/Slammer Worm, by David Moore, Vern Paxson, Stefan Savage, Colleen Shannon, Stuart Staniford, Nicholas Weaver 7
  • 8. Slammer Worm (2003) Pictures taken from The Spread of the Sapphire/Slammer Worm, by David Moore, Vern Paxson, Stefan Savage, Colleen Shannon, Stuart Staniford, Nicholas Weaver 8
  • 9. 9
  • 10. Top secret NSA slides leaked by Edward Snowden More info at http:// leaksource.info and http:// www.theguardian.com/us-news/the-nsa-files 10
  • 11. 11
  • 12. 12
  • 13. Security problems of past days… To get an impression of the scale of the problem, have a look at http://www.securityfocus.com/vulnerabilities http://www.us-cert.gov/ncas/alerts http://www.us-cert.gov/ncas/bulletins http://www.securitytracker.com/ 13
  • 14. Quiz What do laptops, tablets, mobile phones, wifi access points, network routers, bank cards, e-passports, eID cards, smartphone apps, web sites, web browsers, web servers, operating systems, firewalls, intrusion detection systems, cars, and airplanes have in common? Why can all these things be hacked, if we are not very careful? There is SOFTWARE inside them! 14
  • 15. Software (in)security • Software is the main source of security problems. – Software is the weakest link in the security chain, with the possible exception of “the human factor” • Software security does (did?) not get much attention – in other security courses, or – in programming courses, or indeed, in much of the security literature! Computer security courses traditionally focus on cryptography…f be solve by cryptography, you do not understand cryptography and you do not understand your problem” [Bruce Schneier] 15
  • 16. “if you think your problem can be solved by cryptography, then you do not understand cryptography and you do not understand your problem” [Bruce Schneier] 16
  • 17. Superficial analysis of the problem 17
  • 18. Observation 1 All these problems are due to (bad) software Namely software in • the Linux/Windows/Mac operating system (OS) • web servers • web browsers • the router software • ... Because of these software bugs constant patching of system is needed to keep them secure 18
  • 19. Observation 2 All these problems are due to bad software that • can be executed/addressed over the network – eg. in case of Slammer worm • executes on (untrusted) input obtained over the network or both With ever more network connectivity, ever more software can be attacked. 19
  • 20. Changing target of attacks • Traditionally, focus of attacks was on operating system and network “Solutions” – regular patching of OS – firewalls – virus scanners • Increasingly, focus on • web applications • web browser • mobile devices • smartphones, tablet, that pass through firewalls • embedded software • software in cars, factories, infrastructure... and targetted attacks on specific organisation or person (known as ATP = Advanced Persistent Threat) 20
  • 21. Changing nature of attackers Traditionally, hackers were amateurs motivated by fun • publishing attacks for fame & glory • attacks creating lots of publicity Increasingly, hackers are professional • attackers go underground • zero-day exploits are worth a lot of money Attackers increasingly include • organized crime with lots of money and (hired) expertise • government agencies: with even more money & in-house expertise 21
  • 22. stuxnet attack Malware (by US and Israel?) attacking nuclear enrichment facility in Iran http://www.ted.com/talks/ralph_langner_cracking_stuxnet_a_21st_century_cyberweapon.html 22
  • 23. Software (in)security: crucial facts • No silver bullets! crypto or special security features do not magically solve all problems • Security is emergent property of entire system – just like quality • (Non-functional) security aspects should be integral part of the design, right from the start 23
  • 24. We focus on software security now, but don’t forget that security is about people (users, employees, sys-admins, programmers,...), and their laziness, mistakes, stupidity, incompetence, confusion, software, bugs, verification, hackers, viruses, testing, operating systems, networks, databases, hardware, access control, passwords, smartcards, biometrics, cryptology, security protocols, security policies & their enforcement, monitoring, auditing, risk management, complexity, legislation, persecution, liability, public relations public perception, conventions, standards, ….. 24
  • 25. The causes of the problem 25
  • 26. Quick audience poll • How many of you learned to program in C or C++? • How many had it as a first programming language? • How many of your C(++) courses • warned you about buffer overflows? • explained how to avoid them? Major causes of problems are • lack of awareness • lack of knowledge • irresponsible teaching of dangerous programming languages 26
  • 27. Quick audience poll • How many of you have built a web-application? – in which programming languages? • What is the secure way of doing a SQL query in this language? (to avoid SQL injection flaws) Major causes of problems are • lack of awareness • lack of knowledge 27
  • 28. 1. Security is always a secondary concern • Security is always a secondary concern – primary goal of software is to provide some functionality or services; – managing associated risks is a derived/secondary concern • There is often a trade-off/conflict between – security – functionality & convenience where security typically looses out • more examples of this later... 28
  • 29. 29
  • 30. Functionality vs security • Functionality is about what software should do, security is (also) about what it should not do Unless you think like an attacker, you will be unaware of any potential threats 30
  • 31. Functionality vs security: Lost battles? • operating systems (OSs) – with huge OS, with huge attack surface • programming languages – with easy to use, efficient, but very insecure and error-prone mechanisms • web browsers – with plug-ins for various formats, javascript, ActiveX, Ajax ... • email clients – which automatically cope with all sorts of formats & attachments.. 31
  • 32. Functionality vs security : PHP "After writing PHP forum software for three years now, I've come to the conclusion that it is basically impossible for normal programmers to write secure PHP code. It takes far too much effort. .... PHP's raison d'etre is that it is simple to pick up and make it do something useful. There needs to be a major push ... to make it safe for the likely level of programmers - newbies. Newbies have zero chance of writing secure software unless their language is safe. ... " [Source http://www.greebo.cnet/?p=320] 32
  • 33. 2. Weakness in depth programming languages hardware (incl network card & peripherals) application operating system webbrowser with plugins platform eg Java or .NET system APIs middleware libraries interpretable or executable input eg paths, filenames, .doc, .xls, .pdf, .js,... sql data base 33
  • 34. 2. Weakness in depth Software • runs on a huge, complicated infrastructure – OS, platforms, webbrowser, lots of libraries & APIs, ... • is built using complicated languages & formats – programming languages, but also SQL, HTML, XML, ... • using various tools – compilers, IDEs, preprocessors, dynamic code downloads These may have security holes, or may make the introduction of security holes very easy & likely 34
  • 35. Recap Problems are due to • lack of awareness – of threats, but also of what should be protected • lack of knowledge – of potential security problems, but also of solutions • compounded by complexity – software written in complicated languages, using large APIs , and running on huge infrastructure • people choosing functionality over security 35
  • 37. Security • Security is about regulating access to assets – assets can be information, functionality, or physical assets – • Software provides functionality – eg on-line exam results • This functionality comes with certain risks – eg what are risks of on-line exam results? • (Software) security is about managing these risks 37
  • 38. Starting point for ensuring security • Any discussion of security should start with an inventory of – the stakeholders – ie. who is involved – their assets, and – the threats to these assets by possible attackers – employees, clients, script kiddies, criminals Any discussion of security without understanding these issues is meaningless: You have to know what you want to secure, against what type of attacks, and against who 38
  • 39. Security concepts Goal of security is to reduce risks to acceptable levels, • Security is never 100% So you have to know what you want to secure, against what type of attacks, against who, and at what cost 39
  • 40. Security Objectives: CIA • Confidentiality – unauthorised users cannot read information • Integrity – unauthorised users cannot alter information • Availability – authorised users can access information – ie. preventing DoS (Denial of Service) attacks • Non-repudiation or accountability – authorised users cannot deny actions 40
  • 41. Security objectives • Integrity nearly always more important than confidentiality Eg think of – your bank account information – your medical records – all the software you use, incl. the entire OS 41
  • 42. How to realise security objectives? AAAA • Authentication – who are you? • Access control/Authorisation – control who is allowed to do what – this requires a specification of who is allowed to do what • Auditing – check if anything went wrong • Action – if so, take action 42
  • 43. How to realise security objectives? Other names for the last three A's • Prevention – measures to stop breaches of security goals • Detection – measures to detect breaches of security goals • Reaction – measures to recover assets, repair damage, and persecute (and deter) offenders 43
  • 44. Try to prevent, but also detect and react Never think that good prevention makes detection & reaction superfluous. Eg. breaking into house or office is often easy; only detection & reaction seriously deters burglars. Detection of digital break-in is harder who noticed a break-in on his computer recently? Reaction (incl. prosecution) is even harder how to find the person responsible, somewhere on the internet?
  • 46. warning: confusing terminology Common use of terminology can be very confused & confusing: (security) weakness, flaw, vulnerability, bug, error, coding defect... We can make a distinction between • a security weakness/flaw: something that is wrong or could be better • a security vulnerability a weakness/flaw that can actually be exploited by an attacker, which requires the flaw to be - accessible: attacker has to be able to get at it - exploitable: attacker has to be able to do some damage with it Eg by unplugging your network connection, some (many?) vulnerabilities become flaws. 46
  • 47. software vulnerabilities Software vulnerabilities can be introduced at two “levels” • design flaws vulnerability in the design • bugs aka implementation flaws or code-level defects vulnerability in the software introduced when implementing a system Rough consensus: bugs and design flaws are equally common Vulnerabilities also arise on other levels (out of scope for now) • configuration flaw when installing software on a machine • the user • unforeseen consequence of the intended functionality (eg. spam) 47
  • 48. Typical software security vulnerabilities Security bugs found in Microsoft bug fix month (2002) 37% 20% 26% 17% 0% buffer overflow input validation code defect design defect crypto 48
  • 49. bugs aka implementation flaws aka code-level defects There are roughly two kinds of implementation flaws 1. bugs that can be understood looking at the program itself (and understanding what it is meant to do!) – eg. , simple typos, confusing two program variables, off-by-one error in array access, ... – sometimes called logic errors, as opposed to syntax errors, or an errors in the program logic 2. lower-level problems that can only be spotted if you understand the underlying platform of the program in execution, eg – buffer overflow,integer overflow,... in binaries compiled from C(++) – SQL injection, XSS, CSRF,.... in web-applications 49
  • 50. The big problem of software security The bad news people keep making the same (types of) mistakes The good news people keep making the same (types of) mistakes …… so we can do something about it! “Every advantage has its disadvantage ” -- Johan Cruijff 50
  • 51. security in the software development life cycle
  • 52. Tackling Software Insecurity • Knowledge about standard mistakes is crucial in preventing them – these depends on the programming language, the “platform” (OS, database systems, web-application framework,…), and the type of application – lots of info available on this now • But this is not enough: security to be taken into account from the start, throughout software development life cycle – several ideas & methodologies to do this 52
  • 53. Security in Software Development Life Cycle [Gary McGraw, Software security, Security & Privacy Magazine, IEEE, Vol 2, No. 2, pp. 80-83, 2004. ] McGraw’s Touchpoints 53
  • 54. Methodologies for security in development life cycle Common/best practices, with methods for assessments, and roadmaps for improvement • McGraw’s Touchpoints BSIMM Building Security In – Maturity Model http://bsimm.com • Microsoft SDL Security Development Lifecycle • OpenSAMM Software Assurance Maturity Model http://opensamm.org 54
  • 56. BSIMM Based on data collected from large enterprises 56
  • 57. Spot the (security) flaws in electronic_purse.c int balance; void decrease(int amount) { if (balance <= amount) { balance = balance – amount; } else { printf(“Insufficient fundsn”); } } void increase(int amount) { balance = balance + amount; } <= should be >= what if this sum is too large for an int? what if amount is negative? 57
  • 58. Different kinds of implementation flaws • lack of input validation of (untrusted) user input – could be a design flaw rather than an implementation flaw? – more “fundamental” than the flaws below • simple mistake in the program logic • potential problem depending on how the underlying platform work, eg. in case of an integer overflow; – “lower level” than the flaws above <= should be >= what if amount is negative? what if this sum is too large for an int? 58
  • 59. More info • Gary McGraw, Software security, Security & Privacy Magazine, IEEE, Vol 2, No. 2, pp. 80-83, 2004. • Check out websites http://www.us-cert.gov/ncas/alerts/ http://www.us-cert.gov/ncas/bulletins/ http://www.securitytracker.com/ http://www.securityfocus.com/vulnerabilities for security alerts in the past week 59