Cover photo
Kenton Varda
Worked at Google
Attended University of Minnesota
Lives in Palo Alto, CA
4,973 followers|1,447,332 views


Game of Thrones Spoiler Warning






A few months ago, talking to someone who had read the books...

Me:  Yeah I had heard about there being a "red wedding" where people die long before I saw the episode, but I didn't know whose wedding it would be.  I had been really hoping that it would be Joffrey's wedding and that he'd die...

Person who read the books:  <_< ... >_> ... Right.
Dawn Luoma's profile photo
Hmmmm....which red wedding are you talking about?
Add a comment...

Kenton Varda

Shared publicly  - 
SSL everywhere! and (static content) are now served via HTTPS.  In particular this means you can now download the capnproto source tarball without any possibility of tampering.  Also, if you install apps from, even though the packages download via http (mainly to avoid the need for your personal sandstorm server to be configured with a trusted cert list), the installation links themselves (which are served over HTTPS) contain hashes of the packages which the Sandstorm server will check, so you know they haven't been tampered with either.

I hadn't done this earlier because I was serving directly off S3, which simply doesn't support SSL.  I'm now using +CloudFlare as a CDN, which was ridiculously easy to set up, and they support SSL.  Yay.

CloudFlare actually uses Cap'n Proto for some of their infrastructure.  So Cap'n Proto is now partially self-hosting, I guess.  :)

It kind of surprises me how many big projects distribute tarballs and binaries over HTTP only.  Take  Their downloads are over HTTP.  They provide signatures for each package, but the signing keys are also distributed only via HTTP, defeating the purpose.  :(

PS. The Sandstorm alpha server -- which actually has private user data on it -- was served via HTTPS with HSTS and PFS since day one.  This post is just about the public static web pages.
Mauro Mombelli's profile photoKenton Varda's profile photoChristopher Smith's profile photo
nice observation
Add a comment...

Kenton Varda

Shared publicly  - 
FYI:  You need to update your openssl now.

Your favorite Linux distro probably has the update already queued up.  Just do it.

EDIT:  After update, verify that nothing is still using the old deleted version:
    sudo lsof -n | grep ssl | grep DEL

EDIT2:  Debian testing/unstable is not yet updated (stable is, however).  Arch Linux is also not updated from what I hear.  Keep installing updates for the next few days, I guess.
Jesse Alford's profile photoAndrew McNamara's profile photoMatt Cruikshank's profile photoSteve Savitzky's profile photo
+Matt Cruikshank - Holy shit.

+Chris Wadge - Right, yes, stolen private keys obviously let you impersonate the site, if you can MITM the user.

I don't think poisoning DNS caches is as easy as you imagine -- after all, the Kaminsky attack was considered major news and promptly fixed.
Add a comment...
I made some hacky node.js bindings for Cap'n Proto.  Serialization + RPC.  Not the fastest possible implementation, and not pure Javascript, but I'm using it successfully in the front-end.
Add a comment...
If you had told me 15 years ago that some day Microsoft would be releasing their code using a VCS written by +Linus Torvalds and a license written by Apache...
Jake Weisz's profile photoJason Hsu's profile photoAmir Naghizadeh's profile photoEric Hanchrow's profile photo
+Jake Weisz I dunno if "renaissance" is the word i'd use, but at least they're no longer repeatedly stomping on their own toes.
Add a comment...

Kenton Varda

Shared publicly  - 
OK, so now Amazon has their own TV thing.  Does this mean that Amazon will stop letting anyone else's TV thing play Amazon content, just like Apple's content can only be played on Apple's TV thing and Google's content can only be played on Google's TV thing?  How long before Netflix and Hulu release their own TV things and now you need a dedicated piece of hardware for every goddamn content service?
Brian Swetland's profile photoKenton Varda's profile photoPereira Braga's profile photoJake Weisz's profile photo
Same here. :)
Add a comment...
Have him in circles
4,973 people
Nicholas Ward's profile photo
This might be a good time to check this box in your Chrome settings.  Apparently it's off by default.

(More background:
Matthew Hannigan's profile photoKristian Köhntopp's profile photoJoão Fernandes's profile photoRich Visotcky's profile photo
Yes, I'm aware of the argument that this is useless: if someone can redirect some site's traffic to their own server, they can also block the CRL check, and all browsers assume in this case that the cert is not revoked.

However, the attack is at least more work in that case.  Enabling this check won't make you secure, but it will improve your security by a non-zero amount.

That said, I do understand the Chrome team's decision to turn this off by default, and I think it was a valid choice, particularly before Heartbleed hit.

I'm sure the Chrome team is working hard on a new solution that will scale.  This is just a temporary measure...
Add a comment...
UPDATE:  Darn, they were wrong.  Someone beat their "challenge".  SSL keys can in fact be extracted from nginx via heartbleed.

-- Original post follows --

Good news:  +CloudFlare is now reporting that they suspect it is not possible to steal private keys using Heartbleed, at least from the nginx server they tested.  The private keys are loaded immediately on startup and thus end up sitting in a low position on the heap, while heartbleed only leaks memory going up from the request address.

Of course, any kind of data that is part of a particular request, such as session cookies, passwords, or symmetric keys used for particular sessions, can very easily leak.  But private keys probably won't.

They note that Apache appears slightly more vulnerable if the heartbleed request is made very early on in the server process's lifetime, because Apache allocates a temporary structure that contains the private keys during startup, and the very first request could manage to steal the memory post-free().  But that memory tends to get overwritten quickly.

(Not mentioned in the article:  Node.js servers are not affected, because Node coincidentally disabled heartbeats a year ago for unrelated reasons:
Drew Gilbert's profile photoBryan Beal's profile photoMalte Ubl's profile photoChristopher Smith's profile photo
Fun coincidence that +Fedor Indutny who solved the challenge is the same guy who disabled heartbeat in node ;)
Add a comment...

Kenton Varda

Shared publicly  - 
I'm pretty sure this Wikipedia-branded drone is part of a sinister new plan to "delete" non-notable content "at the source".  I'm on to you, +Jimmy Wales...
Anies Ahmad's profile photo
wow that's great
Add a comment...

Kenton Varda

Shared publicly  - 
Sandstorm now has a CLA.  I hate CLAs.  What I really want is for the agreement to be "You license your contributions under the terms of Apache 2, regardless of how we license the rest of the project."  But I'm not a lawyer so I'm in no position to translate that into legalese.  So I'm covering my butt with whatever text Project Harmony coughed up.  Bleh.
Kristian Köhntopp's profile photoPawel Aleksander Fedorynski's profile photoMichael Chapman's profile photoChris DiBona's profile photo
+Chris DiBona - Hmm, I thought a CLA like the one used by Google and Apache included a license for the project owner to redistribute the contribution under arbitrary terms -- e.g. I could relicense Sandstorm under Apache in the future if I so chose (which I might!).

It sounds like you're saying this is not the case?  Maybe I do need to talk to a lawyer.  :(
Add a comment...
Have him in circles
4,973 people
Nicholas Ward's profile photo
Software Engineer
  • Google
    Software Engineer, 2005 - 2013
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Palo Alto, CA
Minneapolis, MN
The Cap'n Proto Guy (formerly The Protobuf Guy)
I write open source software:
My most-popular G+ posts:
Bragging rights
I own a LAN-party-optimized house.
  • University of Minnesota
    Compute Science, 1999 - 2003
Basic Information