Snowden: Privacy can't depend on corporations standing up to the government(networkworld.com)
networkworld.com
Snowden: Privacy can't depend on corporations standing up to the government
http://www.networkworld.com/article/3046135/security/edward-snowden-privacy-cant-depend-on-corporations-standing-up-to-the-government.html
5 comments
>When heartbleed broke that was evidence that the 'many eyes' theory of secure open source software hadn't worked. Alternatively, the bug was found because big corporations with security budgets were getting serious about holes, so maybe 'many eyes' is starting to be true.
Heartbleed proved that just having software be open-source is not sufficient. Having the source available to audit isn't all the helpful if no one bothers to do the work to audit it, because they all assume someone else is going to do it.
However, if there are entities willing to put in the effort, it's much better for the code to be open-source because then it can be audited, and this auditing can be documented publicly (e.g., the fixes can be seen in git logs), whereas with proprietary software you have no idea if the software has bugs, you can't audit it if you want to, and you can only take the word of the vendor that they've made it secure, and of course we know that isn't worth squat.
Heartbleed proved that just having software be open-source is not sufficient. Having the source available to audit isn't all the helpful if no one bothers to do the work to audit it, because they all assume someone else is going to do it.
However, if there are entities willing to put in the effort, it's much better for the code to be open-source because then it can be audited, and this auditing can be documented publicly (e.g., the fixes can be seen in git logs), whereas with proprietary software you have no idea if the software has bugs, you can't audit it if you want to, and you can only take the word of the vendor that they've made it secure, and of course we know that isn't worth squat.
Bytecode / binaries can be verified (for certain properties) using static analysis. Open source doesn't make verficiation that much easier (at scale), but it makes fixing a lot easier.
Also, until reproducible builds become commonplace, most linux users can't verify that their binaries come from a specific version of the source. Binary verification is the way to go.
Also, until reproducible builds become commonplace, most linux users can't verify that their binaries come from a specific version of the source. Binary verification is the way to go.
You only really need reproducible builds if you don't trust the source. So far, there hasn't been any evidence that any open-source projects are untrustworthy.
Doveryai no proveryai -- trust but verify. Wasn't sourceforge bundling an adware installer for a while?
some of us are using verified gcc builds in Gentoo, and building stage3 installs in order to handle the trust aspect.
Are there orgs I can contribute resources to which audit open source software?
"Many eyes" theory needs a bit more analysis than "there exists an occurrence of a bug getting through"
If we all used free software, would that even be a problem?
This, it's so important for society. If we want real democracy, software needs to be open-source.
Please everybody, never stop promoting open-source solutions to your friends & family.
Please everybody, never stop promoting open-source solutions to your friends & family.
Open source hardly guarantees anything. Governments armed with everything under the sun can make the lives of privacy advocates a living hell. When I was younger (no kids) I could think of standing up against it if need be. Things have changed, almost irrationally, with a family. Irrational because I would hate for my baby to grow up into an Orwellian dystopia but the fear of immediate consequences to the family keeps me from action.
The point I am trying to make, is that government will not need to crack down on every one. Just a few brave snowdenlikes, the rest will either believe the government narrative or be afraid to rise up against it. So yes, open source is great, but we absolutely need corporations to stand up to government. Because let's face it.. In our society cash is king and a corporation like Apple has the cash,visibility and might to wield a sword for privacy even if they are possibly motivated by something other than concern for individual's privacy.
> Open source hardly guarantees anything.
{ obligatory recommendation to watch PHK's "Operation Orchestra"[1], which discusses ways free and open software projects can be manipulated }
[1] https://archive.fosdem.org/2014/schedule/event/nsa_operation...
> but we absolutely need corporations to stand up to government
We need solidarity - the people and corporations - to stand up to problems in government. We also need the people and government to stand up to problems in corporations. Hoping that our social problems will be fixed by other people or some other group is a terrible defense strategy. There will always be people that try to control power or money; this requires constant vigilance and push-back from everybody; failure to do so creates more potentially exploitable attack surface.
The technical people that actually implement modern society hold an incredible amount of power. Unfortunately, the people involved are easily distracted with off-topic minutia and vague threats.
{ obligatory recommendation to watch PHK's "Operation Orchestra"[1], which discusses ways free and open software projects can be manipulated }
[1] https://archive.fosdem.org/2014/schedule/event/nsa_operation...
> but we absolutely need corporations to stand up to government
We need solidarity - the people and corporations - to stand up to problems in government. We also need the people and government to stand up to problems in corporations. Hoping that our social problems will be fixed by other people or some other group is a terrible defense strategy. There will always be people that try to control power or money; this requires constant vigilance and push-back from everybody; failure to do so creates more potentially exploitable attack surface.
The technical people that actually implement modern society hold an incredible amount of power. Unfortunately, the people involved are easily distracted with off-topic minutia and vague threats.
Corporations and governments aren't actual concrete things, they are labels put on certain actions of people (and corporations, specifically, are just names for certain actions of people through government.) So "people and corporations" and "people and government" are both just people.
The distinction is important because people in government and people in corporations usually have different motives than people in general. (Particularly people in leadership roles within these org's)
That's correct. I'm making the distinction because of the comment that we "need corporations".
I can't start promoting open source solutions to my friends and family because for most of their tasks, open source solutions aren't adequate. Some examples (taken from my wife):
- Art: Photoshop, Illustrator and Corel Painter are required by employers and educational institutions. GIMP/Inkscape etc. don't have feature parity so often can't be adopted.
- Messaging: Friends and family use Skype and Whatsapp. Network is too large to convert to an OSS alternative. No OSS alternatives are sufficiently developed to be viable regardless (Signal lacks a desktop/web (not Chrome) client, XMPP, Tox have no decent mobile story, Matrix clients are hard to sell).
- Browsing: Chrome's built in translation doesn't seem to have a viable alternative in other browsers like Firefox. Chromium lacks auto-update which is dangerous.
- Documents: There isn't any open source alternative I'm aware of to Google Docs that is nearly as convenient or easy to use.
- OS: Linux/BSD can't run the software needed for work/study so they're a no go.
It's easy to think in our little tech bubble that OSS is wonderful and we should be screaming from the rooftops to get people to use it but I just don't think it's ready yet. I can't even get my wife onto one OSS application and the same goes for most of the people I know.
- Art: Photoshop, Illustrator and Corel Painter are required by employers and educational institutions. GIMP/Inkscape etc. don't have feature parity so often can't be adopted.
- Messaging: Friends and family use Skype and Whatsapp. Network is too large to convert to an OSS alternative. No OSS alternatives are sufficiently developed to be viable regardless (Signal lacks a desktop/web (not Chrome) client, XMPP, Tox have no decent mobile story, Matrix clients are hard to sell).
- Browsing: Chrome's built in translation doesn't seem to have a viable alternative in other browsers like Firefox. Chromium lacks auto-update which is dangerous.
- Documents: There isn't any open source alternative I'm aware of to Google Docs that is nearly as convenient or easy to use.
- OS: Linux/BSD can't run the software needed for work/study so they're a no go.
It's easy to think in our little tech bubble that OSS is wonderful and we should be screaming from the rooftops to get people to use it but I just don't think it's ready yet. I can't even get my wife onto one OSS application and the same goes for most of the people I know.
"Friends and family" are perfectly fine with gimp or even something simpler.
Telegram owns Whatsapp across the ceiling and down the walls in every aspect (only one I'm not sure about is security and for that one I don't know.) We already converted the inlaws (yep, big family) few months ago and it works like a charm.
An 50 year old electrician was the first to show me Ubuntu back in 2006 and he was enthusiastic about it.
So no, I don't buy it.
Of course many of them will never care, but that is because they don't care, not because there aren't alternatives.
Edit: saw employers mentioned. In that moment we are suddenly talking about professionals who just happens to be friends and family as well. In that case Photoshop might be a good solution.
Telegram owns Whatsapp across the ceiling and down the walls in every aspect (only one I'm not sure about is security and for that one I don't know.) We already converted the inlaws (yep, big family) few months ago and it works like a charm.
An 50 year old electrician was the first to show me Ubuntu back in 2006 and he was enthusiastic about it.
So no, I don't buy it.
Of course many of them will never care, but that is because they don't care, not because there aren't alternatives.
Edit: saw employers mentioned. In that moment we are suddenly talking about professionals who just happens to be friends and family as well. In that case Photoshop might be a good solution.
> "Friends and family" are perfectly fine with gimp or even something simpler.
Uh, you're not really in a position to say that.
> We already converted the inlaws (yep, big family) few months ago and it works like a charm.
You're totally ignoring the network effect. Nobody I know who uses WhatsApp uses it only to contact me. So now you've just introduced yet another messaging app they need to have installed and use to message me.
> An 50 year old electrician was the first to show me Ubuntu back in 2006 and he was enthusiastic about it.
So? I can't run Linux on my desktop because of some of the applications I need to run.
While I'm a huge proponent of open source, if you force it on people when it's not suitable you're going to encounter a massive backlash and turn them off it, undoing all the hard work that people are putting in.
Uh, you're not really in a position to say that.
> We already converted the inlaws (yep, big family) few months ago and it works like a charm.
You're totally ignoring the network effect. Nobody I know who uses WhatsApp uses it only to contact me. So now you've just introduced yet another messaging app they need to have installed and use to message me.
> An 50 year old electrician was the first to show me Ubuntu back in 2006 and he was enthusiastic about it.
So? I can't run Linux on my desktop because of some of the applications I need to run.
While I'm a huge proponent of open source, if you force it on people when it's not suitable you're going to encounter a massive backlash and turn them off it, undoing all the hard work that people are putting in.
You've accurately described the thirty pieces of silver for which you're willing to sell your privacy.
Choosing closed source software is not selling my privacy.
Statements like this make the OSS community seem toxic.
Statements like this make the OSS community seem toxic.
> Choosing closed source software is not selling my privacy.
With hypothetical closed source software in the abstract this might be a reasonable claim, but the software mentioned above includes a bunch of software which is known not to protect your privacy.
You can't seriously claim, for example, that Google employees don't have more access to your Google docs than you do.
With hypothetical closed source software in the abstract this might be a reasonable claim, but the software mentioned above includes a bunch of software which is known not to protect your privacy.
You can't seriously claim, for example, that Google employees don't have more access to your Google docs than you do.
It sounds like the problem is that they value convenience more than freedom. That is their choice and the only thing you can do is to explain that to them and to choose differently yourself.
No, that isn't the problem at all.
When you understand why, you'll be better-equipped to work towards real solutions.
When you understand why, you'll be better-equipped to work towards real solutions.
I am actually curious what you think the problem is as well. I have been modeling possible fixes to the general issues with privacy, consolidation and restricted freedom to use the internet/communications. There are a lot of problems which I will try and list breiefly:
1. Consolidation & definition of protocols as well as inroads to making use of communications tools are controlled by gatekeepers:
1. Google
2. Microsoft
3. Apple
4. Other providers in non-english speaking countries.
I wouldn't call this easy to fix, but I don't think it is super difficult to fix this.
======
Let's assume you disaggregate some of the above and fragment it out enough where information is semi-balkaninized. I actually skipped over the initial problem referenced above:
It isn't people favor convenience over privacy (although they do) most people just DGAF. I think, and I have been considering this a fair bit lately, gov is actually pretty reasonably modeled (at least in the US) after society. No one actually values organization, deferred gratiofication, privacy or many other things I had previously assumed. So you actually just have to provide something really really great, get all the users, and provide them privacy for free and they won't care but will be semi-protected.
But, to resume here. If you build something people use, priovide them privacy, and dethrone incumbant internet companies, you still have huge obstacles:
Infrastructure. Broadspectrum is ~10 Billion for a band that can reach 200M people. Verizon is a 200B company (market cap). Comcast, Timewarner etc.
This is super hard to sort out. I actually think it is doable as well though. Let's wave our hands at this.
=======
Let's assume you have done the impossible: users all prefer amazing privacy by design top shelf UX open source software running on distributed systems in a decentralized network. You own bandwith and hard lines and insure you can protect and distribute signals with minimal interference. What do you do?
=====
No idea, pretty stuck here. I was thinking you return control to the people, but that doesn't seem to work. Obviosuly, I am sure there are some other constraints around just this general simplified model I presented, but how do you do decentralized governance. It isn't working well for Bitcoin. Interested to figure this out.
1. Consolidation & definition of protocols as well as inroads to making use of communications tools are controlled by gatekeepers:
1. Google
2. Microsoft
3. Apple
4. Other providers in non-english speaking countries.
I wouldn't call this easy to fix, but I don't think it is super difficult to fix this.
======
Let's assume you disaggregate some of the above and fragment it out enough where information is semi-balkaninized. I actually skipped over the initial problem referenced above:
It isn't people favor convenience over privacy (although they do) most people just DGAF. I think, and I have been considering this a fair bit lately, gov is actually pretty reasonably modeled (at least in the US) after society. No one actually values organization, deferred gratiofication, privacy or many other things I had previously assumed. So you actually just have to provide something really really great, get all the users, and provide them privacy for free and they won't care but will be semi-protected.
But, to resume here. If you build something people use, priovide them privacy, and dethrone incumbant internet companies, you still have huge obstacles:
Infrastructure. Broadspectrum is ~10 Billion for a band that can reach 200M people. Verizon is a 200B company (market cap). Comcast, Timewarner etc.
This is super hard to sort out. I actually think it is doable as well though. Let's wave our hands at this.
=======
Let's assume you have done the impossible: users all prefer amazing privacy by design top shelf UX open source software running on distributed systems in a decentralized network. You own bandwith and hard lines and insure you can protect and distribute signals with minimal interference. What do you do?
=====
No idea, pretty stuck here. I was thinking you return control to the people, but that doesn't seem to work. Obviosuly, I am sure there are some other constraints around just this general simplified model I presented, but how do you do decentralized governance. It isn't working well for Bitcoin. Interested to figure this out.
But you don't want to teach me what the real problem is quite yet?
You could start by listening to the users, instead of talking down to them.
Yes, they value convenient tools they need more than some imaginary freedom they have no use for.
Well in a democracy, people can use whatever they like the most, but usually "open-source" goes hand in hand with "pain in the ass" and "doesn't have the user base".
Don't tell me what to do and I won't tell you where to go.
Democracy has nothing to do with open-source software and I will recommend the best tool for the job, open or closed source, thank you very much.
OTOH maybe fewer peopel thinking that they have it all figured out and know the best what is good for society would be indeed good for democracy.
Agreed open source is very important.
Does anyone here think all software should be open source?
I'm interested to debate someone about that. I can't see how that works unless the whole world stops using money.
Does anyone here think all software should be open source?
I'm interested to debate someone about that. I can't see how that works unless the whole world stops using money.
Well, the WordPress scene tends to make most of their software open source, including the stuff they charge for. For example, every official WooCommerce plugin is under the GPL, as is Gravity Forms and Easy Digital Downloads.
These are also paid plugins. What this means is that once you download them, you can theoretically use them on as many sites as you like, release edited versions yourself or use them for as long as you need to.
What they charge for is basically the following:
1. Updates, since otherwise you have to find and install any updates outside the WordPress dashboard.
2. Support from their support team
That's how the WordPress scene in general works for paid products. The products themselves can be used however you like, but a paid license gives you access to support and much improved ease of use as far as updates and things are concerned.
So you can make money from open source software, and it would theoretically be possible to have all software as open source.
These are also paid plugins. What this means is that once you download them, you can theoretically use them on as many sites as you like, release edited versions yourself or use them for as long as you need to.
What they charge for is basically the following:
1. Updates, since otherwise you have to find and install any updates outside the WordPress dashboard.
2. Support from their support team
That's how the WordPress scene in general works for paid products. The products themselves can be used however you like, but a paid license gives you access to support and much improved ease of use as far as updates and things are concerned.
So you can make money from open source software, and it would theoretically be possible to have all software as open source.
> I can't see how that works unless the whole world stops using money.
I think Richard Stallman addressed your concern in the GNU Manifesto back in 1985.
(I don't mean to suggest that his answers will necessarily convince you, just that the issue has been discussed explicitly for that long.)
I think Richard Stallman addressed your concern in the GNU Manifesto back in 1985.
(I don't mean to suggest that his answers will necessarily convince you, just that the issue has been discussed explicitly for that long.)
For subsequent thinking, there is a Wikipedia article:
https://en.wikipedia.org/wiki/Business_models_for_open-sourc...
https://en.wikipedia.org/wiki/Business_models_for_open-sourc...
> I can't see how that works unless the whole world stops using money.
I'm hoping Snowdrift.coop makes it viable.
I'm hoping Snowdrift.coop makes it viable.
Good idea short-term.
Long-term, it should be financed via our taxes (best case: international agreement).
Long-term, it should be financed via our taxes (best case: international agreement).
[deleted]
Define "it". Certainly not all FLO software is of sufficiently broad interest for public funding to make sense.
One model that that could work is to start with a basic income. That would ensure that everyone has the option to simply spend their time as a low income inventor. Or perhaps part-time, well paid consultat, part-time low income inventor.
Perhaps the next level up is simply to allocate some money as simple grants. As long as you manage to produce the basic paperwork you get some additional money thrown at you.
I'm sure the lower end of such implementations are reasonably effective. After all their basic aim just to throw money around.
On top of that there's really not that many projects left, I'm sure we can continue to invent custom solutions for those.
Perhaps the next level up is simply to allocate some money as simple grants. As long as you manage to produce the basic paperwork you get some additional money thrown at you.
I'm sure the lower end of such implementations are reasonably effective. After all their basic aim just to throw money around.
On top of that there's really not that many projects left, I'm sure we can continue to invent custom solutions for those.
I support a modest basic income. I do suspect that in that environment, we would see an increas in the range of projects tackled because people want to do them, want them done, want the fame, and similar.
I also think there are projects that a grant program could effectively support.
But I also think there is a really long tail of projects that some people would find worth having done, but that would not likely get done without someone paying, and would be difficult for grant issuers to distinguish from other projects that are simply not worth doing at all.
I think Snowdrift - or something similar - could have a huge role in such a world. In particular, a basic income would make it easier for more people to contribute to a project and also reduce the amount of money necessary to see a project move forward.
I also think there are projects that a grant program could effectively support.
But I also think there is a really long tail of projects that some people would find worth having done, but that would not likely get done without someone paying, and would be difficult for grant issuers to distinguish from other projects that are simply not worth doing at all.
I think Snowdrift - or something similar - could have a huge role in such a world. In particular, a basic income would make it easier for more people to contribute to a project and also reduce the amount of money necessary to see a project move forward.
Snowdrift is certainly an interesting approach and agree, similar things are needed.
In an abstract sense, as i see it, we need to find a way to direct funding, in an accessible way, towards people just wanting to work on generally useful stuff, without being entirely reliant on capitalism and market economies.
I do fear that most schemes for selecting what to fund, grants, or capitalistic markets tend to promote the wrong things for the wrong reasons. Once serious money gets involved it gets ugly quickly and all sorts of gaming and failures take over.
I guess one failure mode of Snowdrift would be that high visibility projects, with a direct user facing component, will get loads of funds. But infrastructure kind of things, will be forgotten and be underfunded.
Perhaps not a real problem though, the funds going the user facing project might ripple down, so to speak, into the infrastructure.
In any case, the problem of selecting who should get money is hard, and you probably just have to accept that its a gamble with low odds of success. Maybe most of the things not worth doing, is worth doing precisely to find out how not worth doing they are!
In an abstract sense, as i see it, we need to find a way to direct funding, in an accessible way, towards people just wanting to work on generally useful stuff, without being entirely reliant on capitalism and market economies.
I do fear that most schemes for selecting what to fund, grants, or capitalistic markets tend to promote the wrong things for the wrong reasons. Once serious money gets involved it gets ugly quickly and all sorts of gaming and failures take over.
I guess one failure mode of Snowdrift would be that high visibility projects, with a direct user facing component, will get loads of funds. But infrastructure kind of things, will be forgotten and be underfunded.
Perhaps not a real problem though, the funds going the user facing project might ripple down, so to speak, into the infrastructure.
In any case, the problem of selecting who should get money is hard, and you probably just have to accept that its a gamble with low odds of success. Maybe most of the things not worth doing, is worth doing precisely to find out how not worth doing they are!
I personally don't care about open source software, I care about free software <https://www.gnu.org/philosophy/open-source-misses-the-point.....
While I don't have time for an extended debate at the moment...
The problem is thinking of software as a good (product). Software is not a scarce resource, so it is foolish to use tools such as capitalism (or other economic systems) as the model for the creation and distribution of software. Capitalism is very useful for optimizing the allocation of a scarce resource, but it doesn't apply for things that can be reproduced for free.
A better model is recognizing that software development is a service. We are moving quickly into a future filled with automation, data analysis, and everything we call "AI"; the demand for software development will be increasing dramatically. Just like today, most of this development will be for specific business needs, which are rarely useful directly to outside the specific use they were developed for.
Like plumbing, there will always be people who need software that is customized for their current situation. When you hire a plumber to install the waterworks for a new building, you don't expect them to develop their own type of pipe fittings; they use standard parts. Similarly, a business that has software needs should expect that the software developer they hire or contract will save time, money, and bugs by utilizing existing software that is available in the commons. The remaining bits of software that are necessary to customize the standard components for their specific needs are - by definition - not a "product" that is useful to others.
The problem is thinking of software as a good (product). Software is not a scarce resource, so it is foolish to use tools such as capitalism (or other economic systems) as the model for the creation and distribution of software. Capitalism is very useful for optimizing the allocation of a scarce resource, but it doesn't apply for things that can be reproduced for free.
A better model is recognizing that software development is a service. We are moving quickly into a future filled with automation, data analysis, and everything we call "AI"; the demand for software development will be increasing dramatically. Just like today, most of this development will be for specific business needs, which are rarely useful directly to outside the specific use they were developed for.
Like plumbing, there will always be people who need software that is customized for their current situation. When you hire a plumber to install the waterworks for a new building, you don't expect them to develop their own type of pipe fittings; they use standard parts. Similarly, a business that has software needs should expect that the software developer they hire or contract will save time, money, and bugs by utilizing existing software that is available in the commons. The remaining bits of software that are necessary to customize the standard components for their specific needs are - by definition - not a "product" that is useful to others.
Open-source software benefits everybody and is economically the most efficient solution (the wheel does not get reinvented; instead, you just clone and fork).
One scenario could therefor be that open-source development is financed via taxes, meaning we should pressure the government to initiate that.
One scenario could therefor be that open-source development is financed via taxes, meaning we should pressure the government to initiate that.
I think the main argument is that most customers, and certainly enterprise customers, will pay for software even of the source code is available.
Also requiring all software to use an open source development model is probably not necessary for security purposes.
Also requiring all software to use an open source development model is probably not necessary for security purposes.
Enterprise customers don't pay for software so much as support and accountability (that software firms often roll all this up into license fees rather than separating it out is irrelevant to what is motivating the enterprise purchase and justifying the cost.)
[deleted]
Yes. There's no silver bullet for protecting and preserving rights.
Better technology (e.g. secure software, encryption) are part of the solution but this does not preclude the requirement of citizens and their associations (e.g. corporations) to maintain or restore accountability in government by whichever means are available.
Better technology (e.g. secure software, encryption) are part of the solution but this does not preclude the requirement of citizens and their associations (e.g. corporations) to maintain or restore accountability in government by whichever means are available.
Hardware could still make users vulnerable. Intel, I think, was involved in controversy relating to backdoors and encryption [0].
[0] http://arstechnica.com/security/2013/12/we-cannot-trust-inte...
[0] http://arstechnica.com/security/2013/12/we-cannot-trust-inte...
Yes, open-source hardware would be the next step.
Yes. Ironically, one the features that makes free software insecure is the religious belief that only proprietary software is insecure.
Well for proprietary software there is no way to prove it's secure. It's security by obscurity, which is hardly a good thing.
More transparency can ONLY be positive, even if it's not perfect.
More transparency can ONLY be positive, even if it's not perfect.
That's not entirely true - there's no way for the general public to prove proprietary code is secure, but the people who wrote the software know. But the general public isn't competent enough to validate most open source code anyway, so in either case most users simply blindly trust that whatever they run is "safe."
Transparency is only positive when it results in positive action. It can certainly be a negative when it doesn't.
Transparency is only positive when it results in positive action. It can certainly be a negative when it doesn't.
It's not really about "proving" something secure, but about leveling the playing field.
With a piece of proprietary code, there is inherently a large difference between the public and private analysis of that software. And that private information can be leveraged by traditional power structures of money/government, eg source sharing programs with surveillance agencies.
With Free software [0], one can be reasonably confident that the public analysis and private analysis are much closer. Nefarious groups can still spend resources to increase their private advantage, but the public baseline starts off much higher. And if the bad actors do start to exploit something, the public already has much more information with which to go about figuring it out.
As another poster said, it's necessary but certainly not sufficient.
[0] "open source" ersatz seems sufficient for such analysis, but generally implies a lack of ability to recompile. So who the hell knows what the binary is actually made from.
With a piece of proprietary code, there is inherently a large difference between the public and private analysis of that software. And that private information can be leveraged by traditional power structures of money/government, eg source sharing programs with surveillance agencies.
With Free software [0], one can be reasonably confident that the public analysis and private analysis are much closer. Nefarious groups can still spend resources to increase their private advantage, but the public baseline starts off much higher. And if the bad actors do start to exploit something, the public already has much more information with which to go about figuring it out.
As another poster said, it's necessary but certainly not sufficient.
[0] "open source" ersatz seems sufficient for such analysis, but generally implies a lack of ability to recompile. So who the hell knows what the binary is actually made from.
>but the public baseline starts off much higher.
Does it really? How many people are actually watching any particular piece of free/open source software, versus the number of programmers who might be paid to do so for the same as a proprietary project? The "public baseline" for free software includes all users, but only the subset of those who are competent enough programmers to be able to recognize issues, and who actually audit code and bring those issues to light, or have a PR accepted, or have the time to fork a project, even matter in this case.
I suspect politics and popularity affect the security of open source projects far more than the openness of the source code itself. While the potential is there once an issue is discovered for the community to come together around a solution in ways a dedicated staff might not be able to achieve, unpopular but mission critical projects may languish for years with only one or two people watching them because everyone is watching code that looks good on their resume.
Does it really? How many people are actually watching any particular piece of free/open source software, versus the number of programmers who might be paid to do so for the same as a proprietary project? The "public baseline" for free software includes all users, but only the subset of those who are competent enough programmers to be able to recognize issues, and who actually audit code and bring those issues to light, or have a PR accepted, or have the time to fork a project, even matter in this case.
I suspect politics and popularity affect the security of open source projects far more than the openness of the source code itself. While the potential is there once an issue is discovered for the community to come together around a solution in ways a dedicated staff might not be able to achieve, unpopular but mission critical projects may languish for years with only one or two people watching them because everyone is watching code that looks good on their resume.
Any software can languish. Putting much trust in any under analyzed software is a poor idea.
The money from a closed project can buy professional auditors, but their utility is permanently capped by users not knowing if the company retains privileged backdoors. A user can only trust the software as much as they can trust that company. And as interest in the software rises, interest in subverting the company does as well.
Like always, centralization makes the small scale much easier but is fundamentally flawed when scaled up.
The money from a closed project can buy professional auditors, but their utility is permanently capped by users not knowing if the company retains privileged backdoors. A user can only trust the software as much as they can trust that company. And as interest in the software rises, interest in subverting the company does as well.
Like always, centralization makes the small scale much easier but is fundamentally flawed when scaled up.
Yes, because free software does not mean a shit.
Unless you hand assemble your devices, compiler, verify every line of code before compiling it and only then install it.
[deleted]
[deleted]
Yep, as Android being the paragon of security clearly shows us.
Like OpenSSL?
For example, there we were able to find the bug and to fix it. This is not possible with closed source software.
You'd be amazed how many bugs are found and being fixed for closed source software. Especially when people are paid to do it.
I guess the main difference is that we can only pray that a bug will be fixed in closed source software. In free software we have at least the possibility to do it ourselves.
Two years after the fact, in OpenSSLs case, after it became almost universally adopted.
Maybe.
Sure is a ton of software you'd need to both find and maintain. This may be one of those things that sound good but are unworkable.
Sure is a ton of software you'd need to both find and maintain. This may be one of those things that sound good but are unworkable.
Yes. The FBI wants to run arbitrary code on a device it legally owns. Were the iPhone consistent with Free Software principles, that would be trivial. It is only because Apple built the walls of the walled garden so high (specifically implementing code signing enforcement in hardware) that this is so difficult for the FBI.
Free Software on general purpose computing hardware can't stop you from reading its storage with other software (i.e. with security features commented out) - that's kind of the point.
Free Software on general purpose computing hardware can't stop you from reading its storage with other software (i.e. with security features commented out) - that's kind of the point.
Ehm, no? Free software says nothing about making your encryption easy to break. If I use free software to encrypt my hard disk and then somebody kills me my password is gone.
If it's short enough that you're willing to type it every time you touch your phone, then it can probably be cracked very easily by cloning your flash storage and brute-forcing in parallel.
If you use a strong password on an iPhone than the attack the FBI is trying to pull wouldn't work either.
If you use a strong password on an iPhone than the attack the FBI is trying to pull wouldn't work either.
You're missing the point. Nothing is preventing free software from running on hardware that contains a hardware key just like the iPhone.
Nope, you are. Nothing prevents it, nothing makes it any more likely, but the free software community's opposition to TPM and hardware-enforced code signing does make it less likely. We still have to worry about this stuff even when the software is free.
You said:
> If it's short enough that you're willing to type it every time you touch your phone, then it can probably be cracked very easily by cloning your flash storage and brute-forcing in parallel.
That doesn't work with a unique hardware key. Being clearer since you missed it the first time: the attack you describe does not work on the iPhone.
Nobody is proposing that FOSS is a security panacea: FOSS would still have to run on hardware with a hardware key to achieve similar password security. But if such FOSS existed, it could be more secure than the iPhone can be, because it would be immune to the attack that the FBI is attempting.
> If it's short enough that you're willing to type it every time you touch your phone, then it can probably be cracked very easily by cloning your flash storage and brute-forcing in parallel.
That doesn't work with a unique hardware key. Being clearer since you missed it the first time: the attack you describe does not work on the iPhone.
Nobody is proposing that FOSS is a security panacea: FOSS would still have to run on hardware with a hardware key to achieve similar password security. But if such FOSS existed, it could be more secure than the iPhone can be, because it would be immune to the attack that the FBI is attempting.
Sure, but the design constraints change along with. If the iPhone were Free, its security would have been designed to withstand any code changes, ala LUKS.
Most people don't boot their computers very frequently, and when they do they have a full-sized keyboard at their disposal.
That's orthogonal to what I said.
But to address your implicit point about UI - 64 bits of entropy is 6 diceware words, which seems eminently doable for your casual user wanting casual security. Phones are kept in possession more, and thus need a cold-unlock less frequently. And users are still free to compromise their security by using less entropy, just as they are currently regarding Apple (and likely by extension USG, as is currently being worked out).
Also tamper-resistant hardware isn't strictly incompatible with Free software. Imagine a security model that allowed loading of whatever software image, but wiped nonvolatile storage before doing so.
But to address your implicit point about UI - 64 bits of entropy is 6 diceware words, which seems eminently doable for your casual user wanting casual security. Phones are kept in possession more, and thus need a cold-unlock less frequently. And users are still free to compromise their security by using less entropy, just as they are currently regarding Apple (and likely by extension USG, as is currently being worked out).
Also tamper-resistant hardware isn't strictly incompatible with Free software. Imagine a security model that allowed loading of whatever software image, but wiped nonvolatile storage before doing so.
People were annoyed enough by 4 digits that Touch ID was a major selling point. 6 words isn't gonna happen. But you already can use such a password with an iPhone, and if you do, the attack the FBI is attempting won't work. Software freedom doesn't enter into it.
What should (and might) happen is Apple's model being amended to also require a code-signing key held by the user, encrypted with the rest of the phone. Apple could do this in its closed-source model, and Free Software wouldn't necessarily do that. Proper security design here really has nothing to do with whether the software is free.
What should (and might) happen is Apple's model being amended to also require a code-signing key held by the user, encrypted with the rest of the phone. Apple could do this in its closed-source model, and Free Software wouldn't necessarily do that. Proper security design here really has nothing to do with whether the software is free.
Surprise surprise, pop culture is based on laziness.
Free software generally relies wholly on complexity theoretic security - so that it can be completely software based, as well as the author lacking any special privilege when the source is released. Computationally security necessitates a certain minimum amount of entropy.
For UI reasons, Apple would like to skimp on the required entropy, and thus employs additional non-complexity-based means of security. While this provides security for a casual user against a casual attacker, it unfortunately creates a juicy target for USG to fixate on, as in the current proceedings. It would have been more responsible for Apple to have designed their system so that low entropy passcodes were directly crackable by USG, rather than leaving themselves in a privileged position they can be compelled to use.
Free software generally relies wholly on complexity theoretic security - so that it can be completely software based, as well as the author lacking any special privilege when the source is released. Computationally security necessitates a certain minimum amount of entropy.
For UI reasons, Apple would like to skimp on the required entropy, and thus employs additional non-complexity-based means of security. While this provides security for a casual user against a casual attacker, it unfortunately creates a juicy target for USG to fixate on, as in the current proceedings. It would have been more responsible for Apple to have designed their system so that low entropy passcodes were directly crackable by USG, rather than leaving themselves in a privileged position they can be compelled to use.
"I didn't use Microsoft machines when I was in my operational phase, because I couldn't trust them" ... I'm not really sure that open source should get a free pass in terms of trust - it's not possible for you as an individual to single handedly verify that the open source software is trustable either; you need to assume that the group maintaining it has your best interests at heart.
1. i don't think that a "free pass" was necessarily implied
2. how would you put it? "i can't review windows source code because it's a trade secret. but since i can't review GNU/Linux or *BSD source code (because it's too much) either, meh."?
But proprietary software vendors have an interest in keeping things secret, while open source code can be reviewed by people who have an interest in making problems known.
With your logic, you might as well say that freedom of information laws are useless because nobody can review all of the government's documents by themselves. The point is not that anyone can review it all by themselves--it's just that it's more reasonable to trust things that the public can verify rather than unsubstantiated claims by someone who has an interest in keeping things secret.
With your logic, you might as well say that freedom of information laws are useless because nobody can review all of the government's documents by themselves. The point is not that anyone can review it all by themselves--it's just that it's more reasonable to trust things that the public can verify rather than unsubstantiated claims by someone who has an interest in keeping things secret.
Snowden generally seems not to open his mouth unless he has something worthwhile to say, so I imagine he might have addressed this in the actual talk of which this article is such a brief summary, but: what choice do we have? No, it's not great, but we typically use government power to check corporations, so I don't see anything inherently wrong with using corporations to check an unaccountable, runaway government.
The choice is to either (1) hold all three branches of the government accountable for enforcing the Constitution (or the Universal Declaration of Human Rights outside U.S.), or (2) let slide even further towards tyranny, or (3) there is no #3.
Well, yes, but how in practical terms are we supposed to accomplish #1? I see no options. The US government is doing what it wants because it can, and has grown increasingly obvious about it since they face no consequences beyond the embarrassment consequent from perverting the democracy, which is easier to solve by adopting a status-hierarchy mindset and not worrying about it than by actually letting go of power once seized. They are not going to stop unless someone forces them to, and major tech corporations are the only entities I see capable of wielding force on the scale that might accomplish it. They don't care what citizens think anymore - the total failure of the largest protests in the history of the world to accomplish anything against the blatant idiocy of the Iraq war proved that.
Vote in people who would change that. Or get out while you still can get exit visa.
I was thinking about encryption the other day. It struck me that whenever the topic came on HN we tended to see encryption as 100% or nothing.
I however think we should instead focus on creating good enough encrypted communication for email, chat... for two reasons.
1. It'll make things a little bit more expensive for the "watchers."
2. It will create noise. I.e. right now, if one person is using encrypted communication, he automatically becomes a target. With everyone using some level of encryption...
3. It'll serve as an intro to security. The same app that provides base level encryption can give TIPS on how to become even more secure. Think Windows "Tip of the day."
There's no perfect security. An insecure world-wide, easy-to-setup encrypted communication is better than nothing. Because, it'll at least make people more security/privacy conscious.
I however think we should instead focus on creating good enough encrypted communication for email, chat... for two reasons.
1. It'll make things a little bit more expensive for the "watchers."
2. It will create noise. I.e. right now, if one person is using encrypted communication, he automatically becomes a target. With everyone using some level of encryption...
3. It'll serve as an intro to security. The same app that provides base level encryption can give TIPS on how to become even more secure. Think Windows "Tip of the day."
There's no perfect security. An insecure world-wide, easy-to-setup encrypted communication is better than nothing. Because, it'll at least make people more security/privacy conscious.
Why stop at making dragnet surveillance "a little bit more expensive"? It's not much more effort to make dragnet surveillance impossible and directed surveillance extremely expensive.
> I however think we should instead focus on creating good enough encrypted communication for email, chat... for two reasons.
What exactly do you propose? We already have large swaths of insecure encryption, for example opportunistic TLS [1], and the "export" crypto leftover from the 1990s.
Designing some sort of mediocre encryption system that's both "good enough" to defend against typical criminals and simultaneously only "a little bit more expensive" for the well funded nation states seems like a poor use of expertise. Also it will have a shelf life: attacks only get better.
[1] https://en.wikipedia.org/wiki/Opportunistic_encryption
What exactly do you propose? We already have large swaths of insecure encryption, for example opportunistic TLS [1], and the "export" crypto leftover from the 1990s.
Designing some sort of mediocre encryption system that's both "good enough" to defend against typical criminals and simultaneously only "a little bit more expensive" for the well funded nation states seems like a poor use of expertise. Also it will have a shelf life: attacks only get better.
[1] https://en.wikipedia.org/wiki/Opportunistic_encryption
When heartbleed broke that was evidence that the 'many eyes' theory of secure open source software hadn't worked. Alternatively, the bug was found because big corporations with security budgets were getting serious about holes, so maybe 'many eyes' is starting to be true. Certainly apple's 'goto fail' and RSA's key strength bribery are examples of 'not enough eyes' for closed software.