Live data from Hacker News

“Stop reverse engineering our code”

blogs.oracle.com

261–270 of 358 posts

Re: “Stop reverse engineering our code”

#261

Can some infosec person speak to her strongest claim, that static analysis gives "basically 100% false positives" and wastes the team's time?

The statement itself is basically 98% false. I've been a Coverity user since very early days, and have used a few other static-analysis tools as well. Every such tool that I've seen runs multiple separate kinds of checks. Yes, the false positive rate for some of those checks can be alarmingly/annoyingly high. OTOH, any software developer with half a brain can see that other checks are much more accurate. Some are dar…

This is diametrically the opposite of my experience with source code scanners.

I think the impedance mismatch here might be that you're a software developer, and we're talking about security teams.

I don't know that anyone is arguing that static analysis is useless for developers. If you're intimately familiar with the code you're working on, there are probably a lot of ways to make static analysis results both valuable in every edit/compile/debug cycle, and an important part of your team's release process.

But when you're close to the code, it's easy to forget how much of the tool's output you're ignoring (either literally, by just skimming past findings you know don't matter, or implicitly, by configuring the tool to match your environment or subtly changing your coding style to conform to Coverity's expectations).

Security teams can't generally do this. They're stuck with the raw output of the barely-configured tool. The results of static analysis in these circumstances is nonsensical: memory leaks, uninitialized variables, race conditions, tainted inputs reaching SQL queries, improper cleanup of sensitive variables, 99.9% of which aren't valid findings, but all of which look super important, especially if you're consultant with 6 months of experience charging $150/hr to run Fortify on someone else's code, then petulantly demanding a response for every fucking issue the scanner generates.

They're fine dev tools, but they are terrible tools for adversarial inspection, which is what Davidson is talking about.

Re: “Stop reverse engineering our code”

#262
post #180
post #69

Earlier quoted context omitted.

You can statically analyze a binary as well. "Static analysis" is just a technique for deducing the properties of a system without running it.

You and lawnchair are exactly right! Somehow this CSO is unaware of binary static analysis, ala Veracode. You can still get plenty of false positives from binary SAST, but it's NOT de-compilation. My question would be whether binary SAST falls under the prohibition against reverse engineering. I wouldn't think so, but that's one for the lawyers unfortunately.

This is an embarrassing subthread. I'm sorry to spoil an opportunity for people to feel like they're smarter than an executive that just wrote a lot of dumb things in a blog post, but not only does Mary Ann Davidson know about Veracode, she's semi-famous for hating on them.

Meanwhile: a huge portion of everything Oracle ships is Java, and consultants absolutely do run Java security scanners on decompiled jar files from Oracle products.

Re: “Stop reverse engineering our code”

#263
post #162

Earlier quoted context omitted.

I think there may be a language barrier here. So, this should clear it up: The only definition of "reverse engineering software" that I use is this -- "Using tools and deep binary analysis to take a compiled binary, and convert it back to source code as close to the original as possible". It is a very specific definition. I do not mean general "analysis" or vulnerability testing or input manipulation, etc... only att…

Under EU law it is illegal to forbid someone to convert a binary back into source code. Even further, if I buy a software, and it does not run on my system, I can turn it back into source, modify it, recompile it, and use it as much as I want. If the original company tries to prevent me from doing this, they commit a crime that can be punished with multiple months of jail for their CEO or 10% of their profit as long…

This isn't entirely accurate. There are restrictions on the legality of decompilation in Europe. The main one being that "...decompilation must be necessary to achieve interoperability with the target program or other programs. Interoperability information should therefore not be readily available, such as through manuals or API documentation."

So, decompilation in order to check for security vulnerabilities or to modify the function of the software for non-interoperability reasons do not appear to be covered.

disclaimer: I don't live in Europe and am not familiar with the most up-to-date software laws there. This is from the following source: https://en.wikipedia.org/wiki/Decompiler#Legality

Re: “Stop reverse engineering our code”

#264
post #163

Earlier quoted context omitted.

