dslreports logo
 
    All Forums Hot Topics Gallery
spc
Search similar:


uniqs
934

antdude
Matrix Ant
Premium Member
join:2001-03-25
US

1 recommendation

antdude

Premium Member

Popular security suites open to attack

»www.av-test.org/en/news/ ··· oftware/ from »www.zdnet.com/popular-se ··· 0036149/ from »www.hardocp.com/news/201 ··· _attack/ ...

"An Internet security suite provides full system protection, employing all available protection technologies. But what about the self-protection of the system protectors? Do they use protection technologies such as DEP and ASLR for their own use? AV-TEST examined 32 applications to find out..." --AV Test

"Summary: Your anti-malware system does you no good if it's successfully compromised. Few security suites use ASLR and DEP in all their executables..." --ZDNet

Interesting results.

StuartMW
Premium Member
join:2000-08-06

StuartMW

Premium Member

Hmm, I didn't see any mention of Windows Defender/Microsoft Security Essentials (MSE). I would hope they use DEP/ASLR.

Sportsfan
join:2012-03-26

Sportsfan

Member

Click for full size
According to Process Explorer, MSE on W7-64 uses ASLR, with DEP marked as "n/a."
dave
Premium Member
join:2000-05-04
not in ohio

dave

Premium Member

That is 'n/a" as in "not available" as in "you ain't touching this process".

Run procexp as administrator.

StuartMW
Premium Member
join:2000-08-06

StuartMW

Premium Member

Thanks. When run as Admin PE 16.04 reports

"DEP (Permanent)"
"ASLR"

Still not sure why Windows Defender/MSE was totally ignored by the article.
wolfy339
join:2005-04-30
Edmonds, WA

wolfy339 to Sportsfan

Member

to Sportsfan
Click for full size
At least on my machine Kaspersky Internet Security 2014 is running both DEP and ASLR.

beck
MVM
join:2002-01-29
On The Road

beck to antdude

MVM

to antdude
Too bad the chart is too dark for me to read on the av-test site. So, any information is useless to me.
dave
Premium Member
join:2000-05-04
not in ohio

dave to antdude

Premium Member

to antdude
I'm a little unclear just what an application has to do to "support DEP". Part of this has to do with Microsoft's marketing-speak use of "DEP" to cover several different things.

The most important DEP feature is support for no-execute pages, aka NX.

NX: pages allocated for stack/data space do not permit execute access. The hardware traps attempts to fetch instructions from such pages. No application support needed.

It's true that if your crufty old 32-bit code expects to allocate data pages and put instructions in those pages (rather than asking for executable pages) then NX will cause it to fail. In that case, you have to take action when building the code to say "not NX compatible". But this seems to me like a rare case (building code on-the-fly is unusual).

You can say "the program code don't like NX" by building /NXCOMPAT:NO or by executing SetProcessDEPPolicy at runtime. Note that looking at the .exe flags won't tell you about the second method.

The setting of /NXCOMPAT is irrelevant in DLL files. NX use is on or off at the process level, not the module level.

I believe 64-bit code can't disable NX, but I could be wrong there.

"Software DEP" is related to structured exception handling (SEH), and stops attacks due to overwriting the exception chain. This depends on a table of safe exception handlers being present in the image file, i.e. code needs recompiling to support it.

But modern versions of the OS use a prevention mechanism 'SEHOP' that does not require that table; so I suppose that /SAFESEH is no longer important.

Summary: that article looks a little under-researched, or possibly just under-reported, to me. In particular, their reporting on 64-bit files makes me wonder.

P.S. This diagram seems about right to me, though dated.

P.P.S. Corrections welcomed, it's been a while since I've done any serious Windows programming.

StuartMW
Premium Member
join:2000-08-06

StuartMW

Premium Member

My understanding of DEP is the same as yours FWIW.
said by dave:

NX use is on or off at the process level, not the module level.

Interestingly EMET can override the compile-time NX-bit (DEP) setting. Not sure why one would want to do that but I assume there are situations where it is useful.
said by dave:

I believe 64-bit code can't disable NX, but I could be wrong there.

I think that's what PE reports as "DEP (Permanent)" for 64-bit processes.
Mele20
Premium Member
join:2001-06-05
Hilo, HI

Mele20 to StuartMW

Premium Member

to StuartMW
Windows Defender isn't shown in PE even when running a scan. Windows Defender Status Manager is shown (with both DEP and ASLR as permanent). It's a program that gives Windows 8 users a systray icon for WD.

