SlideShare a Scribd company logo
1 of 16
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

What's hot

Agile Development Brown Bag Lunches Slides
Agile Development Brown Bag Lunches SlidesAgile Development Brown Bag Lunches Slides
Agile Development Brown Bag Lunches Slidesguesta1c5d7
 
12 Tips to Become a more Professional Tester
12 Tips to Become a more Professional Tester12 Tips to Become a more Professional Tester
12 Tips to Become a more Professional TesterPractiTest
 
Michael Bolton - Heuristics: Solving Problems Rapidly
Michael Bolton - Heuristics: Solving Problems RapidlyMichael Bolton - Heuristics: Solving Problems Rapidly
Michael Bolton - Heuristics: Solving Problems RapidlyTEST Huddle
 
How I learned to stop worrying and love to deploy
How I learned to stop worrying and love to deployHow I learned to stop worrying and love to deploy
How I learned to stop worrying and love to deployMohan Krishnan
 
How to Build Amazing Products by PayPal Director of Product
How to Build Amazing Products by PayPal Director of ProductHow to Build Amazing Products by PayPal Director of Product
How to Build Amazing Products by PayPal Director of ProductProduct School
 
Be Agile Rather Than Do Agile
Be Agile Rather Than Do AgileBe Agile Rather Than Do Agile
Be Agile Rather Than Do AgileBrenda Bao
 
The Way of The Software Craftsman # Part One: The Beginning
The Way of The Software Craftsman # Part One: The BeginningThe Way of The Software Craftsman # Part One: The Beginning
The Way of The Software Craftsman # Part One: The BeginningVitaliy Kulikov
 
564 Class Notes July 27, 2010
564 Class Notes July 27, 2010564 Class Notes July 27, 2010
564 Class Notes July 27, 2010Stephanie Magleby
 
A Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingA Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingTechWell
 
Herman- Pieter Nijhof - Where Do Old Testers Go?
Herman- Pieter Nijhof - Where Do Old Testers Go?Herman- Pieter Nijhof - Where Do Old Testers Go?
Herman- Pieter Nijhof - Where Do Old Testers Go?TEST Huddle
 
Five tools to professional coding
Five tools to professional codingFive tools to professional coding
Five tools to professional codingSuneel Dogra
 
Erkki Poyhonen - Software Testing - A Users Guide
Erkki Poyhonen - Software Testing - A Users GuideErkki Poyhonen - Software Testing - A Users Guide
Erkki Poyhonen - Software Testing - A Users GuideTEST Huddle
 
Design is not Subjective
Design is not SubjectiveDesign is not Subjective
Design is not SubjectiveDiego Pacheco
 
Architecture 101: Vision, Properties and Skills
Architecture 101: Vision, Properties and SkillsArchitecture 101: Vision, Properties and Skills
Architecture 101: Vision, Properties and SkillsDiego Pacheco
 
Kens Scrum Presentation
Kens Scrum PresentationKens Scrum Presentation
Kens Scrum PresentationJames Peckham
 
DevOps: A Practical Guide
DevOps: A Practical GuideDevOps: A Practical Guide
DevOps: A Practical GuideVictorOps
 
When the System Creaks: Lessons Learned in Agile Maintenance
When the System Creaks: Lessons Learned in Agile MaintenanceWhen the System Creaks: Lessons Learned in Agile Maintenance
When the System Creaks: Lessons Learned in Agile MaintenanceTechWell
 

What's hot (20)

Agile Development Brown Bag Lunches Slides
Agile Development Brown Bag Lunches SlidesAgile Development Brown Bag Lunches Slides
Agile Development Brown Bag Lunches Slides
 
12 Tips to Become a more Professional Tester
12 Tips to Become a more Professional Tester12 Tips to Become a more Professional Tester
12 Tips to Become a more Professional Tester
 
Michael Bolton - Heuristics: Solving Problems Rapidly
Michael Bolton - Heuristics: Solving Problems RapidlyMichael Bolton - Heuristics: Solving Problems Rapidly
Michael Bolton - Heuristics: Solving Problems Rapidly
 
How I learned to stop worrying and love to deploy
How I learned to stop worrying and love to deployHow I learned to stop worrying and love to deploy
How I learned to stop worrying and love to deploy
 
How to Build Amazing Products by PayPal Director of Product
How to Build Amazing Products by PayPal Director of ProductHow to Build Amazing Products by PayPal Director of Product
How to Build Amazing Products by PayPal Director of Product
 
Be Agile Rather Than Do Agile
Be Agile Rather Than Do AgileBe Agile Rather Than Do Agile
Be Agile Rather Than Do Agile
 
The Way of The Software Craftsman # Part One: The Beginning
The Way of The Software Craftsman # Part One: The BeginningThe Way of The Software Craftsman # Part One: The Beginning
The Way of The Software Craftsman # Part One: The Beginning
 
