Julkaistu kohteessa Tekniikka

Näin integroimme tietoturvan mukautettuihin palvelijoihin

Luonut Sean Keenan, Jacob Brackett

Lukuaika 3 min

Mukautettujen palvelijoiden käyttöönoton yhteydessä oli ratkaisevan tärkeää varmistaa, että tämä uudenlainen tekoälypohjainen työnkulku olisi asiakkaillemme mahdollisimman turvallinen.

Nykyään useimmat tekoälypalvelijat on suunniteltu yhdelle käyttäjälle, ja niillä on suhteellisen yksinkertaiset käyttöoikeudet, jotka on määritetty kyseiselle käyttäjälle. Yhteistyöympäristössä toimivilla palvelijoilla on kuitenkin erilaiset tarpeet. Jos niille antaa oikeudet tehdä mitä tahansa, se on vaarallista, ja jos niillä ei ole oikeuksia tehdä mitään, niistä ei juurikaan ole hyötyä.

Olemme pyrkineet löytämään mukautetuilla palvelijoillamme tasapainon näiden kahden tilanteen välillä. Varmistamme, että palvelijoilla on yhteistyöympäristöissä riittävät käyttöoikeudet, jotta ne voivat olla juuri sopivasti avuksi (esimerkiksi tehtävien jakamisessa). Käytämme silti oletuksena tiukkoja rajoituksia, jotka estävät palvelijoita tekemästä mitään vaarallista (esimerkiksi kaiken sisällön poistaminen). Olemme vuosien varrella kehittäneet asiakkaillemme edistyneitä työtilojen käyttöoikeuksien hallintamenetelmiä. Näitä samoja rakenteita olemme hyödyntäneet tarjotaksemme käyttäjillemme tarkasti rajattuja palvelijoiden hallintamahdollisuuksia, jotta ne voisivat toimia työtiloissa mahdollisimman turvallisesti.

Hallinta oletusasetuksena

Mukautetut palvelijat käyttävät turvallisuusmallia, jossa niillä ei ole aluksi käyttöoikeuksia useimpiin resursseihin, eli niillä ei ole oikeuksia lukea, kirjoittaa tai olla vuorovaikutuksessa minkään kanssa.

Tämä lähestymistapa eroaa tarkoituksellisesti monista henkilökohtaisista tekoälyavustajista, joille myönnetään usein aluksi laajat käyttöoikeudet. Käyttäjien on tällöin varmistettava, että turvallisuusohjeet eivät jää huomioimatta. Emme halua jättää turvallisuutta mallin päätettäväksi. Sen sijaan halusimme, että turvallisuus olisi kiinteä osa käyttöoikeuksien hallintaa ja determinististä kerrosta.

Tällä tavoin olemme pystyneet tarjoamaan käyttäjille tarkasti rajattuja hallintamahdollisuuksia, joiden avulla he voivat tehdä käyttötarkoituksiinsa sopivia tietoturvapäätöksiä. Samalla edistyneemmät käyttäjät voivat kuitenkin kehittää uskomattoman tehokkaita itsenäisiä palvelijoita.

Resurssikohtaiset käyttöoikeudet

Tiukimpien käyttöoikeuksien käyttö oletusasetuksena on erinomainen ratkaisu, mutta on tärkeää, että käyttäjät voivat helposti määrittää ja ymmärtää sovelluksensa tarvitsemat käyttöoikeudet.

Seuraavassa on muutamia esimerkkejä:

  • Käyttöoikeuksien rajaaminen sivutasolla: käyttäjät voivat myöntää katselu- tai muokkausoikeudet tietyille sivuille, eivätkä pelkästään laajempaa työtilan käyttöoikeutta.

  • Slack-integraatio omalta palvelimelta: Slackin virallisen integraation tarjoaminen antaa meille mahdollisuuden toteuttaa helposti määritettävät, tarkasti rajattavat käyttöoikeudet tavalla, johon MCP ei pysty.

  • Sähköposti: voit valita, haluatko ottaa käyttöön vahvistuksen ennen sähköpostien lähettämistä.

  • MCP-integraatiot: MCP-integraation käyttö ei perustu resursseihin, mutta voit määrittää, mitkä työkalut haluat ottaa käyttöön ja haluatko, että tiettyihin toimintoihin pyydetään lupa vai sallitaanko ne aina.

