Return to Video

35C3 - What the flag is CTF?

  • 0:18 - 0:24
    Translated by Matti Lassila (ITKST56 course assignment at JYU.FI) Vuonna 2001 järjestetystä 28C3-tapahtumasta alkaen olemme järjestäneet vähintään yhden CTF-haasteen,
  • 0:24 - 0:32
    ja kolme seuraavaa puhujaa ovat olleet mukana järjestämässä niitä.
  • 0:32 - 0:42
    Toivotamme tervetulleeksi suosionosoituksin Andyn, Zahilun ja Marleaun
  • 0:42 - 0:48
    Tervedys kaikille ja tervetuloa meidän puolestamme
  • 0:48 - 0:58
    Mitä CTF tarkoittaa? Tässä puheessa kerromme perusteista: mitä CTF on, kuinka pelata sitä ja mitä eri pelitapoja on olemassa.
  • 0:58 - 1:02
    Tämä on esityksemme ensimmäinen osa, hieman johdantoa asiaan.
  • 1:02 - 1:08
    Sen jälkeen esittelemme kolme haastetta jotka valmistelimme tämän vuoden CTF-kisaa varten
  • 1:08 - 1:12
    joten jos puheemme myötä herää kiinnostus CTF-kisaamiseen
  • 1:12 - 1:18
    on jokin käsitys mitä odottaa
  • 1:18 - 1:23
    Muutama sana meistä. Joukkueemme nimi on Eat Sleep Pwn Repeat.
  • 1:23 - 1:27
    tai lyhennettynä ESPR. Olemme CTF-joukkue.
  • 1:27 - 1:34
    En oikeastaan tiedä kauon joukkueemme on ollut olemassa, kolmen neljän vuoden luokkaa; mahdollisesti jopa viisi.
  • 1:34 - 1:40
    Olemme joukko henkilöitä jotka ovat vapaa-ajallaan kiinnustuneita tietoturvallisuudesta.
  • 1:40 - 1:48
    Tutustuimme toisiimme hackerspacessa tai yliopistolla ja me vain ryhdyimme pelaamaan CTF-kisoja ja kaikki osallistuivat
  • 1:48 - 1:54
    Näin ryhmämme sai alkunsa.
  • 1:54 - 2:00
    Siinäpä se. Olen nyt puhunut CTF-kisoista
  • 2:00 - 2:07
    mutta on mahdollista että kaikki eivät vielä tiedä mikä CTF on. CTF on lyhenne sanoista Capture the Flag, tämä ei kuitenkaan
  • 2:07 - 2:11
    tarkoita samaa asiaa kuin samanniminen Unreal Touramentin pelimoodi.
  • 2:11 - 2:18
    CTF on joukkuekilpailu
  • 2:18 - 2:25
    jossa joukkueen ratkaisevat tehtäviä jotka jollain tavalla liittyvät tietoturvaan
  • 2:25 - 2:33
    CTF-kisaamiseen on kaksi päätapaa, joista on olemassa variaatioita.
  • 2:33 - 2:40
    Ensimmäinen on hyökkäys ja puolustus -pelitapa ja toinen Jeopardy-pelitapa, josta kerrotaan tarkemmin seuraavilla esityskalvoilla.
  • 2:40 - 2:50
    Vuosien mittaan CTF-pelaajayhteisö on kasvanut valtavasti. Kun me aloitimme, CTF-kisoja oli vuodessa oli vain kourallinen.
  • 2:50 - 2:54
    Nyt jos käy katsomassa kuinka monia CTF-tapahtumia on olemassa
  • 2:54 - 3:01
    niitä on miltei joka viikonloppu, yleensä toisten CTF-joukkueiden järjestämänä
  • 3:01 - 3:05
    joten tarjolla on paljon tehtävää
  • 3:05 - 3:10
    Käytännöllisesti katsoen kaikki CTF-tapahtumat ovat pelaajayhteisön järjestämiä
  • 3:10 - 3:14
    halukkaiden on melko helppo päästä tähän mukaan.
  • 3:14 - 3:22
    Esityksemme tavoite onkin juuri tämän. Aikaisemmin mainitsin Jeopardy-tyylisen CTF-pelitavan.
  • 3:22 - 3:27
    Se on helpoin pelitavoista
  • 3:27 - 3:34
    ja se on myös helpoin järjestää, sillä se muistuttaa Jeopardy TV-ohjelmaa
  • 3:34 - 3:44
    Se on yhdysvaltalainen TV-visailu, jossa on eri kategorioihin ja vaikeusasteisiin kuuluvia tehtäviä.
  • 3:44 - 3:50
    Visailussa myönnetään pisteitä tehtävien vaikeusasteen mukaan
  • 3:50 - 3:56
    Pisteiden määrä voi olla kiinteä
  • 3:56 - 4:05
    Esimerkiksi tehtävästä voi saada 100, 200 300, 400 tai 500 pistettä vaikeusasteen mukaan. Nykyään usein käytetään dynaaminen pisteytystä
  • 4:05 - 4:14
    jolloin mitä useampi henkilö ratkaisee tehtävän, sitä vähemmän pisteitä tehtävästä saa
  • 4:14 - 4:24
    Etukäteen on melko vaikeaa määritellä kuinka paljon pisteitä mistäkin tehtävästä on syytä antaa.
  • 4:24 - 4:29
    CTF-pelaaminen on periaatteessa helppoa. Valitaan tehtävä ja yritetään ratkaista se.
  • 4:29 - 4:39
    Ratkaistu tehtävä ilmoitetaan verkon kautta. Tästä saadaan pisteitä ja tätä toistetaan, kunnes kaikki tehtävät on ratkaistu tai joukkue on ensimmäisellä sijalla
  • 4:39 - 4:43
    Pisteitä eniten kerännyt joukkue voittaa
  • 4:43 - 4:52
    Tasatilanteessa voittaa joukkue joka keräsi ensimmäisenä voittoon vaaditut pisteet
  • 4:52 - 4:57
    Tyypillisimmät tehtäväkategoriat Jeopardy-tyylisessä CTF-kisassa ovat
  • 4:57 - 5:02
    Haltuunotto (ownaaminen) joka on klassinen binääritasolla tehtävä hyökkäys
  • 5:02 - 5:08
    jossa hankitaan oikeus ajaa omaa koodia palvelimella
  • 5:08 - 5:15
    Crypto-haasteessa hyökätään huonosti suunniteltuja salaustoteutuksia
  • 5:15 - 5:22
    tai väärin käytettyjä salausalgoritmeja vastaan
  • 5:22 - 5:29
    tehtävässä voi olla tarkoituksena purkaa salaus tai luoda salausavaimn kopio
  • 5:29 - 5:36
    Web-haasteet ovat tavanomaisia, käytetään erilaisia verkkosovelluksia
  • 5:36 - 5:41
    sovelluksia jotka eroavat toteutustekniikoiltaan palvelin ja selaintoteutuksen osalta.
  • 5:41 - 5:48
    ESPR-joukkueessa meillä on tehtäväkategoria, jossa hyödynnetään selainhaavoittuvuuksia
  • 5:48 - 5:53
    mutta näissä ei oikeastaan ole kyse web-haavoittuvuuksista.
  • 5:53 - 5:58
    Takaisinmallinnushaasteessa tehtävänä voi olla selvittää mitä jokin sovellus tekee
  • 5:58 - 6:07
    esimerkiksi takaisinmallintaa sovelluksen tekemää laskentaa.
  • 6:07 - 6:10
    Seuraava pelimoodi on hyökkäys ja puolustus. Tämä on klassinen pelimoodi.
  • 6:10 - 6:20
    Näitä on vain muutama vuodessa sillä se on erittäin vaativa järjestää, koska toiminta tapahtuu aidossa palvelin- ja verkkoympäristössä.
  • 6:20 - 6:29
    Jokainen joukkue saa virtuaalikoneen joka käytännöllisesti katsoen on palvelin joka sisältää kilpailua varten suunnitellut ja konfiguroidut palvelut
  • 6:29 - 6:38
    Nämä virtuaalikoneet ovat yhteydessä toisiinsa VPN:n kautta eli lipuunryöstöön osallistuvien palvelimet ovat toistensa ulottuvulla.
  • 6:38 - 6:46
    Tavoitteena on hyökätä muiden palvelimille ja ladata dataa näiltä haavoittuvaiseksi konfiguroiduista palvelimilta.
  • 6:46 - 6:52
    Joukkue lähettää lataamansa datan pelipalvelimelle ja tästä myönnetään pisteitä.
  • 6:52 - 6:59
    Ja tietysti, jos käytössä olevaan koneeseen on täydet oikeudet, tehtävänä on hyökkäämisen lisäksi
  • 6:59 - 7:03
    korjata oman palvelimen haavoittuvuuksia ja tehdä muiden hyökkäykset vaikeammiksi
  • 7:03 - 7:11
    ja oman palvelimen palvelut on myös pidettävä ylhäällä sillä mikäli palvelut ovat alhaalla
  • 7:11 - 7:16
    muilta pelaajilta ladatuista tiedoista ei myönnetä pisteitä
  • 7:16 - 7:21
    Joten pelaajilla on kolme päätehtävää hoidettavana. Oman palvelimen tietoturvaa on suojausta on parannettava
  • 7:21 - 7:30
    On löydettävä muiden palvelimen suojauksesta heikkouksia ja osattava hyödyntää niitä ja on pidettävä oman palvelimen palvelut ylhäällä
  • 7:30 - 7:35
    Ja kuten sanoin pisteitä myönnetään pääkategorioissa hyökkäys, puolustus ja palvelun saatavuus.
  • 7:35 - 7:43
    Joko hyökätään toisten palveluita kohtaan tai puolustetaan omia palveluita ja pidetään ne verkossa.
  • 7:43 - 7:50
    Tätä pelataan useimmiten kierroksina. Joka kierros alkaa alkutilasta ja pisteitä myönnetään kierroksittain.
  • 7:50 - 7:58
    Viimeisen kierroksen jälkeen pisteet lasketaan yhteen ja eniten pisteitä kerännyt joukkue on voittaja.
  • 7:58 - 8:03
    Jokaisessa hyökkäys-puolustus -kisassa on eroja säännöissä
  • 8:03 - 8:12
    mutta nämä ovat pääperiaatteet. Tässä on tyypillinen hyökkäys-puolustus CTF-kisan tuloslista
  • 8:12 - 8:18
    Kyseessä ovat RUCTFE-kisan tulokset. Ja kyllä vaan, otin tuloslistan missä meidän joukkueemme on ensimmäisellä sijalla.
  • 8:18 - 8:23
    Eri sarakkeista näkee palvelimilla käynnissä olleet palvelut
  • 8:23 - 8:25
    Kuten esimerkiksi, Crash, Bin
  • 8:25 - 8:35
    Weather, Cartographer ja niin edelleen. Punaiset ja vihreät sarakkeet tarkoittavat että palvelu on alhaalla tai ylhäällä.
  • 8:35 - 8:39
    Taulukosta näkee keräämämme pisteet, palvelun ylhäälläoloprosentti.
  • 8:39 - 8:43
    Eli nähdään että palvelumme olivat jonkin aikaa alhaalla. Ja tästä näkee kuinka monta lippua hävisimme
  • 8:43 - 8:49
    Tämä on luku jokaisen sarakkeen oikeassa alareunassa, eli Crash-palvelulle -32.
  • 8:49 - 8:54
    Eli hävisimme 32 lippua ja keräsimme 15000 lippua-
  • 8:54 - 9:05
    FP muodostuu näistä kolmesta osa-alueesta ja tämän luvun perusteella joukkueet asetetaan järjestykseen.
  • 9:05 - 9:11
    Nyt teillä on käsitys kuinka pelata CTF:ää. Mutta miksi sitä kannattaa pelata, no se on miltei itsestäänselvää.
  • 9:11 - 9:19
    Pelaaminen on hienoa, koska silloin on tilaisuus hakkeroida eri asioita täysin laillisesti koska se kuuluu asiaan
  • 9:19 - 9:24
    CTF-pelaaminen on hauskaa ja on hauskaa oppia uusia asioita.
  • 9:24 - 9:32
    CTF-pelatessa oppii paljon uusia asioita, kuten myöskin pelin jälkeen
  • 9:32 - 9:38
    keskustellessa muiden joukkueiden kanssa ratkaisuista
  • 9:38 - 9:49
    Pelaamisen kautta syntyy myös uusia kaverisuhteita. Esimerkiksi, joukkueemme on kavereita puolalaisen Dracon Sector -joukkueen kanssa.
  • 9:49 - 9:53
    Aina kun tapaamme, otamme muutaman oluen ja juttelemme CTF-pelaamisesta ja kaikenlaisesta muusta.
  • 9:53 - 9:59
    Olemme tosiaan saaneet monia hyviä ystäviä peleistä. Ja saattaa olla että pelaamisen myötä pääsee myös matkustamaan eri puolilla maailmaa.
  • 9:59 - 10:01
    pelaamaan paikan päälle
  • 10:01 - 10:12
    Joissain tapauksissa on joitain ennakkokarsintoja jonka jälkeen voidaan osallistua kansainvälisiin kisoihin ja matkustaa paikan päälle pelaamaan ja mahdollisesti jopa voittamaan.
  • 10:12 - 10:21
    Nyt järjestämämme C3CTF on järjestetty joka vuosi 28C3-konferenssista (vuodesta 2011) alkaen.
  • 10:21 - 10:28
    Pyrkimyksemme on noudattaa tehtävissä kongressin teemaa.
  • 10:28 - 10:36
    Tämän vuoden CTF-kisassa meillä oli 636 joukkuetta jotka palauttivat vähintään yhden lipun.
  • 10:36 - 10:40
    Kyseessä oli pieni lippu, pienen pieni tehtävä, eräänlainen järkevyystesti.
  • 10:40 - 10:48
    Tarvitsi vain leikata ja liimata merkkijono tekstikenttään jotta näemme kuinka monta joukkuetta on mukana.
  • 10:48 - 10:56
    Joukkueita oli 636. Kisassa oli 30 tehtävää
  • 10:56 - 11:02
    ja joukkueet ratkaisivat tehtäviä yhteensä 1457 kertaa.
  • 11:02 - 11:06
    Tänä vuonna oli lisäksi muutamia vierailijoiden suunnittelemia tehtäviä
  • 11:06 - 11:10
    joten paljon kiitoksia Kokjo, Tethys, jvoisin, Qubasa ja joernchen
  • 11:10 - 11:18
    ideoista ja kokonaisista tehtävistä joita saatoimme käyttää
  • 11:18 - 11:26
    Kolme voittajaa ovat KJC+MHackeroni ensimmäisellä sijalla, toisena pasten ja kolmantena Dragon Sector.
  • 11:26 - 11:44
    Vielä kerran onnittelut heille. Koska vuosi vuodelta C3CTF on tullut aloittelijoiden kannalta vaikeammaksi
  • 11:44 - 11:52
    viime vuonna järjestimme ensimmäisen kerran Junior CTF -pelin jossa on helpompia tehtäviä jotka ovat lähempänä
  • 11:52 - 11:59
    sitä tehtävien vaikeustasoa kun me aloitimme.
  • 11:59 - 12:09
    Kisaan osallistui 520 joukkuetta, joten ei kovin montaa mutta he ratkaisivat pelin 33 haastetta kaikkiaan 2761 kertaa
  • 12:09 - 12:15
    eli pelissä ratkaistiin enemmän tehtäviä kuin C3CTF:ssä.
  • 12:15 - 12:20
    myös tässä CTF:ssä oli hienoja vierailijoiden suunnittelemia haasteita, joten kiitokset gehaxelt, domenukk, pr0me ja Trolldemorted
  • 12:20 - 12:24
    ja voittajat ovat mahtavia!
  • 12:24 - 12:34
    Voittajia ovat Made in MIM, toisella sijalla sno ja kolmantena ZenHack
  • 12:34 - 12:42
    Ja nyt kun tiedossa on mitä CTF-kisassa tapahtuu niin mitä tarvitse tehdä että pääsee pelaamaan?
  • 12:42 - 12:48
    Ensimmäinen asia jota tarvitaan on CTF-tapahtuma. On olemassa hieno verkkosivusto ctftime.org
  • 12:48 - 12:52
    sieltä näkee kaikki tulossa olevat CTF-tapahtumat
  • 12:52 - 12:58
    ja sivustolla voi rekisteröityä tulossa oleviin peliin. Kun peli käynnistyy, pääsee mukaan. Mitä taitoihin tulee
  • 12:58 - 13:03
    niitä ei tarvitse kovin paljon. Tarvitsee kuitenkin osata ohjelmoida
  • 13:03 - 13:06
    Jonkin skriptauskielen osaaminen on tarpeen, sitä tarvitaan työkaluksi
  • 13:06 - 13:15
    esimerkiksi jonkin tiedoston parserointia varten tai verkkoliikenteen käsittelyyn ja niin edelleen. Takaisinmallinnusta ja binäärihaavoittuvuuksien hyväksikäyttöä varten
  • 13:15 - 13:22
    on ehdottomasti - valitettavasti - tunnettava assembly-kieltä ja takaisinmallinnustaitoja. Kaiken tämän yhdistämistä varten
  • 13:22 - 13:28
    tarvitaan perustason Linux-taitoja, koska tarvittavat työkalut ovat parempia Linuxissa kuin Windowsissa
  • 13:28 - 13:33
    mutta toki tarvittaessa voidaan käyttää Windowsin Linux-alijärjestelmää
  • 13:33 - 13:38
    joka nykyään toimii samoin. Haltuunoton ja binäärihaavoittuvuuksien hyväksikäyttöä
  • 13:38 - 13:41
    oppii niin sanotuista sotapeleistä. Viimeisessä esityskalvossa on joitain linkkejä
  • 13:41 - 13:46
    Niistä kannattaa aloittaa. Sotapeli on CTF joka on jatkuvasti saatavilla verkossa.
  • 13:46 - 13:51
    Sotapelejä voi pelata läpi omaan tahtiin ilman aikarajoitusta.
  • 13:51 - 13:59
    Myös vanhoja CTF-haasteita voi tutkia. Näiden arkistoja löytyy verkosta. Arkistoidun CTF:n voi ladata, ajaa paikallisesti ja koittaa hyväksikäyttää niistä löytyviä haavoittuvuuksia.
  • 13:59 - 14:04
    Ja on ollut
  • 14:04 - 14:12
    muiden joukkueiden laatimia yhteenvetoja CTF-haasteista
  • 14:12 - 14:17
    eli joku saattaa kirjoittaa ratkaistusta haasteista esimerkiksi blogikirjoituksen, kuinka haasteet ratkaistiin
  • 14:17 - 14:22
    Nämä yhteenvedot auttavat oppimaan. Mikäli oppiminen videon kautta tuntuu sopivan paremmin
  • 14:22 - 14:29
    Youtubessa on tili nimeltä Life Overflow jolla julkaistaan todella hienoja videoita erilaisista CTF-haasteista
  • 14:29 - 14:35
    videoijen julkaisija käy haasteita läpi, kertoo kuinka hän ratkaisi haasteen ja mikä idea haasteeen takana on ollut.
  • 14:35 - 14:42
    Toki, tätä ei ole syytä tehdä yksin sillä CTF-haasteita on hauskempi ratkaista yhdessä
  • 14:42 - 14:47
    Verkosta voi löytää ryhmiä, samanhenkisiä ihmisiä ja mene käymään hackespacessa ja kysele
  • 14:47 - 14:54
    olisiko joku kiinnostunut osallistumaan porukalla CTF-tapahtumaan tai pelaamaan sotapeliä, juuri niin kuin me teimme.
  • 14:54 - 15:02
    Nyt kerromme mitä äskeinen CTF piti sisällään. Annan vuoron Martinille joka käy läpi pelin haasteita
  • 15:02 - 15:09
    [ohjaajan kommentti]
  • 15:09 - 15:17
    Aion kertoa kuinka lähestyä CTF-haasteita
  • 15:17 - 15:23
    Voin lämpimästi suositella Polyan kirjaa (How to solve it), joka kertoo ongelmanratkaisusta
  • 15:23 - 15:30
    Käytän esimerkkinä Junior CTF -pelin tehtävää nimeltään Blind.
  • 15:30 - 15:34
    Tämä on tehtäväkuvaus, hakkerointia sokeana
  • 15:34 - 15:37
    ja tässä on polku tehtävään, eli ryöstettävään lippuun
  • 15:37 - 15:44
    vaikeustasteeltaan tehtävä on keskitasoa, suhteessa Junior CTF -pelin yleiseen vaikeustasoon
  • 15:44 - 15:59
    Haaste perustuu bugiin joka löytyi 2017 ja nyt kerron, kuinka haastetta voi lähestyä. Ongelman ratkaiseminen vaatii
  • 15:59 - 16:10
    että ongelma täytyy ymmärtää aluksi. Jep, eli kun menee tuohon osoitteeseen näytetään tämä lähdekoodi.
  • 16:10 - 16:15
    Tämä on PHP-koodia. Nyt käymme sen läpi.
  • 16:15 - 16:18
    Ensimmäinen osa lähdekoodia on itse asiassa vihje.
  • 16:18 - 16:26
    Sitä ei tarvitse haasteen ratkaisuun, mutta se vihjaa PHP Object Injection haavoittuvuuteen
  • 16:26 - 16:30
    joka oli bugi
  • 16:30 - 16:36
    jonka avulla saattoi sisällyttää paikallisia tiedostoja käytettäessä PHP 5.3 -versiota tai vanhempaa
  • 16:36 - 16:45
    Haasteessa kuitenkin käytetään PHP 7-versiota. Seuraava koodilohko on täytettä.
  • 16:45 - 16:56
    Käytössä on kaksi luokkaa, luokat Black ja Green. Ne asettavat syntaksikorostuksen väriasetuksia
  • 16:56 - 17:06
    ja jos funktiolle tarjoaa store-parametrin, voidaan teema-asetukset tallentaa evästeeseen, tämä on tärkeää myöhempää ajatellen.
  • 17:06 - 17:15
    Seuraava osio on kiinnostava sillä se vihjaa polusta joka johtaa haavoittuvuuden hyväksikäyttöön
  • 17:15 - 17:20
    Ensimmäinen askel on URL-osoite teemaan
  • 17:20 - 17:27
    Otetaan GET-parametri ja tallennetaan se $_ -muuttujaan
  • 17:27 - 17:37
    Seuraavalla rivillä tarkistetaan onko muuttuja joko merkkijono "Black" tai "Green".
  • 17:37 - 17:48
    Sitten tarkistetaan onko tällainen luokka olemassa. Seuraavaksi asetetaan muuttuja arvoon joka riippuu URL-parametrista.
  • 17:48 - 17:59
    Tämä on kiinnostava osa, nyt luodaan objekti joka edustaa jompaa kumpaa luokkaa, Black tai Green.
  • 17:59 - 18:08
    tässä on täysi kontrolli parametreista joita annetaan luokan alustajalle
  • 18:08 - 18:17
    Seuraava osa koodia käsittelee myös teemaa mutta tällä kertaa evästeen kautta
  • 18:17 - 18:27
    tässä tarkastetaan onko evästeen ensimmäinen osa olemassaoleva luokka.
  • 18:27 - 18:36
    ja sen jälkeen välitetään evästeeseen tallennetut parametrit luokan alustajalle.
  • 18:36 - 18:43
    Näin luodaan olio tästä luokasta. Viimeinne osa koodia tulostaa tietoa ladatuista moduuleista
  • 18:43 - 18:59
    Bugissa on kyse siitä että on mahdollisuus luoda mielivaltainen objekti siten että on täysi kontrolli luokan alustajan parametreista.
  • 18:59 - 19:13
    Joten seuraava askel on suunnitelman laatiminen. Kerätään yhteen kaikki mitä tehtävässä on annettuna ja mitä pitää saavuttaa.
  • 19:13 - 19:22
    Eli nyt meillä on täysi kontrolli evästeeseen tallennettavasta datasta ja voimme luoda olemassaolevasta PHP-luokasta olion
  • 19:22 - 19:23
    ja luokan rakentajalle annettaviin argumentteihin on täysi kontrolli
  • 19:23 - 19:37
    Seuraavaksi täytyy löytää luokka joka tekee haluttuja asioita, kuten lukee tiedoston kun luokalle annetaan tietyt argumentit.
  • 19:37 - 19:50
    Ja tässä meillä on kätevä luokka, SimpleXML, jolla on mahdollista lukea tiedostoja verkon yli.
  • 19:50 - 19:57
    Jos option-muuttujan asettaa arvoon kaksi, sitä voi käyttää XML-elementtien korvaamiseen toisella
  • 19:57 - 20:02
    Tämä on tärkeää myöhemmin.
  • 20:02 - 20:08
    Nyt meidän täytyy vain toteuttaa suunnitelma
  • 20:08 - 20:16
    Tämä on helppo eksploitaatio. Luodaan theme-eväste
  • 20:16 - 20:21
    siten että ensimmäinnen osa evästettä on luokan nimi, SimpleXMLElement
  • 20:21 - 20:32
    ja toinen osa evästettä on lipun polku. Ja kuten näkyy, lippu tulostuu PHP-varoitusviesteihin
  • 20:32 - 20:41
    joten tämä toimii koska varoitukset olivat päällä. Seuraava askel ongelman ratkaisussa on katsominen taaksepäin
  • 20:41 - 20:48
    ja miettiä kuinka haastetta voisi lähestyä toisella tavalla tai toisenlaisten rajoitteiden ollessa voimassa.
  • 20:48 - 20:54
    Eli jos varoitukset eivät olisi päällä
  • 20:54 - 20:58
    olisimme melko sokeita. Haasteen nimi tulee tästä.
  • 20:58 - 21:11
    Emme saa tulostetta. XML:ään voi sisällyttää ulkoisia entiteettejä, jotka toimivat näin. Määritellään elementti
  • 21:11 - 21:17
    ja polku johon elementti viittaa.
  • 21:17 - 21:25
    eli sisällytetään polku XML.ään. Haavoittuvuuden hyväksikäyttö tapahtuu näin.
  • 21:25 - 21:36
    Omassa hallussa olevalta palvelimelta sisällytetään XML-tiedosto joka näkyy esityskalvon alareunassa
  • 21:36 - 21:43
    joka ottaa lipun ja lähettää sen sisällön omalle palvelimelle.
  • 21:43 - 21:52
    Tämänkaltainen yksinkertainen exploit-koodi ajetaan käynnistämällä PHP-palvelinprosessi ja tekemällä
  • 21:52 - 21:59
    pyyntö tähän osoitteeseen, palvelin antaa tälläisen vastauksen
  • 21:59 - 22:07
    Näyttää tältä. Ja koska lippu on Base64-enkoodattu, se täytyy dekoodata.
  • 22:07 - 22:15
    Ja näin saamme lipun. Seuraava osa kertoo
  • 22:15 - 22:24
    CTF-pääkisasta. Kiitokset!
  • 22:24 - 22:33
    Näitte juuri esimerkin melko tyypillisesti verkossa tapahtuvasta CTF-haasteesta
  • 22:33 - 22:37
    mutta tiedämme että on olemassa paljon joukkueita jotka ovat todella, todella taitavia
  • 22:37 - 22:44
    jotka ovat harrastaneet CTF-tapahtumia useita vuosia. Jotkut työskentelevät tietoturvan parissa päivätyönään
  • 22:44 - 22:50
    joten, tottakai, halusimme luoda erittäin haastavan CTF-kisan myös näille joukkueille
  • 22:50 - 23:02
    Yksi tavoitteemme oli luoda suhteellisen realistisia haasteita jotka perustuvat todellisessa maailmassa käytössä oleviin ohjelmistoihin ja haavoittuvuuksiin
  • 23:02 - 23:10
    Joten tässä kalvossa näkyy joidenkin niiden ohjelmistojen logoja joihin nyt järjestämämme CTF:n haasteet perustuivat.
  • 23:10 - 23:18
    Hauskana yksityiskohtana tällä kertaa kolme joukkuetta käytti kukin eriä nollapäivähaavoittuvuutta
  • 23:18 - 23:22
    ja ratkaisivat tehtävän käyttäen näitä haavoittuvuuksia sen sijaan että olisivat ratkaisseet tehtävän kuten oli aiottu
  • 23:22 - 23:30
    mutta tämä kuuluu pelin henkeen. En tiedä mitä tämä kertoo meidän CTF:stä mutta tämä oli mielenkiintoista.
  • 23:30 - 23:34
    Aion nyt esitellä kaksi pelissä olutta haastetta
  • 23:34 - 23:45
    Esittelen selainhaavoittuvuudmen hyväksikäytön, peliympäristön pystytyksen ja kuinka järjestää tämänkaltainen haaste ja niin edelleen.st such a challenge, cetera.
  • 23:45 - 23:51
    Jo kahtena viime vuonna meillä oli selainhaavoittuvuden hyväksikäyttöön liittyvä haaste
  • 23:51 - 23:56
    Selaimissa on jo useita vuosia ollut oletuksena käytössä sandbox-ominaisuus
  • 23:56 - 24:03
    Joka tarkoittaa sitä, että jos haavoittuvuus on selaimen sisältörenderoinnissä
  • 24:03 - 24:12
    se ei yksin riitä selaimen haltuunottoon. Viime vuonna haasteessa oli vain selaimen renderöinnissä olevan haavoittuvuuden hyväksikäyttö
  • 24:12 - 24:20
    ilman sandboxia. Tänä vuonna päätimme ottaa haasteeseen koko selaimen sandboxin kanssa haasteeseen jossa on kaksi osaa
  • 24:20 - 24:24
    Yksi osa on sisältörenderöinti, WebKit-komponentin hyväksikäyttö.
  • 24:24 - 24:27
    ja toinen osa on
  • 24:27 - 24:37
    sandboxista ulos murtautuminen. Perustimme haasteen todelliseen haavoittuvuuksien hyväksikäyttöketjuun joka esiteltiin tänä vuonna tai viime vuonna
  • 24:37 - 24:45
    Kuinka tällainen haaste järjestestetään? Mitä me teimme, liittyi Webkitiin tällä kertaa.
  • 24:45 - 24:54
    Viime vuonna oli Chrome ja sitä aikaisemmin Firefox, joten tänä vuonna käytimme WebKitiä joka on muun muassa Safarissa käytetty selainmoottori.
  • 24:54 - 25:01
    ja me muutimme sitä niin että muutimme selaimen implementaatiota Javascript-toteutuksen osalta lisäämällä huonosti toteutettua optimointikoodia
  • 25:01 - 25:05
    Tämä oli ensimmäinen osa, eli nyt Webkitissä on haavoittuvuus.
  • 25:05 - 25:12
    Seuraavaksi ohjelmoimme MacOS-järjestelmäpalvelun joissa on haavoittuvuuksia
  • 25:12 - 25:17
    perustuen haavoittuvuuksiin joita on esitelty tänä vuonna
  • 25:17 - 25:21
    joten järjestelmäpalvelut sisältävät bugeja
  • 25:21 - 25:31
    Niissä oli haavoittuvuuksia. Ja sen jälkeen otimme käyttöön muokatun Safarin ja haavoittuvat järjestelmäpalvelut käyttöön MacOSX-virtuaalikoneessa.
  • 25:31 - 25:35
    Oikealla ylhäällä näkyy miten CTF-kilpailijat näkevät tämän
  • 25:35 - 25:39
    Kilpailijoita varten on verkkosivu jota kautta he voivat lähettää osoitteen eksploitaatiomenetelmäänsä.
  • 25:39 - 25:43
    Kyseessä on selainhaavoittuvuus eli eksploitaatiomenetelmä on jokin verkkosivu.
  • 25:43 - 25:47
    Kilpailijat voivat kirjoittaa
  • 25:47 - 25:56
    ja lähettää URL-osoitteen eksploitaatiokoodiin. Tällöin meidän palvelimella käynnistyy virtuaalikone.
  • 25:56 - 26:04
    jossa avautuu käyttäjän antama URL-osoite Safari-selaimessa. Käyttäjät saavat palautteena videon selaimen käynnistymisestä.
  • 26:04 - 26:09
    Haasteen tavoite on lukea palvelimelta tiedosto ./flag.txt
  • 26:09 - 26:18
    Kilpailijat tekevät minkä pystyvät saadakseen tiedoston näkymään palvelimen näytöllä ja siten päätymään videolle.
  • 26:18 - 26:23
    Eli tältä haaste näytti pelaajan näkökulmasta.
  • 26:23 - 26:29
    Ratkaisua varten pelaajat saivat tässä haasteessa meiltä WebKit-patchin
  • 26:29 - 26:34
    ja haavoittuvaisten systeemipalvelut binääreinä, joten pelaajien täytyi käyttää takaisinmallinnusta
  • 26:34 - 26:39
    jonka jälkeen he voivat etsi koodista haavoittuvuuksia, toivottavasti löytäen joitain.
  • 26:39 - 26:44
    Sen jälkeen on mahdollista kirjoittaa haavoittuvuuksia varten eksploit, tässä tapauksessa haittakoodia sisältävän verkkosivun.
  • 26:44 - 26:56
    Joukkue laittaa haittakoodia sisältävän verkkosivun jollekin julkisen verkon palvelimelle jolle heillä on pääsy ja sen jälkeen lähettävät osoitteen haittakoodiin CTF-tulospalveluun.
  • 26:56 - 27:03
    Ja kuten totesin, tämän jälkeen virtuaalikone käynnistyy, tallentaa videon ja näyttää sen pelaajille
  • 27:03 - 27:14
    Video näyttää tältä, toivottavasti se toimii. Hyvä. Pelaajat näkevät juuri tämänkaltaisen videon kun he ovat lähettäneet haittakoodiosoitteen tulospalveluun.
  • 27:14 - 27:18
    Pelaajat näkevät tämän videon. Tutkitaan seuraavaksi mitä tässä tapahtui.
  • 27:18 - 27:24
    Taustalla näkyy modifioitu Safari, johon on avautunut pelaajien lähettämä verkko-osoite
  • 27:24 - 27:29
    ja se on tulostanut joitain asioita eksploitista
  • 27:29 - 27:37
    eli se ajaa WebKit-eksploitin. Joten nyt hyökkääjät voivat ajaa koodia Webkit-prosessissa
  • 27:37 - 27:43
    ja käyttää sandboxin ulkopuolella olevia haavoittuvaksi ohjelmoituja järjestelmäpalveluita
  • 27:43 - 27:48
    eli se voi ajaa mitä tahansa komentoja sandboxin ulkopuolella
  • 27:48 - 27:55
    Eli tässä tapauksessa, eksploit avaa ./flag.txt -tiedoston tekstieditorissa
  • 27:55 - 27:56
    tiedosto on todennäköisesti melko pieni
  • 27:56 - 28:06
    Vasemmalla yläkulmassa näkyy tekstieditorissa avattu lippu jonka sisältö täytyy kirjoittaa tulospalveluun jonka jälkeen järjestelmä antaa haasteeseen kuuluvat pisteet.
  • 28:06 - 28:12
    Eli näin se toimii. Miksi meidän mielestämme tämä on hieno haaste
  • 28:12 - 28:17
    ja miksi kilpailijoiden kannattaa ratkaista tämä. Tietty, tästä saa paljon pisteitä.
  • 28:17 - 28:20
    Kyseessä ei ole yksi, vaan kolme haastetta.
  • 28:20 - 28:29
    Suunnittelimme haasteen niin että sandbox-ulosmurtautumisen voi ratkaista, riippumatta siitä onnistuiko WebKit-hyväksikäytön toteutus.
  • 28:29 - 28:34
    Eli tarjolla oli yksi lippu jos ainoastaan WebKit-osio onnistui
  • 28:34 - 28:41
    Eli pelkästään Safari-osuus. Toinen lippu oli mahdollista saada jos andbox-ulosmurtautuminen onnistui
  • 28:41 - 28:47
    ja kolmas lippu, jos onnistui yhdistämään nämä kaksi.
  • 28:47 - 28:56
    Lisäksi tavoitteemme oli suunnitella haasteet siten, että ne tarjoavat mahdollisuuden oppia jotain uutta.
  • 28:56 - 29:04
    WebKit-osuus mahdollisesti opetti jotain lisää Javascriptistä
  • 29:04 - 29:13
    tai JIT-kääntäjien haavoittuvaisuuksista ratkaistaessa haastettau tai MacOSX-järjestelmäpalveluista.
  • 29:13 - 29:18
    Eli tämän kautta pääsee alkuun MacOSX-tietoturva-asioissa
  • 29:18 - 29:23
    Eli oppimisnäkökulma on myös hyvä muistaa. Olemme julkaisemassa lähdekoodit.
  • 29:23 - 29:33
    Tämän haasteen siis. Koodit tulevavat olemaan muutaman tunnin päästä Github-tililläni
  • 29:33 - 29:42
    tämänkaltaiset haasteet kenties helpottavat siirtymää CTF-kisaamisesta tietoturva-alan töihin.
  • 29:42 - 29:46
    Lähdekoodi antaa toivottavasti mukavan johdannon, jep.
  • 29:46 - 29:51
    Ja tässä oli osuuteni. Seuraavaksi Andy jatkaa.
  • 29:51 - 29:57
    Kiitokset. Minäkin suunnittelin pari haastetta.
  • 29:57 - 30:03
    Te jotka olette riittävän vanhoja, muistanevat tämän puhelimen
  • 30:03 - 30:12
    Tarina minun haasteeni takana on että aikaisemmin olin kiinnostunut GSM-asioista, halusin tietää miten se toimii
  • 30:12 - 30:19
    Joten pystytin kotiin oman ohjelmistoradioon perustuvan GSM-verkon ja käytin vanhoja Nokia-puhelimia
  • 30:19 - 30:25
    Sain sitten idean rakentaa oman puhelimen.
  • 30:25 - 30:32
    Tässä näkyy toteuttamani Nokia-puhelimen käyttöliittymä
  • 30:32 - 30:38
    joka ottaa yhteyttä GSM-verkkoon joka ei kuitenkaan käytä radioaaltoja
  • 30:38 - 30:48
    vaan GSM-liikennöinti tapahtuu UDP-paketteina, multicast-liikenteenä
  • 30:48 - 30:53
    ja lisäksi käytössä on ohjelmistoradio, joten itse toteuttamani puhelin voi kommunikoida aidon puhelimen kanssa
  • 30:53 - 31:01
    Näitte juuri sen. Tämä ominaisuus, jolloin radioaaltoja ei käytetä
  • 31:01 - 31:06
    GSM-verkossa on yleensä käytetty sovelluskehitystyössä yksikkötestatessa
  • 31:06 - 31:15
    GSM-verkon palveluita omassa verkossa koska silloin ei ole järkevää sotkea tähän mukaan radioaaltoja ja kaikkea muuta vain sovellustestausta varten
  • 31:15 - 31:21
    Joten he toteuttivat GSM-verkon Ethernetissä
  • 31:21 - 31:29
    Tämä on täydellistä CTF-haastett ajatellen koska pelaajat eivät ole pelkästään paikallisia
  • 31:29 - 31:38
    Joten teoriassa, voisin pystyttää ohjelmistoradion ja lähettää omaan GSM-verkkoni kautta jos käytössä on oikeanlaiset lisenssit
  • 31:38 - 31:44
    jolloin tämän voisi tehdä radioaalloilla.
  • 31:44 - 31:50
    Mutta teoriassa tämän voisi tehdä. Mutta tällöin joku USA:ssa tai muualla ei voisi osallistua haasteeseen
  • 31:50 - 31:56
    ja olemme aina halunneet että kisaan voi osallistua myös muuten kuin paikan päällä
  • 31:56 - 32:01
    Joten pystytin OpenVPN-tunnelin jossa hyökkäyksen kohteena oleva puhelin on
  • 32:01 - 32:10
    jolloin puhelimeen pääsee UDP monilähetyksen kautta
  • 32:10 - 32:19
    Eli tämä soveltuu tarkoitukseen täydellisesti. Haastetta varten toteutin puhelintoteutukseen bugin yhteenliitettävien SMS-viestien käsittelyyn.
  • 32:19 - 32:25
    Puhelintoteutuksessa on vain kaksi toimintoa. Se voi lähettää viestejä ja voi vastaanottaa viestejäThe phone only has two features.
  • 32:25 - 32:34
    Haasteessa puhelin oli verkossa ja sitä saattoi käyttää vain verkon yli
  • 32:34 - 32:38
    Puhelimella pystyi vain lähettämään viestejä mutta käytännöllisesti katsoen
  • 32:38 - 32:40
    minkälaisia viestejä vain
  • 32:40 - 32:47
    Viesteissä voi pitäytyä standardeissa, mutta voi myös lähettää viestejä jotka eivät ole standardin mukaisia ja tehdä kaikenlaisia erikoisia asioita.
  • 32:47 - 32:55
    SMS viesteihin on käytössä vain 160 merkkiä ja vanhoissa Nokia-puhelimissa oli ominaisuus
  • 32:55 - 33:01
    laskuri oikealla jossa näkyi kuinka monta merkkiä viestiin voi vielä käyttää
  • 33:01 - 33:05
    ja kauttaviiva, jonka jälkeen kuinka moneen viestiin pitkän tekstin sisältävä viesti jakaantui
  • 33:05 - 33:10
    koska puhelin jakaa viestin osiin
  • 33:10 - 33:15
    muutaman sadan merkin mittaisiin osiin ja sisällyttää otsaketiedot viestin alkuun.
  • 33:15 - 33:19
    Yksi, kaksi tai kolme tekstiviestiä lähetetään toiseen puhelimeen.
  • 33:19 - 33:26
    ja vastaanottajapuhelin ryhtyy yhdistämään viestejä
  • 33:26 - 33:31
    SMS-viesti jaetaan maksimissaan kolmeen osaan
  • 33:31 - 33:34
    mutta standardin mukaan osia voi olla jopa 250
  • 33:34 - 33:41
    Kaikki nämä viestit sisältävät header-tietoja
  • 33:41 - 33:45
    ja indeksinumeron, kuinka monennesta viestistä on kyse
  • 33:45 - 33:51
    indeksi alkaa ykkösestä ja jatkuu 225:een. Tässä tapauksessa voi käyttää numeroita yksi, kaksi ja kolme
  • 33:51 - 33:58
    Nyt koostettava SMS on jossain päin paikallista pinopuskuria
  • 33:58 - 34:03
    Sijainti jossa purettu teksti ensimäisestä viestistä on
  • 34:03 - 34:10
    ja viesti rakennetaan uudelleen järjestysnumeroiden pohjalta
  • 34:10 - 34:16
    Haasteessa ei tarkasteta viestin järjestysnumeroa, onko numero yksi, kaksi tai kolme
  • 34:16 - 34:22
    joten numeroksi voi asettaa minkä vain, jolloin kirjoittaminen menee pinopuskurin ulkopuolelle
  • 34:22 - 34:33
    prosessit pitävät kirjaa tilastaan pinossa
  • 34:33 - 34:39
    esim tietoa siitä missä kohtaa prosessi oli menossa ennen funktiokutsua jotta kohtaan voidaan palata tehtävän suorittamisen jälkeen
  • 34:39 - 34:46
    Tämän arvo ylikirjoittamalla kontrollivuo voidaan kaapata ja tämän jälkeen voidaan käyttää ROB-nimellä tunnettua tekniikkaa
  • 34:46 - 34:52
    ohjelmakoodin ajo-oikeuden saamiseksi ja ajaa koodia puhelimessa
  • 34:52 - 34:57
    Samaan tapaan kun Zeiler äskettäin havainnollisti kuinka selainta käyttäen avattiin tekstieditori
  • 34:57 - 35:06
    voidaan ottaa yhteys toiseen laitteeseen, saada auki Linux-shell puhelimeen jonka kautta haasteen lippu voidaan ottaa haltuun
  • 35:06 - 35:12
    Siinäpä se, puheeni oli tässä. Haluan kiittää koko CTF-yhteisöä
  • 35:12 - 35:18
    CTF-kisaamme osallistuneita pelaajia ja muita joukkueita jotka järjestävät pelejä
  • 35:18 - 35:23
    CTF-yhteisölle panostaen paljon ei ainoastaan
  • 35:23 - 35:30
    pelaamiseen vaan myöskin järjestelyihin jotka antavat muille mahdollisuuden pelata
  • 35:30 - 35:35
    Haluan myös kiittää 3C-konferenssin järjestäjiä
  • 35:35 - 35:42
    koska saimme tänä vuonna oman alueen käyttöömme jossa paikan päällä pelanneet joukkueet saattoivat kokoontua yhteen
  • 35:42 - 35:52
    Se oli todella hienoa. Oli mahtavaa nähdä 200 hakkeria istumassa yhdessä pöytien ääressä ja ratkaisemassa suunnittelemiamme haasteita
  • 35:52 - 35:57
    Se oli aivan mahtavaa. Haluan vielä uudelleen kiittää vierailijahaasteiden suunnittelijoita.
  • 35:57 - 36:07
    Nyt voisi olla kysymys-vastausosion aika.
  • 36:07 - 36:15
    Yksi asia vielä. Jos CTF-kisaaminen kiinnostaa tässä on linkkejä resursseihin jotka mainitsin aikaisemmin.
  • 36:20 - 36:26
    Vilkaiskaa niitä jos olette kiinnostuneita. Tokitoivon että tulette mukaan CTF-yhteisöön
  • 36:26 - 36:34
    Näen että yleisössä on jo joitain kysymyksiä.
  • 36:34 - 36:41
    Aloitetaan mikrofonista numero kaksi.
  • 36:41 - 36:47
    Kiitokset puheesta. Yliopistoni IT-turvallisuuskurssi oli arvosteltu CTF.
  • 36:47 - 36:52
    saimme arvosanat CTF-haasteesta keräämiemme pisteiden perusteella
  • 36:52 - 36:57
    Mikä on mielipiteenne tämäntyyppisestä arvostelusta?
  • 36:57 - 37:07
    Mitä ajattelett kun yliopistot järjestävät CTF:n arviointitarkoituksessa-
  • 37:07 - 37:12
    Meille tämä on harrastus ja hieno tapa oppia uusia asioita
  • 37:12 - 37:15
    Henkilökohtaisesti en vastusta tällaista arvostelua
  • 37:15 - 37:26
    En ole varma laittaisinko itse arvosanan riippuvaiseksi pisteistä mutta ajatttelen että itsessään tämä on hieno asia tehdä oppimiskokemuksena.
  • 37:26 - 37:32
    Ei ole väliä osallistuuko CTF:ään osana opintoja tai yksityiselämässä.
  • 37:32 - 37:40
    Aina kun me ratkaisemme muiden joukkueiden suunnittelemia haasteita, opimme aina uutta, uusia kikkoja
  • 37:40 - 37:46
    Eli en ajattele että se on huono idea.
  • 37:46 - 37:55
    Kiitoksia kysymyksestä. Seuraava kysymys tulee mikrofonista numero kolme. Mitä tehdä kun johonkin tehtävään jumittuu?
  • 37:55 - 38:00
    Hyvä kysymys. Yleensä auttaa kun pyytää jonkun muun joukkueesta apuun.
  • 38:00 - 38:06
    Pidä tauko ja pyydä jotakuta muuta joukkueesta jolla ei ole mitään käsitystä työn alla olevasta haasteesta
  • 38:06 - 38:10
    käymään läpi löydöksesi tai vain juttelemaan kanssasi haasteesta
  • 38:10 - 38:13
    Toisella henkilöllä voi olla uusia ideoita joita kokeilla
  • 38:13 - 38:22
    vaikka hän ei ole edes tutustunut haasteeseen aikaisemminen tai kun kerrot toiselle mitä olet tehnyt lähituntien aikana
  • 38:22 - 38:29
    jo yksin selittämällä asia jollekuulle muulle saatat saada uuden idean miten jatkaa
  • 38:29 - 38:35
    Tai vain ryhdy googlailemaan aihetta. Saattaa olla että jonkin muun ohjelmiston tapauksessa on ollut samankaltainen bugi, eli on monia asioita tehtäväksi.
  • 38:35 - 38:40
    Mutta niinkin käy useasti ettemme saa ratkaistua haastetta
  • 38:40 - 38:45
    Eli CTF-pelaaminen voi olla myös turhauttavaa, sillä puolen vuorokauden istumisen jälkeen
  • 38:45 - 38:51
    ratkaisua ei saa toimimaan tai ei ole mitään ideaa kuinka ratkaista se
  • 38:51 - 38:54
    Tätäkin tapahtuu kun ei huomaa jotain tiettyä jippoa.
  • 38:54 - 39:03
    Mutta tällöin voi kysyä jälkikäteen muilta joukkueilta esimerkiki IRC:issä kuinka he ratkaisivat tehtävän
  • 39:03 - 39:06
    Voi kysyä yhteenvetoa ratkaisusta ja lukea yhteenvetoja jos niitä on saatavissa.
  • 39:06 - 39:12
    Voi myös kysyä kun seuraavan kerran näkee toiset paikan päällä, esimerkiksi täällä konferenssissa ja niin edelleen.
  • 39:12 - 39:19
    Näin tietämys ja kokemus karttuu ajan myötä.
  • 39:19 - 39:24
    Voimme ottaa vielä yhden kysymyksen. Mikrofoni kaksi on jälleen valmiina.
  • 39:24 - 39:28
    Toimiikohan tämä? OK, anteeksi.
  • 39:28 - 39:34
    Aluksi, paljon kiitoksia CTF-kisan järjestämisestä. Arvostan sitä paljon ja myös sitä, että toteutitte selainhaavoittuvuutta hyväksikäyttävän haasteen
  • 39:34 - 39:40
    Ottaen huomioon että on todella vaikeaa pystyttää selainta hyödyntävä haaste ja pitää haaste verkossa kaikkien pelaajien saatavilla.
  • 39:40 - 39:51
    Kysymykseni on, mikä on teidän kantanne haasteisiin jossa ratkaistaan ongelmia sellaisten ohjelmistojen kanssa joita ei ole modifioitu, jolloin implisiittisesti paljastuu bugeja ohjelmistoista.
  • 39:51 - 40:00
    En ole varma ymmärsinkö kysymyksen oikein. Tarkoitatko että pelaajat käyttävät nollapäivähaavoittuvuuksia haasteiden ratkaisemisesessa?
  • 40:00 - 40:05
    Me emme teen näin. Tarkoitan että kaikissa pelissä käyttämissämme sovelluksissa on modifikaatioita
  • 40:05 - 40:11
    eli niille löytyy tunnettu ratkaisu. Mutta ne ovat todellisesta maailmasta peräisin olevia haasteita
  • 40:11 - 40:14
    Jolloin ei ole sen todellisempaa kuin käyttää nollapäivähaavoittuvuutta ratkaisuna
  • 40:14 - 40:21
    Kunhan nollapäivähaavoittuvuutta ei käytetä CTF:n hallinnoinnissa käytettyä infrastruktuuria vastaan
  • 40:21 - 40:30
    Eli meidän kannaltamme tämä on reilua peliä. Uskon että pelaajat luottavat meihin ja he luottavat siihen että heidän käyttämänsä nollapäivähaavoittuvuudet eivät karkaa
  • 40:30 - 40:33
    Siksi he ovat käyttäneet niitä, tai ainakin jotkin.
  • 40:33 - 40:39
    Mutta ajattelen myös että jos meillä on nollapäivähaavoittuvuus, olemme kaikki samaa mieltä että on oikein
  • 40:39 - 40:44
    vastuullisesti julkaista bugi eikä laittaa sitä verkkoon jakoon jolloin muut joutuisivat vaaraan.
  • 40:44 - 40:53
    Tarkoitan että en ole koskaan nähnyt CTF:n aikana että jokin
  • 40:53 - 40:58
    haavoittuvuus olisi karannut ja vaarantanut tavalliset käyttäjät
  • 40:58 - 41:03
    Tätä ei ole tähän mennessä tapahtunut ja toivotaan että tilanne säilyy samanlaisena. Olisi ikävä asia jos näin tapahtuisi.
  • 41:03 - 41:06
    Olet oikeassa.
  • 41:06 - 41:13
    Paljon kiitoksia. Valitettavasti kysymys-vastausosion aika on ohi mutta olen melko varma että puhujat mielellään vastaavat kysymyksiinne myöhemmin.
  • 41:13 - 41:18
    Isot aplodit esiintyjille!
  • 41:18 - 41:24
    Kiitoksia! Translated by Matti Lassila (ITKST56 course assignment at JYU.FI)
  • 41:24 - 41:45
    Subtitles created by c3subtitles.de
    in the year 2021. Join, and help us!
Title:
35C3 - What the flag is CTF?
Description:

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

Finnish subtitles

Revisions