If you are a developer of web applications and looking for a guide to help you get started with security best practices, you are in luck. Back in October of 2020, Security Intelligence ran an article titled Web Application Security Best Practices: A Developer’s Guide. The article starts with a discussion about the impact of cyber criminals and data breaches on applications today, as the reason behind the importance behind having best practices in developing web applications securely.
The article then covers each of the stages of application development along with making sure security best practices are included in each stage. Each of the steps covered include the Design Phase, the Development Phase, the Secure Coding Phase, the Encryption Phase, and the Testing Phase. The article then goes on to cover the various tools available for ensuring web application security and finished with a discussion on building security in as part of development from day one.
While the article does cover common tools like SAST (Static Application Security Testing) and DAST (Dynamic Application Security Testing), it does fail to mention the latest testing tool, IAST (Interactive Application Security Testing), which was recently highlighted in an update to the NIST (National Institute of Standards and Technologies) Security and Privacy Framework (SP800-53 Revision 5) that was released on September 23, 2020. The same update to the NIST framework also highlighted a new requirement for RASP (Runtime Application Self-Protection).
If you’re not familiar with RASP, it’s not a new concept. The product category has existed since 2012, and came about because of the need for security that is specific to the challenges and threats that web applications face. If you are thinking the WAF is providing all the application security requirements, you would not be alone, but you would be missing out on many application security needs. While WAFs have been around in their current form since around 2002, WAFs function as a network perimeter security solution and they have failed to meet the security needs around many of the issues that applications face in today’s threat landscape. A typical RASP solution has code level visibility into the application and can analyze all the activity related to the application to accurately identify when an attack occurs, thereby reducing the amount of false positives. Unlike WAFs which only see the traffic coming to and from the server, a RASP can see what’s happening inside the application, to determine if there’s inappropriate use of the application itself. In addition, RASP is really the first security category to offer self protection for the application.
By running on same server as the application, RASP solutions provide continuous security for the application during runtime. For example, as mentioned earlier, a RASP solution has complete visibility into the application, so a RASP solution can analyze an application’s execution to validate the execution of the code, and can understand the context of the application’s interactions.
If RASP solutions have been around since 2012 , you may be wondering why they have not had more success, and why has it taken so long for the NIST to recognize their value as part of the application security framework? As with any new technology, early RASP solutions had some teething problems at the beginning. The first RASP solutions were high impact, using a considerable amount of CPU and memory, and adding not insignificant latency to an application, making it difficult to use them for a mission critical application. RASP solutions have improved over time, and some of the latest RASP solutions, like the one from K2 Cyber Security offers significant application protection while at the same time using minimal resources and adding negligible latency to an application.
IAST is the other new recommendation for application security coming from the NIST revised draft, and if you haven’t heard of IAST, there’s a good definition available from Optiv:
“IAST is an emerging application security testing approach which combines elements of both of its more established siblings in SAST (Static Application Security Testing) and DAST (Dynamic Application Security Testing). IAST instruments the application binary which can enable both DAST-like confirmation of exploit success and SAST-like coverage of the application code. In some cases, IAST allows security testing as part of general application testing process which provides significant benefits to DevOps approaches. IAST holds the potential to drive tests with fewer false positives/negatives and higher speed than SAST and DAST.”
With these two new requirements (RASP and IAST) for application security being added to the NIST framework, it’s really time to rethink how your organization is doing application security.
Here at K2 Cyber Security, we’d like to help out with your RASP and IAST requirements. K2 offers an ideal runtime protection security solution that detects true zero-day attacks, while at the same time generates the least false positives and alerts. Rather than rely on technologies like signatures, heuristics, fuzzy logic, machine learning or AI, we use a deterministic approach to detect true zero-day attacks, without being limited to detecting attacks based on prior attack knowledge. Deterministic security uses application execution validation, and verifies the API calls are functioning the way the code intended. There is no use of any prior knowledge about an attack or the underlying vulnerability, which gives our approach the true ability to detect new zero-day attacks. Our technology has 8 patents granted/pending, and has no false alerts.
K2’s technology can also be used with DAST testing tools to provide IAST results during penetration and vulnerability testing. We’ve also recently published a video, The Need for Deterministic Security. The video explains why the technologies used in today’s security tools, including web application firewalls (WAFs) fail to prevent zero day attacks and how deterministic security fills the need for detecting zero day attacks. The video covers why technologies like artificial intelligence, machine learning, heuristics, fuzzy logic, pattern and signature matching fail to detect true zero day attacks, giving very specific examples of attacks where these technologies work, and where they fail to detect an attack.
The video also explains why deterministic security works against true zero day attacks and how K2 uses deterministic security. Watch the video now.
Change how you protect your applications, include RASP and check out K2’s application workload security.