Turvallisuustoimenpiteet ja -varoitukset

Meidän piti myös ottaa huomioon odottamattomat tilanteet, joita voi tapahtua silloin, kun palvelija suorittaa tehtäviään. Otimme käyttöön monitasoisen lähestymistavan tietoturvaan, eli käyttöoikeuksien hallinnan sekä suojauskeinot, joilla estetään kehotteiden injektointi suoritettavien tehtävien aikana.

Suojaus kehotteiden injektoinnilta: Kehotteiden injektointi on yksi tekoälypalvelijoihin liittyvistä suurimmista ja tunnetuimmista haasteista. Vaikka ongelma on edelleen ratkaisematta, emme suunnittele järjestelmäämme olettaen, että kaikki kehotteiden injektoinnit havaittaisiin (vaikka havaitsemmekin suuren osan niistä). Sen sijaan olemme suunnitelleet järjestelmän siten, että siinä on käytössä monitasoiset suojausmekanismit, jotka estävät kehotteiden injektoinnin vaikutukset. Kiinnitämme erityistä huomiota ulkoisten tietojen luokitteluun ja seurantaan mahdollisten hyökkäysten havaitsemiseksi. Jos jokin vaikuttaa epäilyttävältä tai palvelija suorittaa toimintoja, jotka viittaavat mahdolliseen hyökkäykseen, voimme pysäyttää palvelijan ja pyytää käyttäjältä vahvistusta.

Varoitusjärjestelmä: Kun palvelija on aikeissa tehdä jotain, mikä voi olla riskialtista, se keskeyttää toimintansa ja kysyy ensin käyttäjältä. Se, miten tämä tapahtuu, riippuu siitä, onko käyttäjä määrittämässä vai suorittamassa palvelijaa. Kun määritetään palvelijaa, jonka toiminta saattaa olla riskialtista, näytämme käyttäjille joukon ponnahdusikkunoita, jotka voivat vaihdella yksinkertaisesta vahvistuksesta työtilan ylläpitäjän hyväksynnän pyytämiseen. Kun palvelija tekee riskialttiita toimintoja ajon aikana, sen on pakko pyytää toiminnalleen vahvistus mukautetun palvelijan omistajalta. Tämä kertoo monipuolisesta lähestymistavastamme käyttöoikeuksiin ja tietoturvaan koko alustamme laajuisesti.

Korjaus (eli poistopainike): Jos palvelija tekee virheen, esimerkiksi lähettää virheellisen viestin Slackiin, palvelijan omistaja voi poistaa kyseisen viestin. Tämä kuulostaa yksinkertaiselta, mutta on tärkeää tarjota käyttäjille keino korjata vahingot, jos niitä sattuu, eikä pelkästään mahdollisuutta estää niitä.

Näin kehitimme käyttöoikeusmallimme

Toteutimme mallin kehittämiseksi laajan alfa-testausohjelman sekä sisäisesti Notionissa että ulkoisesti asiakkaiden kanssa. Halusimme testata erityisesti sitä, miten tietoturvan huomiointi toimii käytännössä mittakaavan laajentuessa. Alfa-testausjakson päättyessä Notionissa oli yli 3 000 sisäistä mukautettua palvelijaa, ja alfa-asiakkaamme olivat luoneet niitä yli 25 000.

