05 maja 2010

Google zachęca do zabawy w komputerowych przestępców

Nie od dziś wiadomo, że najlepszy sposób na zrozumienie najważniejszych zagadnień z dziedziny bezpieczeństwa systemów oraz aplikacji informatycznych stanowi zapoznanie się z... warsztatem komputerowych przestępców. Jedynie tego typu wiedza pozwala na dogłębne zrozumienie zagrożeń, a to z kolei daje szanse na skuteczne wyeliminowanie większości podatności z własnych systemów. Niestety bardzo często jest tak, że programiści nie zwracają szczególnej uwagi na bezpieczeństwo tworzonych przez siebie aplikacji. Z moich własnych doświadczeń wynika również, że polskie uczelnie praktycznie zupełnie ignorują tematykę bezpieczeństwa aplikacji w swych programach nauczania. Na szczęście, dzięki firmie Google, programiści aplikacji internetowych mają teraz szansę nadrobić wszelkie zaległości w tym zakresie.

W ramach programu Google Code University, internetowy gigant przygotował bardzo interesujące materiały edukacyjne z zakresu bezpieczeństwa aplikacji webowych. Na kurs Web Application Exploits and Defenses składaja się materiały pozwalające programistom na rozwinięcie swych umiejętności teoretycznych oraz praktycznych w zakresie tworzenia bezpiecznych aplikacji oraz ofensywnego testowania bezpieczeństwa.

Najważniejszym elementem całego przedsięwzięcia jest specjalnie przygotowana (niezwykle dziurawa) aplikacja stworzona w języku Python. Zadaniem osób chcących poznać tajniki ofensywnego bezpieczeństwa jest natomiast wcielenie się w rolę komputerowego przestępcy i nauka:
  • technik odnajdowania luk obecnych w aplikacjach webowych
  • technik wykorzystywania luk obecnych w aplikacjach webowych
W efekcie, zdobyta w ten sposób wiedza ma oczywiście pozwalać programistom na tworzenie bezpiecznego kodu oraz zamykanie luk odnalezionych w już istniejących aplikacjach.

Kurs, dostępny pod tym adresem, poprowadzi nas krok po kroku przez rozmaite klasy najpopularniejszych podatności, takich jak XSS, XSRF, XSSI, Path Traversal, Denial of Service, Remote Code Execution, Buffer and Integer Overflow oraz SQL Injection. Kod aplikacji testowej dostępny jest natomiast tutaj. Mamy również możliwość skorzystania z własnej instancji aplikacji Jarlsberg online.
Zachęcam wszystkich zainteresowanych tworzeniem bezpiecznych aplikacji internetowych do zapoznania się z powyższym materiałem, gdyż stanowi on unikalną okazję do zapoznania się z najważniejszymi typami podatności, które na co dzień spotykamy w aplikacjach webowych stworzonych przez programistów nie zważających na bezpieczeństwo...