Software Development Lifecycle (SDLC), DevSecOps, SAST, DAST And IAST Concepts

Ismail Tasdelen
InfoSec Write-ups
Published in
5 min readJan 10, 2023

--

In this article, I will be talking about software development lifecycle (sdlc), devsecops, sast, dast and iast concepts.

Application Security Testing — SAST, DAST & IAST

Software Development Life Cycle (SDLC) :

The Software Development Life Cycle (SDLC) is a process used by software development organizations to plan, design, build, test, and deliver software. It includes a number of stages, such as planning, analysis, design, implementation, testing, deployment, and maintenance. The exact steps involved in the SDLC can vary depending on the specific methodologies used, such as Agile, Waterfall, or Scrum.

Software Development Life Cycle (SDLC)

The Software Development Life Cycle (SDLC) is a process that outlines the steps involved in creating software. The main topics of the SDLC include:

  1. Planning: This phase involves identifying the business need for the software, defining the project scope, and creating a project plan.
  2. Analysis: In this phase, the requirements for the software are gathered and analyzed. This includes identifying the user needs and functional requirements for the software.
  3. Design: In this phase, the software design is created. This includes developing a detailed technical design for the software and creating a user interface design.
  4. Implementation: This phase involves writing the code for the software. This may include writing code for individual components of the software and integrating them together.
  5. Testing: In this phase, the software is tested to ensure that it is working correctly and meets the defined requirements. This may include unit testing, integration testing, and acceptance testing.
  6. Deployment: This phase involves installing the software on the intended target systems and making it available for use.
  7. Maintenance: After the software has been deployed, it may need ongoing maintenance to fix bugs, add new features, and keep it up-to-date.

DevSecOps :

DevSecOps is a practice that aims to integrate security measures into the software development process. It emphasizes collaboration between development, security, and operations teams in order to build and deploy secure software more efficiently.

DevSecOps

DevSecOps is a set of practices and approaches that aim to integrate security into the software development process, from design to deployment. The main topics of DevSecOps include:

  1. Continuous Integration (CI) and Continuous Delivery (CD): These practices enable developers to build, test, and deploy software changes frequently and automatically.
  2. Automation: Automation is key to the success of DevSecOps, as it allows developers to test and deploy code changes more quickly and efficiently. This can include automating security testing, code review, and deployment processes.
  3. Collaboration: DevSecOps requires close collaboration between developers, security professionals, and operations teams. This includes sharing information, integrating security testing into the development process, and working together to resolve issues.
  4. Culture: DevSecOps requires a cultural shift in organizations, as it requires collaboration and integration between teams that may have traditionally worked in silos.
  5. Metrics: DevSecOps relies on data-driven decision making, so it is important to have robust metrics in place to track the effectiveness of security practices and identify areas for improvement.

SAST (Static Application Security Testing) :

SAST (Static Application Security Testing) is a type of security testing that involves analyzing the source code of a software application in order to identify potential vulnerabilities. It is typically performed early in the development process, before the code is compiled and deployed.

DAST (Dynamic Application Security Testing) :

DAST (Dynamic Application Security Testing) is a type of security testing that involves running an application and testing it for vulnerabilities while it is executing. It is typically performed after the application has been deployed, in order to identify any vulnerabilities that may have been introduced during development or deployment.

IAST (Interactive Application Security Testing) :

IAST (Interactive Application Security Testing) is a type of security testing that combines both static and dynamic testing techniques. It involves analyzing the source code of an application as well as executing the code in order to identify vulnerabilities. IAST tools typically provide real-time feedback on the security of an application as it is being developed or used.

What are the differences between DAST and SAST?

DAST (Dynamic Application Security Testing) and SAST (Static Application Security Testing) are two types of tools that are used to identify security vulnerabilities in software applications.

DAST tools analyze an application while it is running and interacting with a live system. DAST tools can identify vulnerabilities that are difficult to find using other methods, such as injection attacks, cross-site scripting (XSS), and insecure communication. These tools are particularly useful for identifying vulnerabilities in web applications, as they can simulate attacks on the application from external sources.

SAST tools, on the other hand, analyze an application’s source code to identify vulnerabilities. SAST tools are useful for identifying vulnerabilities that are present in the code itself, such as insecure coding practices and incorrect handling of sensitive data. SAST tools can be used to analyze code written in a variety of programming languages, including C, C++, Java, and Python.

What are the differences between DAST and SAST?

IAST tools, on the other hand, combine the capabilities of DAST and SAST (Static Application Security Testing) tools. IAST tools operate by injecting agents into the application’s runtime environment and monitoring the application’s behavior while it is running. This allows IAST tools to identify vulnerabilities in real-time and provide detailed information about the vulnerabilities, including the specific lines of code that are vulnerable.

What are the differences between IAST and SAST?

IAST tools, on the other hand, combine the capabilities of SAST and DAST (Dynamic Application Security Testing) tools. IAST tools operate by injecting agents into the application’s runtime environment and monitoring the application’s behavior while it is running. This allows IAST tools to identify vulnerabilities in real-time and provide detailed information about the vulnerabilities, including the specific lines of code that are vulnerable.

Mr.Robot — Rami Malek

In this article, I have been talking about software development lifecycle (sdlc), devsecops, sast, dast and iast concepts. Take care and see you in my next post.

--

--

I'm Ismail Tasdelen. I have been working in the cyber security industry for +7 years. Don't forget to follow and applaud to support my content.