Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Bezpieczeństwo oprogramowania i testy penetracyjne

Informacje ogólne

Kod przedmiotu: 103B-CBxxx-ISP-BOT
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Bezpieczeństwo oprogramowania i testy penetracyjne
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Przedmioty obieralne - Cyberbezpieczeństwo )-Cyberbezpieczeństwo-inż.-EITI
( Przedmioty obieralne )-Cyberbezpieczeństwo-inż.-EITI
( Przedmioty techniczne )---EITI
Punkty ECTS i inne: 5.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: polski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

BOT

Numer wersji:

2

Skrócony opis:

Celem przedmiotu jest zapoznanie słuchaczy z zagadnieniami przeprowadzania testów penetracyjnych infrastruktury i oprogramowania. W trakcie zajęć zostaną omówione aspekty teoretyczne, wykorzystywane narzędzia oraz techniki związane z testami bezpieczeństwa.

Pełny opis:

WYKŁADY:

  1. Wstęp (2 godz.).

    Organizacja i zasady zaliczania przedmiotu, zasady etycznego hackingu, etapy testów, metodyki testów penetracyjnych, test penetracyjny a audyt bezpieczeństwa, typy cyberprzestępców, aspekty prawne: odpowiedzialność cywilna i karna.

  2. Rekonesans (2 godz.).

    Pozyskiwanie informacji z różnych źródeł: Google hacking, baza WHOIS, socjotechnika, informacje z serwerów DNS, narzędzia automatyzujące pozyskiwanie informacji.

  3. Skanowanie (2 godz.).

    Odkrywanie sieci, enumeracja zasobów, wykrywanie aktywnych hostów, wykrywanie usług, skanowanie podatności, podstawowe narzędzia i zaawansowane techniki skanowania.

  4. Ataki na uwierzytelnienie (2 godz.).

    Bezpieczne przechowywanie haseł, rodzaje ataków na hasła, ataki związane z tęczowymi tablicami, ataki na hasła w wybranych systemach, ataki na mechanizmy uwierzytelniające, podstawowe narzędzia wspomagające ataki na hasła.

  5. Wykorzystywanie podatności (2 godz.).

    Podstawowe pojęcia związane z etapem wykorzystywania podatności, eskalacja uprawnień, wyszukiwanie i modyfikacja eksploitów, środowisko Metasploit.

  6. Testy bezpieczeństwa sieci bezprzewodowych (2 godz.).

    Rodzaje sieci bezprzewodowych, zabezpieczenia WPA i WPA2, różne metody szyfrowania (WEP, TKIP, CCMP), sposoby uwierzytelnienia (open-access, PSK, Enterprise), dodatkowe zabezpieczenia (filtrowanie MAC, ukrywanie identyfikatora sieci), sposoby przełamywania zabezpieczeń.

  7. Ataki DoS/DDoS (2 godz.)

    Rodzaje ataków odmowy usługi, techniki ataków odmowy usługi, botnety, narzędzia do tworzenia ataków typu DoS/DDoS

  8. Bezpieczeństwo aplikacji www (2 godz.).

    Podstawy HTTP, Najczęściej spotykane podatności (SQL injection, session hijacking, command injection, path traversal, XSS, CSRF, błędy związane z błędną konfiguracją), lista OWASP TOP10 zagrożeń dla aplikacji www

  9. Bezpieczeństwo aplikacji mobilnych (2 godz.).

    Architektura i komponenty aplikacji mobilnych, model bezpieczeństwa, potencjalne ataki i ich lokalizacja

  10. Utrzymanie dostępu i zacieranie śladów (2 godz.).

    Mechanizmy ochrony przed atakującymi (honeypot, IPS/IDS, firewalle) i sposoby ich przełamywania, czyszczenie logów, ukrywanie aktywności.

  11. Testy e2e: od zamówienia do raportu (2 godz.).

    Przygotowanie do testów penetracyjnych, uzgodnienia ze zleceniodawcą, precyzowanie zakresu i czasochłonności testów, zasady dokumentowania wyników testów penetracyjnych, przeprowadzanie testów kompleksowych.

  12. Socjotechnika i ataki na użytkownika (2 godz.).

    Koncepcja inżynierii społecznej, techniki inżynierii społecznej, kradzież tożsamości, media społecznościowe w inżynierii społecznej.

  13. Analiza ryzyka i modelowanie zagrożeń w oprogramowaniu (2 godz.)

    Modele ryzyka, budowanie modelu ryzyka, ocena podatności wyrażona za pomocą skali CVSS, modelowanie zagrożeń w oprogramowaniu

  14. Inne obszary testów bezpieczeństwa (2 godz.).

    Bezpieczeństwo w chmurach obliczeniowych, bezpieczeństwo w urządzeniach IoT, bezpieczeństwo fizyczne

  15. Kolokwium końcowe


LABORATORIA:

W ramach laboratorium uczestnicy kursu zapoznają się z narzędziami wykorzystywanymi w poszczególnych fazach testów penetracyjnych oraz przeprowadzą testy bezpieczeństwa laboratoryjnego środowiska. Zajęcia będą rozpoczynać się krótkim sprawdzianem wejściowym. Laboratorium będzie oceniane na podstawie sprawozdania stworzonego w formie elektronicznej podczas wykonywania ćwiczenia.

