25 najniebezpieczniejszych błędów programistycznych

25 najniebezpieczniejszych błędów programistycznych

25 najniebezpieczniejszych błędów programistycznych
18.02.2010 15:33, aktualizacja: 18.02.2010 16:00

Podobnie jak roku temu, 30 międzynarodowych firm i organizacji zajmujących się kwestiami bezpieczeństwa opublikowało listę najniebezpieczniejszych błędów programistycznych, które prowadzą do poważnych luk w zabezpieczeniach i umożliwiają popełnianie cyberprzestępstw.

Podobnie jak roku temu, 30 międzynarodowych firm i organizacji zajmujących się kwestiami bezpieczeństwa opublikowało listę najniebezpieczniejszych błędów programistycznych, które prowadzą do poważnych luk w zabezpieczeniach i umożliwiają popełnianie cyberprzestępstw.

Wyboru dokonały między innymi takie firmy jak McAfee, Microsoft, Oracle i Symantec, a także organizacje: Open Web Application Security Project (OWASP) i Web Application Security Consortium (WASC). Głosowanie zostało zorganizowane przez instytuty MITRE i SANS (SysAdmin, Audit, Network, Security).

Obraz

Celem inicjatywy jest przekazanie programistom wiedzy na temat sposobu pisania kodu wolnego od błędów z listy "top 25". Przyczyny powstawania niebezpiecznych luk w oprogramowaniu są wystarczająco znane ekspertom od zabezpieczeń, ale wielu programistów wciąż nie zdaje sobie sprawy, jakie zagrożenia niesie ze sobą tworzenie aplikacji bez zważania na aspekty bezpieczeństwa. Dlatego też opublikowana lista ma zwrócić uwagę projektantów na często popełniane błędy i sprawić, aby nie dopuszczali oni do powstawania kolejnych tego typu luk.

Błędy zostały podzielone na trzy kategorie. Pierwsza z nich zawiera częste pomyłki w procesie wymiany danych między systemami, umożliwiające ataki typu Cross-Site Scripting (nr 1) i SQL Injection (nr 2). Druga obejmuje luki związane z niewłaściwym obchodzeniem się z zasobami; na przykład zaniedbania w obsłudze pamięci systemowej, które mogą doprowadzać do błędów przepełnienia bufora (nr 3). Trzecia kategoria uwzględnia błędy, które mogą pojawić się przy implementowaniu zabezpieczeń. Przykładami mogą tutaj być niewystarczające lub błędne mechanizmy kontroli dostępu, hasła zapisane na sztywno w kodzie czy też stosowanie przestarzałych i rozpracowanych algorytmów kryptograficznych. Do każdego elementu listy dodano opis i ocenę zagrożenia z uwzględnieniem scenariuszy opisujących sposób obchodzenia danej usterki. Krótki spis najniebezpieczniejszych błędów został umieszczony w Internecie.

Nowe wydanie dokumentu zawiera zmiany, dzięki którym obok opisów konkretnych luk w zabezpieczeniach uwzględniane mają być także sposoby na ograniczenie szkód oraz ogólne podstawy bezpiecznego programowania. Wersja ta wprowadza dodatkowo tzw. Focus Profiles, które umożliwiają programistom wybór najważniejszych dla nich części z listy "top 25". Nowe jest też zestawienie najbardziej efektywnych sposobów ograniczania szkód (Monster Mitigations), które ma pomóc programistom zmniejszyć skutki lub wyeliminować luki uwzględnione w zestawieniu, a także wiele z 800 usterek udokumentowanych w zestawieniu Common Weakness Enumeration (CWE) instytucji MITRE. Ponadto kilka luk zaklasyfikowanych w ubiegłym roku jako poważne zostało zastąpionych przez niżej oceniane wówczas błędy, których waga jest obecnie zdaniem twórców zestawienia większa.

Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (3)