564 Class Notes July 27, 2010
564 Class Notes July 27, 2010564 Class Notes July 27, 2010
564 Class Notes July 27, 2010
 
A Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software TestingA Rapid Introduction to Rapid Software Testing
A Rapid Introduction to Rapid Software Testing
 
Herman- Pieter Nijhof - Where Do Old Testers Go?
Herman- Pieter Nijhof - Where Do Old Testers Go?Herman- Pieter Nijhof - Where Do Old Testers Go?
Herman- Pieter Nijhof - Where Do Old Testers Go?
 
Five tools to professional coding
Five tools to professional codingFive tools to professional coding
Five tools to professional coding
 
Erkki Poyhonen - Software Testing - A Users Guide
Erkki Poyhonen - Software Testing - A Users GuideErkki Poyhonen - Software Testing - A Users Guide
Erkki Poyhonen - Software Testing - A Users Guide
 
Bird view on projects
Bird view on projectsBird view on projects
Bird view on projects
 
Design is not Subjective
Design is not SubjectiveDesign is not Subjective
Design is not Subjective
 
Agile for startups
Agile for startupsAgile for startups
Agile for startups
 
Design 101
Design 101Design 101
Design 101
 
Architecture 101: Vision, Properties and Skills
Architecture 101: Vision, Properties and SkillsArchitecture 101: Vision, Properties and Skills
Architecture 101: Vision, Properties and Skills
 
Kens Scrum Presentation
Kens Scrum PresentationKens Scrum Presentation
Kens Scrum Presentation
 
DevOps: A Practical Guide
DevOps: A Practical GuideDevOps: A Practical Guide
DevOps: A Practical Guide
 
When the System Creaks: Lessons Learned in Agile Maintenance
When the System Creaks: Lessons Learned in Agile MaintenanceWhen the System Creaks: Lessons Learned in Agile Maintenance
When the System Creaks: Lessons Learned in Agile Maintenance
 

Similar to Application and Data Security in the Software Development Lifecycle

Secure by Design - Security Design Principles for the Working Architect
Secure by Design - Security Design Principles for the Working ArchitectSecure by Design - Security Design Principles for the Working Architect
Secure by Design - Security Design Principles for the Working ArchitectEoin Woods
 
Secure by Design - Security Design Principles for the Rest of Us
Secure by Design - Security Design Principles for the Rest of UsSecure by Design - Security Design Principles for the Rest of Us
Secure by Design - Security Design Principles for the Rest of UsEoin Woods
 
DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation JourneyDevOps Indonesia
 
Succeeding-Marriage-Cybersecurity-DevOps final
Succeeding-Marriage-Cybersecurity-DevOps finalSucceeding-Marriage-Cybersecurity-DevOps final
Succeeding-Marriage-Cybersecurity-DevOps finalrkadayam
 
Imperative Induced Innovation - Patrick W. Dowd, Ph. D
Imperative Induced Innovation - Patrick W. Dowd, Ph. DImperative Induced Innovation - Patrick W. Dowd, Ph. D
Imperative Induced Innovation - Patrick W. Dowd, Ph. Dscoopnewsgroup
 
Cyber security webinar 6 - How to build systems that resist attacks?
Cyber security webinar 6 - How to build systems that resist attacks?Cyber security webinar 6 - How to build systems that resist attacks?
Cyber security webinar 6 - How to build systems that resist attacks?F-Secure Corporation
 
Kaspersky Kesb ep10 no_cm_v01a
Kaspersky Kesb ep10 no_cm_v01aKaspersky Kesb ep10 no_cm_v01a
Kaspersky Kesb ep10 no_cm_v01aIgor Pandzic
 
8-tips-protecting-your-assets(pv1)
8-tips-protecting-your-assets(pv1)8-tips-protecting-your-assets(pv1)
8-tips-protecting-your-assets(pv1)Julia Angell
 
Eirtight writing secure code
Eirtight writing secure codeEirtight writing secure code
Eirtight writing secure codeKieran Dundon
 
Storage training promo v1
Storage training promo v1Storage training promo v1
Storage training promo v1DataLifeCycle
 
AWS Summit Stockholm 2014 – T2 – Understanding AWS security
AWS Summit Stockholm 2014 – T2 – Understanding AWS securityAWS Summit Stockholm 2014 – T2 – Understanding AWS security
AWS Summit Stockholm 2014 – T2 – Understanding AWS securityAmazon Web Services
 
Detect and Respond to Threats Better with IBM Security App Exchange Partners
Detect and Respond to Threats Better with IBM Security App Exchange PartnersDetect and Respond to Threats Better with IBM Security App Exchange Partners
Detect and Respond to Threats Better with IBM Security App Exchange PartnersIBM Security
 
