SlideShare a Scribd company logo
APPLICATIONANDDATASECURITY
Makerere University
Faculty of Technology
College of Design, Art and Technology
By Stephen Senkomago Musoke
http://ssmusoke.com
O c t o b e r 2 0 1 9
WHY ME?
 Self taught software tinkerer who loves growing techies
 Working hard at a normal regular family life
 My fair share of failed, successful, mind blowing and soul
haunting projects
 Served clients in UK, US, Australia, Europe, South Africa
 12 years setting up, growing & running a Ugandan
custom software development shop
 Executive management stint - Worked in and ran a large
international custom software service provider in South
Africa & Uganda
 4 years back to full time software delivery practice 2
APPLICATIONSECURITY
3
Do not under-estimate the
need for security at all levels
everyone is out to get you
~Stephen Senkomago Musoke
4
PRINCIPLES  Confidentiality – access is to only the
data a user needs
 Integrity – data is not altered outside
pre-defined protocols
 Availability – systems are accessible and
useable to those users who need them,
when they need them
5
Security is a
measure of
quality that has
to be baked into
software not
bolted on
Simplicity is the
ultimate
sophistication
APPROACHES  First class citizen in requirements gathering,
architecture and design
 Requirements:
 Authorization – who can do what, when?
 Who can see what when?
 Architecture – 12factor.net
 Design
 Phoenix servers
 Plan for failure – NetFlix Chaos Monkey
 Go as simple as you can
 OWASP - Open Web Application Security
Project 6
Security is a
measure of
quality that has
to be baked into
software not
bolted on
Simplicity is the
ultimate
sophistication
12 FACTOR
 Codebase - One codebase tracked in version control, many
deploys- trunk based development
 II. Dependencies - Explicitly declare and isolate dependencies
e.g., composer.json, package.json, pom.xml
 III. Config – store config in the environment encrypted
TRAVIS variables, Hashicorp Vault, AWS Secrets
 IV. Backing services - Treat backing services as attached
resources they are all the same
 V. Build, release, run - Strictly separate build and run stages
and each should be atomic
 VI. Processes - Execute the app as one or more stateless
processes
7
12 FACTOR
 VII. Port binding – everything is stateless and share
nothing
 VIII. Concurrency – just add more workers
 IX. Disposability - Maximize robustness with fast startup
and graceful shutdown, do not leak secrets
 X. Dev/prod parity - Keep development, staging, and
production as similar as possible
 XI. Logs - Treat logs as event streams (observability)
 XII. Admin processes - Run admin/management tasks as
one-off processes e.g., migrations, cleanup scripts
(housekeeping) 8
OWASP GUIDELINES
 Minimize attack surface
 Establish secure defaults – password policy, expiry,
access control
 Principle of least privilege –
 Defense in depth – layer the security controls, combine
multiple security protocols & approaches
 Fail securely – handle errors gracefully, expose minimal
information in errors and stack traces
 Don’t trust systems & services – validate data inputs,
lock down access
9
OWASP GUIDELINES
 Separation of duties and responsibilities
 Avoid security by obscurity – do not keep a key under
the carpet because nobody knows its there
 Keep security simple
 Fix security issues correctly - carry out a root cause
analysis, identify potential changes in design
10
DEVELOPMENT Write as little code as possible – leverage pre-
built libraries
 Tech stack – use the simplest you can find
 Testing - automate as much as you can and
make them run as fast as you can
 Deployment – deploy as frequently as you can
 Validate against best practices in the industry &
lessons from others
11
Good
developers write
excellent code,
great developers
write no code,
zen developers
delete code
PRODUCTION
SYSTEM
SECURITY
 Monitor, monitor, monitor – respond to failures
they happen (keep the lights on), predict failure
 Automate credential management
 Systems fail – bake failure into the process
 Layer security
 Web Application Firewalls
 Proxies (for performance)
 Anti-virus & Anti-malware protection
 DDOS protection – high availability
 Hire experts to scan your systems and advise
12
PRODUCTION
SYSTEM
SECURITY
 Leverage standards and best practices – NIST,
CERT, BS, ISO
 Upgrade and patch your systems
 Use the least privilege for any activity – restrict
access to root and administrator accounts
13
DATA
SECURITY
 Secure your data at rest, in transit and storage
 Encrypt what you need
 TLS, SSL & HTTPS
 Encrypted backups???
 Datensparsamkeit – only collect and handle the
data that you need – do you need that PII, that
extra data on days visited or just aggregate
 Backup your data
 Verify the backups by restoring them
14
Trust but verify
IN CLOSING
Security is not a one off event but a continuous activity
Security is built in layers – one on top of another
Security is complex and difficult, use experts, standards and best
practices for ”your” environment & needs
AND MOST OF ALL
Security is every-body’s responsibility
1
5
THANK YOU
For questions or suggestions
@ssmusoke
http://ssmusoke.com

More Related Content

