The FBI is working hard to keep you unsafe
techcrunch.com
techcrunch.com
There are no silver bullets. We're always going to have bugs, and bad ones that affect security.
Stockpiling of zero-days blurs the line between law enforcement and adversary. The greater good is probably served by disclosure, rather than surveillance, break-ins or advancement of the careers of prosecutors.
So what if a security researcher is paid for their work? We don't say Lawyers are not Lawyers because their being paid and not doing work pro bono.
Remember security research takes lot's of time, skill and hardware they should be paid to do their work.
There is plenty of room between blackmail and research. A professional researcher can draw a paycheck and release exploits as found.
Exactly how are these "professional researchers" generating their paychecks?
(NB: I was one of those "professional researchers".)
Agreeing on money up front seems like a reasonable way, I also see no problem with bounty programs or even asking for more from bounty programs. Withholding a bug until a bounty is raised is were I would draw the line at blackmail.
... do not have the funding of the richest nation on the planet and have not shown the level of malice of that government.
They have the resources to be the man-in-the-middle and a potentially large library of 0-days, can you keep them out?
Are you a republican, a democrat, or vocal on any issue? What if someone abused this power to stifle or harm you for your view? Have you heard of LoveInt?
The USA, its citizens and businesses have more software in business critical and life saving roles than other countries. For example: A 0-day in NGinx is far more likely to be able to harm the US Economy than to help get foreign state secrets. Sharing this exploit or publishing a patch protects US interests from foreign attackers far better than hoping for some foreign state to leak some secret.
Groups representing the US taxpayer should be acting on behalf of the taxpayer.
I'm pretty skeptical that anything the FBI is doing is altering the balance of power in software security between the US and China.
It's also a little weird to me that we have the expectation that a government agency is going to shoulder responsibility for ensuring the software we run is secure. Shouldn't that be the vendor's responsibility?
Most vendors will patch if they know about issues. Who is at fault when a hack happens and the the US government could have prevented it by divulging.
It would be interesting if monetizing the next flu bug worked the way that the market for vulns works.
Now let's try putting words in your mouth: You would be happy with disease microbes being sold to the highest bidder and weaponized, and turned against the population, just as vulns are when security researchers sell them to spy agencies and law enforcement. Is that what you are saying? Are those acceptable professional ethics for... biologists? Anyone?
* Vulnerability researchers do not as a rule disclose to vendors. Some do, some don't.
* Sponsoring the discovery of a vulnerability so you can write an exploit for it doesn't prevent others from finding that vulnerability and patching it. If anything, sponsoring vulnerability discovery for exploit development increases the likelihood that the bug will be patched.
* When I ran a security consultancy, we had a "no selling vulnerabilities" rule. Published, on our website. I was comfortable with that, because "my company my rules". I am a lot less comfortable dictating my own morals on other people that don't have a contractual agreement with me.
* It is difficult to come up with an argument that vendors should get disclosure of vulnerabilities that doesn't involve vendors entitling themselves to the (often very expensive) work of vulnerability researchers. It's especially galling to see companies that don't spend any real money on software security expressing that sentiment.
And, of course: software vulnerabilities aren't infectious disease agents. The revulsion we have for weaponizing infectious diseases comes from the concern that they will spread unchecked. But that's not how software vulnerabilities work.
But it would be better, for everyone, for it be considered unethical and unprofessional to add to the stockpile and actively keep endpoint devices vulnerable. I think stockpiles of vulns should be disclosed, even through hacks or leaks, like the Hacking Team leaks. Hence the analogy to biologists auctioning off their discoveries secretly to be weaponized. It's analogous enough: The practice of stockpiling vulns for the purpose of spying leaves everyone with less privacy and security, at the mercy of the unaccountable and outright evil. It creates perverse incentives for deeply unethical behavior. It poisons the whole software and hardware industries globally. If vulnerability stockpiles were unilaterally disclosed, it would be a large net benefit to the common technology user.
Also, rewarding researchers for disclosure is fine. There are open, transparent, and ethical ways to do that, like published bug bounties followed by timely public disclosure.
You might have good intentions and high ethics, but industry norms have to be designed for people like Hacking Team.
No. Vulnerabilities exist because vendors ship bad code, not because researchers read that bad code. I refuse to sign on to an "ethic" that entitles negligent vendors to the work product of researchers.
You do the work, you choose what to do with the vulnerabilities. There are packages --- Cryptocat is a great example --- where I've found grave vulnerabilities, disclosed that I found them, but refused to divulge details. I would personally never sell a vulnerability; I think vulnerability markets are immoral. But I don't get to impose that morality on others. Would that I could! I think Cryptocat is immoral, too! But I have to live and work in a world where not everyone agrees with me.
The one common denominator we can all share is "nobody is entitled to appropriate my work from me without my consent".
Obligations are a two-way street, and good ethics should have support. If you have the means to reward disclosure of a vuln you should announce a bug bounty.
Professions have ethical standards. Some are stronger than others. They are meant to impose a basic level of morality. In the real world, that never happens perfectly. But some of them definitely imply disclosing one's work without extracting every last penny from it, such as disclosing abandoned clinical trials.
I think there are two separable arguments here. We may disagree on both of them. But:
* The first argument is whether it's OK for researchers to stockpile vulnerabilities --- to learn things about software and then not share them. This might seem like an artificial distinction, but there are lots of good researchers who back-pocket great, important vulnerabilities. They don't exploit them, they don't sell them, they just find them, make some notes, and move on.
* The second argument is whether it's ok for anyone to weaponize vulnerabilities. If you believe that the USG has an obligation to disclose vulnerabilities, you're almost (but not quite) required to believe they can't do exploit development work --- for any reason. Disclosing vulnerabilities to vendors kills exploits.
I'm OK with researchers stockpiling. I'm OK with the USG weaponizing. I'm OK with the latter in the same sense as I'm OK with them carrying firearms or breaking down doors to serve warrants or freezing bank accounts. Obviously, I'm not OK when the USG abuses those powers.
The other one seems clearer: "Disclosing vulnerabilities to vendors kills exploits." Well, yes. The problem is that, in the present situation, endpoint security is terrible. It seems unlikely that our government has made it possible for themselves to break endpoint security, but not the Chinese or any other nation, organized crime group, or other non-state actor with some software smarts. It may take some catastrophic infrastructure penetration or super-Snowden leak to show why this is unwise.
We expect researchers to follow responsible disclosure practices and at least notify the vendor to give them a chance to prepare a patch. I can understand why the FBI might not want to do that, but that's where the OP is coming from.
Lets say the FBI did not exist. We know those same vulnerabilities would exist, except an organization would not be aware of them as such since the org does not exist, but the vulns would still be there and software would still be as vulnerable. So them knowing is more or less neutral in terms of making software more or less vulnerable.
“The end cannot justify the means, for the simple and obvious reason that the means employed determine the nature of the ends produced.” ― Aldous Huxley
Safety stuff still aroubd but NSA/DOD killed other effort off. So, your comment is true today. Sadly. Least we know what it will take to get stuff back on the market.
Besides, you can always isolate that part onto an untrusted board with KVM switch built in like I used to do. Push-button easy.
I'll take high-assurance consumer software seriously when it produces a browser that is competitive with IE on Twitter, Facebook, and Google Mail.
I don't think solutions that involve KVM switches are meaningful in the real world. Journalists aren't going to KVM switch from their browser to their word processor. I'm not interested in litigating this point; I am un-convinceable on it. I'm not much more receptive to systems that devolve to the software equivalent of KVM switches.
This is true. They may not be able to be represented directly in a way that spots every failure model. However, what's been done repeatedly in high-assurance is isolation and information flow mechanisms that can contain problems of arbitrary programs. Several did this for browsing while others did whole VM's. You've been satisifed with low assurance software isolating or mitigating problems in such apps. Why not high assurance doing same thing given it's worked before for other apps?
Side note, Burroughs 1961 machine had hardware checks to enforce pointer bounds, mark code/data separate in memory w/ cpu checks per instruction, protect stack, and interface check function calls. Everything but interface check had almost no performance overhead in various implementations. Various ways to do interface checks at different cost-benefit. Holding off on that one. Yet, even the others should severely constrain what attackers can do given almost every injection starts with pointer or stack manipulation followed by data being executed. All three are blocked by Burroughs architecture. That's huge security benefit with almost no performance hit that can be automated by compilers. CHERI went further than that with a port of FreeBSD and C lib on theirs.
"when it produces a browser that is competitive with IE on Twitter, Facebook, and Google Mail."
I know many use Webkit and Javascript engines. Microsoft's Xax was used with PDF readers and such. Whether it handles the stuff competitively is still a good benchmark which I have little data on. What would you say competitive means here? All the features work, page loads reasonably fast, and web apps run reasonably fast? Would that do for future measurements or anything else in mind? I'll try to see if I can get anyone in the projects to run them.
"I don't think solutions that involve KVM switches are meaningful in the real world."
The money that's made selling them, including companies that specialize in it, argues otherwise. The question is where they're meaningful and to whom for what price.
"Journalists aren't going to KVM switch from their browser to their word processor. "
That's a semi-strawman. There's a ton of companies and individuals that go through extra trouble for the sake of security. A flip of a switch and drag-and-drop transfer icon is way less trouble. So, the market is bigger than you suggest. Let's say it's a journalist anyway as I get what use-case you're describing. My concept was an All-in-One desktop PC with Trusted and Untrusted functionality with the physical computers, separation, switches, etc built-in. Almost all of it is hidden except for CMW-style windows representing different security levels and physical button/switch for changing. Leads to...
" I'm not much more receptive to systems that devolve to the software equivalent of KVM switches."
...basically a QubesOS or browser-VM-like solution with hardware-enforced separation that otherwise doesn't look any different from these. Tenix already did an ugly version of this to high-assurance. A more usable one is possible. Anyway, you saying you don't believe a journalist or layperson concerned about privacy/security would ever use a QubesOS-like solution to separate low and high risk, work and play, secret and public, or something similar? I think a number would. Only difference is mine would be implemented different inside. Even could have a software switch if absolutely necessary.
The job of the FBI is to detect and prosecute crimes under their jurisdiction. They've decided they can better do their jobs keeping the 0-day secret than disclosing it -- if it's kept secret, it makes it easier for criminals to commit more crimes for them to prosecute, and simultaneously gives them more investigative tools, win win.
Anyway, I think we should use their own Common Criteria and INFOSEC statements against them in crypto debates.
"Mr. Comey, these NSA documents say a system isn't secure until certain rigorous practices are performed from the chips up to the app. This iPhone wasnt designed to that standard due to to backward compatibility and cost concerns. By your own docs, the Fed's or NSA at least shoukd be able to shred it along with most COTS systems. So why is FBI contradicting NSA's expert testimony?"
Lavabit case defense I wrote previously:
"Your honor, FBI wants to put a black box in the system that can stealthily compromise all users and even forge evidence. You asked for an alternative. In our possession is a network tap that is certified for security by NSA-approved labs per NSA-approved standards. It has a NSA-approved TPM to attest its software hasnt been tampered with. Our administrator of that device has a US security clearance and will testify under oath to its physical integrity. This device can, in audited way, run a specific search on our logs or stored keys to get just the data the court needs. We suggest using it as, per NSA expert testimony, it's all they need to get the job done and has no risk of tampering."
What you think, tptacek? Nice way to make the red tape pay off? ;)
Sure, maybe the "friendlier" bug finders will responsibly disclose any bugs they find. But there will never be a way to guarantee that all bugs found will be responsibly disclosed. Even if we convince the FBI/NSA to "responsibly disclose" every bug they find (will never happen), what about every other country? The hundreds of security firms? The thousands of independent hackers and "researchers?"
Zero-days will ALWAYS exist. Software will ALWAYS be exploitable. Worrying about how people react when they find those exploits is the similar to arguing about gun control. Sure, maybe we can convince some actors to responsibly disclose, but the bad actors will always keep the exploits for themselves and use them "irresponsibly." And there will always be bad actors.
So instead of fretting about what happens when someone finds a bug, why don't we prepare for the eventuality that all bugs will be found and exploited, often times without anyone's knowledge? Why don't we build security systems to be tolerant of exploits, instead of resistant to them? There is no security panacea, just as there is no reliability panacea.
We build distributed systems with the assumption that nodes will fail, and we call that "fault tolerance." We don't say a system is broken because a node fails. We say it's broken if it cannot handle a node failing.
Why can't we do the same for our security systems? Exploits are as inevitable as any type of system failure. We need to design for exploit tolerance with the same enthusiasm we design for fault tolerance.
I think the world is ready for a new kind of computer. Want to start a company? ;-]
And there you go. A secure PC for only a few million dollars with BSD support. Optionally port EROS microkernel w/ jVPS filesystem for stronger solution.
Do we want a government that collects threats that are more likely to be used against its own people than anyone else? The USA produces and use more software than any other country, not sharing exploit information fundamentally hurts the USA and the Economy of the USA more than other countries.
I suspect Google, Microsoft and most businesses involving the Internet and Money at the same time care. They probably want to know about flaws so they don't wind up losing their pants like the Bangladesh bank did recently.
There is huge money and real lives on the line here, this is not about appeasing message board hackers. Imagine if some big hack was learned to be known about in a 0-day the FBI withheld? I am fairly certain it was Target's mismanagement, but imagine if the a document was leaked and it showed the government knew about a 0-day that allowed the Target hack. That is small compared to what might actually happened when talking about browser or OS attack surface.
No 0day, no Stratfor hack. No FBI, no Stratfor hack.
Sometimes I wonder if penetrating other agencies and corporations was part of their gameplan. The FBI were entirely behind the formation of antisec.
Aside: Other interesting observation... The FBI and Apple seem to have an odd antagonistic relationship with one another. One of the Antisec hacks was against an FBI laptop that caused the release of millions of Apple users' data. The FBI was recording and debriefing Sabu every day. How did they allow that to happen?
Good correction though. I care a lot less about the technical details with this case than the social/sociopolitical ones.
We shouldn't be so quick to rail against government zero-day stockpiling. It is likely that other branches of government are using these flaws for their own means to monitor foreign states and other entities. If we give up that power we risk crippling our offensive capabilities more than we might stand to gain by having a stronger defense.
I cannot vouch for one side or the other. I am not a senior intelligence official and I do not have all the facts.
The real threat is a death of a thousand cuts. Trade secrets, troop movements, active spies, little snippets of information that can cause a lot of trouble if put in the wrong hands.
If they truly cared about this, they would push vendors to plug the leaks that they know about.
I'm sorry but this just sounds unethical and wrong. So much can be learned passively.
This is a good read: https://www.nostarch.com/silence.htm