Firmy zajmujące się tworzeniem oprogramowania na zamówienie skupiają się przede wszystkim na dostarczeniu funkcjonalności wymaganych przez klienta (program ma realizować te funkcje, które są zamawiane) w ramach określonego budżetu i czasu. Niestety, w wielu przypadkach bezpieczeństwo aplikacji (albo bezpieczeństwo zasobów wewnątrz organizacji) traktowane jest jako niepotrzebny spowalniacz, co powoduje odsuwanie tego aspektu na drugi plan.
Wyjątkiem są sytuacje, gdy bezpieczeństwo ma duże znaczenie dla zamawiającego – wtedy nierzadko oczekuje się, aby twórca oprogramowania zarządzał bezpieczeństwem danych w swojej organizacji oraz by przeprowadzono testy bezpieczeństwa produktu (tzw. testy penetracyjne). Wtedy wszystkie wykryte luki i podatności usuwane są na koszt dostawcy.
Pozornie mogłoby się wydawać, że to niemożliwe, aby cyberbezpieczeństwo było na drugim planie – przecież pracują tam przede wszystkim informatycy. Jednak IT to bardzo szeroka dziedzina wiedzy i specjalizacji. Każdy pracownik biurowy ma specjalizację, podobnie jest w IT. Dzisiaj już nie można myśleć o informatyku w taki sposób, że zna się on na wszystkim, co dotyczy technologii informatycznej. Administrator sieci niekoniecznie będzie umiał programować, programista niekoniecznie wie, jak funkcjonuje sieć komputerowa, obaj mogą też nie znać Windows, pracując w innym systemie operacyjnym. Wąska specjalizacja oraz wciąż niezbyt wysoka świadomość bezpieczeństwa powoduje, że w firmach, które nie zatrudniają wykwalifikowanego personelu zajmującego się cyberbezpieczeństwem, kwestie zabezpieczania danych znajdują się na dalszym planie. Podobnie ma się rzecz z zamawiającymi dedykowane rozwiązania – brak presji z ich strony powoduje skupienie się na tym, na czym klientowi zależy, a nie na tym co jest dobre i właściwe.
Inwestorzy przeznaczają wielkie sumy na rozwiązania dedykowane, które wymagają wielkich nakładów pracy, dlatego wiele nowych firm programistycznych, skupiających się tylko na konkretnym biznesie, zauważa problem z bezpieczeństwem w swojej infrastrukturze zdecydowanie za późno. Niestety, często dopiero wtedy, kiedy stworzony kod lub przetwarzane dane klienta uległy ujawnieniu lub innemu przykremu zdarzeniu na skutek włamania lub błędu użytkowników.
Filary bezpieczeństwa danych
Bezpieczeństwo w organizacjach tego typu można podzielić na trzy różne obszary: techniczne, fizyczne oraz organizacyjne. o ile bezpieczeństwo w innych branżach można podzielić podobnie, to firmy programistyczne szczególnie wyróżniają się na tle bezpieczeństwa organizacyjnego. Specyfika tych firm powoduje, że jest to bardzo ważny obszar, wymagający edukacji oraz budowania świadomości personelu w kontekście tworzenia bezpiecznego oprogramowania opartego o uznawane standardy. Ponadto bardzo ważnym aspektem jest również bezpieczne zarządzanie zmianą kodu, odpowiednim jego wersjonowaniem lub zarządzeniem dostępem do projektu. Nierzetelne podejście do bezpieczeństwa podczas wdrażania nowego produktu doprowadzić może do wycieku danych klienta, co ostatecznie spowoduje ogromne prawdopodobieństwo nie tylko jego strat wizerunkowych ale również finansowych – nałożenia kary przez organy nadzorcze np. UODO, w związku z niezachowaniem zasady privacy by design, zobowiązującej do uwzględnienia ochrony danych osobowych na etapie projektowania systemu lub usługi.
Oczywiście omawiane zabezpieczenia organizacyjne to nie tylko szkolenia i uświadamianie personelu, ale również dostosowana dokumentacja, czy też odpowiednia treść umów z dostawcami wykorzystywanych narzędzi i rozwiązań. w wielu przypadkach pracownicy nie przepadają za procedurami, ale dzieje się tak najczęściej z powodu braku zrozumienia dla ich funkcjonowania. Okazuje się bowiem, że w wielu przypadkach potrafią one ułatwić życie pracownikom, a pracodawcy – ułatwić prowadzenie biznesu. Funkcjonowanie zabezpieczeń organizacyjnych w postaci przyjętej i stosowanej dokumentacji pozwoli nie tylko ustandaryzować, przyspieszyć i podtrzymać jakość realizowanych procesów przetwarzania danych, ale również utrzymywać bezpieczeństwo na względnie stałym poziomie. Ponadto, procedury organizacyjne pomogą nie tylko nowym pracownikom zrozumieć funkcjonowanie biznesu ale również pokierują pracowników starszych, szczególnie w niecodziennych sytuacjach, związanych np. z postępowaniem na wypadek włamania lub podejrzenia włamania.
Podsumowanie
Procedury organizacyjne to ważny aspekt życia każdej firmy programistycznej, nie tylko pod kątem zapewnienia bezpieczeństwa przetwarzanych danych. Od ich funkcjonowania w organizacji często zależy bowiem zawarcie umowy z nowym klientem. Podobny wpływ na to może mieć obecność osoby lub wyspecjalizowanej firmy pełniącej funkcję Inspektora Ochrony Danych lub Pełnomocnika ds. Bezpieczeństwa Informacji. Ponadto, klienci korporacyjni oraz inni klienci firm programistycznych, dla których bezpieczeństwo jest priorytetem, wymagają nie tylko adekwatnego – wskazanego w zapisach umownych – zakresu zabezpieczeń organizacyjnych ale również wykonania analizy ryzyka lub/i wdrożenia konkretnych zabezpieczeń technicznych. Takie wymogi najczęściej pokrywają się z elementami opisywanymi przez normę ISO 27001 – Systemy Zarządzania Bezpieczeństwem Informacji, której wdrożenie w takich firmach z pewnością warto rozważyć.
Każdy z wymienionych wyżej obszarów bezpieczeństwa jest bardzo obszerny, a do oceny ich funkcjonowania niezbędny jest audyt. Jego wynikiem powinien być m.in. opis obecnego stanu konfiguracji bezpieczeństwa wykorzystywanych serwerów, urządzeń sieciowych, systemów, aplikacji, komputerów, smartfonów, drukarek i nośników wymiennych, jak również m.in. sposób zabezpieczenia granic organizacji (szczególnie w sytuacji, gdy w tym samym budynku lub budynkach występuje więcej niż jedna firma). Każde stwierdzone w raporcie odchylenie od przyjętych kryteriów audytu powinno posiadać stosowną rekomendację, zawierającą opis przykładowego sposobu przywrócenia organizacji do stanu zgodnego z tymi kryteriami.