decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books

Gear

Groklaw Gear

Click here to send an email to the editor of this weblog.


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
The attack will always work | 128 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
The attack will always work
Authored by: SpaceLifeForm on Friday, January 25 2013 @ 11:43 PM EST
The randomization is lost once you use up
all of the memory, and then back out and
leave a sufficiently sized hole that will
hold the payload.

If you notice your computer getting really,
really slow, power off. Use noscript.


---

You are being MICROattacked, from various angles, in a SOFT manner.

[ Reply to This | Parent | # ]

Brilliant!
Authored by: Gringo_ on Friday, January 25 2013 @ 11:46 PM EST

The kernel could refuse to load a dll unless there is sufficient free address space to allow enough randomness.

I was thinking that too, but then considering it further, I thought to myself why is Windows allowing a DLL to load in the last bit of remaining space anyhow? Some memory is always going to be needed by the processes that are currently running from time to time as they request memory from the heap and stack. (I'm not clear on if stack space is allocated ahead of time when a process loads or as functions are called, but for sure there will be random calls for heap space.) The new DLL wanting to load in the last bit of space will also be wanting to request heap space of its own, so it simply makes no sense to give away the last of the memory. You need to hang on to some just to maintain operations, have some swap space so you can advise the user there is an out of memory condition and allow for graceful termination of running processes or shutdown of the system.

Then there is an unrelated issue: memory fragmentation. As memory gets used and used up, it tends to get more and more fragmented. Of course Windows has algorithms to defrag the memory as it goes, but no defragging algorithm can be perfect and is always going to leave holes around. So as someone is trying to fill up the memory then back off until there is just enough space to load his hack, he can't be sure that hack will load where he expects, as it may fit in one of the holes left behind from the defragger.

So this attack sounds good on the surface, but has it been actually run and proven to work?

[ Reply to This | Parent | # ]

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )