Statická a dynamická analýza zdrojového kódu

Statická a dynamická analýza zdrojového kódu

Bezpečnostná analýza aplikácií

S rastúcim počtom útokov na webové a mobilné aplikácie rastie aj riziko zneužitia chýb v ich kóde alebo konfigurácii. Bezpečnostné zraniteľnosti často unikajú tradičným funkčným testom, pretože sa neprejavia ako chyba v správaní aplikácie. Bezpečnostná analýza preto zahŕňa špecializované techniky, ktoré umožňujú odhaliť slabiny ešte predtým, než môžu byť zneužité. Medzi najpoužívanejšie metódy patrí statická (SAST) a dynamická (DAST) analýza zdrojového kódu.


Čo je statická analýza

Na rozdiel od dynamického testovania prebieha statická analýza bez spustenia aplikácie – priamo nad jej zdrojovým kódom.

  • Zameriava sa na hľadanie chýb a zraniteľností v kóde ešte pred nasadením.
  • Umožňuje odhaliť riziká v logike, spracovaní vstupov alebo oprávneniach.
  • Identifikuje problémy ako sú SQL injection, nesprávna práca s heslami alebo nedostatočné overenie identity.
  • Analýza prebieha automatizovane pomocou špecializovaných nástrojov, často už počas vývoja. Z pohľadu bezpečnosti ide o významný nástroj prevencie, vďaka včasnému odhaleniu slabín znižuje náklady na opravy a zvyšuje celkovú kvalitu aplikácie.


Čo je dynamická analýza

Na rozdiel od statickej analýzy sa dynamická analýza vykonáva na spustenej aplikácii a sleduje jej správanie v reálnom čase.

  • Zameriava sa na reakcie systému na rôzne vstupy, interakcie a simulované útoky.
  • Odhalí zraniteľnosti typu SQL injection, XSS alebo path traversal.
  • Overuje bezpečnosť API, formulárov a riadenie prístupu k citlivým údajom. Z pohľadu bezpečnosti pomáha odhaliť slabiny, ktoré vznikajú až počas behu aplikácie a ktoré by statická kontrola nemusela odhaliť. Je tak významnou súčasťou komplexného prístupu k testovaniu aplikácií.

Prečo zaviesť bezpečnostnú analýzu aplikácií?

Prínos Popis
Zvýšenie bezpečnostnej úrovne aplikácií Slabiny sú identifikované skôr, než môžu byť zneužité.
Efektivita a úspora nákladov Včasné odhalenie problémov výrazne znižuje náklady na ich odstránenie.
Spätná väzba pre vývojárov Podporuje rýchlejší a bezpečnejší vývoj softvéru.
Súlad s právnymi a bezpečnostnými požiadavkami Napĺňa požiadavky noriem a regulácií ako DORA, NIS2, ISO 27001.
Zníženie rizika úspešného kybernetického útoku Kombináciou statickej a dynamickej analýzy možno výrazne obmedziť priestor pre útok.


Aké požiadavky stanovuje DORA v súvislosti s testovaním aplikácií?

  • Testovanie musí byť súčasťou komplexného rámca riadenia ICT rizík, ktorý zahŕňa prevenciu, detekciu, reakciu a obnovu v prípade kybernetických incidentov.
  • Organizácia musí pravidelne vyhodnocovať bezpečnosť aplikácií a systémov, vrátane zabezpečenia integrity, dostupnosti a dôvernosti údajov.
  • Identifikácia a správa zraniteľností v používaných systémoch, softvérových komponentoch a knižniciach musí byť kontinuálna a dokumentovaná.
  • Používané nástroje a metodiky musia byť primerané povahe, rozsahu a zložitosti prevádzkovaných systémov.

DORA kladie dôraz na systematické a pravidelné testovanie zraniteľností ako neoddeliteľnú súčasť riadenia ICT bezpečnosti. Metódy ako statická (SAST) a dynamická (DAST) analýza aplikácií sú v tomto kontexte nástrojmi, ktoré umožňujú efektívnu detekciu slabín v rôznych fázach životného cyklu aplikácií.

Požiadavky na testovacie tímy

DORA kladie dôraz aj na kvalitu a kvalifikáciu subjektov vykonávajúcich pokročilé testy. Testeri musia spĺňať určité kritériá, napríklad nasledovné:

  • Pokročilá znalosť bezdrôtových protokolov.
  • Skúsenosti s nástrojmi na analýzu rádiového spektra, snímanie paketov (napr. Wireshark, Aircrack-ng, Kismet).
  • Schopnosť realizácie aktívnych útokov (Evil Twin, MITM, deauth, credential harvesting).
  • Skúsenosť s forenznými výstupmi a reportovaním incidentov a nálezov v súlade s požiadavkami regulačných rámcov.
  • Nezávislosť testovacieho tímu od vývojového tímu, prevádzkového IT oddelenia a dodávateľov infraštruktúry.


Ako testovanie prebieha v praxi?

Statická analýza Dynamická analýza
  • Definícia rozsahu – určenie testovaného kódu, komponentov, knižníc a rozsahu analýzy.
  • Automatizovaná kontrola – spustenie špecializovaného nástroja na zdrojový kód bez nutnosti spustenia aplikácie.
  • Vyhodnotenie nálezov – triedenie, validácia a odstránenie falošne pozitívnych zraniteľností.
  • Odporúčania a revízia – poskytnutie návrhov na opravy, spätná väzba pre vývojárov.
  • Definícia rozsahu – stanovenie cieľovej aplikácie a testovacích prostredí.
  • Simulácia útokov – odosielanie vstupov a vykonávanie interakcií v reálnom čase behu aplikácie.
  • Identifikácia zraniteľností – detekcia slabín ako XSS, SQLi, prístup k citlivým častiam alebo nedostatočné zabezpečenie API.
  • Spätná väzba a reporting – analýza zistení, odporúčania k náprave a dokumentácia pre vývoj a manažment.


Prečo spolupracovať s BDO?

BDO poskytuje služby v súlade so špecifickými požiadavkami európskych regulátorov (napr. ECB, EBA, ESMA) a štandardmi ako DORA, NIS2 či ISO/IEC 27001. Naša metodika kombinuje statické a dynamické testovanie aplikácií, znalosť regulácií a hlboké technické know-how – vrátane prístupu, ktorý reflektuje špecifické aplikačné riziká a sektorové hrozby v európskom finančnom prostredí.

  • Nezávislosť a dôveryhodnosť
    Ako nezávislá konzultačná firma nemáme vlastné technológie a ponúkame skutočne objektívne hodnotenie. Spolupráca s BDO je jasným signálom kvality a dôvery pre regulátorov a klientov.
  • Certifikovaný tím s expertnou praxou
    Naši špecialisti sú držiteľmi certifikácie OSCP, CRTP, eCPPT, BSCP, CEH, CRT, CPSA, CISSP, CCISO a ďalšie. Majú skúsenosti s testovaním veľkých bánk, poisťovní aj ICT poskytovateľov.
CISO CISSP OSCP eCPPT PenTest RedTeam CEH CREST BURPSuite

Hlavné kontaktné osoby

Martin Hořický
Martin Hořický
Manager • CISO
i View bio
Marek Kovalčík
Partner
i View bio