< Return to Video

Konttien, Kuberneteksen ja pilvien hakkerointi

  • 0:00 - 0:03
    Translated by Markus Aurala
    (KYBS2001 course assignment at JYU.FI)
  • 0:04 - 0:09
    Thomas Fricke: Paljon kiitoksia
    kutsusta. Toinen puheeni huomenna,
  • 0:09 - 0:14
    kiitos, eikun, tänään. Tässä on
    taustani. Teen enemmän tai vähemmän
  • 0:14 - 0:19
    Kubernetes-tietoturvaa ja kriiittistä
    infraa, olen perustanut useita yrityksiä
  • 0:19 - 0:25
    ja nyt minun pääfokukseni on Kubernetes-
    tietoturva. Tässä Kubernetes-kaninkolo.
  • 0:25 - 0:31
    Jos tutkit sitä yhtään syvemmin, pitäisi
    sinua vähän pelottaa, ja minä kerron
  • 0:31 - 0:37
    sinulle miksi. Lähestytään ensin
    sovellusta. Sitä ajetaan
  • 0:37 - 0:43
    normaalisti konteissa. Ja konteilla,
    toisin kuin yleisesti tiedetään,
  • 0:43 - 0:48
    on pääsy Kuberneteksen palvelutileihin.
    Tämä on yksi suurimmista
  • 0:48 - 0:54
    Kuberneteksen vioista tällä hetkellä.
    Jos saat haltuusi palvelutilin, voit
  • 0:54 - 1:01
    saada haltuusi koko klusterin. Ja jos
    saat haltuusi koko klusterin, voit saada
  • 1:01 - 1:08
    haltuusi koko noodin ja sitten koko
    pilvitilin. Tämä on jonkun muun
  • 1:08 - 1:15
    tekosia, kerron siitä myöhemmin
    esityksessäni. Katsotaanpa mitä tapahtuu:
  • 1:15 - 1:22
    Kohde on sovellus, joka minulla on
    saatavilla Internetissä. Ja haluan
  • 1:22 - 1:29
    ottaa tuon klusterin haltuuni ulkoa käsin.
    Sovellus on ehkä haavoittuva. Esimerkkejä?
  • 1:29 - 1:37
    Niitä on paljon. Yksi esimerkki on
    ImageTragick. Normaalisti ei pitäisi
  • 1:37 - 1:44
    suorittaa eval- tai exec-komentoja missään
    kehikossa – oli se PHP, NodeJS, tai jokin
  • 1:44 - 1:51
    muu kehikko. Eikä pidä suorittaa komentoja
    sovelluksesi kontekstissa, koska
  • 1:51 - 1:56
    jotain voi mennä pieleen. Kehittäjät
    ovat vastuussa tästä. Katsotaan miltä
  • 1:56 - 2:05
    se näyttää. Tässä on hyökkäysmalli. Se
    perustuu hyökkäykseen, jota pidin vanhana
  • 2:05 - 2:13
    ja joka on korjattu vuonna 2016. Mutta nyt
    Emil Lerner on tehnyt uuden katsauksen,
  • 2:13 - 2:22
    ja näyttänyt ImageMagickin olevan
    edelleen käytettävissä hyväksi tällä
  • 2:22 - 2:33
    hyökkäyksellä. Se toimii. ImageMagickia
    käytetään kuvien lataamiseen. Jos muunnat
  • 2:33 - 2:41
    kuvaa toiseen formaatiin, skaalaat sen
    kokoa, ja teet jippoja tälle kuvalle,
  • 2:41 - 2:47
    voit omistaa koko kontin. Tämä
    toimii myös ei-kontitetuille
  • 2:47 - 2:53
    sovelluksille. Jos sinulla on palvelin,
    joka käyttää ImageMagickia johonkin, ole
  • 2:53 - 2:58
    siis varovainen. Jos olemme onnistuneet
    tässä vaiheessa, seuraava vaihe on, että
  • 2:58 - 3:08
    haluamme pääsyn palvelutiliin. Ja tämä on
    oletuksena mahdollista Kuberneteksessa.
  • 3:08 - 3:14
    Se on siis Kuberneteksen suunnittelu-
    virhe, koska palvelutili näkyy konttiin,
  • 3:14 - 3:20
    jossa sovellusta ajetaan. Hyökkääjän
    seuraava askel on asentaa
  • 3:20 - 3:27
    ylimääräisiä sovelluksia. Jos haluat ottaa
    sen haltuusi, tarvitset curl:in, kubectl:n
  • 3:27 - 3:35
    tai chmod:in. Ja sitten sinä oletkin
    palvelutilin omistaja ja voit ajaa komen-
  • 3:35 - 3:43
    toja lataamalla kuvia ImageTragickiin.
    Tästä viasta on vastuussa siis kuvan
  • 3:43 - 3:51
    luoja. Katsotaan mitä muuta voi
    tapahtua. Saadaksesi täyden kontrollin,
  • 3:51 - 3:58
    tarvitset klusteriylläpitäjän roolin.
    Tämä ei ole käytössä oletusarvoisesti,
  • 3:58 - 4:04
    mutta Internet on täynnä huonoja neuvoja.
    Joten jos kopioit asennusvaatimukset tai
  • 4:04 - 4:11
    -suositukset Internetistä, joku saattaa
    kohta ottaa haltuunsa koko klusterin.
  • 4:11 - 4:23
    Katsotaan tarkemmin asiaa: huonoimman
    menetelmän jonka voit löytää, löydät
  • 4:23 - 4:34
    Elasticin asennussuosituksista: he sanovat
    käyttävänsä uudempaa versiota,
  • 4:34 - 4:43
    mutta he käyttävät klusteriylläpitäjän
    oikeuksia asentaakseen Elasticsearchin
  • 4:43 - 4:54
    Kubernetes-klusteriisi. He siis neuvovat
    näin ja niin tekee moni muukin sovellus
  • 4:54 - 5:00
    asennusvaatimuksissaan. Vaikka se
    onkin vanhentunutta tietoa, se on aika
  • 5:00 - 5:08
    yleistä. Älä koskaan tee tätä, kiitos!
    Sen mukana saattaa tulla Helm Charts,
  • 5:08 - 5:17
    jonka mukana tulee se klusteri-
    ylläpitäjän rooli. Näet sen tässä, se oli
  • 5:17 - 5:23
    Apache Heronissa, joka on Apache-
    projekti. Se käyttää klusteriylläpitäjän
  • 5:23 - 5:40
    roolia, joten Helm-asennuksen kautta
    tämä kosketttaa ehkä sinuakin. Näillä
  • 5:40 - 5:47
    neljällä askeleella, käytännössä kolmella,
    sinulla on koko klusteriapplikaatio
  • 5:47 - 5:54
    paljastettuna, ja sen polun kautta koko
    klusteri voidaan ottaa haltuun
  • 5:54 - 6:02
    etäältä, ja tehdä mitä klusteriylläpitäjä
    voi tehdä. Käytännössä tämä
  • 6:02 - 6:10
    klusteriylläpitäjän rooli on kuin
    ovimattohyökkäys - sinulla on paras
  • 6:10 - 6:18
    salakirjoitus, kalleimmat lukot ja
    sitten laitat avaimen ovimaton alle
  • 6:18 - 6:24
    tai kukkaruukun alle tai
    jotain sellaista. Tämä on
  • 6:24 - 6:34
    jotain sellaista, mitä todellakaan et
    halua. Voin näyttää esimerkinomaisesti
  • 6:34 - 6:40
    miten se menisi. Olen julkaisuut
    kaikki koulutusmuistikirjani
  • 6:40 - 6:50
    GitHubissa. Tässä on miten voit kääntää
    tämän vanhentuneen ImageTragickin
  • 6:50 - 6:58
    OpenShiftissä. Minä käytän CRC:tä, joka on
    CodeReady Container -versio. Se perustuu
  • 6:58 - 7:05
    Mike Williamsin ImageTragick-
    esimerkkikoodiin. Tässä ajat ja luot
  • 7:05 - 7:14
    haavoittuvan levykuvan. Aika pitkä.
    Se on käännetty sisään jne. Joten älä
  • 7:14 - 7:20
    ota koko versiota. Tästä syystä en
    näytä sitä tässä, mutta loppujen
  • 7:20 - 7:30
    lopuksi sinulla on haavoittuva
    sovellus kontitettuna ja
  • 7:30 - 7:38
    OpenShiftissä. Ja sen me juuri tarvitsemme
    ajaaksemme sovelluksen. Hyväksi-
  • 7:38 - 7:49
    käyttö alkaa tästä sillä,
    että se kontti otetaan käyttöön
  • 7:49 - 7:54
    standardi-Kuberneteksessä.
    Työkalu oc vastaa kubesctl:iä.
  • 7:55 - 8:00
    Lisäksi OpenShiftissä on hyvin
    yksinkertainen tapa luoda reitti,
  • 8:00 - 8:07
    joka on kytketty isäntänimeen. Ja sitten
    voit ladata sen isäntänimeä käyttäen.
  • 8:09 - 8:16
    Paljasta asennus, paljasta
    luotu palvelu, lopulta paljasta
  • 8:16 - 8:23
    reitti, ja sitten sinulla on pääsy.
    Seuraava askel on, että saat
  • 8:23 - 8:31
    reitin ja sitten sinulla on URL, jota
    voit käyttää. Demossa minä vain
  • 8:31 - 8:38
    kutsuisin tätä URL:ia ja lähettäisin
    kuvia palvelimelle. Olen luonut nämä
  • 8:38 - 8:45
    ehdat PostScript-tiedostot. Näette,
    että niiden perässä on komentoja.
  • 8:45 - 8:51
    Ja tässä... Koska kontissa on curl,
    voin ladata sinne version
  • 8:51 - 8:58
    kubectl:stä. Käytännössä kontit -
    erityisesti Red Hatin - eivät ole niin
  • 8:58 - 9:08
    haavoittuvia kuin muut. Mutta niissäkin on
    aina kirjoitettava tilapäishakemisto, joka
  • 9:08 - 9:17
    riittää joillekin ohjelmille. Lataamme
    curl:illa kubectl:n tilapäishakemistoon,
  • 9:17 - 9:26
    sitten käytämme chmod-komentoa
    aktivoidaksemme kubectl:n. Nyt voimme
  • 9:26 - 9:40
    suorittaa kubectl-komentoja kontista
    käsin. Tuomiopäivän kellot. Juuri oikeassa
  • 9:40 - 9:46
    paikassa. Meillä on nyt toimiva hyökkäys.
    Varoitus: tämä toimii ehkä aiemmissa
  • 9:46 - 9:53
    Kuberneteksen versioissa.
    Uudemmissa tarvitaan lisäksi
  • 9:54 - 10:02
    nk. myrkkypilleri. Ja tämä
    on juurikin tämä kytkös
  • 10:02 - 10:07
    klusteriylläpitäjän rooliin joka on
    oltava, jotta saamme täyden pääsyn ulkoa.
  • 10:07 - 10:16
    Ja jos me teemme sen, ja paljastamme
    roolin sille tunnukselle, joka
  • 10:16 - 10:22
    on jo paljastettuna kontissa, voimme
    suorittaa komentoja kubectl:llä.
  • 10:22 - 10:29
    Voimme asentaa ohjelmia lataamalla
    palvelimelle kuvia. Ja tätä sinä et ikinä
  • 10:29 - 10:35
    halua, mutta nyt hyökkääjällä on vapaa
    pääsy klusteriisi vain lataamalla sinne
  • 10:36 - 10:46
    käpisteltyjä kuvia. Näin voi tehdä.
    Ja tämä on esimerkki vain.
  • 10:46 - 10:57
    Luo ja tuhoa kontteja ja asennuksia
    tällä tavoin. Voit tehdä vaikka mitä.
  • 11:04 - 11:11
    Ja yhä edelleen, tämä on ongelma
    sovelluksen puolella. Jos sinulla
  • 11:11 - 11:21
    on haavoittuva versio ImageMagickista,
    voit lisätä komentoja, ja voit taatusti
  • 11:21 - 11:27
    asentaa ohjelmia Kubernetes-
    palvelimelle. On monia tapoja
  • 11:27 - 11:35
    korjata tätä. Esimerkiksi, voit käyttää
    parempia levykuvia kuten Red Hat tekee.
  • 11:35 - 11:40
    On Red Hatin terveysindeksi, joka on aika
    hyvä. Mutta loppupeleissä nämä levykuvissa
  • 11:40 - 11:48
    vain se etu, että et aja niissä mitään
    pääkäyttäjänä. Mutta ajat näitä kuitenkin
  • 11:49 - 11:55
    toisella tunnuksella ja sillä tunnuksella
    on oikeus kirjoittaa tilapäishakemistoon.
  • 11:55 - 12:04
    Joten käytännössä et tarvitse pääkäyttäjän
    tunnusta asentaaksesi ohjelmia. Kontissa
  • 12:04 - 12:12
    on hyvät käytännöt: ei pääkäyttäjää, muut-
    tumaton juuritiedostojärjestelmä. Mutta
  • 12:12 - 12:17
    curl, joka on täysin tarpeeton, on
    myös asennettuna. Meillä on kirjoitettava
  • 12:17 - 12:23
    tilapäishakemisto. Meillä on chmod. Ja se
    ensimmäinen asia joka tulisi estää kaikki
  • 12:23 - 12:29
    mitä esittelen tässä nyt. Jos opit edes jotain
    tästä esityksestäni, ole hyvä ja mene
  • 12:30 - 12:36
    katsomaan palvelutilejäsi ja yritä poistaa
    käytöstä automountServiceAccountToken-
  • 12:37 - 12:42
    toiminnallisuudet. Ne palvelutilit, jotka,
    eivät tarvitse operaattoreita, eivät
  • 12:42 - 12:49
    tarvitse myöskään tätä käytössään. Jos
    käytät operaattoria, se voi olla nyt rikki,
  • 12:49 - 12:58
    kapselin määritysten ylikirjoittama.
    Mutta käytännössä tämä koko
  • 12:58 - 13:05
    esimerkki ei toimisi ilman tätä
    palvelutilivaltuutusta. Me olemme nyt
  • 13:05 - 13:10
    korjanneet sen. Me emme voi korjata
    sovellusta, koska se on jotain, minkä joku
  • 13:10 - 13:15
    muu on meille luonut. Ja ei meillä ehkä
    ole tietoakaan haavoittuvuudesta. Se voi
  • 13:15 - 13:20
    olla nollapäivähaavoittuvaisuus. Seuraava
    toimenpide on estää ohjelmien asentaminen.
  • 13:20 - 13:30
    Korjaa levykuvat. Käytä muuttumattomia.
    Väliaikaislevytilaa vain jos sitä oikeasti
  • 13:30 - 13:40
    tarvitaan. PID on 1 joka tapauksessa. OK,
    sinulla on ehkä muuttuvaa dataa, mutta
  • 13:40 - 13:48
    käytä tyhjästä luotuja kontteja, ei curlia
    tai wgetiä. Koskee myös Red Hat -UBI:eja
  • 13:48 - 13:53
    Useimmissa peruslevykuvissa on tämä vika -
    niissä on sisällä koko käyttöjärjestelmä
  • 13:53 - 14:02
    työkaluineen. Mutta tämä
    ei ole sinun juttu. Se on
  • 14:02 - 14:08
    työkalu hyökkääjälle. Joten aja vain
    luotettuja levykuvia, rakenna omat
  • 14:08 - 14:17
    levykuvasi ja rakenna ne alusta pitäen.
    Tämä on GitHubiin lataamani esimerkki
  • 14:17 - 14:23
    konttien tiukentamisesta. Se
    perustuu Ngnix:ään Alpinessa. Se on
  • 14:23 - 14:28
    normaalisti hyvin pieni kontti, mutta voit
    tehdä enemmäkin. Voit käyttää skriptiä,
  • 14:28 - 14:34
    joka on GitHubissa, jotta saat sinne vain
    tarvitsemasi työkalut. Tämä ei ole
  • 14:34 - 14:40
    staattisesti linkitetty, koska Nginx ei
    ole alkujaan staattisesti linkitetty,
  • 14:40 - 14:56
    mutta se on lähellä. Tämä tarkoittaa, että
    asennat vain tarvitsemasi ohjelmat. Tämä
  • 14:56 - 15:02
    on dynaamisesti linkitetty. "-d" jotta
    käytetään LVD:tä purkamaan kaikki
  • 15:02 - 15:10
    dynaamisesti linkitetyt kirjastot ja
    tarpeelliset konfiguraatiotiedostot.
  • 15:10 - 15:18
    /etc/passwd, /etc/group. OK. Jotain
    lisenssejä ja jako. Tarvitaan hakemistoja
  • 15:18 - 15:23
    logitukseen ja sitten voit asentaa sen
    tyhjästä, koska tämä skripti asentaa sen
  • 15:23 - 15:32
    hakemistoon /tmp/harden. Voit tällä
    monivaiheisella prosessilla asentaa
  • 15:32 - 15:42
    mitä haluat /tmp/harden -hakemistosta.
    Ja sitten seuraava kontti rakentuu alusta
  • 15:42 - 15:49
    ja voit käyttää Nginx:ää niin kuin
    olet tottunut sitä käyttämään -
  • 15:49 - 15:57
    staattisesti linkitettynä sovelluksena.
    Nyt meillä on tiukennettu levykuva
  • 15:57 - 16:04
    ilman kubectl:ää, curl:ia. Olemme siis
    paljon lähempänä turvallista sovellusta.
  • 16:04 - 16:11
    Seuraava juttu on tämä linkitys klusteri-
    ylläpitäjän rooliin. Älä tee sitä. Jos
  • 16:11 - 16:18
    jotain menee pieleen sovelluksessasi,
    sinulla on lisätoimenpiteitä, joita voit
  • 16:18 - 16:25
    ottaa käyttöön estääksesi sovellusta
    murtautumasta ulos kontista. Voit
  • 16:25 - 16:30
    erottaa palveluiden ja sisääntulo-
    osoitteiden näkyvyyden Internetiin
  • 16:30 - 16:37
    etuoikeutetuista operaatiosta. On noodi-
    asetukset. ElasticSearch tekee paljon
  • 16:37 - 16:44
    näitä, joten paljon ei ole oikeasti totta.
    Tehdään sysctl. Joillakin sovelluksilla
  • 16:44 - 16:52
    on hostPath päällä tai niillä on yhteys
    prosessien väliseen kommunikaatioon, mikä
  • 16:52 - 16:58
    ei ole tarpeellista jos olet sallinut sen
    ja erottelet sitä tarvitsevat sovellukset
  • 16:58 - 17:04
    niistä, jotka eivät tarvitse sitä.
    Klusteriylläpitäjän rooli pitäisi olla
  • 17:04 - 17:09
    rajoitettu erittäin etuoikeutetuille
    operaattoreille. Sitä paitsi, Argo on myös
  • 17:09 - 17:15
    hyvin etuoikeutettu operaattori. Älä aja
    sitä Kuberneteksessa ympäristössä, jossa
  • 17:15 - 17:21
    tietoturva on kriittistä. Olen nähnyt sen
    käyttävän klusteriylläpitäjän roolia.
  • 17:21 - 17:27
    En tarkoita Argon olevan oletusarvoisesti
    turvaton, mutta se on hyvin monimutkainen
  • 17:27 - 17:34
    sovellus ja minä ajaisin sitä ihan
    erillisessä klusterissa, en kriittisessä
  • 17:34 - 17:41
    klusterissa. Ja miltä arkkitehtuurikorjaus
    näyttää? Tässä näet kapselin elinkaaren.
  • 17:41 - 17:48
    Aika kulkee vasemmalta oikealle.
    Tässä näet onko kontti
  • 17:48 - 17:56
    valmis ja saako siihen yhteyden
    Internetistä. Jos teet jotain käynnistys-
  • 17:56 - 18:04
    järjestelmästä käsin, kuten ajat sysctl:n,
    tee se kontista, joka ei ole yhteydessä
  • 18:04 - 18:10
    Internetiin. Voit vain paussata
    kontin, koska paussaus rajoittaa
  • 18:10 - 18:16
    konttia eikä se ole sitten enää
    yhteydessä verkkoon. Ja se on
  • 18:16 - 18:23
    jotain mikä kattaa arkkitehtuurin.
    Lisäksi mainitsin täällä jo
  • 18:23 - 18:28
    verkkokäytännöt, jotka tulevat myöhemmin.
    Tämä on meidän uhkamatriisimme. Olemme
  • 18:28 - 18:33
    paljastaneet ja piilottaneet palveluita.
    On etuoikeutettuja ei ei-etuoikeutettuja
  • 18:33 - 18:39
    juttuja. Julkiset etuoikeutetut palvelut
    ovat vaarallisia. Normaalisti sinulla
  • 18:39 - 18:46
    on näitä olemassa vain jos ajat
    IDE:ä Kuberneteksessä. Sellaista en
  • 18:46 - 18:51
    haluaisi nähdä kriittisessä
    infrastruktuurissa. Sellaista kuin
  • 18:51 - 18:58
    RStudio tai web-käyttöliittymä GitOps-
    kehikkoon. Normaalisti sinulla on vain
  • 18:58 - 19:04
    web-sovellus. Ja se mitä ei pitäisi olla
    paljastettuna normiolosuhteissa on
  • 19:04 - 19:12
    operaattorin sysctl, käännösjärjestelmät,
    isäntäoperaattorit jne. Nämä tehtyäsi on
  • 19:12 - 19:21
    lähes mahdotonta kaapata klusteriasi.
    Sinun pitäisi tehdä kaikki kolme, koska
  • 19:21 - 19:26
    jos sinulla on useita turvakerroksia, voit
    tehdä virheen yhdellä tasolla ja ne
  • 19:26 - 19:32
    muut tasot pitävät sinut turvassa
    hyökkäyksiltä. Voit tehdä vielä
  • 19:32 - 19:39
    enemmän eristämistä verkkopuolella,
    verkkokäytännöt sisääntuloreiteille.
  • 19:39 - 19:44
    Noodeissa voit aktivoida seccompin,
    gVisorin ja yleiset kehikot, SELinuxin ja
  • 19:44 - 19:50
    AppArmorin. Voit käyttää PodSecurity-
    käytäntöjä, jatkossa Open Policy Agentia,
  • 19:50 - 19:56
    estääksesi noodiasi tulemaan häkätyksi.
    Identiteetin ja pääsyn hallinnan puolesta,
  • 19:56 - 20:03
    sinun pitäisi käyttää omia
    palvelutilejä kaikille tehtävillesi.
  • 20:03 - 20:09
    Joten sinulla on paljon rooleja. Sinun pitäisi
    käyttää roolipohjaista pääsynhallintaa
  • 20:09 - 20:18
    tarkistaaksesi tämän. OK. Minä lupaan,
    että voimme mennä syvemmällekin ja
  • 20:18 - 20:28
    tähän tarvitaan apua pilviylläpitäjältäsi.
    Tässä esimerkki Nico Meisenzahlilta,
  • 20:28 - 20:35
    joka tekee hyvin samanlaista esimerkkiä
    Kuberneteksen kaappaamisesta, ja hän
  • 20:35 - 20:43
    tekee sen yhdessä näistä pilvistä. Ja
    mitä hän on saanut selville on, että
  • 20:43 - 20:49
    voit saada haltuusi azure.json-tiedoston,
    jossa on käyttäjäidentiteetit. Nämä eivät
  • 20:49 - 20:55
    ole Kubernetes-identiteettejä. Nämä ovat
    Azure-identiteettejä. Voit saada valtuutuksen,
  • 20:55 - 21:02
    voit saada tilauksen, voit saada resurssi-
    ryhmän ja sitten voit saada curl-komennon
  • 21:02 - 21:07
    tällä valtuutuksella, muuttaaksesi
    asioita resurssiryhmän API-versiolla
  • 21:07 - 21:12
    tilausta käyttäen. Joten sinun voit ehkä
    hakkeroida noodisi etuoikeutetulla
  • 21:12 - 21:17
    kontilla ja sitten ottaa haltuun koko
    tilin. Ja hän kertoi minulle, että tämä
  • 21:17 - 21:25
    on totuus myös muiden pilvien kanssa. Se
    voi toimia myös esimerkiksi AWS:ssä ja
  • 21:25 - 21:33
    GCP:ssä. Joten ole hyvä ja suojaa myös
    pilvitilisi. Ymmärrä identeetin ja pääsyn-
  • 21:33 - 21:38
    hallintasi pilvessä. Ainakin
    jonkun tiimissä pitäisi
  • 21:38 - 21:44
    ymmärtää se. Ja rajoittaa myös alla
    oleva tili minimiinsä. Se voi olla
  • 21:44 - 21:51
    jopa hyvä idea estää pääsy siihen
    osoitteista 169.254.*. Ja tämä voi -
  • 21:51 - 21:57
    kuten jo mainitsin - koskea myös
    niitä muita pilviä. Oma pyyntöni
  • 21:57 - 22:03
    pilvipalveluntarjoajille on, että älkää
    jakako tilitietoja konteissa tai noodeissa.
  • 22:03 - 22:08
    Tämä ei ole tarpeellista. Se on hyvin
    mukavaa, kuten palvelutilin
  • 22:08 - 22:13
    yhteys ajettavien operaattorien kanssa
    on mukavaa. Mutta se on iso tietoturva-
  • 22:13 - 22:23
    vika ja voit menettää kaikki tilisi ja
    datasi. Loppupäätelmä: meillä on
  • 22:23 - 22:29
    täysi hyökkäysketju sovelluksesta
    pilvitilille. Ja se on sinun tehtäväsi
  • 22:29 - 22:36
    estää se ja korjata se, Tätä kutsutaan
    jaetuksi vastuuksi. Pilvipalvelun
  • 22:36 - 22:41
    tarjoajat huolehtivat käytännössä vain
    infrastruktuurista, mutta eivät oikeastaan
  • 22:41 - 22:46
    tietoturvasta pilvessä. Tämä on teidän
    tehtävänne. OK? Kitos huomiostanne,
  • 22:46 - 22:52
    toivottavasti se oli mielenkiintoista.
    Olkaa hyvät ja kysykää nyt.
  • 22:52 - 22:58
    Aplodeja
  • 22:58 - 23:05
    Herald: Kiitos esityksestä. Toimiiko tämä?
    Jep. Onko meillä yhtään kysymyksiä
  • 23:05 - 23:12
    Internetistä? En näe mitään tulossa
    vielä, mutta luulen meidän olevan
  • 23:12 - 23:17
    hieman etuajassa, joten kysyn yhden:
    Mitä ajattelet siitä, kuka on lähinnä
  • 23:17 - 23:21
    vastuussa näiden turvattomuuksien
    korjaamisesta? Luuletko, että tämän
  • 23:21 - 23:27
    voi korjata paremmilla oletusarvoilla
    infrastruktuurissa ja konfiguraatioissa?
  • 23:27 - 23:32
    Korjaantuuko tämä paremmilla ohjeilla
    ja DevOps-insinöörien paremmalla
  • 23:32 - 23:35
    koulutuksella? Mikä oli pääpointti
    liittyen vastuisiin?
  • 23:35 - 23:45
    Thomas: Minä pitäisin parhaana turvallisia
    oletusasennuksia. Mutta sitten sinulla
  • 23:45 - 23:51
    on tämä jaettu vastuu sopimuksissa.
    Tietystä kulmasta katsottuna sinä itse
  • 23:51 - 23:57
    olet vastuussa tilisi turvallisuudesta.
    Me näemme sen monimutkaisuuden,
  • 23:58 - 24:09
    koska voi olla 20 vaihetta. Jokainen vaihe
    on yksinkertainen ja näyttää varsin
  • 24:09 - 24:16
    harmittomalta, mutta kaikki vaiheet
    yhdessä voivat mahdollistaa hyökkäyksen.
  • 24:16 - 24:24
    Joten tätä pitää valvoa. Se on erittäin
    vaikeaa pilvinatiiveille kehittäjille. He
  • 24:24 - 24:30
    keskittyvät yleisesti sovelluksensa
    tietoturvaan. Kehittäjillä on nykyään
  • 24:30 - 24:37
    10-100 kertaa enemmän koodia
    kovalevyillään kuin 10 vuotta sitten.
  • 24:37 - 24:43
    Se tarkoittaa, että kehittäjillä
    ei voi olla täyttä ymmärrystä
  • 24:43 - 24:49
    tietoturvasta. Tämä on jotain mistä
    kehittäjät puhuvat kun puhuvat tietoturvasta,
  • 24:49 - 24:56
    olivat he erikoistuneet siihen tai eivät ole
    nähneet tälläisiä juttuja. Mitä huomaan
  • 24:56 - 25:00
    normaalisti on se, että kehittäjät
    eivät tunne tälläisiä ongelmia.
  • 25:00 - 25:07
    H: OK. Ja mitä ajattelet siitä mitä voimme
    tehdä monimutkaisuudelle? Tarvitsemmeko
  • 25:07 - 25:10
    parempaa koulutusta ihmisille, jotta
    he ymmärtävät paremmin järjestelmiä?
  • 25:10 - 25:14
    Vain onko joku tapa, jolla pilvi-infra
    voisi vähentää monimutkaisuutta?
  • 25:14 - 25:24
    T: Parempaa koulutusta ja pitää tehdä
    yksinkertaisia korjauksia. Tässä on viisi
  • 25:24 - 25:30
    vaihetta. Korjaukset ovat yksinkertaisia.
    ja ne pitää tarkistaa. Siihen pitää
  • 25:30 - 25:36
    olla työkalu, koska sinulla voi olla 20
    klusteria ja jokaisessa 20 sovellusta.
  • 25:36 - 25:41
    Tämä voi olla aika monimutkaista. Joten
    tarvitset työkaluja saadaksesi kuvan.
  • 25:41 - 25:47
    Koulutusmateriaaleista löydät esimerkkejä
    siitä, miten voit tarkastaa Kubernetes-
  • 25:47 - 25:52
    klusterin tälläisten hyökkäysten varalta.
    H: OK, kiitos todella paljon. Kiitos
  • 25:52 - 25:58
    kun olit täällä. Jatkamme noin puolen
    päästä seuraavalla esityksellä. Sitten
  • 25:58 - 26:04
    taas saksaksi. Kiitos.
    Thomas: Kiitos todella paljon. aplodeja
  • 26:04 - 26:13
    Outro: Kaikki on CC BY 4.0 -lisenssoitu.
    Kaikki on yhteisölle,
  • 26:13 - 26:14
    tuntemattomille ja ihan kaikille.
  • 26:14 - 26:14
    Subtitles created by c3subtitles.de
    in the year 2022. Join, and help us!
  • 26:14 - 26:15
    Translated by Markus Aurala
    (KYBS2004 course assignment at JYU.FI)
