I've heard from several people that Crypto Cat has some security flaws. Has anyone performed an analysis of the system and written a whitepaper? I'm curious what the flaws specifically are and what solutions could be implemented to fix them.
Has anyone performed an analysis of the system and written a whitepaper?
Yes, here is the Cure53's Public Pentest Report for Cryptocat 2 (PDF), and this is its conclusion:
Cryptocat 2 has reached a great maturity level in a very short period of time. It is commendable that the development team has proven great expertise in the creation of secure code, despite the complexity of the task at hand. While communication process is critical in the dynamically updated framework of audits (both during the assignment and following its completion), it was exceptionally well-handled in this case, resulting in the discussed issues acquiring almost immediate fixes. Let us illustrate that by saying that on several occasions feedback with successful fix notification has managed to reach us concurrently to follow-up email's preparation!
Nevertheless, the problems we have spotted underline the importance of a well-planned and thoroughly implemented security architecture within browser extensions. One has to be reminded that a vulnerability that causes a rather harmless script execution in the web application context, might turn out to become a detrimental privilege escalation or remote code execution when it is discovered and exploited in a browser extension. Cure53 would like to thank Radio Free Asia, the entire Cryptocat development team and Nadim Kobeissi partciularly, for this challenging and all-round professionally-handled project.
EDIT: I would also like to refer you to this @Adnan's simple yet effective explanation on differences between what Cryptocat used to be, and what's the most essential change in it's trust/security model since moving to Cryptocat 2:
Please read the whole answer for better perspective on what's being discussed in that thread, I've only included a short excerpt from it, not wanting to impose on Adnan's own efforts.
I had a conversation with the lead dev of cryptocat and I figured I should post his email here:
From Nadim Kobeissi
With regards to security, Cryptocat has been audited numerous times by professional security companies. Our latest audit from Veracode gave us a score of 100/00: https://blog.crypto.cat/2013/02/cryptocat-passes-security-audit-with-flying-colors/
There's still work to do seeing as the field of browser cryptography is new, but I'm confident that Cryptocat has impressive security.
I invite you to also check out our codebase: https://github.com/cryptocat/cryptocat/
…and documentation: https://github.com/cryptocat/cryptocat/wiki/
The security audits not-withstanding, it turns out that until recently Cryptocat had a major flaw that impacted group chats:
According to security expert Steve Thomas, [group chat] messages sent via Cryptocat between 17 October 2011 and 15 June 2013 are compromised. The security hole affects all versions of the chat software since 2.0, as the hole was only discovered and closed in version 2.0.42. On his web site, Steve Thomas has a massive go at the software developers.