praka123 said:
i heard Vista got a "sudo" so,that means they are copying more from UNIX
Vista introduced two concepts to the NT line that enhance security, and both were pioneered in the Unix world.
First, Address Space Layout Randomization. This means an executable (primary target of buffer overflows, which are arguably the "king" of exploits at the moment) can be built like a dynamic library and the entry points can be randomized. (This was pioneered by IBM in early 2001...look up "ProPolice"...and was rolled into GCC in April 2004 for use on Linux systems,
THOUGH NOT ALL LINUX SYSTEMS USE IT!!!!!!!!!) (is my dislike of "user friendly" Linux distros becoming clear? hahaha). This makes it MUCH more difficult to exploit a service/executable because offsets are randomized and the like. (Edit - just for information's sake: PAX is a two-part add-on. The components are PIE (Position Independent Executable...same as Vista's Address Space Layout Randomization) and SSP (Stack Smash Protector) SSP on Unix/Linux works by compiling executables in a specialized manner...every time a buffer is created, the buffer is made slightly larger than necessary. The excess space is filled with a random "canary value", and after the function call completes *but before it returns!*, the canary value is verified. If the canary value is in place still, no buffer overflow has occurred, and the function returns normally. However, if the canary value has been modified (a buffer overflow HAS occurred), then the program terminates without returning from the function call (better to have a program crash than get compromised)).
Second, User Access Control. By default, the "admin" account on Vista (this is my understanding...if some of you that have greater understanding of Vista's security model want to chip in, please do!) runs in "reduced" permission mode, and to switch back to full admin mode requires interaction from the user. Unfortunately, this interaction is simply a click (not password entry) (Edit - my last brush with Vista was RC1, so this MAY have changed since then!), so it's not as secure (though many Linux systems use sudo in an insecure manner, too). Basically, Vista's implementation is a "reverse" sudo.
The bottom line: Yeah, Vista has "copied" stuff from Unix...but then again, Vista has this technology, making it more secure. It's almost a "religious" debate, because you can argue all day that it's "copying" stuff, and Vista supporters can claim that doesn't matter because Vista is more secure...either way, you make no progress on either side.
praka123 said:
but that doesnt make the kernel fully different.i mean the same base is for winnt,win2000 too holds afaik.but i am skeptical of the Vista kernel to
nly time can tell whether that lives upto M$ claims.
Starting with Windows NT, Microsoft completely re-wrote the kernel from the ground up. Part of the reason was that Windows 9x relied on old 16 bit code, and the NT kernel was written to be fully 32 bit. Yes, it's a different animal.
You're right that the same code base is used for NT, 2000, XP, 2003, and Vista. But take a Linux kernel and compile it with the defaults...then patch it with RSBAC and PAX, compile it, and look at the security difference. The same code base can change *quite a bit* based on parameters passed to the compiler, patches to the code base, the hardware it runs on, etc...
I'm not trying to be difficult here, but bashing Microsoft just because it's Microsoft makes no sense (Edit - and yes, I've been guilty of M$ bashing during the course of this discussion...I was trolling =). You have every right to be skeptical because of Microsoft's track record...but just like anything in life, things change constantly. I'm not saying that you should go spend $400 on Vista, but keep an open mind about it. (Edit - my overall goal is to find and use the most secure systems for each category of system I need (server, workstation, home desktop, etc...). Should I discover tomorrow that Microsoft produces a more secure system (which will take a LOT because I have grown accustomed to having access to source code), I'd switch to Microsoft *for that particular need*, not because I'm a Linux fanboy, but because I seek an appropriate system for my needs...and since the majority of the gaming I do is easily covered by Linux (Nexuiz, alienarena, doom3, etc...), I stick to Linux for my gaming needs).
This isn't about winning arguments, this is about discussing reality =)