If it didn't have a 'most likely' in it I'd think it was satire, but that's the kind of weasel wording that you'd expect in a real release. There was another post in much the same vein on that blog: https://blogs.oracle.com/maryanndavidson/entry/those_who_can...

Who's she attacking in that post (SASO)? Veracode?

Yes. She doesn't get along with Veracode.

Re: “Stop reverse engineering our code”

#265

So, I disagree with the poster on a bunch of things here (no surprise, really). But: this is authentic. This is what we (i.e. hackers) are always claiming we want. Someone speaking her mind, shooting from the hip, etc. Not an anodyne blob of corporate-speak: this is an opinion, stated pretty clearly, and backed up with fighting words. You'd expect: "Our legal team has advised us to remind consultants that they are bo…

You can be authentic and speak your mind without being arrogant, insulting, and condescending. In terms of tone, I wouldn't hold this up as a good example - it distracts from any legitimate argument the writer may or may not have.

I think it's an accurate representation of her employer, however.

Interesting that all the reasons she cites for why she thinks trying to reverse-engineer Oracle products is a bad idea are the same exact reasons why more and more administrators with any sense in security are switching to open-source software and have been for the last decade or so. Being able to inspect the code yourself (or hire someone to do it for you) is apparently important enough to a sufficiently-large population for Oracle to whine about it.

Re: “Stop reverse engineering our code”

#266
post #177
post #108

Earlier quoted context omitted.

Just in case a robot.txt kills that http://pastebin.com/rcPSyRnR

Would archive.org typically honor a robots.txt for a resource it already retrieved? I never understood the intent of a robots.txt to be retroactive.

Apparently yes, it would: https://archive.org/about/exclude.php

Re: “Stop reverse engineering our code”

#267
post #94
post #80

Wow. Really? This single blog post is strong evidence for why you should never, ever buy an Oracle product, and if you are running anything written by them, why you should plan to migrate away. Now, the culture of consultants in the Oracle sphere of influence is pretty toxic and money-grubbing. I can imagine companies being badgered into paying security weasels big bucks to analyze software with tools that cough up a…

I've recently read "The Difference Between God and Larry Ellison *God Doesn't Think He's Larry Ellison" and while it was published over 10 years ago, this sounds exactly like a lot of things that happened in the book. The Oracle corporate culture seems to basically be reflection of Larry Ellison's megalomania. Their will to rack sales is just insatiable.

But I don't understand - why wouldn't Larry Ellison think he's Larry Ellison?

--Dad

Re: “Stop reverse engineering our code”

#268

I don't understand why everybody is mad about this post, oracle has proprietary software that is bound with a license. In that sense I don't see why people do not moan about having to pay a rent because your tenancy contract that you signed says so... Long story short, its a right of a SOFTWARE mostly company to protect its software, open source is not always the solution and reverse engineering something, consumes w…

A software maker has no particular right to control what I do with that software once I have it.

In terms of a rental agreement, a "no reverse engineering" clause is not equivalent to "you must pay rent." It's more like a clause that says you're not allowed to consume meat while you live there because the landlord is a vegetarian.

Re: “Stop reverse engineering our code”

#269

Earlier quoted context omitted.

I'm sorry for the confusion. English is not my first language, and I resorted to https://en.wikipedia.org/wiki/Accuracy_and_precision to pick between "accuracy" and "precision".

To put it another way: "pi is exactly 3" is extremely precise, but not very accurate.

On the other hand, if you had said "Pi is 3", you would have been accurate, but not very precise. If you said "Pi is "Pi is 3.14", you would have been so precise that you could have gotten to the moon and back.

Re: “Stop reverse engineering our code”

#270

Earlier quoted context omitted.

To put it another way: "pi is exactly 3" is extremely precise, but not very accurate.

On the other hand, if you had said "Pi is 3", you would have been accurate, but not very precise. If you said "Pi is "Pi is 3.14", you would have been so precise that you could have gotten to the moon and back.

Damn, and here I thought I needed to build a gigantic rocket.
Post reply on HN