Stanovisko spoločnosti Nethemba k vyjadreniu Finančnej správy na zraniteľnosť e-Kasa - Nethemba

BLOG

Stanovisko spoločnosti Nethemba k vyjadreniu Finančnej správy na zraniteľnosť e-Kasa

2019-11-05 00:07 Pavol Lupták
Pre Investigatívne centrum Jána Kuciaka (ICJK) sme vykonali bezpečnostnú analýzu e-Kasa pokladníc.
 
Odhalili sme kritickú zraniteľnosť v bezpečnostnom dizajne, ktorá sa týka väčšiny najpoužívanejších e-Kasa pokladníc na Slovensku.
 
Demonštrovali sme, že „bezpečné“ chránené dátové úložisko (CHDÚ), kde by sa mali ukladať všetky vydané doklady bez akejkoľvek možnosti zmazania alebo úpravy, dokážeme 100% odemulovať bez toho, aby sa tam akýkoľvek vydaný doklad vôbec uložil alebo poslal na finančnú správu.
 
 
Finančná správa vo svojom stanovisku poprela uvedenú zraniteľnosť. Okrem toho, že obsahovalo množstvo nepravdivých informácií, paradoxne tým popreli aj niektoré svoje staršie prehlásenia týkajúce sa CHDÚ.

V útoku, ktorý sme demonštrovali sa ako najslabší článok v reťazi javí absencia šifrovanej komunikácie medzi pokladničným softvérom PPEKK a CHDÚ. Požiadavky na CHDÚ stanovené samotnou Finančnou správou boli jednoznačné:

Pokiaľ PPEKK a CHDÚ tvoria jeden neoddeliteľný celok, tak nie je nutné používať šifrovanie medzi PPEKK a CHDÚ, avšak vyžaduje sa, aby PPEKK a CHDÚ boli zaliate hmotou resp. inak vhodne chránené (viď písmeno B bod 4).  

V prípade, že PPEKK a CHDÚ netvoria jeden celok, tak sa postupuje v zmysle tohto dokumentu (šifrovanie je povinné).

To, či má mať konkrétne riešenie šifrovanú komunikáciu medzi PPEKK a CHDÚ by nemalo byť závislé na subjektívnom názore certifikačnej autority alebo udelení výnimky, ale mala by to byť prísne posudzované z hľadiska bezpečnosti daného riešenia.

