Išmaniųjų sutarčių auditas

Išmaniųjų sutarčių ir protokolo logikos auditas eilutė po eilutės prieš diegimą: rankinė peržiūra, invariantų testavimas ir pataisymų peržiūra.

DI, Web3 ir kriptografija

Įdiegtos sutarties nebegalima ramiai pataisyti, kai patogu. Jos kodas viešas, jos lėšoms pasiekti užtenka vienos transakcijos, o trūkumu pasinaudoja tas, kas jį perskaito pirmas. Auditas turi būti atliktas prieš diegimą, ir jį turi atlikti žmonės, kurie perskaito kiekvieną eilutę.

Du auditoriai kodą peržiūri nepriklausomai vienas nuo kito, tada palygina rezultatus. Jiems padeda automatinė analizė ir fuzz testavimas, tačiau svarbūs radiniai atsiranda suprantant, ką protokolas žada, ir ieškant būsenos, kurioje tas pažadas sulaužomas. Sutartys yra tik viena rizikos dalis: kartu su jomis peržiūrimi raktai, atnaujinimo teisės ir už blokų grandinės ribų veikiantys komponentai.

01Apimtis

Ką testuojame

  • Prieigos kontrolė, nuosavybė ir privilegijuotos funkcijos
  • Pakartotinis įėjimas (angl. reentrancy), nepatikrinti išoriniai kvietimai ir atgalinių kvietimų elgsena
  • Aritmetika, apvalinimas, tikslumo praradimas ir matavimo vienetų tvarkymas
  • Ekonominė logika: kainų orakulai, greitosios paskolos (angl. flash loans), kainos nuokrypis (angl. slippage), likvidavimas, atlygių apskaita
  • Atnaujinamumas: tarpinės sutartys (angl. proxies), saugyklos išdėstymas, inicializatoriai
  • Parašai: pakartotinis panaudojimas, keičiamumas (angl. malleability), „permit“ srautai, domenų atskyrimas
  • Žinučių perdavimas tarp grandinių ir tiltai
  • Paslaugos trikdymas: dujų (angl. gas) limitai, neriboti ciklai, kenkimas kitiems naudotojams (angl. griefing)
  • Diegimo scenarijai, administravimo raktai ir kelių parašų konfigūracija

02Darbo eiga

Kaip atliekamas darbas

  1. Specifikacija

    Nustatome, kokias savybes protokolas turi išlaikyti. Jei specifikacijos nėra, invariantus užrašome ir suderiname su jumis.

  2. Nepriklausoma rankinė peržiūra

    Du auditoriai atskirai skaito kodą eilutė po eilutės. Jų pastabos sujungiamos tik tada, kai abu baigia darbą.

  3. Automatinė analizė

    Statinė analizė, fuzz testavimas ir invariantų testai vykdomi pagal suderintas savybes. Audito metu parašyti testai perduodami jums.

  4. Pataisymų peržiūra

    Jūsų pataisymai peržiūrimi pagal pirminius radinius. Galutinėje ataskaitoje nurodoma audituota kodo versija (angl. commit) ir versija, kurioje išspręsta kiekviena problema.

Metodika

03

Ką gaunate

  • Ataskaita, susieta su versijos maiša (angl. commit hash), su kiekvieno radinio būsena po pataisymų peržiūros
  • Audito metu parašyti invariantų ir fuzz testai
  • Privilegijuotų vaidmenų ir protokolo pasitikėjimo prielaidų aprašymas
  • Santrauka vadovams
  • Techninė ataskaita: kiekvienas radinys su įrodymais, CVSS 4.0 vektoriumi, CWE klase ir pataisymu
  • Skambutis su jūsų inžinieriais rezultatams aptarti
  • Vienas pakartotinis kiekvieno radinio testavimas per 60 dienų nuo ataskaitos pateikimo
  • Patvirtinimo raštas po pakartotinio testavimo

04

Ko mums reikia iš jūsų

  • Įšaldyta į apimtį patenkančio kodo versija
  • Numatytos elgsenos dokumentacija arba laikas su kūrėjais jai nustatyti
  • Esamas testų rinkinys ir diegimo scenarijai
  • Išorinių protokolų ir orakulų, nuo kurių priklauso sutartys, sąrašas

05Standartai

Standartai, kuriais grindžiamas metodas

06Klausimai

Klausimai apie šią paslaugą

Ar auditas garantuoja, kad sutartis saugi?

Ne, ir niekas negali sąžiningai to garantuoti. Auditas yra laiko apribota konkrečios kodo versijos peržiūra. Jis gerokai sumažina riziką ir dokumentuoja, kas buvo išnagrinėta. Ataskaitoje tai pasakyta paprastais žodžiais.

