Automatické obchodovanie s kryptomenami dnes patrí medzi technologicky náročné výzvy. Vyžaduje si nielen precízne naprogramovanú obchodnú logiku, ale aj spoľahlivú infraštruktúru, škálovateľnosť a vysokú úroveň bezpečnosti. Keď nás oslovil ambiciózny investičný startup Perpeto, ktorý ponúka investičnú platformu pre automatizované obchodovanie kryptomien na kryptoburzách, požiadali nás o komplexnú analýzu ich softvérového riešenia. Cieľom bolo zistiť, či je infraštruktúra správne nastavená, identifikovať bezpečnostné riziká a overiť kvalitu softvérového kódu spolu so samotnou logikou automatizovaného obchodovania.

Analýza bezpečnosti dát a API komunikácie
Dáta a ich ochrana sú najcitlivejšou časťou každej fintech platformy. Preto sme sa sústredili na bezpečnostné opatrenia pri ukladaní a prenose dát medzi frontendom, backendom a kryptoburzami
1. Ukladanie citlivých údajov
- Overili sme, či sú API kľúče a tzv. secrets pre pripojenie ku kryptoburzám správne hashované a šifrované.
- Kontrolovali sme, či databáza neobsahuje plaintext heslá alebo iné citlivé údaje, ktoré by mohli byť zneužité v prípade úniku dát.
- Overili sme, či sa využíva salting a hashing hesiel podľa odporúčaní NIST (napr. bcrypt, Argon2).
2. Bezpečná komunikácia medzi systémovými komponentmi
- Skontrolovali sme, či frontend komunikuje s backendom výlučne cez HTTPS s TLS 1.2 alebo vyšším, resp. či je možné obísť komunikáciu cez HTTP.
- Overili sme si, ako má platforma nastavený tzv. rate-limiting svojich API, správnosť nastavenia rate-limitingu na IP adresu užívateľa a pod.
- Overili sme, či sú citlivé API požiadavky (napr. pri obchodovaní, výberoch a autentifikácii) chránené vhodnými mechanizmami.
- Testovali sme správne nastavenie CORS pravidiel, aby frontend mohol bezpečne komunikovať s backendom bez rizika Cross-Site Request Forgery (CSRF) útokov.
Overenie autentifikácie a bezpečnosti používateľských účtov
Keďže ide o investičnú platformu, kde používatelia spravujú finančné aktíva, overili sme, ako je riešená identifikácia a autorizácia používateľov.
1. Použitie bezpečných autentifikačných metód
- Skontrolovali sme, či je prihlasovanie vyriešené cez tokenizované autentifikačné mechanizmy (JWT, OAuth2, OpenID Connect) a či sa správne používajú refresh tokeny.
- Overili sme, či má systém ochranu pred brute-force útokmi na heslá (napr. ratelimiting, CAPTCHA po viacerých neúspešných pokusoch).
- Analyzovali sme, či je dvojfaktorová autentifikácia (2FA) povinná pre kritické operácie, ako sú výbery prostriedkov.
2. Ochrana pred Session Hijacking a Man-in-the-Middle útokmi
- Overili sme krátku platnosť session tokenov a ich správnu invalidáciu po odhlásení.
- Kontrolovali sme, či cookies obsahujú flagy HttpOnly, Secure a SameSite, aby neboli náchylné na Cross-Site Scripting (XSS) útoky.
- Skontrolovali sme, či systém neukladá tokeny v localStorage, ale používa bezpečné riešenia ako HttpOnly cookies.
Testovanie zraniteľností vo webovom rozhraní
Každá moderná aplikácia musí byť odolná voči bežným webovým zraniteľnostiam, ktoré útočníci často využívajú.
1. Ochrana pred SQL injection
- Skontrolovali sme, či sa pri všetkých databázových dotazoch používajú tzv. prepared statements alebo stored procedures a ORM na správne escapovanie vstupov.
- Pokúsili sme sa vykonať manuálne a automatizované SQL Injection testy, aby sme overili, či sú vstupy správne filtrované.
2. Ochrana pred Cross-Site Scripting (XSS)
-
Overili sme, či frontend správne čistí vstupy a escape-uje výstupy, aby sa zabránilo spusteniu škodlivého JavaScript kódu.
- Skontrolovali sme, či sú nastavené Content Security Policy (CSP) hlavičky na zabránenie XSS útokov.
3. Testovanie možnosti vykonania Cross-Site Request Forgery (CSRF) útokov
-
Overili sme, či sú všetky dôležité API endpointy chránené CSRF tokenmi alebo používajú bezpečnú metódu autentifikácie cez JWT.
Analýza výkonu a škálovateľnosti infraštruktúry
Výkonnosť a stabilita sú kritické pre každú obchodnú platformu, najmä ak spracováva veľké objemy obchodov v reálnom čase.
1. Škálovateľnosť AWS infraštruktúry
- Overili sme, či je infraštruktúra automaticky škálovateľná podľa počtu používateľov a obchodov.
- Skontrolovali sme, či sa používajú tzv. load balancery na vyvažovanie záťaže medzi viacerými servermi.
- Skontrolovali sme nastavenie jednotlivých inštancií RDS, EC2 a pod.
2. Databázová optimalizácia
- Overili sme a zároveň navrhli spôsob používania indexov v databázových tabuľkách pre zrýchlenie dopytov.
- Zanalyzovali sme dizajn databázy a efektivitu ukladania jednotlivých dátových entít a zároveň navrhli zlepšenia pre väčšiu robustnosť do budúcnosti.
- Skontrolovali sme, či systém efektívne spracováva veľké množstvo obchodov v krátkom čase.
Naša analýza pomohla investičnému startupu Perpeto identifikovať kľúčové oblasti na zlepšenie, najmä v oblastiach bezpečnosti API, ochrany dát a používateľskej autentifikácie. Vývojári sa na základe nášho výstupu mohli následne pustili do úprav kódu a zavádzania bezpečnostných opatrení, ktoré posilnia spoľahlivosť a ochranu platformy. S našou podporou tak dokáže Perpeto rásť a rozširovať svoje služby s vyššou úrovňou bezpečnosti, výkonu a škálovateľnosti.