Title:
Konttien, Kuberneteksen ja pilvien hakkerointi
Description:

https://media.ccc.de/v/rc3-2021-cbase-247-hacking-containers-ku

Valtuutukset ovat tehokas keino kontrolloida pääsyä REST-rajapintoihin. Niiden käsiinsä saaminen pitäisi olla hankalaa.

Valitettavasti on aika yleinen tapa jättää valtuutuksia lojumaan ympäriinsä samalla mahdollistaen tehokkaita hyökkäysvektoreita. Hyökkäys näyttää kuinka hakkeroidaan OpenShift-klusteri, joka on täysin yleisesti hyväksyttyjen NIST:in ja CIS:in standardien mukainen. Kontin kaappaminen antaa täyden kontrollin klusteriin, mukaan lukien pääsyn isäntäkoneeseen. Pilvessä ajattaessa klusteria voidaan käyttää jatkohyökkäyksiin, koska isäntäkoneella on toinen valtuutus pilvipalvelimen rajapintaan. Tällä valtuutuksella, voidaan kontrolloida mielivaltaisia tilejä ja pilviresursseja, mukaan lukien virtuaalikoneet, tallennustila jne.

Tämä tulee olemaan osa Kubernetes-tietoturvakoulutuksia, jotka on jaettu avoimen lähdekoodin lisenssillä osoitteessa:

https://github.com/thomasfricke/training-kubernetes-security

Thomas Fricke

https://pretalx.c3voc.de/rc3-2021-cbase/talk/GDMAKJ/

#rc3-2021-import #c-base

more » « less
Video Language:
English
Duration:
26:15

Finnish subtitles

Revisions