Developeri, jeste znali da ReversingLabs ima platformu za provjeru repozitorija otvorenog koda?

netokracija - prije 1 tjedan - link

Od 75 do 95 posto komponenti u aplikacijama koje danas koristite došle su iz open sourcea iliti zajednica otvorenog koda. Nitko danas ne piše aplikacije iz nule, objašnjava Fran Frković, Software Development Manager iz ReversingLabsa:

Prva linija svakog programera obično je “import”. Jedan import, drugi import, dok samo navedete da vam računalo ispisuje “Hello World” imate 20 biblioteka u svom kodu. Želimo pomoći svima koji kodiraju da provjere sigurnost tih biblioteka, bez obzira radili nešto iz hobija ili razvijali enterprise softver.

Tako je nastao Spectra Assure, a potom i Spectra Assure Community – verzija za developere koja će danas biti i službeno, globalno lansirana. U pitanju je servis kojem se doduše, još od kraja prošle godine može javno pristupiti. Trenutno je u beta fazi, uspješno se koristi i ima zaokružene temeljne funkcionalnosti. Verzija za developere je besplatna i primarno je zamišljena da upozori i informira o rizičnim softverskim paketima otvorenog koda. Pomoć u otklanjanju takvih rizika, kako za tvrtke tako i sve druge koji imaju veće sigurnosne zahtjeve i potrebe, spada pod plaćene opcije temeljnog proizvoda, Spectre Assure.

Na generalnom produktu i tehnologiji iza Spectra Assure danas radi preko 70 stručnjaka ReversingLabsa, a u pitanju je multi-disciplinaran angažman, pogotovo ako uzmemo u obzir da je cilj same platforme analizirati brojne repozitorije, biblioteke, pluginove i druge integracije bitne u korištenju niza programerskih jezika i vezanih developerskih alata.

Prethodni mjeseci rada na Spectri Assure (Community) bili su izazovni i jer unatoč rastućim sigurnosnim problemima, svijest, znanje i proaktivnost organizacija po tom pitanju ne napreduje jednakom brzinom. Kako onda, uz sve domensko znanje koje ima tvrtka kalibra poput ReversingLabsa, napraviti proizvod koji će developer pojedinac ili tim, moći razumjeti i jednostavno koristiti u svom razvojnom procesu?

Na dan službenog lansiranja upravo smo o tome imali priliku pričati s Franom Frkovićem i Tomislavom Peričinom, idejnim i razvojnim začetnikom ovog produkta, Chief Architectom i suosnivačem ReversingLabsa.

Od SolarWindsa do jedinstvenog proizvoda na svijetu

Kad su 2020. kroz softversku tvrtku SolarWinds ruski hakeri uspjeli kompromitirati 18 tisuća klijenata, među njima i američku vladu – na žalost po sve zahvaćene, to je ujedno bila i najbolja potvrda product market fita za proizvod ReversingLabsa. Netom nakon incidenta, na svom blogu objavili su analizu kojom su demonstrirali kako imaju tehnologiju za otkrivanje takve vrste napada – prvi u svijetu. Glavni autor te analize je osoba koja je i započela rad na Spectri Assure – Tomislav, koji se prisjeća:

Mi smo već 5-6 mjeseci razvijali Spectra Assure kad se dogodio napad na Solar Winds. Imali smo ideju da napravimo alat na osnovu naših tehnologija koji je u stanju detektirati napade u lancu opskrbe softvera. Tada smo imali interni Proof-of-Concept koji, da ga je u tom trenutku koristio SolarWinds, bi im pomogao detektirati taj SSC (Software Supply Chain) napad.

Tomislav Peričin, Chief Architect i suosnivač ReversingLabsa.

Analiza je obišla svijet, razdrmala industriju i uhvatila pažnju investitora. Tako ih je ovaj slučaj doveo i do runde B te su sljedeće godine potvrdili investiciju od 56 milijuna dolara, koju je predvodio Crosspoint Capital Partners.

