DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
The Latest "Software Integration: The Intersection of APIs, Microservices, and Cloud-Based Systems" Trend Report
Get the report
  1. DZone
  2. Software Design and Architecture
  3. Security
  4. DAST Automation: Your Team's Future Hacker-in-a-Box

DAST Automation: Your Team's Future Hacker-in-a-Box

To learn more about how you can integrate Application Security Testing technology into your DevOps program, check out this post on DAST Automation.

Florin Coada user avatar by
Florin Coada
·
Alexei Pivkine user avatar by
Alexei Pivkine
·
Sep. 04, 18 · Analysis
Like (5)
Save
Tweet
Share
8.70K Views

Join the DZone community and get the full member experience.

Join For Free

You've probably heard all about the new and not-so-new technologies in the application security testing space DAST, SAST, RASP, IAST, fuzzing, and SCA. Probably the oldest technology in this alphabet soup is DAST or Dynamic Analysis Security Testing. DAST works like a "hacker-in-a-box" testing live web applications and web services. It has been around since the mid-1990s.

DAST is naturally focused on finding high-risk issues, performs "end-to-end" testing of each piece of functionality across all layers of an application, and provides a handy proof-of-exploit, making issues much easier to validate and demonstrate than other technologies, like SAST (code scanning). And, while DAST roamed the Internet before Google existed and is ubiquitous in pen-testers' arsenals today, it always struggled to find its place in the Software Development Life Cycle (SDLC) processes of most organizations until a few years ago. Its biggest challenge within the SDLC was its need for a target application to be up and running, which often happened quite late in the cycle. And, its biggest challenge for integration with ever-present automated build tools was the need for training the scan how to properly interact with the target application, which was done manually.

So, what changed all of this? DevOps. All of the sudden, barriers to inclusion in the SDLC fell, all at the same time. Suddenly, DAST automation, as a part of the DevOps CI/CD pipeline, not only became possible but actually offered a better starting point and is a good complement to a technology like SAST.

DAST Automation is very powerful when implemented properly. Here are some common cases when it could be used and why it's beneficial.

  1. DAST and QA Functional Testing. The easy win here comes by leveraging functional test tools like Selenium. These tools are used to test an application's functionality and, therefore, know how to properly interact with it. If DAST tools can understand those interactions or the HTTP traffic generated by them, then you get everything you need to run a thorough scan of your application. This, in turn, leads to very good security scan coverage of your application without having to perform any extra work.

  2. Incremental Scanning. A lot of modern software development practices rely on delivering incremental pieces of work that make their way into production a lot faster than they used to. This means that a lot of work that developers do has also become incremental. New functional tests must be developed in parallel to ensure that new features work as expected. DAST can then be used to leverage those new functional tests, not only to do incremental security testing of new or updated functionality but also to significantly reduce security testing times, making it ideally suited for the DevOps CI/CD pipeline.

  3. Web Services.  It's important to specifically mention web services and, especially, REST APIs because they comprise a large portion of the "web app code" written today. And, since they are hidden behind front-end UI, people tend to forget they are just as likely to be attacked as a regular web application.  One of the benefits of DAST Automation is that it can be used as a framework for directly testing those web services for security vulnerabilities. This closely follows the model of the other two cases, where functional tests can be used to teach the security scan how to properly interact with each web service before doing a security test on it. This further ensures that all the basics are covered and attackers are less likely to target your applications.

  4. Technologies of Tomorrow. And, there is one more case where DAST will be applicable. DAST relies on HTTP(S) traffic to perform the analysis. This means that the DAST is both programming language agnostic and is able to work across a wide variety of systems and services used on the back end. It does not care that you write your applications in Java, .Net, or Python. Or, whether you use Microsoft SQL Server, IBM DB2, or even a mainframe — it doesn't matter how many web services a request has to go through.  As long as the application relies on HTTP to communicate, DAST can usually be a very powerful tool to test your web applications and services.

In the end, it's up to each organization to determine how they approach application security.  Ideally, each company should establish an application security program that takes a multi-faceted approach to finding and mitigating risks that exist in their applications. Each technology mentioned at the beginning of this post has its own advantages and drawbacks. That said, DAST Automation is still relatively unknown and very much underutilized, even as organizations push towards adopting DevOps. An automated DAST approach can be a simple extension of existing functional testing and can provide a lot of benefit to security teams, developers, and application owners, with little delay or overhead. It's not always a perfect fit, but we definitely hope that organizations will take a deeper look at DAST as they build and refine their approaches to DevOps!

Application security Software development Web Service teams Security testing

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Integrate AWS Secrets Manager in Spring Boot Application
  • 11 Observability Tools You Should Know
  • Testing Level Dynamics: Achieving Confidence From Testing
  • 10 Most Popular Frameworks for Building RESTful APIs

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends: