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