PPT
Handling User Requirements in Technology Projects
PPT
Agile Software Delivery for the Ugandan Context - 2019 Edition
PDF
My OpenSource Journey
PPTX
Life in the Tech Lane
PPTX
Things To Unlearn In Software Development
PDF
Real world dev ops
PDF
L21 Architecture and Agile
PDF
Usa prácticas de integración continua y sobrevive para luchar otro día.
Handling User Requirements in Technology Projects
Agile Software Delivery for the Ugandan Context - 2019 Edition
My OpenSource Journey
Life in the Tech Lane
Things To Unlearn In Software Development
Real world dev ops
L21 Architecture and Agile
Usa prácticas de integración continua y sobrevive para luchar otro día.

What's hot (20)

PPT
Agile Development Brown Bag Lunches Slides
PPTX
12 Tips to Become a more Professional Tester
PPT
Michael Bolton - Heuristics: Solving Problems Rapidly
PDF
How I learned to stop worrying and love to deploy
PPT
Be Agile Rather Than Do Agile
PDF
The Way of The Software Craftsman # Part One: The Beginning
PPT
564 Class Notes July 27, 2010
PDF
A Rapid Introduction to Rapid Software Testing
PPT
Herman- Pieter Nijhof - Where Do Old Testers Go?
DOC
Five tools to professional coding
PPT
Erkki Poyhonen - Software Testing - A Users Guide
PPTX
Bird view on projects
PDF
Design is not Subjective
PPTX
Agile for startups
PDF
Design 101
PDF
Architecture 101: Vision, Properties and Skills
PPT
Kens Scrum Presentation
PDF
DevOps: A Practical Guide
PDF
When the System Creaks: Lessons Learned in Agile Maintenance
PDF
[Mush Honda] Software Testers From Good to Great
Agile Development Brown Bag Lunches Slides
12 Tips to Become a more Professional Tester
Michael Bolton - Heuristics: Solving Problems Rapidly
How I learned to stop worrying and love to deploy
Be Agile Rather Than Do Agile
The Way of The Software Craftsman # Part One: The Beginning
564 Class Notes July 27, 2010
A Rapid Introduction to Rapid Software Testing
Herman- Pieter Nijhof - Where Do Old Testers Go?
Five tools to professional coding
Erkki Poyhonen - Software Testing - A Users Guide
Bird view on projects
Design is not Subjective
Agile for startups
Design 101
Architecture 101: Vision, Properties and Skills
Kens Scrum Presentation
DevOps: A Practical Guide
When the System Creaks: Lessons Learned in Agile Maintenance
[Mush Honda] Software Testers From Good to Great
Ad

Similar to Application and Data Security in the Software Development Lifecycle (20)

PDF
Best Practices for Secure Web Application Development by Site Invention.pdf
DOCX
21CSB02T WEB APPLICATION AND SECURITY NOTES
PPT
The Principles of Secure Development - David Rook
PDF
Best Practices for Developing Secure Web Applications
PDF
The Principles of Secure Development - BSides Las Vegas 2009
PDF
Web application security (eng)
PPT
Intro to-ssdl--lone-star-php-2013
PPTX
Started In Security Now I'm Here
PDF
OWASP Secure Coding Quick Reference Guide
PDF
Web Security... Level Up
KEY
ONE Conference: Vulnerabilities in Web Applications
PDF
Building a Secure Software Application: Your Ultimate Guide
PPT
六合彩香港-六合彩
PPS
Application Security Review 5 Dec 09 Final
PDF
AppSec in an Agile World
PPT
Software security engineering
PPT
Software security engineering
PPTX
PPTX
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
PPT
OWASP - Building Secure Web Applications
Best Practices for Secure Web Application Development by Site Invention.pdf
21CSB02T WEB APPLICATION AND SECURITY NOTES
The Principles of Secure Development - David Rook
Best Practices for Developing Secure Web Applications
The Principles of Secure Development - BSides Las Vegas 2009
Web application security (eng)
Intro to-ssdl--lone-star-php-2013
Started In Security Now I'm Here
OWASP Secure Coding Quick Reference Guide
Web Security... Level Up
ONE Conference: Vulnerabilities in Web Applications
Building a Secure Software Application: Your Ultimate Guide
六合彩香港-六合彩
Application Security Review 5 Dec 09 Final
AppSec in an Agile World
Software security engineering
Software security engineering
Ryan Elkins - Simple Security Defense to Thwart an Army of Cyber Ninja Warriors
OWASP - Building Secure Web Applications
Ad

Recently uploaded (20)

PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Electronic commerce courselecture one. Pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Encapsulation theory and applications.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Approach and Philosophy of On baking technology
PPTX
Cloud computing and distributed systems.
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation_ Review paper, used for researhc scholars
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Unlocking AI with Model Context Protocol (MCP)
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Electronic commerce courselecture one. Pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Encapsulation theory and applications.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Machine learning based COVID-19 study performance prediction
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Reach Out and Touch Someone: Haptics and Empathic Computing
Approach and Philosophy of On baking technology
Cloud computing and distributed systems.
sap open course for s4hana steps from ECC to s4
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Review of recent advances in non-invasive hemoglobin estimation
Diabetes mellitus diagnosis method based random forest with bat algorithm

