Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Comments
What Do You Mean My Security Tools Dont Work on APIs?!!
Newest First  |  Oldest First  |  Threaded View
planetlevel
50%
50%
planetlevel,
User Rank: Author
7/7/2015 | 2:15:02 PM
Re: More apt means of analyzing weakness
Please read my response to @jgilliam
planetlevel
50%
50%
planetlevel,
User Rank: Author
7/7/2015 | 2:14:25 PM
Re: More apt means of analyzing weakness
Great question, and an important topic.

I think we can agree that the goal is to find all the security vulnerabilities in an application as early in the process and with the minimal amount of effort and expertise required.

Ordinarily, then only way to tell whether a security vulnerability is really present is to exploit it.  That means that you need experts, have to craft exploits, etc...  Actually, static analysis doesn't require exploit, but it generates so many false positives, that you end up having to verify all the findings with an exploit anyway.

But the vast majority vulnerabilities *can* be observed without exploit, if you've instrumented the application so that you can see all the security relevant activity.  For example, if you walk into your house and nothing forces you to unlock a door... then you know an attacker could do the same.

In a web service, instrumentation can watch the data come from a JSON request, flow through the application, and reach a SQL query, without being validated, encoded, or parameterized.  Instrumentation has established that the application is vulnerable to SQL injection, and we didn't have to exploit it.

This approach can be used on a very broad range of application security vulnerabilities and is extremely accurate. All you have to do is use the application normally, and the instrumentation can tell you whether anything happened (or failed to happen) that an attacker could exploit.

There are, of course, some parts of the code that aren't normally executed.  For those, you have to send some specially crafted input.  But even those cases don't require exploit, just the right data to make the code execute so that the instrumentation can watch how the code runs.

You can (and should) use instrumentation throughout the lifecycle to gain security insight from the first moment a developer codes and tests locally, to continuous integration, QA testing, and staging.

Gartner calls this approach IAST (Interactive Application Security Testing), and the speed, accuracy, and process advantages over SAST and DAST are dramatic.  Neither SAST or DAST achieves good code coverage, and what's worse is that you'll never know what parts of the code were missed.

 
kbannan100
100%
0%
kbannan100,
User Rank: Moderator
7/2/2015 | 6:32:49 PM
Re: More apt means of analyzing weakness
Sounds like that to me, too! 

--KB

Karen J.Bannan, commenting on behalf of IDG and FireEye. 
jgillam
50%
50%
jgillam,
User Rank: Apprentice
6/29/2015 | 9:44:34 AM
Re: More apt means of analyzing weakness
It almost sounds like you are suggesting that it might be better to just test the security of things (houses, code) through normal use rather than with by attacking it.  Hopefully that wasn't your intention.  Application security testing (like any security testing) must be conducted with both regular and irregular usage, not just one or the other.  

I think you mean to say that in an ideal world we should be catching all the bad stuff during devepment cycles.  And I absolutely agree with that.  It is a failing of many organizations that applications are built and then tested rather than built while being tested.  However the types of tools mentioned in the article (DAST and SAST) should be used for that pre-production testing and particularly DAST tools should definitely be hitting the application or api or whatever with both "normal" traffic as well as attack traffic.  And if something breaks... well it is a good thing it just broke during a test, right?
RyanSepe
50%
50%
RyanSepe,
User Rank: Ninja
6/26/2015 | 2:43:37 PM
Re: More apt means of analyzing weakness
I agree to an extent. From a functionality standpoint you will most likely run into issues due to cross-app cryptography inconsistency. But if the app is stand alone internally and wasn't web based, this train of thought detracts from the scope of the article, then you could have a strong cryptology that has not been introduced publicly. Potentially making it more secure....if you have high expertise in cryptology of course.
Dr.T
50%
50%
Dr.T,
User Rank: Ninja
6/26/2015 | 9:40:13 AM
Re: Dropwizard API security
Yes, I read that. Interesting. Thank you.
Dr.T
50%
50%
Dr.T,
User Rank: Ninja
6/26/2015 | 9:39:41 AM
Re: More apt means of analyzing weakness
Today's frameworks are design in a way that security kept in mind. The only thing the developers should be doing to follow the guidelines. When they start becoming creative such as creating their own cryptography that is where you end up with problems.
planetlevel
50%
50%
planetlevel,
User Rank: Author
6/25/2015 | 10:26:00 PM
Dropwizard API security
Here's an interesting example of a security flaw in a popular framework used to build APIs.  https://github.com/dropwizard/dropwizard/issues/768

 

 
RyanSepe
50%
50%
RyanSepe,
User Rank: Ninja
6/25/2015 | 11:44:13 AM
More apt means of analyzing weakness
The last part of this article makes a very good point. Analyzing the application through normal use could yield better results than attacking. You would be able to discover the security pitfalls of your home through normal use and analysis instead of attacking it with mock intruding events. In the end, you could and probably would end up breaking things. Same with app security.


I also think its a good idea to point out that in the coding phase is when app sec should be continually reviewed. Today's agile methodology is very good at acknowledging this principle. If you don't ingrain security at every phase of the SDLC, it is hopeless to expect that post-creation testing will yield desirable results.


Sodinokibi Ransomware: Where Attackers' Money Goes
Kelly Sheridan, Staff Editor, Dark Reading,  10/15/2019
Data Privacy Protections for the Most Vulnerable -- Children
Dimitri Sirota, Founder & CEO of BigID,  10/17/2019
State of SMB Insecurity by the Numbers
Ericka Chickowski, Contributing Writer,  10/17/2019
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
7 Threats & Disruptive Forces Changing the Face of Cybersecurity
This Dark Reading Tech Digest gives an in-depth look at the biggest emerging threats and disruptive forces that are changing the face of cybersecurity today.
Flash Poll
2019 Online Malware and Threats
2019 Online Malware and Threats
As cyberattacks become more frequent and more sophisticated, enterprise security teams are under unprecedented pressure to respond. Is your organization ready?
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2019-16404
PUBLISHED: 2019-10-21
Authenticated SQL Injection in interface/forms/eye_mag/js/eye_base.php in OpenEMR through 5.0.2 allows a user to extract arbitrary data from the openemr database via a non-parameterized INSERT INTO statement, as demonstrated by the providerID parameter.
CVE-2019-17400
PUBLISHED: 2019-10-21
The unoconv package before 0.9 mishandles untrusted pathnames, leading to SSRF and local file inclusion.
CVE-2019-17498
PUBLISHED: 2019-10-21
In libssh2 v1.9.0 and earlier versions, the SSH_MSG_DISCONNECT logic in packet.c has an integer overflow in a bounds check, enabling an attacker to specify an arbitrary (out-of-bounds) offset for a subsequent memory read. A crafted SSH server may be able to disclose sensitive information or cause a ...
CVE-2019-16969
PUBLISHED: 2019-10-21
In FusionPBX up to 4.5.7, the file app\fifo_list\fifo_interactive.php uses an unsanitized "c" variable coming from the URL, which is reflected in HTML, leading to XSS.
CVE-2019-16974
PUBLISHED: 2019-10-21
In FusionPBX up to 4.5.7, the file app\contacts\contact_times.php uses an unsanitized "id" variable coming from the URL, which is reflected in HTML, leading to XSS.