Return to Video

#rC3 Very Pwnable Network (VPN)

  • 0:00 - 0:04
    [Translated by {Iikka}{Yli-Kuivila}
    (ITKST56 course assignment at JYU.FI)]
  • 0:04 - 0:31
    33C3 preroll-musiikkia
  • 0:31 - 0:35
    Herald: Tervetuloa takaisin festivaali-
    lavalle, yhä kakkospäivänä minun kelloni
  • 0:35 - 0:41
    mukaan vaikka olenkin kadottanut ajanta-
    juni jo nyt. En tiedä, tuntuu olevan kii-
  • 0:41 - 0:45
    reinen vuosi niin monen hyvän esityksen
    kanssa ja seuraavana meillä on super-mah-
  • 0:45 - 0:53
    tava estiys Jiskalta, Gerberiltä ja Matt-
    hiakselta. Nämä kolme ihanaa ihmistä näyt-
  • 0:53 - 1:00
    tävät meille jotain VPN:stä, niin kutsu-
    tuista Very Pwnable Networkeista, ja
  • 1:00 - 1:06
    miksi sinun VPN:si ei ole välttämättä
    yhtä turvallinen kuin sinulle on sanottu.
  • 1:06 - 1:11
    Ja tämä ei ole pelkästään tärkeää ihmi-
    sille jotka istuvat 7:n proxyn takana aja-
  • 1:11 - 1:16
    tellen: ettepä nappaa minua. Mutta myös
    vaikka jos työantajasi sanoo, että käytä
  • 1:16 - 1:21
    tätä VPN-asiakasohjelmistoa: sinua voi
    odottaa yllätys tai pari. Ja tämä on
  • 1:21 - 1:26
    ennalta nauhoitettu esitys, jonka jälkeen
    voin jo nähdäkin heidät täällä työkaluis-
  • 1:26 - 1:32
    samme mutta esityksen jälkeen on Q&A-
    sessio. Jos teillä on kysymyksiä,laittakaa
  • 1:32 - 1:41
    niitä IRCissä, Twitterissä tai Mastodon:sa
    hashtaillä #rc3cwtv ja meidän ihana
  • 1:41 - 1:46
    Signaalienkeli kerää ne ja näemme
    toisemme tallenteen jälkeen.
  • 1:46 - 1:48
    Jiska: Kaikki ja tervetuloa esitykseen
  • 1:48 - 1:56
    Very Pwnable Network Gerbertin, Matthiak:
    sen ja minun toimesta. Mistä tämä alkoi?
  • 1:56 - 2:02
    No, minusta tuli vähän vainoharhainen vii-
    me vuonna ja ajattelin että olisi hyvä
  • 2:02 - 2:09
    idea salata paljon koska Wi-Fi, LTE, TLS
    voidaan kaikki kaapata, ne voidaan purkaa.
  • 2:09 - 2:14
    Joten meidän tulisi salata kuten kaikki
    katselisivat ja sen vuoksi minun pitäisi
  • 2:14 - 2:20
    käyttää VPN:ää. Ja seuraava luottamusolet-
    tamus oli että yhdistän yliopistoni verk-
  • 2:20 - 2:27
    koon joka päivä, joten minun pitäisi luot-
    taa tähän joka tapauksessa. Ja jos minä
  • 2:27 - 2:31
    luotan tähän verkkoon, voisin käyttää tätä
    verkkoa ja heidän ammattilais-VPN-palvelua
  • 2:31 - 2:36
    Kuulen teidän nauravan, kuulen naurua,
    mutta tämä oli minun ideani, koska sitten
  • 2:36 - 2:43
    minun ei tarvitse asentaa enää mitään
    lisää verkkoselaukseni aikana. Ja myös,
  • 2:43 - 2:48
    tämä AnyConnect mitä he käyttivät niin se
    oli hieno ja toimi jokaisella käyttöjär-
  • 2:48 - 2:53
    jestelmällä. Ja se kuulostaa hyvältä, tur-
    valliselta tuotteelta: AnyConnect.
  • 2:53 - 3:00
    Jep. Ja sitten rupesin käyttämään mobiili-
    laitteitani ja yhtäkkiä minulle tulee
  • 3:00 - 3:06
    kaatumislokeja, jotka näyttivät tältä. eli
    kun olet vainoharhainen, katsot kuitenkin
  • 3:06 - 3:12
    kaatumislokisi lävitse joka toinen päivä,
    ja yksi niistä näytti tällaiselta.
  • 3:12 - 3:17
    Tämä ei näyttänyt oikein mukavalta osoit-
    teelta, se näytti vähän omituiselta, ja
  • 3:17 - 3:22
    tässä näkyy vähän kaatuneesta säikeestä.
    Jos tämän pistää IDA:an ja tekee vähän
  • 3:22 - 3:26
    takaisinmallinnusta voi myös liittää Any-
    Connectin ekstension funktioiden nimiä,
  • 3:26 - 3:32
    AC-ekstensio ja kaatuminen tapahtuu jos-
    sain kun se pistää VPN-konfiguraatiota
  • 3:32 - 3:37
    pystyyn, jossakin tunnelipuskurissa. En
    tiedä. Joten, ja sitten ajattelin myös,
  • 3:37 - 3:44
    että tuo osotie näyttää omituiselta koska
    se on IPv4 väärin päin, ja pari päivää
  • 3:44 - 3:52
    myöhemmin se kaatui uudestaan ja tässä
    luki 68k Uusi Rivi. Se näytti todellakin
  • 3:52 - 3:57
    joltain konfiguraatiostringeiltä, jotka
    kaatuilivat tietyissä osoitteissa,
  • 3:57 - 4:02
    ja se ei todellakaan näyttänyt hyvältäaikaa..
    Mutta minulla ei myöskään ollut iakaa.
  • 4:02 - 4:07
    Joten kirjoitin Ciscolle ja sanoin, että
    oletteko tosissanne, teidän ohjelmisto
  • 4:07 - 4:13
    kaatuu näin usein? Koska aina kun teen
    pyykkiäni minulla on huono Internet-yhteys
  • 4:13 - 4:20
    joten minun AnyConnect-ohjelmisto alkaa
    kaatuielmaan omituisissa osoitteissa.
  • 4:20 - 4:27
    Ja vaikka tämä on koodin ajamisen ongelma,
    toinen ongelma olisi että jos pistetään
  • 4:27 - 4:31
    pari pakettia menemään ilmasta, hyökkääjä
    voi onnistua uhrin VPN-yhteyden katkaise-
  • 4:31 - 4:38
    misessa. Se on myös onelma. Joten koska
    AnyConnect-ohjelmisto ei ole kunnolla osa
  • 4:38 - 4:44
    käyttöjärjestelmää, iOS:ää, se tarkoittaa
    että se vain uudelleenyhidstää sinut ja
  • 4:44 - 4:48
    sitten kaikki viestisi lähetetään selvä-
    kielisenä verkon yli ja käyttäjä ei saa
  • 4:48 - 4:52
    tästä mitään ilmoitusta. Se on vain VPN-
    symboli, joka on kadonnut, ja kaikki lähe-
  • 4:52 - 4:58
    tetään selväkielisenä. Ja halusin analy-
    soida tätä pidemmälle ja siellä on debug-
  • 4:58 - 5:02
    valinta siinä ohjelmistossa. Mutta koska
    Ohjelmisto itse katuu, lokit myöskin
  • 5:02 - 5:07
    katoavat sen sileän tien. Jos se kaatuu ja
    sinulla on debuggaus-valinta päällä, niin
  • 5:07 - 5:12
    myös käyttöjärjestelmän kaatumislokit
    iOS:ssä ovat menneet, niitä ei ole.
  • 5:12 - 5:19
    He vastasivat: "Emme saa tätä toistettua".
    No, siis tietenkään he eivät
  • 5:19 - 5:24
    ole auttaneet minua pyykinpesussa tai
    missään muussakaan niin tietnkään he eivät
  • 5:24 - 5:30
    saa sitä toistettua. Ja mikä vielä pahem-
    paa, he jättivät tiketin istumaan pitkäksi
  • 5:30 - 5:37
    aikaa kunnes sanoimme, että esittelemme
    tämän tänä vuonna CCC-kongressissa. Ja
  • 5:37 - 5:41
    sitten 10 päivää ennen puhetta he väittä-
    vät että he ovat korjanneet kaksi kolmesta
  • 5:41 - 5:44
    kaatumisesta, ja he kysyivät että saammeko
    kaatumista enää aikaan vai ei. Mutta vain
  • 5:44 - 5:52
    päivää ennemmin he sanoivat etteivät
    olleetkaan varmoja ja niin edelleen. Se
  • 5:52 - 5:55
    oli hyvin omituinen tiketti, ja minulla ei
    ollut tietoa että oliko se korjattu vai ei
  • 5:55 - 6:00
    koska tietenkin toistaakseni sen, minulla
    pitäisi olla tinapaperia, pari AnyConnect:
  • 6:00 - 6:04
    lla varustettua älypuhelinta ja sitten
    minun pitäisi odotella että Internet-
  • 6:04 - 6:08
    yhteyteni menee rikki tavalla, joka saa
    sen kaatumaan. Joten tämä oli ihan liian
  • 6:08 - 6:17
    satunnaista. Kerroin myös Applelle, mutta
    he vain sanoivat että vika on ohjelmassa,
  • 6:17 - 6:22
    eikä silloin kuulu heille, vaikka se on
    verkkoekstensio, mikä kaatuu. Joten se
  • 6:22 - 6:29
    ei ole heidän tehtävänsä ilmoittaa käyttä-
    jälle siitä, koska se on vain VPN mikä on
  • 6:29 - 6:33
    poissa. Ja sitten data lähteekin selväkie-
    lisenä ja se on ihan ok. Se oli odotettua
  • 6:33 - 6:41
    käytöstä. Rupesin ärsyyntymään tästä ja
    lopetin VPN:n käyttämisen, mutta minulla
  • 6:41 - 6:47
    oli myös idea etsiä opiskelijoita, jotka
    tutkisivat tätä. Ja tiedättekin mitä
  • 6:47 - 6:52
    tapahtuu kun löytää erittäin motivoitunei-
    ta opiskelijoita: he löytävät haavoittu-
  • 6:52 - 6:55
    vuuksia. Ja tämä esitys on siitä.
  • 6:55 - 7:00
    Gerbert: Niin me tutkimme Cisco:n AnyCon-
    nect-ohjelmistoa Linuxille ja löysimme
  • 7:00 - 7:04
    pari mielenkiintoista asiaa. Vähän sen
    jälkeen kun julkaisimme löydöksemme, usei-
  • 7:04 - 7:10
    ta lehtiartikkeleita ilmaantui. Mutta mitä
    tapahtui Jiskan kaatumisten ja näiden ar-
  • 7:10 - 7:18
    tikkeledein välillä? VPN on mielenkiintoi-
    nen sillä se on niin vanha tutkimuskohde.
  • 7:18 - 7:23
    Kuitenkin, tuon teknologian merkitys ko-
    rostui myöhemmin korona-pandemian myötä.
  • 7:23 - 7:30
    Monet yritykset joutuivat uudelleensijoit-
    tumaan kotitoimistoille turvallisuustoi-
  • 7:30 - 7:36
    mien vuoksi. VPN mahdollistaa käyttäjille
    pääsyn ulkopuolelta firman tai yliopiston
  • 7:36 - 7:43
    sisäisiin resursseihin. Yleensä tarvitaan
    VPN-asiakasohjelmistoa, jotta VPN-palveli-
  • 7:43 - 7:49
    meen saadaan yhteys. Avoimen lähdekoodin
    ohjelmistojen kuten OpenVPN:n lisäksi saa-
  • 7:49 - 7:55
    tavilla on monia suljetun lähdekoodin tuot
    -teita, erityisesti yrityssektorilla.
  • 7:55 - 8:02
    Käyttäjät joutuvat luottamaan tähän ohjel-
    mistoon, asentamaan tämän mustan laatikon
  • 8:02 - 8:09
    koneilleen päästäkseen verkkoon. AnyCon-
    nect secure liikkuvuus-ohjelmisto Ciscolta
  • 8:09 - 8:14
    on yrityskäyttöön tarkoitettu. Se voidaan
    luokitella etäpääsyohjelmistoksi, joka
  • 8:14 - 8:22
    mahdollistaa loppukäyttäjille pääsyn verk-
    koon, joka tukee SSL VPNää tai IPsec:iä.
  • 8:22 - 8:30
    Käytettäessä SSL VPN:ää autentikaatio ja
    tunnelin muodostaminen tapahtuu SSL/TLS-
  • 8:30 - 8:36
    tunnelin lävitse. Ohjelmisto toimii paksu-
    na clientina joka kommunikoi VPN-serverin
  • 8:36 - 8:42
    kanssa HTTPS:n yli. Kuten jo mainittiin,
    AnyConnectin lähdekoodi ei ole julkisesti
  • 8:42 - 8:48
    saatavilla. Sovellus jaellaan käännettyjen
    binäärien ja kirjastojen kanssa.
  • 8:48 - 8:54
    Vaikka sovellus on dokumentoitu, se ei
    kata sisäistä toiminnallisuutta. Edes haa-
  • 8:54 - 8:59
    voittuvuustiedotteissa, jotka jaellaan
    julkisina, ei mennä kovin syvälle tekni-
  • 8:59 - 9:05
    siin yksityiskohtiin. Sen vuoksi tiedämme
    vain rajoitetusti sovelluksesta, ja sen
  • 9:05 - 9:11
    sisäisestä käyttäytymisestä. Olemme aset-
    taneet itsellemme tavoitteksi tutkia Any-
  • 9:11 - 9:20
    Connectin äskettäisiä Linux ja iOS-sovel-
    luksia. AnyConnectin päätoiminnallisuus
  • 9:20 - 9:25
    tulee VPN-yhteyksien muodostamisesta,
    mutta se on vain jäävuoren huippu.
  • 9:25 - 9:32
    AnyConnect:ssa on myös muita ominaisuuksia
    joista nimetään pari: skriptien jakelu
  • 9:32 - 9:37
    ja suorittaminen kohdelaitteilla, auto-
    maattinen ohjelmiston päivittäminen kysy-
  • 9:37 - 9:43
    mättä käyttäjän lupaa siihen, ja yksi omi-
    naisuuksista on laiteskannaus: se ei
  • 9:43 - 9:49
    integroidu AnyConnectiin, vaan sitä pide-
    tään erillisenä ohjelmana. Se toimii Any-
  • 9:49 - 9:54
    Connect-infran kanssa yhdessä ja mahdol-
    listaa laajan asiakaslaitteiden järjestel-
  • 9:54 - 10:01
    mätiedon lukemisen ja välittämisen VPN-
    palvelimelle. AnyConnectiin liittyvät
  • 10:01 - 10:09
    työt perustuvat Cisco:n julkisiin tiedot-
    teihin ja blogimerkintöihin tietyiltä tur-
  • 10:09 - 10:15
    vallisuustutkijoilta. Sen vuoksi päätimme
    listata ja kategorisoida kaikki
  • 10:15 - 10:21
    haavoittuvuudet vuodesta 2011 lähtien.
    Tässä kuvassa näemme listan haavoittuvuuk-
  • 10:21 - 10:27
    sista per vuosi, pistettynä järjestykseen
    vakavuuden perusteella. Eniten raportoi-
  • 10:27 - 10:33
    tiin keskitason haavoittuvuuksia, mutta
    myös kriittisiä haavoittuvuuksia julkais-
  • 10:33 - 10:44
    tiin vuosina 2011 ja 2012. 2015 ja 2016
    vuosien korostuminen määrissä johtuu kir-
  • 10:44 - 10:51
    jastoissa kuten OpenSSL, olleista haavoit-
    tuvuuksista. Haavoittuvuudet jaoteltiin
  • 10:51 - 10:57
    vielä edelleen kategorioihin, jotka näky-
    vät tässä kuvassa. Kryptografiset haa-
  • 10:57 - 11:04
    voittuvuudet ovat yleisimpiä, sillä Any-
    Connect käyttää OpenSSL:ää, ja OpenSSL:n
  • 11:04 - 11:10
    haavoittuvuudet ovat AnyConnectin haavoit-
    tuvuuksia. Kun kolmansien osapuoletan haa-
  • 11:10 - 11:16
    voittuvuudet suljetaan pois, eniten Any-
    Connectilla on käyttöoikeuksien laajennuk-
  • 11:16 - 11:22
    sen haavoittuvuuksia. Sitä seuraa lähellä
    palvelunestohyökkäykset, jotka on usein
  • 11:22 - 11:26
    kohdistettu päällä olevaan ohjelmaan, jot-
    ta voidaan häiritä VPN-yhteyttä. Ylivuoto-
  • 11:26 - 11:33
    ja versioiden alentamishaavoittuvuuksia.
  • 11:33 - 11:38
    Nämä tulokset antavat meille vähän tietoa
    menneisiin vikoihin.
  • 11:38 - 11:43
    Matthias: Ennen kuin mennään takaisinmal-
    linnukseen, haluamme antaa teille pienen
  • 11:43 - 11:51
    katsauksen Cisco:n lisensointitukeen.
    Cisco ASA on tyypillinen palvelinpääte
  • 11:51 - 11:56
    Cisco:n AnyConnect:ille, ja sitä on saata-
    villa rautalaitteistona sekä myös virtuaa-
  • 11:56 - 12:03
    lisena versiona esim. VMwaren päällä ajet-
    tavaksi. Tutkimuksemme alussa yritimme
  • 12:03 - 12:08
    saada virallista arviointilisenssiä
    Ciscolta ASAv:tä varten, ilman että pii-
  • 12:08 - 12:14
    lotimme tarkoituksenamme olleen
    käyttää sitä turvallisuustutkimukseen.
  • 12:14 - 12:21
    Sen vuoksi naiivi lähestymistapamme oli
    vain lähestyä Ciscon lisensointitukea. Se
  • 12:21 - 12:26
    oli enemmän tai vähemmän: Hei, teemme
    turvallisuustutkimusta Ciscon AnyConnect-
  • 12:26 - 12:32
    asiakasohjelmistoon. Voitteko antaa meille
    ilmaisia arviointilisenssejä ASAv:lle?
  • 12:32 - 12:38
    Cisco vastasi: okei. Montako tarvitsette?
    Tässä kohdassa olimme hieman yllättyneitä
  • 12:38 - 12:43
    kuinka kivuttomasti kaikki tuntui menevän.
    Mutta sitten saimme kolme 60-päivän li-
  • 12:43 - 12:50
    senssiä tilillemme. Mutta heti kun kokei-
    limme ladata Cisco ASAv-imagea Virtual-
  • 12:50 - 12:56
    Box:lle, saimme tämän virheen. Ehkä jon-
    kinlainen ongelma lisenssin aktivoinnissa,
  • 12:56 - 13:01
    sillä jos sinulla on lisenssi tuotteisiin
    tietenkin voit ladata sen, eikös joo?
  • 13:01 - 13:06
    Mutta joo, se todellakin vaikutti siltä
    että lähestymistapamme oli hivenen naiivi
  • 13:06 - 13:11
    ja olimme aliarvioineet yrityssovelluksien
    lisenssoinnnin monimutkaisuutta.
  • 13:11 - 13:21
    Se oli vähän epätyydyttävää. Mutta meillä
    oli idea. Pyytäisimme yliopistomme data-
  • 13:21 - 13:26
    keskuksen apua koska hekin käyttivät
    Ciscon AnyConnectia. Mutta me emme
  • 13:26 - 13:33
    ikinä saaneet vastausta. Meillä oli vielä
    joitakin vaihtoehtoja jäljellä, mutta jos-
  • 13:33 - 13:39
    sakin kohtaa annoimme vain periksi.
    G: Koska saatavilla ei ole kunnollista
  • 13:39 - 13:44
    dokumentaatiota, oli tarpeen ihan alkuun
    ymmärtää sovellusta ja selvittää sen kes-
  • 13:44 - 13:50
    keiset komponentit. Sen vuoksi meillä ei
    ollut muuta mahdollisuutta, kuin takaisin-
  • 13:50 - 13:59
    mallintaa sovellus. Analysoimme sovellus-
    tiedostoja ja verkkoliikennettä. Jotta
  • 13:59 - 14:04
    saisimme paremman ymmärryksen ohjelmasta,
    käytimme perustyökaluja kuten Ghidraa
  • 14:04 - 14:10
    staattiseen koodianalyysiin. Ghidra kyke-
    nee takaisinkääntämään lähdekoodin kään-
  • 14:10 - 14:16
    netystä binääristä tai kirjastosta. Dynaa-
    mista sovellustestausta varten käytimme
  • 14:16 - 14:23
    työkaluja kuten Fridaa, Burppia ja Wire-
    sharkkia. Frida voidaan liittää ajossa
  • 14:23 - 14:28
    oleviin prosesseihin, jotta ymmärretään
    ohjelman virtausta. Burpia käytettiin pro-
  • 14:28 - 14:36
    xynä HTTPS-viestien muuttamiseen, ja Wire-
    sharkkia käytettiin verkkoliikenteen kuun-
  • 14:36 - 14:41
    teluun ja purkamiseen. Otetaan lähempi
    katsaus tiedostojen binääreihin. AnyCon-
  • 14:41 - 14:46
    nectin mukana tulee iso joukko binäärejä.
    Takaisinmallintaessamme tunnistimme kolme
  • 14:46 - 14:52
    keskeistä sovelluksen osaa: vpnui on
    binääri, jonka kanssa käyttäjä on vuoro-
  • 14:52 - 14:59
    vaikutuksessa. Se tarjoaa GUI:n, jossa
    käyttäjä tekee yksinkertaisia asetuksia ja
  • 14:59 - 15:05
    käynnistää VPN-yhteyden. Toinen binääri on
    vpnagentd. Se ajaa daemonia taustalla
  • 15:05 - 15:12
    kaikkina aikoina, jopa silloin kun VPN-
    yhteys ei ole auki. Erikoista vpnagentd:sä
  • 15:12 - 15:18
    on se, että sitä ajetaan root-prosessina
    ja se kuuntelee aina staattisella portilla
  • 15:18 - 15:25
    Sen tarkoituksena on pystyttää VPN-tunneli
    ja verkkokonfiguraatio asiakaslaitteessa.
  • 15:25 - 15:33
    Se sisältää asetuksia kuten reitit tai DNS
    -palvelimet. Kolmas ja viimeinen binääri
  • 15:33 - 15:38
    on vpndownloader. Kuten nimi vihjaa, sen
    tarkoitus on ladata lisätiedostoja, joita
  • 15:38 - 15:44
    tarvitaan VPN-yhteyden muodostamiseen.
    Se sisältää sellaisia kuten VPN-profiilit,
  • 15:44 - 15:51
    aputiedostot ja skriptit. Binäärit vaihta-
    vat dataa keskenään prosessienvälisen kom-
  • 15:51 - 16:00
    munikaation (IPC:n) keinoin. IPC tapahtuu
    TCP socket:ien välityksellä. Binääridata-
  • 16:00 - 16:06
    formaatti, jonka Cisco on IPC:lle määri-
    tellyt, käytetään viestien vaihtoon TCP-
  • 16:06 - 16:16
    socketien akutta. Binäärien lisäksi Any-
    Connect sisältää paljon kirjastoja.
  • 16:16 - 16:21
    Monet niistä ovat porttauksia olemassa-
    olevista avoimen lähdekoodin kirjastoista
  • 16:21 - 16:30
    kuten OpenSSL:stä. Tärkein seikka niistä
    on tällä dialla: libvpnapi.so sisältää
  • 16:30 - 16:36
    interfacet ja funktiot käyttäjäkäyttöliit-
    tymien taustalogiikalle. Kirjaston tavoit-
  • 16:36 - 16:41
    teena on että yritykset voivat rakentaa
    omat VPN-sovelluksensa AnyConnect:n infran
  • 16:41 - 16:47
    päälle. Se on ainoa krijasto, jolle doku-
    mentaatio on saatavilla Ciscon
  • 16:47 - 16:54
    toimittamana. Libvpncommoncrypt on wrapper
    OpenSSL ja NSS-kirjastoille. NSS on saman-
  • 16:54 - 17:01
    kaltainen OpenSSL:n kanssa ja sitä käy-
    tetään selainten, kuten Mozilla Firefox:n
  • 17:01 - 17:08
    toimesta SSL/TLS-yhteyksien kytkemiseen.
    Se myös tarjoaa oman sertifikaattivaras-
  • 17:08 - 17:17
    tonsa. Libvpncommon on toinen keskeinen
    kirjasto, jota kaikki binäärit käyttävät.
  • 17:17 - 17:23
    Se tarjoaa luokkia ja funktioita IPC-
    logiikalle. Sillä voidaan luoda, lähettää
  • 17:23 - 17:30
    ja validoida IPC-viestejä. Seuraava kir-
    jasto, libvpnagentutilities, sisältää
  • 17:30 - 17:37
    luokkia ja funktioita, jotka käsittelevät
    kriittisiä operaatioita, kuten verkkoase-
  • 17:37 - 17:45
    tuksia. Sitä käyttää ainoastaan vpnagentd.
    Binäärien ja kirjastojen lisäksi on monia
  • 17:45 - 17:52
    muita tiedostoja, joilla on merkitystä
    ja joita tutkimme tarkemmin. AnyConnect
  • 17:52 - 17:59
    tarjoaa AnyConnect local policy XML-tie-
    doston. Tämä tiedosto sääntelee useita
  • 17:59 - 18:04
    turvallisuusasetuksia. Esimerkiksi sitä
    voidaan käyttää määrittämään, että muita
  • 18:04 - 18:12
    tiedostoja ei enää ladata, tai että VPN-
    palvelin voi suorittaa versiopäivityksiä.
  • 18:12 - 18:16
    Oletusasetuksillaan se on hyvin salliva ja
    lähes mikä tahansa on sallittua. Tiedostoa
  • 18:16 - 18:21
    ei ylikirjoiteta päivitysten toimesta eikä
    sitä voida muuttaa VPN-palvelimen toimesta
  • 18:21 - 18:31
    VPN-profiili on myös XML-formaatissa: se
    sisältää lisäasetuksia. Vihreällä on ko-
  • 18:31 - 18:37
    rostettu EnableScripting-tagirivi, jossa
    on boolean-arvo epätosi. Se indikoi, että
  • 18:37 - 18:44
    skriptejä ei tule suorittaa laitteella.
  • 18:44 - 18:50
    VPN-palvelin jakelee profiilitiedostoja,
    ja ne ylikirjoitetan seuraavan kerran kun
  • 18:50 - 19:00
    käyttäjä yhdistää ja muuttaa niitä. Vii-
    meinen tiedosto on VPNManifet.dat mikä on
  • 19:00 - 19:06
    binääridatamuodossa sisältäen AnyConnect:n
    versiotiedoton. Tätä tiedostoa käytetään
  • 19:06 - 19:12
    kun tarkistetaan mikä on AnyConnectin
    versio ennen päivitystä. Näiden tiedosto-
  • 19:12 - 19:19
    jen lisäksi viestinvälitys näyttelee kes-
    keistä roolia. VPN-yhteyden muodostus
  • 19:19 - 19:25
    rakentuu kolmeen vaiheeseen. Ensimmäinen
    vaihe on autentikointi.
  • 19:25 - 19:34
    Käyttäjä syöttää VPN-palvelimen IP/Domain-
    tiedot vpnui:ssä. Kohdepalvelin lähete-
  • 19:34 - 19:41
    tetään sitten IPC-viestinä vpnagentd:lle.
    Vastauksena vpnui saa erinäisiä järjestel-
  • 19:41 - 19:49
    mätietoja takaisin. Se sisältää käyttöjär-
    jestelmätietoja tai kokonaisen tietovaran-
  • 19:49 - 19:54
    non. Myöhemmin tämä tieto ja tunnukset
    lähetetään VPN-palvelimelle HTTPS:n väli-
  • 19:54 - 20:04
    tyksellä. ASA palauttaa palvelinparametrit
    HTTPS-vastauksessa. Otetaan lähempi kat-
  • 20:04 - 20:10
    saus pyyntöön ja vastaukseen. Vasemmalla
    puolen näette tämän pyynnön. Se on nor-
  • 20:10 - 20:16
    maali post-pyyntö, jossa on XML jossa
    tunnustiedot välitetään. Tunnustiedot
  • 20:16 - 20:22
    on merkitty vihreällä.
  • 20:22 - 20:28
    Vasemmalla näemme vastauksen. Vastaus si-
    sältää sessio-tokenin, mikä on myös mer-
  • 20:28 - 20:33
    kitty vihreällä. Lisäksi vastaus sisältää
    URLt kaikkiin ladattaviin tiedostoihin ja
  • 20:33 - 20:40
    niiden hash-arvot. Oranssilla korostettu
    string on yksi ladattavista tiedostoista.
  • 20:40 - 20:48
    Lataus-vaihe on toinen vaihe VPN-yhteyden
    muodostamisessa. Ensiksi vpnui suorittaa
  • 20:48 - 20:56
    vpndownloader-binäärin. Sitten palvelin-
    paramterit edellisestä HTTPS-vastauksesta
  • 20:56 - 21:03
    siirretään vpndownloaderille IPC:n väli-
    tyksellä. URLt poimitaan IPC-viesteistä
  • 21:03 - 21:10
    ja kun tiedostot ladataan ne ladataan
    väliaikaiseen kansioon HTTPS:n välityk-
  • 21:10 - 21:18
    sellä. Lataajaprosessi tiedottaa vpnagentd
    :lle IPC:n välityksellä että sen tulee
  • 21:18 - 21:24
    siirtää tiedostot varsinaiseen sovellus-
    kansioon. Kolmannessa ja viimeisessä
  • 21:24 - 21:31
    vaiheessa VPN-yhteyden muodostamista vpnui
    lähettää IPC-viestin vpnagentd:lle, jossa
  • 21:31 - 21:37
    on pyyntö muodostaa VPN-tunneli. Sen
    jälkeen tunneliparamterit vaihdetaan käyt-
  • 21:37 - 21:44
    täen HTTPS:ää. Kun vpnagentd on asettanut
    parametrit, VPN-sessio jatkuu.
  • 21:44 - 21:51
    Otetaan tarkempi katsaus tunneliparamet-
    reihin.
  • 21:51 - 21:58
    Vasemmalla puolella näemme pyynnön.
    Ensimmäisellä rivillä näette HTTP-connect
  • 21:58 - 22:04
    -metodin. Normaalisti proxyt käyttävät
    tätä metodia edelleenvälittääkseen pyynnöt
  • 22:04 - 22:10
    kohdepalvelimelle. Pyynnön sisällä näemme,
    että sessio-token annetaan cookie:n
  • 22:10 - 22:16
    header:issä. Tämä on se sama sessio-token,
    joka saatiin autentikaatiovaiheessa.
  • 22:16 - 22:22
    Eri tunneliparamterit välitetään eri HTTP-
    headereissä. Osio, joka on merkitty
  • 22:22 - 22:30
    punaisella edustaa paikallisen laitteen
    IP-osoitetta. Oikealla puolella näette
  • 22:30 - 22:36
    vastauksen tään pyyntöön. Esimerkiksi X-
    CSTP-Address-header sisältää IP-osoitteen,
  • 22:36 - 22:43
    jonka laitteen tulee antaa tunneli-inter-
    facelleen.
  • 22:43 - 22:50
    Punaisella merkatussa osiossa näemme nyt
    myös DNS-palvelimen VPN-yhteydelle.
  • 22:50 - 22:56
    Lisäksi osoiteavaruudet, jotka pitää rei-
    tittää VPN-palvelimen kautta on määritelty
  • 22:56 - 23:04
    X-CSTP-Split-Include-headerissä. Nyt kun
    meillä on yleispätevä ymmärrys
  • 23:04 - 23:10
    ohjelmistosta, mennään haavoittuvuustutki-
    mukseen. Me suoritimme design-analyysiä
  • 23:10 - 23:16
    AnyConnectille, jossa tarkastelimme IPC-
    viestejä paljon yksityiskohtaisemmin.
  • 23:16 - 23:22
    Meidän täytyy määritellä tiettyjä oletuk-
    sia turvallisuudesta ja hyökkääjästä,
  • 23:22 - 23:26
    ennne kuin etsimme haavoittuvuuksia. Tämä
    dia näyttää useita oletuksistamme.
  • 23:26 - 23:33
    Kryptografiset algoritmit sovelluksen
    sisällä ovat turvallisia, eikä niitä voida
  • 23:33 - 23:39
    murtaa eksponentiaalisessa ajassa. Hyök-
    kääjä ei voi lukea tai muokata viestejä
  • 23:39 - 23:45
    huolimatta heidän sijainnistaan, ja me
    oletamme että VPN-palvelin ei ole pahan-
  • 23:45 - 23:51
    tahtoinen, ja viestii vain valideja vies-
    tejä, jotka noudattavat protokollaa.
  • 23:51 - 23:57
    Oletamme, että hyökkääjällä on paikalli-
    nen pääsy ja hän voi suorittaa komentoja
  • 23:57 - 24:01
    laitteella, ja hänen tavoitteena on vaa-
    rantaa järjestelmän tai sovelluksen
  • 24:01 - 24:08
    luottamuksellisuus, eheys tai saatavuus.
    Käyttöoikeuksien laajennushaavoittuvuudet
  • 24:08 - 24:14
    käsitellään, sillä ne mahdollistavat hyök-
    kääjälle tavoitteisiin pääsyn.
  • 24:14 - 24:21
    Cisco päätti sisällyttää sovellukseensa
    automaattisten päivitysten ominaisuuden.
  • 24:21 - 24:28
    AnyConnect pystyy saamaan AnyConnect-päi-
    vityksiä VPN-palvelimelta ilman mitään
  • 24:28 - 24:32
    käyttäjävuorovaikutusta. Oletusasetuksil-
    laan AnyConnectia voi päivittää VPN-pal-
  • 24:32 - 24:39
    velin, joka tarjoaa uudempaa versiota.
    Turvallisuustutkijan näkövinkkelistä täl-
  • 24:39 - 24:45
    lainen automaattinen päivittäminen kuulos-
    taa lupaavalta, eikös vain? Katsotaan sitä
  • 24:45 - 24:50
    ominaisuutta tarkemmin. Ensiksi vpndown-
    loader lataa suoritettavan asennustiedos-
  • 24:50 - 24:57
    ton ja shell-skriptin nimeltä vpndownloa-
    der.sh. Sitten vpndownloader.sh suorite-
  • 24:57 - 25:04
    taan. Shell-skripti sisältää arkiston,
    joka puretaan jotta saadaan uusi versio
  • 25:04 - 25:09
    vpndownloaderista ulos. Sitten IPC-viesti
    lähetetään vpnagentd:lle, jossa sitä
  • 25:09 - 25:16
    pyydetään suorittamaan tämä asennustie-
    dosto. Vpnagentd ei suorita sitä suoraan,
  • 25:16 - 25:21
    vaan se kutsuu vpnagentdownloader:ia root-
    oikeuksin, joka puolestaan kutsuu tuota
  • 25:21 - 25:28
    asennustiedostoa. Ennen asennustiedoston
    suorittamista vpndownloader verifioi ja
  • 25:28 - 25:35
    validoi tiedoston. Me saimme idean: onko
    mahdollista asentaa vanhentunut versio
  • 25:35 - 25:41
    väärennetyn IPC-viestin avulla? Kuten
    kuvassa näkyy, hyökkääjä tarvitsee vanhan
  • 25:41 - 25:48
    allekirjoitetun asennustiedoston ja se
    lähettää IPC-viestin vpnagentd:lle pyytäen
  • 25:48 - 25:54
    sitä suorittamaan vanhentuneen asentajan.
    Vpnagentd kutsuu vpndownloaderia kuten
  • 25:54 - 25:59
    normaalistikin, joka puolestaan kutsuu
    hyökkääjän asennustiedostoa. Ei ole mitään
  • 25:59 - 26:05
    tarkistusta sille, onko asennustiedosto
    uudempi kuin jo asennettu versio. Tämä
  • 26:05 - 26:11
    mahdollistaa versionalennushyökkäyksen.
    Version alentamisen tavoitteena hyökkää-
  • 26:11 - 26:16
    jällä on pakottaa vanhentuneen version
    asennus, version joka sisältää haavoittu-
  • 26:16 - 26:21
    vuuksia , joita hyökkääjä voisi hyö-
    dyntää.
  • 26:21 - 26:29
    Raportoimme tämän haavoittuvuuden
    Ciscon tuoteturvallisuustiimille ja se
  • 26:29 - 26:34
    korjattiin syyskuun lopussa. Haavoittuvuus
    sai vain CVSS-pisteytyksen 3.1, ja oli
  • 26:34 - 26:42
    siten luokiteltu matalan vakavuuden
    haavoittuvuudeksi. Haavoittuvuus oli
  • 26:42 - 26:48
    hyödynnettävissä vain Linux-versiossa.
    Windows- ja Mac-versiot oli jo turvattu
  • 26:48 - 26:55
    tuollaiselta hyökkäykseltä. Toinen toimin-
    nollisuus, jota tarkastelimme oli
  • 26:55 - 27:00
    skriptien jakelu ja suoritus. He kutsuvat
    sitä "Bring your own Script":ksi.
  • 27:00 - 27:06
    Toiminnon tarkoituksena on helpottaa
    skriptien jakelua tietokoneille. Jotta
  • 27:06 - 27:11
    skripti suoritetaan, sen pitää täyttää
    kaksi vaatimusta.
  • 27:11 - 27:17
    Ensikin, sen pitää sijaita skriptit-kan-
    siossa ja tiedostonimen tulee alkaa sa-
  • 27:17 - 27:24
    noilla OnConnect tai OnDisconnect. Toisek-
    si, VPN-palvelimen lähettämässä profiilis-
  • 27:24 - 27:32
    ssa EnableScripting-tagin tulee olla ase-
    tettuna tosi-arvoon.Riippuen tiedosto-
  • 27:32 - 27:37
    nimestä skriptit ajetaan VPN-yhteyden
    muodostamisen ja terminoinnin jälkeen.
  • 27:37 - 27:43
    VPN-palvelin kun voi jaella profiileja,
    joissa skriptien jakelu on päällä ja se
  • 27:43 - 27:48
    voi myös jaella skriptit: nämä kaksi yh-
    dessä amhdollistvat VPN-palvelimelle etä-
  • 27:48 - 27:54
    ajettavan koodin siihen yhdistävillä lait-
    teilla. Tämä toiminnollisuus muodostaa
  • 27:54 - 27:59
    suuren ongelman, sillä ihmiset joutuvat
    usein luottamaan yliopsiton VPN-palveli-
  • 27:59 - 28:06
    miin ja heillä ei ole muuta vaihtoehtoa.
    Mutta katsotaan tarkemmin skriptien jake-
  • 28:06 - 28:12
    lua. Tässä näemme klassisen skriptijakelun
    esimerkin. Latausvaiheessa vpndownloader
  • 28:12 - 28:19
    lataa OnConnect- tai OnDisconnect-
    skriptit. Vpndownloader sitten kysyy IPC-
  • 28:19 - 28:25
    viestillä ladatun skriptin siirtoa skrip-
    tit-kansioon.
  • 28:25 - 28:33
    Vpnagentd-prosessi kutsuu vpndownloaderia,
    joka sitten siirtää tiedoston.
  • 28:33 - 28:37
    Tarkastelimme järjestelmällisesti IPC-
    viestejä ja löysimme pystysuuntaisen käyt-
  • 28:37 - 28:43
    töoikeuksien laajennuksen. Hyökkääjä voi
    lähettää saman viestin vpnagentd-proses-
  • 28:43 - 28:48
    sille. Mikä tahansa hyökkääjän skrip-
    teistä voidaan siirtää skriptit-kansioon.
  • 28:48 - 28:53
    Jos seillä on jo skripti, niin se ylikir-
    joitetaan. Jos hyökkääjä siirtää On-, tai
  • 28:53 - 28:59
    OnDisconnect-skriptin kun käyttäjällä on
    VPN-yhteys avoinna, skripti jaetaan käyt-
  • 28:59 - 29:05
    täjän oikeuksilla. Kun VPN-yhteys sulje-
    taan, ensimmäinen valtuuttamaton käyttäjä
  • 29:05 - 29:13
    voi saavuttaa toisen käyttäjän kontekstin
    koodiajoa.
  • 29:13 - 29:18
    Mikä häiritsi metiä tässä hyökkäyksessämme
    oli se että se oli sidottu esiehtoihin.
  • 29:18 - 29:24
    Yksi ehdoista oli, että EnableScripting-
    tagissa oli arvo "Tosi". Harkitsimme muita
  • 29:24 - 29:29
    hyökkäysskenaarioita ja saimme idean jael-
    la profiileja itse. Eli, tsekkaamme tagin
  • 29:29 - 29:35
    uudestaan, mutta emme luo vain skriptiä
    vaan myös VPN-profiilin joka sallii
  • 29:35 - 29:41
    skriptien ajamisen. Hyökkäys toimii näin:
    kun paikallsiella käyttäjällä on VPN-
  • 29:41 - 29:46
    sessio aktiivisena, toinen käyttäjä jär-
    jestelmässä luo pahantahtoisen skriptin ja
  • 29:46 - 29:51
    uuden profiilin. Uudessa profiilissa Ena-
    bleScripting-tagiin on asetettu arvoksi
  • 29:51 - 29:57
    "Tosi". Hyökkääjä sitten lähettää IPC-
    viestin vpnagentd:lle pyytäen skriptin ko-
  • 29:57 - 30:03
    pioimista skriptit-kansioon. Vpndownloader
    käynnistetään sitten root-oikeuksin suo-
  • 30:03 - 30:11
    rittamaan kopiointi. Hyökkääjä voi myös
    lähettää lisäksi IPC-viestin vpnaentd:lle
  • 30:11 - 30:17
    pyytäen olemassaolevan profiilin yli-
    kirjoittamista pahantahtoisella profii-
  • 30:17 - 30:25
    lilla. Vaikka profiili ylikirjoitettaan,
    uuden profiilin asetuksia kytketä vielä
  • 30:25 - 30:29
    päälle koska vanha profiili on yhä aktii-
    visena.
  • 30:29 - 30:35
    Kuitenkin, me pystyimme määrittämään että
    uusi profiili ladataan kun VPN-sessiossa
  • 30:35 - 30:42
    tapahtuu uudelleenyhdistäminen. Neovat
    itse asiassa aika yleisiä AnyConnectissa.
  • 30:42 - 30:46
    Jos uudelleenyhdistys tapahtuu, uusi pro-
    fiili ladataan ja kytketään päälle. Meidän
  • 30:46 - 30:51
    tapauksessamme se mahdollistaa skripti-
    toiminnon. VPN-yhteyden alasajon jälkeen,
  • 30:51 - 30:56
    pahantahtoinen OnDisconnect-skripti aje-
    taan VPN-sovellusta ajavan käyttäjän
  • 30:56 - 31:03
    oikeuksin. Kummatkin ongelmat raportoitiin
    Ciscolle, mutta niitä ei voitu korjata
  • 31:03 - 31:08
    julkistamispäivään mennessä, vaikka an-
    noimme lisäaikaa deadlinelle. Vielä
  • 31:08 - 31:12
    tänäänkin haavoittuvuus on yhä läsnä Any-
    Connectin oletusasetuksissa.
  • 31:12 - 31:18
    Cisco julkisti tämän haavoittuvuuden CVSS-
    pisteytyksellä 7.1, mitä pidetään
  • 31:18 - 31:26
    korkeana vakavuutena. Koska se julkaistiin
    4. marraskuuta 2020 ilman korjausta, haa-
  • 31:26 - 31:32
    voittuvuus sai paljon huomiota monilla
    uutissivustoilla.
  • 31:32 - 31:42
    Eri sivustot raportoivat haavoittuvuudesta
    Raportoinnin laatu vaihteli.
  • 31:42 - 31:47
    Joissakin artikkeleissa oli väärää tietoa,
    kuten että hyväksikäyttömenetelmä olisi
  • 31:47 - 31:53
    julkisesti saatavilla. Tämä ei ollut
    yhtään tarkkaa, koska me olimme ainoat,
  • 31:53 - 31:58
    joilla oli toimiva haavoittuvuus emmekä
    julkistaneet sitä vielä. Emme löytäneet
  • 31:58 - 32:03
    mitään muuta hyväksikäyttömenetelmää
    Interntistäkään. Luulen että tällainen
  • 32:03 - 32:10
    raportointi - tämä tapa raportoida pitää
    harkita uudelleen koska se aiheutti niin
  • 32:10 - 32:15
    paljon väärää tilannekuvaa haavoittuvuu-
    desta. Meitä jopa kontaktoitiin huolestu-
  • 32:15 - 32:21
    neiden poikkeamavastetiimien toimesta,
    sillä he olivat huolissaan infrastaan.
  • 32:21 - 32:25
    Kaikki löydetyt ja raportoidut haavoittu-
    vuudet on listattu tässä taulukossa. Nämä
  • 32:25 - 32:30
    kolme haavoittuvuutta löydettiin design-
    analyysin keinoin. Vain yksi haavoittu-
  • 32:30 - 32:38
    vuuksista on korjattu Ciscon mukaan. Eri
    toten Bring Your Own Script-haavoittu-
  • 32:38 - 32:43
    vuudet on jo julkistettu. Vaikka korjausta
    niihin ei vielä ole, kiertävä meaknismi
  • 32:43 - 32:50
    on jo julkaistu näitä haavoittuvuuksia
    vastaan. Muokkaamalla paikallista poli-
  • 32:50 - 32:54
    tiikka-tiedostoa latausvaihe voidaan ohit-
    taa kokonaan. Viimeisimmän päivityksen
  • 32:54 - 33:00
    myötä on myös mahdollista estää lataus- ja
    jakelutoimintoja modulaarisesti.
  • 33:00 - 33:05
    M: Ja entäs sitten mobiilialustat? Vai-
    kuttavatko löytämämme haavoittuvuudet
  • 33:05 - 33:12
    niissä? Pidetään tämä lyhyenä: ei. Mobiili
    -alustoista puuttuu monia ominaisuuksia
  • 33:12 - 33:16
    verrattuna Linux, Windows ja macOS-ver-
    sioihin. On tietenkin mahdollista muodos-
  • 33:16 - 33:21
    taa TLS ja IPsec-yhteyksiä, kuten kaikilla
    muillakin versioilla. Mutta koska ominai-
  • 33:21 - 33:25
    suudet kuten skriptien jakelu tai auto-
    maattinen päivitys puuttuvat, ei ole
  • 33:25 - 33:30
    mitään keinoa käyttää näitä hyväksikäyttö-
    menetelmiä mobiilialustoilla. Meillä on
  • 33:30 - 33:35
    meineillään tarkastelu AnyConnect:n iOS-
    versioon, ja sen vuoksi haluamme antaa
  • 33:35 - 33:41
    teille nopean ja korkean tason yleiskat-
    sauksen arkkitehtuuriin. Koska olemme
  • 33:41 - 33:46
    Applen aknssa tekemisissä tässä, vakavat
    asiat kuten VPN:n implementointi on vähän
  • 33:46 - 33:52
    erilaista verrattuna esimerkiksi Linux-
    versioon. Jos haluaa leikkiä notifikaa-
  • 33:52 - 33:56
    tioilla, lisätä jakamisnappeja tai tehdä
    widgetin aloitusnäytölle, pitää käyttää
  • 33:56 - 34:02
    sovellusekstensiota. Myös VPN-toiminnolli-
    suuksia varten pitää käyttää verkkoeksten-
  • 34:02 - 34:08
    siokehystä. Verkkoekstensiot sisältävät
    providereita ja ominaisuuksia kaikenlai-
  • 34:08 - 34:14
    siin verkkoon liittyviin toimintoihin,
    kuten sisällönsuodatukseen, DNS:ään, Wi-
  • 34:14 - 34:19
    Fiin ja muuhun. Jos haluaa rakentaa oman
    VPN-sovelluksen, pitää valita Personal
  • 34:19 - 34:26
    VPN:n, Packet Tunnel Provider:n ja App
    Proxy Provider:n välillä. Meidän tapauk-
  • 34:26 - 34:30
    sessamme AnyConnect iOS:lle käyttää Packet
    Tunnel Provideria, koska he käyttävät omaa
  • 34:30 - 34:38
    pakettiorientoitunutta protokollaansa.
    Tässä näemme AnyConnect-sovelluspaketin
  • 34:38 - 34:43
    sisällön, mikä on periaatteessa .zip-tie-
    dosto, joka sisältää kaikki suoritettavat
  • 34:43 - 34:50
    tiedostot ja assetit kuten kuvat jne. Pää-
    tiedosto on nimeltään eplkkä AnyConnect.
  • 34:50 - 34:56
    Verkkoekstensio on implementoitu ACExten-
    sion-binäärissä. Näiden lisäksi on monia
  • 34:56 - 35:02
    muita sovellusekstensioita, joilla imp-
    lemenntoidaan iOS:n jakamis- ja Siri-toi-
  • 35:02 - 35:09
    minnollisuuksia. Joten mitä tapahtuu kun
    painetaan connect-slideria? Kun painaa
  • 35:09 - 35:13
    slideriä, network-ekstensio suoritetaan,
    ja VPN-session neuvottelu alkaa. Sen
  • 35:13 - 35:19
    jälkeen kun verkkotietoja kuten IP-osoit-
    tieta, aliverkkomaski, reitit, DNS, MTU ja
  • 35:19 - 35:23
    muuta on saatu, ne annettaan iOS-järjes-
    telmälle, joka suorittaa neuvottelun lop-
  • 35:23 - 35:29
    puun. Lopussa yhteys on muodostunut, ja
    toivottavasti sinulla on toimiva tunneli-
  • 35:29 - 35:37
    interface nimeltä utun. Joten, uusi lii-
    kenne sovelluksilta menee network-pinon
  • 35:37 - 35:42
    läpi kunnes se saapuu tunneli-interfacel-
    le. Sitten network-ekstension Packet
  • 35:42 - 35:48
    Tunnel Provider voi käsitellä sitä. Joka
    kerta kun paketti saapuu tunneli-inter-
  • 35:48 - 35:54
    facelle se luetaan network-ekstension toi-
    mesta ja kapseloidaan tunnelointiproto-
  • 35:54 - 35:59
    kollalla. Joka kerta kun paketti saapuu
    tunneliin, network-ekstensio lukee sen ja
  • 35:59 - 36:05
    kapseloi sen tunnelointiprotokollalla.
    Kun se saapuu VPN-palvelimelle, paketin
  • 36:05 - 36:10
    kapselointi puretaan, ja se lähetetään
    kohdeosoitteseensa. Samalla tavalla client
  • 36:10 - 36:15
    :lle lähetettävät vastaukset kapseloidaan,
    jossa niiden kapselointi vasta poistetaan
  • 36:15 - 36:20
    ja se syötetään takaisin verkkopinoon.
    Tässä iOS-clienteista, ihan vain että
  • 36:20 - 36:24
    annetaan teille nopea yleiskatsaus ja
    korostetaan tiettyjä avaineroja eri
  • 36:24 - 36:31
    arkkitehtuurien välillä. Tutkimme yhä sekä
    Linux- että iOS-alustoja, mutta tähän men-
  • 36:31 - 36:36
    nessä löydöksemme voidaan yhteenvetää
    näin: AnyConnect yleisesti ottaen on laaja
  • 36:36 - 36:43
    sovellus jossa on paljon koodia ja myös
    käyttämätöntä kirjastokoodia. Olemme löy-
  • 36:43 - 36:49
    täneet kolme haavoittuvuutta design-ana-
    lyysillä. Vpnagentd:tä ajetaan root-
  • 36:49 - 36:54
    oikeuksin ja se vastaanottaa komentoja ja
    operaatioita vähempiarvoisilta prosesseil-
  • 36:54 - 37:00
    ta autentikoimattomien ICP-viestien väli-
    tyksellä, mikä on yleensä ottaen aika
  • 37:00 - 37:04
    riskialtista. Kaikkia turvamekanismeja ja
    -korjauksia ei ole kaikilla alustoilla.
  • 37:04 - 37:09
    Esimerkiksi versioalennushyökkäys oli
    mahdollinen vian Linuxilla, ja se oli jo
  • 37:09 - 37:14
    korjattu Windowsilla ja macOS-versioilla
    Ciscon mukaan. Mobiililla se ei ole mah-
  • 37:14 - 37:19
    dollinen johtuen siitä että automaattinen
    päivitystoiminto on rajoitettu Linux:lle,
  • 37:19 - 37:24
    Windows:lle ja macOS:lle. Samalla lailla,
    Bring Your Own Script ei päde mobiiliin,
  • 37:24 - 37:29
    koska OnConnect ja OnDisconnect-skriptien
    jakelu on myös rajoitettu vain ei-mobii-
  • 37:29 - 37:34
    leille alustoille. Liittyen local policy-
    tiedostoon Linuxilla, meidän näkemyksemme
  • 37:34 - 37:39
    on että siitä pitäisi tehdä niin rajoitet-
    tu kuin mahdollista, ehkä vaatia opt-in:iä
  • 37:39 - 37:44
    skriptaus-toiminnollisuudelle. Tämä vä-
    hentäisi monia hyökkäyksiä, mutta tieten-
  • 37:44 - 37:49
    kin vaikuttaisi myös käytettävyyteen.
    Vaikka sovellus on ollut saatavilla monia
  • 37:49 - 37:54
    vuosia, me näytämme että niissä on yhä
    bugeja löydettäväksi. Bug bounty-ohjelmien
  • 37:54 - 38:01
    käyttöönotto olisi mahtava tapa motivoida
    useampaa turvallisuustutkijaa tarkistamaan
  • 38:01 - 38:07
    sovellus haavoittuvuuksien varalta. VPN:n
    käyttö lupaa turvallisuutta ja yksityi-
  • 38:07 - 38:11
    syyttä käyttäjille, kuitenkin tutkimuksem-
    me AnyConnectiin näyttää että suljetun
  • 38:11 - 38:17
    lähdekoodin ohjelmistot mahdollistavat
    uusia hyökkäysvektoreita järjestelmiin.
  • 38:17 - 38:24
    Toivomme että tulevaisuudessa tehtäisiin
    tutkimusta asiakasohjelmistoihin, ja että
  • 38:24 - 38:30
    työmme tasoittaa matkaa sinne. Se oli sii-
    nä. Kiitoksia ja kysykää vain jos niitä on
  • 38:31 - 38:36
    H: No niin, tervetuloa takaisin. Siinä oli
    tallenne tästä supermielenkiintoisesta
  • 38:36 - 38:41
    esityksestä Very Pwnable Netwokrks. Olen
    varma, että olette nähneet kuinka pwnatta-
  • 38:41 - 38:49
    via ne ovatkaan, ja onneksi meillä on
    täällä tänään kanssamme Jiska, Matthias ja
  • 38:49 - 38:56
    Gerbert Internet-taikuuden avustuksella.
    Jos et ole vielä kirjoittanut kysyymystäsi
  • 38:56 - 39:06
    tee se nyt, jotta voimme vielä vastata
    siihen. Joko menemällä IRC-kanavalle rc3-
  • 39:06 - 39:12
    cwtv hackened-verkossa tai postaamalla
    tweetin tai tootin suosikki-SoMellasi,
  • 39:12 - 39:19
    joka sisältää hashtagin #rc3cwtv ilman
    väliviivaa, hyvin tärkeä huomio.
  • 39:19 - 39:28
    Signaalienkelimme on kerännyt joitakin
    kysymyksiä meille, joidenka avulla nyt
  • 39:28 - 39:33
    kidutan näitä kolmea ihmistä. Katsotaan
    mitä sanotte näihin.
  • 39:33 - 39:42
    Mutta aah, nämä ovat aika - aika vaisuja,
    vai? No, eka kysymys on: onko mitään sivua
  • 39:42 - 39:46
    tai wikiä, jossa tämä tieto on saatavilla?
  • 39:46 - 39:53
    G: Tällä hetkellä sitä ei ole vielä jul-
    kaistu. Luulen että julkaisemme sen lähi-
  • 39:53 - 39:59
    tulevaisuudessa GitHubissa tai vastaavalla
    alustalla.
  • 39:59 - 40:03
    H: Onko mitään tapaa, jolla ihmiset voivat
    löytää linkin tuohon kun sitten viimein
  • 40:03 - 40:08
    julkaisette sen?
    G: Luulen että Jiska voi sanoa tähän.
  • 40:08 - 40:11
    J: Joo, eli SEEMOO:lla on Github-sivu ja
  • 40:11 - 40:16
    myös Twitter-tili, joten se tullaan jul-
    kaisemaan. Mutta on vielä pari, pari seik-
  • 40:16 - 40:22
    kaa joista emme pitäneet, jotka eivät ole
    vielä julkisia. Joten kyllä, sitten jul-
  • 40:22 - 40:27
    kaisisimme vain yhden julkaisun sen sijaan
    että yksi CVE täällä, toinen tuolla.
  • 40:27 - 40:32
    H: Aivan, tekee enemmän vaikutusta ker-
    ralla ja myös parempaa julkaisua. Pidän
  • 40:32 - 40:38
    tuosta. Ja seuraava kysymys on: onko tämä
    VPN-tapahtuma vain Ciscosta? Joten joo,
  • 40:38 - 40:46
    olette vain katsoneet Ciscao, eikö vain?
    Tässä tapauksessa ehkä haluatte kertoa
  • 40:46 - 40:51
    meille jos te olette katsoneet muita VPN-
    toimittajia tai jos muilla VPN-toimitta-
  • 40:51 - 40:56
    jilla olisi myös ongelmia? Ehkä.
  • 40:56 - 41:02
    M: Joo, me olemme tehneet tätä tutkimusta
    osana maisterin työtä, ja sen vuoksi se on
  • 41:02 - 41:10
    vain Ciscon AnyConnectista, ja joo meillä
    ei ole ollut aikaa katsoa näitä muita VPN-
  • 41:10 - 41:14
    palveluita. Pelkästään AnyConnectia.
  • 41:14 - 41:20
    H: Aivan, tyypillinen maisterin näkymä -
    kirjoitetaan sitä kahvin voimin pari viik-
  • 41:20 - 41:25
    koa ennen määräaikaa. Joo, voin kuvitella
    että olette keskittyneet Ciscoon silloin.
  • 41:25 - 41:31
    Toinen erittäin hyvä kysymys: onko näitä
    haavoittuvuuksia muissa AnyConnectin kal-
  • 41:31 - 41:35
    taisissa sovelluksissa, kuten niissä jotka
    on integroitu Linuxin NetworkManager:iin?
  • 41:35 - 41:40
    Luulen että hän puhuu nimenomaan Open-
    Connectista. Juu, tuo tuli juuri sisään.
  • 41:40 - 41:46
    Hmm, me puhuimme tästä vähän aiemmin, niin
    ehkä teillä on jotain sanottavaa tästä.
  • 41:46 - 41:50
    G: Meidän tietääksemme siinä -
  • 41:50 - 41:57
    OpenConnectissa ei ole skripitoimintoja
    aktvoituna tai integroituna. Joten
  • 41:57 - 42:04
    sanoisimme että tällaiset hyökkäykset
    eivät ole vielä mahdollisia, mutta - hmm..
  • 42:04 - 42:11
    M: Olisi mahdollista että joku kykenevä
    tarkistaa tämän, ja katsoo siihen myös,
  • 42:11 - 42:16
    OpoenConnectiin myös, joo.
    H: Hmm, aivan, ei vielä tiedossa onko
  • 42:16 - 42:24
    mahdollista. Sanotaan se niin. Ikinä ei
    tiedä. Onko mitään muita kysymyksiä
  • 42:24 - 42:31
    chatista, Twitteristä tai Mastodonista?
    Nyt olisi aika antaa kysymyksenne. Muutoin
  • 42:31 - 42:40
    tämä olisi ollut hyvin lyhyt Q&A. joten
    menkää rc3-cwtv-kanavalla hackened-IRC-
  • 42:40 - 42:49
    verkossa tai postatkaa tweet tai toot
    hashtagilla #rc3cwtv mutta ilman välivii-
  • 42:49 - 42:56
    vaa. Tehkää se nyt ja toivottavasti saamme
    sen vielä Signaalienkelin taikuudella,
  • 42:56 - 43:01
    joka kerää tätä tietoa minulle.
  • 43:01 - 43:06
    Ja joo, ehkä voitte kertoa onko teillä
    vielä jotain lisättävää tai joitain uusia
  • 43:06 - 43:09
    aiheita joiden kanssa työskentelette, jot-
    ka ovat tuloillaan. Ehkä voimme saada
  • 43:09 - 43:14
    ennakkokatselmusta. Olen varma että yhä
    jatkatte tutkimustanne siihen ja -
  • 43:14 - 43:16
    J: Pahoittelut, minun piti ottaa mykistyk-
    seni pois. Ei vielä
  • 43:16 - 43:20
    spoilereita mutta joo, edes yhden suljetun
    koodin VPN-asiakasohjelmiston tutkinta on
  • 43:20 - 43:26
    hyvin, hyvin paljon työtä ja aikaavievää.
  • 43:26 - 43:33
    Voin kertoa teille tarinan kuinka katse-
    limme binäärejä kuukausia ja se ei oikein
  • 43:33 - 43:38
    skaalaudu esim. 10:een eri asiakasohjel-
    mistoon, ainakin jos haluaa saada merki-
  • 43:38 - 43:44
    tyksellisiä löydöksiä.
    H: Joo, mutta eikö teillä ole sellaisia
  • 43:44 - 43:51
    jotain muita suunnitelmia, esimerkiksi
    muiden ohjelmistojen katsomista tai jos
  • 43:51 - 43:57
    olette saaneet pyyntöjä katsella muita
    ohjelmia tai jotain mikä ohjaa teitä
  • 43:57 - 44:02
    jokin omituisen ääreeen? Ei? Okei.
    G: Ei vielä.
  • 44:02 - 44:06
    J: Jep.
    G: Mutta, mutta joo Matthias yhä työsken-
  • 44:06 - 44:11
    telee sen parissa. Luulen että hän löytää
    jotain tulevaisuudessa. M: Toivottavasti.
  • 44:11 - 44:21
    H: Juu, juu. No siiinä on aika pitkälti
    kaikki viimeiset kysymykset, paitsi vii-
  • 44:21 - 44:26
    meinen: Jsika, takanasi on kaksi varjoa,
    onko se varjokabinetti?
  • 44:26 - 44:30
    J: Ei ei ei, minulla on vain useita lamp-
    puja täällä, joten -
  • 44:30 - 44:31
    H: Joo joo, aivan se on aika hauskaa
    kaikki
  • 44:31 - 44:35
    J: Ainakin se näyttää vain varjoni kahtena
    eikä - eikä minua.
  • 44:35 - 44:40
    H: Joo, mutta olemme aika onnekkaita että
    ainakin tässä puhelussa yhteys näyttää
  • 44:40 - 44:46
    toimineen aivan hyvin. Meillä on ollut
    joitakin ongelmia täällä. Mutta joo, tämä
  • 44:46 - 44:51
    on mahtavaa. Jos teillä on muita kysymyk-
    siä niin luulen että lopettelemme tähän,
  • 44:51 - 44:57
    jotta emme pidä teitä kauempaa. Olen varma
    että haluatte hyppiä rc3-maailmassa, ja
  • 44:57 - 45:03
    jos teillä on mitään muuta, ehkä voitte
    liittyä kanssamme IRC:hen myöhemmin. Jos
  • 45:03 - 45:09
    on mitään muita kysymyksiä, ehkä he katso-
    vat tänne vähän ajan kuluttua tai minä vä-
  • 45:09 - 45:12
    litän heille ne kysymykset. Ok sitten.
    J: Kiitoksia.
  • 45:12 - 45:17
    H: Kiitoksia teille oikein paljon tästä
    super-mielenkiintoisesta puheesta. Minäkin
  • 45:17 - 45:21
    opin jotian uutta VPN-ohjelmasta, johon
    olen kans törmännyt työskennellessäni.
  • 45:21 - 45:28
    Joten tämä oli minullekin mielenkiintoista
    Ja lopetellaan tähän.
  • 45:28 - 45:36
    postroll-musiikkia
  • 45:36 - 45:53
    Tekstitykset luotu c3subtitles.de:llä
    vuonna 2022. Liity ja auta meitä!
  • 45:53 - 45:59
    [Translated by {Iikka}{Yli-Kuivila}
    (ITKST56 course assignment at JYU.FI)]
Title:
#rC3 Very Pwnable Network (VPN)
Description:

more » « less
Video Language:
English
Duration:
45:59

Finnish subtitles

Revisions