Application and Data Security in the Software Development Lifecycle

  • 1. APPLICATIONANDDATASECURITY Makerere University Faculty of Technology College of Design, Art and Technology By Stephen Senkomago Musoke http://ssmusoke.com O c t o b e r 2 0 1 9
  • 2. WHY ME?  Self taught software tinkerer who loves growing techies  Working hard at a normal regular family life  My fair share of failed, successful, mind blowing and soul haunting projects  Served clients in UK, US, Australia, Europe, South Africa  12 years setting up, growing & running a Ugandan custom software development shop  Executive management stint - Worked in and ran a large international custom software service provider in South Africa & Uganda  4 years back to full time software delivery practice 2
  • 4. Do not under-estimate the need for security at all levels everyone is out to get you ~Stephen Senkomago Musoke 4
  • 5. PRINCIPLES  Confidentiality – access is to only the data a user needs  Integrity – data is not altered outside pre-defined protocols  Availability – systems are accessible and useable to those users who need them, when they need them 5 Security is a measure of quality that has to be baked into software not bolted on Simplicity is the ultimate sophistication
  • 6. APPROACHES  First class citizen in requirements gathering, architecture and design  Requirements:  Authorization – who can do what, when?  Who can see what when?  Architecture – 12factor.net  Design  Phoenix servers  Plan for failure – NetFlix Chaos Monkey  Go as simple as you can  OWASP - Open Web Application Security Project 6 Security is a measure of quality that has to be baked into software not bolted on Simplicity is the ultimate sophistication
  • 7. 12 FACTOR  Codebase - One codebase tracked in version control, many deploys- trunk based development  II. Dependencies - Explicitly declare and isolate dependencies e.g., composer.json, package.json, pom.xml  III. Config – store config in the environment encrypted TRAVIS variables, Hashicorp Vault, AWS Secrets  IV. Backing services - Treat backing services as attached resources they are all the same  V. Build, release, run - Strictly separate build and run stages and each should be atomic  VI. Processes - Execute the app as one or more stateless processes 7
  • 8. 12 FACTOR  VII. Port binding – everything is stateless and share nothing  VIII. Concurrency – just add more workers  IX. Disposability - Maximize robustness with fast startup and graceful shutdown, do not leak secrets  X. Dev/prod parity - Keep development, staging, and production as similar as possible  XI. Logs - Treat logs as event streams (observability)  XII. Admin processes - Run admin/management tasks as one-off processes e.g., migrations, cleanup scripts (housekeeping) 8
  • 9. OWASP GUIDELINES  Minimize attack surface  Establish secure defaults – password policy, expiry, access control  Principle of least privilege –  Defense in depth – layer the security controls, combine multiple security protocols & approaches  Fail securely – handle errors gracefully, expose minimal information in errors and stack traces  Don’t trust systems & services – validate data inputs, lock down access 9
  • 10. OWASP GUIDELINES  Separation of duties and responsibilities  Avoid security by obscurity – do not keep a key under the carpet because nobody knows its there  Keep security simple  Fix security issues correctly - carry out a root cause analysis, identify potential changes in design 10
  • 11. DEVELOPMENT Write as little code as possible – leverage pre- built libraries  Tech stack – use the simplest you can find  Testing - automate as much as you can and make them run as fast as you can  Deployment – deploy as frequently as you can  Validate against best practices in the industry & lessons from others 11 Good developers write excellent code, great developers write no code, zen developers delete code
  • 12. PRODUCTION SYSTEM SECURITY  Monitor, monitor, monitor – respond to failures they happen (keep the lights on), predict failure  Automate credential management  Systems fail – bake failure into the process  Layer security  Web Application Firewalls  Proxies (for performance)  Anti-virus & Anti-malware protection  DDOS protection – high availability  Hire experts to scan your systems and advise 12
  • 13. PRODUCTION SYSTEM SECURITY  Leverage standards and best practices – NIST, CERT, BS, ISO  Upgrade and patch your systems  Use the least privilege for any activity – restrict access to root and administrator accounts 13
  • 14. DATA SECURITY  Secure your data at rest, in transit and storage  Encrypt what you need  TLS, SSL & HTTPS  Encrypted backups???  Datensparsamkeit – only collect and handle the data that you need – do you need that PII, that extra data on days visited or just aggregate  Backup your data  Verify the backups by restoring them 14 Trust but verify
  • 15. IN CLOSING Security is not a one off event but a continuous activity Security is built in layers – one on top of another Security is complex and difficult, use experts, standards and best practices for ”your” environment & needs AND MOST OF ALL Security is every-body’s responsibility 1 5
  • 16. THANK YOU For questions or suggestions @ssmusoke http://ssmusoke.com