Su kokiomis kalbomis ir grandinėmis dirbate?

Darbo pagrindas – „Solidity“ ir „Vyper“ EVM grandinėse. Dėl kitų kalbų ir virtualiųjų mašinų nustatydami apimtį patvirtiname, ar turime tinkamų specialistų, o jei neturime, atsisakome.

Ar audito metu kodas gali keistis?

Auditas susietas su įšaldyta kodo versija. Audito metu atlikti pakeitimai peržiūrimi kaip atskira apimtis, antraip ataskaita aprašytų kodą, kurio nebėra.

Ar paskelbsite ataskaitą?

Tik jei to paprašysite. Paskelbtoje ataskaitoje yra visas radinių sąrašas su galutine jų būsena; sutrumpintų versijų, kuriose praleidžiamos problemos, nerengiame.

08Užklausa

Papasakokite, ką reikia testuoti

  • Svetainės patikra nemokama
  • Atsakymas per 1 darbo dieną
  • NDA prieš bet kokias technines detales
  • Fiksuota mokamų projektų kaina
  • Jokių įsipareigojimų

Užklausa dėl vertinimo

Aprašykite sistemas ir tikslą. Vadybininkas atsakys per 1 darbo dieną: užduos patikslinančių klausimų ir pasiūlys kitą žingsnį.

Kam atsakyti

Atsakysime šiuo adresu, jei nepasirinksite kito kanalo.

Individualus verslininkas įrašo savo vardą ir pavardę.

Pageidaujamas ryšio kanalas
Ką vertinti
Dominančios paslaugos

Pasirinkite visas tinkamas.

Nemokama patikra

Jūsų svetainę patikriname nemokamai

Jei problemų nerandame, ataskaitą taip pat gaunate nemokamai. Už ataskaitą mokate tik tada, kai randame problemų, o jos kaina priklauso nuo jų skaičiaus ir pavojingumo.

Nemokamos svetainės saugumo patikros sąlygos

Taikomųjų programų saugumas

Infrastruktūra ir debesija

Priešininko imitavimas

DI, Web3 ir kriptografija

Programos ir saugumo užtikrinimas

Taikomųjų programų saugumas

Nemokama svetainės saugumo patikra

Į jūsų svetainę žiūrime iš išorės, kaip į ją žiūri užpuolikas, ir tikriname, ar į ją galima įsilaužti: ieškome silpnų nustatymų, pasenusios programinės įrangos, viešai pasiekiamų failų, nesaugių formų. Patikra nemokama.

Taikomųjų programų saugumas

Žiniatinklio programų įsilaužimų testavimas

Bandome įsilaužti į jūsų žiniatinklio programą taip, kaip tai darytų tikras užpuolikas: prisijungti prie kitų žmonių paskyrų, perskaityti kitų klientų duomenis, pakeisti kainas ar užsakymus. Sužinote, kas įmanoma, anksčiau nei nusikaltėliai.

Taikomųjų programų saugumas

API saugumo testavimas

API – tai kanalas, kuriuo jūsų programėlė, svetainė ir partneriai keičiasi duomenimis su jūsų serveriais. Tikriname, ar niekas negali juo pasinaudoti ir perskaityti ar pakeisti ne savo duomenų.

Taikomųjų programų saugumas

Mobiliųjų programėlių įsilaužimų testavimas

Tiriame jūsų „iOS“ ar „Android“ programėlę ir už jos esančius serverius: ką programėlė laiko telefone, ką iš jos galima išgauti ir ar galima suklastoti jos užklausas.

Taikomųjų programų saugumas

Kodo saugumo peržiūra

Mūsų specialistai skaito jūsų produkto pirminį kodą ir randa klaidas, dėl kurių galima įsilaužti, taip pat tas, kurių iš išorės nematyti.

Infrastruktūra ir debesija

Debesijos ir „Kubernetes“ saugumo vertinimas

Tikriname, kaip sukonfigūruota jūsų debesija („AWS“, „Azure“, „Google Cloud“, „Kubernetes“): kas prie ko turi prieigą, kurie duomenys atviri internetui ir kaip toli užpuolikas nueina po pirmosios klaidos.

Infrastruktūra ir debesija

Infrastruktūros įsilaužimų testavimas

Testuojame jūsų serverius ir biuro tinklą iš išorės ir iš vidaus: ar užpuolikas gali patekti į vidų, o patekęs – pasiekti apskaitos sistemą, paštą ar atsargines kopijas.

Infrastruktūra ir debesija