Ďalej si dovoľujeme vyvrátiť nepravdivé tvrdenia Finančnej správy:

  1. Chránené dátové úložisko nemá žiaden podstatný vplyv na bezpečnosť e-Kasa systému!

    CHDÚ modul bol zavedený kvôli tomu, aby podnikatelia nedokázali podvádzať v offline režime a jednotlivé doklady sa tam naďalej ukladali a následne po obnovení spojenia preposlali na server Finančnej správy. Emulátor CHDÚ realizovanie tohto podvodu ale umožňuje. CHDÚ obsahuje identifikačné a autentifikačné údaje podnikateľa, ktoré musí PPEKK pri vystavovaní (generovaní) dokladu použiť. V požiadavkách na CHDÚ sa píše:
    „Podpisový certifikát podnikateľa (súčasť autentifikačných údajov) musí byť PPEKK pri každom podpísaní dátovej správy vyžadovaný len z CHDÚ, ak CHDÚ nebude prístupné, PPEKK nesmie podpísať dátovú správu.“
    Tu ako vidíme samotná Finančná správa zvýrazňuje dôležitosť CHDÚ, bez ktorého certifikované riešenie nesmie v žiadnom prípade vyhotoviť doklad. Pri použití emulátoru napriek tomu plne certifikované riešenie doklad vytvorí!

  2. Finančná správa dokáže detegovať odpojenie CHDÚ modulu

    Pokladničný program PPEKK (a teda ani Finančná správa) nedokáže detegovať odpojenie CHDÚ modulu, kedže CHDÚ emulátor ho kompletne emuluje.

  3. Finančná správa dokáže detegovať emulátor CHDÚ podľa prerušeného číselného radu dokladov

    Odhaľovanie pri vystavovaní off-line dokladov, ktoré nikdy nebudú zaslané na Finančnú správu podľa prerušeného číselného radu dokladov, považujeme len za nepochopenie použitia emulátora, preto si dovoľujeme použiť príklad:

    V CHDÚ je posledný doklad číslo 6 (a doklad bol zaslaný na server e-Kasa). V tejto chvíli urobíme kópiu CHDÚ a to následne odpojíme. V režime off-line na emulátore bude PPEKK pokračovať v číselnom rade a to 7,8,9 … Keď sa rozhodneme, že ideme vystavovať originálne doklady, opäť pripojíme CHDÚ. PPEKK si pri spustení pokladne zisťuje posledne vystavený doklad uložený v CHDÚ – tu zistí, že posledný doklad bol 6 a ďalšiemu priradí 7, 8, 9 atď … Server finančnej správy bude evidovať posledný doklad 6 a potom mu budú postupne pribúdať 7,8,9. V žiadnom prípade sa nepodarí skontrolovať doklady podľa čísla, pretože to bude pokračovať v číselnom rade. Z uvedeného príkladu vyplýva, že pri použití emulátora v číselnom rade dokladov nenastane na strane Finančnej správy žiadna nezrovnalosť.

  4. Finančná správa dokáže detegovať neplatný doklad, ktorý nebol do 48 hodín (a viac) zaslaný na server Finančnej správy

    Toto je pravda. Tu je ale potrebné si uvedomiť, že zo samotného falošného dokladu Finančná správa nedokáže priamo zistiť, ktorý predajca tento doklad vyhotovil (predajca má totiž nad jeho obsahom plnú kontrolu – môže napríklad použiť impersonifikačný útok a falošné doklady vystavovať na svoju konkurenciu). Na to, aby Finančná správa dokázala identifikovať predajcu, ktorý vystavuje falošné doklady využitím CHDÚ emulátora, musia byť splnené nasledujúce dve podmienky:

    • Zákazník musí uvedený doklad overiť minimálne až po 48 hodinách, kedy sa dozvie, že doklad nebol zavedený na Finančnej správy a je teda neplatný (väčšina zákazníkov toto nikdy nespraví).

    • Zákazník po tom ako sa dozvie, že jeho doklad je neplatný, tak musí explicitne kontaktovať Finančnú správu a informovať ich, ktorý presne predajca mu daný falošný doklad vyhotovil. Až potom dokáže Finančná správa vykonať jeho kontrolu. Aj v tejto situácii je veľmi ťažké dokázať danému predajcovi, že daný falošný doklad mu vydal on (obvykle stačí keď to poprie). Nutné podotknúť, že Finančná správa nemá mechanizmy, ako takéhoto podvodného predajcu identifikovať priamo, kedže obsah podvrhnutých vystavených dokladov ani samotná komunikácia e-Kasa ho neprezradí.

Súhlasíme s vyjadrením Finančnej správy: „Oproti predošlému systému má totiž finančná správa v súčasnosti omnoho širšie mechanizmy na identifikovanie nepoctivého konania.“

Otázne je však, či súčasne vynaložené prostriedky ako aj prostriedky na budúcu údržbu celého e-Kasa systému boli vynaložené účelne (daňovníci vynaložili na e-Kasu prostriedky vo výške 18 miliónov, ktoré zaplatil štát priamo a ďalších cca 60-80 miliónov samotní podnikatelia).

Podobne súhlasíme s tvrdením „Práve pri klasických registračných pokladniciach sme totiž identifikovali, že existujú pokladnice s modifikovateľným fiškálnym modulom. Často sa na modifikovaní fiškálnych modulov podieľali niektoré servisné organizácie.“ A tu sa objavuje ďalšia zraniteľnosť celého e-Kasa systému – náš útok sme realizovali bez zásahu do pokladničného systému, bez zásahu do certifikovanej časti PPEKK a bez zásahu do CHDÚ. Navyše, pokladnice sa v systéme e-Kasa už neblombujú, preto tvrdíme, že nový systém je oveľa viac zraniteľnejší. Tvrdenie, že odpojením CHDÚ od počítača je možné zistiť, že ho podnikateľ nepoužíva – pri používaní emulátora fyzické CHDÚ nie je potrebné, môže však zostať pripojené k počítaču – emulátor a PPEKK ho však budú ignorovať.

Dodatočná tlač „kópií“ originálnych dokladov uložených v CHDÚ (ktoré je pri spomínanom CHDÚ nesporne jednoduchšie), jednoduchá tlač fiktívnych dokladov pomocou emulátora, používanie niekoľkých „originálnych“ ľahko zameniteľných CHDÚ sú fakty, ktoré určite prínos celého e-Kasa systému degradujú.