Checkmarx dinamično in interaktivno varnostno testiranje aplikacij CxIAST
Checkmarx, ponudnik istoimene palete rešitev za odkrivanje in odpravljanje varnostnih pomanjkljivosti v programski kodi, katerega v Sloveniji uradno zastopa Mariborsko podjetje REAL security,
je v drugi polovici leta 2017 predstavil najnovejšo rešitev s področja varnostnega testiranja izvorne kode ter aplikacij. Do pred kakšnim letom smo jih poznali predvsem kot ponudnika rešitev za statično testiranje izvorne kode (SAST), za varnostno preverjanje odprte kode ter kot ponudnika storitev izobraževanja s teh področij. Na področju dinamičnega varnostnega testiranja aplikacij (DAST) niso bili toliko dejavni. To se je spremenilo z novo rešitvijo CxIAST, ki je v bistvu še bolj napredna od klasičnih DAST rešitev in spada v področje interaktivnega dinamičnega testiranja aplikacij ali IAST.
SAST vs DAST vs IAST
Najbolj osnovna tehnologija za odkrivanje varnostnih pomanjkljivosti v aplikacijah je avtomatsko iskanje le-teh v izvorni kodi aplikacije. Napake odkrijemo in popravimo v statičnem razvojnem okolju, torej preden jih namestimo in uporabljamo v produkciji. To je statično varnostno preverjanje izvorne kode ali DAST - Static Application Security Testing.
Dinamično varnostno preverjanje aplikacije, DAST ali Dynamic Application Security Testing poteka na delujoči aplikaciji, v testnem ali produkcijskem okolju. Medtem ko se v okviru SAST analizira izvorno kodo, se v okviru DAST analizira aplikacijo kot neko črno škatlo (black box), v katero se vnašajo informacije (input) in daje rezultate (output). DAST je že uveljavljena tehnologija, ki preverja uspešnost različnih napadalnih tehnik z vnašanjem zlonamernih podatkov v aplikacijo, recimo tehnik s področja SQL injection.
SAST in DAST sta dandanes že označeni kot "stari" tehnologiji in v določenih krogih trdijo, da nista več dovolj za razvoj dovolj varnih aplikacij za moderna okolja. Brez SAST najbrž še vedno ne gre, pa čeprav ima težave v mnogih primerih, ko se uporabljajo zunanje programske knjižnice. Problem DAST rešitev sta predvsem čas in strokovno znanje, ki sta potrebna za dobro analizo obratujoče aplikacije. To je kritično predvsem v DevOps okoljih, kjer mora ves razvojni cikel teči hitro in gladko kot dobro naoljen stroj.
IAST ali Interactive Application Security Testing oz. interaktivno varnostno preverjanje aplikacij je bilo razvito predvsem kot rešitev pomanjkljivosti SAST in DAST rešitev. Tudi pri DAST postopkih so sodelovali visoko usposobljeni ljudje, pri IAST pa se izraz interaktivnost nanaša na nekaj drugega. DAST analize temeljijo na podlagi v samo preverjano aplikacijo vgrajenega agenta. Le-ta ima boljši vpogled tako v trenutne podrobnosti obratujoče aplikacije, kot tudi dostop do oz. povezljivost z izvorno kodo. Zato lahko preveri več komponent ter bolj natančno odkriva več različnih vrst pomanjkljivosti kot klasične tehnike.
Prednosti IAST
Večja pokritost programske kode: IAST deluje znotraj obratujoče aplikacije, zato lahko analizira celoto, vključujoč komponente, ki v statični analizi večkrat niso dostopne, kot so programske knjižnice ali ogrodja (libraries, frameworks) drugih proizvajalcev. Agent iz notranjosti aplikacije ima tudi večjo dosegljivost od tiste, ki je mogoča v DAST rešitvah.
Ranljivosti: Glavna prednost IAST tehnik pri odkrivanju varnostnih pomanjkljivosti je obratovanje znotraj delujoče aplikacije. To pomeni, da lahko zaznajo vse tisto, kar zaznajo tudi DAST tehnike, ter še več, tudi stvari, pri katerih so drugi postopki znano šibki. IAST tehnike nas lahko recimo opozorijo na shranjevanje občutljivih kritičnih podatkov v dnevniške zapise, kar je lahko škodljivo in česar z DAST tehnikami ni mogoče zaznavati.
Takojšnja povratna informacija: DAST orodja se poganjajo periodično, zaradi občutljivosti razvojnega cikla so rezultati pogosto na razpolago šele nekaj dni, tednov ali celo mesecev po izdelavi neprimerne programske kode in vpeljavi varnostne luknje v aplikacijo. IAST tehnike podpira skoraj takojšnje dostavljanje povratne informacije do razvojnih ekip, že nekaj sekund po implementaciji novega segmenta kode lahko dobijo obvestilo o varnostnem statusu. Ker imajo IAST rešitve boljši dostop do izvorne kode lahko pripravijo razvojni ekipi več informacij o pomanjkljivosti in o morebitnih rešitvah za tako nastale situacije.
Brez dodatnih konfiguracij: Ena od največjih prednosti IAST je, da ne zahteva nobenih posebnih konfiguracij razvojnega ali produkcijskega okolja. IAST je zgrajen za moderna razvojna okolja, zato odpravlja konfiguracijski del rešitve. Pomeni - takoj, ko bo vaša aplikacija obratovala, bo IAST testiral in analiziral, samodejno in neprekinjeno. Če DevOps in CI/CD ekipe gradijo aplikacije z IAST agentom znotraj aplikacije že od samega začetka, je zagotavljanje varnosti bistveno bolj enostavno, ker je detekcija pomanjkljivosti neprekinjena.
Tehnologija IAST in SAST dopolnjujeta druga drugo
Doslej smo pisali bolj kot ne kot da se pri SAST / IAST gre za dve tehnologiji na nasprotujočih si položajih, kot da je treba uporabiti ali eno ali drugo. V resnici pa druga drugo dopolnjujeta, prav tako se dopolnjujejo rešitve, ki uporabljajo te tehnologije. Razvojne ekipe, ki nameravajo vzpostaviti hitro in učinkovito razvojno okolje za izdelavo varnih aplikacij bodo najbrž uporabljale obe tehnologiji.
· Z rešitvijo SAST analiziramo izvorno kodo aplikacij v zgodnjem delu razvojnega cikla SDLC oz. ene od DevOps iteracij, z IAST rešitvijo analiziramo delujočo aplikacijo običajno v testnem okolju.
· Z rešitvijo SAST pokrijemo vse morebitne ranljivosti v kompletni izvorni kodi aplikacije, z IAST rešitvijo pokrijemo ranljivosti delujoče aplikacije, vključujoč take, ki se v izvorni kodi še ne pokažejo.
· Sinergija SAST in DAST tehnologij bo v prihodnje ključnega pomena za uspešen razvoj aplikacij v sodobnih razvojnih okoljih kot je DevOps.
· SAST analizira celotno lastniško izvorno kodo, IAST pa upošteva celotno izvršno kodo aplikacije vključujoč programske knjižnice domačih ali drugih proizvajalcev, okvirje (framework) in vse druge dejavnike, ki se pojavijo šele med zagonom.
(Popolna) Pokritost z rešitvami podjetja Checkmarx
Platforma za preverjanje varnosti aplikacij Checkmarx sedaj vključuje Codebashing (storitve izobraževanja za varno kodiranje), CxSAST (statično varnostno testiranje aplikacij), CxOSA (analizo odprte kode) in CxIAST (interaktivno varnostno testiranje aplikacij), komplet rešitev, ki druga drugo dopolnjujejo, in ki zagotavljajo celovit pristop za podporo hitrega in učinkovitega razvoja varnih aplikacij, kot ga potrebujemo v DevOps okoljih.
CxIAST je pomemben steber platforme Checkmarx Application Security Testing, ki nudi rešitve za vsako stopnjo življenjskega cikla razvoja programske opreme (SDLC). Maty Siman, CTO in ustanovitelj, Checkmarx: "CxIAST is a game changer for organizations who need to deliver secure software faster. Our unified AppSec platform correlates data and results from all Checkmarx products across the software development lifecycle and then leverages that information intelligently to generate fast, accurate and actionable results."
Avtor / prevod: Robert Lubej
Povezava do izvorne novice:
https://www.checkmarx.com/company/company-news/
### ### ###
O podjetju Checkmarx
Checkmarx je uveljavljeni ponudnik orodij za aplikacijske razvojne ekipe, s pomočjo katerih lahko pravočasno izdelajo aplikacije, brez da bi zaradi tesnih rokov žrtvovali pomembne varnostne zahteve. Podjetje je bilo ustanovljeno leta 2006 z vizijo zagotavljanja celovite rešitve za avtomatizirano pregledovanje programske kode s poudarkom na varnostni odpornosti končnega produkta. Checkmarx razume izvorno kodo v 18 različnih programskih jezikih, predvsem pa zna odkrivati varnostne pomanjkljivosti v vseh teh dialektih.
SAST orodja za varnostno analizo programske kode so učinkovita predvsem zato, ker je odkrivanje in odpravljanje varnostnih pomanjkljivosti precej enostavnejše predvsem pa cenejše v razvojnem delu življenjskega cikla aplikacije, kot pa v testnem obdobju ali celo, kar je najhujše, šele ko je aplikacija že v rabi. Checkmarx nam poleg same varnostne luknje, ki se običajno vleče skozi daljši del kode, običajno pokaže tudi točno mesto, kjer jo je najenostavneje odpraviti tako, da bo popravek imel vpliv na celotno verigo.
Več o podjetju najdete na spletnih straneh: https://www.checkmarx.com/
Dodatne informacije:
Robert Lubej
REAL security d.o.o.
Žolgarjeva ulica 17
2000 Maribor
tel.: 02 234 74 74