Tematy poszczególnych laboratoriów:

  1. Skanowanie i przełamywanie zabezpieczeń
  2. Przepełnienie bufora
  3. Ataki na aplikacje www
  4. Kompleksowe testy bezpieczeństwa
  5. Utrzymanie dostępu i zacieranie śladów



PROJEKT:

Projekty realizowane w zespołach dotyczyć będą przeprowadzenia analizy teoretycznej oraz wykonania zadania praktycznego. Wynikiem projektu będzie sprawozdanie w formie pisemnej oraz prezentacja wykonania zadania praktycznego.



Przykładowe tematy projektów:

  1. Wydajne generowanie tęczowych tablic, odpowiedni wybór funkcji redukcji, skuteczność tęczowych tablic dla różnych funkcji skrótu
  2. Automatyczne narzędzie do gromadzenia określonych danych (adresów email, telefonów, subdomen itp.) z wyszukiwarek
  3. Ataki na systemy CMS (np. Joomla, Drupal, Wordpress), stworzenie eksploitów wykorzystujących wybrane podatności
  4. Ataki na PHP, stworzenie eksploitów wykorzystujących wybrane podatności
  5. Ataki na płatności zbliżeniowe w praktyce
  6. Wykorzystanie firewall na bazie oprogramowania open-source
  7. Systemy honeypot - praktyczne porównanie skuteczności
  8. Atak na portal internetowy wykonany w technologii Java/.NET/PHP/Django/RoR, wykonanie exploita będącego modułem do Metasploita
  9. Atak na aplikację desktopową napisaną w technologii Java/C#/C++/Python/Ruby, wykonanie exploita będącego modułem do Metasploita
  10. Implementacja znanego rootkita będącego modułem do Metasploita
Literatura:

Literatura i oprogramowanie:

  • Przygotowane przez prowadzących oraz udostępnione w formie elektronicznej materiały wykładowe


Literatura uzupełniająca:

  1. Patrick Engebretson, Hacking i testy penetracyjne. Podstawy, Helion, 2013
  2. Thomas Wilhelm, Profesjonalne testy penetracyjne. Zbuduj własne środowisko do testów, Wydanie II, Helion, 2014
  3. Joseph Muniz, Aamir Lakhani, Kali Linux. Testy penetracyjne, Helion, 2014
  4. Jesse Varsalone, Matthew McFadden, Defense against the Black Arts: How Hackers Do What They Do and How to Protect against It, CRC Press, 2012
  5. Eric Cole, Ronald L. Krutz, James Conley, Bezpieczeństwo sieci. Biblia, Helion, 2005
  6. Jon Erickson, Hacking - Sztuka penetracji, Helion,2004
  7. Mariusz Gliwiński, Ataki na strony internetowe, Wydawnictwo CSH, 2012
  8. Mariusz Gliwiński, Robert Dylewski, Raport Specjalny Szkoły Hakerów - Ataki na sieci bezprzewodowe - Teoria i praktyka, Wydawnictwo CSH, 2010
  9. Kevin Mitnick, Sztuka podstępu, wydanie II, Helion, 2011
  10. Mariusz Gliwiński, Szkoła Hakerów, edycja 2, Wydawnictwo CSH, 2009
  11. Mariusz Gliwiński, Intensywne wprowadzenie do Hackingu z płytą DVD, Wydawnictwo CSH, 2011
  12. Dominic Chell, Tyrone Erasmus, Shaun Colley, Ollie Whitehouse, The Mobile Application Hacker`s Handbook, Wiley, 2015

Zajęcia w cyklu "rok akademicki 2023/2024 - sem. letni" (w trakcie)

Okres: 2024-02-19 - 2024-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 15 godzin, 60 miejsc więcej informacji
Projekt, 15 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Mariusz Sepczuk
Prowadzący grup: Mariusz Sepczuk
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103600 - Instytut Telekomunikacji

Zajęcia w cyklu "rok akademicki 2022/2023 - sem. letni" (zakończony)

Okres: 2023-02-20 - 2023-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 15 godzin, 60 miejsc więcej informacji
Projekt, 15 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Mariusz Sepczuk
Prowadzący grup: Mariusz Sepczuk
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103600 - Instytut Telekomunikacji

Zajęcia w cyklu "rok akademicki 2021/2022 - sem. letni" (zakończony)

Okres: 2022-02-23 - 2022-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Laboratorium, 15 godzin, 63 miejsc więcej informacji
Projekt, 15 godzin, 63 miejsc więcej informacji
Wykład, 30 godzin, 63 miejsc więcej informacji
Koordynatorzy: Mariusz Sepczuk
Prowadzący grup: Mariusz Sepczuk
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103600 - Instytut Telekomunikacji

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.
pl. Politechniki 1, 00-661 Warszawa tel: (22) 234 7211 https://pw.edu.pl kontakt deklaracja dostępności USOSweb 7.0.0.0-7 (2024-03-18)