Spoofing Flaws for Firefox, Mozilla and Opera

Netcraft has a article about some of the security issues that are showing up in non-IE browsers.

Internet Explorer isn’t the only browser vulnerable to spoofing, as evidenced by the discovery of security holes in Firefox, Mozilla and Opera.

They also talk about the dangerous trend for IE.

Thus far, services tracking browser usage report only incremental gains for Firefox, Mozilla and Opera, with some suggesting IE has lost about 1 percent of its 90 percent-plus market share. But Firefox in particular seems to be catching on in some quarters, as was evidenced at the recent BlogOn2004 conference for weblog aficionados. During a Microsoft presentation about its Channel 9 blog outreach, a presenter asked “Show of hands…How many of you use Internet Explorer?” Not a single hand went up.

Network Access Protection

Just a quick heads up on a products a lot of my work friends on that has been announced publically. It’s Windows Network Access Protection. The basic idea is that a client connecting to a network is put on a restircted network till it has proven that it’s a safe machine (up to date with patches, running anti-virus, AV signatures are up to date, etc). This restricted network has enough access to do things like update the AV signatures and so forth. It’s a pretty nice idea for all thoose corperate laptops that slip around the firewall and screw your internal network.

WMP Library sample code

Steve Butler has an blog entries on using the WMP SDK to parse Library information and even better has a project about building a UPNP Media Server using some stuff Intel provides to make UPnP usable from managed code.

Xen released as Cw aka Comega

Don Box points out that you can now download the Comega compiler that contains Xen (X#) and Concurrency extensions. Xen is what happens when you take databases and xml and make it fundimental to a OOP language.

The problem facing the programming language designer is not only identifying the “heavily used APIs” and “common programming patterns” mentioned earlier but also tastefully realizing them as first-class language features or constructs. Bolting on random features leads to language bloat, potentially destroying any coherence the language may have had. In addition one hopes that by promoting a feature from an API it will be better supported given its existence in the language.

In our opinion three areas that are ripe for liberation from their lowly API status are (a) data-access, (b) concurrency and (c) security. [Programming with Circles, Triangles and Rectangles]

Training and Test Post

This week I’m taking some training by OSR on advanced driver development. I’ve been testing drivers since I started at Microsoft, but rarely from the kernel directy. As a result I have a fisheye’s view of the kernel that I hope to correct.

In the process of explaining how PnP works they showed off thier tool Device Tree, which is also distributed as part of the DDK. I couldn’t find a copy of the DDK for immediate download (although MSDN has a online copy of the docs), one could order it for just the shipping and handling. One of the cooler things about the recent DDK is that is comes with prefast, a nice tool finding some types of bugs in both drivers and normal code.

It was suprising to hear that people have trouble setting up a kernel debugger for windows kernel development. After noticing a prety good description of how to do it by Jolyon Wright, I feel I can only add two points and quick and dirty step-by-step guide. You can find the debugger on microsoft.com and the builtin “bootcfg” command line tool is a nice way to avoid the whole attrib thing when editing the boot.ini.

Here is the minimum setup:

  1. Connect the two machines via a NULL modem cable. Notice which serial ports you plugged the cable into.
  2. Choose a machine to be the debugger. Install the debuggers on this machine. Run windbg. Hit ctrl-k and put in the serial port you are using on that machine with a speed of 115200.
  3. On the other machine the debugee, run bootcfg. Run something like this: BOOTCFG /Debug ON /PORT COM1 /BAUD 115200 /ID 2
  4. Reboot the debugee and wait for debug spew to show up in windbg.
  5. hit the break button in the debugger (ctrl-break). Type .symfix and hit enter. Wait for the symbols to load from the internet’s symbol server and hit g to allow the debugee to continue running.

BTW: This item is a test post, which might get picked up by the Microsoft Community page.

Jon Udel and Internet Credential Management

I wrote a little peice on the WebTransports blog to help answer some questions Jon Udell asks about Windows XP, IE and credential management.

Why MSFT should abandon DRM

Cory Doctorow gave a talk today at Microsoft regarding why he feels that DRM is bad. There are three overall themes, first is that DRM is an end run around copyright law, and that all these schemes plus anticircumvention laws allows content distributers to invent new “law“. The second is that DRM is harmfull to pretty much everyone. The third is that copyright law has always in the past adapted to the new technological reality, not the otherway around.