Paradoks ślepego celnika. Architektoniczna schizofrenia KSeF

niepoprawni.pl 2 часы назад

W moich poprzednich analizach architektury Krajowego Systemu e-Faktur wykazałem na podstawie jawnie opublikowanej dokumentacji API 2.0, iż system oddaje pełną, jawną treść polskich faktur zagranicznej bramce (WAF firmy Imperva) podczas ich pobierania z urzędu.

  Zauważyłem jednak jeszcze jeden, być może największy paradoks KSeF. Paradoks, który obnaża całkowitą schizofrenię twórców tego systemu.

  Chodzi o to, iż ten sam zagraniczny WAF jest jednocześnie:

  • ➡️ ślepy tam, gdzie z definicji powinien wykrywać zagrożenia,
  • ➡️ widzący tam, gdzie nie powinien mieć dostępu do naszych tajemnic.

  To jest architektoniczny absurd! Zobaczcie, jak to działa.

Oślepienie WAF-a na wejściu

  Na wejściu (przy wysyłaniu faktur) system zmusza programy księgowe do zaszyfrowania faktury aplikacyjnie (algorytmem AES-256). Oznacza to, iż zagraniczna bramka bezpieczeństwa WAF na brzegu systemu widzi tylko niezrozumiały, zaszyfrowany plik.

  WAF (Web Application Firewall) to z założenia bardzo drogi i inteligentny strażnik. Jego głównym zadaniem jest zaglądanie w głąb dokumentów XML i wyłapywanie złośliwego kodu — np. prób wstrzyknięcia złośliwego kodu (tzw. XXE), nietypowych znaków, czy bomb logicznych (tzw. Billion Laughs), które hakerzy mogą zaszyć w fakturze, by zawiesić system urzędu.

  Tyle iż w KSeF ten strażnik nie może tego zrobić. Ponieważ faktura jest zaszyfrowana, WAF nie zobaczy w niej żadnego złośliwego XML-a. Może jedynie sprawdzić adres IP, wielkość pliku i częstotliwość wysyłania. Najniebezpieczniejsze ataki przelatują przez tę bramkę zupełnie bezkarnie i ujawniają się dopiero po odszyfrowaniu, głęboko w serwerach Ministerstwa Finansów. Rola zagranicznego WAF-a na wejściu zostaje zatem częściowo wykastrowana. Chroni on głównie tylko przed atakami DDoS.

  Oficjalna dokumentacja KSeF (np. changelog wersji 2.4.0) to potwierdza. Ministerstwo przyznaje, iż weryfikacja treści, znaków Unicode i niebezpiecznych instrukcji XML odbywa się dopiero wewnątrz systemu.

Odwrócona logika bezpieczeństwa

  A co dzieje się na wyjściu? Kiedy księgowa pobiera pojedynczą fakturę z KSeF, dokument wraca z serwerów urzędu jako zwykła odpowiedź API. Jest jawny. Zagraniczna bramka WAF nagle odzyskuje wzrok i widzi każdą pozycję na naszej fakturze, każdą kwotę i często marżę.

  Mamy tu do czynienia z dokładnie odwróconą logiką bezpieczeństwa państwa:

  • ➡️ Na wejściu: faktura jest zaszyfrowana, więc Imperva nie może jej sprawdzić pod kątem cyberataków.
  • ➡️ Na wyjściu: już sprawdzona i bezpieczna faktura jest jawna, więc Imperva może bez przeszkód przeczytać poufne dane biznesowe polskich firm.

  Trudno wymyślić głupszą konfigurację z punktu widzenia interesów państwa: ślepota tam, gdzie potrzebna jest ochrona, i widoczność tam, gdzie potrzebna jest poufność.

Paradoks Ślepego Celnika

  Architekci KSeF mogą bronić się technicznie: "WAF nie musi widzieć treści faktury na wejściu, bo ministerstwo sprawdza XML bezpiecznie u siebie, po jego odszyfrowaniu".

  I to może być prawda! jeżeli po stronie ministerstwa istnieje dobrze skonfigurowana, odizolowana strefa dekryptująca, system poradzi sobie z atakami. Jednak ta obrona tylko potwierdza mój architektoniczny zarzut!

  Bo skoro najważniejsza kontrola faktury i tak odbywa się wewnątrz ministerstwa, to po co w ogóle ustawiono na wejściu zagranicznego pośrednika?

  Do samej ochrony przed przeciążeniami (DDoS) wystarczyłaby prosta krajowa infrastruktura (np. operator państwowy NASK), a nie zaawansowany WAF amerykańsko-izraelsko-francuskiej korporacji, z którym dzielimy się tajemnicami naszej gospodarki w drodze powrotnej.

  WAF w KSeF jest jak celnik na granicy, będący agentem obcego wywiadu, któremu państwo każe przepuszczać zaplombowane tiry wjeżdżające do kraju bez zaglądania do środka, ale przy wyjeździe wręcza mu do rąk pełny, jawny spis zawartości!

  Urzędnicy nazwali to bezpieczeństwem. W rzeczywistości to najdroższa na świecie atrapa, za którą płacimy naszą cyfrową suwerennością.

Grzegorz GPS Świderski
]]>https://Twitter.com/gps65]]>
]]>https://t.me/KanalBlogeraGPS]]>

Читать всю статью