Google’s Project Vault Is a Computing Environment on a Micro SD Card
techcrunch.com
techcrunch.com
Could someone share a link to the original presentation? I'd love more technical details.
Is this SDHC or SDXC compatible? If they support SDXC, how do they reconcile "fully open source" with the fact that SDXC requires exFAT which is proprietary and protected by patents?
Building something like this requires an SD Slave Controller. It would be absolutely fantastic if they open source that! Fully verified and SDXC compatible? This makes me drool. Unfortunately the necessary information to implement and verify is walled behind NDAs (SD Association), unless of course you have reversed it with a logic analyzer. I don't think that's what Google has done, which makes me very curious.
If the slave controller is not open source, that begs the question of how data is transferred to the RTOS. A closed source core with DMA to whatever you run on it will exclude it from certain privacy-sensitive use cases.
If anyone at Google is reading this, consider using cores from cryptech.is for your crypto. You're already a funder so you might as well reuse them.
If anyone is interested in what I just said and you think you can contribute I would love to talk with you. Email me at stromberg@mullvad.net.
Understatement of the century. However, I see it as great news for you. If you're far along enough, and this proves to be something people want, you're a shoo-in for a buyout. Good luck and keep up updated.
In a recent episode of Silicon Valley, the billionaire president of a company said to his employees "I don't want to live in a world where someone else makes the world a better place, better than we do."
Your tone is pretty offensive. It would shock almost no one on this site that someone would like to build their own business without an aim to sell it or that someone would have philanthropic life-goals in general.
Many business owners who are bought out turn to philanthropic pursuits now that they've become fiscally stable.
Instead of considering any of the other options, or that the small company could actually compete with the larger company (hint: Google doesn’t operate most of their services outside of the US at all), the only real suggestion is "you’re in for a buy-out".
Build your vision and be better than your competitors.
Then less than 1 year later Google cancelled that project and now there is nobody to provide that service.
This made me imagine some poor, bright but new-hire Google PR employee realizing this popular (and quite correct) view of Google ("CANCEL ALL THE THINGS" [1][2]) frantically trying to figure out how to actually communicate to upper management (without getting fired) the blunt truth:
This ongoing strategy of announcing projects and promptly canceling them after a few years is incredibly damaging to the company. Google's "ADHD-like low attention span" to projects is anything but confidence-inspiring. :(
1. http://memegenerator.net/X-All-The-Things
2. HN likes numbered references and I do too
My take is that Google is less developer-friendly than Microsoft and Apple. Google does not rely on external developers as much, because so much revenue comes from web based, directly consumer facing products. Google is always trying new things, because they are looking for the next big user facing product. This might annoy developers who build against Google's APIs, but that is worth it because Google relies on users, not loyal developers. It is a fundamentally different approach from Windows or iOS.
I can tell my odd experience about Microsoft: my company reverse engineered many of its products and offered APIs around products without APIs. One day someone from QA sent us an e-mail offering help if some of these products have issues with Windows 7!
A few examples
>AngularJS
>AOSP
>Google Maps
>GCN
>Chrome Dev Tools
>Polymer and Material Design
>Go
>Dart
At the end of the day, all large companies have to dip their toes in new technologies, or die. Some of these projects will work out and others won't. Small companies do the exact same thing, except instead of announcing they are discontinuing a project they go bust.
My approach is not to get too tied to any vendor's technology, because if you do, you're setting yourself up for a fall. The rise of open source and standards has made this much easier than it once was, luckily.
In a sense it is a return to the MS that was before the IBM PC, when they were supplying office and development tools to all comers (MS Office got its start on Apple computers after all).
The presentation is here: https://www.youtube.com/watch?v=mpbWQbkl8_g&t=47m23s (starts around 47:23).
But then I thought about it. What a wonderful validation of our idea. And we think we can do it better.
Look at the angles and if you have to reshape your idea then do so. Maybe some competitive advantage you have will stick out or you'll develop it after seeing their offering. But think of this as a good thing. Investors love competition. It means there's a market.
Keep on going, the world needs more of people like you.
How exactly does this help on a mobile platform that is architected to enable easy and legal exfiltration of user data?
It seems like a difficult sell to imply I can't trust the smartphone's primary storage for key material, but to trust processes on the same system with the plain text.
I know why this is useful in the abstract (I use a yubikey as an openpgp card to keep key material off my computer and phone) but the class of attacks it is designed for are not the attacks smart phone users face daily and en mass. (I'd trade in the yubikey in an instant for a platform with a stronger permission system, and apps that don't send home a copy of all data I allow them to operate on.)
They're far from perfect, but look at eg app permission systems. Android's next gen os finally catches up to what ios has had for quite a while. It's pretty clear where priorities lie.
That's just not at all what I want for my phone. Right now, it basically more or less works, and I really like that. I simply don't want to turn it into yet another thing I have to administer, follow security updates for, and deal with when it breaks.
And even if I can do it for myself, the majority of users can't and/or won't.
I've had iphones too. When I did, I was able to care about users other than myself, and how the status quo effects us all.
The difference in first party surveillance is real, but they both court developers to their platforms with little regard for how much surveillance they will or will not do. The problems are the same there, and the minor differences are merely dressing around the edges. They're just hyped to be bigger than they are because people love a rivalry and websites love clicks.
the differences are more than window dressing; one company is an advertising company and the other isn't. One company's messaging platform is only encrypted in transit to the company; the other's is architected so they can't read your messages.
Again, I'm not claiming apple is perfect on privacy, but they are better than google.
While Android has an API for fetching a user's installed applications, Apple
did not include one, and even removed the ability to access a device's
UDID--steps clearly made with the intention of preventing the profiling of
users and the leaking of personal information.
Tell me again how google and apple are the same on privacy :rolleyes:I don't know if that is necessary from what the details are showing.
It looks like there are two dummy files that act are used to stream data between the two OSes meaning the phone does not necessarily have unlimited access.
If I give your phone access to /usr/private_key.txt then the OS has total control. If I instead give you a way to sign messages then the OS has much weaker ability to control (obviously some amount if the device is connected and capable of signing).
Am I the only one wondering why there is no information available about that OS? Google is in many ways committed to Open Source and then it is using a proprietary OS where I do not find any information about.
There is a Wikipedia comparison table with an outdated link. There is an old entry on a blog with basically zero information, except there where only a single person involved in designing and developing this OS. Which makes it suspicious to me regarding the claim "safe and secure".
Something is wrong.
https://github.com/ProjectVault/orp/blob/master/mainpage.dox
Maybe they've migrated to an ARM in the real formfactor?
EDIT: Here are the ARM drivers in the OS. https://github.com/ProjectVault/orp/tree/master/software/os/... It's a CortexM.
http://en.wikipedia.org/wiki/Comparison_of_real-time_operati...
Which lists an active X86 project and a defunct ARM project named ARTOS, both proprietary.
https://github.com/ProjectVault/orp/blob/master/software/os/...
I'll review it later on. Anyone else want to chime in about its security at this point?
Remember L0pht and cDc? This is a project lead by Peiter Zatko aka Mudge. His Wikipedia page is a piece of hacker history.
Also see https://twitter.com/dotMudge/status/604295695751749633
Not particularly. It would be moreso if that were true of Nexus-branded phones released after Vault was generally available.
It seems the real value in what they've done is expand the software support for it by, hopefully, making it a key part of Android API.
[1] https://www.datacard.com/downloads/ViewDownLoad.dyn?elementI...
> ...there’s already advanced security features on your phone, contained in the SIM card, which protects the things important to carriers. Vault is designed to be an equivalent, but designed to project a user’s important content.
SIM card is controlled by carrier, and protects carriers' cryptographic interests. The vault is independent of the Secure Element: it user-controlled, and protects user's cryptographic interests.
You can/could do the same thing with carrier's SIM actually. All SEs run something called Java Card, which is a standard API you can write against (in Java). Each app gets it's own isolated part of the secure storage, and runs in complete sandbox from other apps and can communicate to apps on the host device.
The chip inside the SIM and the SDCard are pretty much the same. Just different packaging.
The NFC chip in Nexus for example (PN5323 IIRC) interfaces with an external secure element[1], which would be in the SIM card in their case and in the new use cases it would be the external uSD card. The NFC chip passes data transparently between the external NFC device and the SE like a bridge.[2]
I believe in Apple's case they just built an SE directly into their chip and came up with their own provisioning infrastructure, bypassing the carrier. Which I think is the better way. That is what Google should have done.
[1] http://www.adafruit.com/datasheets/pn532ds.pdf (page 20) [2] http://en.wikipedia.org/wiki/NFC-WI
Gotta love a typo that, hilariously, says the opposite of what is meant.
If Alice types a message in her phone and the phone is compromised -- such as the telecom owning the baseband processor which can access all of the device memory -- how does it guarantee that the text entered is not captured by the telecom?
It also has open source random number generators, another defence against a passive attacker and requiring them to have root on the device.
Vault might very well implement the ASSD specification. However, to use ASSD the OS needs to be able to send ASSD-specific low-level SD commands to the card. It would require patching the OS, and depending on the phone it might not work anyway.
Assuming Google sticks to the open source promise that will drive developer adoption. Using the standard memory interface and normal file system operations to do crypto makes it potentially compatible with just about anything. It's also easy to interface with. Everything is a file! :)
https://youtu.be/26Bma3d0wko?t=10m39s
Vault actually starts at 17:50.
EDIT: Hmm. There seems to be some problem with Google's videos. When another "live session" that's supposed to be added at the same video link begins, you can't watch the previously recorded video anymore.
https://github.com/projectvault/orp
You can see the demo at https://www.youtube.com/watch?v=mpbWQbkl8_g
Cheers, Pedro
So, I have little trust in the security of ARTOS or Vault for now. I tried to review the ARTOS kernel's design but they pulled it off their site. So, we have nothing to go on but their word. I can't wait to get some more objective information about its design and implementation for a real review.
The only kind of company that can be even semi-trusted is one that where you are the paying customer and their contract + host country's laws protect your privacy/security. Even more so if they have to contractually or legally pay huge fines for negligence. Align the incentives, then there's potential. If opposite incentives, turn 180 degrees and start running.
If yes to all of these, then it's a start on strong security and definitely worth reviewing if only to help close remaining holes. Otherwise, it's probably already received a number of patches and not worth a review. Which is it?
[citation needed]
> Third parties, both companies and FOSS types, are doing better at protecting Android than Google.
such as...?
> Although there's exceptions, Google seems mostly unqualified or uncaring in terms of strong INFOSEC.
Eh? What's your basis for this claim? They are pretty much always on the latest & greatest. ECHDE_RSA, certificate pinning, universal 2nd factor (FIDO), strong sandboxing & permissions (you may not remember, but those were things Google took mainstream with Chrome & Android). Google's also the company that took security vulnerability rewards and made that a thing.
Plenty of things to dislike Google about (privacy is always an easy target, for example), but security really isn't one of them. They have one of the best trackrecords you can have here.
I'm working on a 3rd-party OSS project securing Android https://copperhead.co/android (/shameless self plug)
While Android is in pretty bad shape, I'd still give Google some credit, they have been slowly starting to improve their OS security in the last 2 years. But quite a few early design choices favouring performance over security, such as Zygote rendering ASLR ineffective, are lingering and holding back Android's security.
They are also using Linux kernels from 2012 or earlier (3.4) on almost all devices, although from what I've heard that is mostly the fault of vendors such as Qualcomm moving slowly.
Zygote is more about memory than performance, and that's still a needed thing. SELinux is in enforcing mode and has an increasingly tighter and tighter net.
Also Google is using 3.10 on the devices they sell, not 3.4. What Samsung, HTC, etc... ship is a different story, but that's not under Google's control.
Memory = performance. We disabled Zygote and performance took a hit (ie, apps start slower because classes aren't preloaded).
> Google is using 3.10 on the devices they sell, not 3.4.
3.10 is on some new devices such as Nexus 9, including Lollipop upgrades for Samsung S6 and HTC M9.
Google Nexus 5/7 is 3.4.
So basically <=3.4 is on 99.99% of Android devices...
Our focus now is indeed adding memory protections to the underlying OS, to get Android up to date with at least 2004-era exploit mitigation. Before moving on to higher-level stuff :)
Quick note: be sure to clear all internal registers and cache if kernel transitions from trusted software to untrusted software if you're worried about covert channels (esp key leaking). Both of those can leak keys to professionals if they compromised the Android portion.
[1] http://os.inf.tu-dresden.de/papers_ps/nizza.pdf
[2] http://www.eit.lth.se/fileadmin/eit/project/142/virtApproach...
Re third parties. There are numerous academic teams doing hardware or compiler work on making Linux-based systems immune to code injection or at least isolated. OK Labs did OKL4 with user-mode Android for isolation. Samsung leveraged INTERGITY microvisor in Knox. Perseus Security Framework did something similar with a Linux personality, modified by Sirrix or SYSGO I believe for mobile. Control-pointer integrity does this on hardware supporting segments (x86). DIFT catches when incoming data screws with pointers and such, also ported to Linux. Automated diversification and keyed hardware SOC's to make Linux probabilistically secure. Several methods ported to Linux to stops leaks or injection with crypto tricks. Many things Google could've used for mobile and non-mobile. NSA did SEAndroid. Then there's Tor, modders, and Android developers tools/tips to lock down Android and turn off Google's leaks. About everyone but Google did great work in securing Android.
To test you on your own claims, would you trust a vanilla Android installation's security out of the box or make some modifications first? I'd mod it or assume I'm game for whoever.
re unqualified in strong INFOSEC
Everything you mention they, like IT in general, built on foundations of quicksand: low assurance hardware, firmware, and software that has regularly been defeated by skilled hackers. So, sure they pushed some good security technologies that stop low to mid-grade hackers or solve pieces of the puzzle (see my use of "exceptions"). Yet, Google themselves and their Android users were hacked with quite vanilla techniques due to their system and software architecture. There are systems in EAL6/7 and under SPOCK program that NSA pentesters couldn't breach despite having 2+ years to try. Matasano said something similar about Secure64's SourceT OS, too. The things they have in common is bottom-up, end-to-end, medium-to-highly assured (EAL6+) lifecycle. That's strong requirements, design, implementation, analysis, testing, build, configuration, and independent verification of that. Google hasn't done (censored) in this area despite having the brains to do so. Matter of fact, their smartest work IIRC was Native Client and it was smashed because they intentionally weakened the security model for performance reasons.
Almost all their stuff has been knocked down by serious hackers or subversions. It's why they needed the bug bounty. Smart idea if you're pushing low to mid grade throughout your whole stack. Didn't stop the Chinese and NSA from smashing them. They didn't even need esoteric techniques. The definition of high assurance security is the level of rigorous security engineering needed to resist well-funded, sophisticated threats with time on their hands. They never came close, so why do you trust them to do it now without proof? Trust, but verify.
[1] http://www.cis.upenn.edu/~KeyKOS/
[2] http://www.smecc.org/The%20Architecture%20%20of%20the%20Burr...