Ominaisuudet
Käytäntöportit: pysäytä haavoittuvuudet ennen tuotantoa
Skanneri kertoo haavoittuvuudesta. Käytäntöportti pysäyttää buildin, jossa se on. CRACI:n portit päättävät sen tallenteen perusteella, mitä kukin buildi todella haki, joten haavoittuva paketti ei pääse tuotantoon vain siksi, ettei kukaan lukenut hälytystä ajoissa.
Päivitetty
Miksi hälytykset eivät riitä
Useimmat tietoturvatyökalut raportoivat jälkikäteen. Löydös päätyy dashboardiin, joku tekee sille triagen, tiketti lähtee vastuutiimille, ja sillä välin julkaisu etenee. Jos löydös jäi huomaamatta tai skannaus ei koskaan nähnyt pakettia, haavoittuvuus on tuotannossa ennen kuin kukaan on päättänyt mitään.
Käytäntöportit voivat myös pysäyttää buildin reaaliajassa, ennen kuin julkaisu etenee.
Mitä portti voi pysäyttää
| Sääntö | Mitä tapahtuu |
|---|---|
| Löydökset buildissa | Buildi, jossa on käytäntösi poissulkemia löydöksiä, estetään. |
| Tietty CVE | Kun tiimisi on päättänyt, ettei CVE saa päätyä julkaisuun, sen sisältävät buildit estetään. |
| Tunnettu haitallinen julkaisu | Haitallinen julkaisu, jolla on julkaistu CVE, kuten xz, merkitään ja voidaan estää samalla tavalla. |
| Lisenssi | Lisenssikäytännön säännöt voivat estää buildin, joka tuo mukanaan poissulkemasi lisenssin. |
Portti on vain niin hyvä kuin se, mitä se näkee
Lukitustiedoston skannaukseen perustuva portti voi estää vain sen, mitä lukitustiedostossa on. CRACI näkee kunkin buildin saapuvan liikenteen, joten sen portit toimivat sen perusteella, mitä jobi todella haki:
- Transitiiviset riippuvuudet joka tasolla. Katso transitiiviset riippuvuudet.
- Piilotetut riippuvuudet, kuten asennusskriptien lataama koodi, buildin aikana lataavat Rustin build-skriptit ja konttibuildin pohjakuva.
- CI-välimuistista palautetut paketit, jotka tallennetaan ja merkitään välimuistista tulleiksi.
Jokainen CRACI:n SBOM:n komponentti oli buildissa, joten portti ei koskaan toimi pelkästään päätellyn paketin perusteella. Perustelut löydät sivulta buildin aikana tallennetut SBOM:t.
Portit ja egress-käytäntö tekevät eri asioita
| Riski | Mikä sen pysäyttää |
|---|---|
| Riippuvuus, jossa on poissulkemasi tunnettu CVE | Käytäntöportti |
| Poissulkemasi lisenssi | Käytäntöportti |
| Yhteys palvelimeen, jota buildi ei tarvitse | Egress-käytäntö, joka on asetettu oletuksena estäväksi |
| Uusi haitallinen paketti, jolle ei vielä ole tietoturvatiedotetta | Ei merkitä ennen kuin tietoturvatiedote on olemassa. Oletuksena estäväksi asetettu egress-käytäntö estää silti sitä lähettämästä salaisuuksiasi palvelimeen, jota buildi ei tarvitse. |
Kun uusi CVE julkaistaan
- CRACI arvioi valvotut SBOM:t uudelleen ja merkitsee, mihin se vaikuttaa.
- Tietoturvatiimisi tekee triagen ja ohjaa sen korjauksesta vastaavalle tiimille.
- Buildihistoria näyttää, mitkä buildit sisälsivät sen, ja siis kuinka kauan olit altistunut.
- Vastuutiimi julkaisee korjauksen, ja käytäntöportti pitää CVE:n poissa myöhemmistä buildeista.
Korjaus on edelleen sinun. Portti varmistaa, että se pysyy korjattuna. Katso haavoittuvuuksien seuranta.
Mitä portit eivät tee
- Ei reachability-analyysia. Portti toimii sen perusteella, onko paketti buildissa, ei sen, kutsuuko koodisi haavoittuvaa funktiota.
- Ei haittaohjelmien tunnistusta. Porttia ohjaavat tietoturvatiedotteet, joten upouusi haitallinen paketti ei jää siihen kiinni.
- Ei koodin skannausta. SAST ja salaisuuksien skannaus on rajattu tarkoituksella pois, ja monet erinomaiset työkalut toimivat CRACI:n rinnalla.
Käytäntöportit: usein kysytyt kysymykset
Mikä on käytäntöportti?
Sääntö, joka pysäyttää buildin, kun se rikkoo käytäntöäsi. Sen sijaan, että ongelma raportoitaisiin jonkun myöhemmin hoidettavaksi, portti estää buildia etenemästä.
Miten käytäntöportti eroaa skannerin hälytyksestä?
Hälytys edellyttää, että joku reagoi siihen ajoissa. Portti toimii itse. CRACI:n portit toimivat lisäksi tallenteesta siitä, mitä buildi haki, joten ne voivat havaita paketteja, joita lukitustiedoston skannaus ei koskaan näkisi.
Voinko estää yhden tietyn CVE:n?
Kyllä. Käytäntöportti voi estää buildit, joissa on tietty CVE, jotta tiimisi päättämä haavoittuvuus ei palaa myöhemmässä buildissa.
Voiko portti estää lisenssin?
Kyllä. Jokaisella tallennetulla paketilla on ilmoitettu lisenssinsä, ja lisenssikäytännön säännöt voivat estää buildin lisenssin perusteella.
Pysäyttääkö portti uudet haittaohjelmat?
Ei yksinään. Tunnettu haitallinen julkaisu, jolla on julkaistu CVE, merkitään kuten mikä tahansa muu haavoittuvuus, ja portti voi estää sen sisältävät buildit. Uutta haitallista pakettia ei merkitä ennen kuin tietoturvatiedote on olemassa. Oletuksena estäväksi asetettu egress-käytäntö rajoittaa vahinkoja tuona aikana.
Mitkä CI-järjestelmät toimivat käytäntöporttien kanssa?
GitHub Actions CRACI:n runnereilla. Muut CI-järjestelmät ovat tiekartalla.
Katso, kun portti pysäyttää oikean buildin
Varaa demo ja näe, kuinka käytäntöportti estää buildin, jossa on haavoittuva paketti.
Varaa demo