Luty miesiącem bezpieczeństwa

7 tys. programistów Microsoftu odpoczywa od pisania kodu. Przez miesiąc nie powstanie nawet mały kawałek nowych Windows, Office, SQL Servera.

7 tys. programistów Microsoftu odpoczywa od pisania kodu. Przez miesiąc nie powstanie nawet mały kawałek nowych Windows, Office, SQL Servera.

Kalendarz błędów

Najważniejsze błędy w oprogramowaniu Microsoftu w II połowie 2001 r.

Grudzień - komponent Universal Plug and Play (UPnP) Windows 98, Me i XP umożliwia wykonanie dowolnego kodu na stacji roboczej

Listopad - Windows Media Player w Windows XP dopuszcza wykonanie dowolnego kodu na stacji roboczej

Październik - Terminal Services umożliwiają atak DoS w celu zawieszenia pracy usługi; Microsoft wcześniej udostępnił "łatę", która nie działa poprawnie

Wrzesień - błąd usług RPC Windows NT 4.0 umożliwia ataki DoS

Sierpień - błędy IIS, umożliwiające wykorzystanie przeciążenia bufora, m.in. przejęcie kontroli nad serwerem i rozprzestrzenianie koni trojańskich, takich jak "Code Red"

Lipiec - SMTP Windows 2000 umożliwia przesyłanie poczty elektronicznej bez autoryzacji

Każdy pracownik Microsoftu w połowie stycznia otrzymał list od Billa Gatesa, z którego dowiedział się, że od tej chwili priorytetem firmy staje się bezpieczeństwo. Treść listu, zapewne zgodnie z intencją autora, szybko wydostała się poza biura Microsoftu. Czy to tylko kolejny zabieg geniusza marketingu, za jakiego uważa się Billa Gatesa? Można by było tak myśleć, gdyby nie fakt, że kilka dni później założyciel firmy podjął konkretne działania - ogłosił, iż na 28 dni lutego Microsoft wstrzymuje rozwój oprogramowania! Pracownicy mają poświęcić ten czas na weryfikację pod kątem bezpieczeństwa wszystkich tworzonych aktualnie komponentów. Luty w Microsofcie upływa pod znakiem szkoleń i testów.

Buszujący w kodzie

Szkolenia "Jak pisać bezpieczny kod" są obowiązkowe dla wszystkich programistów i testerów. Ponadto programiści zostali zobowiązani do dokładnego przejrzenia dotychczas stworzonego przez siebie kodu. Nową praktyką jest wprowadzenie dodatkowego elementu kontroli jakości. W ramach każdego, najmniejszego nawet, zespołu programistycznego powołano grupy zajmujące się wyłącznie sprawdzaniem kodu.

W efekcie kod powstający w Redmond i innych ośrodkach na całym świecie będzie sprawdzany kolejno przez programistę, testera i niezależny zespół ds. bezpieczeństwa. Według Jakuba Połcia z polskiego oddziału Microsoftu, zespoły weryfikacyjne - opiniując jakość kodu - mogą skierować go do poprawek lub nakazać napisanie od nowa.

Być albo nie być

Inicjatywa ta nie ma precedensu nie tylko w sięgającej ćwierć wieku historii Microsoftu, ale i w dłuższej historii przemysłu IT. Kierownictwo firmy doskonale zdaje sobie sprawę, że oprogramowanie Microsoftu, z racji dominującej pozycji na rynku, jest szczególnie narażone na ataki ujawniające zaniedbania w dziedzinie bezpieczeństwa. Po fali ataków wykorzystujących luki Windows, Internet Explorera czy Outlooka, podjęcie zdecydowanych działań było konieczne. Prawdziwą sztuką jest jednak ze słabości uczynić atut.

Istotny jest moment, w którym Microsoft podjął działanie. W USA po zamachach z 11 września 2001 r. nadal wyczuwa się atmosferę niepokoju, a kwestiom bezpieczeństwa nadaje się priorytet i medialny rozgłos. Do Microsoftu przylgnęła etykieta firmy, która nie dba wystarczająco o bezpieczeństwo swoich produktów w stopniu proporcjonalnym do udziału, jaki firma wywalczyła sobie w rynku. Mało kto jednak zdaje sobie sprawę, że w prowadzonych niezależnie statystkach błędów i luk bezpieczeństwa poszczególne edycje Linuxa zajmują wyższe pozycje niż Windows.

Ale nie tylko zerwanie ze złym wizerunkiem może być motywem działań Billa Gatesa. Warto zauważyć, że większość dotychczas wykrytych groźnych luk w bezpieczeństwie systemów i aplikacji Microsoftu nie wynikała bezpośrednio z konstrukcji określonego komponentu, ale przede wszystkim ze sposobu, w jaki komunikował się on z innymi komponentami. Przykładowo, luka umożliwiająca włamanie za pośrednictwem serwera IIS do Windows 2000 nie wynikała z wady modułu HTTP, ale ze sposobu interakcji z modułem serwera indeksującego. O ile dotychczas te problemy można było rozwiązywać, "łatając" kolejne wydania produktów, o tyle taka strategia może okazać się zawodna w przypadku produktów promowanych w ramach architektury .NET.

.NET zakłada udostępnienie użytkownikom komponentów, które będzie można łączyć w usługi Web. Przy założeniu mnogości i powszechnej dostępności komponentów pisanych przez Microsoft i firmy niezależne, potencjalnie wzrasta liczba problemów. A jeśli odbiorcy usług Web natrafią na problemy, zniechęcą się do koncepcji .NET, niwecząc ogromny wysiłek firmy.

Oby się udało

W przeszłości Bill Gates wysyłał już podobne listy do swoich pracowników. W najważniejszym - z końca 1995 r. - zakomunikował, że firma koncentruje się na Internecie. Po roku Microsoft był liderem rynku przeglądarek, a technologie internetowe trafiły do wszystkich jego produktów. Jeśli ten ostatni list miałby przynieść podobne efekty w dziedzinie bezpieczeństwa, należy autorowi życzyć powodzenia w realizacji planu.

Dla Computerworld komentuje

Tomasz Bejm, dyrektor Działu Zarządzania Ryzykiem Informatycznym w firmie Andersen

Jeśli kod oprogramowania - tak jak w przypadku Microsoftu - tworzony jest przez kilkadziesiąt zespołów projektowych, a terminy zakończenia prac okreś-lane są przez działy marketingu, efektem musi być nie sprawdzony do końca produkt. Dlatego producenci oprogramowania świadomie przyjmują model częściowego testowania oprogramowania przez użytkowników końcowych, akceptując ryzyko, iż produkt ten posiadać będzie błędy lub usterki. Zakładając, że błędy w oprogramowaniu nie spowodują istotnych strat po stronie klienta, łatwo jest jednak przekroczyć pewną granicę. A na taką sytuację czeka konkurencja.

Inicjatywa Microsoftu niewątpliwie jest działaniem marketingowym. Firma stara się przekazać klientom informacje, że chce, aby w oprogramowaniu było jak najmniej błędów. A takie działanie firmy jest bardzo cenne. Nareszcie ktoś pokazuje wagę kwestii związanych z bezpieczeństwem i ryzykiem korzystania z systemów informatycznych. Ma to tym większe znaczenie, że czyni to Microsoft, potentat rynku oprogramowania, z którego produktów korzysta zdecydowana większość użytkowników systemów komputerowych.

Czy przez miesiąc można coś poprawić? Biorąc pod uwagę, że średnio projekt trwa kilkanaście miesięcy, jeden miesiąc to 5-10 % czasu jego trwania. To dużo.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200