Skip to content

Resources for developers and security engineers to learn the ropes of application security

Notifications You must be signed in to change notification settings

enascimento/appsec-resources--Learning-Application-Security

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 

Repository files navigation

Learning Application Security

Introduction

Some of the oldest known application security issues continue to affect projects today. Being aware of these issues, as well as techniques for exploiting and mitigating them, will aid in your testing efforts and help you to avoid vulnerabilities in your own code. The resources below should help you learn more about common security issues, and how to prevent these issues from surfacing in new products/product features.

Some links and sections have ⭐s next to them to denote what I consider to be essential knowledge for understanding application security.

Table of Contents

  1. OWASP Top 10
  2. Security guides and overviews
  3. AppSec topics
  4. AppSec presentations
  5. Interesting case studies
  6. Test your skills
  7. Stay up to date
  8. Useful references

⭐ OWASP Top 10

The OWASP Top 10 is a list of common vulnerabilities, as assessed by OWASP, the Open Web Application Security Project. It is re-evaluated periodically based on the findings that they see in the wild. OWASP's wiki has some very helpful articles about testing for and fixing many common security issues.

Understanding the basics of each of these is essential to any security engineer.

The top 10 issues for 2013 are:

  1. Injection (such as SQL or LDAP injection)
  2. Broken authentication and session management
  3. Cross-site scripting
  4. Insecure direct object references
  5. Security misconfiguration
  6. Sensitive data exposure
  7. Missing function level access control
  8. Cross-site request forgery
  9. Using components with known vulnerabilities
  10. Unvalidated redirects and forwards

Cheat Sheets

Security Guides and Overviews

  • The Basics of Web Application Security - Blog post describing some of the more common issues in web application security (e.g. XSS, SQL injection...)
  • 2016 Guide to User Data Security - This is an in-depth guide to setting up cloud-based apps in a secure way. It covers how to securely configure cloud services/users/etc., set up infrastructure, and avoid introducing vulnerabilities through programming errors, at a high level.
  • Security Guide for Developers - A work-in-progress project to document security best practices for a developer audience. Includes a very handy security checklist for secure applications.
  • Introduction to Microsoft Secure Development Lifecycle - A great introductory slideshow describing Microsoft's method of doing secure software development. We borrow heavily from this model on the Rackspace Security Engineering team, conducting threat modeling sessions with all new products to understand the system-level interactions and the "trust boundaries" that exist between systems, for example.

AppSec Topics

The Basics

Handling User Passwords

  • Password Hashing: Why and How - This is a high-level overview of how and why to use well-tested approaches to password storage. More of a philosophical than technical talk. Read this one, then the one below.
  • How to Safely Store Your Users' Passwords in 2016 - Solid implementation of current best-practice password hashing in several languages. Very specific (i.e. mostly "how", not much "why")

Operations

Cryptography

AppSec Presentations

Slide Deck Presentations

  • (ADVANCED) Giant bags of mostly water - This presentation hits on a lot of high-level changes that security organizations need to invest in to make user-error less likely in their organizations. More of a philosophical presentation than a technical one.

Video Presentations

DEFCON

Black Hat

AppSec USA

Interesting Case Studies

Test Your Skills

Stay up-to-date

News Sites & Blogs

  • /r/netsec - Subreddit with news relevant to network security, application security, etc.
  • Hacker News - News relevant to startups, technology, programming, and sometimes security
  • Sustainable Application Security - Blog covering the intersection of security and ops/devops.

Mailing Lists

  • OSS-Sec - Open-source Software Security list with vulnerability announcements, CVE requests, and new research (more popular than FD these days)
  • Full Disclosure - Vulnerability announcements, CVE requests, new research
  • Websec Weekly - Roundup of interesting vulnerability reports from HackerOne and popular discussions on /r/netsec
  • Apple Product Security - Apple's list for announcing security vulnerabilities/updates

Useful References

Lists-of-lists

Further Training Resources

Free

  • Cyber Security Base - A course created by F-Security and the University of Helsinki to teach security skills.
  • Hacksplaining - An immersive walk-through of numerous security issues, with animations and examples.

Paid

  • Coursera Cybersecurity Course - If you find that cybersecurity is interesting to you, Coursera offers a certificate program that covers several broad topics in cybersecurity like software security, hardware security, and cryptography.
  • CodeBashing - Application security training for teams / businesses

Books

Miscellaneous

  • List of naughty strings - A list of strings that can cause various issues - unicode decode errors, spam/profanity filter triggers, XSS, memory exhaustion, etc.

About

Resources for developers and security engineers to learn the ropes of application security

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published