U međuvremenu im je Solar Winds postao klijent, a niz se nastavio s drugim velikim imenima, kako se pročulo da su u ReversingLabsu majstori za takve incidente. Nemalo ih je poguralo i što je nakon SolarWindsa američki predsjednik Biden dao izvršnu naredbu da se postave sigurnosni standardni za sve tvrtke koje surađuju s vladom, što se, između ostalog, odnosi i na sigurnost svih softverskih paketa koje te tvrtke koriste.

Ne preskače se nijedna verzija softverskog paketa

Spectra Assure Community namijenjen developerima zamišljen je da postane katalog svih open-source biblioteka kako bi softver developeri mogli steći uvid u rizike prije nego ih implementiraju u svoj kod. Tako će ih na prvoj razini platforme dočekati tražilica u kojoj će moći upisati naziv programskog jezika, repozitorija ili pojedinačnog softverskog paketa koji žele provjeriti.

Nakon što pronađu što ih zanima, platforma će pokazati kako taj paket kotira po nizu sigurnosnih parametara. Primjerice, jesu li u tom kodu prepoznata sumnjiva ponašanja – krade li taj paket podatke ili možda prati što korisnik tipka, bilježi li verziju korisnikova preglednika, jesu li u njemu nađena korisnička imena i lozinke, API ključevi i slično, ima li problema s licencama i brojni drugi uvidi…

Izvor: Spectra Assure

Da bi sve to analizirali u stvarnom vremenu, koristi se mnogo tehnika, a čitav sustav su razvijali 15 godina, pojašnjava Tomislav:

Za samo detekciju prijetnji imamo više od desetak enginea koje smo napravili, a koji traže prijetnje na različite načine – preko potpisa, preko sličnosti, ML algoritama… Sve to zajedno, u jako malom vremenskom periodu, mora donijeti odluku je li taj kod siguran ili ne. A kad je u pitanju AI i ML bitno je i da je transparentno pa da korisnik zna zašto je ML model donio tu odluku, jer nekad će i pogriješiti.

Tomislav napominje kako je specifično za Spectra Assure i da prati doslovno sve verzije svih softverskih paketa (koje podržava) pa developer može izabrati verziju koja ga zanima.

Najčešće developeri žele vrtjeti najnoviji kod. To je dobro, jer eliminira neke rizike, ali nekad se rizici uvedu i u novom kodu. Stoga je taj povijesni osvrt – kako je taj softverski projekt odnosno paket otvorenog koda evoluirao, i je li imao neke incidente u prošlosti – jedna od ključnih informacija koje developeri traže kada biraju između dva dependencyja.

Prema tome, najveća prednost Spectre Assure je što developeri (i tvrtke) mogu prepoznati da nešto nije u redu i prije nego se u nekom paketu pojavi maliciozan dio. Primjerice, threat istraživači u RL-u nedavno su pronašli u PyPi repozitoriju novu malicioznu kampanju za krađu kripto-novčanika i sada prate kada će se u sljedećim verzijama početi pojavljivati maliciozni objekti.

Pokrili su Python, Ruby i JavaScript repozitorije, u tijeku je i Maven

Dodavanje jednog repozitorija u sam Spectra Assure nije proces koji se dogodi u tjedan dana. Stoga je plan bio krenuti s zajednicama otvorenog koda, s najvećim repozitorijima koji najviše developera koristi, da platforma što prije postane korisna. Platforma trenutno podržava PyPI, npm i RubyGems repozitorije.

Kako kaže Tomislav, jedno je pokupiti podatke, a drugo analizirati – na što se troši puno vremena. Podrška jednog jezika može potrajati čak godinu dana, a u njegovo dodavanje bude uključena većina tvrtke.

Spectra Assure prati sve verzije softverskih paketa, i njihove promjene kroz vrijeme. Izvor: Spectra Assure

U razgovoru oko toga koji im je repozitorij dosad zadao najviše posla, Fran navodi kako će to vjerojatno biti Maven, koji trenutno dodaju – zbog načina na koji je organiziran. Ostali su dosta dobro prošli, komentira dodajući kako im je pomoglo što su napravili interno istraživanje o najpopularnijim zajednicama otvorenog koda pa su u startu znali koje su sličnosti među repozitorijima.

