Today I have mixed feelings about being here, because it is my oldest daughter’s first day at school. I wanted to bring her to school together with my wife, but unfortunately that was not to be. I spoke with her on the telephone this morning, and she was really happy that she could finally go to school.
I just got a text message from my wife to tell me that she didn’t cry.
Breakfast here is nice. They have all sorts of fresh and healthy stuff in the buffet, various sorts of bread and cereal, fruits, … I am sure it all tastes great, but I went with the fried bacon instead. Nothing to get me going in the morning like 2 plates of bacon, bread with honey and a cup of coffee.
I just registered for the MVP influentials boot camp, which is a private session for MVPs and community influencers. The idea here is to have discussion groups for separate topics, in which you can participate when you feel like. The content itself is covered under my NDA so can’t write anything about it.
It was basically talk about community issues, and not technical issues.
The keynote was delivered by S. Somasegar, VP of developer division, in an auditorium that was smelling of paint fumes. It quickly became obvious where that was coming from. 2 grafiti artists were making paintings on the stage. They were wearing gas masks of course.
Those paintings were not part of the keynote, nor were they refered to so it is beyond me what the point was.
Apparently there are a million VS users worldwide, with 25% of them paying for the Team System environment. There are also 17 million registered downloads of VS Express.
The keynote revolved around the new features of .NET and VS:
- LINQ, and the new Sync framework which makes it easier to synchronize between online and offline collaboration.
- The new .NET technologies WCF, WF and WPF
- Silverlight and popfly. Tools for easily creating and modifying web pages and web applications.
Microsoft is also going to deliver guidance on the use of new technologies through extensive demo applications, and by providing blueprints..
The future of MSDN is to expand with a code gallery, an already existing wiki page in which everybody can add comments or remarks to expand the usefulness of the documentation, and a translation wiki. This is a pilot project to translate MSDN documentation to different languages.
Another very noteworthy item is that VS2008 and .NET 3.5 will be released in November 2007. This is very good news, since it contains a lot of features (WPF, WCF, WF, …) that I care for, and it will also contain a lot of new C++ features of which I am not yet allowed to talk. But Luckily Kate Gregory, Ale Contendi and Steve Teixeira will expand on those, after which I can also talk about them.
Then there was a demo with the new silverlight web technology, which was pretty cool. Not being a web developer I couldn’t judge the impact, but according to Tom it was all neat stuff.
Another noteworthy thing is that VS2008 is developed using VS2008 Team Foundation Server. A 1000 developers working on the same project, managing 30 million lines of code… In my book, that is an important vote of confidence in the Team System technology.
The license for Visual Studio has also changed. You are now allowed to use VS to build applications for other platforms, like linux or BSD. Apparently, this was forbidden earlier. The IDE source code is also becoming available to help you write plug-ins.
The next version of VS is codenamed ‘Rosario’ , and will focus on organizational collaboration, QA and advanced developer tools.
SEC302: Windows Vista Security for developers
This session is hosted by Rafael Lukawiecki.
My other option would have been the session on VS2008 and its new features. That would have been interesting as well, but I already saw some of it last year (with the Vs2008 beta) and Vista security is annoying me seriously, so I wanted to know some more about it.
The goal of Vista is to achieve NIST Common Criteria Certification Compliance. This seems to be a gold standard, identifying an OS as secure.
Currently, Vista ‘seems’ to be more secure than XP, judged by the number of exploits and vulnerabilities in a given time since release. This period is not yet statistically significant, but so far it seems to be secure.
Vista has a number of features that make it more secure, and I will briefly touch on them here:
- During boot, the system files are protected by bitlocker and TPM, ensuring that no off-line changes were made to system files.
- Network Access Protection (NAP) allows administrators to force computers to update themselves to the policies of the network before being granted access to the corporate network. This is done by giving it an address that can only be used on a tiny subnet, just for the sake of enforcing NAP. Only if the system is up to date will it be given a network address on the corporate network.
- Everybody is a standard user, and get dialogs for actions that require privileges.
- IE7 has better protection against phishing and malware.
- The restart manager can apply updates and reboot the system while the computer is locked and has applications open. After a reboot, the system and application are restored to their previous state if possible. Note that this needs explicit application support, which is currently only implemented by a couple of Microsoft apps, most notably Office 2007.
- The service layer in Vista has been significantly hardened. Each service now has a unique SID that can be used to restrict the things it can do, and it can also be used by service programmers to define the only privileges they require to operate. Furthermore, the user account of a service is now LOCAL_SERVICE or NETWORK_SERVICE where possible, instead of LOCAL_SYSTEM as it used to be.
The number of layers in the service infrastructure has also been increased, separating high risk functionality from low risk functionality. A lot of stuff has been thrown out to make the high risk layer more secure.
- DLLs are now loaded randomly at one of 256 possible locations. An attacker can no longer assume system DLLs to be located at fixed addreses, reducing the possibility for compromise.
- System components obfuscate long lived pointers that are accessed infrequently. This is another way to reduce the attack surface of those components.
- Vista has more support for Data Execution Prevention (DEP) and Non- Execute (NX) technology, preventing attackers from writing and then executing code into a memory space.
- .NET 3.0 has improved CAS and evidence technology for increasing security and authorization.
- .NET 3.5 will further implement trust levels between an application and its external controls, and reflection will be made opt –in for private members.
- .NET 4.0 will have even better security integration, but I didn’t really understand those features since they were only mentioned in passing, and it will be some time before it is released.
- Networking wise, Vista has received a hardened TCP/IP stack that has a dual implementation for IPv4 and IPv6. If you accept IP addresses in your GUI, be sure to allow both kinds or your app will not work correctly for IPv6 networks.
- There is an application aware outbound firewall. This means that you can restrict applications from making outbound connection. This will greatly decrease the chances of malware making an outbound connection and sending your private information to an attacker. Btw, the IP stack is not vulnerable to modern day attacks.
- UAC (the annoying pop-up feature) can be controlled through local policies. Older applications are not UAC aware so they will either be virtualized (running in their own virtual file system and with their own virtual registry) or constantly nag you.
- The authentication subsystem has been overhauled, and Gina was one of the casualties. For those who don’t know, Gina was the DLL that took care of authentication on windows XP and earlier. If you wanted to provide a different logon mechanism, you needed to hack Gina to shreds. And there could only be one Gina active, so that wasn’t too flexible either.
Gina was shot in a back alley, and superseded by a new pluggable authentication subsystem in which multiple parties can provide an authentication mechanism like a retina scanner or a DNA sampler (hypothetically speaking).
- Windows cardspace is the new claims based authentication model that can be used by web applications (or others) to authenticate you based on PKI certificates and a load of other stuff, without having to care about that stuff. It would allow single sign-on, and automatic authentication if the correct identity cards are in place. It will also allow authentication while respecting your privacy. For example a website could enforce an age limit without actually needing your date of birth.
- Bitlocker is a technology that allows whole-disk encryption to protect your files, and can use additional items like USB dongles or password to further increase security.
- There is a new cryptography algorithm suite available in Vista that is compliant with the NSA suite B requirements. This is to enable you to create secure applications, and provide you with a secure system, since Vista uses those algorithms internally for all crypto related stuff.
- TPM allows you or the system to store secret information (like keys) in a way that they cannot be extracted though any other means. There was no in-depth discussion on TPM, but it relies on the availability of a TPM chip on the motherboard.
All in all this was an interesting discussion, and well worth the time. There are several more security sessions this week, and maybe I’ll attend one or more of them, but at least now I have an idea on the security infrastructure in Vista.
And I also know why it nags so much to do trivial things.
I had a phone call with my oldest daughter at 17:30 between the sessions, and I was glad to hear that she had enjoyed herself on this first school day. She didn’t even want to come home from the after-school care, so my wife had to carry her out.
WIN302: .NET3.5 end to end: putting it all together
This session was hosted by Matt Winkler and David Aiken. It started with a power outage that delayed everything with 10 minutes. By the time they got the session going, it was already too late to join another session, so I left it altogether.
To summarize: they showed a demo application, using all the new .NET features, and then they TOLD you which feature they were using at a given time. ‘Now I want to see the food and order something, which is done with WCF. Now I do this, which uses that, yada yada yada…’
In other words: all talk, no code. No technical stuff was discussed, so I decided to leave.
It’s not that big of a disaster though, since there was nothing else I really wanted to see in this session slot. They kept all the good stuff for tomorrow and later.
So I used the free time to write my reports. Later today I will go to the welcome reception and check out the different booths in the exposition hall.
Welcome reception, afterthoughts
The welcome reception is a bit chaotic, though that can be expected if thousands of geeks and nerds decend on an exhibition hall where people are giving away a limited amount of free stuff.
Let’s see; I got an inflatable microphone (nice for my oldest daughter), an earth shaped stree ball (ditto), a signed copy of ‘The security development lifecycle’ by Michael Howard and Steve Lipner (It is beyond me why they were giving these away, but I didn’t argue) and a free tech-ed 2007 T-Shirt.
I drank some beer and ate some snacks, and decided to call it a day.