Ilmaväliin eristetyllä verkolla ei ole reittiä pakettirekisteriin, ei väylää päivityspalvelimelle eikä keinoa ottaa yhteyttä varmenneviranomaiseen. Jokainen siihen tuleva ohjelmistotavu on tuotava tarkoituksella, kirjattava ja todistettava luotettavaksi ennen kuin se ajetaan. Mekanismi, joka tekee tämän – paketoi päivityksen yhdistetyllä puolella, siirtää sen fyysisen rajan yli ja todentaa sen eristetyllä puolella – on siirtoputki. Tämä artikkeli tarkastelee, miten rakentaa sellainen, joka on tarpeeksi nopea pitämään enklaavin paikattuna ja tarpeeksi tiukka tyydyttämään korkean varmuuden akkreditoinnin: allekirjoitetut paketit, siirtovahdit, todennus tuonnissa, toistettavat käännökset ja offline-peili, joka sitoo kaiken yhteen.

Miksi ilmavälitoimitus on erilainen ongelma

Yhdistetyssä verkossa ohjelmistotoimitus on ratkaistu mukavuus: isäntä vetää rekisteristä, vahvistaa allekirjoituksen verkossa olevaa luottamusketjua vastaan ja asentaa. Mitään tästä ei ole saatavilla ilmavälin yli. Eristetty verkko on fyysisesti katkaistu internetistä – ja usein jokaisesta muusta verkosta – juuri siksi, ettei hyökkääjä voi tavoittaa sitä etänä. Tuo sama eristys poistaa jokaisen oletuksen, johon tavallinen päivitysputki luottaa. Verkossa ei ole peruutuksen tarkistusta, ei elävää riippuvuuksien ratkaisua, ei telemetriakanavaa eikä usein lainkaan paluureittiä.

Seurauksena on, että koko luottamuspäätös on tehtävä tiedolla, joka kulkee itse paketin sisällä. Paketin on kannettava omaa todennusta aitoudestaan, oma täydellinen riippuvuusjoukkonsa ja oma alkuperämetadatansa. Korkea puoli ei voi kysyä keneltäkään kysymystä; se voi vain todentaa sen, mitä se jo pitää hallussaan, sitä vastaan mitä juuri saapui. Tämä siirtää suunnittelutaakan asennushetkestä – jossa se elää yhdistetyssä järjestelmässä – paketointihetkeen ja tuontihetkeen. Saa nuo kaksi rajaa oikein, ja ilmavälistä tulee hallittava kanava operatiivisen umpikujan sijaan. Tämä liittyy läheisesti laajempaan suunnittelukuriin ilmaväliin eristetystä käyttöönotosta puolustusohjelmistoissa, joka kattaa pysyvän ympäristön, jota putki syöttää.

Allekirjoitetut paketit: siirron yksikkö

Atominen yksikkö, joka ylittää rajan, on allekirjoitettu paketti. Paketti on yksittäinen arkisto, joka sisältää kaiken, mitä päivitys tarvitsee – sovellusbinäärit, konttikuvat, käyttöjärjestelmäpaketit, konfiguraatiomanifestit, migraatioskriptit ja ohjelmiston materiaaliluettelon (SBOM) – mukana manifesti, joka luettelee jokaisen tiedoston kryptografisella tiivisteellään. Manifesti allekirjoitetaan sitten julkaisuviranomaisen hallussa olevalla yksityisellä avaimella, ihanteellisesti laitteistoturvallisuusmoduulissa tai offline-avainvarastossa, joka ei koskaan kosketa yhdistettyä konetta.

Allekirjoitus tekee yhden tietyn työn: se todistaa, että paketti on tuotettu laillisessa julkaisuputkessa eikä sitä ole muutettu sen jälkeen. Tuonnissa ilmavälin puoli todentaa allekirjoituksen julkista avainta tai varmennetta vastaan, joka toimitettiin enklaaviin etukäteen, kaistan ulkopuolella. Koska todennusavain on jo enklaavin sisällä, mitään verkkohakua ei tarvita. Tämä on käänne, joka saa ilmavälin luottamuksen toimimaan – luottamusankkuri on esiasemoitu, ja paketti tarkistetaan sitä vastaan paikallisesti.

