Friday, June 11, 2010

Software patching strategy...

There's much controversy about security flaw found in Windows XP and published by Google's researcher. You can read about it across cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Internet, but here's one story. Short version is this: after cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 researcher found cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 flaw he gave Microsoft five days to react. But, Microsoft has something called 'patch Tuesday' which means it is delivering patches every Tuesday. I agree that this brings predictability to IT departments, but this is only true if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 number of patches is high. So in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 end, Microsoft didn't react in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 given timeframe and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 researcher published exploit. As I sad in one comment, I don't believe that Microsoft didn't react on purpose. It is more likely that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y didn't know how to react and/or cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir procedures are not up to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 task. Some are criticizing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 researcher's approach, while cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs are not. And it is true that this brought some IT managers, CISOs and who knows who else into very dangerous situation. But cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n, something like this should be made equal to impossible by a responsible company that is producing such a critical piece of a software like OS.

Contrast this researcher's behavior with some cracker that happened to find cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same flaw. He could eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r sell it or devise exploit himself. In eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r case cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 exploit would be used at some point and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software producer wouldn't be notified about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 flaw. By cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time it is clear that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is a flaw, five days to react is huge time frame!

What is my point? The point is that in present times, and in future even more so, it is luxury to react in more than a day, maybe even in more than a few hours. Patches and workarounds have to be available immediately. Of course, someone could comment now that in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 complex software it is hard to devise patch in a such short time frame. But, actually, I think it is possible with few changes in how software is developed.

First, software has to be clearly modularized. Each module has to have capability to be disabled or enabled. Obviously, when a flaw is found in a module, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first reaction would be to disable cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 module. Of course, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are two problems with this. The first one is that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are modules that are absolutely critical for a functional system. For example, in Linux kernel it is not possible to disable kernel locks because kernel can not function without cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m. But such a critical software should be made small and controllable so that it can be fixed in a matter of hour. The second problem is that some modules are not critical for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system itself, but are critical for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 environment in which cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are working. For example, driver for a network card. It can be disable, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system itself will be functional, but it will also be useless. This case should be handled in such way that each user can use predefined functionality definitions and alter cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m or create a new ones. To return to an example with a driver for a network card. In this case it is common wisdom that no system today can work without network card. So, some profile will define network card as critical and as such it will not be disabled without explicit confirmation from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 administrator. But, such modules have to be developed with principles somewhere in between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 absolutely necessary modules and modules that aren't necessary at all (like Help system that is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cause of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem with Windows XP that started this blog entry).

About Me

scientist, consultant, security specialist, networking guy, system administrator, philosopher ;)

Blog Archive