Czym jest DevSecOps

DevSecOps polega na zintegrowaniu aspektów bezpieczeństwa IT na jak najwcześniejszym etapie cyklu życia aplikacji. W ten sposób można wyeliminować potencjalne słabe punkty, podczas gdy rozwój i eksploatacja stanowią jedną całość i umożliwiają szybki rozwój zgodnie z potrzebami użytkownika.

Czym jest DevSecOps

Fot. fauxels, Pexels

DevSecOps - definicja

DevSecOps nie odnosi się do technologii, ale do zmiany kulturowej w tworzeniu oprogramowania. Celem podejścia DevSecOps jest zakotwiczenie bezpieczeństwa IT w dzisiejszych typowo szybkich cyklach rozwojowych.

Aby wdrożyć to podejście w praktyce, firmy muszą zlikwidować przepaść między zespołami ds. rozwoju i bezpieczeństwa, która zazwyczaj jest wyraźna. W idealnym przypadku jak najwięcej procesów bezpieczeństwa jest zautomatyzowanych lub obsługiwanych przez sam zespół programistów.

Zobacz również:

  • Przewidywania na rok 2022 - dlaczego doświadczenia programistów będą miały znaczenie
  • Microsoft wprowadził funkcję Walkie Talkie do kolejnej mobilnej platformy

DevSecOps - bezpieczne tworzenie oprogramowania

W tradycyjnym rozwoju oprogramowania, nowe wersje były wydawane co kilka miesięcy - czasami nawet lat. Dzięki temu firmy miały wystarczająco dużo czasu, aby poddać swój kod procedurom kontroli jakości i testom bezpieczeństwa. Procesami tymi zajmowały się różne, wyspecjalizowane zespoły. W ciągu ostatnich dziesięciu lat sytuacja ta uległa zasadniczej zmianie: chmura publiczna, technologia kontenerowa i podejście do mikroserwisów sprawiły, że monolityczny proces tworzenia oprogramowania został podzielony na wiele małych procesów, które działają niezależnie od siebie.

To zmieniło sposób, w jaki tworzone jest oprogramowanie: dzięki zwinnym metodom rozwoju i „kroczącym" cyklom wydawniczym, funkcje i nowy kod są dodawane stale i w krótkich odstępach czasu. W wielu przypadkach procesy te zostały zautomatyzowane dzięki nowym technologiom i narzędziom, co zdecydowanie zwiększyło tempo wdrażania innowacji, a tym samym konkurencyjność przedsiębiorstw.

Jednak chmura, kontenery i mikroserwisy napędzają kolejny obszar: podejście DevOps. Deweloperzy sami dostarczają i skalują infrastrukturę - nie ma już osobnego zespołu, który zajmowałby się tym zadaniem. Wszyscy główni dostawcy usług w chmurze oferują interfejsy API i narzędzia konfiguracyjne, które umożliwiają dostarczanie infrastruktury jako kodu za pomocą "szablonów zespołu wdrożeniowego".

DevOps bez wątpienia sprawił, że rozwój oprogramowania stał się bardziej innowacyjny, zwinny i szybszy, ale skupienie się na szybkości zbyt często doprowadzało do zaniedbania bezpieczeństwa IT. Koncepcja DevSecOps ma na celu poprawienie tej sytuacji i pełną integrację testów bezpieczeństwa w potokach CI/CD. Ponadto, DevSecOps to także umożliwienie programistom samodzielnego przeprowadzania testów i ewentualnych przeróbek.

DevSecOps - czynniki sukcesu

„Zwłaszcza realizacja tego ostatniego punktu zajmie trochę czasu. Ale dopiero wtedy, gdy osobny zespół ds. bezpieczeństwa stanie się zbędny, można naprawdę mówić o DevSecOps" - przekonuje Chris Wysopal, CTO w firmie Veracode, dostawcy usług bezpieczeństwa.

Aby poszerzyć umiejętności programistów w zakresie bezpieczeństwa, niektóre firmy powołują „mistrza bezpieczeństwa" w zespole programistów. Osoba ta przeszła już zaawansowane szkolenie z zakresu bezpieczeństwa i bierze odpowiedzialność za jego jakość, podczas gdy reszta zespołu stopniowo przechodzi dalsze szkolenia z zakresu bezpiecznego programowania.

Jednak połączenie rozwoju i bezpieczeństwa musi mieć miejsce również na poziomie zarządzania, o czym wie Brian Fox, CTO w firmie Sonatype, dostawcy platformy DevOps: „Jeśli tak się nie stanie, może dojść do walki o władzę i powstania rozbieżnych celów, nawet jeśli zaangażowane osoby znajdują się w tym samym zespole. To trochę jak na placu zabaw dla dzieci: dwoje dzieci siedzi obok siebie, nie kłócą się - ale to nie znaczy, że bawią się razem. Dokładnie to samo dzieje się w wielu firmach".

DevSecOps - narzędzia

Wczesne narzędzia DevSecOps nie zawsze były przyjazne programistom: zamiast automatycznych narzędzi wiersza poleceń, których dane wyjściowe można szybko i łatwo przesłać do bug trackerów, tradycyjne narzędzia bezpieczeństwa były zazwyczaj przeznaczone dla zespołów bezpieczeństwa i CISO, stawiając w centrum uwagi ład, politykę bezpieczeństwa i zarządzanie ryzykiem.

W międzyczasie to się zmieniło - nowe narzędzia, stworzone (częściowo) przez programistów dla programistów, wzbogacają obecnie środowiska programistyczne i przepływy pracy CI/CD w wielu miejscach. Narzędzia te można podzielić na różne kategorie. Do najpopularniejszych narzędzi DevSecOps należą m.in:

Wykrywanie anomalii:

• Alerta

• Contrast Assess

• Contrast Protect

• ElastAlert

Automatyzacja:

• CodeAI

• Parasoft Suite

• Red Hat Ansible

• StackStorm

• Veracode

Dashboardy:

• Grafana

• Kibana

Threat Modeling:

• IriusRisk

• Threat Modeler

• OWASP Threat Dragon

Testowanie:

• BDD-Security

• Checkmarx CxSAST

• Chef InSpec

• Fortify

• Gauntlt

• Synopsis Suite

W ciągu ostatnich kilku lat, niektórzy tradycyjni dostawcy zabezpieczeń zaczęli dostosowywać swoje produkty zarówno do świata programistów, jak i CISO, łącząc funkcje raportowania i analizy z prostymi wskazówkami dla użytkowników. Dostawcy usług w chmurze również zaczęli wzbogacać swoje usługi o funkcjonalności związane z testowaniem bezpieczeństwa.

Źródło: Computerwoche.de

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200