Pregled opsega
Prije bilo kakve analize sjednemo s vašim timom i razgradimo sustav na dijelove. Definiramo što je u opsegu, koje su granice povjerenja i gdje leži stvarna vrijednost koju treba štititi.
arhitektura · granice povjerenjaSigurnosni inženjering za Web3
Tovexmari radi uz timove koji grade na blockchainu. Čitamo kod redak po redak, modeliramo prijetnje prije lansiranja i pratimo sustave dok rade u produkciji — od prvog pregleda do stalnog nadzora.
Većina incidenata u decentraliziranim sustavima ne dolazi iz egzotičnih napada. Dolazi iz propuštenog detalja u kodu koji nitko nije pročitao dvaput. Mi ga čitamo.
— Pristup koji vodi Tovexmari od prvog projekta
Kako radimo
Prije bilo kakve analize sjednemo s vašim timom i razgradimo sustav na dijelove. Definiramo što je u opsegu, koje su granice povjerenja i gdje leži stvarna vrijednost koju treba štititi.
arhitektura · granice povjerenjaAutomatizirani alati hvataju poznate obrasce. Ljudi hvataju ostalo. Svaki ugovor prolazi kroz oba pregleda — alat označi sumnjivo, revizor potvrdi ili odbaci te traži logičke propuste koje stroj ne vidi.
Slither · ručni pregled · fuzzingRazmišljamo kao napadač. Za svaku funkciju pitamo tko bi je zloupotrijebio, uz koje troškove i s kojim ishodom. Rezultat je karta scenarija poredanih po vjerojatnosti i učinku.
scenariji · vektori napadaDobivate jasan dokument: svaki nalaz s težinom, dokazom i konkretnim prijedlogom ispravka. Zatim zajedno prolazimo kroz popravke i ponovno provjeravamo izmijenjeni kod prije zatvaranja nalaza.
izvještaj · ponovna provjeraRevizija je slika u jednom trenutku. Produkcija se mijenja svaki dan. Postavljamo nadzor transakcija i plan odgovora pa kad se nešto neočekivano dogodi, vaš tim zna što napraviti u prvih deset minuta.
nadzor · plan odgovoraŠto radimo
Detaljan pregled Solidity i Vyper kôda prije lansiranja. Tražimo logičke pogreške, probleme s pristupom i stanja koja razvijatelji nisu predvidjeli.
Gledamo sustav kao cjelinu, a ne samo pojedini ugovor. Kako moduli međudjeluju, gdje su pretpostavke o cijenama i što se događa pod opterećenjem.
Savjetovanje u ranoj fazi, dok je dizajn još fleksibilan. Zajedno postavljamo granice povjerenja i biramo obrasce koji smanjuju površinu napada.
Praćenje transakcija u stvarnom vremenu i unaprijed dogovoren plan. Kad se dogodi neuobičajena aktivnost, znate tko radi što i kojim redom.
Pregled postavki validatora, upravljanja ključevima i pristupa poslužiteljima. Dio rizika ne živi u ugovoru nego u serveru koji ga poslužuje.
Radionice za vaše programere na temelju stvarnih nalaza iz vašeg kôda. Cilj nije teorija, nego da sljedeći modul napišete sigurnije.
Statička analiza prolazi kroz cijelu bazu kôda u minutama i označava poznate obrasce ranjivosti. To je početak razgovora, ne kraj — alat ne razumije namjeru vašeg protokola.
Analiza i alati →
Revizor čita logiku, prati tok vrijednosti i pita što se događa u rubnim slučajevima. Ovdje se pronalaze propusti koje nijedan alat ne može prijaviti jer ovise o kontekstu.
Kako pristupamo →Načela rada
Nalaz bez objašnjenja je beskoristan. Svaki problem opisujemo jezikom koji razumije i razvijatelj i osoba koja donosi odluke, uz dokaz i prijedlog ispravka.
Ne ublažavamo nalaze da bismo zadržali ugovor. Ako je nešto rizično, to i kažemo, pa vi odlučujete s punom slikom pred sobom.
Ista pogreška nema istu težinu u svakom sustavu. Prije ocjene razumijemo što protokol čuva i tko ga koristi, pa tek onda vagamo posljedice.
Ostajemo dostupni nakon isporuke. Kad tim ima pitanje o ispravku ili se pojavi nova verzija kôda, nastavljamo razgovor tamo gdje smo stali.
Česta pitanja
Manji ugovor obično zahtijeva pet do sedam radnih dana, a složeniji protokol dva do tri tjedna. Trajanje ovisi o veličini baze kôda i broju vanjskih ovisnosti. Nakon pregleda opsega dajemo konkretan raspon prije nego što počnemo, bez naknadnih iznenađenja.
Pisani izvještaj s popisom nalaza razvrstanih po težini, dokazom za svaki i prijedlogom ispravka. Nakon što vaš tim unese popravke, ponovno provjeravamo izmijenjeni kod i izdajemo završnu potvrdu o stanju pregledanih komponenti.
Interni sigurnosni inženjer znači stalnu plaću, obuku i vrijeme dok se uhoda. Angažman s nama plaćate po projektu i dobivate tim koji je pregledao desetke sličnih sustava. Za povremene revizije to je obično razumnija računica; za svakodnevni rad na sigurnosti vrijedi kombinirati oboje, o čemu rado otvoreno razgovaramo.
Sjedište nam je u Zagrebu, a surađujemo s timovima u cijeloj regiji i šire. Revizije se odvijaju udaljeno, uz zajedničke repozitorije i redovite pozive. Dokumentaciju i izvještaje izrađujemo na hrvatskom ili engleskom, prema vašoj potrebi.
Da, i to je redovan prvi korak. Prije nego što pogledamo bilo koji redak, potpisujemo sporazum o povjerljivosti. Pristup kôdu drži se na najmanjoj mogućoj mjeri, a nakon isporuke podatke čuvamo u skladu s dogovorenim rokovima.
Izmjene su očekivane i dio su posla. Za nove verzije radimo pregled razlika — gledamo samo ono što se promijenilo i kako to utječe na prethodne nalaze. To je brže i jeftinije od potpune ponovne revizije, a održava sliku točnom.
Pošaljite nam nekoliko riječi o projektu i fazi u kojoj se nalazite. Javljamo se unutar jednog radnog dana s prijedlogom opsega.