System "secure by design" - co to oznacza i od czego należy zacząć?
- Cezary Ochman
- 4 lut 2024
- 1 minut(y) czytania
Projektowanie bezpiecznych systemów to złożone zadanie. Media cały czas "trąbią" o wpadkach w zakresie bezpieczeństwa systemów – których wynikiem są wycieki danych, straty finansowe oraz naruszona reputacja producentów oprogramowania.
W tym wszystkim jesteśmy my – twórcy systemów. Odpowiadamy m.in. za ich jakość, design, performance, niezawodność oraz bezpieczeństwo. Sporo tych rzeczy uczymy się na uniwersytetach, kursach, czy szkoleniach. Jednak i jeśli chodzi o inżynierię bezpieczeństwa to sytuacja wygląda trochę inaczej – tutaj wiele elementów uczymy się w praktyce i "przy okazji". Na szczęście nasza świadomość w tym kontekście ciągle wzrasta i wiele osób zaczyna interesować się tym elementem już podczas wczesnych faz wytwórczych oprogramowania. "Shifting left approach" jest coraz bardziej znany.
Temat bezpieczeństwa systemów jest wysoce złożony i wymaga od twórców systemów m.in.:
Znajomości podstaw budowania bezpiecznych systemów (dygresja, albo mały test - wiesz co to OWASP, SAST, DAST, SCA, SIEM? 😊)
Analizy i zebrania wymagań związanych z bezpieczeństwem systemu
Zaprojektowania bezpiecznego systemu
Napisania bezpiecznego kodu oraz użycia dobrych nawyków programistycznych
Testowania
Wdrażania i maintenance
Ciągłego uczenia się
Tak naprawdę powyżej opisałem "cały" cykl SDLC, a w ilustracji poniżej przypisałem do każdej fazy przykładowe działania związane z bezpieczeństwem. Bezpieczna inżynieria oprogramowania to wybory, których należy dokonywać podczas budowy systemów. Nie są one łatwe, bo czasem wiążą się decyzjami biznesowymi, finansami, przekonaniem interesariuszy - jak we wszystkim trzeba jednak szukać złotego środka.
Co myślisz o bezpiecznej inżynierii oprogramowania? Które z podanych przykładów stosujesz, a które są swego rodzaju "novum" dla Ciebie? Podziel się w komentarzu.
Link do postu na LinkedIn: https://www.linkedin.com/feed/update/urn:li:activity:7039124618380521472/
Commentaires