Professional Documents
Culture Documents
SoftSec 01 Intro
SoftSec 01 Intro
SoftSec 01 Intro
Riccardo Scandariato
Institute of Software Security, TUHH, Germany
scanda***to @ tuhh.de
2
3
About me
Call me Riccardo (no prof needed)
4
More MSc courses in SoSe (with me!)
• Secure Software Engineering
“Training future software project managers to set
up a sound security program”
5
Share your opinion
Go to menti.com – XXXX YYYY
• My program
– CS
– IIW
– ICS
– Other
6
Share your opinion
Go to menti.com – XXXX YYYY
7
Security and privacy objectives
Learning objectives
• Recap some some basic security concepts
9
Security & Reliability
• Reliability deals with accidental failures
– Failures are assumed to occur according to some given
probability distribution
• The probabilities for failures is given first, then the
protection mechanisms are constructed
• To make software more reliable, it is tested against
typical usage patterns:
– “It does not matter how many bugs there are, it matters
how often they are triggered”
10
Security & Reliability
• In security, the defender has to move first; the
attacker picks inputs to exploit weak defences
• To make software more secure, it has to be tested
against “untypical” usage patterns (but there are
typical attack patterns)
11
Security is about assets
Security = Protection of asset from harm
13
Damage / harm
• Disclosure of information, espionage
• Modification of data
• Being unable to do your job because required
resources are not available
• Identity spoofing (identity “theft”)
• Unauthorised access to services
• Lost revenue
• Damaged reputation
• Theft of equipment (CPU time)
• …
14
Share your opinion
Share your opinion
Go to menti.com – XXXX YYYY
18
Availability
• The property of being accessible and usable upon
demand by an authorised entity
– Resources (info or services) can be used by authorized parties
that need them, within given time constraints (deadline)
– Service is correct (close to trustworthiness)
• Denial of Service (DoS): prevention of authorised access
of resources or the delaying of time-critical operations
• Very important aspect of computer security, but few
methods are around
• Distributed denial of service (DDoS) received a lot of
attention; systems are now designed to be more
resilient against these attacks
19
Accountability
• At the operating system level, audit logs record
security relevant events and the user identities
associated with these events
• If the link between a user (person) and a “user
identity” (e.g., user ID) can be established, the user
can be held accountable
20
Non-repudiation
• Non-repudiation services provide unforgeable evidence
that a specific action occurred
• Non-repudiation of origin: protects against a sender of
data denying that data was sent (see authenticity)
• Non-repudiation of delivery: protects against a receiver
of data denying that data was received
21
Authenticity
• The property that data originated from its
purported source (NIST glossary)
• Related to non-repudiation
22
Questions ?
More questions at a later time?
25
Secure Development Life-Cycle (SDL)
• Security is not an add-on feature
• You don’t write software and then make it “secure” by
adding a few security features (authentication, etc)
• You don’t write software and then make it “secure” by
removing vulnerabilities either (buffer overflow, etc)
• Security is an ongoing concern throughout the software
life cycle
– Security requirements, Secure design, Secure
development – deployment – maintenance (patching,
new releases, …)
27
Secure Development Life-Cycle (SDL)
• Security requirements
• Secure design
• Security metrics
• Risk assessment…
30
Focus of this course
• We focus on the implementation (code!)
33
Questions ?
More questions at a later time?
36
Feedback
Provide feedback on the course
(during the course!!!)
• I don’t expect everything to work well ;)
37
„Don’t try it at home“
• We intend to give code examples but will not
teach you how to write worms and viruses :)
• Distributing code that performs actions on other
peoples machines is likely to get you in conflict
with the law
• Experimenting with dangerous code at home is
dangerous
• Anti-virus researchers learned at their own
expense the importance to physically separate
experimental from operational systems
38
Lectures and structure
Blocks Lectures
39
Books Exam is based on slides / lectures / labs
Videos
• Last year: SAST, DAST
41
Stud.IP
Files on Stud.IP
• Slides
• Lab assignments
• Lab solutions
Announcements on Stud.IP
• The way we (TAs, me) communicate with you
42
I do not answer messages on Stud.IP
Always forward as email !!!
I must be able to see your full name in the mail !
43
Lab infos J
• 2 fantastic TAs: Cuong, Torge
• Bring your own laptop
44
Lab sessions 1/2
• Week 1 – No lab
• Week 2 – Tutorial on Docker
– October 26 (Wed), 9:45-11:15,
Room H-0.07 (40 seats)
– October 27 (Thu), 11:30-13:00,
Room D-0.010 (28 seats)
• Week 3 – No lab
45
Lab sessions 2/2
Week Date Topic
46
Study
We will ask you to volunteer in an empirical study
on security weaknesses in design
• Security inspection of an application
(micro-services)
Motivation
• Investigate helpfulness of architectural diagram
Idea
• Virtual assistant for secure development tasks
47
Study
Informed consent
One class