Live data from Hacker News

BitTorrent Chat - Private instant messaging via secure, distributed technology

labs.bittorrent.com

51–60 of 112 posts

Re: BitTorrent Chat - Private instant messaging via secure, distributed technology

#51
post #25

Earlier quoted context omitted.

Exactly. "Yeah, we designed something, just trust us and hand over all your data". They don't have to make it free, just open the source!

To be fair: charging for peer-to-peer software that is freely redistributable doesn't work as a business model. You make money in open source by selling related services (e.g. github, Android) or support (Red Hat). You can't do it by licensing the product. That doesn't invalidate the point above though that in the modern world a tool like this can only be considered "secure" if the implementation(s) are completely op…

They can split the program into two parts. The "UI" part and the "transport" part.

The UI part will be in charge of converting plaintext into ciphertext and vice versa. ciphertext will be handed off to the transport module.

The transport module can remain closed source. Only the API to the transport needs to be published. People can write their own UIs.

Re: BitTorrent Chat - Private instant messaging via secure, distributed technology

#52
post #18

I love the way BitTorrent Labs are evolving - first with Sync, now Chat. What's next... BitTorrentBook?

Making these technologies open source would be a good improvement.

True - not being a user, I must admit I assumed they already were :(

Re: BitTorrent Chat - Private instant messaging via secure, distributed technology

#53
post #40

Earlier quoted context omitted.

> You make money in open source by selling related services (e.g. github, Android) or support (Red Hat). You can't do it by licensing the product. This is where the distinction between "free" (as in freedom) and "open source" is helpful. You can, hypothetically, release the source code of a project under a license that prohibits compilation of that source code (or, prohibits running anything other than the paid binar…

There would be no assurance that the binary is compiled from the source though.

And even if it were, http://cm.bell-labs.com/who/ken/trust.html

Re: BitTorrent Chat - Private instant messaging via secure, distributed technology

#54
post #49
post #48

Earlier quoted context omitted.

> release the source code of a project under a license that prohibits compilation of that source code Such a license would qualify for neither "open source" nor "free software" under the relevant official definitions though. Yes, it would be reviewable for bugs and probably preferrable to a blob. But without the ability to verify the complication you'd have no assurance that the proprietary code was actually built wi…

[deleted]

No, that's wrong. The term "open source" as commonly used has a formal definition (http://opensource.org/osd-annotated) and this violates the very first term.

That is "source visible", I guess. But please don't confuse terminology: it's neither "open source" nor "free software".

Re: BitTorrent Chat - Private instant messaging via secure, distributed technology

#56

If they don't release the source, like BitTorrent Sync, they might as well just ditch this whole thing right now.

In any other context I would dismiss this comment as a troll, but yeah.. Any program that passes itself off as "secure" and is closed source, in this climate, is immediately suspect.

It is possible to analyze the behavior of a program without access to the source code that makes it easy to recompile and distribute modified builds. I routinely open binary files in disassemblers to read through their behavior. Yes, it is possible to obfuscate the hell out of parts of binary code, and that would certainly throw up a red flag for me, but concentrating on the source code seems to miss the point that source code can also be obfuscated, if the source code looks "too weird" we probably aren't going to trust it either, and it is also possible to hide a bunch of behaviors across wide areas of "open" "clear" code (so nothing looks "too weird" at any given place in the code).

To be very explicit about this, as I think this is a very subtle problem that people tend to totally misunderstand: if I wanted to distribute a chat program and have it be "evil" I would not distribute a binary with hidden behavior (if nothing else, when you find this code in my binary I'm pretty damn well screwed ;P): I'd instead distribute an open source program that involved a threaded work queue for handling multiple socket connections to peers and which had a few very subtle use-after-free race conditions that would only come up under nearly impossible timing scenarios that I knew how to trigger and exploit, giving me complete control of your client whenever I wanted.

These are the kinds of bugs people use to attack open source "secure" web browsers like Chrome year after year at Pwn2Own because people are simply bad at concurrency. In this sense, I'd thereby trust a closed source web browser that had no threads or which was implemented in a type-safe garbage collected language (executed on a simply-engineered runtime from someone separate that I trusted, which could also be closed source for all I care) a lot more than I'd trust Chrome. I'd even probably have an easier time understanding what it is doing disassembling it than reading Chrome's code. (To be clear, such a browser doesn't exist: probably you should use Chrome.)

Re: BitTorrent Chat - Private instant messaging via secure, distributed technology

#57
post #25

Earlier quoted context omitted.

To be fair: charging for peer-to-peer software that is freely redistributable doesn't work as a business model. You make money in open source by selling related services (e.g. github, Android) or support (Red Hat). You can't do it by licensing the product. That doesn't invalidate the point above though that in the modern world a tool like this can only be considered "secure" if the implementation(s) are completely op…

They can split the program into two parts. The "UI" part and the "transport" part. The UI part will be in charge of converting plaintext into ciphertext and vice versa. ciphertext will be handed off to the transport module. The transport module can remain closed source. Only the API to the transport needs to be published. People can write their own UIs.

But that would defeat the point of opening the source, the part we're interested in is the security of the transport not how that pretty UI is made.

Re: BitTorrent Chat - Private instant messaging via secure, distributed technology

#58
post #56

Earlier quoted context omitted.

In any other context I would dismiss this comment as a troll, but yeah.. Any program that passes itself off as "secure" and is closed source, in this climate, is immediately suspect.

It is possible to analyze the behavior of a program without access to the source code that makes it easy to recompile and distribute modified builds. I routinely open binary files in disassemblers to read through their behavior. Yes, it is possible to obfuscate the hell out of parts of binary code, and that would certainly throw up a red flag for me, but concentrating on the source code seems to miss the point that s…

Actually, there has been some recent research [0] in cryptography that shows it is possible to produce binaries that are obfuscated in such a way such that they are computationally infeasible to deobfuscate (see the linked reference for a formal definition of indistinguishability obfuscation).

[0] - http://eprint.iacr.org/2013/451.pdf

Re: BitTorrent Chat - Private instant messaging via secure, distributed technology

#59
post #56

Earlier quoted context omitted.

In any other context I would dismiss this comment as a troll, but yeah.. Any program that passes itself off as "secure" and is closed source, in this climate, is immediately suspect.

It is possible to analyze the behavior of a program without access to the source code that makes it easy to recompile and distribute modified builds. I routinely open binary files in disassemblers to read through their behavior. Yes, it is possible to obfuscate the hell out of parts of binary code, and that would certainly throw up a red flag for me, but concentrating on the source code seems to miss the point that s…

It is possible to analyze the behavior of a program without access to the source code

It may be possible, but it's not easy.

Re: BitTorrent Chat - Private instant messaging via secure, distributed technology

#60
post #58
post #56

Earlier quoted context omitted.

It is possible to analyze the behavior of a program without access to the source code that makes it easy to recompile and distribute modified builds. I routinely open binary files in disassemblers to read through their behavior. Yes, it is possible to obfuscate the hell out of parts of binary code, and that would certainly throw up a red flag for me, but concentrating on the source code seems to miss the point that s…

Actually, there has been some recent research [0] in cryptography that shows it is possible to produce binaries that are obfuscated in such a way such that they are computationally infeasible to deobfuscate (see the linked reference for a formal definition of indistinguishability obfuscation). [0] - http://eprint.iacr.org/2013/451.pdf

Yes. Even more simply, it is an impossible problem in the general case to even determine in a given x86 binary what parts are code and what parts are data (there was someone at RV '04 that published a paper on that result while working on his CodeSurfer binary analysis tool).

This does not, however, contradict my argument: as we can take a binary and generate really horrible C code from it (by just emulating via C, unrolling the instructions) the same result is true of source code; however, we would find that block of code highly suspicious ;P.

Again: if I wanted to give myself a backdoor into a chat program, I wouldn't distribute a backdoor into a binary, I'd provide open source code with subtle bugs that would take people years to find and that when found would look like honest "concurrency is hard" mistakes.

I am not saying that whether something is open source or not is totally irrelevant, but the people I'm responding to seem to be having this gut reaction "if it isn't open source it can't be trusted", so I'm attempting to provide enough context to show that it isn't that simple.

Post reply on HN