On The Insider: Britney's Bikini-Clad Top 10
BNET Business Network:
BNET
TechRepublic
ZDNet

September 21st, 2006

The real story on Vista application compatibility

Posted by George Ou @ 10:29 pm

Categories: Security, Vista

Tags:

In Focus » See more posts on: Vista, Vista compatibility

First of all, I want to welcome Mary Jo Foley to ZDNet blogs.  I've had a blast debating some of her columns within the last few years correcting her when needed.  Fellow blogger Ed Bott has also debated Mary Jo Foley in a recent post where he pointed out how absurd it was to claim that "Vista will NEVER run on a $1000 PC".  This time, Mary Jo has pulled out the big bad Vista application compatibility boogie man Windows Vista preemptively breaks every Malware application to date and even referenced the time she blamed Windows XP SP2 firewall for breaking tons of applications when nothing could be further from the truth.

The problem is that Vista isn't complete and to be honest, those applications that break (mostly from UAC) really need to be broken for the sake of security.  Microsoft has gotten criticism for giving root-level permissions to all users by default in Windows XP, but many of those same critics criticize Windows Vista for attempting to fix it.  Part of the blame goes to Microsoft for not making it easy to seamlessly shift between a standard user and root user in pre-Vista operating systems but much of the blame goes to lazy software vendors who write sloppy applications that rely on root-level permissions.  Now that UAC does go out of its way to make a locked down user permission model workable, it gets bashed for being too inconvenient and blamed for breaking applications.  UAC isn't what's breaking the application, it's the sloppy risky coding of the application bumping up against a locked down Vista permission model that is to blame.  Of course Microsoft isn't just sitting by telling the ISVs (Independent Software Vendors) it's there problem, they've provided simple to use tools like the Standard User Analyzer to help ISVs fix their code.

But there is an even easier way to make a sloppy legacy application work in Windows Vista and that's called shimming.  An application shim is a compatibility layer that fools a legacy application in to believing it's running in an older operating system.  For example, a shim will tell a legacy application that it is running in an 8-bit 256 color environment and that it's running with root privileges when it's not.  If the application attempts to make modifications to the hard drive or registry that require root permissions, those requests are seamlessly redirected to temporary locations on the hard drive and registry.  As a result, the unmodified legacy application will continue to work in Vista with the same sloppy coding but Vista security lockdown will remain intact because the user doesn't have to run with root privileges.  Vista will ship with thousands of application shims to accommodate legacy applications.

Of course shimming has a down side that it allows ISVs to remain lazy and continue writing sloppy code.  There are even those who will criticize shimming as some kind of sleazy hack but what solution would they offer?  We are faced with the following choices.

  • All the ISVs in the world will patch all their sloppy legacy code to not require administrative privileges (when pigs fly) and we won't need tricks like shimming.  This is by far the "ideal" solution in a perfect world but we all know this won't happen for the most part.
  • Turn off UAC and run everything as administrator and downgrade Vista security model to Windows XP.  Some people are suggesting this and telling people to turn off UAC.  This certainly is convenient, but people who do this have no one to blame but themselves when they get Malware.
  • Run Vista with UAC and permission lockdown but use shimming to fool legacy applications in to thinking they're running with wide open permissions.  This isn't the ideal solution but it works by protecting users and allowing legacy applications to function.

Windows Vista does break applications but it breaks applications that need to be broken.  These are either sloppy applications that compromise the security of Windows or they're Malware applications that you definitely want broken. People need to realize the significance of a locked down permission model and UAC because Windows Vista preemptively breaks every Malware application to date.  The same set of operating rules that apply to Software also applies to Malware and every piece of Malware that has been written to date will be incompatible with Windows Vista's default permission model and will need to be written.  This mean Malware will no longer be able to permanently hook in to the operating system to gain persistence and will only be able to attack the user profile.  The effectiveness of this solution isn't just theoretical because even Windows NT, 2000, or XP users who run their systems with a tight permission model have been protected all these years from Malware.  What makes Vista different is that for the first time it will be practical for everyone to run with tightened permissions.

