Sigurnost

Ova stranica govori i što štitimo, i što ne možemo zaštititi. Sigurnosna priča kojoj nedostaje drugi dio navodi čitatelja da popis pomiješa s jamstvom.

Polazište

Objaviti paket znači pokrenuti kod na računalu svakog inženjera koji ga instalira. Svaka je sigurnosna odluka u ovom proizvodu najprije vagana prema jednom pitanju: čini li ova promjena neovlaštenu objavu lakšom?

  • Paketi se potpisuju (ECDSA P-256)

    Datoteka potpisa putuje unutar paketa. Ona potpisuje manifest s otiscima datoteka, oznakom paketa i inačicom — a ne puki otisak arhive.

    Kad bi se potpisivao samo otisak, stara ispravno potpisana arhiva mogla bi se podmetnuti pod novim brojem inačice: potpis bi prošao provjeru, a korisnik bi kao „ažuriranje“ instalirao alat s poznatom ranjivošću.

  • Privatni ključ NIJE na poslužitelju

    Poslužitelj samo provjerava. Potpisivanje se događa na računalu onoga tko objavljuje, zasebnim alatom.

    Kad bi ključ stajao na poslužitelju, tko ga preuzme mogao bi izmijeniti paket i ponovno ga potpisati — čime bi potpis postao uzaludan.

  • Provjerava i klijent

    Dodatak na inženjerovu računalu provjerava potpis zasebno, a popis pouzdanih ključeva kojim se koristi ne dolazi s poslužitelja.

    Potpis postoji upravo zato što se poslužitelju ne može vjerovati na riječ. Uzeti popis povjerenja s istoga poslužitelja tiho bi poništilo polaznu pretpostavku.

  • Revizijski zapisnik koji se ne briše

    Svaka objava, svaka promjena ovlaštenja i svaka odluka o kanalu upisuju se zauvijek. Namjerno ne postoji nijedan put izmjene ili brisanja, a čišćenje nakon isteka roka čuvanja ga ne dira.

    „Kako je ovaj alat dospio ovamo“ obično se pita nakon nekoliko mjeseci. Toga dana zapis koji se mogao obrisati zapis je koji nikad nije ni postojao.

  • Pravilo četiriju očiju, po izboru

    Podizanje inačice u širi kanal može tražiti odobrenje drugog administratora, a onaj tko je zatražio ne može odobriti vlastiti zahtjev. Vraćanje unatrag nikad ne traži odobrenje.

    Zadano je isključeno. U timu od tri osobe prepreka se u nekoliko tjedana pretvori u poruku koja se odobrava bez čitanja; kontrola za koju se vjeruje da štiti, a ne štiti, gora je od nikakve kontrole.

  • Raspakiravanje arhive samo je po sebi napadna površina

    Priložene se arhive provjeravaju na izlazak iz mape (zip-slip) i na bombe raspakiravanja, a veličina nakon raspakiravanja je ograničena.

    Raspakiravanje arhive djeluje bezazleno. Posebno pripremljena može zapisati datoteke izvan ciljne mape ili napuniti disk poslužitelja.

  • Prijava bez lozinke

    Korisnici se prijavljuju jednokratnim kodom poslanim na njihovu adresu. Sjednica teče s kratkotrajnim tokenom; token za osvježavanje nikad nije vidljiv kodu u pregledniku.

    Ako nema spremišta lozinki kojim bi trebalo upravljati, nema ni baze lozinki koja bi mogla iscuriti. A ponovna uporaba već opozvanoga tokena za osvježavanje tretira se kao znak krađe: sjednica se zatvara.

  • Vidite što instalirate

    Instalacijska mapa sadrži strojno čitljiv popis sastavnica (SBOM CycloneDX) i migracijske skripte za obje baze podataka.

    Vaš IT tim mora moći provjeriti što stiže na poslužitelj prije nego što stigne. Kad se objavi ranjivost u nekoj ovisnosti, „imamo li je?“ postaje pretraga kroz datoteke.

Što ne možemo zaštititi

Ovo nisu nedostaci, nego granice. Proizlaze iz strukture, a tvrditi suprotno bilo bi neistinito.

  • Dva administratora koja djeluju zajedno. Pravilo četiriju očiju zaustavlja jednoga, ne dvojicu.
  • Administrator sustava na poslužitelju. Onome tko ima pristup bazi podataka i datotečnom sustavu nijedna kontrola na razini aplikacije nije prepreka.
  • Stanica na kojoj stoji ključ za potpisivanje. Ključ nije na poslužitelju, ali je negdje; padne li taj stroj, pada i potpis.
  • Namjerno skriveno zlonamjerno ponašanje. Naš je pregled paketa heuristički i ne tvrdimo da će uhvatiti kod koji se pokušava sakriti.
  • Curenje podataka. Instalirani alat radi s ovlaštenjima samoga inženjera i može čitati sve što ona dosežu. To ograničavaju kontrole operacijskog sustava i mreže, a ne ovaj proizvod.
  • Sigurnost vaših sigurnosnih kopija. Kopija baze podataka u vašim je rukama, a sve u njoj vrijedi točno koliko i živi sustav.

Prijava ranjivosti

Ako ste neku pronašli, pišite nam. Prijave shvaćamo ozbiljno, ne isključujemo prijavitelja iz postupka i javljamo vam kad izađe popravak.

security@ypcad.com