Opimme muutaman asian hyvin nopeasti. Esimerkiksi mukautettujen palvelijoiden varhaisissa sisäisissä versioissa käyttäjiä rohkaistiin olemaan liian sallivia ilman, että he ymmärsivät tästä mahdollisesti aiheutuvia seurauksia. Käyttäjät päätyivät myöntämään palvelijoille laajat kirjoitusoikeudet Slackiin, ja palvelijat jopa julkaisivat useaan otteeseen viestejä #general-kanavalla (palvelija tietää, että jokaisessa Slack-työtilassa on #general-kanava!), joka on koko yrityksen laajuinen kanava satoine seuraajineen. Se ei selvästikään ollut käyttäjien tarkoitus. Tämä sai meidät ottamaan käyttöön uuden mukautetun ”lue ja vastaa” -käyttöoikeuden Slackissa, minkä avulla palvelijat voivat vastata nimenomaan niihin ketjuihin, joihin ne on kutsuttu mukaan. Näemme, että tehtävänämme on kehittää sellaisia käyttöoikeuksia, joiden avulla käyttäjät voivat hoitaa työnsä turvallisesti, sen sijaan että pakottaisimme heidät ”sallimaan kaiken”.

Tämä johti myös siihen, että päätimme tietoisesti kehittää joitakin omia integraatioita sen sijaan, että olisimme luottaneet pelkästään MCP-protokolliin. Kuten jo aiemmin mainitsin, koska suurin osa nykyisistä MCP-protokollista on suunniteltu ensisijaisesti yksittäiskäyttöön, ne eivät yleensä tue natiivisti resurssipohjaisia käyttöoikeuksia tai käynnistimiä. Omien integraatioiden kehittäminen antoi meille mahdollisuuden toteuttaa käyttöoikeusmallimme ilman, että asiakkaillemme aiheutui tästä ylimääräistä työtä.

Asia, josta olemme erityisen ylpeitä, on se, että prosessin myötä omasta tietoturvatiimistämme on tullut yksi mukautettujen palvelijoiden aktiivisimmista sisäisistä käyttäjistä. He ovat esimerkiksi kehittäneet Scruff-nimisen palvelijan tietoturvailmoitusten luokitteluun ja tietojen täydentämiseen. Lisäksi he käyttävät palvelijoita sovellusturvallisuuden automatisointiin, koodikorjausten luomiseen sekä hyökkäystestien suorittamiseen. Tekoäly- ja tietoturvatiimimme ovatkin tehneet tiivistä yhteistyötä.

Mitä seuraavaksi?

Käyttöönotto oli vasta alkua, ja panostamme voimakkaasti turvallisuuden ja tietoturvan parantamiseen tuotteidemme ja koko alan kehittyessä. Mukautettujen palvelijoiden beetavaihe seuraavien kuukausien aikana auttaa meitä myös jatkamaan kehitystyötä yhdessä asiakkaidemme kanssa.

Tulevina viikkoina ja kuukausina aiomme keskittyä seuraaviin asioihin:

  • Otamme uudelleen käyttöön laajemmat käyttöoikeudet, jotka edellyttävät työtilan ylläpitäjän hyväksyntää edistyneissä käyttötapauksissa.

  • Laajennamme tarkasti rajattuja käyttöoikeuksia Workers-alustalle rakennettuihin ulkoisiin integraatioihin.

  • Harkitsemme ottavamme käyttöön lisää käyttöoikeustiloja eri käyttötapauksia varten, kunhan lisää varotoimia on otettu käyttöön.

Olemme vielä tämän teknologian kehittämisen alkuvaiheessa, ja otamme mielellämme vastaan palautetta siitä, miten voisimme parantaa sitä.

Jaa tämä julkaisu


Kokeile heti

Aloita käyttö verkko- tai työpöytäversiossa

Meillä on myös vastaavat Mac- ja Windows-sovellukset.

Meillä on myös vastaavat iOS- ja Android-sovellukset.

Verkkosovellus

Työpöytäsovellus

Käytätkö Notionia töissä? Pyydä demoa