Security-by-Design and -Default

September 2023
Security-by-Design and -Default
Mehdi Tarrit Mirakhorli
University of Hawaiʻi at Mānoa
mehdi23@hawaii.edu
1
Laboratory of Software Design
and Productivity
Standing on the
shoulders of giants
Orion was the son of the sea-god Poseidon and Euryale,
daughter of Minos, King of island Crete. Orion could walk on the
waves because of his father; Once he walked to the island of
Chios where he got drunk and made troubles. As a punishment,
the ruler of the island blinded Orion and drove him away.
Orion stumbled to Lemnos where Hephaestus—the smith-god—
had his forge. Hephaestus told his servant, Cedalion, to guide
Orion to the uttermost East where the Sun, healed him; Orion
carried Cedalion around on his shoulders to act as the giant's
eyes.
Credit: METROPOLITAN MUSEUM OF ART, FLETCHER FUND, 1924 (24.45.1)
2
Standing on the
shoulders of giants
If I have seen further it is by standing on the shoulders of
Giants.
- Isaac Newton
Credit: METROPOLITAN MUSEUM OF ART, FLETCHER FUND, 1924 (24.45.1)
3
We use the understanding gained by major
thinkers who have gone before in order to
make intellectual progress.
On whose
Shoulders We
Stand to Solve
Software Security
Crisis?
4
NY Times Article: April 10, 1981
“The space shuttle Columbia will be ruled by majority
vote - not of its astronauts and ground crews but of
its computers.”
On whose
Shoulders We
Stand to Solve
Software Security
Crisis?
5
Learning from the past software crisis!
6
We have learned so much from
building certified and regulated
software.
We have done a lot better in safety
critical software compared to
secure software
On whose
Shoulders We
Stand to Solve
Software Security
Crisis?
I will discuss some of my work in Software Security that
leveraged the lessons learned from Regulated, Certified,
and Transparent domains to enhance software security.
7
On whose Shoulders We Stand to
Solve Software Security Crisis?
8
Pricing Security: Economics of Software Security
Cost of
Identifying and
Correcting
Defects, 1997
We did shift-left in
1997 to address
software reliability
9
0 x
5 x
10 x
15 x
20 x
25 x
30 x
Production,
PostRelease
System,
Acceptance
Testing
Integration,
Component
Testing
Coding
SW Design
$14000
$139 Secure by Design: Shift Left
Secure by design shifts the main focus of software
assurance from finding security bugs to identifying
flaws and weaknesses in the design.
Pricing Security: Economics of Software Security
$ Penetration testing
$$ Bug-bounty testing
$$ Firefighting fixes
$$$ Downtime
$$$ Patching without interrupts
$$$ DAST/SAST/FUZZ
$ Code Review
…..
Cost of Identifying
and Correcting
Security Defects,
2023
https://www.darkreading.com/perimeter/the-economics-of-software-security-what-car-makers-can-teach-enterprises
Software Design: A Working Definition
Master
Slave
HB
Decision # 1:
Use Master-slave Architectural
Style where slave processes are
replicated
Decision # 2:
Checkpoint updated data, and
bundle replicas (send every 2
seconds) – in order to meet
performance goals.
Decision # 3:
Use heartbeat tactic to monitor
availability of task trackers and data
nodes. Heartbeat must beat every
.25 seconds to balance availability
and performance.
Decision # 4:
Use proxy handles failure pattern to
shield clients from failures, and to
support fault tolerance (i.e. service
continues in the face of transient
failure.
Requirements# 1:
highly available system, where
hardware failure can be the norm
rather than the exception
Decision # 1:
Mutual Authentication with
Kerberos RPC (SASL/GSSAPI) on RPC
connections
Decision # 2:
Maintain an Audit Trail
Decision # 3:
Data Encryption on RPC
Data Encryption on Block data
transfer
Data Encryption on HTTP
Decision # 4:
Secure DataNode: DataNodes must
authenticate themselves
Requirements# 2:
Provide secure services for the
client
More Decisions:
A non-trivial architecture is likely
to be composed of hundreds, if
not thousands of architectural
decisions.
10
Software Design: A Working Definition
Master
Slave
HB
Decision # 1:
Use Master-slave Architectural
Style where slave processes are
replicated
Decision # 2:
Checkpoint updated data, and
bundle replicas (send every 2
seconds) – in order to meet
performance goals.
Decision # 3:
Use heartbeat tactic to monitor
availability of task trackers and data
nodes. Heartbeat must beat every
.25 seconds to balance availability
and performance.
Decision # 4:
Use proxy handles failure pattern to
shield clients from failures, and to
support fault tolerance (i.e. service
continues in the face of transient
failure.
Requirements# 1:
highly available system, where
hardware failure can be the norm
rather than the exception
Decision # 1:
Mutual Authentication with
Kerberos RPC (SASL/GSSAPI) on RPC
connections
Decision # 2:
Maintain an Audit Trail
Decision # 3:
Data Encryption on RPC
Data Encryption on Block data
transfer
Data Encryption on HTTP
Decision # 4:
Secure DataNode: DataNodes must
authenticate themselves
Requirements# 2:
Provide secure services for the
client
More Decisions:
A non-trivial architecture is likely
to be composed of hundreds, if
not thousands of architectural
decisions.
Decision # 1:
Use GN&C model, separate each of
these domains and run them on
different threads..
More Decisions:
A non-trivial architecture is likely
to be composed of hundreds, if
not thousands of architectural
decisions.
Decision # 29:
Separate data busses should be used
for data or command operations.
Each buss should utilize a different
scheduling mechanisms.
Decision # 101:
Utilize heartbeat, voting and
simulation to detect faults. FDIR
module responsible for all these.
Decision # 1:
Keep primaries together, and
replicas together at all times to
meet redundancy goals.
Decision # 2:
Checkpoint updated data, and
bundle replicas (send every 2
seconds) – in order to meet
performance goals.
Decision # 3:
Use heartbeat tactic to monitor
availability of track manager
primaries and secondaries.
Heartbeat must beat every .25
seconds to balance availability and
performance.
Decision # 3:
Use heartbeat tactic to monitor
availability of track manager
primaries and secondaries.
Heartbeat must beat every .25
seconds to balance availability and
performance.
Decision # 32:
GN&C flight system must use active
redundancy with graceful
degradation to achieve maximum
availability.
More Decisions:
A non-trivial architecture is likely
to be composed of hundreds, if
not thousands of architectural
decisions.
More Decisions:
A non-trivial architecture is likely
to be composed of hundreds, if
not thousands of architectural
decisions.
Decision # 91:
Utilize heartbeat, voting and
simulation to detect faults. FDIR
module responsible for all these.
Decision # 1:
Use thread pooling to execute
recurrent mission operations.
Decision # 21:
Active redundancy is implemented
to achieve minimize mean time
between failures.
Decision # 19:
Separation of concerns: Each tasks
must run as a separate process on a
separate processor.
Decision # 52:
Platform Diversity plus N-Version
programming must be used to
maximize the reliability.
Decision # 4:
Use proxy handles failure pattern to
shield clients from failures, and to
support fault tolerance (i.e. service
continues in the face of transient
failure.
Decision # 151:
Utilize heartbeat, voting and
simulation to detect faults. FDIR
module responsible for all these.
Decision # 81:
Voting mechanism is used to recover
from failure of any of the sensors.
Decision # 101:
Utilize heartbeat, voting and
simulation to detect faults. FDIR
module responsible for all these.
Decision # 113:
Semantic based scheduling and task
sequencer is used to provide real-
time performance.
More Decisions:
A non-trivial architecture is likely
to be composed of hundreds, if
not thousands of architectural
decisions.
Decision # 3:
Use heartbeat tactic to monitor
availability of track manager
primaries and secondaries.
Heartbeat must beat every .25
seconds to balance availability and
performance.
Decision # 121:
Keep primaries together, and
replicas together at all times to
meet redundancy goals.
Decision # 3:
Use heartbeat tactic to monitor
availability of track manager
primaries and secondaries.
Heartbeat must beat every .25
seconds to balance availability and
performance.
Decision # 66:
Check pointing is utilized to recover
non-mission critical operations.
11
Building Blocks of Secure by Design and Default
In Secure by Design, architecture is the main step to secure a system, it starts
from identifying misuse and abuse cases, performing threat modeling and
then making appropriate design decisions to mitigate threats.
Detect
Attacks
Resist
Attacks
Prevent
Attacks
React to
Attacks
Security as
Default
Verify Message Integrity
Detect Intrusion
Detect Service Denial
Anomaly Detection
Detect Message Delay
Exception detection
Runtime Attestation
Sanity checking
Identify Actors
Validate Inputs
Manage User Sessions
Authenticate Actors
Authorize Actors
Limit Access
Limit Exposure
Encrypt Data
Separate entities
Change default settings
Removal from service
Predictive model
Increase competence set
Transactions
Exception prevention
Process Monitor
Lock Computer
Revoke access
Inform actors
Audit
Use software redundancy
Rollback (Checkpointing)
Reconfiguration
Shadow
State resynchronization
Escalating restart
Degradation
Roll Forward
Recover from
Attacks
Eliminate default passwords
Multifactor Authentication (MFA)
Single sign-on (SSO)
Secure Logging
Software Authorization Profile
Track& reduce “hardening guide” siz
Usable Security
Secure by Design and Default Tactics
What are Common
Design Weaknesses?
13
For other quality attributes such as
performance, availability, maintainability we
know all patterns and anti-patterns, but for
security we had limited resources on these.
J. C. S. Santos, K. Tarrit and M. Mirakhorli, "A Catalog of Security Architecture Weaknesses," 2017 IEEE International Conference on
Software Architecture, Gothenburg, Sweden, 2017, pp. 220-223, doi: 10.1109/ICSAW.2017.25.
What are Common
Design Weaknesses? 224 security
issues rooted in
the software
architecture:
Empirical Studies:
• Let’s learn from vulnerabilities in real
systems.
• Study focused on top 20 vulnerable
systems.
Existing Knowledge-Bases
• DHS/MITRE CWE Collection
National Vulnerability Database
• NIST/DHS database of known
vulnerabilities.
OMISSION
Decisions that were never
made
COMMISSION
Poor design decisions
REALIZATION
Incorrect Implementation
Ex: Password stored
without encryption
Server
Attacker
Client
Ex: Client-side
authentication
Ex: Authenticity Check
Missing
14
Best Paper Award, 2017, International Conference on Software Architecture
Adoption by the
Industry, U.S. &
Canadian Governments
What are Common
Design Weaknesses?
15
How Common Are CAWEs?
How Common Are CAWEs?
From the vulnerabilities that we
analyzed, 42.5% of vulnerabilities in
Chromium were architectural (403
CVEs), 38.7% for PHP (43 CVEs) and
38.2% for Thunderbird (255 CVEs).
Vulnerabilities in the three studied
systems are mostly related to the tactics
“Validate Inputs” and “Authorize Actors”,
used for resisting attacks.
How Common Are CAWEs?
The PLCs, RTUS etc.
communicate with SCADA
server using industrial
communication protocols
(Fieldbus)
2
HMIs are used by Humans to
configure the plant, troubleshoot
problems, run/stop/update
programs, and recover from
failures
3
The Data Historian logs
daily operational data used
for analysis & diagnosis
4
Programmable Logic
Controllers (PLCs) &
Remote Terminal Units
(RTUs) connect to sensors
& actuators
1
In Collaboration with U.S. DHS, NIST
and U.S. Cyber Emergency Response
Teams (CERT) for Industrial Control
Systems
Results & Implications
Most Vulnerable ICS Components
62.86% (540) of ICS Advisories studied were associated with 1 or more architectural weakness (CAWE)
18
How Common Are CAWEs?
Results & Implications
Most Vulnerable ICS Components
62.86% (540) of ICS Advisories studied were associated with 1 or more architectural weakness (CAWE)
19
In Collaboration with U.S. DHS, NIST
and U.S. Cyber Emergency Response
Teams (CERT) for Industrial Control
Systems
How Common Are CAWEs?
Results & Implications
Most Vulnerable ICS Components
62.86% (540) of ICS Advisories studied were associated with 1 or
more architectural weakness (CAWE)
20
In Collaboration with U.S. DHS, NIST
and U.S. Cyber Emergency Response
Teams (CERT) for Industrial Control
Systems
Secure by Design and -
Default, what it takes!
21
K-12 Technology
Security Requirements Engineering First
Secure by Design, What it Takes!
We can learn from 30+ Years Worth of methods,
models, tools and approaches on early assessment
of (safety) requirements in avionic, medical and
other safety and mission critical systems.
Safety Cases
Security Requirements Engineering First
Celeste Gambardella
Viktoria Koscinski Estey Gerstner
Secure by Design, What it Takes!
Safety Cases
Security Requirements Engineering First
Celeste Gambardella
Viktoria Koscinski Estey Gerstner
Secure by Design and Default, What it Takes!
Safety Cases
From Safety Cases to Misuse and Abuse
Cases and Identification of attack
scenarios!
Threat Modeling
Supported by DARPA
Towards an Automated Approach for Detecting Architectural Weaknesses in Critical
Systems, The 1st International Workshop on Engineering and Cybersecurity of Critical
Systems (EnCyCriS), 2020.
Security Assurances: Learning from safety
critical systems, we developed Assurance
Cases for Architecture Models, to Check if
the Secure by Design Claims are Met.
25
Secure by Design and Default, What it Takes!
Tooling to Help Developers Detect Design Flaws
Leasons Learned from Architecture First Approach to
Resiliency!
How to Detect Design Flaws?
Supported by DARPA
Towards an Automated Approach for Detecting Architectural Weaknesses in Critical
Systems, The 1st International Workshop on Engineering and Cybersecurity of Critical
Systems (EnCyCriS), 2020.
Develop Assurance Cases for
Architecture Models, and Check if the
Resilient by Design Claims are Met.
System has (i) at least one Validator, and (ii) at least one Target, which is
a component that perform security-critical operations.
This top-level claim invokes a subclaim (target components only receive
external data (from outside trust boundary) that is validated. This check
if at some point the data goes through interception validator or data
validator.
26
How to Detect Design Flaws?
Supported by DARPA
Develop Assurance Cases for
Architecture Models, and Check if the
Resilient by Design Claims are Met.
role::Entrypoint
role::CriticalComponent
role::Target
role::Target
role::Target
role::Target
role::Target
role::SensitiveDataSource
No Validation
Achilles::role:SensitiveDataSource
No Encryption
CAWE-319 TRANSMISSION OF SENSITIVE DATA WITHOUT ENCRYPTION
CAWE-306 MISSING AUTHENTICATION FOR CRITICAL FUNCTION
27
Software Change Cycle: Ideal World
Ideal World: Architectural
information is documented during
the Architectural design phase and
is updated regularly to reflect the
current system architecture.
28
Secure by Design and Default, What it Takes!
Design Erosion and Drift
Software Change Cycle: Ideal World
Ideal World: Architectural
information is documented during
the Architectural design phase and
is updated regularly to reflect the
current system architecture.
29
Software Change Cycle: Real World
Real World: Architectural
information is outdated and does
not reflect the current architecture
of the system.
Secure by Design and Default, What it Takes!
Design Erosion and Drift What is in the code is the software
design in use!
Implementing a Software Design is Difficult
Intended
Architecture
Implemented Architecture
An Observation: developers have
difficulties implementing design
solutions (tactics/patters/styles). They
keep refactoring…
More Facts : We studied five large
scale software systems, and
architecturally significant
classes had significantly more
bugs than non-architecturally
significant ones (p-value< 0.001).
30
A big ball of mud: Apache Hadoop architecture
Master
Slave
HB
Implementing a Software Design is Difficult
31
Roles and Impacts of Hands-on Software Architects in Five Industrial Case Studies, 40th International Conference on Software Engineering (ICSE), 2018.
An Empirical Study of Software Degradation
32
Roles and Impacts of Hands-on Software Architects in Five Industrial Case Studies, 40th International Conference on Software Engineering (ICSE), 2018.
Architecture Savvy Developers
33
Roles and Impacts of Hands-on Software Architects in Five Industrial Case Studies, 40th International Conference on Software Engineering (ICSE), 2018.
Architecture Savvy Developers
34
Roles and Impacts of Hands-on Software Architects in Five Industrial Case Studies, 40th International Conference on Software Engineering (ICSE), 2018.
Architecture Savvy Developers
35
• Non-Architecture Savvy Developers tend to introduce more bugs in Design
Fragments of the system. (p-value< 0.01)
• Design fragments owned by the Architecture Savvy Developers are less likely to
have bugs.
• In open-source projects you can’t dictate architectural decisions, it’s all persuasion
and communicating how things should work out.
• We constantly make changes in software in firefighting situations (Hadoop crashes
in U.S. bank or Facebook).
• We write functional tests but we don’t even have test cases for design decisions.
Bring Security Design Thinking into
Developers Daily coding Activities
36
What are Software Attack
Surfaces?
37
Secure by Design and Default, What it Takes!
Reduce Software Attack Surfaces
Attack Surface—the critical points on the
boundary of a software system:
- Accessible from outside
- Contain valuable content for attackers
Attack surface analysis :
The process of identifying applications’
attack surface components.
Not very well understood in the
literature! We also lack of tools!
What are Software Attack
Surfaces?
38
Secure by Design and Default, What it Takes!
Reduce Software Attack Surfaces
Our Goal: Analyze
thousands of CVEs to
capture commen attack
surfaces abused in the wild.
What are Software Attack
Surfaces?
39
Secure by Design and Default, What it Takes!
Reduce Software Attack Surfaces
What are Software Attack
Surfaces?
40
Secure by Design and Default, What it Takes!
Reduce Software Attack Surfaces
What are Software Attack
Surfaces?
41
Secure by Design and Default, What it Takes!
Reduce Software Attack Surfaces
What are Software Attack
Surfaces?
42
Secure by Design and Default, What it Takes!
Reduce Software Attack Surfaces
What are Software Attack
Surfaces?
43
Secure by Design and Default, What it Takes!
Reduce Software Attack Surfaces
• The proposed model covers previously studied
attack surface components and introduces 254 new
concrete components that did not exist int the
literature
The literature covers:
- A small percentage of Code level entry
points targets and mechanisms
- On average at the Code level only 8 of the 119
concepts (6.7%)
- In the best case only 50% of the Network level
mechanisms
R&D in Support of President Biden’s EO
44
44
Secure by Design and Default, What it Takes!
Secure Software Supply Chain
Landscape of Emerging Tools
45
Secure by Design and Default, What it Takes!
Secure Software Supply Chain
SBOM Generation:
- Interoperability Use Cases:
- Converting
- Merging
- Signing and Notary
- Diff
- Add
Strengthening Software Supply Chain
- Vulnerability Management
- Detect Dependency Misuses
- Unpinned dependency allowing range of
versions
- Dynamically loading dependencies
- et.c
SBOM Quality Checking
- Schema Checking
- SBOM Content Validation
and SBOM Scoring
- Authenticity Verification
Information Sharing Across Supply Chain
- SBOM Sharing
- Vulnerability Exploitability eXchange (VEXs)
Landscape of Emerging Tools
46
Secure by Design
and Default, What it
Takes!
Secure Software Supply Chain
Major Issue:
- Interoperability of tools
- Inconsistency of Fidnings
- Missing components
- Missing vendor info
- Versions
- Transient Dependencies
We can learn from well established software engineering
practices in Regulated, and Certified domains
On whose Shoulders
We Stand?
47
1 de 47

Recomendados

2019 DevSecOps Reference Architectures por
2019 DevSecOps Reference Architectures2019 DevSecOps Reference Architectures
2019 DevSecOps Reference ArchitecturesSonatype
4.9K visualizações49 slides
Introduction to DevSecOps por
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOpsSetu Parimi
1.9K visualizações27 slides
Shift Left Security - The What, Why and How por
Shift Left Security - The What, Why and HowShift Left Security - The What, Why and How
Shift Left Security - The What, Why and HowDevOps.com
950 visualizações15 slides
The Measure of Success: Security Metrics to Tell Your Story por
The Measure of Success: Security Metrics to Tell Your StoryThe Measure of Success: Security Metrics to Tell Your Story
The Measure of Success: Security Metrics to Tell Your StoryPriyanka Aash
8.8K visualizações23 slides
Practical DevSecOps Course - Part 1 por
Practical DevSecOps Course - Part 1Practical DevSecOps Course - Part 1
Practical DevSecOps Course - Part 1Mohammed A. Imran
3.5K visualizações19 slides
Meaningfull security metrics por
Meaningfull security metricsMeaningfull security metrics
Meaningfull security metricsVladimir Jirasek
7.3K visualizações13 slides

Mais conteúdo relacionado

Mais procurados

Incident Management Framework por
Incident Management FrameworkIncident Management Framework
Incident Management FrameworkJohnPereira62
316 visualizações26 slides
End-to-End CI/CD at scale with Infrastructure-as-Code on AWS por
End-to-End CI/CD at scale with Infrastructure-as-Code on AWSEnd-to-End CI/CD at scale with Infrastructure-as-Code on AWS
End-to-End CI/CD at scale with Infrastructure-as-Code on AWSBhuvaneswari Subramani
172 visualizações46 slides
Developing useful metrics por
Developing useful metricsDeveloping useful metrics
Developing useful metricsPriyanka Aash
808 visualizações39 slides
DevSecOps and the CI/CD Pipeline por
 DevSecOps and the CI/CD Pipeline DevSecOps and the CI/CD Pipeline
DevSecOps and the CI/CD PipelineJames Wickett
4.4K visualizações98 slides
Benefits of DevSecOps por
Benefits of DevSecOpsBenefits of DevSecOps
Benefits of DevSecOpsFinto Thomas , CISSP, TOGAF, CCSP, ITIL. JNCIS
414 visualizações19 slides
SAMA BCM Framework por
SAMA BCM Framework SAMA BCM Framework
SAMA BCM Framework Continuity and Resilience
1.4K visualizações36 slides

Mais procurados(20)

Incident Management Framework por JohnPereira62
Incident Management FrameworkIncident Management Framework
Incident Management Framework
JohnPereira62316 visualizações
End-to-End CI/CD at scale with Infrastructure-as-Code on AWS por Bhuvaneswari Subramani
End-to-End CI/CD at scale with Infrastructure-as-Code on AWSEnd-to-End CI/CD at scale with Infrastructure-as-Code on AWS
End-to-End CI/CD at scale with Infrastructure-as-Code on AWS
Bhuvaneswari Subramani172 visualizações
Developing useful metrics por Priyanka Aash
Developing useful metricsDeveloping useful metrics
Developing useful metrics
Priyanka Aash808 visualizações
DevSecOps and the CI/CD Pipeline por James Wickett
 DevSecOps and the CI/CD Pipeline DevSecOps and the CI/CD Pipeline
DevSecOps and the CI/CD Pipeline
James Wickett4.4K visualizações
SOC presentation- Building a Security Operations Center por Michael Nickle
SOC presentation- Building a Security Operations CenterSOC presentation- Building a Security Operations Center
SOC presentation- Building a Security Operations Center
Michael Nickle49.2K visualizações
DevSecOps reference architectures 2018 por Sonatype
DevSecOps reference architectures 2018DevSecOps reference architectures 2018
DevSecOps reference architectures 2018
Sonatype 10.1K visualizações
Washington DC DataOps Meetup -- Nov 2019 por DataKitchen
Washington DC DataOps Meetup   -- Nov 2019Washington DC DataOps Meetup   -- Nov 2019
Washington DC DataOps Meetup -- Nov 2019
DataKitchen3.3K visualizações
Dell Technologies Cyber Security playbook por Margarete McGrath
Dell Technologies Cyber Security playbookDell Technologies Cyber Security playbook
Dell Technologies Cyber Security playbook
Margarete McGrath285 visualizações
DevSecOps : an Introduction por Prashanth B. P.
DevSecOps : an IntroductionDevSecOps : an Introduction
DevSecOps : an Introduction
Prashanth B. P.277 visualizações
Application Assessment - Executive Summary Report por CAST
Application Assessment - Executive Summary ReportApplication Assessment - Executive Summary Report
Application Assessment - Executive Summary Report
CAST1.2K visualizações
Incident management with jira por Jyaasa Technologies
Incident management with jiraIncident management with jira
Incident management with jira
Jyaasa Technologies1.8K visualizações
Shift Left Security por BATbern
Shift Left SecurityShift Left Security
Shift Left Security
BATbern244 visualizações
Software Engineering - chp3- design por Lilia Sfaxi
Software Engineering - chp3- designSoftware Engineering - chp3- design
Software Engineering - chp3- design
Lilia Sfaxi11.7K visualizações
DevOps Powerpoint Presentation Slides por SlideTeam
DevOps Powerpoint Presentation SlidesDevOps Powerpoint Presentation Slides
DevOps Powerpoint Presentation Slides
SlideTeam5.6K visualizações
Site (Service) Reliability Engineering por Mark Underwood
Site (Service) Reliability EngineeringSite (Service) Reliability Engineering
Site (Service) Reliability Engineering
Mark Underwood828 visualizações
Jira as a Project Management Tool por Paolo Mottadelli
Jira as a Project Management ToolJira as a Project Management Tool
Jira as a Project Management Tool
Paolo Mottadelli71.6K visualizações
The Modern Software Architect por Niels Bech Nielsen
The Modern Software ArchitectThe Modern Software Architect
The Modern Software Architect
Niels Bech Nielsen6.1K visualizações

Similar a Security-by-Design and -Default

Shifting security to the left with kubernetes, azure, and istio por
Shifting security to the left with kubernetes, azure, and istioShifting security to the left with kubernetes, azure, and istio
Shifting security to the left with kubernetes, azure, and istioChristian Melendez
322 visualizações53 slides
Secure Decisions - Cyber Security Sensemaking por
Secure Decisions - Cyber Security SensemakingSecure Decisions - Cyber Security Sensemaking
Secure Decisions - Cyber Security SensemakingAnita D'Amico
1.5K visualizações25 slides
Rik Ferguson por
Rik FergusonRik Ferguson
Rik FergusonCloudExpoEurope
425 visualizações20 slides
2010.hari_kannan.phd_thesis.slides.pdf por
2010.hari_kannan.phd_thesis.slides.pdf2010.hari_kannan.phd_thesis.slides.pdf
2010.hari_kannan.phd_thesis.slides.pdfAlexKarasulu1
3 visualizações56 slides
From Cybersecurity to Cyber Resilience por
From Cybersecurity to Cyber ResilienceFrom Cybersecurity to Cyber Resilience
From Cybersecurity to Cyber Resilienceaccenture
15K visualizações14 slides
Proving the Security of Low-Level Software Components & TEEs por
Proving the Security of Low-Level Software Components & TEEsProving the Security of Low-Level Software Components & TEEs
Proving the Security of Low-Level Software Components & TEEsAshley Zupkus
417 visualizações23 slides

Similar a Security-by-Design and -Default(20)

Shifting security to the left with kubernetes, azure, and istio por Christian Melendez
Shifting security to the left with kubernetes, azure, and istioShifting security to the left with kubernetes, azure, and istio
Shifting security to the left with kubernetes, azure, and istio
Christian Melendez322 visualizações
Secure Decisions - Cyber Security Sensemaking por Anita D'Amico
Secure Decisions - Cyber Security SensemakingSecure Decisions - Cyber Security Sensemaking
Secure Decisions - Cyber Security Sensemaking
Anita D'Amico1.5K visualizações
Rik Ferguson por CloudExpoEurope
Rik FergusonRik Ferguson
Rik Ferguson
CloudExpoEurope425 visualizações
2010.hari_kannan.phd_thesis.slides.pdf por AlexKarasulu1
2010.hari_kannan.phd_thesis.slides.pdf2010.hari_kannan.phd_thesis.slides.pdf
2010.hari_kannan.phd_thesis.slides.pdf
AlexKarasulu13 visualizações
From Cybersecurity to Cyber Resilience por accenture
From Cybersecurity to Cyber ResilienceFrom Cybersecurity to Cyber Resilience
From Cybersecurity to Cyber Resilience
accenture15K visualizações
Proving the Security of Low-Level Software Components & TEEs por Ashley Zupkus
Proving the Security of Low-Level Software Components & TEEsProving the Security of Low-Level Software Components & TEEs
Proving the Security of Low-Level Software Components & TEEs
Ashley Zupkus417 visualizações
Securing Your Containers is Not Enough: How to Encrypt Container Data por Mirantis
Securing Your Containers is Not Enough: How to Encrypt Container DataSecuring Your Containers is Not Enough: How to Encrypt Container Data
Securing Your Containers is Not Enough: How to Encrypt Container Data
Mirantis174 visualizações
Governance for your Modern Application Platform - November 4, 2020 por VMware Tanzu
Governance for your Modern Application Platform - November 4, 2020Governance for your Modern Application Platform - November 4, 2020
Governance for your Modern Application Platform - November 4, 2020
VMware Tanzu1.1K visualizações
(SEC312) Taking a DevOps Approach to Security | AWS re:Invent 2014 por Amazon Web Services
(SEC312) Taking a DevOps Approach to Security | AWS re:Invent 2014(SEC312) Taking a DevOps Approach to Security | AWS re:Invent 2014
(SEC312) Taking a DevOps Approach to Security | AWS re:Invent 2014
Amazon Web Services2.4K visualizações
Securing Container Deployments from Build to Ship to Run - August 2017 - Ranc... por Shannon Williams
Securing Container Deployments from Build to Ship to Run - August 2017 - Ranc...Securing Container Deployments from Build to Ship to Run - August 2017 - Ranc...
Securing Container Deployments from Build to Ship to Run - August 2017 - Ranc...
Shannon Williams1.4K visualizações
2017-07-12 GovLoop: New Era of Digital Security por Shawn Wells
2017-07-12 GovLoop: New Era of Digital Security2017-07-12 GovLoop: New Era of Digital Security
2017-07-12 GovLoop: New Era of Digital Security
Shawn Wells193 visualizações
Iaetsd cloud computing and security challenges por Iaetsd Iaetsd
Iaetsd cloud computing and security challengesIaetsd cloud computing and security challenges
Iaetsd cloud computing and security challenges
Iaetsd Iaetsd143 visualizações
Proactive Threat Detection and Safeguarding of Data for Enhanced Cyber resili... por Sandeep Patil
Proactive Threat Detection and Safeguarding of Data for Enhanced Cyber resili...Proactive Threat Detection and Safeguarding of Data for Enhanced Cyber resili...
Proactive Threat Detection and Safeguarding of Data for Enhanced Cyber resili...
Sandeep Patil455 visualizações
Security as a top of mind issue for mobile application development por Ștefan Popa
Security as a top of mind issue for mobile application developmentSecurity as a top of mind issue for mobile application development
Security as a top of mind issue for mobile application development
Ștefan Popa103 visualizações
Automated Cloud-Native Incident Response with Kubernetes and Service Mesh por Matt Turner
Automated Cloud-Native Incident Response with Kubernetes and Service MeshAutomated Cloud-Native Incident Response with Kubernetes and Service Mesh
Automated Cloud-Native Incident Response with Kubernetes and Service Mesh
Matt Turner28 visualizações
Learning Optimal Intrusion Responses via Decomposition por Kim Hammar
Learning Optimal Intrusion Responses via DecompositionLearning Optimal Intrusion Responses via Decomposition
Learning Optimal Intrusion Responses via Decomposition
Kim Hammar7 visualizações
The How and Why of Container Vulnerability Management por Tim Mackey
The How and Why of Container Vulnerability ManagementThe How and Why of Container Vulnerability Management
The How and Why of Container Vulnerability Management
Tim Mackey981 visualizações
The How and Why of Container Vulnerability Management por Black Duck by Synopsys
The How and Why of Container Vulnerability ManagementThe How and Why of Container Vulnerability Management
The How and Why of Container Vulnerability Management
Black Duck by Synopsys1.1K visualizações
Learning Near-Optimal Intrusion Responses for IT Infrastructures via Decompos... por Kim Hammar
Learning Near-Optimal Intrusion Responses for IT Infrastructures via Decompos...Learning Near-Optimal Intrusion Responses for IT Infrastructures via Decompos...
Learning Near-Optimal Intrusion Responses for IT Infrastructures via Decompos...
Kim Hammar13 visualizações
Democratizing security por Sanjeev Sharma
Democratizing securityDemocratizing security
Democratizing security
Sanjeev Sharma501 visualizações

Último

Codes and Conventions.pptx por
Codes and Conventions.pptxCodes and Conventions.pptx
Codes and Conventions.pptxIsabellaGraceAnkers
8 visualizações5 slides
Pull down shoulder press final report docx (1).pdf por
Pull down shoulder press final report docx (1).pdfPull down shoulder press final report docx (1).pdf
Pull down shoulder press final report docx (1).pdfComsat Universal Islamabad Wah Campus
13 visualizações25 slides
802.11 Computer Networks por
802.11 Computer Networks802.11 Computer Networks
802.11 Computer NetworksTusharChoudhary72015
10 visualizações33 slides
K8S Roadmap.pdf por
K8S Roadmap.pdfK8S Roadmap.pdf
K8S Roadmap.pdfMaryamTavakkoli2
6 visualizações1 slide
DESIGN OF SPRINGS-UNIT4.pptx por
DESIGN OF SPRINGS-UNIT4.pptxDESIGN OF SPRINGS-UNIT4.pptx
DESIGN OF SPRINGS-UNIT4.pptxgopinathcreddy
19 visualizações47 slides
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx por
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptxlwang78
53 visualizações19 slides

Último(20)

Codes and Conventions.pptx por IsabellaGraceAnkers
Codes and Conventions.pptxCodes and Conventions.pptx
Codes and Conventions.pptx
IsabellaGraceAnkers8 visualizações
K8S Roadmap.pdf por MaryamTavakkoli2
K8S Roadmap.pdfK8S Roadmap.pdf
K8S Roadmap.pdf
MaryamTavakkoli26 visualizações
DESIGN OF SPRINGS-UNIT4.pptx por gopinathcreddy
DESIGN OF SPRINGS-UNIT4.pptxDESIGN OF SPRINGS-UNIT4.pptx
DESIGN OF SPRINGS-UNIT4.pptx
gopinathcreddy19 visualizações
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx por lwang78
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
lwang7853 visualizações
MSA Website Slideshow (16).pdf por msaucla
MSA Website Slideshow (16).pdfMSA Website Slideshow (16).pdf
MSA Website Slideshow (16).pdf
msaucla68 visualizações
Digital Watermarking Of Audio Signals.pptx por AyushJaiswal781174
Digital Watermarking Of Audio Signals.pptxDigital Watermarking Of Audio Signals.pptx
Digital Watermarking Of Audio Signals.pptx
AyushJaiswal78117412 visualizações
Activated sludge process .pdf por 8832RafiyaAltaf
Activated sludge process .pdfActivated sludge process .pdf
Activated sludge process .pdf
8832RafiyaAltaf9 visualizações
Advances in micro milling: From tool fabrication to process outcomes por Shivendra Nandan
Advances in micro milling: From tool fabrication to process outcomesAdvances in micro milling: From tool fabrication to process outcomes
Advances in micro milling: From tool fabrication to process outcomes
Shivendra Nandan7 visualizações
CHEMICAL KINETICS.pdf por AguedaGutirrez
CHEMICAL KINETICS.pdfCHEMICAL KINETICS.pdf
CHEMICAL KINETICS.pdf
AguedaGutirrez12 visualizações
Machine Element II Course outline.pdf por odatadese1
Machine Element II Course outline.pdfMachine Element II Course outline.pdf
Machine Element II Course outline.pdf
odatadese19 visualizações
Literature review and Case study on Commercial Complex in Nepal, Durbar mall,... por AakashShakya12
Literature review and Case study on Commercial Complex in Nepal, Durbar mall,...Literature review and Case study on Commercial Complex in Nepal, Durbar mall,...
Literature review and Case study on Commercial Complex in Nepal, Durbar mall,...
AakashShakya1272 visualizações
fakenews_DBDA_Mar23.pptx por deepmitra8
fakenews_DBDA_Mar23.pptxfakenews_DBDA_Mar23.pptx
fakenews_DBDA_Mar23.pptx
deepmitra814 visualizações
Investor Presentation por eser sevinç
Investor PresentationInvestor Presentation
Investor Presentation
eser sevinç25 visualizações
Saikat Chakraborty Java Oracle Certificate.pdf por SaikatChakraborty787148
Saikat Chakraborty Java Oracle Certificate.pdfSaikat Chakraborty Java Oracle Certificate.pdf
Saikat Chakraborty Java Oracle Certificate.pdf
SaikatChakraborty78714815 visualizações
NEW SUPPLIERS SUPPLIES (copie).pdf por georgesradjou
NEW SUPPLIERS SUPPLIES (copie).pdfNEW SUPPLIERS SUPPLIES (copie).pdf
NEW SUPPLIERS SUPPLIES (copie).pdf
georgesradjou15 visualizações
DevOps to DevSecOps: Enhancing Software Security Throughout The Development L... por Anowar Hossain
DevOps to DevSecOps: Enhancing Software Security Throughout The Development L...DevOps to DevSecOps: Enhancing Software Security Throughout The Development L...
DevOps to DevSecOps: Enhancing Software Security Throughout The Development L...
Anowar Hossain13 visualizações
Searching in Data Structure por raghavbirla63
Searching in Data StructureSearching in Data Structure
Searching in Data Structure
raghavbirla637 visualizações
zincalume water storage tank design.pdf por 3D LABS
zincalume water storage tank design.pdfzincalume water storage tank design.pdf
zincalume water storage tank design.pdf
3D LABS5 visualizações

Security-by-Design and -Default

  • 1. September 2023 Security-by-Design and -Default Mehdi Tarrit Mirakhorli University of Hawaiʻi at Mānoa mehdi23@hawaii.edu 1 Laboratory of Software Design and Productivity
  • 2. Standing on the shoulders of giants Orion was the son of the sea-god Poseidon and Euryale, daughter of Minos, King of island Crete. Orion could walk on the waves because of his father; Once he walked to the island of Chios where he got drunk and made troubles. As a punishment, the ruler of the island blinded Orion and drove him away. Orion stumbled to Lemnos where Hephaestus—the smith-god— had his forge. Hephaestus told his servant, Cedalion, to guide Orion to the uttermost East where the Sun, healed him; Orion carried Cedalion around on his shoulders to act as the giant's eyes. Credit: METROPOLITAN MUSEUM OF ART, FLETCHER FUND, 1924 (24.45.1) 2
  • 3. Standing on the shoulders of giants If I have seen further it is by standing on the shoulders of Giants. - Isaac Newton Credit: METROPOLITAN MUSEUM OF ART, FLETCHER FUND, 1924 (24.45.1) 3 We use the understanding gained by major thinkers who have gone before in order to make intellectual progress.
  • 4. On whose Shoulders We Stand to Solve Software Security Crisis? 4
  • 5. NY Times Article: April 10, 1981 “The space shuttle Columbia will be ruled by majority vote - not of its astronauts and ground crews but of its computers.” On whose Shoulders We Stand to Solve Software Security Crisis? 5 Learning from the past software crisis!
  • 6. 6 We have learned so much from building certified and regulated software. We have done a lot better in safety critical software compared to secure software On whose Shoulders We Stand to Solve Software Security Crisis?
  • 7. I will discuss some of my work in Software Security that leveraged the lessons learned from Regulated, Certified, and Transparent domains to enhance software security. 7 On whose Shoulders We Stand to Solve Software Security Crisis?
  • 8. 8 Pricing Security: Economics of Software Security Cost of Identifying and Correcting Defects, 1997 We did shift-left in 1997 to address software reliability
  • 9. 9 0 x 5 x 10 x 15 x 20 x 25 x 30 x Production, PostRelease System, Acceptance Testing Integration, Component Testing Coding SW Design $14000 $139 Secure by Design: Shift Left Secure by design shifts the main focus of software assurance from finding security bugs to identifying flaws and weaknesses in the design. Pricing Security: Economics of Software Security $ Penetration testing $$ Bug-bounty testing $$ Firefighting fixes $$$ Downtime $$$ Patching without interrupts $$$ DAST/SAST/FUZZ $ Code Review ….. Cost of Identifying and Correcting Security Defects, 2023 https://www.darkreading.com/perimeter/the-economics-of-software-security-what-car-makers-can-teach-enterprises
  • 10. Software Design: A Working Definition Master Slave HB Decision # 1: Use Master-slave Architectural Style where slave processes are replicated Decision # 2: Checkpoint updated data, and bundle replicas (send every 2 seconds) – in order to meet performance goals. Decision # 3: Use heartbeat tactic to monitor availability of task trackers and data nodes. Heartbeat must beat every .25 seconds to balance availability and performance. Decision # 4: Use proxy handles failure pattern to shield clients from failures, and to support fault tolerance (i.e. service continues in the face of transient failure. Requirements# 1: highly available system, where hardware failure can be the norm rather than the exception Decision # 1: Mutual Authentication with Kerberos RPC (SASL/GSSAPI) on RPC connections Decision # 2: Maintain an Audit Trail Decision # 3: Data Encryption on RPC Data Encryption on Block data transfer Data Encryption on HTTP Decision # 4: Secure DataNode: DataNodes must authenticate themselves Requirements# 2: Provide secure services for the client More Decisions: A non-trivial architecture is likely to be composed of hundreds, if not thousands of architectural decisions. 10
  • 11. Software Design: A Working Definition Master Slave HB Decision # 1: Use Master-slave Architectural Style where slave processes are replicated Decision # 2: Checkpoint updated data, and bundle replicas (send every 2 seconds) – in order to meet performance goals. Decision # 3: Use heartbeat tactic to monitor availability of task trackers and data nodes. Heartbeat must beat every .25 seconds to balance availability and performance. Decision # 4: Use proxy handles failure pattern to shield clients from failures, and to support fault tolerance (i.e. service continues in the face of transient failure. Requirements# 1: highly available system, where hardware failure can be the norm rather than the exception Decision # 1: Mutual Authentication with Kerberos RPC (SASL/GSSAPI) on RPC connections Decision # 2: Maintain an Audit Trail Decision # 3: Data Encryption on RPC Data Encryption on Block data transfer Data Encryption on HTTP Decision # 4: Secure DataNode: DataNodes must authenticate themselves Requirements# 2: Provide secure services for the client More Decisions: A non-trivial architecture is likely to be composed of hundreds, if not thousands of architectural decisions. Decision # 1: Use GN&C model, separate each of these domains and run them on different threads.. More Decisions: A non-trivial architecture is likely to be composed of hundreds, if not thousands of architectural decisions. Decision # 29: Separate data busses should be used for data or command operations. Each buss should utilize a different scheduling mechanisms. Decision # 101: Utilize heartbeat, voting and simulation to detect faults. FDIR module responsible for all these. Decision # 1: Keep primaries together, and replicas together at all times to meet redundancy goals. Decision # 2: Checkpoint updated data, and bundle replicas (send every 2 seconds) – in order to meet performance goals. Decision # 3: Use heartbeat tactic to monitor availability of track manager primaries and secondaries. Heartbeat must beat every .25 seconds to balance availability and performance. Decision # 3: Use heartbeat tactic to monitor availability of track manager primaries and secondaries. Heartbeat must beat every .25 seconds to balance availability and performance. Decision # 32: GN&C flight system must use active redundancy with graceful degradation to achieve maximum availability. More Decisions: A non-trivial architecture is likely to be composed of hundreds, if not thousands of architectural decisions. More Decisions: A non-trivial architecture is likely to be composed of hundreds, if not thousands of architectural decisions. Decision # 91: Utilize heartbeat, voting and simulation to detect faults. FDIR module responsible for all these. Decision # 1: Use thread pooling to execute recurrent mission operations. Decision # 21: Active redundancy is implemented to achieve minimize mean time between failures. Decision # 19: Separation of concerns: Each tasks must run as a separate process on a separate processor. Decision # 52: Platform Diversity plus N-Version programming must be used to maximize the reliability. Decision # 4: Use proxy handles failure pattern to shield clients from failures, and to support fault tolerance (i.e. service continues in the face of transient failure. Decision # 151: Utilize heartbeat, voting and simulation to detect faults. FDIR module responsible for all these. Decision # 81: Voting mechanism is used to recover from failure of any of the sensors. Decision # 101: Utilize heartbeat, voting and simulation to detect faults. FDIR module responsible for all these. Decision # 113: Semantic based scheduling and task sequencer is used to provide real- time performance. More Decisions: A non-trivial architecture is likely to be composed of hundreds, if not thousands of architectural decisions. Decision # 3: Use heartbeat tactic to monitor availability of track manager primaries and secondaries. Heartbeat must beat every .25 seconds to balance availability and performance. Decision # 121: Keep primaries together, and replicas together at all times to meet redundancy goals. Decision # 3: Use heartbeat tactic to monitor availability of track manager primaries and secondaries. Heartbeat must beat every .25 seconds to balance availability and performance. Decision # 66: Check pointing is utilized to recover non-mission critical operations. 11
  • 12. Building Blocks of Secure by Design and Default In Secure by Design, architecture is the main step to secure a system, it starts from identifying misuse and abuse cases, performing threat modeling and then making appropriate design decisions to mitigate threats. Detect Attacks Resist Attacks Prevent Attacks React to Attacks Security as Default Verify Message Integrity Detect Intrusion Detect Service Denial Anomaly Detection Detect Message Delay Exception detection Runtime Attestation Sanity checking Identify Actors Validate Inputs Manage User Sessions Authenticate Actors Authorize Actors Limit Access Limit Exposure Encrypt Data Separate entities Change default settings Removal from service Predictive model Increase competence set Transactions Exception prevention Process Monitor Lock Computer Revoke access Inform actors Audit Use software redundancy Rollback (Checkpointing) Reconfiguration Shadow State resynchronization Escalating restart Degradation Roll Forward Recover from Attacks Eliminate default passwords Multifactor Authentication (MFA) Single sign-on (SSO) Secure Logging Software Authorization Profile Track& reduce “hardening guide” siz Usable Security Secure by Design and Default Tactics
  • 13. What are Common Design Weaknesses? 13 For other quality attributes such as performance, availability, maintainability we know all patterns and anti-patterns, but for security we had limited resources on these. J. C. S. Santos, K. Tarrit and M. Mirakhorli, "A Catalog of Security Architecture Weaknesses," 2017 IEEE International Conference on Software Architecture, Gothenburg, Sweden, 2017, pp. 220-223, doi: 10.1109/ICSAW.2017.25.
  • 14. What are Common Design Weaknesses? 224 security issues rooted in the software architecture: Empirical Studies: • Let’s learn from vulnerabilities in real systems. • Study focused on top 20 vulnerable systems. Existing Knowledge-Bases • DHS/MITRE CWE Collection National Vulnerability Database • NIST/DHS database of known vulnerabilities. OMISSION Decisions that were never made COMMISSION Poor design decisions REALIZATION Incorrect Implementation Ex: Password stored without encryption Server Attacker Client Ex: Client-side authentication Ex: Authenticity Check Missing 14
  • 15. Best Paper Award, 2017, International Conference on Software Architecture Adoption by the Industry, U.S. & Canadian Governments What are Common Design Weaknesses? 15
  • 16. How Common Are CAWEs?
  • 17. How Common Are CAWEs? From the vulnerabilities that we analyzed, 42.5% of vulnerabilities in Chromium were architectural (403 CVEs), 38.7% for PHP (43 CVEs) and 38.2% for Thunderbird (255 CVEs). Vulnerabilities in the three studied systems are mostly related to the tactics “Validate Inputs” and “Authorize Actors”, used for resisting attacks.
  • 18. How Common Are CAWEs? The PLCs, RTUS etc. communicate with SCADA server using industrial communication protocols (Fieldbus) 2 HMIs are used by Humans to configure the plant, troubleshoot problems, run/stop/update programs, and recover from failures 3 The Data Historian logs daily operational data used for analysis & diagnosis 4 Programmable Logic Controllers (PLCs) & Remote Terminal Units (RTUs) connect to sensors & actuators 1 In Collaboration with U.S. DHS, NIST and U.S. Cyber Emergency Response Teams (CERT) for Industrial Control Systems Results & Implications Most Vulnerable ICS Components 62.86% (540) of ICS Advisories studied were associated with 1 or more architectural weakness (CAWE) 18
  • 19. How Common Are CAWEs? Results & Implications Most Vulnerable ICS Components 62.86% (540) of ICS Advisories studied were associated with 1 or more architectural weakness (CAWE) 19 In Collaboration with U.S. DHS, NIST and U.S. Cyber Emergency Response Teams (CERT) for Industrial Control Systems
  • 20. How Common Are CAWEs? Results & Implications Most Vulnerable ICS Components 62.86% (540) of ICS Advisories studied were associated with 1 or more architectural weakness (CAWE) 20 In Collaboration with U.S. DHS, NIST and U.S. Cyber Emergency Response Teams (CERT) for Industrial Control Systems
  • 21. Secure by Design and - Default, what it takes! 21 K-12 Technology
  • 22. Security Requirements Engineering First Secure by Design, What it Takes! We can learn from 30+ Years Worth of methods, models, tools and approaches on early assessment of (safety) requirements in avionic, medical and other safety and mission critical systems. Safety Cases
  • 23. Security Requirements Engineering First Celeste Gambardella Viktoria Koscinski Estey Gerstner Secure by Design, What it Takes! Safety Cases
  • 24. Security Requirements Engineering First Celeste Gambardella Viktoria Koscinski Estey Gerstner Secure by Design and Default, What it Takes! Safety Cases From Safety Cases to Misuse and Abuse Cases and Identification of attack scenarios! Threat Modeling
  • 25. Supported by DARPA Towards an Automated Approach for Detecting Architectural Weaknesses in Critical Systems, The 1st International Workshop on Engineering and Cybersecurity of Critical Systems (EnCyCriS), 2020. Security Assurances: Learning from safety critical systems, we developed Assurance Cases for Architecture Models, to Check if the Secure by Design Claims are Met. 25 Secure by Design and Default, What it Takes! Tooling to Help Developers Detect Design Flaws Leasons Learned from Architecture First Approach to Resiliency!
  • 26. How to Detect Design Flaws? Supported by DARPA Towards an Automated Approach for Detecting Architectural Weaknesses in Critical Systems, The 1st International Workshop on Engineering and Cybersecurity of Critical Systems (EnCyCriS), 2020. Develop Assurance Cases for Architecture Models, and Check if the Resilient by Design Claims are Met. System has (i) at least one Validator, and (ii) at least one Target, which is a component that perform security-critical operations. This top-level claim invokes a subclaim (target components only receive external data (from outside trust boundary) that is validated. This check if at some point the data goes through interception validator or data validator. 26
  • 27. How to Detect Design Flaws? Supported by DARPA Develop Assurance Cases for Architecture Models, and Check if the Resilient by Design Claims are Met. role::Entrypoint role::CriticalComponent role::Target role::Target role::Target role::Target role::Target role::SensitiveDataSource No Validation Achilles::role:SensitiveDataSource No Encryption CAWE-319 TRANSMISSION OF SENSITIVE DATA WITHOUT ENCRYPTION CAWE-306 MISSING AUTHENTICATION FOR CRITICAL FUNCTION 27
  • 28. Software Change Cycle: Ideal World Ideal World: Architectural information is documented during the Architectural design phase and is updated regularly to reflect the current system architecture. 28 Secure by Design and Default, What it Takes! Design Erosion and Drift
  • 29. Software Change Cycle: Ideal World Ideal World: Architectural information is documented during the Architectural design phase and is updated regularly to reflect the current system architecture. 29 Software Change Cycle: Real World Real World: Architectural information is outdated and does not reflect the current architecture of the system. Secure by Design and Default, What it Takes! Design Erosion and Drift What is in the code is the software design in use!
  • 30. Implementing a Software Design is Difficult Intended Architecture Implemented Architecture An Observation: developers have difficulties implementing design solutions (tactics/patters/styles). They keep refactoring… More Facts : We studied five large scale software systems, and architecturally significant classes had significantly more bugs than non-architecturally significant ones (p-value< 0.001). 30
  • 31. A big ball of mud: Apache Hadoop architecture Master Slave HB Implementing a Software Design is Difficult 31
  • 32. Roles and Impacts of Hands-on Software Architects in Five Industrial Case Studies, 40th International Conference on Software Engineering (ICSE), 2018. An Empirical Study of Software Degradation 32
  • 33. Roles and Impacts of Hands-on Software Architects in Five Industrial Case Studies, 40th International Conference on Software Engineering (ICSE), 2018. Architecture Savvy Developers 33
  • 34. Roles and Impacts of Hands-on Software Architects in Five Industrial Case Studies, 40th International Conference on Software Engineering (ICSE), 2018. Architecture Savvy Developers 34
  • 35. Roles and Impacts of Hands-on Software Architects in Five Industrial Case Studies, 40th International Conference on Software Engineering (ICSE), 2018. Architecture Savvy Developers 35 • Non-Architecture Savvy Developers tend to introduce more bugs in Design Fragments of the system. (p-value< 0.01) • Design fragments owned by the Architecture Savvy Developers are less likely to have bugs. • In open-source projects you can’t dictate architectural decisions, it’s all persuasion and communicating how things should work out. • We constantly make changes in software in firefighting situations (Hadoop crashes in U.S. bank or Facebook). • We write functional tests but we don’t even have test cases for design decisions.
  • 36. Bring Security Design Thinking into Developers Daily coding Activities 36
  • 37. What are Software Attack Surfaces? 37 Secure by Design and Default, What it Takes! Reduce Software Attack Surfaces Attack Surface—the critical points on the boundary of a software system: - Accessible from outside - Contain valuable content for attackers Attack surface analysis : The process of identifying applications’ attack surface components. Not very well understood in the literature! We also lack of tools!
  • 38. What are Software Attack Surfaces? 38 Secure by Design and Default, What it Takes! Reduce Software Attack Surfaces Our Goal: Analyze thousands of CVEs to capture commen attack surfaces abused in the wild.
  • 39. What are Software Attack Surfaces? 39 Secure by Design and Default, What it Takes! Reduce Software Attack Surfaces
  • 40. What are Software Attack Surfaces? 40 Secure by Design and Default, What it Takes! Reduce Software Attack Surfaces
  • 41. What are Software Attack Surfaces? 41 Secure by Design and Default, What it Takes! Reduce Software Attack Surfaces
  • 42. What are Software Attack Surfaces? 42 Secure by Design and Default, What it Takes! Reduce Software Attack Surfaces
  • 43. What are Software Attack Surfaces? 43 Secure by Design and Default, What it Takes! Reduce Software Attack Surfaces • The proposed model covers previously studied attack surface components and introduces 254 new concrete components that did not exist int the literature The literature covers: - A small percentage of Code level entry points targets and mechanisms - On average at the Code level only 8 of the 119 concepts (6.7%) - In the best case only 50% of the Network level mechanisms
  • 44. R&D in Support of President Biden’s EO 44 44 Secure by Design and Default, What it Takes! Secure Software Supply Chain
  • 45. Landscape of Emerging Tools 45 Secure by Design and Default, What it Takes! Secure Software Supply Chain SBOM Generation: - Interoperability Use Cases: - Converting - Merging - Signing and Notary - Diff - Add Strengthening Software Supply Chain - Vulnerability Management - Detect Dependency Misuses - Unpinned dependency allowing range of versions - Dynamically loading dependencies - et.c SBOM Quality Checking - Schema Checking - SBOM Content Validation and SBOM Scoring - Authenticity Verification Information Sharing Across Supply Chain - SBOM Sharing - Vulnerability Exploitability eXchange (VEXs)
  • 46. Landscape of Emerging Tools 46 Secure by Design and Default, What it Takes! Secure Software Supply Chain Major Issue: - Interoperability of tools - Inconsistency of Fidnings - Missing components - Missing vendor info - Versions - Transient Dependencies
  • 47. We can learn from well established software engineering practices in Regulated, and Certified domains On whose Shoulders We Stand? 47