MSE and Windows Defender are used in AV Test and AV Comparatives by agreement with Microsoft as baseline so they don't show up usually in test results.

Bah to Avast and Kaspersky on 64bit machines.

norwegian
Premium Member
join:2005-02-15
Outback

norwegian to dave

Premium Member

to dave

After reading the article, I was a little curious too.
I'm sure Kaspersky has it's own protection process for itself.
I know in the beta testing days of the first trial of self-protection, the programmers/developers wanted everyone to report any tool that broke the protect chain.
Sure it could use a Microsoft protection process, but then your allowing Windows to protect your product, when your actually protecting Windows.

Is the test saying it didn't use DEP, or they could bypass the protection?

I'm still a little confused by the results.
Mele20
Premium Member
join:2001-06-05
Hilo, HI

1 edit

Mele20

Premium Member

The report says Kaspersky 2015 uses DEP 87% of the time on 64 bit Windows PE files. The weird thing is that Kaspersky uses DEP 98.5% of the time on 32 bit Windows. That's nutty. Those percentages should be reversed to make sense.

ALL my programs use DEP (most marked as "permanent" DEP) according to Process Explorer. I'm wondering how Kaspersky would show there since it uses DEP but not 100%.

StuartMW
Premium Member
join:2000-08-06

StuartMW to Mele20

Premium Member

to Mele20
said by Mele20:

Windows Defender isn't shown in PE even when running a scan.

Just ran a quick MSE scan (Win7 x64) and MsMpEng.exe is the process that was using CPU time. Maybe it started a thread to do the scanning (didn't check).

FYI MsMpEng = Microsoft Malware Protection Engine

msseces.exe is the MSE user interface/tray icon process.

Both are using DEP/ASLR.
Mele20
Premium Member
join:2001-06-05
Hilo, HI

Mele20

Premium Member

Click for full size
Duh. I knew that was the name of the engine...but I was still stupidly looking for Windows Defender, Defender, etc.

It was there all the time (as it should be as it runs all the time not just when you do a quick scan, or download a file, etc).
dave
Premium Member
join:2000-05-04
not in ohio

1 edit

dave to norwegian

Premium Member

to norwegian
But NX isn't "allowing Windows to protect your product", it's allowing the hardware to protect your product. Windows's involvement is to set page table entries accordingly.

(If any program was dicking around with PTEs directly, that would be a good reason to never use any program written by those people)

I'm inclined to the simpler explanation that the article is a confused mess.

Edit: note that the best way to protect your product is to not write bugs into it. A "buffer overflow vulnerability" doesn't just show up like some sort of plague, it results from inadequate attention to programming.

StuartMW
Premium Member
join:2000-08-06

StuartMW to Mele20

Premium Member

to Mele20
Yup its a service and hence runs all the time and whether you're logged in or not.

norwegian
Premium Member
join:2005-02-15
Outback

norwegian to dave

Premium Member

to dave
I guess I was a little too general in my reply..

I was referring to the software DEP, not the NX bit.
»support.microsoft.com/kb ··· 875352#3
quote:
Software-enforced DEP
An additional set of Data Execution Prevention security checks have been added to Windows XP SP2. These checks, known as software-enforced DEP, are designed to block malicious code that takes advantage of exception-handling mechanisms in Windows. Software-enforced DEP runs on any processor that can run Windows XP SP2. By default, software-enforced DEP helps protect only limited system binaries, regardless of the hardware-enforced DEP capabilities of the processor.
But then I might be remembering the XP days, I've not followed up enough in Win 7 or 8.

StuartMW
Premium Member
join:2000-08-06

StuartMW

Premium Member

said by norwegian:

I've not followed up enough in Win 7 or 8.

Well as dave See Profile says the NX bit is a feature built into newer processors (not just Intel ones). It's a hardware feature that has little to do with Windows or any other OS except in a very limited way (i.e. changing it when starting a process).

XP came out in 2001 or so and it's probable (I don't recall) that not all CPU's of that era had the feature so Microsoft invented a software equivalent.
Mele20
Premium Member
join:2001-06-05
Hilo, HI

Mele20

Premium Member

Even as late as 2006, when I bought another XP Pro computer, most Intel CPU's did not have hardware DEP and software DEP back then didn't work on a lot of software including Microsoft Word. My CPU, which was the last gaming Intel Pentium 4 hyper threading CPU, had hardware DEP. Software DEP was not very useful unless all software complied and that was no way the case. When you had to exempt a lot of software....well...