Cyberbezpieczeństwo w umowach wdrożeniowych systemów IT
Wdrożenia systemów informatycznych to niezwykle złożone procesy, trwające często miesiącami, a nawet latami. W zależności od rodzaju wdrożenia oprócz samego dostarczenia systemu często obejmuje ono również świadczenie szeregu dodatkowych usług po ukończeniu wdrożenia, takich jak utrzymanie czy rozwój oprogramowania. Z tych powodów umowy na rozwiązania IT zwykle są rozbudowane i wyczerpująco opisują funkcjonalności i cechy, które powinien mieć wdrażany system informatyczny, jak również szczegółowo określają wymagania techniczne, które powinien spełniać. Mimo bardzo dokładnego uregulowania tych aspektów często pomijana jest kwestia, która ma coraz większe znaczenie dla prawidłowego i niezakłóconego funkcjonowania oprogramowania – jego odpowiednie zabezpieczenie, uniemożliwiające wyciek danych oraz zapobiegające dostępowi nieuprawnionych osób trzecich.
Specyfika cyberbezpieczeństwa we wdrożeniach IT
Warto na wstępie podkreślić, że cyberbezpieczeństwo nie jest problemem występującym jedynie na gruncie przepisów dotyczących ochrony danych osobowych i może obejmować nie tylko bezpieczeństwo informacji, lecz także systemy i usługi świadczone za ich pomocą. Brak odpowiedniego zabezpieczenia systemu informatycznego może nieść ze sobą wiele innych poważnych konsekwencji, takich jak udostępnienie na zewnątrz informacji stanowiących tajemnicę przedsiębiorstwa, zaszyfrowanie danych przechowywanych w systemie z żądaniem okupu za ich odszyfrowanie (bardzo popularne ostatnio ataki ransomware) lub zakłócenie ciągłości działania, co z kolei może wpływać na odpowiedzialność wobec kontrahentów. Problematyka cyberbezpieczeństwa na gruncie umów wdrożeniowych jest więc niezwykle doniosła i obejmuje wiele problemów, także natury prawnej. Przygotowując umowę wdrożeniową, warto mieć na uwadze również to, że incydenty związane z zagrożeniami cyberbezpieczeństwa mogą ujawnić się nawet dłuższy czas po wdrożeniu systemu, dlatego dobra umowa wdrożeniowa powinna te kwestie uwzględniać (np. w ramach gwarancji na system).
Standardy i normy w obszarze cyberbezpieczeństwa
Trzeba podkreślić, że zupełne pominięcie kwestii cyberbezpieczeństwa w umowie może utrudniać lub wręcz uniemożliwiać pociągnięcie wykonawcy do odpowiedzialności. Zdecydowana większość umów wdrożeniowych kwalifikowana jest przez sądy jako umowy o dzieło, a więc umowy, w których wykonawca zobowiązany jest do osiągnięcia określonego wcześniej rezultatu. W wypadku braku wyznaczenia w umowie szczegółowych wymagań co do cech zamawianego dzieła oraz kryteriów, według których rezultat ten ma być oceniany, należy stosować ogólną zasadę wynikającą z przepisów Kodeksu cywilnego[1] (dalej: „k.c.”), zgodnie z którą dłużnik zobowiązany jest do działania z należytą starannością (art. 355 k.c.).
Miernik należytej staranności ocenia się przede wszystkim poprzez zawodowy charakter działalności (art. 355 § 2 k.c.) oraz normy i standardy przyjęte w danej branży. Niemniej w zakresie odpowiedniego zabezpieczenia programu komputerowego, podobnie jak w zakresie właściwego wykonania systemu informatycznego, nie istnieją uniwersalne, powszechnie stosowane standardy, które pozwoliłyby jednoznacznie ustalić kryteria należytej staranności wykonawcy. Tym samym w praktyce, w wypadku braku odpowiednich postanowień umownych, wyprowadzenie z konstrukcji należytej staranności zobowiązania wykonawcy do zapewniania w systemie informatycznym konkretnych funkcjonalności czy rozwiązań w zakresie cyberbezpieczeństwa jest niezwykle trudne.
Strony mogą jednak za pomocą odpowiednich postanowień umowy zmodyfikować czy skonkretyzować kryterium należytej staranności wynikające z art. 355 § 2 k.c., zwłaszcza poprzez:
- dokładne określenie, jakie środki i cele powinien uwzględnić wykonawca w toku realizacji umowy – tym samym, aby zapewnić sobie odpowiedni poziom bezpieczeństwa, zamawiający może wprost opisać w umowie swoje wymagania w zakresie cyberbezpieczeństwa, w tym również konieczne do zastosowania przez wykonawcę techniczne sposoby zapewnienia bezpieczeństwa informacji, uwzględniające wymogi i priorytety danej organizacji, a także ewentualne dodatkowe wymagania, które mogą wynikać z przepisów szczególnych (np. z ustawy o krajowym systemie cyberbezpieczeństwa[2]) czy z wytycznych lub rekomendacji organów nadzoru w przypadku uczestników rynków regulowanych;
- odwołanie się do konkretnych norm i standardów z zakresu cyberbezpieczeństwa, takich jak np. normy ISO (np. PN-EN ISO/IEC 27001 czy PN-EN ISO/IEC 27002), standardy amerykańskiego National Institute of Standards and Technology (NIST, np. Technical Guide to Information Security Testing and Assessment – 800–115), wytyczne sektorowe (np. opublikowana przez Komisję Nadzoru Finansowego Rekomendacja D dotycząca zarządzania obszarami technologii informacyjnej i bezpieczeństwa środowiska teleinformatycznego w bankach) czy inne szczegółowe standardy oraz normy;
- zobowiązanie wykonawcy do przedstawienia odpowiednich certyfikatów z zakresu cyberbezpieczeństwa posiadanych przez jego personel (np. CISSP).
Pozwoli to na jasne ustalenie zakresu obowiązków wykonawcy oraz jego odpowiedzialności za zapewnienie bezpieczeństwa dostarczanego systemu.
Odpowiedzialność wykonawcy
Naruszenie obowiązków w zakresie odpowiedniego zabezpieczenia wdrażanego systemu może z kolei świadczyć o nienależytym wykonaniu umowy przez wykonawcę. Z perspektywy zamawiającego istotne jest to, żeby na gruncie umowy wykonawca ponosił odpowiedzialność nie tylko za konkretne szkody poniesione w związku z włamaniem do systemu czy wyciekiem informacji, lecz także za sam brak zapewnienia odpowiednich zabezpieczeń systemu, co może potencjalnie skutkować wystąpieniem incydentów bezpieczeństwa. Innymi słowy, wykonawca nie powinien odpowiadać tylko wtedy, gdy zaistnieje konkretny skutek, a umowa powinna przewidywać mechanizmy, które pozwolą do tego skutku nie dopuścić (por. wykonanie zastępcze, opisane niżej). Często bowiem ma miejsce sytuacja, w której istnieje luka bezpieczeństwa lub nawet doszło do naruszenia zabezpieczeń systemu, jednak sama szkoda jeszcze nie powstała. W takim wypadku, jeśli umowa tej kwestii nie zabezpiecza, zamawiający nie ma możliwości domagania się naprawienia szkody od wykonawcy, mimo że podatność bezpieczeństwa istnieje i grozi zamawiającemu bardzo poważnymi konsekwencjami, także na gruncie przepisów dot. ochrony danych osobowych. Z tych powodów kluczowe staje się np. ustalenie, że w ramach gwarancji na system wykonawca ma obowiązek usuwania wad i błędów systemu, które stanowią luki i podatności – niezależnie od tego, czy zaistniał skutek w postaci wycieku danych, czy dostępu osób nieuprawnionych.
Testy penetracyjne
Do ujawnienia podatności systemu najczęściej dochodzi w rezultacie próby przełamania zabezpieczeń przez osoby trzecie – cyberprzestępców, którzy wykorzystują te podatności dla własnych celów, lub tzw. whistleblowerów, którzy informują właściciela systemu o nieprawidłowościach. Niemniej z uwagi na duże ryzyko związane z wykorzystaniem przez osoby trzecie luk w zabezpieczeniach zamawiający sam może dążyć do jak najwcześniejszego ich wykrycia, np. przeprowadzając odpowiednie testy systemu – zarówno w ramach procedury odbiorowej systemu, jak i już po wdrożeniu, np. w okresie gwarancji (tak, aby sprawdzić zabezpieczenia systemu IT na środowisku produkcyjnym – zasymulować atak hakera). Samo zobowiązanie w umowie wykonawcy do uwzględnienia odpowiednich rozwiązań, standardów czy norm z zakresu cyberbezpieczeństwa nie gwarantuje bowiem jeszcze ich spełnienia i nie zabezpiecza zamawiającego.
W tym kontekście zamawiający może przeprowadzić testy penetracyjne systemu IT. Wskazane jest jednak, żeby zostały one przeprowadzone przez podmiot trzeci, niezależny od stron umowy i zawodowo zajmujący się działalnością w zakresie cyberbezpieczeństwa. Koszty zlecenia przeprowadzenia takich testów mogą być wysokie, dlatego też istotne jest określenie na gruncie umowy strony zobowiązanej do ich pokrycia – jak również zobowiązanie wykonawcy do wdrożenia zaleceń po przeprowadzonych testach lub usunięcia wykrytych luk i podatności systemu. Należy mieć na uwadze, że przeprowadzenie testów penetracyjnych wiąże się zazwyczaj z koniecznością ingerencji w system informatyczny (np. będzie wymagało jego czasowego zwielokrotnienia), co może być sprzeczne z warunkami licencji udzielonej zamawiającemu. Przed zleceniem testów penetracyjnych zamawiający powinien się zatem upewnić, że postanowienia licencyjne nie zabraniają mu przeprowadzenia takich testów oraz że umowa uprawnia go do udostępnienia audytorowi systemu, w zakresie niezbędnym do wykonania testów penetracyjnych.
Warto również pamiętać, aby zawrzeć z audytorem odpowiednią umowę – jako projekt wyjściowy, do dostosowania do konkretnego stanu faktycznego, można wykorzystać wzór przygotowany na potrzeby wystąpienia mec. Agnieszki Wachowskiej pt. „Jak kupować usługi z zakresu cyberbezpieczeństwa i jakie umowy zawierać?” w ramach XIII Forum Bezpieczeństwa i Audytu IT Semafor. Wzór umowy jest dostępny do pobrania tutaj: link.
Wykonanie zastępcze w umowie IT
Wykrycie luk bezpieczeństwa lub podatności we wdrożonym systemie IT (zarówno na skutek incydentu, jak i w ramach audytu czy testów penetracyjnych) może powodować, że dalsze korzystanie z systemu obarczone jest dużym ryzykiem. Luki i podatności grożą często wyciekiem niezwykle istotnych z perspektywy zamawiającego danych – zarówno danych osobowych, jak i informacji stanowiących tajemnicę przedsiębiorstwa. Jeśli umowa przewiduje odpowiednie mechanizmy pozwalające wymagać od wykonawcy usunięcia tych luk i podatności, a mimo to wykonawca odmawia zrealizowania tych zobowiązań (np. kwestionując raport z testów lub swoją odpowiedzialność), zamawiający może rozważyć skorzystanie z wykonania zastępczego i zlecić usunięcie wykrytych luk i podatności bezpieczeństwa podmiotowi trzeciemu.
Możliwość taką, bez konieczności wcześniejszego uzyskiwania upoważnienia sądu, przewiduje sam Kodeks cywilny w art. 480 § 3 k.c., jednak wyłącznie w wypadkach nagłych. Warto w tym miejscu wskazać, że orzecznictwo sądów powszechnych dosyć niejednolicie podchodzi do interpretacji pojęcia „wypadków nagłych”. W niektórych wyrokach sądy stosunkowo szeroko traktują to pojęcie, wskazując przykładowo, że nieposprzątanie przez wykonawcę hali produkcyjnej kosmetyków po ukończeniu prac naprawczych – co uniemożliwia prowadzenie na jej obszarze produkcji ze względu na wymogi czystości – uzasadnia zastosowanie wykonania zastępczego na podstawie art. 480 § 3 k.c.[3], natomiast w innych przyjmują np., że perspektywa wielomilionowych kar oraz utraty kredytu bankowego finansującego budowę nie spełnia przesłanek z art. 480 § 3 k.c.[4]
Z tego też powodu, aby uniknąć wszelkich wątpliwości i zapewnić sobie skuteczny instrument w postaci możliwości wykonania zastępczego w razie wystąpienia incydentów bezpieczeństwa w systemie informatycznym, zamawiający powinien rozważyć, czy takie uprawnienie szczegółowo uregulować na gruncie samej umowy, dookreślając procedurę i przesłanki skorzystania z zastępczego wykonania. Warto również pamiętać, że w praktyce wykonanie zastępcze nie będzie możliwe, jeżeli zamawiający nie dysponuje kodem źródłowym systemu lub gdy w umowie brakuje postanowień licencyjnych uprawniających zamawiającego do ingerencji w ten kod źródłowy. W takiej sytuacji podmiot trzeci, któremu zamawiający zamierza zlecić zastępcze wykonanie prac, nie będzie dysponował ani prawną podstawą do dokonania modyfikacji, ani faktyczną możliwością ich wprowadzenia.
Więcej o możliwości zastosowania wykonania zastępczego w umowach IT pisaliśmy również na naszym blogu.
Podsumowanie
Problematyka cyberbezpieczeństwa jest z perspektywy umów wdrożeniowych niezwykle istotna – dla możliwości kompleksowego i bezpiecznego wykorzystania wdrożonego systemu trzeba zagwarantować, że został on odpowiednio zabezpieczony przed nieuprawnionym dostępem osób trzecich i atakami cyberprzestępców. W przeciwnym wypadku korzystanie z systemu może doprowadzić do wycieków danych, które będą skutkować dla zamawiającego bardzo poważnymi szkodami, zarówno majątkowymi, jak i wizerunkowymi.
Z tego powodu wymagania bezpieczeństwa przy wdrożeniach powinno się traktować równie istotnie, co wymagania funkcjonalne systemu.
Jednocześnie warto pamiętać o wprowadzeniu do umowy wdrożeniowej postanowień, które wyznaczą zakres odpowiedzialności wykonawcy za bezpieczeństwo systemu oraz umożliwią zamawiającemu szybką reakcję na ewentualne incydenty. Pozwoli to na zabezpieczenie interesów zamawiającego oraz zapewni możliwość minimalizacji strat na wypadek ewentualnego wykorzystania luk bezpieczeństwa systemu przez nieuprawnione osoby trzecie.
Zapraszamy do zapoznania się ze wzorem umowy na wykonanie testów penetracyjnych (dostępny pod linkiem), przygotowanym na potrzeby wystąpienia mec. Agnieszki Wachowskiej pt. „Jak kupować usługi z zakresu cyberbezpieczeństwa i jakie umowy zawierać?” w ramach XIII Forum Bezpieczeństwa i Audytu IT Semafor.
[1] Ustawa z dnia 23 kwietnia 1964 r. – Kodeks cywilny (t.j. Dz. U. z 2020 r., poz. 1740).
[2] Ustawa z dnia 5 lipca 2018 r. o krajowym systemie cyberbezpieczeństwa (t.j. Dz. U. z 2020 r., poz. 1369).
[3] Zob. wyrok Sądu Okręgowego w Szczecinie z dnia 16 listopada 2018 r., sygn. VIII GC 425/16.
[4] Zob. wyrok Sądu Apelacyjnego w Białymstoku z dnia 8 października 2018 r., sygn. I AGa 110/18.