Sallysspecialservices networksecurityproposal2-100305141834-phpapp02
Sallysspecialservices networksecurityproposal2-100305141834-phpapp02Sallysspecialservices networksecurityproposal2-100305141834-phpapp02
Sallysspecialservices networksecurityproposal2-100305141834-phpapp02Sally's Special Services
 
AWS Summit Auckland Sponsor Presentation - Intel
AWS Summit Auckland Sponsor Presentation - IntelAWS Summit Auckland Sponsor Presentation - Intel
AWS Summit Auckland Sponsor Presentation - IntelAmazon Web Services
 
Annual OktCyberfest 2019
Annual OktCyberfest 2019Annual OktCyberfest 2019
Annual OktCyberfest 2019Fahad Al-Hasan
 
David Patterson IT Security Resumes 2016
David Patterson IT Security Resumes 2016David Patterson IT Security Resumes 2016
David Patterson IT Security Resumes 2016David Patterson
 

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

Secure by Design - Security Design Principles for the Working Architect
Secure by Design - Security Design Principles for the Working ArchitectSecure by Design - Security Design Principles for the Working Architect
Secure by Design - Security Design Principles for the Working Architect
 
Secure by Design - Security Design Principles for the Rest of Us
Secure by Design - Security Design Principles for the Rest of UsSecure by Design - Security Design Principles for the Rest of Us
Secure by Design - Security Design Principles for the Rest of Us
 
DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation Journey
 
Cisco SecureX.pdf
Cisco SecureX.pdfCisco SecureX.pdf
Cisco SecureX.pdf
 
IT security solutions
IT security solutionsIT security solutions
IT security solutions
 
Succeeding-Marriage-Cybersecurity-DevOps final
Succeeding-Marriage-Cybersecurity-DevOps finalSucceeding-Marriage-Cybersecurity-DevOps final
Succeeding-Marriage-Cybersecurity-DevOps final
 
Imperative Induced Innovation - Patrick W. Dowd, Ph. D
Imperative Induced Innovation - Patrick W. Dowd, Ph. DImperative Induced Innovation - Patrick W. Dowd, Ph. D
Imperative Induced Innovation - Patrick W. Dowd, Ph. D
 
Cyber security webinar 6 - How to build systems that resist attacks?
Cyber security webinar 6 - How to build systems that resist attacks?Cyber security webinar 6 - How to build systems that resist attacks?
Cyber security webinar 6 - How to build systems that resist attacks?
 
Kaspersky Kesb ep10 no_cm_v01a
Kaspersky Kesb ep10 no_cm_v01aKaspersky Kesb ep10 no_cm_v01a
Kaspersky Kesb ep10 no_cm_v01a
 
8-tips-protecting-your-assets(pv1)
8-tips-protecting-your-assets(pv1)8-tips-protecting-your-assets(pv1)
8-tips-protecting-your-assets(pv1)
 
Eirtight writing secure code
Eirtight writing secure codeEirtight writing secure code
Eirtight writing secure code
 
Storage training promo v1
Storage training promo v1Storage training promo v1
Storage training promo v1
 
AWS Summit Stockholm 2014 – T2 – Understanding AWS security
AWS Summit Stockholm 2014 – T2 – Understanding AWS securityAWS Summit Stockholm 2014 – T2 – Understanding AWS security
AWS Summit Stockholm 2014 – T2 – Understanding AWS security
 
Detect and Respond to Threats Better with IBM Security App Exchange Partners
Detect and Respond to Threats Better with IBM Security App Exchange PartnersDetect and Respond to Threats Better with IBM Security App Exchange Partners
Detect and Respond to Threats Better with IBM Security App Exchange Partners
 
Sallysspecialservices networksecurityproposal2-100305141834-phpapp02
Sallysspecialservices networksecurityproposal2-100305141834-phpapp02Sallysspecialservices networksecurityproposal2-100305141834-phpapp02
Sallysspecialservices networksecurityproposal2-100305141834-phpapp02
 
AWS Summit Auckland Sponsor Presentation - Intel
AWS Summit Auckland Sponsor Presentation - IntelAWS Summit Auckland Sponsor Presentation - Intel
AWS Summit Auckland Sponsor Presentation - Intel
 
Encryption in the Cloud
Encryption in the CloudEncryption in the Cloud
Encryption in the Cloud
 
Annual OktCyberfest 2019
Annual OktCyberfest 2019Annual OktCyberfest 2019
Annual OktCyberfest 2019
 
Security analyst
Security analystSecurity analyst
Security analyst
 
David Patterson IT Security Resumes 2016
David Patterson IT Security Resumes 2016David Patterson IT Security Resumes 2016
David Patterson IT Security Resumes 2016
 

Recently uploaded

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Recently uploaded (20)

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

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