Mitä manifestiin tulee

Vankka manifesti on enemmän kuin tiedostoluettelo. Se kirjaa paketin version, edellisen version, jota sen on tarkoitus seurata, käännöstunnisteen, SBOM-tiivisteen ja tiedostokohtaisen tiivistetaulukon. Edeltäjäversion kirjaaminen antaa korkean puolen hylätä epäjärjestyksessä olevan tai toistetun paketin: versiota 14 ajava enklaavi kieltäytyisi paketista, joka ilmoittaa olevansa version 11 seuraaja, koska tuo järjestys on joko virhe tai versiotaakaisin-hyökkäys. Versioketjun kohteleminen osana allekirjoitettua hyötykuormaa – ei löysänä metadatana – sulkee luokan versiotaaksepalautushyökkäyksiä, jotka pelkkä allekirjoitustarkistus jättää huomiotta.

Toistettavat käännökset ja riippuvuuksien kokoaminen

Allekirjoitus todistaa, kuka rakensi artefaktin. Se ei todista, että artefakti vastaa lähdekoodia, joka tarkastettiin ja hyväksyttiin. Toistettavat käännökset sulkevat tuon aukon. Toistettava käännös tuottaa tavu tavulta identtisen tuotoksen joka kerta, kun sama lähdekoodi käännetään samalla kiinnitetyllä työkaluketjulla, mikä tarkoittaa, että riippumaton toinen kääntäjä voi rakentaa julkaisun uudelleen ja vahvistaa, että tuloksena olevan artefaktin tiiviste vastaa allekirjoitettua pakettia. Kun kaksi toisistaan riippumatonta kääntäjää päätyy samaan tiivisteeseen, sinulla on vahva näyttö siitä, että paketti heijastaa täsmälleen tarkastettua lähdekoodia eikä mitään injektoitu käännöksen aikana.

Toistettavuus on saavutettavissa vain, jos jokainen syöte on kiinnitetty. Siinä tulee mukaan riippuvuuksien kokoaminen. Yhdistetyssä käännöksessä riippuvuudet ratkaistaan elävänä ylävirran varastoista – vaihtoehto, jota yksinkertaisesti ei ole olemassa ilmavälin alavirrassa. Joten käännöksen on ratkaistava, ladattava ja kiinnitettävä jokainen riippuvuus tiivisteellä yhdistetyllä puolella: kieliopaketit, käyttöjärjestelmäpaketit ja konttien peruskuvat, kaikki viitattuna sisältötiivisteellään muuttuvan versiotunnisteen sijaan. Kiinnittäminen tiivisteellä eikä tunnisteella on ero paketin, joka rakentuu identtisesti ikuisesti, ja sellaisen välillä, joka ajautuu hiljaa ylävirran tunnisteiden liikkuessa.

Koottu riippuvuusjoukko kulkee sitten paketin sisällä, joten korkean puolen ei koskaan tarvitse hakea mitään. SBOM luettelee jokaisen näistä syötteistä, antaen tuontipuolen tarkastajalle täydellisen, todennettavan inventaarion. Tämä sama SBOM tekee toimitusketjun auditoinnista mahdollista ympäristössä, joka ei voi koskaan ajaa verkossa olevaa haavoittuvuusskanneria elävää verkkoa vastaan.

Siirtovahdit: tavujen siirtäminen rajan yli

Kun paketti on rakennettu ja allekirjoitettu, sen on fyysisesti ylitettävä ilmaväli. On kaksi hallitsevaa mekanismia, ja valinta niiden välillä muokkaa koko putken.

