Wykorzystujemy na swojej stronie internetowej zarówno niezbędne pliki cookies w ramach zapewnienia możliwości poprawnego korzystania ze strony oraz poprawy jej funkcjonowania, a także opcjonalne pliki funkcjonalne i statystyczno-analityczne, na które możesz wyrazić zgodę lub odrzucić ich wykorzystywanie podczas swojej sesji na stronie internetowej. Wszystkie niezbędne pliki cookies wykorzystywane do poprawnego funkcjonowania strony oraz ulepszenia jej są plikami sesyjnymi, a pliki funkcjonalne i statystyczno-analityczne są plikami stałymi, których okres przechowywania jest określony odgórnie przez ich dostawców. Informacje o okresie przechowywania są zawarte w widoku szczegółowym plików cookies.
Wdrożenie platformy Checkmarx One do procesu wytwarzania kodu dla naszego Klienta z sektora bezpieczeństwa
Tematy poruszane w tym artykule
W dzisiejszym świecie cyfrowym, w którym różnego rodzaju aplikacje (webowe, mobilne, desktopowe) pełnią kluczowe funkcje, zagwarantowanie bezpieczeństwa korzystania z tych aplikacji powinno stanowić jeden z najważniejszych priorytetów organizacji. W obliczu ewoluujących trendów technologicznych i wyzwań w dziedzinie cyberbezpieczeństwa, efektywna identyfikacja oraz eliminacja luk bezpieczeństwa powinna stanowić fundamentalną praktykę.
Specyfika projektu wdrożenia platformy Checkmarx One
Naszym Klientem była organizacja odgrywająca ważną rolę w sektorze bezpieczeństwa, która posiadała już liczne procesy wytwarzania kodu oraz zapewniania bezpieczeństwa aplikacji. Rozbudowa ekosystemu aplikacji wewnętrznych oraz zewnętrznych realizowanych przez podmioty odpowiedzialne za rozwój poszczególnych aplikacji wywołała potrzebę zunifikowania środowiska developerskiego oraz ustalenia zasad reakcji w przypadku wystąpienia luk bezpieczeństwa.
“Wdrożenie platformy bezpieczeństwa w tak dużej organizacji było wyzwaniem. Byliśmy jednak przekonani, że jesteśmy w stanie mu sprostać i dodać dużą wartość dla Klienta. Nasza znajomość Checkmarx One wzniosła się na nowy poziom dzięki temu projektowi, nauczyliśmy się również nowych rzeczy w kwestii bezpieczeństwa kodu ogólnie. Wątpię, żeby w przyszłości mogło nas coś zaskoczyć i czekam na kolejne tak ciekawe wdrożenie.”
– Ryszard Siciński, członek zespołu wdrożeniowego w Simplicity
Jakie pojawiły się wyzwania związane z bezpieczeństwem kodu?
Klient w momencie rozpoczęcia wdrożenia cechował się wysoką kulturą bezpieczeństwa kodu i zrozumienia potrzeb wynikających z nieustannie rosnących zagrożeń. Aczkolwiek, jak w wielu innych dużych organizacjach, powstał problem dysproporcji ilościowej między zespołami developerskimi a zespołem do spraw bezpieczeństwa. Zgodnie z dostępnymi badaniami, stosunek programistów tworzących aplikacje do specjalistów do spraw bezpieczeństwa wynosi około 100:1. Taki stan rzeczy może doprowadzić do przeciążenia zespołu zajmującego się zabezpieczaniem aplikacji i w następstwie niedostatecznej weryfikacji ciągle zmieniającego się kodu. Jeśli podatny kod znajdzie się na środowisku produkcyjnym, jest on świetnym celem ataku przez grupy hackerskie.
W związku z bardzo wysokim stopniem krytyczności aplikacji, istotnym wyzwaniem był wybór sprawdzonego narzędzia, stworzonego przez zaufany podmiot. Ogromne znaczenie miała również kwestia łatwości wdrożenia takiego narzędzia – wdrożone rozwiązanie nie mogło zaburzyć dotychczasowych procesów. Do osiągnięcia pełnej funkcjonalności konieczne było zintegrowanie nowego narzędzia z aktualnie używanymi aplikacjami, narzędziami współpracy i oprogramowaniem wykorzystywanym przez developerów.
Rozwiązanie problemu
Na podstawie potrzeb i wymagań Klienta wybraliśmy platformę Checkmarx One firmy Checkmarx. W naszej ocenie jest to najlepsze narzędzie do zapewnienia bezpieczeństwa kodu dla każdej organizacji tworzącej aplikacje krytyczne.
Platforma jest wykorzystywana m.in. przez:
Checkmarx One oferuje kompleksowy zestaw silników skanujących każdy aspekt tworzonej aplikacji. W ramach tego rozwiązania dostępne są narzędzia takie jak skaner bezpieczeństwa API, analiza statyczna i dynamiczna kodu, badanie zależności aplikacji oraz łańcucha dostaw, skaner komponentów IaC (Infrastructure as Code) i inne. Istotnym czynnikiem przy wyborze najlepszego dla tego przedsięwzięcia rozwiązania był jego potencjał integracyjny z ponad 50 językami programowania i ponad 100 frameworkami, a także gotowe wtyczki do popularnych narzędzi programistycznych. Dzięki platformie Checkmarx One udało się zrealizować wymagania Klienta w krótkim czasie a samo wdrożenie zostało przeprowadzone bez konieczności wprowadzania modyfikacji w obecnym procesie wytwarzania kodu, takich jak np. konieczność zmiany platformy do zarządzania projektami lub zmiany kanałów informacji zwrotnej.
Twórcy platformy Checkmarx One zauważyli potencjał metodyki DevSecOps, a zwłaszcza podejścia „shift left”, czyli przesunięcia części odpowiedzialności za kwestie bezpieczeństwa „w lewo”. To podejście mówi o rozpoczynaniu procesu testowania na jak najwcześniejszym etapie wytwarzania aplikacji i angażowaniu developerów piszących kod w proces zabezpieczania wytwarzanej aplikacji. Odbywa się to poprzez edukację o cyberbezpieczeństwie i potencjalnych lukach, które mogą zostać wykorzystane. Programiści otrzymują możliwość zbadania bezpieczeństwa swojego kodu już w momencie jego pisania, jeszcze przed publikacją swoich prac.
Jak wyglądał proces wdrożenia platformy Checkmarx One?
Prace wdrożeniowe rozpoczęły się na początku października 2023 roku. W pierwszym etapie, przedstawiciele firmy Checkmarx wraz z zespołem wdrożeniowym Simplicity przeprowadzili serię krótkich spotkań i warsztatów. Ich celem był onboarding platformy u Klienta, ulokowanie narzędzia w procesie SSDLC (Secure Software Development Lifecycle) oraz przekazanie najlepszych praktyk w kwestii zarządzania rolami systemowymi wewnątrz platformy.
Simplicity prowadziło wdrożenie przy zachowaniu bezpośredniego kontaktu z działem bezpieczeństwa Klienta. Forma współpracy obejmowała warsztaty, spotkania celowe jak i ad-hoc, wnioski oraz dokumentacje zawierające materiały wzbogacone o doświadczenia i przemyślenia. Dodatkowo, uruchomiony został kanał szybkich wiadomości. Dzięki temu, Klient mógł w każdym momencie zadać pytanie naszym inżynierom i uzyskać pomoc w zaawansowanych kwestiach.
Tak wypracowany proces wdrożenia zaowocował kilkunastoma spotkaniami, warsztatami oraz podobną liczbą dokumentacji, najlepszych praktyk i standardowych procedur operacyjnych. Celem tych działań było ułatwienie wdrożenia oraz optymalizacja procesu onboardingu nowych programistów, kierowników projektów i członków zespołu ds. bezpieczeństwa.
Etapy wdrożenia platformy Checkmarx One
Pierwszym etapem wdrożenia było opisanie i zaprezentowanie procesu integracji Checkmarx One z narzędziami IDE wykorzystywanymi przez developerów Klienta. Następnie przystąpiono do głównego procesu, czyli integracji platformy z obecnymi procesami CI/CD. W trakcie prac kładziono duży nacisk na modernizację pipeline’ów ciągłego dostarczania. Celem było zapewnienie, że kod trafiający na środowisko produkcyjne Klienta jest odpowiednio przeskanowany pod kątem bezpieczeństwa. Równolegle pojawiła się potrzeba przekazania najlepszych praktyk w aspekcie skanowania i wytwarzania kodu. Jesteśmy przekonani, że podejście do tak ważnej kwestii jak bezpieczeństwo aplikacji wymaga rzetelności. Wspólnie z Klientem przyjęliśmy, że odpowiednie rozumienie wykorzystania narzędzia na wczesnym etapie wdrożenia jest kluczem do osiągnięcia sukcesu projektu. Harmonogram projektu był dynamicznie dostosowywany do wymagań Klienta, aby zagwarantować kompletne wdrożenie.
Zakończenie procesu integracji zostało zwieńczone spotkaniami z sesją Q&A oraz dokumentacją techniczną. Simplicity przeprowadziło anglojęzyczne spotkania warsztatowe dla project managerów oraz developerów ze strony Klienta. Dostarczona przez Simplicity dokumentacja ułatwiła zrozumienie platformy oraz integrację Checkmarx One w proces tworzenia bezpiecznego kodu. Dokumentacja dotyczyła obsługi platformy dla administratorów, jak również projekty wysokiego i niskiego poziomu (HLD, LLD). W ten sposób organizacja Klienta mogła wykorzystać pełne możliwości platformy już od pierwszego dnia po zakończeniu wdrożenia.
Zespół wdrożeniowy
„Każdy z członków zespołu wniósł do projektu specjalistyczną wiedzę i umiejętności, co zapewniło wysoką efektywność i jakość jego realizacji. Nasze kompetencje to efekt zarówno doświadczenia, jak i ciągłego dążenia do doskonalenia poprzez systematyczną edukację oraz adaptację do dynamicznie zmieniającego się świata IT. Dzięki temu jesteśmy w stanie nie tylko zaspokajać, lecz również często przewyższać oczekiwania naszych Klientów poprzez dostarczanie innowacyjnych rozwiązań.”
– Rafał Bodylski, koordynator projektu
W skład zespołu Simplicity odpowiedzialnego za realizację projektu wchodzili:
- Ryszard Siciński – Full-stack Developer
- Piotr Stolarczyk – Full-stack Developer
- Marta Hasiak – IT Business Analyst
- Rafał Bodylski – Delivery Manager
„Z perspektywy czasu mogę śmiało powiedzieć, że udało nam się doskonale dopasować rozwiązanie jakim jest Checkmarx One do środowiska developerskiego Klienta. Nie było to łatwe zadanie z uwagi na wysoką różnorodność i krytyczność projektów tej organizacji. Efekt i jakość jaką osiągnęliśmy jest dla mnie więcej niż satysfakcjonująca. Organizacja Klienta znacznie zwiększyła wydajność całego zespołu IT dzięki wdrożeniu rozwiązania lidera na rynku AppSec – platformy Checkmarx One. Przeprowadzanie skanów bezpieczeństwa na początku procesu tworzenia oprogramowania pozwoliło oszczędzić czas i zasoby na etapie prac developerskich i wdrożeniowych.”
– Piotr Stolarczyk, członek zespołu wdrożeniowego w Simplicity