Producenci powinni odpowiadać za luki w oprogramowaniu?

Koalicja specjalistów ds. bezpieczeństwa z ponad 30 organizacji zachęca przedstawicieli firm do umieszczania w umowach z dostawcami oprogramowania klauzul, zobowiązujących twórców aplikacji do korzystania z ogólnie przyjętych zasad tworzenia bezpiecznego kodu.

Inicjatorami pomysłu są organizacje SANS Institute oraz Mitre Corp - ich przedstawiciele tłumaczą, iż wprowadzenie takich wymogów jest obecnie koniecznością i jedną z niewielu metod, która faktycznie może zmusić twórców oprogramowania do zadbania o bezpieczeństwo ich produktów.

Propozycja specjalistów jest prosta - chcą oni, by firmy kupujące aplikacje wymagały od ich twórców udowodnienia, iż kod powstał zgodnie z zasadami tworzenia bezpiecznego kodu. Jeśli później okaże się, że dostawca do takich zasad się nie stosował, to kontrahent będzie mógł żądać od niego odszkodowania. Podstawą do takich roszczeń mógłby być np. skuteczny atak na ową aplikację, przeprowadzony przez błąd, który nigdy nie powinien się w niej pojawić (gdyby była napisana zgodnie z zasadami).

"Prawie wszystkie ataki na oprogramowanie przeprowadzone są z wykorzystaniem prostych błędów programistycznych, które umożliwiają hakerom wprowadzenie złośliwego kodu. Obawiam się, że jedynym sposobem na wyplenienie tych błędów jest umieszczenie w umowach z dostawcami oprogramowania zapisów, w myśl których będą oni odpowiedzialni za straty powstałe w wyniku ataków przeprowadzonych przez takie luki" - komentuje Alan Paller, szef działu badań SANS Institute.

Warto wspomnieć, że specjaliści z SANS i Mitre opublikowali niedawno listę 25 najpoważniejszych błędów programistycznych - z dołączonego do niej raportu wynikało, że to właśnie wymienione w spisie błędy zostały wykorzystane we wszystkich głośniejszych atakach informatycznych ubiegłego roku (dotyczy to również słynnego ataku na Google i kilkadziesiąt innych amerykańskich firm, przeprowadzonego prawdopodobnie przez Chińczyków).

Na pierwszych trzech miejscach listy znalazły się następujące błędy programistyczne: buffer overflow (czyli błąd przepełnienia bufora - zwykle umożliwia nieautoryzowane uruchomienie kodu w systemie), SQL Injection oraz cross-site scripting (te luki umożliwiają umieszczenie w bazie danych lub na stronie WWW złośliwej zawartości).