Thomas Konrad

Software Security 101: Secure Coding Basics

What's the biggest security risk in your application? It might not be the code you actually wrote.

Software Security 101: Secure Coding Basics
#1about 15 minutes

Understanding core software security principles and terminology

Key concepts like the CIA triad, technical debt, and design principles provide a shared language for discussing security.

#2about 19 minutes

Evaluating programming languages for security features

Criteria like memory safety, type strictness, and sandbox support help in selecting a language that mitigates entire classes of vulnerabilities by design.

#3about 13 minutes

Implementing secure input and output handling

Proper input validation, canonicalization, sanitization, and context-sensitive output encoding are crucial for preventing injection attacks.

#4about 5 minutes

Avoiding pitfalls in low-level languages and enforcing access control

Low-level languages require manual bounds checking to prevent buffer overflows, while complete mediation ensures access control is checked on every request.

#5about 8 minutes

Applying cryptography and managing user sessions securely

Use standard, well-vetted cryptographic libraries and follow best practices for session management to protect data and user identity.

#6about 9 minutes

Handling concurrency to prevent data integrity issues

Race conditions can lead to data integrity problems, which can be mitigated using techniques like entity versioning or resource locking.

#7about 12 minutes

Understanding common web and API vulnerability classes

Familiarity with lists like the OWASP Top 10 and CWE Top 25 helps in creating targeted protection strategies for specific vulnerabilities like cross-site scripting.

#8about 5 minutes

Managing third-party software dependencies for security

Automating dependency checks for known vulnerabilities is essential because third-party libraries often constitute the majority of an application's code.

#9about 7 minutes

Integrating security into the software development lifecycle

Using a maturity model like OWASP SAM helps shift security left by incorporating activities like threat modeling early in the design phase.

#10about 19 minutes

Key takeaways and resources for continuous security learning

Cultivate a culture of continuous learning by using resources like OWASP Juice Shop and focusing on understanding the entire technology stack.

Related jobs
Jobs that call for the skills explored in this talk.

d

Saby Company
Delebio, Italy

Junior

job ad

Saby Company
Delebio, Italy

Intermediate

Featured Partners

Related Articles

View all articles
CH
Chris Heilmann
Dev Digest 138 - Are you secure about this?
Hello there! This is the 2nd "out of the can" edition of 3 as I am on vacation in Greece eating lovely things on the beach. So, fewer news, but lots of great resources. Many around the topic of security. Enjoy! News and ArticlesGoogle Pixel phones t...
Dev Digest 138 - Are you secure about this?
CH
Chris Heilmann
All the videos of Halfstack London 2024!
Last month was Halfstack London, a conference about the web, JavaScript and half a dozen other things. We were there to deliver a talk, but also to record all the sessions and we're happy to share them with you. It took a bit as we had to wait for th...
All the videos of Halfstack London 2024!
EM
Eli McGarvie
6 Biggest Software Developer Conferences in Europe 2024
The tech community in Europe is growing. Okay, sure, we’re still a few years away from having our own Silicon Valley or Bay Area, but some EU hubs are on the rise and have the potential to rival their American counterparts. London has Silicon Roundab...
6 Biggest Software Developer Conferences in Europe 2024
LM
Luis Minvielle
IT Webinars for Programmers to Stay Updated
Webinars are not just a marketing gimmick. These online learning sessions allow professionals to stay updated on the latest trends, tools, and emerging technologies by providing a platform for experts to share their knowledge, experiences, and indust...
IT Webinars for Programmers to Stay Updated

From learning to earning

Jobs that call for the skills explored in this talk.