Many people in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 industry have an innate fear of closed source (AKA proprietary software), which especially applies to everything crypto-related.
The usual arguments go this way: this (proprietary) crypto software is bad, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 vendor might have put some backdoors in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re. And: only cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 open source crypto software, which can be reviewed by anyone, can be trusted! So, after my recent post, quite a few people wrote to me and asked how I could defend such an evil thing as BitLocker, which is proprietary, and, even worse, comes from Microsoft?
I personally think this way of reasoning sucks. In majority of cases, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact something is distributed without cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 accompanying source code does not prevent ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs from analyzing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code. We do have advanced disassemblers and debuggers, and it is really not that difficult to make use of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m as many people think.
Of course, some heavily obfuscated programs can be extremely difficult to analyze. Also, analyzing a chipset's firmware, when you do not even know cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 underlying CPU architecture and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 I/O map might be hard. But cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se are special cases and do not apply to majority of software, that usually is not obfuscated at all.
It seems like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 argument of Backdoored Proprietary Software usually comes from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 open-source people, who are used to unlimited accesses to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 source code, and consequently do not usually have much experience with advanced reverse engineer techniques, simply because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y do not need cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir happy "Open Source Life". It's all Darwinism, after all ;)
On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r hand, some things are hard to analyze, regardless of whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 source code is available or not, think: crypto. Also, how many of you who actively use open source crypto software, e.g. TrueCrypt or GnuPG, have actually reviewed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 source code? Anyone?
You might be thinking — maybe I haven't looked at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 source code myself, but because it is open source, zillions of ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r users already have reviewed it. And if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re was some backdoor in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y would undoubtedly have found it already! Well, for all those open source fetishists, who blindly negate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 value of anything that is not open source, I have only one word to say: Debian.
Keep in mind: I do not say closed source is more secure than open source — I only resist cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 open-source fundamentalism, that defines every proprietary software as inherently insecure, and everything open source as ultimately secure.
So, how should one (e.g. a government institution) verify security-level of a given crypto software, e.g. to ensure cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are no built-in backdoors in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re? I personally doubt it could be performed by one team, as it just usually happens that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same people who might be exceptionally skilled in code review, system-level security, etc, at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same time are average cryptographers and vice-versa.
Imagine e.g. that you need to find out if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are any weaknesses in your system drive encryption software, something like BitLocker. Even if you get access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 source code, you still would have to analyze a lot of system-level details — how is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 trusted boot implemented (SRTM? DRTM? TPM interaction?), which system software is trusted, how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 implementation withstands various not-crypto-related attacks (e.g. some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attacks I described in my previous post), etc…
But this all is just system-level evaluation. What should come later is to analyze cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 actual crypto algorithms and protocols. Those later tasks fall into cryptography field and not into system-level security discipline, and consequently should be performed by some ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r team, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 crypto experts.
So, no doubt, it is not an easy task, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is or cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is not C/C++ source code available, is usually one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 minor headaches (a good example is our attack on TXT, where we were able to discover bugs in Intel's specific system software, which, of course, is not open source).
Subscribe to:
Post Comments (Atom)
25 comments:
I completely agree with you. The fallacy that all open source software has been so well vetted that it's safe is disproven every time anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r security flaw is discovered in open source software. Furcá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rmore, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact that SOMEONE may have vetted a certain program doesn't provide much comfort to someone like me who has no ability to determine cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 quality or extent of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir work.
Even if I know cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 programmer personally, that's no guarantee that he or she hasn't unknowingly induced a serious flaw in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software, eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r through neglect, ignorance or human error. The role that you and ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs play in testing products is an invaluable part of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole process.
I still prefer OSS over closed source any day. Yes, I can use a disassembler, but I'm just one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 select few. Being able to read cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 source code of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 product has helped me out numerous times. What is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 alternative? Script IDA with hex-rays to decompile every binary of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 product? Good luck with that...
OSS might not be more secure, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ease of development makes it still 100 times better than closed source.
PS. BitLocker uses standard crypto, so this argument doesn't apply to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m, but just look at WEP to see what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "we can do crypto too" attitude can result in.
Very good post.
Perhaps because I have written something similar, but I totally agree with you.
Quality and security check made by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 open source comunity are really more cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365orists that real.
And I fear cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are destined to stay above all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365oretical up to when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re won't be a committee that will deal him with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 matter.
But every control, every attempt of coordination with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 aim to increase or check opensource software quality, is seen by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 opensource community as an attack to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 freedom.
Rasult? e.g. over 300 linux distributions....
But especially Microsoft has its dark history concerning backdoors and cryptography
http://www.heise.de/tp/r4/artikel/5/5263/1.html
What are you mumbling about?
It is uncomparable easier to conduct an source code inspection than any binary-blob-hex-dump-and-reverse-engineering-via-dissassembly masochism.
Good luck with yours (false) approach.
:)
@Herbert: thanks for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 link! After all, it just comes down to how subtle your backdoor should be. In case of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Debian Backdoor it apparently had to be more subtle;)
Ok, I usually agree with you, but I think that you got this one wrong.
Your argument that proprietary code can still be reviewed using disassemblers does not hold simply because you're not allowed to reverse-engineer proprietary code. And this is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole point. In cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 specific case of Microsoft code, you may not "reverse engineer, decompile or disassemble cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software, except and only to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 extent that
applicable law expressly permits, despite this limitation;" (Vista Home Basic License found here: http://www.microsoft.com/about/legal/useterms/default.aspx).
If you consider that you have access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code of proprietary software, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's no point in comparing it to open source.
Roberto, that's a good point you raised. Unfortunately I'm not able to give any constructive feedback on this, as I'm not a lawyer myself... I can only consider technical feasibility of something, and not legal or ethical (at least here on this blog). Thanks for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 comment anyway.
@roberto
You are right. Under a law point of view cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 reverse engineering is a problem. But if you pay attention to law aspects you have to pay much more attention to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 jungle of OSS licenses that exists.
You can easily READ cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code, but modify it and use or pass to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 community cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 update couldn't be so easy under cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same law point of view.
I agree with Joanna. OSS modifiability is a myth. Few have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ability and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time to make this in a secure manner.
I mean: you can modify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code but are you sure this modify doesn't impact on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stability of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code?
I remember when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Windows kernel native APIs were decompiled with first pubblications 2000 year. After cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se Microsoft published in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MSDN more documentation on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m.
Reverse engineering is not only for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ASM level. You can reverse engineer a Java compiled code and/or C# compiled code. Joanna is an hacker and she know it :-)
I agree, you go girl.
The risk of putting a backdoor into proprietary software is too big for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 reason, if someone is able to reverse engineer -or I/O monitor cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software for that matter- it will be quickly known. That exactly happened with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SONY rootkits, in case of Microsoft it would completely shatter cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir business-model and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y will get sued for all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are worth.
So, you have my vote! it's more nuanced.
/rvdh
It is always good to reach some of sort of equibilirium on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 discussion between propriarity and open source software. It seems cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 key-word in this discussion is: trust. Who do you trust more, corporate developers or cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 semi-professional OSS community? Who provides you cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most assurance and why? How far are you willing to go to get this assurance?
I think it is better to trust no software at all; neicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r propriatity nor OSS....
I think it is better to trust no software at all;
I would love to! Neicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r software nor hardware. Just cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem is... we sort of have no such choice, do we?
Uh... cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem with open source is that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 source code that ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs have reviewed is not necessarily cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same source code that has been compiled into a running program on your machine.
For a consumer, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 difference between proprietary software and open source is that, in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 case of proprietary software, you can expect to get a code-signed executable that someone vouches for. In cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 case of open source, you get a glob of code from some half-anonymous intermediary who does not vouch for anything.
If one is a systems builder implementing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own product, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n I can certainly see how one would prefer to build on components that are available in source code. In this case you have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 resources and manpower to actually go through that source code and make sure that it is kosher.
As a consumer, though, one is not going to review all of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code one uses, and if we're not going to do that, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n I think it is preferable to use closed-source software that someone at least vouches for, and has a clear financial motive to implement well, racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r than floating-around open source software.
Who says CIA didn't insert backdoors into Linux? Doing that covertly would be about as easy for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m as doing it with Microsoft.
Most of users do not recompile cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Linux kernel. Do you investigate all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 opened source you use? I do not. I don't have a time to do it. I don't know what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is.
I don't understand this whole thing here :) sec holes can be found in any systems, doesn't matter if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y were made intentionally, by mistake or just because of evolution. I am using both systems MS and OSS and when you are not dumb teenager playing games all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time i don't see any reason why should i use MS.
I wonder what is behind this so like to be philosophical post, i would expect Joanna that you have this already sorted in your head, hm or maybe not.
One day this whole xware thing will fail anyway, because of increasing misusage (evil :) people getting profit from every hole, soft companies pushing people to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir sick visions).
PK
OSS systems give you more capabilities to manage your system and you are able better to watch your security levels. You can fix lots of bugs by yourself (changing source code, workarounds) thats different from waiting for patch from closed source :) nice that you are able to dig in, but what next? Getting money from MS that you find a hole? No thank you, this is not worthy way for me.
I would not blaim OSS developers, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are very often on much more higher level cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n people on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r side. Besides as you said on different post, when it comes to some fixes - more people needs to be involved because of all parts - programming, cryptology, design, etc.
Korka
@anonymous (last one): I don't quite get your point (read your comment 3-times already).
hi cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re. i'm absolutely no oss fanatic (using osx to write this comment). i think you are crossing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 line between logic and superstition. you say: public/legally available code != ease of inspection. c'mon... you don't really mean it, you are just trying to be "anticonformistic" your way
@arrow: go back and re-read my post.
I would racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r have a look at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 source code in its entirety to determine whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r it is to be trusted or not. Yes, it is all about trust when it comes to commercial proprietary software... I believe it is about who is doing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 business here... I see Joanna softening her tone on Microsoft cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se days only because she fried this company to death over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 past two years...lol.. good job..
I suggest reading Ken Thompson's article "Reflections on trusting trust ".
Nice essay, but it misses cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 main point: cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 question is not, whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r it's easier to [i]break[/i] OSS security implementations or closed source security implementations; as far as i can see, this would only be a question of how smart you are. So from this point of view, preferring one over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r makes no difference.
But OSS has one advantage, not explicitely mentioned here: despite cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact, that breaking cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code makes no difference whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r it is OSS or not, it is a lot easier (anybody with appropriate skills can do it) to [i]fix[/i] cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code. So if you found a sec-hole, you are invited to fix it, or at least proposing, how to fix it.
So, things could be done more easily and faster.
That's why i would [i]always[/i] prefer Open Source Software over closed source. I do not distrust closed source software per se, but to get things done, it is inefficient.
Kind regards.
Maybe you would like to read this - An expert’s guide to open source software security -
http://www.itrportal.com/absolutenm/templates/article-channeltalk.aspx?articleid=5534&zoneid=40
us3r
@denis bider
Very late response, sorry. But I can't let your comments about code signing go unchallenged.
You said:
For a consumer, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 difference between proprietary software and open source is that, in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 case of proprietary software, you can expect to get a code-signed executable that someone vouches for. In cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 case of open source, you get a glob of code from some half-anonymous intermediary who does not vouch for anything.
C'mon, really? Many (and most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 top-used) opensource distros *do* sign cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir software releases.
I'm not saying that every single line of code is reviewed by each distro in question, but your statements about OSS code signing (or lack cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365reof) are completely false.
Post a Comment