back

Application Security Foundations

Set goals - create plan around that goal.

Application Security Goals

Example 1

To measure current security posture and addressa any fires. There are always problems with it and there are legacies.

  1. Scan all of WebApps: with new Dast tools.
  2. Assess Top 3 vulnerabilites.
  3. Provide a lesson on the top 3.
  4. Work with teams to eliminate critical bugs. Explain the risks. Be persuasive, communicate clearly.
  5. Eliminate the critical & high vulenerabilities. (6 months).

Example 2

Getting everyone on the same playing field. Create repeateable and automated processes that not interupt with the developers.

  1. Code it the same repository. AppSec team can run tests on the code. Gitlab, GitHub, Bit Bucket.
  2. Setup Weekly Software Composition Analysis + secret scanning (hash, password, connection string, API key), tells out of date frameworks & libraries and find security vulnerability.
  3. Setup Weekly SAST scans. Tune tool.
  4. Automate tickets. Beware of false-positives.
  5. Penetration test of three mission critical applications.

Example 3

Spreading security awareness and promoting positive culture change.

  1. Security Champion Program. Train them on code review and threat modelling.
  2. Review each pull request for security.
  3. Secure code training for everyone.
  4. Provide documentation support.

AppSec Activities

TACTICS: The acutal means used to gain an objective. (AppSec activities that we do to get to our goals). STRATEGY: The overall campaign plan. (Goals - the final place you want to be).

Vulnerability Assessment scans

Quick Scan\QA: commonly called Dynamic Application Security Testing(DAST), Web proxy, Web App Scanner. Automated tool that interact with the web app and give you results.

Vulnerability/Security assessment: Talking to people, assessing the whole system, running multiple tools and verifying all the security components.

Threat Modelling

Conversation between a security person, product owner/business owner/clients, lead dev etc. What are the threats to the system. Try to mitigate, reduce or accept those threats. Threat modelling started with Microsoft. Book: Threat Modeling: Designing for Security by Adam Shostack.

Informal threat modelling

Methodology

Secure Code Review

Usually paired with Static Application Security Testing (SAST). All you do is review the security controls where security problems might happen. E.g. login screen, password, authentication, make the some sort of security control is there and is implemented correctly.

Software Composition Analysis

SCA focuses on the third party components, libraries, frameworks, plugins, packages. Can manually google the third party components or use tool.

Penetration Testing

Set out a scope on what to test and attempt to find as many vulnerabilities using tools and manual techniques, try to exploit to prove if its vulnerable.

Developer Education and Advocacy

Education Program: Educate developers about security, what you expect from them in regards from security. What are the policies to be followed, laws to be followed (GDPR, HIPPA, PCI DSS), security design, security architecture, threat modelling.

Advocacy Program: Doing culture change in the organisation so people think security is more fun, absolutely necessary, a part of quality.

Responsible Disclosure and Bug Bounties

Responsible disclosure/coordinated disclosure: penetration tester, security researcher finding security problems or bugs and reporting it to the vendor.

Katie Missouri invented bug bounties, which is creating a copy of your system and inviting researchers, ethical hackers, penetration testers to test and if they find something they get paid.

Helpful Policies, Standards and Guildlines