To nam je pomoglo da razvijemo sustav koji može prikupiti sve slične pakete, ali nakon toga ipak dolaze specifičnosti. Primjerice, Python zna imati jako puno različitih distribucija, dok je kod npm-a sve to jedan paket.

Tomislav dodaje kako im je Python još uvijek u beta fazi zbog takvih stvari.

Nismo 100% zadovoljni s prikazom informacija baš zato jer jedna verzija može imati desetine arhiva, a korisnik može koristiti samo jednu od njih. Onda je izazov znati što točno prikazati krajnjem korisniku, što mu zapravo treba.

Fran Frković, Software Development Manager u Reversing Labsu. Foto: Ana Marija Kostanić

Sljedeći korak LLM-ovi

Iako su trenutno fokusirani dovršiti podršku za Maven, već se pripremaju za dalje. Na to su ih potaknuli klijenti koji bi na sličan način voljeli provjeriti i modele strojnog učenja odnosno LLM-ove.

Već par mjeseci radimo na implementacijama za njihovo skeniranje. Hugging Face, jedan od najpopularnijih repozitorija za ML modele mogao bi nam biti jedan od sljedećih projekata. On ima oko 20 tisuća projekata i bilo bi super da za PyPI, npm i Ruby repozitorije, korisnik može pogledati koliko je siguran ML model koji ih koristi, sa svim parametrima koje pratimo.

Fran navodi i kako dugoročno ne žele pokrivati samo pakete otvorenog koda nego sve alate koje developeri koriste u radu.

Primjerice, Visual Studio Code ima svoj marketplace, s kojeg se mogu preuzimati razni pluginovi i ekstenzije za VSC. Što se počelo događati? I tamo se počeo nalaziti maliciozni kod, backdoorovi i slične sumnjive stvari.

Razvoj proizvoda: Dizajniranje rizičnosti i sigurnosna trijaža

Foto: Ana Marija Kostanić

Osim kompleksnih tehničkih zahtjeva, postoji stavka u razvoju ovakvih proizvoda koja nije ništa manje izazovna – to je korisničko iskustvo. Tehnologija može biti najbolja na svijetu, ali ako ne znate kako ju oblikovati da bude jednostavna, pouzdana i korisna krajnjim korisnicima – vi rješenje, praktički, nemate.

Proces dizajniranja prednje strane Spectre Assure, na temelju tehnologije u pozadini, imao je svojih izazova upravo zbog prirode domene koja je kompleksna – i korisnika koji nisu nužno cybersecurity stručnjaci ili tvrtke s čitavim cybersecurity timom. Fran pojašnjava kako je to utjecalo na dizajniranje UX-a…

Radili smo interne intervjue po cijeloj kompaniji – s različitim profilima ljudi, baš kako bi identificirali što različiti stručnjaci u jednoj IT organizaciji trebaju od takvog proizvoda. Što developeri očekuju, što DevOps, a što IT security. I prema tome smo pokušali odvagnuti kako im prikazati informacije koje su relevantne za njihovu ulogu. I ono što je možda još bitnije, što napraviti dalje s tim – što kad se nešto zacrveni na ekranu?

Kad ljudi vide report koji ima 100 ili više stotina problema obeshrabre se jer misle da je to ogromna količina posla, komentira Tomislav. Zato su uveli prikaz levela zrelosti organizacije i faktor količine truda koji treba uložiti kako bi se neki problem riješio.

Najveći izazov za korisnika kad se suoči prvi put s reportom jest: od kud krenuti… S ovim konceptom levela zrelosti organizacije, mi svakom klijentu može definirati što je najkritičnije i u svakom koraku ih navodimo što trebaju za sljedeću razinu rješavanja sigurnosnih problema.

Osim levela, osluškujući potrebe korisnika, definirali smo i kategoriju Effort – za svaki problem na koji sustav naiđe navodi se i koliko je truda potrebno da se on otkloni, doslovno u čovjek-satima. Tako je korisnicima lakše zaključiti i je li otklanjanje nekog problema bolje odraditi sada ili kasnije.

