21 ms·
Downloading Software Safely Is Nearly Impossible
- skrowl 13y agoAnyone else think it's kind of silly that he's a mac guy (all of his screenshots are of old OS X) and his example is downloading PuTTY? Recent OS X versions all come with ssh client.
- lewispollard 13y agoFirst sentence: > Let’s say you have a brand-new Windows laptop and you’re just oh, so happy. It's a hypothetical situation (but one which windows users will likely encounter if they want to use ssh)
- wazooonrails 13y agoI challenge anyone to try and find a Minecraft mod without adware or spyware. Conduit and AdFly are everywhere.
- tokenizerrr 13y agoAdFly is not adware. It's an ads website that displays you some ads for a few seconds before you can continue to a download, do not confuse it with adware.
- davidgerard 13y agoThe Minecraft mod sites are full of drive-by crapware. I know, my 6yo watches Minecraft videos all the time and wants a new mod every day, so I download and install them for her ... her own machine is Ubuntu of course, 'cos the 2006 video card doesn't work in Windows any more but is just fine in X ;-)
- dylz 13y agoAdfly is well known for being a malware distribution channel. Ads run on adfly support flash/js/everyhting else and aren't vetted, nor do they have any form of anti abuse.
- lmm 13y agoDownloading software safely is nearly impossible on windows. Probably because there's no demand for it - people who care about security don't use windows. PuTTY is one guy's hobbyist project. (If you insist on using windows, what about downloading SUA from microsoft themselves? That way you get a working SSH client without trusting anyone you weren't already trusting)
- stonemetal 13y agoSUA was deprecated in windows 8, and removed from 8.1.
- astrodust 13y agoThe very fact that you need to download Putty speaks to how ridiculously out of date the Windows default tools are. It's no wonder so many web developers use OS X or Linux.
- smacktoward 13y agoMicrosoft's big blunder is that they assume that "developer" is synonymous with "Windows developer." They have excellent tools available for Windows developers. But step out of that silo and man, just forget it. You have to fight your own system every step of the way. This is an example of a strategy tax (http://scripting.com/davenet/2001/04/30/strategyTax.html http://scripting.com/davenet/2001/04/30/strategyTax.html): Microsoft's strategy for a loooong time was to pretend like Windows was the only thing that existed. When Windows was a majority monoculture, this worked pretty well for them. But now that it's just one ecosystem among many, it forces their developer-tools people to pull their punches so as to avoid undercutting their Windows people.
- renata 13y agoLast time Microsoft started packaging tools you would think would be built in they got sued, can't blame them if they're once bitten and twice shy.
- Theodores 13y agoGlad someone made this point. What I don't understand is why Microsoft don't just include an ssh client in their software with some half decent key 'gui' key managing nik-naks. In that way your starting out web developer would not have any need to consider installing a linux distro. Just by not having any linux friendly terminal they are inviting people to go dual boot which can end with them finding they don't need Windows or even Adobe as much as they thought they did. It makes as much sense as building the Berlin Wall.
- huhtenberg 13y agoDownloading *Putty* Safely Is Nearly Impossible.
- RyanZAG 13y agoAh! A trick question game. The correct answer is to wipe off Windows and install Linux off your flash drive, right?
- mavus 13y agoWhere did you get that flash drive of Linux?
- RyanZAG 13y agoFrom my Linux laptop? Or I guess I could have downloaded it using an Android tablet and torrents and copied it to a usb stick. Is this one of those threads where we keep asking 'and where did that come from?' until we reach the first dollar earned from selling lemonade?
- DanBC 13y ago> Is this one of those threads where we keep asking 'and where did that come from?' At some point you have to trust someone. But who should you trust, and how much should you trust them? Most people do not think about that and so we live with an Internet where privacy is almost impossible and most people just don't care about that.
- cLeEOGPw 13y agoEither that or you could inspect every line of OS source code before compiling and then inspect every machine code of compiler executable to make sure compiler is not infected.
- dijit 13y agothen you end up as abrasive as Theo De Raat.
- gizmo686 13y agoInstead of inspector your normal compiler's machine code, you can create a small special purpose compiler to begin bootstrapping your main compiler from source. Most compilers (including GCC I believe) are specifically designed so that they can be bootstrapped from a relatively small subset of the language. Additionally, you do not need to worry about producing an efficient executable because you will only ever run the resulting program once. However, there is also the risk that your host OS is compromised, in which case it may simply lie to you and do whatever it wants.
- msane 13y agoA challenge: what would the best remedies to this situation be? Should we be pressuring OSes to come with PGP ware and other basic tools by default, for instance?
- FigBug 13y agoIt will take a combination of things. Sandboxing applications would be a good start. That way you don't need to trust application developers.
- acct 13y agoBut surely you must trust your SSH client, and thus its developers.
- FigBug 13y agoRight now it is pretty much a binary choice - trust and install. Don't trust and don't install. I trust the developer to have implemented the SSH protocol correctly -- I have to trust them that much. But I don't see why I should have trust them enough to give them full permissions to my machine. Sandboxing (with permissions) would allow the application to run and access a port, nothing else.
- toomuchtodo 13y agoSignatures all the way down :( And reliable methods to verify those signatures without MITM attacks.
- throwaway812 13y agoIf you think you're safe: it's the same thing with Linux. Yes, good distros sign their blobs and you can probably verify that with builtin tools. However, consider how distros generate their signed binaries: 1) A packager downloads a random tarball off the internet, often over HTTP and/or unsigned and unverified. 2) The packager uploads the same tarball to the distro build system (you trust them, right?) 3) The packager's script for building the program or library is executed by the build server (you trust all of the packagers, right? they have implicit root access to your machine during pkg install.) 4) The packager's script likely invokes `./configure` or similar. Now even if you trust the packager, the downloaded source has arbitrary code execution. You verified it, right??? (Not trying to advocate for webcrypto. And I'm a Linux user. But I'm also a packager, and I have some awareness as to how one would go about pwning all users of my distro.)
- lmm 13y ago> 1) A packager downloads a random tarball off the internet, often over HTTP and/or unsigned and unverified. Then they're being remiss in their duties. > 2) The packager uploads the same tarball to the distro build system (you trust them, right?) Yes, I do. > 3) The packager's script for building the program or library is executed by the build server (you trust all of the packagers, right? they have implicit root access to your machine during pkg install.) There is at least traceability here. There are a large number of packagers for my distro, true - but they are required to personally sign for the packages they upload. If one of them turned out to be malicious, I don't think this would be without consequence.
- sanderjd 13y agoHonest questions: what do you think the consequences would be, and how do you think they would be enforced?
- zimbatm 13y agoIt would certainly make a big fuss. First the identity of that person would be stigmatized to a point where it wouldn't be usable anymore to gain trust to other projects. Publishing rights certainly would get revoked for that user. Then all packages published by him/her will need to be analyzed for further exploits and discussions would happen to avoid future similar issue. If possible a patch/fix would get published by the distribution.
- moron4hire 13y agoI think the general message here that a lot of commenters are missing is that the Right Thing is way to flipping hard to get right. The fact that PuTTy itself is not distributed securely seems to underscore the fact that even highly interested hobbiest have trouble getting it right. How can you expect everyone to be secure when you expect them to be security experts to get everything right? Or in other words, despite clearly thinking they're the smartest people in the room, security programmers are dumber than shit when it comes to actually making it possible to use their software.
- bad_user 13y agoBefore reading the article, I wanted to write a rant on why the TFA is wrong, based solely on the title :-) ALAS, I was wrong, especially because I downloaded Putty myself from putty.org, whenever I happened to play with Windows machines, without thinking once that putty.org is not the official source. And I'm a very security conscious user and if I can't protect myself, then normal users don't stand a chance. Just a note - PGP signing renders HTTPS useless for downloading the binaries themselves and works by establishing a chain of trust, the problem is with distributing the public key. It's the public key that must be distributed either over HTTPS and/or through a public key server, letting other users digitally sign your certificate and thus endorse the association of this public key - a system that works great for popular repositories of software (e.g. Debian), in which the participating developers/maintainers know each other. Once the authenticity of the public key is correctly established, there's no way for an attacker to create/forge the signed binary, unless said attacker gets ahold of the private key, which is way more difficult than hacking a web server, as normally private keys don't end up on those servers (so it is more secure than HTTPS). For example, in Ubuntu if you're willing to install packages from PPAs of third-parties, you first need to indicate that you trust the public key with which those packages were signed, otherwise apt-get will refuse to install said packages. A reasonable alternative to PGP signing is S/MIME signing, which is more user-friendly, as it doesn't involve the users vetting scheme, but rather certificates are issued by a certificate authority, just like with HTTPS/SSL. S/MIME is weaker against the NSA, but it does work well for signing stuff and it's more user friendly, because to establish trust, you only have to trust the certificate authority (and of course the developer). Binaries on OS X are also distributed as signed with the developer's key and OS X refuses to install unsigned binaries or binaries signed by unknown developers, unless you force it to. And while I have mixed feelings about the App Store direction in which Apple is taking OS X, I've began to like this restriction, in spite of the money you have to pay yearly to register as a developer (as long as you can download signed binaries straight from the Internet and thus not completely locked into Apple's walled garden, it's all good). Signing binaries and having a user-friendly way to establish trust in the used signing key should be the norm in all operating systems.
- acdha 13y agoAs an aide, Windows has had code signing for a LONG time: http://msdn.microsoft.com/en-us/library/ie/ms537361(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/ie/ms537361(v=vs.85)... If I still ran a bunch of Windows machines used to access the internet I'd be seriously attempting to run with group policy set to block unsigned executables and, eventually, trimming the of trusted code signing CAs as well.
- edwintorok 13y agoCorrection for step#10: the Putty keys are on the MIT keyservers, just not under Tatham's name, although they're only 1024-bit keys: http://pgp.mit.edu/pks/lookup?op=vindex&search=0xEF39CCC0B41CAE29 http://pgp.mit.edu/pks/lookup?op=vindex&search=0xEF39CCC0B41...
- frik 13y agoI prefer to search on Wikipedia, it has a link to the official website in a predictable way. e.g. http://en.wikipedia.org/wiki/PuTTY http://en.wikipedia.org/wiki/PuTTY points to Putty's official website: http://www.chiark.greenend.org.uk/~sgtatham/putty http://www.chiark.greenend.org.uk/~sgtatham/putty Putty is open source (MIT), one could build it from source and even audit the code. Nevertheless, thanks for pointing it out.
- endersshadow 13y agoDuckDuckGo also flags results as "Official Site," which is derived from Wikipedia, as you can see here: https://duckduckgo.com/PuTTY https://duckduckgo.com/PuTTY
- whoopdedo 13y agoBut not if you go to https://duckduckgo.com/putty https://duckduckgo.com/putty
- shalmanese 13y agoDo you first check the history to make sure that nobody has inserted a malicious edit right before you visited the page?
- kefka 13y agoThe problem is much worse than this contrived 'I cant download PuTTY securely'. Lets choose an example, of which I have had my hands in with my tech support job. * Goal: "Download Firefox" First, the user was using IE. And the user is not a tech savvy user (as in, cannot read words on the screen). Turns out, the user's computer was infested with spyware and garbageware. Mainly Conduit and others. Evidently, user "searched" for firefox rather than follow my directions to type in the address bar https://www.mozilla.org https://www.mozilla.org . This behavior lead him here: http://firefox.en.softonic.com/ http://firefox.en.softonic.com/ Normally, I would use a remote support tool and just do the cleaning for the user. However, this client comes from another area in which we are not allowed to use the remote support tool. In the end, I tried to have user uninstall the bad-firefox, and attempt to install the good, but the softonic installer installs a ton of crap everywhere. User got very frustrated and hung up when having him read the uninstall programs installed list. * That is the danger to most users, running Windows. EDIT: For the user whom penalized my comment score, why?
- xonev 13y agoI don't believe the original example was contrived. It sounded like a real series of steps that this guy went through. But you're right, it's even worse if you don't have any idea what you're doing.
- raverbashing 13y agoExactly Dealing with Windows nowadays is akin to cleaning a septic tank. I wish I was kidding I'm thinking someone should build a (Linux or other *IX) that scans the HD of an infected machine (booted with this distro or the HD was removed and put on another machine) to scan and remove everything. Working directly on Windows is impossible
- chops 13y agoTrinity Resource Kit: http://trinityhome.org/Home/index.php?wpid=1&front_id=12 http://trinityhome.org/Home/index.php?wpid=1&front_id=12 Among other things, it boots a live linux CD that's packaged with a handful of 3-5 antivirus scanners.
- m0dest 13y agoPeople complain that OS X requires apps to be signed by Apple (by default). But in reality, it's the sanest solution to this problem. When the OS enforces signature checking, you don't have to worry about whether it was downloaded over HTTP or who owned the domain name.
- dylz 13y agoIt doesn't care who the developer is though, which is an issue. As long as there's a valid signature, the application runs. (btw, if you don't want to enable "allow all apps" on OSX, just rightclick (two finger click) and pick "open" from the context menu. it'll prompt for launch as opposed to just "no.")
- davexunit 13y ago> But in reality, it's the sanest solution to this problem. Absolutely not. It puts Apple in total control over user's software. You have to place all of your trust in Apple that the binary you're running is actually build from the source code it is supposed to be. Now, over in the free digital world, this problem is being addressed sanely. For example, NixOS and GNU Guix are tackling the issues of reproducible builds and package signing that can use a distributed web of trust. This way, no one has to trust a single company/entity or build machine. Debian is also after reproducible builds.
- dfc 13y agoThis is a big thing for the Tor project: https://blog.torproject.org/blog/deterministic-builds-part-one-cyberwar-and-global-compromise https://blog.torproject.org/blog/deterministic-builds-part-o... https://blog.torproject.org/blog/deterministic-builds-part-two-technical-details https://blog.torproject.org/blog/deterministic-builds-part-t...
- 3pt14159 13y agoSanest if you already trust Apple with root, which if you are using an Apple computer, you do.
- Zarel 13y ago
- PythonicAlpha 13y agoAs much I understand, even HTTPS and its infrastructure has plenty of holes. How was this, that some people broke into a signature authority and stole master-keys -- so a huge number of keys where compromised. I don't know, if that thing was repaired yet. Also there exist many authorities that give keys to people without the simplest identity check. Such keys are a security risk of its own. I also don't know, how good (or bad) the key withdrawal mechanism is working currently. I remember darkly (I am not current in these things) that there existed some problems with existing browsers, infrastructure and so on ... And even, when those things would work fine ... as much I know, there exist holes in the implementation, depending which algo combination is used. So there are so many attack vectors, that even in the best case (https works fine and you have a domain that belongs to the correct author ... and you have checksums ... and you check, if your browser tells you, that the certificate is perfect (who in the internet age cares, when the browser says that the certificate has some problem??) ...) there seems to be no security in the internet age .... (And I am not even speaking or thinking about governments spying on us all)
- MichaelGG 13y agoI've become acutely aware of this over the past couple days. I'm setting up a new a laptop, using VMs for all work. Getting VMware is easy - it's signed. But from there? Things start sucking. I need to fix my "ThinkPad" fan and trackpad (new ThinkPads don't actually have a middle button despite the dots appearing like they are one) - gotta download unsigned blobs. Since I want as little software installed on the host as possible, I'm going to have to start a VM on something like Azure (easiest) with Visual Studio, and build my own copies of these tools if possible. The culture of building stuff on Windows is fairly weak, so I imagine I'll run into all sorts of issues. It's pretty embarrassing that Windows doesn't ship with a lightweight way of creating "VMs" to increase security. Something like Sandboxie would be a welcome piece of OS functionality. The JS crypto comment is off-base. The discussion about JS crypto is that it's pointless because it's only as strong as TLS - it doesn't provide anything else, and it's very easy to get it wrong and get more damaged (due to ease of XSS and whatnot). Sandboxed execution is a fantastic thing, and even MS tried that with .NET and it's million code-access-security policies. And now everyone does that with Android/Windows Store style permissions (although not as fine grained).
- jijji 13y agoAfter reading his article, it looks like if you cared about security, you made a mistake even before attempting to download putty.exe. Your first mistake was to be installing Microsoft Windows as your OS. Once you did that, you threw security out the window. You are already owned by the NSA. Not sure if you know that or not. Good luck with whatever you do from that point on, it doesn't really matter that you used https versus http. You were already compromised.
- dfc 13y agoThe moral is obvious. You can't trust code that you did not totally create yourself. -- Ken Thompson[^1] [^1]: Reflections on Trusting Trust. ACM Turing Award Lecture, 1984, https://dl.acm.org/citation.cfm?id=358210 https://dl.acm.org/citation.cfm?id=358210
- kbenson 13y agoThat one is a must read. It definitely opened my eyes when I first read it, and I thought of myself as someone very security conscious at the time. Since then, I think I've actually become less security conscious though. The sheer number of ways you as a user of any of the useful parts of the internet are screwed is mind boggling. At some point, you just throw your hands up in disgust.
- larrys 13y agoThat is about as helpful as telling people that they can't trust food that they didn't grow themselves. Has no relevance in the modern world where unfortunately you can't easily grow your own food. In other words pick your poison and your battles.
- dfc 13y agoDid you bother reading it? Did you get to this part: To what extent should one trust a statement that a program is free of Trojan horses? Perhaps it is more important to trust the people who wrote the software.
- larrys 13y agoI didn't read it. My reaction was to the statement which I replied to. I would take that either as a summary of the document or your conclusion on the document. Is it necessary to only comment after a full reading and understanding of the base document that someone is summarizing? If someone pulls out a phrase "The press must learn that misguided use of a computer is no more amazing than drunk driving of an automobile." (from the same document) I think that stands on its own as worthy of replying back to without seeing what else has been written that might clarify it. I don't think this is cherry picking and pulling things out of context either.
- bphogan 13y agoOne solution I advocate for is more widespread adoption of Chocolatey (http://chocolatey.org http://chocolatey.org). I can cinst putty and get what I need automatically. Sure, I have to trust the maintainer, but you know, if more people used Chocolatey to install packages, more people might be able to ensure it's safe. It's not bulletproof but it sure is better than searching the web for the right download.
- zimbatm 13y agoFrom https://chocolatey.org/install.ps1 https://chocolatey.org/install.ps1 , which is fetched from the main install snippet, downloads Chocolatey over plain HTTP.
- bphogan 13y agoSo, let's fix that.
- groby_b 13y agoWhile that's a nice sentiment, it indicates a rather complete lack of understanding of security issues by chocolatey in the first place. Sure, they can move that particular download to https, but it doesn't install any confidence that they've thought through the rest of their flow. As far as I can tell, packages don't even need to be signed. As a result, I'd not be able to trust anything they do.
- bphogan 13y agoWhich goes back to my original statement. If more people used it and knew about it, maybe more people could get involved. This stuff is hard. And presumably we're doing this programming stuff because we're not afraid of hard problems. One problem at a time - end users can't find the right links to download, so this solves that. Now open some issues about the security stuff and let's get that patched up. Telling people to not use Windows, or that "X is flawed so rather than fix it I'll avoid it" isn't moving anything anywhere. I'd rather get involved.
- jebblue 13y ago>> Note that, suddenly, Web Crypto is starting to look damn good OK so we can also boot Linux in a browser, if you stick with it apparently you can do just about anything in JavaScript if you're willing to spend the CPU cycles to do it. Why? ChromeBook as an example, why move everything into the browser so that the OS is minimized or even removed, you're still going to face the same software problems.
- euank 13y agoHe addresses that. The browser has a different security model than the OS. The OS's model is based off of the user being the unit of security. If a user runs a piece of software, that software can interact with all files owned by the user. It can make web requests to anything. The browser's model has the unit as the webpage, not the user. Each webpage is sandboxed from others. If one webpage is malicious, in theory it cannot modify users files or even other webpages. The difference in model makes a malicious webpage significantly less scary than a malicious program. Your example, of running your whole OS in the browser, is unrealistic; in reality you'll be running each piece of the OS in a different isolated tab. This model can work since the web was built for each site to be independent and self-contained... We've already gone too far down the rabbit-hole of native programs being extremely powerful to easily fix that. The OS might not be lost though. You can run scary software in a VM. You can run each program in a separate chroot. Perhaps soon you could just spin up an lxc (with docker perhaps) for each different program you want to run. These methods of running software all basically transform the OS into using the browser's model. It's also worth mentioning that the browser model has inherent security flaws for as long as it persists the executable on external servers; you have to find a trusted channel to access the data everytime whereas the program only has to be verified once after downloading.
- jebblue 13y ago>> The browser's model has the unit as the webpage, not the user. The user loses control, the user loses. >> This model can work since the web was built for each site to be independent and self-contained... https://developer.chrome.com/extensions/samples https://developer.chrome.com/extensions/samples "Content Script Cross-Domain XMLHttpRequest Example" >> whereas the program only has to be verified once after downloading. Opening the door to hackers who find ways to infiltrate that program _after_ that check has been done.
- cakeface 13y agoI'm feeling this severely with our build tools at the moment. I use Maven to build all of my java projects. Maven will pull down library dependencies from the Maven central repository or other independent repos that you may have configured. I noticed recently that none of my Maven clients were validating checksums on the libraries that we pull down. This came about when the domain for codehaus.com expired and it transferred over to a parked site that responded to all requests with advertising. I ended up with a bunch of HTML files where I was expecting library jars. In this case it was merely annoying and caused some tests and builds to fail. If they had instead been providing malicious code that almost looked like legit libraries it could have gone un-noticed for a long time.
- goblin89 13y agoFlash Player updates are offered for download over insecure HTTP. Meanwhile you can't run Flash until you install the update (I assume it was a security fix).
- clienthunter 13y agoThese concerns are remarkably similar to my recent experience[0] with the Apple software update, which nobody on StackExchange seems interested in answering. I'm still very much interested in educated opinions on that matter, if anyone cares to take a look. I'd be particularly grateful if someone with knowledge of TCP could explain to me whether or not all those duplicate ACKs are of concern. (Note that I understand the question's assertions on code signing may not be correct) [0]: http://security.stackexchange.com/questions/52357/what-is-going-on-with-my-download-of-the-recent-apple-security-update
- chrisdotcode 13y agoIs there actually a legitimate reason that the MIT PGP server doesn't have HTTPS?
- acct 13y agoMIT GPG keys are unverified. HTTPS would only add a false sense of security - you are supposed to verify the keys after you download them (yes, it's not easy, depending on how much verification you require).
- api 13y agoI hate the "feudalization" direction that OSes are moving in -- requiring certificates, app stores, etc. At the same time, I get why it's happening. It really mirrors the historical reasons for feudalism in the real world. When the Roman empire collapsed, people needed protection from marauding hordes. So they cozied up to the nearest powerful group, forming kingdoms. People tolerated the abuses of kings and nobility in exchange for protection from anarchistic threats. That's exactly what's happening to OSes: people are accepting feudalization in exchange for protection from malware. Unless we find ways to really empower the user here, it's only going to get worse. We will end up with a fully feudal Internet.
- RRRA 13y agoNow let's talk about how we are supposed to sign webApps in a way similaire to debian package distribution as to be able to actually trust one you d/l online and be able to trace the update you might receive by revisiting the page?
- acct 13y agoThere is absolutely nothing wrong with HTTP. You are supposed to verify signing keys after you download them anyway, regardless of your source and tranfer method. Yes, that may often be hard, or nearly impossible. WOT sadly often only works for people you can personally verify anyway. (With HTTPS, you better wish the author chose a reputable and more expensive certificate authority which can be trusted not to give certificates without proper proof of address ownership. Otherwise, verifying the website certificate may be as hard has verifying personal keys.)
- cjensen 13y agoYou could download the installer and notice that it is signed by Simon and then feel secure. But writing a long rant works too.
- pdonis 13y agoThe title is missing a word: it should be "Downloading Windows Software Safely Is Nearly Impossible". Similar remarks would apply to OS X for any software not supplied by Apple. Fortunately, Linux distros have package managers.
- ape4 13y agoGet putty from your old laptop
- dbbolton 13y agoThis is (partly) why I install from the official Debian repos even if newer versions of a piece of software are available on the web.
- fleitz 13y agoYet despite it being nearly impossible it happens everyday for 99.99% of users.
- josteink 13y agoSo basically he does a web search for "Windows ssh client" (generic seo spammed terms) when he knows he wants putty (specific) and is surprised that the official putty page is not the #1 hit. I'd hardly call that a bulletproof argument.
- bcoates 13y agoIt looks like Windows 8.1 is whitelisting PuTTY by hash or signature: nothing to see here. Repro steps (Windows 8.1, desktop IE 11 or Chrome 33): 1. Download putty.exe from any shady source 2. PuTTY runs without prompting 3. go to mega.co.nz (an extremely shady source), upload your copy of putty.exe 4. download it again 5. this version of putty.exe also runs without prompting 6. open your hex editor of choice, change a byte in a text string 7. upload this tampered version of putty.exe to mega.co.nz 8. download and run it 9. observe full-screen modal red banner: "Windows Protected Your Computer" requesting an Administrator password to run suspicious binaries.
- ronaldx 13y agoIf almost all binaries are treated by Windows as suspicious (in general: if there's a whitelist), then a request for an administrator password will be unconsciously and automatically given.
- MAGZine 13y agoI think a giant red banner to an experienced user (someone installing SSH on Windows) will cause pause to any user who needs to care about this sort of thing
- Shish2k 13y agoAlternative explanation: there's no central whitelist, windows just checks to make sure that the internal checksums all match up? (I don't know which is true, but if we're speculating, I imagine the latter would be more realistic than a huge checksum database bundled with the OS. Though maybe it's a small checksum database that only includes the personal favourite tools of the windows developers? :P )
- bcoates 13y agoI don't know how exhaustive the database is, but it looks like it just phones home to MS: http://news.softpedia.com/news/Windows-8-Secrets-the-Built-in-Security-Features-300963.shtml http://news.softpedia.com/news/Windows-8-Secrets-the-Built-i... (second screenshot). Might do the same "bloom filter plus server check for false positives" that browser malware filters use. Checking with a valid but extremely uncommon downloaded binary shows the same red banner (as well as a Chrome warning).
- larrys 13y ago"It’s currently owned by someone named “denis bider”, who presumably just likes to domain-squat on other people’s product names and provide links. " Another slam against squatters as usual. I really really wish people would stop with that already. Whoever Denis Bider is he has no obligation to even put up links to putty. He could sell the domain name maybe even to these people who don't appear to be "using" (by the HN and generally acceptable definition of "using"). In other words http://putty.com/ http://putty.com/ For the last time. There is no requirement to use a domain name and there never has been a requirement to use a domain name. And there are many people and companies who just sit on names and don't want to sell (because they don't need the money). Talk to google about duck.com and see if you can buy it. You won't be able to. Anyway he could put up a webpage as his personal blog or any number of things. Just because you happen to have a product using a particular name does't mean you own that name in every tld (.com .net .org .info .us .biz and so on). .org isn't even .com nor as desirable except perhaps for non profits.
- volker48 13y agoOr you know you could just use linux.
- blahbl4hblahtoo 13y agoIf webcrypto is the answer we are truly fucked.
- olalonde 13y agoThis reminds me "The Ken Thompson Hack" http://c2.com/cgi/wiki?TheKenThompsonHack http://c2.com/cgi/wiki?TheKenThompsonHack
- MarkMc 13y agoIsn't the problem just that the developer has not signed the Putty binary?
- EGreg 13y agoI wrote a blog article covering many of these issues. I am no Bruce Shneier, but I think there are good solutions: https://news.ycombinator.com/item?id=7337976 https://news.ycombinator.com/item?id=7337976
- userbinator 13y agoI hope that sometime in the near future, when everything has been locked-down so much in the name of security that the situation becomes the exact opposite, someone will write an article titled "Downloading Software Freely Is Nearly Impossible". Don't get me wrong, I think security is a good thing, but I also think there has to be a balance between that and freedom. One of the most secure places to live in is a prison. As the saying goes, "Those who sacrifice freedom for security deserve neither."
- fluxon 13y agoI went through this exercise a year ago but was only about one-third as vigilant as Chris. I still did step 18, though.
- nayades 13y agoIs the author seriously advertising google chrome as a safe way to download software ? The very browser known to exist to increase the reach of google surveillance of what people do on the web doesn't seem to possibly be part of a solution here. Those who give up privacy expecting to gain download safety will lose both.
- hughes 13y agoI noticed this the other day as well. I was trying to download GnuPG. GnuPG.org, including the download page and checksums, is served entirely over http. Even if it is open source, am I expected to pore over thousands of lines of code to verify that it hasn't been compromised?
- peterwwillis 13y agoI've looked around, and the only free SSH tool for Windows that has a single HTTPS mirror is 'kitty': https://www.wuala.com/9bis.com/public/build/ https://www.wuala.com/9bis.com/public/build/ There's binary OpenSSH releases for Windows, but they're all hosted on sites that don't do HTTPS. It seems like all Windows free software has a general lack of following security best practices when releasing or mirroring software.
- drcube 13y agoUse a package manager.
- batoure 13y agoIt has always seemed strange to me that putty which is still probably the most used ssh client for windows is available through such strange distribution methods. I wholeheartedly appreciate the time the author took to rant-ishly dissect this to a most myopic level. Even though it may reveal a most tortured and disturbed psyche. Step 18 is probably the inevitable step that follows thinking about something too much.
- cyrilic 13y agohttp://www.oldversion.com/windows/putty/ http://www.oldversion.com/windows/putty/