Datadiodit. Datadiodi on laitteisto, joka sallii datavirran täsmälleen yhteen suuntaan – tyypillisesti matalalta korkealle – ja tekee vastakkaisesta suunnasta fyysisesti mahdotonta, ei pelkästään käytäntöjen kieltämää. Diodi antaa sinun työntää paketteja jatkuvasti enklaaviin täydellä auditoitavuudella ja ilman datavuodon riskiä saman kanavan kautta. Suunnittelukustannus on, että aidolla yksisuuntaisella linkillä ei ole kuittauspolkua, joten siirtoprotokollan on lisättävä eteenpäin suuntautuva virheenkorjaus ja redundantti lähetys kestääkseen häviötä ilman takakanavan uudelleenlähetyspyyntöä. Diodit ovat oikea vastaus, kun toimitustahti on korkea ja rajan on pysyttävä jatkuvasti saatavilla.

Irrotettava media. Vaihtoehto on manuaalinen sneakernet-siirto: paketti kirjoitetaan kerran kirjoitettavalle optiselle medialle tai omistetulle, hallitulle USB-laitteelle ja kuljetetaan fyysisesti rajan yli valtuutetun henkilön toimesta. Tämä on menettelyllisesti yksinkertaisempaa eikä tarvitse erikoislaitteistoa, mutta sen turvallisuus riippuu kokonaan median hallintakurista – ainutkertaisesta median seurannasta, pakollisesta skannauksesta uhrattavalla tarkastuskoneella ja kerran kirjoitettavasta mediasta estämään laitetta kantamasta dataa takaisin ulos. Tiukasti turvaluokitellussa työssä korkealta-matalalle- ja matalalta-korkealle-siirtojen muodollinen käsittely menee voimakkaasti päällekkäin poikkitoimialueratkaisun kurin kanssa, joka lisää tarkastuksen ja suodatuksen turvaluokitustasojen väliin.

Mitä tahansa mekanismia käytetäänkin, vahdista ei saa koskaan tulla kaksisuuntaista mukavuutta. Yleisin epäonnistuminen kenttäkäyttöönotoissa on operaattori, joka yksisuuntaiseen siirtoon turhautuneena tuo USB-laitteen, joka on koskettanut yhdistettyä konetta, ja kantaa sen sitten takaisin – hiljaa muuttaen ilmavälin kaksisuuntaiseksi sillaksi.

Todennus tuonnissa: luottamuksen hetki

Tuonti on se, missä paketti ansaitsee oikeuden ajaa. Korkea puoli suorittaa kiinteän, järjestetyn tarkistusten sarjan, ja epäonnistuminen missä tahansa vaiheessa pysäyttää prosessin – todennusvirheet ovat turvallisuustapahtumia, jotka on kirjattava ja tutkittava, ei koskaan uudelleenyrityksen ehtoja kierrettäväksi.

Ensin manifestin allekirjoitus todennetaan ennalta toimitettua julkista avainta vastaan ennen kuin yhtäkään tiedostoa puretaan. Toiseksi jokainen tiedosto puretaan karanteenialueelle ja sen tiiviste lasketaan uudelleen ja verrataan manifestimerkintään; mikä tahansa ristiriita kaataa paketin. Kolmanneksi ilmoitettu edeltäjäversio tarkistetaan nykyisin asennettua versiota vastaan monotonisen järjestyksen valvomiseksi ja versiotaaksepalautusten estämiseksi. Neljänneksi SBOM sovitetaan purettua sisältöä vastaan, jotta tarkastaja voi vahvistaa, että inventaario on täydellinen ja vastaa sitä, mikä hyväksyttiin matalalla puolella.

Vasta kun kaikki neljä tarkistusta läpäisevät, artefaktit siirtyvät pois karanteenista. Julkaisun mukana kulkevien salaisuuksien käsittely – allekirjoitusvarmenteet, palvelutunnukset, salausavaimet – noudattaa samaa offline-ensin-periaatetta, joka kuvataan kohdassa salaisuuksien hallinta puolustuksen CI/CD-putkissa: mitään ei selkokielisenä, jokainen avain sidottuna HSM:ään tai holviin, kierrätys suunniteltuna siirtotahdin eikä aina-verkossa-oletuksen ympärille.

