Windows XP SP2 Could Break Some Applications
Denver_80203 writes "An article from InfoWorld states that the upcoming Windows XP Service Pack 2 could break some 'unsecure applications.' In a quote from Tony Goodhew, a product manager in Microsoft's developer group says 'It doesn't really matter how long it is going to take you to do the work; security is an important issue and developers need to start doing that work now.' Or: 'The great bulk of applications will not be affected by memory protection. The number one that leaps to mind is execution environments with just-in-time code generation. The .Net Framework is one.' Fortunately for us, they are offering a course to guide the unsecure masses."
"the upcoming Windows XP Service Pack 2 could break some 'unsecure applications.'"
That's just about every application in Windows XP
Setec Astronomy
another reason for the company I work for to NOT migrate from Windows 2000.
Thank you Microsoft!
Do not look at laser with remaining good eye.
so, /. picks on microsoft for trying to fix the problems....
yawn, the anti MS bias here is soooo 1990's. You asshole operating system zealots need to grow up.
Is this supposed to mean that Java will stop working?
--t
When this same problem affects many Linux distributions. Some, like Xandros, will simply break if you install KDE 3.2, or upgrade the kernal to 2.6. - You'll have to wait for a full new stable release for these things to work.
I'm surprised MS would allow this, so it must really be a small minority of applications that will break.
But lets not bag on MS with general crap, this affects Linux too.
I have been waiting for this for a long time, glad to see it included in sp2.
Open Office, Mozilla, Java based applications, Apache with PHP, and other applications written by a bunch of programmers without a management control :)
From the article @ Windows XP SP2 could break existing application
according to Tony Goodhew, a product manager in Microsoft's developer group:
"SP2 will break some applications because they are insecure," he said. "Security is important, and it is not just a Microsoft problem but a developer community problem. We all need to work together to create a more secure computing environment."
"It doesn't really matter how long it is going to take you to do the work; security is an important issue, and developers need to start doing that work now," Goodhew said.
Consensus is good, but informed dictatorship is better
"the upcoming Windows XP Service Pack 2 could break some 'unsecure applications.'" I thought service packs were supposed to FIX the operating system.
Sounds like an issue with NX bit implementation on A64 ... this protects memory that is tagged as data from being executed (which protects against buffer overrun exploits, which are 50% of the MS security issues). This would affect .NET, Java, etc. However I'm sure that there is a way to fix this for these types of application!
Regardless, enforcing decent security like this is good.
Now all the hackers will have to try other methods of hacking windows, heh. I'm sure that there is no shortage of them!
Microsoft has a nice bit of info for developers. All in all, I'm pretty impressed with the work and thought they've put into this SP--should make the world just a little bit safer for computing (of course, only for the folk running XP, the rest of their offerings don't have any of this as far as I know).
Without doubt, countless QA software testers & coders will cry out in anguish over this.....more work for them to do. But if they want to sell their software on the large Windows desktop market....They have little choice in the matter.
For each software build, we have to test against the various OS versions, and different service packs builds. Not fun...
I really like the direction Microsoft is heading.
Granted it was needed as their reputation, in regards of security, has always been low to none.
I really hope this will rid Windows XP of future remote exploits, since that's still the biggest threat Windows is facing.
Having said that, this wont fix all security problems, there will always be the luser that executes whatever is mailed to him/her, but it's still a step in the right direction.
Fortunately for us, they are offering a course to guide the unsecure masses.
The blind leading the seeing?
c++;
Obviously never had to use MFC then eh? .NET provides a nice clean set of APIs that aren't retarted.
QuickTime
RealPlayer
Fuck, where do I sign?
I read an article about this yesterday and wanted to test it against some apps where I work, but could not find the download for it on the Microsoft website. Do you have to have an MSDN subscription to get it. Seems rather rather screwy that if I want to make sure my app works with Microsofts OS I pay to them an extra $500 for the privilege. Maybe this is the new money making model. Profits are down this quarter, lets go break some code and charge them for how to fix it.
...when one realises that most of this effort is fruit of a tiny 5kb worm which actually had asked mr gates to repair his software... I'm still working on my sig
First, they decided to postpone Longhorn "Until it's done", rather than releasing a shoddy product early.
Second, they've gone so far as to break application compatibility in order to clean up a number of deeply embedded security holes in Windows.
Personally, I think this is a Very Good Thing(tm). Microsoft may finally be "Getting it"
' In a quote from Tony Goodhew, a product manager in Microsoft's developer group says 'It doesn't really matter how long it is going to take you to do the work; security is an important issue and developers need to start doing that work now.' Let's see how this works.., We have a broken security model so the onus is on you to fix your apps because of our piss poor planning (ease of use vs security/functionality) Hmmm...,
In the past, MS has broken Windows 95/98 applications, but Windows XP/2000 had compatibility modes available for the older applications. If it is as they say, and newer apps will be intentionally broken without any way of going into a compatibility mode, this will be bad.
I have difficulty believing MS would not include some kind of compatibility mode, however. It'll be interesting to see what they do. It won't really affect me though, I don't use XP and can't stand that OS (Windows 2000 is still my favorite Microsoft OS; Windows XP is just 2000 with some pretty GUI changes and some compatibility fixes.)
QA software testers & coders will cry out in anguish over this.....more work for them to do
I don't think the will "cry out in anguish" if they've got any sense. In today's market they'll jump for joy, knowing that their jobs are safe for another few months.
...IE will continue to be broken then :-)
Actually, I'm very interested to see if the SP2 pop-up ad blocker will actually work in IE since MS has dragged their feet on this issue. Half the battles we have been fighting lately at work involve IE and pop-ups that install crap without any notification.
"Klaatu, verada, necktie!" -Ash
Actually, only the Itanium and AMD K8 are affected by this immediately; Microsoft isn't yet marking memory nonexcutable by default on the good old x86 processors that we all use.
Regardless, it is trivial for developers to update their code for things like JIT compilers, with a simple function like this:
I added that piece of code to my company's JIT compiler some years ago, just to ensure that the proper flags were set. I figured Microsoft would eventually switch to nonexecutable data and stack segments, much like the OpenWall project has done with their Linux patches. Glad to see Microsoft is finally taking the first steps.
It's hard for thee to kick against the pricks.
No kidding.
I guess all MS Outlook users will now have to switch to Thunderbird since Outlook won't work in XP SP2.;-)
SP2 is not just another Service Pack. MS are using this as a means to introduce a lot of new stuff. everything from locked-down DCOM settings, to pop-up blockers and a new version of the Windows Installer.
A lot of stuff is going to break, but I think that this is good in a way. MS have finally put security ahead of backward compatibility. Once these changes are in place and apps are working with them, the system is going to be more secure. For once MS should be applauded - yes, you can argue it's a bit late, but at least they're doing it now.
If you want to check out what changes SP2 actually makes, have a read of this white paper:
Changes to Functionality in Service Pack 2 for Microsoft Windows XP
Lengthy, but worth a read, especially if you have apps that you think might be affected.
A downloadable version is available here.
I hope there's a way for the user to sidestep this, because it's bound to affect a load of old software and games that simply aren't going to be updated.
He's not a programmer. This is important. From the end-user perspective, .NET is just a ill-formed buzzword. I do not doubt the idiocy of MFC (although I've never used it), and the improvement that .NET brings (although I've never used it), but as a Windows user, not developer, I can't see the difference or the point in installing the .NET framework.
The previous sig has been removed due to
Bidip-crash! thank you, thank you, I'll be here all night
Microsoft has pandered to broken applications for far too long. Maybe if they finally get over their "backwards compatibility at all costs" attitude, they'll get around to fixing some of the fundamental flaws in their OS.
I highly doubt that Linux authors would think twice about breaking buggy apps to force the issue.
go on, convince me as a user why i should spend n hours on my 56k modem to download 25mb of what ? what benefit does it bring me ? so i can run some clowns 175k application that others can do in 75k of C++ ?
the parent is right on
.net framework will no longer be an option when the next version of windows comes out. .net isn't a failure. Companies are switching to it en mass (think buis apps) because it allows java like development cycles with native looking apps.
Try a well written app like azureus and then come back and tell me that java is at fault rather than it's GUI toolkits.
Windows adds NX security to prevent buffer overflows, Slashdot bags on Microsoft for breaking a few apps in the process (apps which were arguably broken in the first place, just the spec was never enforced).
I understand there's a slight bias on this site, but Jesus Christ you guys.
The real problem is that the benefits it (should) bring will not get deployed to the bulk of systems that need it - at 210Mb I can't see the majority of systems out there that really need it getting the whole thing downloaded, at least not within any reasonable time frame. Hopefully by the time it is actually released they will have a lite version on Windows update that can push the security improvements in a much smaller package.
Their decision to at least try to implement some long overdue fundamental improvements to the security of the architecture is to be welcomed no matter how over due it is. However despite that their decision not to add any outgoing filtering capability to the ICF doesn't make any sense to me and seems, well, just stupid really.
Backward compatibility has been a bit of a sacred cow in Windows for too long. Much of Windows' excess complexity and security deficiencies can be directly attributed to compromises made for the sake of compatibility with old applications.
Microsoft's giving up that quickly?
that the memory protection was only usable w/ processors that flagged memory.
I do security
Here's a list of a few applications that has been reported having problems in the latest betas of SP2, compiled from comments at Neowin when they posted these news:
- Zone Alarm 2 (uninstall stops working)
- BS Player (driver fail to load)
- Roxio Easy Media Creator 7
- Microsoft Intellipoint 5.0
- Azureus BitTorrent client
- ATI's Rage3DTweak for Radeon
- Easy CD Creator 5
- eMule
- Tritton NAS-120's Managment Interface
- Leadtek WINFAST TV PVR (driver fail to load)
- ISO Recorder Powertoy
Also, a user reports the Windows XP SP2 firewall blocking incoming FTP traffic even without an installed firewall, and XP's built-in disabled.
Maybe it's "beta diseases", but it does seem like a lot to break for a service pack, even in a beta. These are usually quite stable as they contain mostly bugfixes, not Win32 API changes (which these problems are supposedely caused by).
Beware: In C++, your friends can see your privates!
If this breaks insecure apps like Mozilla/Netscape/Firefox, the logical thing would be that it smashes IE into oblivion.
I couldn't come up with any better sign....
This is a good thing that OSes like Solaris have had available for years. OpenBSD has recently changed their default memory page allocation permissions on architectures where it's possible for a similar effect. Patches exist under Linux to do it. However, I believe in all these cases that you can still REQUEST memory allocations that do NOT have the restriction if you are doing JIT compilation or whatnot.
/' string somewhere in memory).
Microsoft isn't stupid. I'm sure they'll figure out a way to allow old apps to run with the old allocation behavior. Their entire business relies on legacy compatability. At worst you'll need to set some flag on the application launch.
The other thing to note is that crackers have also had ways to defeat execution-protected memory for years as well. It makes a buffer overflow exploit a bit more difficult, but where there is a will there is a way.
For example, even if the protection prevents you from writing executable code directly into memory, you can still typically do things like overwrite the stack and hijack the program's execution to a system call with malicious parameters (in Unix, the classic call to hit is system()...no custom code execution required, just a 'rm -rf
Braddock Gaskill
Sounds like a rather nice way of introducing stability and or compatibility problems to java by not allowing Sun's Hot Spot just in time compiler to work correctly.
Got Code?
Understandable. But I presume .NET will be (or already is) bundled with all new copies of windows sold, so it won't be an extra download. It will just work.
The fact of the matter is that developers, particularly C++ developers like to do a lot of unnecesary tricks with memory. They like to push pointers around, execute from the stack and all.
This breaks abstraction, and makes their code very much hardware dependent. I'm glad they will be punished for their sins.
You evidently don't understand how Microsoft works as a business. Unlike most software shops, they take the long-term perspective. Many of their competitors have learned this the hard way. (E.g., "Internet Explorer is a failure." As of version 3, it was a failure in terms of market penetration, but MS didn't care.) Full Microsoft product cycles typically take about ten years.
Every major new Microsoft product or technology takes the better part of a decade to take over the desktop. By about 2007-2008 or so, once there starts to be a large installed base of Longhorn machines (which will have .NET preinstalled), .NET will really start to take off for shrinkwrap applications. Five years down the line from there, it will be just about ubiquitous. In the meantime, programmers are learning it and it's becoming a familiar feature of Visual Studio (an excellent IDE).
Microsoft Windows is, fittingly, the official Desktop OS of Olig
I know, I know. Don't feed the troll. You may think .NET is a failure, but there are a lot of companies who do not think so.
And if it was such a failure, why are the programmers in the open source computing community devoting the time and effort to make a linux version (mono, etc.).
And the same applies to java. "Download my free 175 KB java app" that requires a hefty download from sun. And that's just for one language.
However, I will agree that .NET is a really lame name.
~X
~X~
I'm actually looking forward to seeing what they are doing with Longhorn(not TCPA as a whole or anything, but some of its related features perhaps). I'm a long-time linux fan and don't think I would replace linux completely any more than I would replace windows completely, but Longhorn is looking like a large step in the right direction in terms of security and reliability, as well as using .NET which looks like a fairly easy to use API.
.NET framework might even end up being truly multiplatform in the future, which is a Good Thing.
These additions to XP make it look even more like they are finally doing the right thing, and the
Gee... I thought .NET was going to rid the world of all its troubles, cause the planets to align, end DLL hell, etc.
But we're talking about the fact that on current versions of windows, no one on a slow connection is going to bother to spend time downloading a large package.
Dude at 210 megs you're running the beta with all the debug stuff. It's not going to be anywhere close to that big when final release is compiled.
The thing is that in 2-4 years pretty much every one will have the .NET frame work as part of the OS (even MONO on Linux) so they will not have to down load it. Then .NET will become mainstream.
Art is the mathematics of emotion
Think of apple, they were never to worried about backwards compatibility and their os is more stable because of it. All those programs that weren't compatible with osx had to be updated to ensure they'd work with the changed operating system. True, the change was big because they went to a unix varient, but they still had the balls to tell developers to adjust or lose customers.
.NET, this is very smart for them. It makes it easier and cheaper for developers to make consistant apps in current and future versions of windows. If developers rely on ms code to handle the grunt work and they just do the stuff that makes their program, then they have a lot less overhead. And with microsoft grabbing it's balls and betting on security and stability, they can handle the backend bugs with their updates. True, that requires them to actually patch, but if they start with a much more stable and efficient groundwork, you'll see a lot less patches then now.
Now microsoft has always tried to make it easy to run old programs. Think of how long dos lasted so businesses could use their old proprietary programs. This caused a lot of problems with windows crashing. Windows xp was supposed to fix that shit, but now a new slew of shit has come about. Now what they're saying with sp2 is that they recognize their customers want security and stability over backwards compatibility.
The reason they're finally starting to do this is probably to compete with linux since those people most likely had to leave their old familiar apps with new ones. They see that people would rather deal with the adjustment of a new look and feel over constant reboots.
Now while everyone can point fingers and laugh at
Remember guys, microsoft isn't stupid.
"It doesn't really matter how long it is going to take you to do the work; security is an important issue and developers need to start doing that work now," Goodhew said. Tell that to the college student who installs SP2 the night before the deadline for his midterm paper only to discover that his word processor doesn't work any more beause of "security issues."
Anything you might ever need to say about anything has already been said better by Penny Arcade.
As superstitious as this sounds I have found this to be true over the years with Microsoft. Almost without fail the even numbered SP's have broken features and the odd numbered ones fix them. I'll wait for SP3.
Besides, the combination of my Netgear firewall, McAfee Virusscan and just not opening strange attachments in my email protects me just fine.
"Nobody knows the age of the human race, but everybody agrees that it is old enough to know better." - Unknown
breaking backwards compatibility is what makes linux 's code much more elegant and easier to maintain than the windows source. But of course it's much harder to get a fixed version of some obscure piece of proprietary software, made by a company that maybe doesn't even exist anymore, than it is to recompile a piece of free software (or even fix it yourself). Another problem is that lots of people are still running windows 9x or will not install service packs. so the worms won't go away overnight. It's a step in the right direction by microsoft, but if it breaks too many old apps, a lot of people might get pissed off and give linux a try.
In a quote from Tony Goodhew, a product manager in Microsoft's developer group says 'It doesn't really matter how long it is going to take you to do the work; security is an important issue and developers need to start doing that work now.
Not to flame, cause i'm not like that, but c'mon!?!
Pot to Kettle, "Guess who's black?"
If program that does not follow good security practices breaks, so much the better.
A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
The "problem" is that microsoft SP/patches aren't patches, they're archives of files to replace/delete.
That's a good and "safe" default, but someone with MS resources ought to be able to buy RTPa... I mean, innovate a real patch framework. Especially with Windows Update. MS just needs to 'diff' the major versions. If a file to be updated doesn't hash to one in that set, replace it fully.
Belief is the currency of delusion.
"Microsoft has made something of a trade-off with the update, focusing on security improvements at the expense of backward compatibility."
Just got back from Hell. It's darn cold down there...
Blessed are the pessimists, for they have made backups.
It's not just backwards compatability that's been a problem. A lot of new features for IE/Outlook/Internet have been shoveled on top a basically secure OS core without any thought about security. I hope this means that security people at Microsoft have some power now; so that the next time some marketoid in clown pants says something like "Let's make email auto-executable by preview!", they can shoot him right away rather than slowly removing the feature over years.
One line blog. I hear that they're called Twitters now.
Microsoft isn't yet marking memory nonexcutable by default on the good old x86 processors that we all use.
That's good, cause you can't do that, you know. The non-executable bit on memory pages is not supported by the x86 architecture, unlike pretty much any other architecture. This was only fixed in 64 bit offerings.
Nobox: Only simple products.
I agree with you about MFC being retarded, but the true solution to that is using Qt for local apps, and PHP for network apps. I have got junior programmers, fresh from school who had never used either, to create applications in PHP and in Qt in a half-hour, two or three months to full productivity.
I updated my laptop, which still has the "Designed for Windows XP" sticker on the thing and I lost my sound and periodic access to my cdrom. I'm not touching SP2!
as long as they don't break, I am ok with it.
installs a major service pack the night before his midterm is due? Shouldn't he be, ya know, working on the term paper?
I'm no Microsoft fan, in fact quite the opposite.
But by and large, these look like common sense changes that will likely cause a great deal less trouble than the move from 2000 to XP did for application vendors.
These folks write and consult and teach about Windows drivers. I've followed their newsletter ever since I had to write an NT kernel driver for some custom I/O hardware, in case I ever needed to do another one (blechh!).
According to their newsletter at www.osronline.com, XP SP2 will include mandatory runtime memory pool overrun checking for all drivers. While this will improve the OS' security, it will ALSO cause mysterious failures on upgraded systems due to poorly-written legacy XP drivers. I make no judgements as to the wisdom of this course, but it's definitely worth knowing about beforehand. Of course, if they'd done this FROM THE START, then there would be no failures from it with the upgrade...
"My strength is as the strength of ten men, for I am wired to the eyeballs on espresso."
how many frameworks (libraries) does linux have?'
hypocrite.
uhm the plain text mode for OE was featured in XP SP1 and before that was a "security update" patch to OE
good to see you are running a up-to-date patched machine
The difference, of course, is that Microsoft, with control of the OS, can more easily get .NET into the hands of the average user, than can Sun.
There ain't no rules here; we're trying to accomplish something.
FYI reading what MS has written for the programmers, it seems that what you have done is not enough and that you have to manually allocate the block of memory with the VirtualAlloc (I quote: "applications cannot execute from the default process heap or the stack").
...Will it break KaZaa?
Even people that believe in pre-destiny look both ways before crossing the street.
You have to bag on MS for this?
Ok, imagine this alternate Slashdot headline:
MS sales buries secure XP
Itoldyouso writes - A leaked memo indicates that the Microsoft developers created a much more secure version of their flagship operating system. However, because it would have caused problems with a small number of applications that were designed insecurely, the Sales & Marketing teams vetoed the new secure version, in an attempt to avoid a customer backlash. It is now official - Microsoft's commitment to trustworthy computing is a complete joke.
I have a feeling that post would rile a lot more people here.
Wrong. Get your facts straight.
Bit 43 of the x86 segment descriptor table specifies whether a memory segment is executable.
Attempting to assign CS to a nonexecutable (read/write data) segment, i.e. attempting to execute code in a segment not specifically marked as executable, generates an exception. (See also this presentation for an overview of this and many other x86 security features, most of which are, admittedly, ignored by both Windows and Linux.)
And, by the way, this feature has been around since protected mode was introduced on the 80386. That was in 1985, almost 20 years ago.
It's hard for thee to kick against the pricks.
Much of Windows' excess complexity and security deficiencies can be directly attributed to compromises made for the sake of compatibility with old applications.
Bullcrap! Some of Windows' excess complexity and security deficiencies can be attributed to compatibility issues, but most can be attributed to bad design decisions made early in the process for the sake of customer lockin and market domination.
How is this all that different from having to install, say, DirectX to play a game?
Every collection of interoperating software will suffer from these so-called 'updates','service packs' or whatever.
A lot of software depends on known bugs/'undocumented features' in underlying software. Fix the bugs (features) and the software will cease to run.
Of course we all like to laugh at M$, but it's not better in unixland.
I could be wrong here, but this is solely based on my experience with various platforms. When it's update-time, they all suck and suffer from the same problems.
r.
-- mod me down ! mod me down ! infinite karma !
I was guessing that this was execution-blocked stacks, but couldn't be sure from the description.
This is good news.
OpenBSD, Fedora Core 1 (and presumably above), and now Windows XP SP2 and above all block stack execution. It's definitely a positive move from a security standpoint.
May we never see th
the logical thing would be that it smashes IE into oblivion.
and that would be the biggest security enhancement of all!
I agree that Microsoft did the right thing here.
However, it'd be a tough argument to say that these apps were already broken. I'm unaware of anything in Win32 or Windows specs that says that an executable stack may not be assumed. For a couple of types of application (like interpreters) it makes a lot of sense.
Ultimately, it would be best if C simply wasn't such a broadly used application language.
May we never see th
so unles you have a opteron you cant detect any issues resulting from the use of the NX bit
for any one interested there is a realy good thred about this topic at aceshardware.com
NX bit may not be a panacea, but it's still very useful. There's a reason OpenBSD is trying to support it. Is it supported in Linux yet? And if not, why not? "Don't allow this to execute" is a basic permission, like read-only, that should have been in the VM system from day 1 -- and I think it was, in many other architectures.
/. if MS didn't release this.
And yes, I do think you'd find a shitstorm on
The enemies of Democracy are
don't you get that nagging feeling that bounds checking ought to be done automatically in the compiler? or at least with a simple directive...
This change is good for all kinds of reasons:
I think we'll all profit in the end from this service pack... well, maybe not Microsoft, but oh well.
-All that is gold does not glitter - Tolkien
www.ra
I realy like the way they are heading in the developing way. They are acctualy taking their users' security seriosly since they have a real threat now (Linux). But this dosn't mean that I will start using XP. They might be good at programming, but their marketing sucks. I am not gonna pay $200+ for a empty shell and then $40-$200 for another application. Anyway, good job M$!
Cheers,
RoadkillBunny
In similar news, I've begun upgrading computers at work to OS X 10.3 and found things like AppleScripts I have made suddenly don't work anymore. WTF!? And various other installers (presumably using AppleScript) don't function either.
I'm all about progress and out with the old but ditching last year's technology is a bit quick.
No sig for you. YOU GET NO SIG!
The address still says slashdot.org, but there is approval of something Microsoft has done...
"There is nothing wrong with your browser. Do not adjust the site. WE control the comments, we control the moderators...."
Windows XP SP2 can be uninstalled. If it f*cks up anything you just go to add/remove programs and get rid of it.
There goes your excuse for missing your midterm paper deadline.
Remember... ZG9uJ3QgZm9yZ2V0IHRvIGRyaW5rIHlvdXIgb3ZhbHRpbmU=
try mozilla.
"Hey, that's an awfully full heap ya's gots there, pally... be a shame if anything were to... HAPPEN to it."
Seriously, this is a good step they're taking. Instead of the same old "we take it up the ass for backwards compatibility" drill, fixing core parts of the OS is important. If an app breaks, so be it. They've announced this well in advance. No dev has an excuse not to know about it by the zero hour.
Nothing worth doing is worth doing today.
the problem with java tho, is the user-interface.. java alienated themselves with lack of enhancments to their user interface on an os-specific level. lets see a *decent* 3d game made in java, and i dont mean something that looks like the original wolfenstien or doom.
You gotta admit that forcing Windows customers to have to re-purchase all their existing software all over again, is good for the software business in the long run. Sure they will grumble for a while, even threaten to switch software brands or platforms in retailiation, but in the end, they are hooked just like heroin addicts, and *will* pony up the dollars because they really have no other viable choice on this planet. Squeeze your customers until they cry 'uncle' and make sure they know who the boss is and keep reminding them of that fact periodically. Remember the old saying, "The customer is always right"??? Bwahahahaha, shyeah right. People who believe that are living in fantasy-land -- this is now the 21st century, after all. Business is war.
Yeah, I agree, that would be quite unreasonable to expect Microsoft to not release this service pack. I hope it is apparent in my post that I don't think MS should shut this SP out; I just think it'll cause a lot of headaches, and I really hope they have an option to turn it off! (I.e. turn off the new security protections).
AIUI the problem is that this relies on you using segmented memory rather than whatever alternative model it is Linux et al use, right ?
So, you can do it on x86, but all current OSes have chosen not to use segmented memory for other reasons (I believe performance is a big one).
This appears to be the same "no-exec stack" idea that OpenBSD came up with some time ago.
.NET?
My question is, does Windows have an equivalent to the "mprotect()" call that can be used to override this, for, say, a Just-In-Time like Java or
Hmmmmm...
--
"I'm don't know exactly what an AS/400 is, but I'm pretty certain I wouldn't want one up my ass" --Lou
Some stupid developers (including Canada Customs & Revenue Agency's contractor who did the "tables on disk") put their data files in the "Program Files" subtree, and don't set any acls to allow anyone other than admin access.
One method I've used to get around this is logging in as a normal user, watching for what files it can't write, logging in as admin, setting the acls (with "cacls") to allow access to that file, log in as normal user again, run the program again, etc.
Sure, it's slow, but some programs you just need (like TOD), while others really should say "must be run as admin" on the box so we know to avoid them (like Quicken).
Interestingly, Tables on Disk (which is used to calculate payrol deductions) is a java program, but is only provided as windows & mac self-extracting installer. If they provided a zipped version, we wouldn't need any closed-source OS machines where I work.
seems like a great way to give people a longhorn
Electronic Music Made Using Linux http://soundcloud.com/polyp
Frankly I can't see why anybody is whining over this, unless it's the instinctive MS bashing of Slashdot.
They are adding a security feature that will improve the overall security of the operating system at the cost of breaking older, insecure, applications. This is done everywhere and for some odd reason it's usually considered a good thing.
I am looking forward to this, any my question is only when this kind of features can be implemented in linux to improve the security here too... (Or is it perhaps in there allready?)
Why have you been waiting 5 yrs ? there have been plenty of Email clients around for years that have that function, it seems pretty barmy to use a software program that doesnt meet your requirements!
Electronic Music Made Using Linux http://soundcloud.com/polyp
...stands for Krap
You don't gain new customers by inconveniencing your current ones. Companies don't buy computers as temples of virtuous computing. They buy them because the computer can be used as a tool to make them money.
As such, they aren't interested in MS breaking their applications just because "it's the right thing to do".
Compatibility should always be of prime importance. You clearly can argue that compatibility is useless if your machine is infected with viruses, so at times you might have to sacrifice some of it.
But this idea of breaking compatibility just to force everyone to clean up their act is foolish. As long as Linux doesn't understand the value of binary compatibility, there won't be much of a threat to MS on the desktop.
My Norton Internet Security currently interferes with my Visual Studio .NET remote debugging. So I can disable it while debugging or I can configure NIS to track when the program is running and let it use those ports.
.Net Framework. The new memory protection features in SP2 require developers of certain applications to mark their code with memory execution permissions. If they don't, the protection features could interfere with the application, according to Microsoft.
.Net Framework is one," Goodhew said. "
.NET like we told you, you won't be affected. (But .NET apps are going to have to be modified to switch on memory protection)
.NET. (Which, last I checked, was the only way to make .NET objects that run on Windows). Without that flag turned on, the .NET object is marked UNSECURE.
.NET into the programming paradigm and making Microsoft Programming Languages THE programming languages. (Programmer mindshare... if you're busy keeping up with Microsoft, you're not programming for something else or making reusable code to port to other platforms.)
Now MS says, with their new firewall, I don't *have* that option? Now anybody who wants to write an app to use a port must first notify MS that it wants to use that port.
Doesn't this mean that malicious programs will just quietly open up firewall ports on their own without notifying the user?
Secondly, what does this mean:
"Another product that Microsoft needs to update is the
"The great bulk of applications will not be affected by memory protection. The number one that leaps to mind is execution environments with just-in-time code generation. The
Translation:
Mostly only unmanaged C++ programmers will be affected by these security changes. If you had just programmed the Microsoft way to begin with and used
Memory protection only occurs on NEW processors. The vast majority of the world runs Windows on NON-SECURE processors.
Stranger still, Microsoft has had buffer overrun checking BUILT IN to Visual Studio
Lastly, Microsoft's greatest security problems are not buffer overruns or firewall holes. They're AUTOMATIC ACTIVEX control installation from malicious pop ups to install spyware. They're wide open access to the email address box and a by-default scripting system that allows malicious emails to respawn themselves. They're bugs in the Internet Explorer control that allow malicious URL's.
NONE of these "security innovations" even take a crack at stopping those!
What DO these security innovations do?
Destroy a previously lucrative software market for antivirus tools.
Take the firewall OUT OF THE CONTROL of the user and put it firmly inside the OS to determine what's good for you. (Remember DRM? Isn't it interesting that the main thing broken from this portion of the update are peer-to-peer apps and FTP sharing?)
Further entrench
I'm all for security, and now these boxes will be secure... But no moreso than the typical user installation out there today that uses a third party antivirus/firewall solution and keeps their system up to date with the latest patches.
This is about as effective at what MS did with Outlook XP and *by default* turning off the ability to get attachments out of your email. You had to setup a profile configuration OR edit your registry settings to get that feature back.
Y'know, there comes a point where you have to say, I can ride my bicycle without training wheels.
I understand that MS is fighting a bad PR image. But if this is how Microsoft "innovates"... Well, might as well just have lightweight users use Macs (which will hold their hands) and pro users/developers can use Linux.
Call it the runtime or CLR then.
Not as lame as "mono"
Finially, they're biting the bullet and doing the right thing. A sensibly configured default firewall - it's one of the things they should've been doing for years. The memory protection is also interesting - and probably a good move, so long as developers don't start using it as a crutch.
Now, if we see built-in virus protection, tainting or sandboxing of executable code recieved by email, proper MIME handling, and flagging of double extensions, AND AUTOMATIC UPDATES THAT ARE ON BY DEFAULT, it'll be mostly there.
Even forcing users to take an extra step (like the 'chmod u+x' required on *NIX) to make emailed and downloaded files executable would help a _lot_. Sure, viri would just start saying "click properties, then tick 'executable'" in the messages; but it'd stop a lot of the worst offenders from viewing things without thinking.
You cannot not use segmented memory on a 386+ cpu. But segmentation does not jibe with the UNIX process model, so the Code, Data, Stack, Extra, File, and Global segments are set to 0x00000000-0xffffffff. It's not for performance; it's for simplicity and (source-level) compatibility with Paged-only architectures.
A free UNIX-Like OS could use the segmentation model to prevent heap or stack execution, but it might require changes to GCC to make sure it's referencing the right segment (because CS:0000abfe is no longer the same as DS:0000abfe). You'd then have to to re-compile every library and executable on the system. It would also break any code that produces self-modifying, or jit compiled code (but probably not non-jit VM interpreters like PHP, Python, Perl, Ruby, etc.
Great, just great. /doh, should have used PHP instead.
---- Booth was a patriot ----
but last time I checked there are lots of open source projects that run on windows as well as linux. And there are lots of closed source applications that run on linux.
So if the new 2.6 kernel happens to break the linux versions of ProE or Gaussian 98 or Verilog are Slashdoters going to complain the same way that Linus is evil and irresponsible?
"Microsoft service pack breaks applications." This is certainly nothing new. Microsoft service packs have had a history of breaking applications. So the real issue here is Microsoft taking more consideration for applications. I mean, for there to be a history of application breaking with service packs, one would think that Microsoft would have done something to help prevent future problems.
Is this a codeword to say that SP2 won't let me rip CDs?
If you liked this thought maybe you would find my blog nice too:
Ugh. php.
.NET is more than just a widget set. It's an entire class library.
I guess php is a popular language, but it really isn't a good idea for anything more complex than small scripts. It's too difficult to maintain a decent level of abstraction. Java, Zope, and (dare I say it) ASP.NET are much better solutions.
QT is good- but
Another good whitepaper is available here.
This one goes into more detail about the changes from the user perspective rather than the developer one - it's a much better read, and considerably more concise.
Nix absolutably seriousness.
That's a relief. For a minute there, I thought that read "Windows XP could break some applications". Good thing *that* isn't what it said.
boycott slashdot February 10th - 17th check out: altSlashdot.org
Because people are nervous, and half suspect that necessary or not at least some of the applications on that list will be hit. Because they can, and we can't stop them.
You can laugh, while wincing, or you can rage. Or, I suppose you could meditate and let the world become unimportant. Other options seem to involve lying to oneself, which I consider a worse policy than any of the preceeding ones.
I think we've pushed this "anyone can grow up to be president" thing too far.
Studies show that sleeping pills may cause drousyness Well, theres another duh moment :)
Naw. Micrsoft are pillars of society. They would never do a thing like that.
Government of the people, by corporate executives, for corporate profits.
You are trusting what they tell you. If you were to examine their history, you might find this a bit less of a cause to rejoice. Yes, what they are promissing is something good, but...
In threat analysis one examines not what one's enemies/associates are expected to do, but what they can do. This always tends to lead one to a paranoid view of the world. Unfortunately, MS has often followed some of the less scrupulous paths analysed in this manner, so presuming that they won't do so this time may be less than wise.
I think we've pushed this "anyone can grow up to be president" thing too far.
As an end-user, I will install a fresh copy of XP into VMWare, install all the apps I use on any of my machines and apply the fixpack.
If anything breaks, I will see if there are updates for my software available at no charge, if not, then I will not adopt the fixpack.
If this fixpack incur additional spendings on my part, then I will not use the fixpack, which means there will be at least a few machines out there "not fully up-to-date", with all the consequences of that in a globally connected environment.
I'd hate to be the "weak link", but if the vendors of my software do not provide free updates, too bad for the rest of you.
Or you could just sit and blame Microsoft for your inability to read their supplied documentation pandering to a community that is as inept and continue to use the product without a clue as to how it works.
So what's the big deal anyway?
We suffer more in our imagination than in reality. - Seneca
It will ask you whether or not you want to do so. You can also disable ActiveX controls altogether if you want.
Another thing is, it was impossible to delete them without going to registry and ripping them out by hand. This is now possible. I also think they'll explain in greater detail to their customers that installing crap from porn sites can actually hurt their computer.
User education is their biggest problem that they have yet to identify.
Of course, if they'd done this FROM THE START, then there would be no failures from it with the upgrade...
Similarly, if the driver guys had written good code FROM THE START, there would be no failures either. Sure, you can give Microsoft some of the blame, but the developers for the drivers are more at fault.
I already had several apps break after patches last year. For example, the patches for RPC exploits ended up screwing up COM+ authentication on a multi-cpu box. So more likely than not, patches will break some app.
Unless it's been changed recently... but by default the shipping version of Windows XP and all versions of IE before that... ActiveX controls install automatically when downloaded from a website.
You can shut it off, but few users do. I've had to clean all of my friends' systems because of spyware and other plug-ins installed because of it. I've told them to use FireFox (It has trouble with the hotmail website so I switched back to IE), I've switched their activeX download permissions to Ask before installing (It said I needed to install this plug-in so I said yes.), so then I turned it off (my hotmail website doesn't work so I turned it back on...)
Microsoft already "fixed" this issue by making "secure" ActiveX controls to stop malicious controls...
I'm in complete agreement that users need to be aware of what they're doing. But its misleading to say that all security issues will be resolved by programming the Microsoft Way when Microsoft continues to allow ActiveX controls and popups to fire automatically because it pads their bottom line.
To wit: The most secure Windows system is one that even Microsoft won't be able to get into. So long as Microsoft leaves one standardized back door for them to get into (Windows Update, remote desktop control, etc) All of this effort is hyperbole! It just directs the "malicious coders" to those areas.
As anybody that has been running the beta of SP2 probably knows, this incredible application-breaking feature is ******OPTIONAL******* and can be ****TURNED OFF IF IT PRODUCES PROBLEMS****.
Furthermore, it doesn't even work in non-Opteron processors.
I mean, people are acting like upgrading to SP2 is going to suddenly destroy their ability to use applications when this option isn't even on by default.
Certainly you people aren't this ignorant, are you?
Quoting from the article linked below:
Starting with Windows XP Service Pack 2, on processors which support it (according to the web page, currently AMD K8, Itanium, and AMD64), the stack and heap will not be executable. If you try to execute the stack or the heap, an exception will be raised and the code will not execute. In other words, execute page protection will soon be enforced, now that processors exist that support it. (Actually, I believe Windows XP for Itanium already used this new protection level, so those of you who have been playing around with your Itanium may have seen this already.)
If you were a good developer and followed the rules on page protections, then this has no effect on you. But if you cheated the rules and took advantage of specific hardware implementation details, you may find yourself in trouble. Consider yourselves warned.
posted on Tuesday, November 04, 2003 3:38 AM
http://weblogs.asp.net/oldnewthing/archive/2003/11 /04/55560.aspx
Makes you wonder which is worse, virii or Microsoft patches?
It seems to be a common occurance nowadays that Microsoft's patches screw something up.
At least with the latest batches of virii you get the choice to run them or not run them (unless you're one of those 'gotta click it' people), and you have anti-virus software to rely on.
There is no anti-patch software, and automatic updates really guarantee that your Windows machine will be screwed at some stage. I wonder if Microsoft has taken this into consideration in its TCO calculations?
Linux/Open Source/Anti Microsoft News
THE INTERNET
Java
Python
perl
Visual Basic?
Religion is the main cause of atheism.
Almost all games have to be run as admin if installed in the default location. Winamp has to be run as admin to not break if installed in the default location. Most of the shareware and free software utilities I've come across have to be run as admin.
In fact, going through my Program Files directory, I have only 33 applications installed that will work fine when run as admin out of 58 total (all of which are recent versions). Sure, most of the big name professional software will work, but home users are a problem too. And even then, there are some pro apps that don't work. AutoCAD for example stores most settings per user in the registry, but customizing toolbars requires being an admin. 3ds max still uses an INI file for everything in it's own folder.
Most of this has to do with storing user settings, and there is no reason that these apps should still work this way. Unfortunately, the only encouragement MS gives to developers is the official XP logo they can put on their box. But why bother if all users created at install time are admins by default anyway? Browse the software aisles at CompUSA and look for boxes with the XP logo. How may do you see?
And no, "power user" doesn't count, since it's just a half-assed attempt for the sake of compatibility with the problem apps that were considered "legacy" in the NT4 days. You can still break almost anything not system-critical. Applications that use MS's installer can now repair themselves (basically a reinstall), but these days, there is no reason anything should have to be reinstalled to solve problems on a multi-user system whether it's the OS or the programs on it.
Sure, but nobody uses segmented memory anymore... All modern OSes (Windows 2K, Linux, BSD, Solaris... ) use paged memory. So my point is still valid.
Nobox: Only simple products.
The marketing department at Microsoft has found another was to convince people not to use any Windows OS: Customers will be forced to accept "upgrades" if they want bug fixes.
This is abuse of customer trust, and a management failure at Microsoft.
On the one hand, I criticize Microsoft. It is not enough to prevent the opening of a port by a server. I want them to tell me if an unusual application (not registered in set access and defaults or not a signed system process) tries to access the network.
It should do a test during setup to make sure all the componets have integrity like virus scanners check themselves.
Microsoft needs to show their serious about security by disabling ActiveX, Active Desktop, and Pop-ups. (yes, I know pop-ups will be blocked.)
I just had spyware at school yesterday that ran an made itself the active desktop so that it could do pop-ups whenever the computer started up-- proof of why it is a bad idea to have the web browser always running.
Of course, this was a Microsoft hack so the Desktop wallpaper could support any graphics format that the browser did (Windows still only natively supports bitmaps!)
(Note: ActiveX was disabled, but because adding an active desktop object was on, the second part of the code executed. (the part that controlled the active desktop).
--Sam
--Sam
"at 210Mb I can't see the majority of systems out there that really need it getting the whole thing downloaded"
Doesn't MS have all legal copies registered? A CD in the mail shouldn't be too much of an expense. Heck, one CD to every home address that signs up wouldn't even trump AOL's CD spamming. MS could use some good PR and sending out free updates in the mail, maybe with a some advertising telling users what's coming, would be good for company image and users.
MSFT refuses to do more hiring to increase the number of people they have doing application compatability testing.
They also refuse to increase the number of people who work **full-time** in "sustained engineering". (I.e. the people who are supposed to be supporting shipped releases, so that the core Windows team can work on Longhorn.)
And the application compatibility testing team, while very good at what they do, can only cover so much ground so fast. Holding up XPSP2 solely to do app compat testing and the dev work to fix bugs they find is not acceptable. Especially when most of the things that are not being tested or that have problems, are either marginal products or (as others pointed out) just don't have companies behind them anymore.
Also, just like getting close to shipping any other software: much bigger issues that normally would have gotten into a service pack have been postponed or denied altogether. This is so that MSFT can do more security fixes or just get the code base stable enough for final testing and ship. That particular thing isn't necessarily solved with more people, but it is a fact of life when getting ready to ship.
So you compromise on something. In this case, it ain't gonna be security work, and it ain't gonna be XPSP2's ship date.
My last gripe on this point: When a company with $40+ billion in the bank refuses to spend it on more people, yet thinks they can have the same core development team do 4 - 5 major releases simultaneously, something's gotta give. For Longhorn, it was a firm ship date; for SP2, it's application compatibility.
No, I don't work on the app compat team. Yes, I work for MSFT.
It's about time Microsoft said some old software would not work. That is the only way they can fix the system! Also this has hardly hurt Apple.
I will be quite happy to see that my software still runs on the new system. I guess there is some fear that it won't, but I really believe I have written it correctly. Apparently some people aren't so sure about their software...
PS: This is different than making a change just to put a competitor out of business. In this case the change is pretty well documented so it can easily be seen if your program fails for a clearly explained reason.
FYI reading what MS has written for the programmers, it seems that what you have done is not enough and that you have to manually allocate the block of memory with the VirtualAlloc (I quote: "applications cannot execute from the default process heap or the stack").
Just wanted to mod this up, it sounds correct. I very much doubt you can switch a non-executable block, especially one that is not necessarily page-aligned, into an executable block.
for me if MS are still insisting on the EULA that authorizes (or a least claims to authorize) MS to install software without my knowledge. Has anyone who has read the SP2 EULA confirm whether or not it is a part of the agreement?
Attention all users planning on using the forced upgrade! You will definetly see problems once the devil spawn code is updated. You WILL lose data, your apps will stop running, and your dog will probably die. Rebooting 1000x's is the recommended solution to any and all issues encountered. Thanks for choosing Micro$oft. We hate each and everyone one of you...
Have a nice day!
Micro$oft Support.
I agree too. But it gets difficult ( as you pointed out ), when you have some sites you have to allow to run ActiveX controls to work properly ( and you want them to work ). Where I work, there are several thousand employees, all with different Intranet/Internet site they go to to do their respective jobs. This groups of sites changes often,so even though the default settings for MS IE security zones is preconfigured on each system we build, we have to let the end user ( employee ) change them or the work load will easily exceed what the very understaffed and recently mostly outsourced company IT staff can handle.
:)
I was one of the lucky(???) people not to be outsourced, and I can barely keep up with the demands for new standalone/network/java/etc. applications. The remaining staff is trying to figure out a good way to configure MS IE security to stop malicious usage of ActiveX controls, and to somehow stem the installation of malicious plugins, but that is quite the challenge in a rapidly changing, demanding, chaotic environment that I call work.
As far as home users go, I don't have a clue. I recently took some time to explain to a coworker how to install/use Adaware&Spybot on his home computer, but trying to get people to use a different browser is frustrating. I don't know if they just don't comprehend the fact that you can pick the browser you use, or if they'd just rather not be bothered with changing how they access web pages. Of course, most likely, it's because learning computer "stuff" ranks right up there with "polish the door knob" on their list of priorites.
I can't afford a sig!
As of 1 week ago the internet explorer update Q832894 causes MSN 8.x and 9 to have an internal error on load. If MS can't even keep compatability with their own software what hope do third party vendors have.
Doesn't GCC build trampolines under the stack? Under what conditions does it do this on x86? How many applications built with GCC are going to suddenly break?
I've had this sig for three days.
The Good:
Microsoft needs to do some house cleaning of Windows, and this seems as if it really is a step in the right direction as far as fixing up some of the security problems.
The Bad:
Of course, this is Microsoft we're talking about. If Microsoft can get away with purposefully breaking third party applications and then making it seem like it is for "security" purposes, they will.
Naturally, one has to wonder what havoc this SP will cause with 3rd. party firewall and antivirus software. It is not hard to imagine Symantec and McAfee taking a huge loss in user base if SP2 breaks their software, and then Microsoft says, "Well, those apps weren't well written or else SP2 wouldn't have broken them. Fortunately firewall and antivirus are built into Windows now, so you can ditch that 3rd. party software."
And this also will not really do very much to stop the spread of viruses/worms/trojans and adware, at least not immediately. The reasons are:
1. Most home users never run Windows Update. MS can tout the new security features all they want, but most users will not have these features because they won't patch.
2. People will still find a way to purposefully click on email attachments. I've known people who can't get weird email attachments because their AV software blocks it, so they DISABLE their AV software to open it.
3. SP2 doesn't look like it will address IE/ActiveX control issues that Adware writers love to take advantage of.
And of course, Microsoft is still pushing their campaign to integrate everything and the kitchen sink into the OS. First it was IE, now it is media player that MS claims is a vital component of Windows. Next it will be firewall and antivirus. These improvements should be modular so that users who have an external firewall or prefer a 3rd. party solution can simply knock it out of their install.
"You spoony bard!" -Tellah
wasn't one of the main arguments for choosing windows originally "choose us because we'll always have a backward-compatible option for you"..? Isn't this like microsoft breaking it's first-date promise to "always treat you with respect"? Do phb's finally feel the burn of bg's (sometimes) arrogance?
Uh, QuickBooks is a Java app that runs in IE. 'Course, it uses only MS Java and no other. Nice torpedoing of cross-platform compatibility.
I think NX can be disabled on the Control Panel. I am not sure because the Windows XP SP2 machine i've seen didn't use an Athlon 64 or Itanium but there was a NX tab in the Control Panel.
Good point.I have had problems with XP SP1 , so I went back to just that base XP. Of course, I don't have to worry as must as I only use Windows for P2P/Games, everything else is done on Linux. However, I still run the Norton Internet Security package on it ( Firewall + Antivirus + Malicious Script Checking ).
I can't afford a sig!
By collective conscience, you mean, of course, the Slashdot community, which contains members who still actually use the phrase "M$." Everyone else in the world likes Windows (really, I've asked non-Linux people, and they like it).
Slashdot started in the 90s. The bias wasn't "restricted to very small groups of hackers." I guess you forgot that there was hooplah over IE integration in Windows 98, and Slashdot covered the antitrust trial endlessly. Slashdot has been the bastion for anti-"M$" bias since its inception. "Microsoft Violates Human Rights In China", anyone?
"Sufferin' succotash."
Fortunately, the uninstallation makes heavy use of system-restore points, and seems to leave no residue!
With SP2, I also had problems with Services for Unix 3.5, but this may have been unrelated...
"Flyin' in just a sweet place,
Never been known to fail..."
Slashdot bitches about Windows and its backwards-compability causing blue screens.
.NET, as they're doing now...
Then, Slashdot bitches when Microsoft breaks compability to be more secure.
Man, Slashdot's gonna have a field day when Longhorn comes out and replaces Win32 with
"Sufferin' succotash."
.NET was always targetted for developers anyway. Users won't need to know about .NET.
.NET is replacing Win32 itself. The reecent betas are already running explorer.exe as managed code. So, users won't need to install the .NET framework because it will be part of Windows itself.
In Longhorn,
Right now, it's just a development framework to get used to.
"Sufferin' succotash."
While the SWT is pretty, it eats 120 megs of memory on my machine and a significant amount of CPU. The old standard BT client (whatever it's called) is more like 15 megs and much lighter on the CPU.
Actually, at work recently we've had a bit of a shootout among various XML DOMs. Our C++ code runs about 4 times slower than (my) tighter C code. But the amazing thing is that some Java code, with a highly optimizing JVM, has beaten my C by about 50%. Of course, we aren't counting startup time, but still, that sucker is fast. We think it comes down to the JVM being optimized for the P4 while the best I can do with Microsoft Visual C++ is optimizing for the Pentium Pro.
No one uses segmentation, so the feature is useless. The paging model for x86 have not had the benefit of a non-execution flag. This was introduced by AMD in x86-64, but unfortunately not copied by Intel in ia32e
wrong guess this time, VirtualProtect will work correctly, regardless of how the given region was allocated originally.
Hopefully they're cracking down on all the apps that have to run as admin.
I'd like to see them go one step further, but suspect it's only partially an OS design issue. I'm tired of (typically) MS games that require admin privileges to install. There are plenty of games that my power users (my kids) can install, but the MS games all require admin privs-- presumably so that they can make registry changes?
Longhorn was never "postponed." They never gave a release date. Originally they were targetting late 2005, then said they would target early 2006, and haven't said a word since.
My favorite thing is when Slashdotters call it "vaporware."
"Sufferin' succotash."
Hack hack hack hack, remove hack, hack a hack, hack hack hack...
Their code is SO CHOCK FULL OF HACKS to support older applications, and even hack to hack old hacks, that eventually the OS will crumble under its own weight.
The Apple transistion from OS 9 to OS X was VERY slick. Give old apps a Classic mode, and as apps get rewritten you use the new rewritten version in the main OS, and only dip into Classic mode for the old/unconverted apps. After a few years, get rid of the Classic mode and yay, millions of people easily converted from one generation OS to the next. Watching Apple move people from OS 9 to OS X was what caught my eye and made me think "This company has a fucking clue!" And once I saw 10.3, I bought a Powerbook. Too good to refuse.
With windows, it's still hack hack hack hack... I can't wait to be ENTERTAINED when Longhorn comes out. It's going to be a great laugh at that mess. And great for self employed geeks like me that work as consultants. MS makes a mess every couple of years, and that keeps us geeks paid cleaning up the mess.
The fix, as I see it: MS, IMO, should write Longhorn without ANY HACKS for old apps, and include with the OS a free copy of Virtual PC running Windows XP. Treat Virtual PC (which they now own) as Apple did with their Classic mode.
Of course, MS won't do this, and couldn't do it right if they tried, and at the end you still have a crappy OS full of security holes and a bad GUI. Oh well.
Doesn't this sound like JVM?
'The number one that leaps to mind is execution environments with just-in-time code generation.'
Are the using their security initiative to break java? It has seemed obvious to me that Microsoft would use security to break competitors products. Here it looks like they are.
Some application behaviors are expected to be incompatible with execution protection. For example, applications that perform dynamic code generation (such as Just-In-Time code generation) that do not explicitly mark generated code with execute permission may have compatibility issues with execution protection. Note that managed code applications and components built on the Microsoft .NET Framework's common language runtime (CLR) will continue to work--the CLR is compatible with execution protection in SP2.
.NET Framework, for example, works with the NX bit set.
X PS P2/default.aspx?pull=/library/en-us/dnwxp/html/sec urityinxpsp2.asp
Application and driver developers should be aware of execution protection and the requirements of software running on a supporting platform. Applications that perform just-in-time (JIT) code generation or execute memory from the default process stack or heap should pay careful attention to execution protection requirements. The
http://msdn.microsoft.com/security/productinfo/
Look, do you really want apps running that tramp all over memory the shouldn't be touching? This is a GOOD THING. SP2 isn't breaking those apps, theyr'e already broken, you just don't know it yet.
This would be how any firewall worth it's shit works. Nothing is permitted incomming by default, unless there is a rule specifying otherwise. Now, when your computer goes and establishes a connection outgoing to another computer, that is permitted by default (unless there is a rule specifying otherwise).
Question is, what happens when the data comes back? If your firewall just says "allow out, deny in" and simply evaluates each packet in a vaccuum, it would do no good. You could never establish communications since all inbound traffic would be dropped.
So, what firewalls do is keep track of connections. You send a request to a webserver, it replies. The firewall, because it's stateful, knows that the reply is a response to your request, and permits it through. However, it's for that connection only. If the same server trys to poke at you, it'll get denied, while still allowing traffic for the web connection through.
Thus a stateful firewall with two simple rules (allow out, deny in) can secure a desktop system pretty well. Anyone that pokes at the system will get nothing, but all requests that the user initiates will be allowed.
The Windows XP firewall is a pretty simple one. By default, it does just this. You can also, if you like, specify inbound ports that are to be permitted at all times. So if you run an FTP server, you can specify that port 21 be permitted. However, in it's default config, it works great for most users. It's how I configure Kerio Personal Firewall for people, barring special needs.
Bít, zabít, jen proto, ze su liska!
Now while everyone can point fingers and laugh at .NET, this is very smart for them. It makes it easier and cheaper for developers to make consistant apps in current and future versions of windows. If developers rely on ms code to handle the grunt work and they just do the stuff that makes their program, then they have a lot less overhead. And with microsoft grabbing it's balls and betting on security and stability, they can handle the backend bugs with their updates. True, that requires them to actually patch, but if they start with a much more stable and efficient groundwork, you'll see a lot less patches then now.
.Net is undergoing a major change in Longhorn, and everyone is going to have to fix a lot of code?
.Net capabilites? Take a look here. Microsoft does...
Did you realize that
While they could get the benefits you name, they have only just finished copying what's in Java and starting to think about what else they could add - that goes in Longhorn.
P.S. - You want a glimpse into the future of
"There is more worth loving than we have strength to love." - Brian Jay Stanley
But it will certianly help to preemptively stop a class of them. Things like code red wouldn't be possible if the server properly uses the NX flag on hardware that supports it.
Of course there are still a number of problems:
1) Not all hardware supports it. Won't for a while too. Pretty much it's 64-bit AMD and Itainum for now.
2) The progam has to not screw it up. Programs will be able to request that their data area be made executable. This is necessary for things like Java. However, lazy programmers could concievably do it for their whole program, and leave open an exploit that otherwise owuld have been impossible.
3) Buffer overflows aren't the only kind of exploit out there, nor does this necessarly stop all of them. It only stops the kind that relied on sending code to a program (which goes in it's data area) screwing it up and making it execute that code, which then did what you wanted.
It is certianly a step in the right direction though. Windows has supported executable flags on memory space for a long time, but it's never been enabled in any way since it never ran on any chips that supported it in hardware.
You can laugh, while wincing, or you can rage.
And if it comes down to this, you can recompile.
Some people may wonder why SP2 will be so huge of a download when it comes out. The reason is that not only have they introduced the features outlined previously, but they have recompiled many of their core system files using the latest Visual Studio and its detection in order to further remove possible exploits and overflows.
I'm looking forward to SP2 more than I was looking forward to SP1.
"Sufferin' succotash."
This is a HARDWARE DEPENDENT feature. For this to be implemented, hardware needed to be designed that supported it. Previously, all processors (x86) that Windows ran on only supported read and write flags on memory pages. Read then also meant execute. New heardware that Windows runs on (AMD x84-64 and Intel Itainium) support read, write and execute flags. So you can have an area of memory that can be read, but not executed.
Also, Windows has long had the capability to support this sort of thing, it's just never been enabled since there hasn't been architecutre to support it. From Inside Windows 2000, 3rd ed:
"The x86 architecture doesn't implement execute-only access (that is, code can be executed in any readable page), so Windows 2000 doesn't support this option in any practical sense (though IA-64 does). Windows 2000 treats PAGE_EXECUTE_READ as PAGE_READONLY and PAGE_EXECUTE_READWRITE as PAGE_READWRITE."
The OS level support was there back in Windows 2000. Indeed programmers could and probaly should have been correctly tagging their pages, even though the hardware lacked the support to enforce it.
Now there IS hardware out there that will support it, so MS is patching their OS to enable support for it. This has got nothing to do with the worms, NT was designed from the beginning to manage memory like this. It is just now that the chips it runs on allow for it to happen.
I mean, let's say that MS releases a new version of Windows that is totally incompatible with the old version. Nothing from the old version runs. What will happen? No one will buy it. It's not like the old version will stop working, they'll just keep using it.
Even WITH all the backward compatibility they have all hell getting people to upgrade. NT4 is now about 8 years old. What's more, Windows 2000 or XP are basically ideal replacements for it. They support everything NT4 did and more. Also, since they are just newer versions of the same architecture, you have almost 0 compatibility problems. In fact there are plenty of Windows 95/98 apps that wouldn't run in NT4 that run fine in 2k/XP. Finally, MS has discontinued support of NT4, what with it being 8 years old and succeded by 2 OSes.
So no one uses NT 4 any more, right? Wrong. There are still plenty of bussinesses that are dragging their feat and whining about MS cutting off support "so soon". Basically it comes down to money (they are too cheap to buy an upgrade) and the fact that it still works fine for them.
So it is highly in MS's intrest to keep their OSes backward compatible. They want that all a customer's apps will run in the current version, so there is basically no excuse (other than money) not to upgrade.
Also think about it: If MS totally broke compatibility with old versions, why not move to Linux? I mean either way you are talking needing all new apps, and Linux actually HAS some apps and is free.
No, I imagine they'll continue to support legacy software to the best of their ability.
Isn't that the same thing everyone said about XP SP1? And XP Gold? And Windows 2000 Gold?
I'm only relaying what they told me. I've used FirxFox for the occasional hotmail session myself and haven't had problems with it.
.7) for them one time, came back a few weeks later and they were back on IE. I asked why, and they said "Hotmail problems." It's the family computer with 3 teens and they use Hotmail, AOL Messenger (they're not on AOL), Yahoo Messenger, Yahoo mail, and they ALL have this insane obsession with installing new search toolbars (spyware) into IE.
... Oh, I'm sorry was that my out loud voice?"
All I know for sure is that I installed FireFox (Firebird
I just conceded the battle. I at least got them into the habit of running Ad Aware regularly now.
"Thanks for telling us about that Ad Aware. It really helps keep the number of pop ups down."
"Yeah, you know what REALLY keeps the pop ups down? Not using friggin IE!!!
Fist of all, contrary to what the poster above says, IE never had automatic ActiveX control installation by default. I don't know what he is smoking, but this was never the case.
Second of all, you can allow IE to install ActiveX automatically from trusted sites and provide your end users a list of trusted sites. Conversely, you can disable ActiveX controls from everywhere else. All of this you can do from a script (but not from within javascript running within IE) if you're local admin, automatically. You can also set up your domain logons so that users run this script when they login. There's a 1000 things you can do, but nobody seems to care to find out how, because folks at MS made their software too easy to use.
When a windows patch disabled plain-text passwords for network authentication I worked at a place that ran a very fragile samba system on some Solaris servers. We had to edit the registry on all the PCs that received the patch so they could get to network files again. I similarly expect that if a Windows patch prevents other insecure behaviour will will need to be able to disable that too, at least for a while. Any idea if this feature can be turned off?
Aside from the potential problems that will be thrown up by 3rd party apps, I believe our internal software should be fine, as it does not access the network, and we do not have NX chips (yet).
However I believe that the area we will have the biggest concern with, is found buried on page 15, and I have not found highlighted so far in any of the summaries I have read, either from them, here or other net commentary. This is in the section discussing the new behavior of Internet Explorer. I quote (empasis theirs):
We have a substantial amount of web content, of which a fair bit uses MIME types. I can see this causing weeks of QA work to ensure that we remain compatible with the market leading browser.Oh the pain!!
Glad to see they did a bang-up job of supporting such an innovative new feature:
I don't know how I could possibly continue using mutt in the face of such innovation.
As for the programmers of these apps, in the words of my dad: "Screeeew them."
Everyone wants to go to heaven, but nobody wants to die. People want Windows to be more secure, but they don't want anything to change. Well, it can't be both ways, and I'm glad that Microsoft is finally starting to expect people to deal with some loss in functionality and pain in exchange for security.
For your security, this post has been encrypted with ROT-13, twice.
Good idea, however, don't use virtualpc. vpc emulates the hardware, while something like vmware, relies on the existing hardware. This is why you can't run windows on vmware in mac, but you can run windos in vmware for linux(on an x86 box) vmware-style is less work, and will be faster...
O how i wish they would do this.
Helvick,
I am trying to find out if SP2 breaks. interpeters like Java and Python. They generate object code on the fly.
Does Java work in Firefox?
Does Python work?
You can downlog the python interpeter from this site.
Religion is the main cause of atheism.
The fact is, Microsoft really doesn't care about quality. As long as people are stupid enough to buy their seriously crummy OS, MS will just patch it up and send it out the door. As long as it boots and doesn't expode in their faces in a nasty fashion, they will ship it. Microsoft's only objective to keep winning in the marketplace, not to create a solid and secure OS with a well-designed user interface. This goes to the rotten heart of Microsoft's corporate ethos, which amounts to this: to sell, at any cost, to any customer anywhere around the globe. Forget about quality, forget about security or the needs of users. And that's why I believe that, in the end, Microsoft will die.
http://bugzilla.mozilla.org/show_bug.cgi?id=233765
The shareholder is always right.
Bah... many similar exploits in Linux world... apache recently, for one.
Also: using only the knowledge in your head and the known information about the bitmap problem, demonstrate a means to do ANYTHING useful. The presence of the buffer problem implies the *possible* existence of a working exploit, but the huge majority of attempted exploits will just cause the computer to lock up, or an app to crash. (And prior to XP, causing Windows to crash wasn't really an elite skill... anyone could do it.)
People always act like the existence of an exploit means you can just walk up to any machine and magically take it over... that's ridiculous hype. Even in linux, the system is only as secure as the person using it... you can have all of the theoretical security issues locked up tight, but they mean nothing if your password is taped to the side of the machine.
On the surface, this doesn't sound so bad. If the program is insecure, you don't want it running on your system anyway.
On the other hand, we all know that Microsoft likes to use "secure" as a synonym for "DRM."
What steps has linux put forth to make sure buffer overruns dont happen? I have seen programs that bost that they can detect and fix the error in code (Stackguard). Now, why hasnt GCC implemited this idea. It seems to me protecting it so the code cant buffer overflow AND the kernel cant would fix alot of problems.(Apache)(How to)
+-+-+-The folowing statement is true. The previous statement is false.-+-+-+
My guess is when they say "insecure applications have to be re-written", they really mean applications that depend on Microsoft components such as MSHTML. They probably have changed IE to block certain functions for security, which means anyone foolish enough to have based their product around IE now have to invest a lot of money in releasing a version that is compatible with SP2. This process will be repeated probably again when MS release Longhorn. It's amazing that most software houses simply accept this without thinking and continue using MS technologies without thinking about how MS are screwing them around.
I didn't say there wasn't a way to do remote debugging on XPSP2. Microsoft said they had to rewrite their remote debugger to work with XPSP2. I said, "Hey, y'know, I just turn the firewall off."
.NET?
Second, good for them. When I see the functionality or maybe even if they had documented that functionality as part of their SECURITY CHANGES, I'll shut up about it.
Outlook XP blocked me from viewing ZIP files unless I edited the registry, how is ANY NORMAL user supposed to correct that?!?
FTP makes use of the ports in strange and unconventional ways... riiight. In any event, my complaint is that (and this is gleaning from the Microsoft article) the PROGRAM ITSELF must clear itself with the firewall. Your link doesn't implies that's no longer the case, but if that's true... why rewrite Visual Studio
I want them to tell me if an unusual application (not registered in set access and defaults or not a signed system process) tries to access the network.
Actually, they do. The first time a program tries to access the network, a box pops up informing you of this.
I'd ignore this troll if it hadn't been incomprehensibly modded Informative . . .
1. A program can call "exec" on any file, whether or not it has the execute bit set. The system does not check
As others have said, bull.
2. Any program with permission to write the file can turn on the execute bit.
Also bull:
user1@mybox:/home/user1> touch foo
user1@mybox:/home/user1> chmod a+w foo
user1@mybox:/home/user1> su user2
Password:
user2@mybox:/home/user1> chmod a+x foo
chmod: changing permissions of `foo': Operation not permitted
Now, I would agree that the execute bit doesn't make for a great security feature, and maybe your description of the origin of the execute bit really is correct, but next time try arguing that without the FUD.
You set up a user called "name_of_uncooperative_program", then put them in the Administrators group, but then go into the security policy editor and prevent that user from logging in interactively (but give it "logon as service").
Then make a batch file that calls "su.exe" using -s to login as a serivce as that account (with password in tow), with the command set to the path to the program.
Set the batch file executable by users, and readable by no one (owned by administrator). Make a shortcut to the program on your desktop or whatever.
Easy!
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
More FUD at 11.
Furry cows moo and decompress.
UNIX had memory protection on x86 CPUs since MINIX. The OS sucked, now they used hardware to finally make up for their sick oversights.
Oh, I have a great idea... let's make an OS that lets you execute random segments of memory...
This sig is the express property of someone.
On X86 platforms VirtualPC emulates in the same manner as VMWare.
Or half empty. Microsoft embraces "security" partially because it forces the consumer to buy new things.
Duh.
"Security" is the great product of the 21st century...
Do you remember when products had to be "sexy"? Please Lord, take me back.
for the Microsoft Slashdot Response Team too.
I'm sick of seeing people make this same mistake over and over. If you ever read the ways they actually tell you to enable the "Real Mode DOS" in Me, you are required to install drivers from the Emergency Boot Disk. The EBD has the EXACT same files as the Win98 boot disk's except for where the name Windows 98 occured... that was changed to Windows Me.
Me itself doesn't have a Real-Mode DOS. It's kinda like the 98Lite solution of using the Windows 95 shell. You aren't running Windows 98 then, you are running a bastardized version of Windows 95. The boot loader for Me has just as much Real-Mode DOS in it as LILO or the NT Boot sector.
Time flies like an arrow;
Fruit flies like a bananna
Saying a Microsoft OS update could break apps is kind of like saying people could fall off bicycles.
MS is far from perfect, but worrying constantly about reverse compatibility is one of the major reasons windows is so insecure IMO. Microsoft can't take any big leaps in security as long as they have to work around 5 years of hacks and tweaks to keep things working. Microsoft seems to be doing a good job of giving developers fair warning. Furthermore, Windows actually has an excellent method for rolling back service packs, so even if it does break that mission critical app you can roll back and wait for an update.
Java -I don't use Java for much but just did a run through with Maestro and it seems to manage under pressure, chews up a few 100Meg virtual memory as always but I'm still able to work with the 3D stuff at 20-100fps. That's with IBM Java 1.2 (build wndev20030516.
Java in Firefox. Just to get something more typical I installed Sun's runtime (J2RE 1.4.2_03). No issues with a bunch of web embedded stuff I checked.
Python. Installs and runs some of it's own samples with no issues.
Perl. You didn't ask but I use Perl a lot. No issues with V5.8.3.
All of the above are for XP SP2 V2055 on an IBM T41p (Pentium M) not an AMD64 system where NX flagging is\can be enabled. Microsoft's page on NX (mostly an app issue for SP2) and PAE (mostly a driver issue for SP2) is very informative.
You want to rid XP of remote exploits? I already know how. It's devilishly simple:
:)
Turn off all listening ports. Done. Have fun exploiting my box when you can't connect to it. And no, this is not the same as unplugging the ethernet cable
For the vast majority of users, they don't need their computer listening unless they explicitly ask. For those that want to run a service, let them, but DON'T MAKE IT A DEFAULT OPTION.
In one fell swoop I've just prevented every remote XP exploit in existence. You're right about the email attachments, but you'll never be able to engineer around a user with superuser privledges running arbitrary executable code.
Endless arguments over trivial contradictions in books written by ignorant savages to explain thunder in the dark.
And just whose security are they talking about: ours or theirs?
Oh, say does that Star-Spangled Banner entwine / The myrtle of Venus with Bacchus's vine?
Thank you very much!
Religion is the main cause of atheism.
Yes, everybody is right that exec() checks the executable bit.
I was confused by the fact that shells do not check the executable bit. i.e. "sh foo" would run even if foo did not have the bit set. But if the bit was not set, exec would never even get to parsing the #! at the start and calling sh, so it does not matter.
It is also true that you can set things up so a program cannot turn the execute bit on a file it can write. What I meant was a file that it could create and then write.
Does it remove the protection on other data that happens to be in the same pages?
My own current project, a 75k lines of code scientific program, has 9 casts. Three are "static_cast", which does not mean "think of this data as something else", but "convert this data to something else". Two are "dynamic_cast", which is a run-time checked cast. Four are "const_cast" which are problematic. Two of them are for interfacing with an extrenal library, and two actually indicate an internal design problems. Anyway most of the other languages you mentioned doesn't even have "const", so any such design problems will be hidden.
There isn't a single "reinterp_cast", which is the kind of cast that you are talking about. They are not needed or common in "modern" C++ code.
There are no old (C) style casts, I compile with a flag that warns about them.