Slashdot Mirror


Windows 8 and Later Fail To Properly Apply ASLR (bleepingcomputer.com)

An anonymous reader writes: Windows 8, Windows 8.1, and subsequent Windows 10 variations fail to properly apply ASLR, rendering this crucial Windows security feature useless. The bug appeared when Microsoft changed a registry value in Windows 8 and occurs only in certain ASLR configuration modes. Basically, if users have enabled system-wide ASLR protection turned on, a bug in ASLR's implementation on Windows 8 and later will not generate enough entropy (random data) to start application binaries in random memory locations. For ASLR to work properly, users must configure it to work in a system-wide bottom-up mode. An official patch from Microsoft is not available yet, but a registry hack can be applied to make sure ASLR starts in the correct mode.

The bug was discovered by CERT vulnerability analyst Will Dormann while investigating a 17-years-old bug in the Microsoft Office equation editor, to which Microsoft appears to have lost the source code and needed to patch it manually.

35 of 62 comments (clear)

  1. Summary fail by Harold+Halloway · · Score: 4, Informative

    WTF is 'ASLR?'

    1. Re:Summary fail by Harold+Halloway · · Score: 2

      (I know the answer to this, btw, but why assume that everyone does?)

    2. Re:Summary fail by freeze128 · · Score: 5, Informative

      Address Space Layout Randomization - A security feature that prevents a certain type of exploit that would jump to a known location in ram to run a subroutine. If code was loaded in random locations, the exploit would not be successful.

    3. Re:Summary fail by normanjd · · Score: 2

      Address Space Layout Randomization (ASLR) is a computer security technique that randomizes the memory address where application code is executed.

    4. Re:Summary fail by TechyImmigrant · · Score: 2

      Address Space Layout Randomization

      http://searchsecurity.techtarg...

      This:
      >a bug in ASLR's implementation on Windows 8 and later will not generate enough entropy (random data) to start application binaries in random memory locations.
      is the bit that sounds ridiculous. The CPU has an instruction that delivers full entropy data, 64 bits at a time, available from the execution of the first instruction. How can software "not generate enough entropy"?
       

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    5. Re:Summary fail by Luthair · · Score: 4, Funny

      Age Sex Location Real?

    6. Re:Summary fail by UnknownSoldier · · Score: 2, Insightful

      Because the "editors" are lazy fucks. Been that way since 1999.

      Apparently it is too much "work" to spell out an acronym the first time it is used.

    7. Re:Summary fail by Luthair · · Score: 1

      This is Slashdot., even if most of the articles are shitty tech blog posts we should still assume readers are nerds.

    8. Re:Summary fail by Desler · · Score: 2

      (I know the answer to this, btw, but why assume that everyone does?)

      Because this isn’t Digg?

    9. Re:Summary fail by rickb928 · · Score: 4, Informative

      It is a best practice to spell out the meaning an acronym when first introduced in a document. I work in a complex corporate environment, and acronyms such as BCP, CEN, RFP, COP, and a host of others mean different things in different contexts. If I get new ones, like CTH, HDT, and IDN regularly, and these happen to mean different things. Stating the meaning up front, and then repeating it as the audience expands, is helpful to many who just don't get out enough.

      And most of the authors are oblivious to the crossovers. I work with a lit of different teams, at different levels, and get exposed to a huge swath of the organization, with all the joyous bleed of functions and ownership that goes with that. Writing for a diverse audience is a challenge.

      FWIW, that acronym is so common here I feel confident I can violate my own style rules, but someone won't readily recognize it. Darn.

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    10. Re:Summary fail by Anonymous Coward · · Score: 2, Insightful

      WTF is WTF.

    11. Re:Summary fail by DontBeAMoran · · Score: 1

      You are assuming we are all Microsoft/Windows nerds, which is not the case. But the news could still be relevant if we could know if we need to tell friends or co-workers who might not be up-to-date on the topic being discussed.

      --
      #DeleteFacebook
    12. Re:Summary fail by UnknownSoldier · · Score: 2

      ^^ THIS.

      Where I work we are drowning in a sea of acronyms because no one has any time to explain what the fuck half of them even mean. You are just supposed to learn them by "osmosis" or some other shenanigans after a few years. I've asked managers who have been there 10+ years and even they still don't know some of them.

      One of the biggest (internal) problems we have is that everything is WAY more complicated then it needs to be.

      One of my gaming friends who used to work in the healthcase industry says they have the the exact same problem.

      I don't know what is about tech that causes this attitude. Job security?

      It is like everyone forgot the wisdom of Einstein: "Make things as simple as possible, but not simpler."

      --
      Over-engineering is the enemy of great.

    13. Re:Summary fail by thegarbz · · Score: 1

      You are assuming we are all Microsoft/Windows nerds

      ASLR has nothing to do with Windows. It was introduced 16 years ago in a hardended version of Linux and has been discussed multiple times on Slashdot including the time when it was introduced in Windows, in Linux, in Android, and in iOS.

      There's been multiple stories in the past 2 years with ASLR in the title, not to mention a shitload more with it in the summary.

    14. Re: Summary fail by TechyImmigrant · · Score: 1

      Since I was a central member of the team that designed that RNG, I do know it is trustable.

      However you, as an AC are not trustable. What basis do you have for the claim that it isn't trustable?

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    15. Re:Summary fail by gwjgwj · · Score: 1

      Analog Single-Lens Reflex Camera

  2. I'm amazed it took this long to notice by mykepredko · · Score: 2

    Maybe because I'm doing some Windows (7) code development and debug right now, but I would have thought that not having random code locations would have been noticed by application developers as they debugged their code - especially when you're creating threads, looking at the address of the thread start *should* be different each time the application starts, but if it's the same all the time that's an indication that ASLR isn't working.

    Shouldn't this be part of a verification process for a new kernel release? I'm not trying to knock Microsoft here as this is a somewhat esoteric bug, but I would think that the security implications would drive the requirement for verifying that the code resides in a different location on each startup.

    1. Re:I'm amazed it took this long to notice by Anonymous Coward · · Score: 4, Interesting

      Maybe they did notice. Maybe somebody told them that ASLR was making things hard for certain agencies, domestic or foreign. Maybe somebody told them to tell everyone the address space was randomized when in fact it was not.

    2. Re:I'm amazed it took this long to notice by mykepredko · · Score: 1

      Interesting...

    3. Re:I'm amazed it took this long to notice by edtice1559 · · Score: 1

      Many times, these features are disabled in debug builds. But even if ASLR were on, in many application domains, I doubt anybody would notice.

  3. Stick with a real OS by Anonymous Coward · · Score: 1

    iOS

    1. Re:Stick with a real OS by tepples · · Score: 1

      Cisco iOS (used in routers) or BroadOn iOS (used in Wii)?

  4. Debug by JBMcB · · Score: 1

    You wouldn't notice it while debugging because the integrated debugger keeps track of where the code is running. The only way to see ASLR in action is to run the standalone binary without symbols, THEN aim the debugger at it. The function addresses *should* then be different for every run.

    --
    My Other Computer Is A Data General Nova III.
    1. Re:Debug by mykepredko · · Score: 1

      I dunno about that. I'm working on Eclipse Kepler for C/C++ (Build id: 20140224-0627) and I just checked the addresses of different threads over multiple restarts and they are at different addresses.

    2. Re:Debug by 110010001000 · · Score: 1

      My guess is that it isn't truly "random enough".

    3. Re:Debug by CustomBuild · · Score: 1

      I dunno about that. I'm working on Eclipse Kepler for C/C++ (Build id: 20140224-0627) and I just checked the addresses of different threads over multiple restarts and they are at different addresses.

      Do you know the difference between pseudo random and different? Your response implies no.

    4. Re:Debug by mykepredko · · Score: 1

      Golly. You shure use dem big words. You a perfesser?

      Mebbe you kin splain how's a dummy like can tell the difrence?

  5. Agile by 110010001000 · · Score: 4, Funny

    The Agile process would have fixed this sooner. Because unit tests, right? Right. Agile is magic. The must be using a waterfall model which is why the bug was undetected for 8 years.

    1. Re:Agile by Anonymous Coward · · Score: 1

      "shut up moron."

      Save it for the retrospective.

  6. Wait, Microsoft LOST part of Office's source?! by Anonymous Coward · · Score: 1

    That explains why they never add new features and just bolt on new UI layouts.

    1. Re:Wait, Microsoft LOST part of Office's source?! by Anonymous Coward · · Score: 1

      Equation Editor is a 3rd party component, last released in 2000 and replaced in Office 2007, being kept for compatibility. This probably doesn't have any bearings to 'real' Office source code.

  7. Entropy by JBMcB · · Score: 2

    Yeah, what I gleaned from the article is they re-initialize the entropy pool for the address space randomizer in some predictable way. So the addresses might be different every time, but in a predictable manner.

    --
    My Other Computer Is A Data General Nova III.
  8. Forgot the password to Visual Source Safe again? by filesiteguy · · Score: 2

    I was just telling my manager that rogue lone-wolf programming projects tend to end up with this exact scenario. I am SO copying this article for her.

  9. ASLR breaks critical apps by thomn8r · · Score: 1

    ...like the NSA backdoor toolkit

  10. You fucking useless editors by Anonymous Coward · · Score: 2, Interesting

    Here's a better article about the Office patch: https://arstechnica.com/gadgets/2017/11/microsoft-patches-equation-editor-flaw-without-fixing-the-source-code/

    From the article:

    A look at the Equation Editor's embedded version information also gives clues as to why Microsoft had to take this approach in the first place. It's a third-party tool, developed between 1990 and 2000 by a company named Design Science. That company still exists and is still producing equation editing software, but if we were to guess, Microsoft either doesn't have the source code at all or does not have permission to make fixes to it.

    There's no indication that the source code was "lost". They may very well have never had it.