Plan Szkolenia
Wprowadzenie do bezpiecznego programowania w C i C++
- Zrozumienie zasad bezpiecznego wytwarzania oprogramowania
- Typowe zagrożenia bezpieczeństwa w aplikacjach C i C++
- Związek między błędami programistycznymi a podatnościami bezpieczeństwa
- Standardy bezpiecznego kodowania i najlepsze praktyki
Typowe podatności programistyczne w C i C++
- Identyfikowanie częstych błędów kodowania wprowadzających zagrożenia bezpieczeństwa
- Problemy z bezpieczeństwem pamięci w C i C++
- Wzorce podatności i ich wpływ
- Analizowanie przykładów niebezpiecznego kodu
Zasady bezpiecznego programowania
- Stosowanie technik obrony w głąb
- Pisanie solidnego i łatwego w utrzymaniu kodu
- Minimalizowanie powierzchni ataku
- Zasady bezpiecznego projektowania aplikacji C i C++
Walidacja danych wejściowych i obsługa danych
- Zrozumienie znaczenia walidacji danych wejściowych
- Zapobieganie złośliwemu wykorzystaniu danych wejściowych
- Techniki sanityzacji danych
- Bezpieczna obsługa danych użytkownika i danych zewnętrznych
Obsługa błędów i zarządzanie wyjątkami
- Zagrożenia związane z nieprawidłową obsługą błędów
- Projektowanie bezpiecznych mechanizmów obsługi błędów i wyjątków
- Unikanie wycieku informacji przez komunikaty błędów
- Tworzenie odpornych aplikacji
Bezpieczeństwo pamięci i ochrona przed przepełnieniem bufora
- Zrozumienie podatności w zarządzaniu pamięcią
- Przepełnienia bufora na stosie
- Przepełnienia bufora na stercie
- Wykrywanie i zapobieganie uszkodzeniom pamięci
- Bezpieczne techniki zarządzania pamięcią
Ochrona stosu i funkcje bezpieczeństwa środowiska uruchomieniowego
- Zrozumienie podatności na przepełnienie stosu
- Zabezpieczenia oparte na kompilatorze
- Kanarki stosu i mechanizmy ochrony
- Randomizacja układu przestrzeni adresowej (ASLR)
- Funkcje bezpieczeństwa nowoczesnych systemów operacyjnych
Zaawansowane zagadnienia bezpieczeństwa w C++
- Bezpieczne zarządzanie cyklem życia obiektów
- Zapobieganie podatnościom use-after-free
- Bezpieczne zarządzanie wskaźnikami i referencjami
- Unikanie problemów z pomyleniem typów
- Bezpieczne korzystanie z funkcji języka C++
Narzędzia i techniki bezpiecznego kodowania
- Korzystanie z narzędzi analizy statycznej do identyfikowania podatności
- Techniki przeglądu kodu pod kątem oceny bezpieczeństwa
- Zautomatyzowane podejścia do testowania bezpieczeństwa
- Integrowanie kontroli bezpieczeństwa z procesami wytwarzania
Standardy bezpiecznego kodowania i najlepsze praktyki
- Przegląd branżowych wytycznych bezpiecznego kodowania
- Stosowanie technik programowania defensywnego
- Wbudowywanie bezpieczeństwa w cykl życia oprogramowania
- Utrzymywanie bezpiecznych i niezawodnych aplikacji C/C++
Praktyczne warsztaty bezpiecznego kodowania
- Analizowanie podatnych przykładów kodu C/C++
- Stosowanie poprawek i ulepszeń bezpieczeństwa
- Testowanie kodu pod kątem typowych podatności
- Podsumowanie kursu i zalecenia dotyczące bezpiecznego wytwarzania
Wymagania
Podstawy C/C++
Opinie uczestników (7)
Dzielenie się doświadczeniem, wiedzą nauczyciela i cennymi przemyśleniami.
Carey Fan - Logitech
Szkolenie - C/C++ Secure Coding
Przetłumaczone przez sztuczną inteligencję
zbalansowanie między wykładami a ćwiczeniami, rytm, wiedza trenera i jego umiejętności pedagogiczne
Armando Pinto - EID
Szkolenie - C/C++ Secure Coding
Przetłumaczone przez sztuczną inteligencję
Instruktor dostarczył aktualnych informacji oraz cennych referencji i narzędzi.
Jose Vicente - EID
Szkolenie - C/C++ Secure Coding
Przetłumaczone przez sztuczną inteligencję
aby uzyskać wiele dobrych informacji na temat przedmiotu kursu
Paulo Pereira - EID
Szkolenie - C/C++ Secure Coding
Przetłumaczone przez sztuczną inteligencję
Trener ma solidne wiedzę i doświadczenie, fajne slajdy, dobre przykłady.
Celso Almeida - EID
Szkolenie - C/C++ Secure Coding
Przetłumaczone przez sztuczną inteligencję
Ogólne informacje o kursie
Paulo Gouveia - EID
Szkolenie - C/C++ Secure Coding
Przetłumaczone przez sztuczną inteligencję
Zakres wiedzy, jaki został poruszony. Na pewno nie wszystko udało się w dogłębny sposób wytłumaczyć, ale to pewnie kwestia czasu. Szkolenie trwa 3 dni. W ciągu tych 3 dni poruszone zostały różne zagadnienia, które po szkoleniu można bardziej zbadać. Szkolenie jak najbardziej na plus. Dużo wiedzy, zagadnień w skuulowanej formie.