11 ms·
Downloading PuTTY Safely Is Nearly Impossible (2014)
- orik 11y agoWindows 10's package manager, while unsophisticated, should provide a secure route to download PuTTY safely. Right?
- ChuckMcM 11y agoThis is really just a rant about how poorly PuTTY is distributed. (and a vague implication that it is malware of some sort). I think it is a valid criticism, and I wish the person who wrote PuTTy (an SSH client for windows) would be more open/available/transparent but it is hard to force that on someone.
- Animats 11y agoThis is not just a rant. As of two days ago, there is a hostile version of PuTTY in the wild.[1][2] It's on some mirror sites distributing open source software. It steals login credentials. Right now, it's essential to be able to tell the good one from the bad ones, and it's not easy. [1] http://www.symantec.com/connect/blogs/check-your-sources-trojanized-open-source-ssh-software-used-steal-information http://www.symantec.com/connect/blogs/check-your-sources-tro... [2] http://blogs.cisco.com/security/trojanized-putty-software http://blogs.cisco.com/security/trojanized-putty-software
- dsp1234 11y agoThis really should be a top level comment. I was unaware of this as an issue, and a couple of HN posts on this topic got no traction. Thanks for bringing it up!
- ChuckMcM 11y agoInteresting, this should be in the original article as well! I used Putty a lot until I switched my desktop to Linux full time.
- ryukafalz 11y agoThe original article is from over a year ago. It wasn't in response to anything in particular, but it doesn't have to be. If you see something potentially vulnerable, you don't have to wait until it's been exploited to report it.
- zwp 11y ago> As of two days ago, there is a hostile version of PuTTY A small correction -- from the symantec blog post: "this file has been in the wild since late 2013 and it was first seen in Virus Total around the same time. However, we have only seen this sample broadly distributed recently. Distribution in 2013 was minimal, and we saw a gap of a year and a half before it reappeared again."
- click170 11y agoI would argue this is a problem because of the lack of an actual package manager for the distros putty is used on. If there was a formal package management system in place for these OSs this would have been less of a problem from the beginning, but they're only getting around to it now as I understand it.
- RaleyField 11y ago> but it is hard to force that on someone Everyone who distributes exe files should include some form of authentication otherwise you are just sloppy. In all likelihood he doesn't check authenticity of software on his end so you can imagine other risks as well.
- deleted 11y ago[deleted]
- mkr-hn 11y agoWhy not fork PuTTY?
- devonnulled 11y agoAlready been done. Meet KiTTY: http://www.9bis.net/kitty/?page=Welcome&zone=en http://www.9bis.net/kitty/?page=Welcome&zone=en
- devicenull 11y agoIt's not nearly as stable as Putty though. It crashes for me a couple times a week (mainly when connecting to routers)
- tonyedgecombe 11y agoThere are quite a few forks out there already, mostly with slightly better user interfaces. None of them seem to have much traction though. There are also some pretty good commercial alternatives although they get drowned out by all the free stuff on Google.
- lelandbatey 11y agoInstalling Cygwin gives you an excellent terminal MinTTY as well as normal CLI ssh. It's my preferred way to do ssh on Windows.
- the8472 11y agoMy preferred way to do SSH on windows is to just install any linux distro in a virtual box VM with a minimalist window manager, fullscreen a console and mount all windows disks into it as shared drive if I want to scp things.
- hughes 11y agoPutty is pretty awful anyway. Git for windows installs a shell that is not terrible, includes an ssh client, and is distributed over https. It is my go-to when I have to use a windows machine.
- cturner 11y agoWhat causes you to say that putty is pretty awful?
- astrodust 11y agoHow about the fact that it's awful? Can you seriously compare PuTTY with even the most lacklustre terminal available on OS X or Linux? It's an atrocity of UX design straight out of the Windows 95 era. Their home page is also the epitome of not caring about user experience even to the slightest degree. Nearly zero effort: http://www.chiark.greenend.org.uk/~sgtatham/putty/ http://www.chiark.greenend.org.uk/~sgtatham/putty/ I've seen people construct more impressive pages given only a few hours of HTML and CSS training. I'm not even kidding. I'm not saying everything has to be slick and beautiful, but there's a thing called pride in craftsmanship, and PuTTY has none of that. It's just sad.
- jff 11y agoMaybe he should put that same content into a Twitter Bootstrap site
- c22 11y agoI think the page is nice. Fast, usable, and seems to contain a ton of content. I don't think anyone was slacking when they put this together.
- Cacti 11y agoWait... you think a terminal emulator, which by definition has almost no graphical UI at its heart, is crap because of its UI? Really? You think the entire program is crap because, what, you don't like how the Preferences panel is laid out?
- mkr-hn 11y agoTitle should be "Downloading Putty Safely Is Nearly Impossible" Don't most people install stuff in Windows through Ninite when possible these days? I know it has at least one SSH client. And in my experience, the vast majority of good software is at the top of any search query.
- dang 11y agoOk, we changed the title. If anyone suggests a better title we can change it again.
- ksrm 11y agoIt would be nice, when you do this, to know what the original title is, to know what the issue with the original title was.
- dang 11y agoWe typically quote the original title when it was different from that of the article. Otherwise you can just assume the default, i.e. "Downloading Software Safely Is Nearly Impossible" in this case.
- dragonwriter 11y ago> Don't most people install stuff in Windows through Ninite when possible these days? No, most people do not.
- Maarten88 11y agoThere is also the Windows Store. It has several SSH clients, free or cheap, one that is called Metro PuTTY. I don't know if those are any good, but they are safe to install and run. In Windows 10 they will even run in a Window with your other desktop apps :-)
- michaelt 11y agoYeah, nothing says trustworthy like someone unaffiliated with the author reselling open source software.
- Someone1234 11y agoNone of which would have mattered if Putty.exe was codesigned. Unfortunately it is not. Code signing certificates are insanely expensive. The cheapest one I could find from a CA was $73/year (3 year minimum). I could go on a long rant now about how much CAs are in collusion and how they're making everyone more insecure though their pricing, but that would be redundant as I think "everyone knows that" by now. Let's Encrypt are welcome (when they arrive), but they still don't offer Code Signing, Wildcard Certificates, and so on. The whole certificate/CA industry needs change, Let's Encrypt doesn't go nearly far enough. I blame Microsoft, Mozilla, and Apple primarily as they decide who gets to be a CA, and could allow non-profits and other disruptive startups into the space if they wished.
- brians 11y agoThe "browser" half of the CAB forum is happy to accept new CAs that meet their standards. Non-profits and disruptive startups are finding that difficult, as they should—it's hard to run a CA safely. It's not hard like curing cancer is hard, or even like heart surgery is hard. It's hard like avoiding iatrogenic infection is hard: it requires constant and diligent adherence to rules in the presence of no visible threat. LE are a wonderful start, and they are succeeding in part because they're moving slowly. I expect them to go further, but only with full understanding of the obligations they take on by doing so. They're very, very right to be conservative in their operational practice, because they'll be allowed no more slack than anybody else, and maybe less. Could something like LE have started ten years ago? Maybe, but nobody did. CAcert.org was a lovely dream, but didn't (and couldn't) hold to those standards of diligent practice.
- stcredzero 11y agoThe "browser" half of the CAB forum is happy to accept new CAs that meet their standards. Non-profits and disruptive startups are finding that difficult, as they should—it's hard to run a CA safely. This is something that Google should do.
- ceejayoz 11y agoIf SSL is free and easy (especially if it's automatable) to generate through Let's Encrypt, the use case for wildcards mostly goes away.
- M4v3R 11y agoThis is an article from 2014. Previous discussion: https://news.ycombinator.com/item?id=7334269 https://news.ycombinator.com/item?id=7334269
- yellowapple 11y agoThe second-to-last point makes zero sense in this context. What makes you think that your browser is any more trustworthy? And of course, none of this matters when you're running this software on a closed-source operating system - one which you, therefore, have virtually-zero ability to independently audit. So even if your programs are perfectly trustworthy, the underlying operating system has free reign to compromise them without you being able to detect it or do anything about it. Probably the most surefire way of being actually secure is to drive to Calgary and pay Theo de Raadt to burn you an OpenBSD CD-ROM right before your eyes, then install it on your computer (and even this is fraught with danger; who's to say that Theo isn't going to backdoor your installation?). Virtually every other method of installing anything is insecure, whether you download the thing or have the thing mailed to you or what have you (the sole exception being to download the source code, manually audit it yourself, and manually hand-compile it to machine code - can't trust that compiler to not be compromised, after all). And on that note, you therefore still can't trust Theo's custom-made OpenBSD CD-ROM, since he very well might have compiled it with a compromised compiler, so now you have to take the OpenBSD source code and hand-compile that to machine code before you can do anything else.
- technofiend 11y agoOh, the irony. Your website is blocked at work.
- informatimago 11y agoDownloading BINARY software safely is impossible indeed. Downloading SOURCE software poses no security risk. As long as only human read those sources, to check for this software behavior. WHEN the sources have been audited, and cleared for any security or other bugs, you may consider compiling them. That's where the real crux of the problem lies: https://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf https://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thomp... http://c2.com/cgi/wiki?TheKenThompsonHack http://c2.com/cgi/wiki?TheKenThompsonHack You cannot trust software more than you trust your compiler or your interpreter or in general, your processor. Since big commercial OS providers are KNOWN to be collaborating with the NSA to but backdoors and spy on you in the first place, you cannot have any trust there anyways. Why worry about random binary software on the web, when your base OS is already compromized? Otherwise, you may choose to use hardware that you trust, preferably, that you have built yourself. Alternatively, you may build a computer using triplicate parts from different sources (eg. put an Intel, an Elbrus-4C and a Godsoon, and compare bus traffic. As soon as a difference is detected, raise an exception and abort the process), similarly, put three different network controllers, made in three different countries, and compare output packets. As soon as there's a difference, drop the packets and signal the process. etc. Once you've got a trustable hardware base, you can build a trustable software layer, using only sources and bootstrapping binaries by hand (with people you trust, preferably yourself), and as indicated in Countering Trusting Trust through Diverse Double-Compiling, http://www.acsa-admin.org/2005/abstracts/47.html http://www.acsa-admin.org/2005/abstracts/47.html you may implement also at the software level, a similar kind of redundancy that allows you to increase the trust you may have in your bootstrapping chain. But there is no way out, you have to start from the sources, read them and consider only source code when exchanging software. Notice that debian is a binary distribution. Gentoo is a source distribution. Gentoo is more trustworthy (but you need to be careful how you bootstrap its installation, which is not easy). This is why licenses such as the AGPL, and also works to make software higher level and shorter (understandable and therefore trustable by end users) such as Alan Kay's, are important.
- jimrandomh 11y agoIf you download source code from an insecure web site, then you might get source code that's different from the source code that other people have read, with malicious modifications. So the situation described in the article wouldn'tve been any better if the main download was in the form of source code; you'd have to carefully read the whole thing, rather than trust that other people have read the whole thing, which isn't feasible for more than a few small programs.
- signal11 11y ago> Briefly wonder if Tatham’s PGP keys are noted in a central registry, such as MIT’s PGP key server. Nope. Putty's keys are on the MIT server if you search for "putty": http://pgp.mit.edu/pks/lookup?search=putty&op=index http://pgp.mit.edu/pks/lookup?search=putty&op=index Still, agreed, it's a lot of work -- most people won't have gpg/pgp installed. Someone should sponsor Simon's codesigning cert for now.
- 0xff00 11y agoThere's no excuse to not have a code signing certificate especially when you could get one for free[1]. [1]: http://certum.eu/certum/cert,offer_en_open_source_cs.xml http://certum.eu/certum/cert,offer_en_open_source_cs.xml
- wildpeaks 11y agoAnother reason to prefer the unix-like tools (that are included with Git for Windows (http://git-scm.com/downloads http://git-scm.com/downloads) but are also available separately) over PuTTY is Vagrant, it can't run "vagrant ssh" on Windows otherwise. Also, you'd always need dedicated key files because PuTTY uses PPK instead of regular OpenSSH ones.
- wolf550e 11y agoputty can convert to and from openssh key files.
- mattstreet 11y agoI just started using Vagrant on Windows and I'm really liking using it through Cygwin.
- c22 11y agoThis really just highlights the fact that Windows ships with no tools to establish any kind of verified trust chain. No md5sum, no authenticated package management, no native ssh client. Being concerned about privacy and security and running Windows may be mutually incompatible.
- WorldWideWayne 11y agoWindows does come with tools to establish a verified trust chain...it's just not using ssh. I'm not sure what you mean by authenticated package management, but Windows does authenticate packages that have certificates and you can manage certificates that you trust. What else do you want to do? And I'm fairly certain that Windows comes with even more robust tools out of the box for network trust management than Linux does - at least when it comes to managing networks of Windows machines. I could be wrong. I don't know many people who run office networks full of Linux boxes for comparison and maybe there is really no "out of the box" with Linux...but Windows does have controls baked in for trust and security.
- c22 11y agoFair points. I haven't used Windows since XP so my information is a bit dated but it does look like they've made some progress in this arena. Putty is from a time where most windows software was installed from random .exes on the internet, though. I suspect due to the age of the win32 ecosystem much software still is installed this way in Windows environments.
- acqq 11y agoYou're right that a lot of Windows executables and installers are still unsigned. The check of the signature is still something that plain user wouldn't know how to do. The only place where Windows rally enforces the signatures are 64-bit drivers. Another important question is: even if there is a valid signature, how can the user know if the signer of the downloaded file is really the expected author?
- fluidcruft 11y ago
- _lce0 11y agostay away from PuTTY!! Antiviruses detected that their .exe was infected, and they solved it by removing the detection on the antiviruses > 2015-04-19 PuTTY detected as malware > We've had several reports recently of anti-virus software reporting PuTTY as malware (under a wide variety of names, often generic). This affects the latest release (0.64) and also the development snapshots (particularly puttygen). > We believe these are false positives. In those cases where we've been able to contact the vendor (McAfee, Symantec, ClamAV), they have removed the detection. http://www.chiark.greenend.org.uk/~sgtatham/putty/ http://www.chiark.greenend.org.uk/~sgtatham/putty/
- troels 11y agoI read that as "the av vendors have removed the false positive". E.g. they fixed their wrong. What lead you to a different interpretation?
- asherkin 11y agoWhat were they meant to do? The AV vendor only corrects the detection after verifying that it is a false-positive themselves presumably. We've had false-positive AV detections a few times in the last couple years affect an open-source project I'm involved in, it is a massive support burden. What would you suggest a developer do other than contact the AV vendor to get it sorted out, since they caused the false detection?
- jaredsohn 11y agoOne thing that seems ignored in some of the threads where people mention alternatives is that one of the historical advantages for putty (compared to cygwin, git's tools, etc.) has been that it is portable in that it does not require running an installer. This has been useful if you are on somebody else's machine and you don't want to have to remember to uninstall it afterwards and can also be useful if you are logged in as a user without many permissions. That said, I haven't used Windows for awhile so maybe those reasons don't exist any more (perhaps it isn't a problem to install a Windows 8/10 app on someone else's machine or within a restricted corporate environment) or maybe there are some good browser-based alternatives.
- PascLeRasc 11y agoMy freshman intro to engineering computing class has ~500 freshman download PuTTY from the non-https site every year. I'll email the instructor this article - is the problem that it could be infected, or is it known to be infected with undesirable software? Quality of PuTTY aside, could someone just host the most common download on an https site?
- c0wb0yc0d3r 11y agoIt's that it could be. Downloading it from a place that serves it from a secured endpoint isn't really useful if the source didn't download it securely.
- TheLoneWolfling 11y agoThere are version(s?) floating around that are infected. Not (normally) on the source site - but there's no guarantee that someone doesn't MITM you and inject something. Someone could host the download on an https site, and yes, it'd be an improvement, but that just moves who to trust to the site owner (and everyone on the certificate/hosting chain for the site).
- tptacek 11y agoThis is silly, Chris. :) PuTTY is MIT licensed. The primary author of PuTTY is unserious about traceable code, which is a shame, because as your essay implies, PuTTY is one of the motivating cases for traceable code. It's an actual lucrative real-world target for surreptitious replacement. Clearly, the world cannot rely on PuTTY's author to provide a traceable download. Someone else needs to step in and do that. That person can set up an HTTPS site, arrange to have their certificates pinned, get PGP-signed endorsements from people like you, the EFF, whatever, and --- given how awful PuTTY's SEO mojo is, easily take the top of the Google SERP for PuTTY with a reliable, traceable alternative. What any of this has to do with WebCrypto is beyond me.
- panarky 11y ago> It's an actual lucrative real-world target for surreptitious replacement From yesterday: "Trojanized PuTTY" http://www.symantec.com/connect/fr/blogs/check-your-sources-trojanized-open-source-ssh-software-used-steal-information http://www.symantec.com/connect/fr/blogs/check-your-sources-...
- seanp2k2 11y agoMaybe https://github.com/bliker/cmder https://github.com/bliker/cmder could be that alternative? Not sure on the traceability status, but I used to use PuTTY a ton for work, and not because I liked it, just....there was nothing else which worked as well, even though it sucked (no tabs etc).
- AlyssaRowan 11y agoAnd to top it off, what size are his PGP signing keys? http://www.chiark.greenend.org.uk/~sgtatham/putty/keys.html http://www.chiark.greenend.org.uk/~sgtatham/putty/keys.html 1024-bit RSA, and 1024-bit DSA. Please see my comment earlier today about why that's Very Bad™ in the thread on the "Logjam" attack which shows that 1024-bit keys are too small for safe use now: https://news.ycombinator.com/item?id=9577998 https://news.ycombinator.com/item?id=9577998 Come on, Simon, I know you know better than that. It really is time to upgrade.
- sliverstorm 11y agoIt seems fairly clear that Simon isn't wildly motivated to stay on top of the ball here, and that's OK. Despite how many people seem to feel, he doesn't owe us anything. He released the software; we can take it, we can not take it.
- Orangeair 11y agoOne variant of PuTTY that I use -- PuTTYTray, a portable version of PuTTY with some other features -- is at least delivered over https, although you still have to trust the developer.
- fibo 11y agoHere it is the homepage https://puttytray.goeswhere.com/ https://puttytray.goeswhere.com/ you can also try to build it from source https://github.com/FauxFaux/PuTTYTray https://github.com/FauxFaux/PuTTYTray
- ikeboy 11y agoFrom http://www.chiark.greenend.org.uk/~sgtatham/putty/keys.html http://www.chiark.greenend.org.uk/~sgtatham/putty/keys.html >We have uploaded our various keys to public keyservers, so that even if you don't know any of the people who have signed our keys, you can still be reasonably confident that an attacker would find it hard to substitute fake keys on all the public keyservers at once. Anyone want to be less lazy than me and find out which ones the keys are in? Also, the first thing I'd do is download a Ubuntu ISO over https, install Ubuntu, after which I'd have an authenticated way of installing software (apt-get). putty is available through that, so I'm fine.
- baq 11y agoit's even worse because there are forks of putty (like kitty, with one important mousewheel bug fix at least) that have bigger problems - e.g. see http://www.9bis.net/kitty/?page=Download http://www.9bis.net/kitty/?page=Download.
- philoushka 11y agoUse Chocolatey. cinst putty and you're done. https://chocolatey.org/packages/putty https://chocolatey.org/packages/putty
- leni536 11y agoThis is in their FAQ: "How do I know if I can trust the community feed (the packages on this site?) Until we have package moderation in place, the answer is that you can't trust the packages here. ..." Their about page: "Package moderation and package signing are planned to increase the security of the community feed. Bear with us, this is going to take time to get into place. ..." However moderation seems to be implemented (at least putty is approved by a moderator), I see no signing in place. At least everything seems to be going trough https and they are going in a good direction.
- 3am 11y agoNot a PuTTY fan. I generally install Fedora or Linux vms on personal Windows systems (where they are mandatory/heavily advantageous and where security policies permit) in large part to have openssh-client, and then use vmhgfs shares to move files between them as necessary. Among other reasons.
- x0054 11y agoIf you are really concerned about security, why would you trust an prebuilt binary of an open source project. The source is available, just grab the source and build it your self. That way you at least know what you have.
- pbhjpbhj 11y agoYou mean you can't tell what the program is doing by just glancing over the binary in a hex editor? /s You have to be a pretty good programmer to identify obfuscated code in something like Putty I'd imagine - particularly as all the parts needed for snooping are intended to be there: certainly I (a non-programmer) couldn't guarantee to spot a reverse SSH connection being used for key-logging. Configure-make-install I can do but proper security level code review is not something I'd expect most programmers could do (otherwise we wouldn't have things like Heartbleed, surely?). Web-of-trust in some form seems like the answer; but ultimately you need someone trustworthy to be paid (or equivalent) to do a proper review and oversee the securing/signing of that code as reviewed.
- x0054 11y agoYou also can not assume that the original author of PuTTY isn't secretly working for NSA, or who ever. The fact is, the ONLY safe way to get PuTTY is to indeed grab the code, go through it line by line, and than build it, and hope that your compiler sin't infected as well. I am just point out that it's more difficult to hide things inside the code than it is in the built binary, not impossible, but more difficult. Web-of-trust, what ever that might mean, isn't helpful because you ultimately have to trust someone. How do you know the person you are trusting isn't an NSA agent?
- pbhjpbhj 11y ago>How do you know the person you are trusting isn't an NSA agent? // You don't but the top node in your web has to be trusted by lots of other people, some ideally are able to confirm the code is kosher - you need a massive conspiracy to happen or to have put your trust in people who couldn't care less about putting their name to malicious software. It's like if dang tells you something is an official HN policy you might trust it, but if that statement by dang is signed by other HN officials then you're going to be pretty certain that's true. Kinda like a technical "social proof". If I know that Stallman, Torvalds, Wozniak are using a piece of software then I'm going to be pretty confident that it's been checked out as much as any piece of software. Yes they could _all_ be endorsing it because the NSA told them too.
- na85 11y agoSerious question: What's the point of safely downloading any binary to run on your closed-source operating system? None of that code can be verified. Do people actually believe Windows is secure?
- belak 11y agoWindows is definitely still a closed source operating system, but the code for putty is definitely available on the same page as the downloads. I assume it has the same security concerns, but at least you can look at the code.
- krapp 11y agoUnless you have personally read, fully understood the security implications of, and compiled from source every application currently running on a Linux machine, including the kernel, then you really have little guarantee of safety in open source, and probably not even then. Most Linux users are not experts in any of the multiple languages that their applications might have been written in, and so are neither capable, nor likely willing, to pore over millions of lines of polyglot code just to verify that the latest version of Iceweasel doesn't have an NSA backdoor (or what have you.) Therefore, the blind trust most Linux users place in whomever wrote their distro and their applications is no different than the blind trust Windows and OSX users place in the companies that make their operating systems and any binaries they download from third parties. Granted, in the open source case, anyone can look at the code, and the axiom that "with enough eyes, all bugs are shallow" does sometimes work. But it doesn't necessarily follow that no one at Microsoft or Apple is paying as much attention to their code as the masses are to open source code. It's just an assumption on the part of the open source community, that open source necessarily leads to greater code coverage because the code is available to everyone, versus a subset of employees at a company, and that it's harder to hide things in plain sight when the source code is available. This assumption of course turns out sometimes to be spectacularly untrue, as it was in the case of Heartbleed.
- brudgers 11y agoThe reliance on PuTTY exists because Microsoft does not ship basic SSH capabilities as part of Windows. Similarly Microsoft does not provide read write capability for Linux file systems. In this way Microsoft creates impedence for Linux and other *nix adoption in places running Windows desktops. It's just that little bit extra friction that makes using Linux a bit more of a PITA than it needs to be.
- jevin 11y agoWhat about Putty Tray? https://puttytray.goeswhere.com/ https://puttytray.goeswhere.com/ They have some neat features and the website is under https.
- hobarrera 11y agoWhy no use Cygwin which includes SSH? (the client maintained by the OpenBSD team, btw, which I'd trust a lot more): https://cygwin.com/ https://cygwin.com/ What's so special about putty?
- Grue3 11y agoThe implication that somebody must own a domain and SSL certificate in order to deliver you software for free is just insanely entitled. If you care so much, why don't you pay the author so he can buy all these things?
- omgcyrilic 11y agohttp://www.oldversion.com/windows/putty/ http://www.oldversion.com/windows/putty/
- omgcyrilic 11y agohttp://www.oldversion.com/windows/putty/ http://www.oldversion.com/windows/putty/