Windows 10 in-place upgrades are a severe security risk
blog.win-fu.com
blog.win-fu.com
On the other hand, if MS pushes the update to the PC and it self-launches or can be initiated by a non-administrator, then it seems like there is a real security problem here.
The key element here is that you don't need to be a local admin, just a regular user who has restart permissions.
WindowsPE is a whole separate Windows distro and has all its failings and security issues. MS doesn't seem to have hardened it correctly for its update system. This is also why organizations are usually 2-3 years behind Windows versions. Its just too risky to trust MS to get things done on an acceptable level without nearly 3 years of bug squashing and security auditing per Windows version.
I've kept my employer on 7 until next year for reasons like these. Considering all the update and security issues with Win10, we might even put this off until 2018.
They were then able to use a key combination to give them SYSTEM level access from a normal user account. This is absolutely an elevation exploit, and the fact it bypasses Bitlocker during in-place upgrade is a little disturbing.
This bug likely isn't impactful for home users, but for enterprise-style systems (in particular in education) it has a big impact. Now every regular user can trivially become a local admin user. Problematic.
The number of Macs I've unlocked by creating a new admin by removing the "install is finished" file in single user mode is in the teens.
What's the procedure, in case I need to unlock a mac someday?
Won't work on an encrypted system, of course.
Or am I missing something?
Is the problem that the machine can be locked and still start the upgrade process, during which a non admin at the keyboard can rrad the disk?
That would be a pretty serious hole but would be easily fixable by only starting updates when unlocked.
And to those who think I am derailing... http://news.softpedia.com/news/microsoft-wants-all-linux-dev...
I am also a proud and happy Linux user going on about 10 years now, and what's great is that I know all the knowledge I've acquired will still be relevant many decades into the future -- not sure the same can be said of Windows or MacOS.
* Fedora and Ubuntu are more aggressive about compiling security features into the packaged binaries, whilst Debian considers package build flags to be the decision of individual maintainers, so coverage is more piece-meal.
* Fedora ships SELinux enabled. I believe that current versions of Android is the only popular non-Red Hat Linux-based system that does that. The common compliant about RH's SELinux implementation is that it is so restrictive about system integrity that it blocks actual system administrators from doing routine tasks unless they remember to change the appropriate SELinux policy settings first.
* Fedora 25 now uses a Wayland implementation for managing graphics by default, rather than X, so that the security issues of X don't apply.
* Fedora 24+ includes Flatpak, so that there is a system for sandboxed applications. Fedora 25 provides the UI integration for non-technical users to run Flatpak packages (once developers build them).
* The RPM/DNF package management system is more stringent about checking downloaded packages than APT.
I also often see it brought up that Fedora uses SELinux by default.
You mean the operating system where with the default display server any application can read keystrokes, read mouse events, and make screen grabs of any other application? The operating system where no apps are sandboxed by default? The operating system where once you find a local root exploit, which are not rare, you can embed a root kit deep in the operating system?
Sorry for the harsh comment, but Linux is hardly the pinnacle of security. (Perhaps with rare exceptions like Qubes or RHEL with SELinux on servers.)
As compared to Windows in which an app can't do that?
> The operating system where no apps are sandboxed by default?
As compared to Windows or Mac where apps are sandboxed by default?
> The operating system where once you find a local root exploit, which are not rare, you can embed a root kit deep in the operating system?
As a desktop user, not sure how this applies. Windows has rootkits as does Mac.
However, every time I boot my computer my computer doesn't call home. I am also not worried about government agencies having unfettered access to my machine as a default setting. With Windows I don't know that. When I install Mac I give them my e-mail address and thereby my identity just to install the operating system. They also have my credit card number. When a Mac calls home they have my IP. So anything I do online can be traced by to my identity as a default setting through Apple... a company not located in my country.
As I said a semblance of security and privacy. Better than no semblance which at this point is the case with Windows and Mac. I know it's not real security, but best that no money can buy at this time.
I also have Windows. It's for playing old games... Surprising they still work after 15 years.
Yes, Apps can't do that.
> As compared to Windows or Mac where apps are sandboxed by default?
Yes, apps from both the windows and mac App Stores are sandboxed.
I'm not sure what your point is. I'm not saying Windows is perfect at all, but the GUI security is better. If nothing else, consider the classic ctrl+alt+delete, which no app can catch. On Linux there is no way to be sure the 'login' you are seeing isn't a program someone has installed to capture logins. On Windows I know the login is genuine if I press ctrl+alt+delete.
I have AutoHotKey and ShareX. The first reads keystrokes from anywhere, and the second takes screenshots from anywhere and anything.
It's pretty clear that Windows applications most definitely can do that.
And if he is, that's an absolutely academical points as 99% of all Windows-users runs zero applications from the store.
Nothing like an imaginary straw-man argument on the internet, eh? :)
Windows provides UI isolation between privilege levels:
https://msdn.microsoft.com/en-us/library/bb625963.aspx
As compared to Windows or Mac where apps are sandboxed by default?
As the sibling commenter mentions. Mac App Store applications are required to be sandboxed:
https://developer.apple.com/library/content/documentation/Se...
The same applies for Windows Store apps.
Windows has rootkits as does Mac.
Mac has system integrity protection (SIP). Even as root, you cannot replace system files (unless you disable SIP):
https://support.apple.com/en-us/HT204899
So, in contrast to default Linux distributions, a root kit cannot replace system files (a common trick that root kits apply is to replace system files to preserve itself during reboots and to hide the root kit, e.g. by hiding it from 'ps' output).
Moreover, macOS only loads signed kernel extensions, so it is not possible for a root kit to inject itself as a loadable kernel module. I think the same is true for Windows, but I am not familiar enough with Windows.
I am also not worried about government agencies having unfettered access to my machine as a default setting.
You are throwing two things one one heap now: (1) having a backdoor and (2) sending out usage data.
If you believe that there is a difference between Linux, macOS, or Windows when it comes to (1), this is utterly naive. Linux distributions have a large number of package maintainers and upstream projects. You cannot be certain that none of these ten thousands of people is compromised and inserts a subtle backdoor. And even if you are certain about this, it's likely that government actors have a collection of exploitable remote and local exploits.
When it comes to sending out data, such as usage data, use an app firewall. E.g. with a program like Little Snitch, it is easy to configure which program can contact what server in the outside world.
Ps. Linux has the potential to be very secure. A lot of the technology is there (e.g. Wayland and SELinux). The problem is that the Linux community is too conservative and/or believes in the myth that Linux is already secure.
The majority of apps that I install come from the App Store.
Moreover, some vendors also sandbox non-app store apps. E.g. Chrome tabs, Photos, or Safari tabs.
Unless you happened to install Ubuntu, which used to send all your local file searches to the cloud to find Amazon deals
Publishing early just damages your relationship with the company, the community, and makes it more well known that you _don't_ have good intentions.
In my case it was either that the language pack was wrong: Eng UK not Eng US, neither of which actually have language pack installed... or it was the Win toobar/menubar being docked to the left of the screen and not the bottom. One of these stopped the upgrade completely, repeatedly. The greatest security risk had to be getting stuck on an old version of Windows with no good info on how to fix a 2 year old bug in the upgrade process.
> Combined with other significant security advances, such as Credential Guard, Windows Hello and others, we’ve made Windows 10 Anniversary Update the most secure Windows ever.
There must be an option to stop full automation of upgrade process or MS can just recommend disconnecting from network while upgrade is taking place.
MS does it for connivence I assume, so people aren't promoted while upgrade is taking place. This is my presumption, I may be wrong.
Good advice in general for almost any software.
http://www.zdnet.com/article/windows-server-2016-ltsb-whats-...
Sure, maybe you wouldn't use it that much, but it's small and useful.
While I guess they could bundle the Windows 7/8 Calculator with Server 2016, that would make server and desktop Windows different (for a feature that both include).
To make another guess, a lot of Server/LTSB users might actually like an even older Calculator:
https://redmondmag.com/articles/2015/06/09/edge-windows-10-s...
http://www.techradar.com/news/software/microsoft-edge-s-ente...
I haven't used Windows for years now, so the details are a bit fuzzy, but it essentially worked like this:
Start the machine. During boot(when you see the orb splashscreen), turn off power or hold down the power button for a few seconds.
The next time you boot up the machine, windows will say it failed to boot and offer to go into startup repair. Do that, wait for some time, and click through until eventually you see a bug report that you can open up in notepad.
Once you are in notepad, open up the "open file" dialog. From there, navigate to "C:\Windows\System32" and replace "sethc.exe" with "cmd.exe". Now, reboot normally.
Once you reach the login screen, spam left shift until you get a command prompt with admin privileges. Now, you can create new users, change the password and privileges of existing users, or even start up explorer.exe and use the computer normally as admin, bypassing the login screen entirely.
This works because "sethc.exe" is the executable responsible for Sticky Keys, which is activated by pressing shift repeatedly. Instead of sethc.exe, now cmd.exe would be run instead.
Edit: To clarify why that isn't the case here, the Windows 10 upgrade process suspends BitLocker.
It has both good and bad sides, and the same (basic) thing is exploitable on linux. You can replace `cat` with another executable and change the PATH so that the new `cat` comes first.
/tmp/cat
PATH=/tmp:$PATH
edit: I'm aware that this does not give root privilege (though it could, through some SUID hack or cowroot or anything really), but it is the same basic "flaw". (again, though it isn't really a flaw)Step 1: put a note on the fridge saying "The new WiFi password is one of the 10 random keys in the text file on this USB drive [taped to note]".
Step 2: wait a few days, repeat Step 1 with 10 replaced by 10 000 and also leave them an intro to Python (or $favorite_lang) book. Bonus points if you make the USB drive boot Linux straight to a Python REPL.
The Windows security model is intended to protect administrator-account access given these parameters.
The Windows 98 issue was a bug. The example given involving Windows 7 and renaming executables is NOT a bug. If you give someone unrestricted access to the hardware, they have unrestricted access to the hardware. Working as intended.
You want someone not to be able to mess with a Windows installation? Activate Bitlocker.
That's why this Windows 10 issue IS a bug. Because it bypasses Bitlocker and allows a normal user to escalate to local admin. The Windows 7 issue is NOT a bug because it allows no such escalation (since no security was ever stopping local HDD access anyway).
Also. I use the old trick of going to "Fail mode" on Windows XP to get free access on a hotel on a pay per hour computer some years ago.
But that must have been Windows PE doing the update.
You are no longer running Windows, you are running alien3d's-special-snowflake-version. Please don't be surprised when many third party programs/games no longer run, because, some of my software certainly won't.
My PC is next to my bed. I love being woken up at 3 in the morning by Windows attempting and failing to install updates.
It's got to the point where I turn it off at the power supply to stop it.
* et al. Sadly, "everybody's doing it" these days.
edit:fixed asterisks and unwanted italics.
You should not require an unpackaged dependency from 2015. This is a problem with your developers trying to use the latest and greatest technologies, with no respect for reality. It is neither your users', nor Microsoft's fault, that your users don't have bleeding edge 2015 upgrades.