Keskeinen oivallus: Paketin allekirjoitus todistaa, kuka sen rakensi, ei sitä, että se vastaa tarkastamaasi lähdekoodia. Korkean varmuuden putkessa nuo ovat kaksi erillistä takuuta – ja jälkimmäinen on se, jota toimitusketjuhyökkäykset kohdistavat. Toistettavat käännökset plus riippumaton uudelleenrakennus ovat se, mikä antaa sinun todentaa molemmat, joten tee toistettavuudesta julkaisuportti, ei tavoite.

Offline-peili ja käyttöönottovaihe

Yksittäinen paketti paikkaa järjestelmän kerran. Enklaavin ylläpitäminen vuosien yli vaatii pysyvän offline-peilin: paikallisen konttirekisterin, paikallisen käyttöjärjestelmäpakettivaraston ja paikallisen artefaktivaraston, kaikki siemennettynä yksinomaan tuoduista paketeista. Peili on se, mikä antaa enklaavin sisällä olevien palveluiden ottaa käyttöön ja skaalata tavallisilla työkaluilla – vetäen kuvia ja paketteja paikallisesta peilistä ikään kuin se olisi ylävirta – ilman, että mikään niistä tarvitsee verkkoyhteyttä. Jokainen todennettu tuonti lisää peiliä; mitään ei koskaan haeta ulkopuolelta.

Käyttöönoton itsensä on oletettava, että korjaus voi epäonnistua ympäristössä, jossa seuraava paketti voi olla päivien päässä. Jokainen päivitys otetaan siksi käyttöön testatulla palautuspolulla, jotta epäonnistunut asennus palautuu aiempaan tunnetusti toimivaan julkaisuun käyttäen peilissä jo asuvia artefakteja – ei koskaan vaatien tuoretta siirtoa toipumiseen. Koko sekvenssi, käännöksestä toimivaan järjestelmään, kirjataan muuttumattomaan auditointilokiin: käännöstunniste, siirtotietue, todennustulos, käyttöönoton tulos. Tuo katkeamaton ketju on se, mitä akkreditointitarkastus lukee vahvistaakseen, että enklaavi ajoi vain ohjelmistoa, jonka alkuperä voidaan jäljittää päästä päähän.

Putken kokoaminen yhteen

Toimiva ilmavälitoimitusputki on viiden kurin yhdistelmä: toistettavat käännökset kootuilla riippuvuuksilla matalalla puolella, allekirjoitetut paketit siirron yksikkönä, auditoitava yksisuuntainen siirtovahti, järjestetty todennusportti tuonnissa ja offline-peili, joka syöttää palautuskykyisiä käyttöönottoja. Jokainen kompensoi oletusta, jonka ilmaväli poistaa. Mikään niistä ei ole valinnainen – toistettavuutta vailla oleva putki ei voi havaita peukaloitua käännöstä, versioketjun valvontaa vailla oleva on altis versiotaaksepalautushyökkäyksille ja paluureittikuria vailla oleva ei ole oikeastaan lainkaan ilmaväliin eristetty. Yhdessä rakennettuina ne muuttavat eristetyn verkon ylläpitorasitteesta hallittavaksi, vastuulliseksi kanavaksi, joka voidaan pitää ajan tasalla koskaan vaarantamatta eristystä, joka sen oikeuttaa.

Toimita päivityksiä eristettyihin verkkoihin luottavaisesti

Corvus Quantum kovettaa toimitusrajan korkean varmuuden enklaaveille – allekirjoitetut paketit, siirtovahti-integraatio ja todennus-tuonnissa, rakennettu ympäristöihin, jotka eivät voi koskaan luottaa verkossa olevaan rekisteriin.

Tutustu Corvus Quantumiin → Varaa esittely

Tämän analyysin laativat Corvus Intelligencen insinöörit, jotka rakentavat tehtäväkriittistä ohjelmistoa puolustus- ja valtionhallinnon organisaatioille. Tutustu tiimiimme →