W ramach swojego Security Development Lifecycle (SDL) Microsoft
udostępnił właśnie narzędzie, za pomocą którego programiści mogą
zintegrować całą wiedzę SDL w swoich środowiskach do opracowywania
aplikacji. SDL to prowadzony przez Microsoft proces, który ma na celu
tworzenie możliwie jak najbezpieczniejszego i wolnego od błędów oprogramowania. Wewnątrz firmy SDL jest integralną częścią składową wszystkich programów i systemów operacyjnych rozwijanych od 2004 roku.
Aby umożliwić udział w SDL także programistom spoza Microsoftu, do tej
pory koncern publikował wytyczne i porady w formie pisemnej
dokumentacji. Jak można się domyślić, dostosowywanie własnego procesu
rozwoju oprogramowania do zaleceń SDL było dość uciążliwe. Process
Template to pierwsze takie narzędzie rodem z Redmond, które odwzorowuje
kompletny SDL w jego najnowszej postaci oznaczonej numerem 4.1. W tym
celu Microsoft posłużył się mechanizmem szablonów (Templates) dla
Visual Studio Team System.
Jak stwierdził w rozmowie z heise Security Glenn Pittaway, Group
Program Manager zespołu SDL, kod źródłowy musi być obsługiwany za
pomocą Visual Studio. Z drugiej strony takie rozwiązanie maksymalnie
ułatwia pracę z SDL projetktantom obeznanym z Visual Studio Team
System. Nawet programiści, którzy nie mają szczególnego doświadczenia w
kwestii bezpieczeństwa, będą w ten sposób mogli według Pittawaya pisać
bezpieczny kod programów.
Pittaway nie chciał odpowiedzieć jednoznacznie na pytanie, czy
Microsoft przygotuje także szablony dla innych środowisk do rozwoju
oprogramowania. Firma będzie teraz oczekiwać na opinie zwrotne ze
społeczności programistów i jeśli pojawi się takie zapotrzebowanie,
możliwe, że pojawią się także inne warianty, które współpracowałyby nie
tylko z Visual Studio. Według Pittawaya w SDL 4.1 Microsoft szczególny
nacisk położył na aplikacje sieciowe. Usługi, a także lokalne programy,
które stale lub często łączą się z Internetem, wnoszą całkiem nowe
wymagania do koncepcji zabezpieczeń, w związku z tym twórcy SDL wzięli
te zagadnienia pod uwagę.
Programiści, którzy chcieliby zorientować swój własny proces
programowania na wymogi SDL, mogą dostosować długą listę wytycznych i
porad do swoich potrzeb i w związku z tym nie muszą przywiązywać wagi
do kroków procesowych, które z ich punktu widzenia są nieistotne. Każde
zadanie, takie jak np. usunięcie błędów w kodzie źródłowym, może być
przyporządkowane za pomocą szablonu określonej osobie albo zespołowi.
Status każdego projektu można szybko sprawdzić. Poza tym w ten sposób
łatwo jest tworzyć statystyki i raporty, by z ich pomocą oceniać między
innymi skuteczność zewnętrznych narzędzi do wykrywania bugów.
Jak istotne jest tworzenie bezpiecznych programów, dyrektor Microsoftu
zademonstrował na przykładzie danych statystycznych. Obecnie jedynie 10
procent exploitów za swój cel ataku wybiera system operacyjny. Według
Pittawaya pozostałe 90 procent jest skierowane przeciwko programom i
przeglądarkom. Siedemdziesiąt procent twórców oprogramowania nie
poddaje swoich programów żadnym testom bezpieczeństwa przed ich
upublicznieniem. Jednocześnie amerykańska agencja NIST (National
Institute of Standards and Technology) stwierdziła, że rozpoznawanie i
usuwanie problemów z zabezpieczeniami jeszcze w fazie projektowania
jest 30-krotnie tańsze od usuwania tych problemów już po wydaniu
produktu.
To, że SDL spełnia swoje zadania, potwierdza także Dan Kaminsky, który
ostatnio stał się obiektem powszechnego zainteresowania za sprawą
wykrytej przez niego luki DNS Cache Poisoning. Kaminsky zalicza się do
zewnętrznych ekspertów od bezpieczeństwa, którzy są regularnie
angażowani przez Microsoft do testowania kodu źródłowego. W rozmowie z
dziennikarzami Kaminsky oświadczył, że kod pisany za pomocą SDL jest
bez porównania lepszy i bezpieczniejszy niż kod programów pisany przed
rokiem 2004.
źródło: komputery.wp.pl
|