Išorinio atakos paviršiaus vertinimas

Randame viską, ką jūsų įmonė atveria internetui, įskaitant tai, kas pamiršta: senas svetaines, testinius serverius, nutekėjusius slaptažodžius. Tada parodome, ką iš to galima atakuoti.

Infrastruktūra ir debesija

CI/CD ir tiekimo grandinės saugumas

Tikriname kelią, kuriuo jūsų kodas keliauja nuo kūrėjo iki kliento: kompiliavimo serverius, trečiųjų šalių bibliotekas, prieigos raktus. Kas valdo šį kelią, tas valdo ir jūsų produktą.

Priešininko imitavimas

„Red Team“ operacijos

Didelio masto pratybos. Mūsų komanda vaidina tikrą užpuoliką, turintį tikslą, pavyzdžiui, pasiekti klientų duomenis, o jūs matote, ar jūsų gynyba jį pastebi ir sustabdo.

Priešininko imitavimas

„Purple Team“ pratybos

Mūsų atakuojančioji komanda ir jūsų gynėjai dirba kartu: parodome atakos techniką, jūsų komanda tikrina, ar ją mato, o stebėsenos trūkumai pašalinami vietoje.

Priešininko imitavimas

Socialinės inžinerijos vertinimas

Testuojame žmones, o ne mašinas: apgaulingus el. laiškus, skambučius ir žinutes, kuriais užpuolikai išvilioja slaptažodžius. Sužinote, kiek darbuotojų būtų apgauti ir ko reikia juos mokyti.

DI, Web3 ir kriptografija

DI ir LLM saugumo testavimas

Jei jūsų produkte yra pokalbių robotas ar kitas DI modelis, tikriname, ar jį galima įkalbėti atskleisti konfidencialius duomenis, pažeisti savo paties taisykles ar veikti kieno nors kito vardu.

DI, Web3 ir kriptografija

Išmaniųjų sutarčių auditas

Kol išmaniojoje sutartyje dar nelaikomi pinigai, ieškome jos kodo klaidų, kurios leistų kam nors išsiimti ar įšaldyti lėšas. Po diegimo tokių klaidų ištaisyti nebegalima.

DI, Web3 ir kriptografija

Kriptografijos peržiūra

Tikriname, kaip jūsų produktas šifruoja duomenis ir saugo raktus: ar pasirinkti tinkami algoritmai ir ar jie taikomi teisingai. Klaida čia padaro šifravimą beverčiu.

Programos ir saugumo užtikrinimas

„Bug bounty“ programos valdymas

„Bug bounty“ programoje nepriklausomi tyrėjai ieško pažeidžiamumų jūsų produkte ir gauna atlygį už kiekvieną rastą pažeidžiamumą. Tokią programą jums paleidžiame ir valdome.

Programos ir saugumo užtikrinimas

Pažeidžiamumų atskleidimo programa (VDP)

Viešas puslapis ir tvarka, kurie tyrėjams paaiškina, kaip saugiai pranešti jums apie pažeidžiamumą. Be jų pranešimai pasimeta arba ateina kaip grasinimai. Sukuriame šį procesą ir tvarkome gaunamus pranešimus.

Programos ir saugumo užtikrinimas

Nuolatinis įsilaužimų testavimas

Užuot testavę kartą per metus, visus metus testuojame kiekvieną reikšmingą jūsų produkto pakeitimą, kad naujas pažeidžiamumas nelauktų mėnesių, kol bus rastas.

Programos ir saugumo užtikrinimas

Įsilaužimų testavimas pagal atitikties reikalavimus

Įsilaužimų testas, organizuojamas taip, kad jo ataskaitą priimtų auditorius, reguliuotojas ar didelis klientas: PCI DSS, DORA, NIS2, ISO/IEC 27001, SOC 2.

Dominančios paslaugos

Dar nežinau

Pasirinkite šį variantą, jei nežinote, kokios paslaugos jums reikia. Aprašykite užduotį savais žodžiais, o specialistas atsakyme pasiūlys paslaugą.

Svetainės arba pagrindinės testuojamos sistemos domenas arba URL, pavyzdžiui, app.example.com.

Ką reikia testuoti, kodėl dabar, ar yra terminas arba atitikties reikalavimas. Nenurodykite slaptažodžių, raktų ar pažeidžiamumų detalių.

Patvirtinimai

Per šią formą nesiųskite prisijungimo duomenų, raktų ar pažeidžiamumo detalių. Dėl saugaus kanalo susitarsime po pirmojo atsakymo.

Automatinė apsaugos nuo piktnaudžiavimo patikra