Malware will have to insert a loader in to the user's local startup folder but that's easily detectable and removed even without the help from antivirus software.  At worst, the user profile will have to be deleted and recreated to remove a piece of Malware.  The biggest remaining threat will be to user data where hackers will try to copy private data or use "ransomware" to encrypt the user's data and demand payment to unlock the files.  The locked down permission model has been the key advantage UNIX, Linux, and Mac OS X has held over Windows but that's about to change.  Windows Vista takes the permission model a step further.  Internet Explorer 7 will run in Windows Vista protected mode which puts IE7 in a lower-than-user permission level.  This means that even zero-day IE7 exploits will be contained because IE7 will not have access to the system or user files.

Vista even offers protection to administrative users because they are still covered by IE7 protected mode and because administrators no longer have root permissions since admin accounts behave more like sudo.  Smart administrators can even allow users to run as administrators but prevent them from escalating unsigned code to root level.  This would be the ultimate security model because only cryptographically verifiable white listed software will be hook in to the operating system with root permissions.  One thing that Vista still needs to implement is a way for standard users to install software.

George Ou is Technical Director of ZDNet. See his full profile and disclosure of his industry affiliations.

  • Talkback
  • Most Recent of 82 Talkback(s)
Problem solved
In the six months since Vista?s launch, Camwood has profiled more than 5,000 applications; the company discovered that only around 20% show issues which make them incompatible with the new platform. B... (Read the rest)
Posted by: Camwood Posted on: 07/13/07 You are currently: a Guest | | Terms of Use
Their effort deserves to be applauded  Richard Flude | 09/22/06
Drop shimming? And then what?  georgeou | 09/22/06
What has UAC to do with shimming?  cyanna | 09/22/06
Why must you be so autocratic?  ebrke | 09/22/06
Ridiculous is not civil?  georgeou | 09/22/06
And then you have the start of a secure OS  Richard Flude | 09/22/06
So you tell me how shimming compromises the system  georgeou | 09/22/06
Shimming is a hack and hacks weaken security  Richard Flude | 09/24/06
Shims are a necessary evil  mdemuth | 09/22/06
Exactly!  georgeou | 09/22/06
Exactly WRONG!!!  No_Ax_to_Grind | 09/22/06
You misunderstoof the MSDN article  Justin James | 09/22/06
No, you missed the point.  No_Ax_to_Grind | 09/22/06
You can't do that!  No_Ax_to_Grind | 09/22/06
I don't understand  mdemuth | 09/22/06
Yes, you can use Visual Basic  No_Ax_to_Grind | 09/22/06
Will have to look into that  mdemuth | 09/23/06
Given that MS  No_Ax_to_Grind | 09/23/06
truth and reality are not the same  cyanna | 09/22/06
Sorry, but you can have security and usability  georgeou | 09/22/06
proposal for a poll  cyanna | 09/22/06
What are you doing installing software every day?  georgeou | 09/22/06
You over estimate people.  Hrothgar - PCLinuxOS User | 09/22/06
So what if Malware gets shimmed? It still won't hook in to the system  georgeou | 09/22/06
Again, that is not 100% true either.  No_Ax_to_Grind | 09/22/06
And trashing all the user files (work) within the profile.  osreinstall | 09/22/06
Anyone that doesn't keep backups  No_Ax_to_Grind | 09/22/06
I could see the expression on the Boss's face.  osreinstall | 09/22/06
Same risk applies to Unix, Linux, OS X or any other OS  georgeou | 09/22/06
It sure does apply to any OS.  osreinstall | 09/22/06
That exists today, but it's better than your list  georgeou | 09/22/06
I didn't mean for it to be that flexible to use.  osreinstall | 09/23/06
Painting too broadly?  Mark Miller | 09/22/06
All parties are to blame, but the ISVs deserve more  georgeou | 09/22/06
That includes MS  barstewards | 09/22/06
That was a bogus charge though  georgeou | 09/22/06
Choice...?  Arnout Groen | 09/22/06
*DON'T WRITE TO THE REGISTRY*, fer-cryin-out-loud.  Knorthern Knight | 09/23/06
NIGHTMARE  opensourcepro | 09/22/06
Permission Models  D. T. Schmitz | 09/22/06
'good enough' ???  swoopee | 09/22/06
Temperance is a virtue  D. T. Schmitz | 09/22/06
People usually don't buy Windows, it just comes that way with new PCs  georgeou | 09/22/06
And this is how Microsoft has managed to maintain  Linux User 147560 | 09/22/06
RubADub  D. T. Schmitz | 09/22/06
So your point is what?  No_Ax_to_Grind | 09/22/06
What parallel universe holds your address?  Neutrodyne | 09/25/06
Darn sloppy ISV's  Robert Crocker | 09/22/06
er Darn sloppy ISVs  barstewards | 09/22/06
You missed the irony tag  Robert Crocker | 09/22/06
Nope,... i tried to continue it  barstewards | 09/22/06
Coding to yesterdays platforms  No_Ax_to_Grind | 09/22/06
Aren't you the one  Michael Kelly | 09/22/06
True, however...  No_Ax_to_Grind | 09/22/06
well.. if you had designed it correctly in the first place  barstewards | 09/22/06
We do use *nix where appropriate  No_Ax_to_Grind | 09/22/06
Yeah right  seosamh_z | 09/22/06
VERY TRUE!  No_Ax_to_Grind | 09/22/06
i know  barstewards | 09/22/06
One more time. And then sell it to who?  No_Ax_to_Grind | 09/22/06
And sell it to who? .01% of users?  No_Ax_to_Grind | 09/22/06
Writing it correctly the first time  Mark Miller | 09/22/06
Correcting George Ou  dwest_z | 09/22/06
Nothing?  techboy_z | 09/22/06
Correcting dwest_z  eb276 | 09/22/06
I believe  Qbt | 09/24/06
Thank You George For Speaking Up!  IAHawkeye | 09/22/06
George Ou is WRONG: Breaking compatibility will cause NIGHTMARES for users!  rh0 | 09/23/06
rh0 is WRONG  code_Warrior | 09/23/06
Have you tried RC1?  k12IT | 09/23/06
Uh, you missed the part about shimming.  georgeou | 09/23/06
Not exactly true George.  No_Ax_to_Grind | 09/24/06
The typical computer user ...  mwagner@... | 09/25/06
Does this mean Vista won't be using the Registry?  bradachin@... | 09/25/06
Uhm...  Qbt | 09/25/06
RE: Uhm...  gdstark13 | 09/26/06
Genius, re-read my post  bradachin@... | 09/27/06
George Ou is absolutely correct!  muehlbauer | 09/25/06
Vista is good but. . .  dale.hurt@... | 09/25/06
For Me MS has cried OS once too often.  Hrothgar - PCLinuxOS User | 09/25/06
That's Just What We Need  FreeStyleWork | 01/26/07
Problem solved  Camwood | 07/13/07

What do you think?

SponsoredWhite Papers, Webcasts, and Downloads

Click Here
advertisement

Recent Entries

Top Rated

    Premier Vendor Content Whitepapers, webcasts & resources from our Power Center Sponsors
    advertisement

    Archives

    ZDNet Blogs

    White Papers, Webcasts, and Downloads

    SmartPlanet

    • Thought-provoking progressive ideas on diverse topics that intersect with technology, business, and life, and matter to the world at large. Visit SmartPlanet
    • More from IBM
    • Innovate your business' process model, play against the market, compete against others on our scoreboards and WIN! Try INNOV8 2.0: A BPM Simulator
    • Enabling Real-World Business Transformation through IBM Service Management Read the EMA Analyst Report
    Click Here