Wykład o metodykach OWASP na Słowackim Uniwersytecie Technicznym

Mieliśmy przyjemność wystąpić przed studentami Słowackiego Uniwersytetu Technicznego w Bratysławie (STU), na Wydziale Elektrotechniki i Informatyki (FEI). Spotkanie odbyło się na zaproszenie prof. Kataríny Žákovej, a temat był kluczowy dla każdego przyszłego programisty i specjalisty od bezpieczeństwa: podatności aplikacji webowych w PHP i metodyki OWASP.
Praktyczne podejście do bezpieczeństwa aplikacji
Bezpieczeństwa najlepiej uczyć się w praktyce. Zamiast teoretycznej dyskusji weszliśmy od razu w realne ataki i obronę. Zajęcia objęły trzy części.
1. Najczęstsze podatności aplikacji webowych i metodyki OWASP
Zaczęliśmy od ryzyk, które najczęściej dotykają aplikacji napisanych w PHP. Od SQL injection po cross-site scripting (XSS): skąd te podatności się biorą, dlaczego utrzymują się latami i w jaki sposób wykorzystują je atakujący.
2. Kod bezpieczny kontra podatny
Sama teoria nie wystarczy – dopiero przykłady kodu pokazały różnicę między aplikacją podatną a bezpieczną. Przeanalizowaliśmy podatny kod PHP, omówiliśmy, co dokładnie go psuje, a potem przeszliśmy przez implementacje, które to ryzyko eliminują.
3. Demonstracja ataku na żywo
Punktem kulminacyjnym była demonstracja ataku SQL injection na żywo. Atak rozwijający się w czasie rzeczywistym tłumaczy więcej niż slajd: widać, jak drobne niedopatrzenie w kodzie kończy się poważnym naruszeniem bezpieczeństwa.
Najważniejsze wnioski
Bezpieczeństwo zaczyna się na poziomie kodu
Bezpieczna aplikacja to nie jest lista dobrych praktyk odhaczona na końcu projektu – to rozumienie, jak myśli atakujący. Ryzyko wychwycone i usunięte na etapie pisania kodu nigdy nie trafi na produkcję.
Obrona jest tak samo ważna jak atak
Metodyki, które pokazaliśmy studentom, stosujemy też na co dzień w pracy – opisują je strona testy penetracyjne zgodne z OWASP oraz artykuł o skanowaniu podatności, który wyjaśnia, gdzie kończy się automat, a zaczyna praca ręczna.
Techniki ataku pomagają zrozumieć błędy, ale celem jest odporna aplikacja. Bezpieczeństwo należy do cyklu wytwarzania oprogramowania, a nie do przypisu na jego końcu.
Cyberbezpieczeństwo zmienia się nieustannie, a edukacja jest tym, co pozwala wyprzedzać zagrożenia o krok. Budujmy przyszłość, w której bezpieczeństwo jest dla każdego programisty czymś naturalnym.