Tu je i statistika koliko točno drugih projekata otvorenog koda ima taj isti problem. Što je jako bitno, pojašnjava Tomislav, jer ako se dogodi slučaj da ste vi jedini koji imate taj problem, a veoma vam je bitan – onda ćete ga prioritizirati i popraviti što prije. Ili, ako je u pitanju nešto relativno često u zajednici, onda se to može ostaviti za malo kasnije.

U ostatku godine radit će još više na toj trijaži, kako bi svima olakšali korištenje Spectre Assure – jer osim što trebaju znati gdje je problem, korisnici žele znati što mogu napraviti, zaključuje Tomislav.

Zašto nitko nije prije napravio nešto takvo?

Mimo najnovijeg produkta, ReversingLabs je bio i ostao jedan od svjetskih prvaka kad je u pitanju detekcija malicioznih prijetnji u emailovima, web prometu općenito i raznim datotekama koje kruže poslovnim svijetom. Pritajeni inače, kako to obično biva s tvrtkama u toj branši, malo se u široj javnosti zna o njihovoj Spectra Core tehnologiji koja stoji iza njihovih proizvoda. Međutim, upravo se tu krije tzv. secret sauce domaće tvrtke koja se već okrunila titulom Black Unicorna, terminom za tvrtke iz cybersecurity domene za koje se predviđa da su već na razini ili da će uskoro doseći tržišnu vrijednost preko milijardu dolara.

ReversingLabs: Kad radite s petabajtima podataka, tehnički izazovi su jedinstveni i često pomiču sve granice

U pitanju je tehnologija koju rijetki u svijetu (računajte 2-3) mogu izvesti, a koja u stvarnom vremenu, bez pristupa izvornom kodu, može odraditi dubinsku sigurnosnu provjeru malwarea. E, sad, kad imate u rukavu takve sposobnosti i tehnologiju, razmišljati dalje od jedne verzije proizvoda i usluga nije velik problem. No dobar tajming za razvoj Spectre Assure se poklopio i zbog nekih drugih okolnosti, dio kojih smo spomenuli ranije.

Međutim, Tomislav objašnjava kako malware prije nije bio toliko čest u lancu opskrbe softvera

Bilo je par incidenata prije sad najpoznatijeg SolarWindsa, i to su uglavnom bili napadi koje iniciraju države. Ali i to su bili jako rijetki incidenti. U vremenima kada softver otvorenog koda postaje veoma popularan i veoma dostupan – da bilo tko može objaviti svoj kod i da se taj kod može u par sekundi integrirati bilo gdje – tada lanac opskrbe softvera postaje interesantan i običnim napadačima.

OK, imamo sve aktivnije napadače, a što je s braničima?

Većina cybersec tržišta koje pokriva analizu softvera dosad je bila fokusirana na to ima li taj softver ranjivosti sam po sebi i da li se s tim ranjivostima krši nekakav “licence compliance”. To je bio state-of-the-art u industriji koja je prije 10 godina ušla u stanje kolotečine. Gartner je čak ove godine preskočio pisanje reporta o tom tržištu jer nema ništa nova.

Danas, kada u lancu opskrbe softverom (SSC) ima sve više nevještih i nesofisticiranih napada, održavanje sigurnosti postaje prilično težak problem jer SSC ima više dimenzija, ističe Tomislav. U pitanju su incidenti koje je jako teško spriječiti i za što je potrebna prilično napredna tehnologija.

Što nas vraća do – ReversingLabsa, i zašto su prvi u tome u svijetu. Obzirom na to da je primarna svrha RL tehnologije analiza malwarea, odnosno tehnologija koja može prožvakati bilo što iliti može pronaći maliciozan kod u bilo čemu – njihova tehnologija bila je idealna za dubinsku analizu softvera odnosno softverskih paketa koji će u njih biti ugrađeni.

pročitaj cijeli članak

Ekskluzivno (5)Programiranje (18)Scaleupi i jednorozi (4)Tehnologija (603)Veliki intervjui (7)