Procesy krytyczne w bankach działają pod presją dwóch fundamentalnych ryzyk technicznych: pierwsze to Remote Code Execution (RCE) ukryte w definicjach procesów BPMN – ryzyko, że złośliwy kod zostanie wykonany przez silnik procesowy tylko dlatego, że znalazł się w modelu procesu; drugie to przeciążenia workerów External Tasks, które mogą zatrzymać przetwarzanie w momentach gwałtownego wzrostu ruchu lub spadku wydajności systemów zewnętrznych.
W wersji 1.3.0 EximeeBPMS wprowadził dwa mechanizmy zaprojektowane specjalnie pod kątem środowisk o wysokiej dostępności: Script Guard oraz Backpressure. Oba działają na nowoczesnym, wspieranym stosie Java i stanowią fundament bezpieczeństwa oraz odporności operacyjnej w bankowości.
Co warto wiedzieć:
Silniki BPMN wykonują skrypty osadzone w modelach procesów. To oznacza, że definicja procesu może stać się nośnikiem złośliwego kodu.
RCE (Remote Code Execution) to sytuacja, w której złośliwy kod zostaje wykonany przez silnik procesowy – zdalnie, wyłącznie na podstawie treści modelu BPMN.
Najczęstsze miejsca, w których pojawia się ryzyko:
W bankowości jest to szczególnie groźne: skrypt wykonuje się automatycznie, w środowisku produkcyjnym, często z dostępem do danych transakcyjnych lub systemów zewnętrznych. To klasyczny scenariusz RCE.
Script Guard egzekwuje obecnie 38 reguł bezpieczeństwa, które wykrywają 26 odrębnych klas technik RCE (oznaczonych jako SCRIPT_SECURITY_*). Obejmują one m.in.:
Reguły są egzekwowane na dwóch niezależnych punktach kontroli:
| Poziom działania | Co robi? | Dlaczego to ważne? |
|---|---|---|
| Parsowanie BPMN (parse time) | Analizuje model procesu przed wdrożeniem i blokuje skrypty naruszające politykę bezpieczeństwa | Eliminacja ryzyka zanim proces trafi do produkcji, zgodność z KNF/DORA, pełna audytowalność |
| Wykonanie (runtime) | Blokuje wykonanie skryptów, które trafiły do modelu wcześniej lub zostały zmodyfikowane | Ochrona przed RCE w środowisku produkcyjnym, stabilność procesów krytycznych, bezpieczeństwo danych |
Polityka jest domyślnie włączona, konfigurowalna i audytowalna, co jest kluczowe dla zgodności regulacyjnej.
External Tasks są często wykorzystywane do integracji z systemami zewnętrznymi. To oznacza, że ich wydajność zależy od:
W takich sytuacjach worker może pobrać więcej zadań, niż jest w stanie przetworzyć, co prowadzi do przeciążenia, blokowania procesów i incydentów operacyjnych.
EximeeBPMS rozwija mechanizm Backpressure znany z Camundy, dopasowując go do wymagań środowisk o wysokiej dostępności – tak, aby worker nigdy nie pobierał więcej zadań, niż może faktycznie przetworzyć.
Mechanizm działa w trzech obszarach:
| Wersja Java | Status | Zastosowanie |
|---|---|---|
| Java 21 | Rekomendowany runtime | Optymalna wydajność i bezpieczeństwo |
| Java 25 | Zweryfikowana w CI jako wspierana | Planowanie migracji, zgodność z przyszłymi cyklami JDK |
Zgodność jest testowana na Eclipse Temurin JDK, co zapewnia przewidywalność i stabilność środowisk.
Script Guard i Backpressure wpisują się w kluczowe wymagania sektora finansowego:
Script Guard i Backpressure stanowią dwa filary bezpieczeństwa i odporności EximeeBPMS: pierwszy blokuje RCE w definicjach procesów BPMN, drugi stabilizuje External Tasks pod obciążeniem. W połączeniu ze wspieranym, nowoczesnym stosem Java 21 i Java 25 tworzą fundament, który spełnia wymagania banków w zakresie bezpieczeństwa, ciągłości działania i zgodności regulacyjnej.
Czy Script Guard działa zarówno podczas wdrożenia, jak i wykonania procesu?
Tak, polityka bezpieczeństwa jest egzekwowana na dwóch poziomach: podczas parsowania BPMN oraz w runtime. Dzięki temu blokowane są zarówno złośliwe skrypty w definicji procesu, jak i próby ich wykonania.
Czy Script Guard wymaga zmian w modelach BPMN?
Nie, mechanizm nie modyfikuje modeli BPMN. Chroni wyłącznie wykonanie skryptów, nie ingerując w semantykę procesów.
Czy Backpressure wymaga zmian po stronie workerów External Tasks?
Nie, mechanizm działa po stronie silnika. Worker nie musi implementować żadnych dodatkowych funkcji.
Czy Backpressure zapobiega przeciążeniom, gdy system downstream działa wolno?
Tak, ogranicza fetch size proporcjonalnie do obciążenia workerów, dzięki czemu nie są „zalewane” zadaniami, gdy system downstream spowalnia.
Jakie wersje Java wspiera EximeeBPMS?
Od wersji 1.4.0 EximeeBPMS wspiera Java 21 i Java 25, tym samym zapewniając najlepszą wydajność, bezpieczeństwo i stabilność mechanizmów Script Guard i Backpressure.
Czy Script Guard i Backpressure wspierają zgodność z DORA?
Tak, Script Guard wzmacnia bezpieczeństwo wykonania, a Backpressure odporność operacyjną. Oba mechanizmy wpisują się w wymagania DORA dotyczące stabilności i kontroli ryzyk ICT.
Powered by Consdata
hello@eximeebpms.org
+48 614 151 000
Consdata S.A.
Krysiewicza 9/14
61-825 Poznań
Polska