[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:09.13,Default,,0000,0000,0000,,Translated by Esa Lammi\N(ITKST56 course assignment at JYU.FI) Dialogue: 0,0:00:09.13,0:00:18.26,Default,,0000,0000,0000,,{\i1}36c3 intromusiikki{\i0} Dialogue: 0,0:00:18.26,0:00:26.16,Default,,0000,0000,0000,,Herald: Siemens päätti äskettäin lisätä\Nturvallisuusominaisuuksia PLC:hen. Ja Dialogue: 0,0:00:26.16,0:00:32.80,Default,,0000,0000,0000,,tänään meillä on Tobias ja Ali ja he\Nkertovat meille mitä he ovat onnistuneet Dialogue: 0,0:00:32.80,0:00:40.72,Default,,0000,0000,0000,,löytämään. Tämä PLC. He molemmat tulevat\NRuhr yliopistosta Bachumista. Tobias on Dialogue: 0,0:00:40.72,0:00:46.16,Default,,0000,0000,0000,,hiljattain saatu tohtoriopiskelijaksi. Ja\NAli on tutkijatohtori. Joten, annetaanpa Dialogue: 0,0:00:46.16,0:00:48.36,Default,,0000,0000,0000,,heille aplodit. Dialogue: 0,0:00:48.36,0:00:56.82,Default,,0000,0000,0000,,{\i1}aplodeja{\i0} Dialogue: 0,0:00:59.65,0:01:03.56,Default,,0000,0000,0000,,Ali: Hmm, missä meidän kalvot ovat ?\NTobias: Esitystila ? Dialogue: 0,0:01:09.75,0:01:17.21,Default,,0000,0000,0000,,ALi: Kyllä, OK. Tervetuloa esitykseemme.\NSyväsukellus koodin suorittamiseen Dialogue: 0,0:01:17.21,0:01:23.76,Default,,0000,0000,0000,,Siemens S7 PLCssa. Nimeni on Ali Abbasi ja\Nkuten mainittu olen tutkijatohtorina Dialogue: 0,0:01:23.76,0:01:28.16,Default,,0000,0000,0000,,järjestelmäturvallisuuden osastolla Ruhr\Nyliopistossa Boch:sa ja tässä on kollegani Dialogue: 0,0:01:28.16,0:01:34.40,Default,,0000,0000,0000,,Tobias: Olen Tobias, tai Toby. Hauska olla\Ntäällä. Tämä on viides kertani tässä Dialogue: 0,0:01:34.40,0:01:38.64,Default,,0000,0000,0000,,tapahtumassa ja nyt voin viimein antaa\Ntakaisin tavallaan ja olen innoissani. Dialogue: 0,0:01:39.76,0:01:46.88,Default,,0000,0000,0000,,Joten asiaan. Ensin hieman esityksesen\Nkulusta. Haluamme antaa teille Dialogue: 0,0:01:46.88,0:01:51.36,Default,,0000,0000,0000,,hieman taustatietoa mitä PLCt, eli ohjel-\Nmoitavat logiikka ohjaimet ovat, Dialogue: 0,0:01:51.36,0:01:56.64,Default,,0000,0000,0000,,miksi haluaisimme sellaisia käyttää ja\Nminkälaisessa ympäristössä. Ja sitten Dialogue: 0,0:01:56.64,0:02:02.60,Default,,0000,0000,0000,,sitten haluamme mennä yksityiskohtiin\NSiemens PLCn tapauksessa. Ensin katsomme Dialogue: 0,0:02:02.60,0:02:07.04,Default,,0000,0000,0000,,vähän laitteistoa ja sen jälkeen ohjel-\Nmistoja ja erilaisia löydöksiä joita Dialogue: 0,0:02:07.04,0:02:11.20,Default,,0000,0000,0000,,teimme. Lopuksi, haluamme demonstroida\Nmitä pystyimme saavuttamaan Dialogue: 0,0:02:11.20,0:02:18.96,Default,,0000,0000,0000,,ja päätämme esityksen parilla kommentilla.\NJoten ensin, prosessiautomaatio. Me kaikki Dialogue: 0,0:02:18.96,0:02:25.28,Default,,0000,0000,0000,,tiedämme sen. Tai teemme sitä itse tai\Ntunnemme jonkun joka tekee sitä. Laitamme Dialogue: 0,0:02:25.28,0:02:32.48,Default,,0000,0000,0000,,joitain laitteita älykotiimme, jos kutsumme\Nsitä älykkääksi. Ja koitamme automatisoida Dialogue: 0,0:02:32.48,0:02:38.72,Default,,0000,0000,0000,,eri kohteita eri asioissa tehdäksemme elä-\Nmästämme helpompaa. Asioita kuten Dialogue: 0,0:02:38.72,0:02:43.20,Default,,0000,0000,0000,,lämpötilan säätö ylös-alas. Emme halua\Ntehdä tätä itse. Emme halua että on liian Dialogue: 0,0:02:43.20,0:02:49.04,Default,,0000,0000,0000,,kuuma tai kylmä. Ja mitä teemme on, että \Nmeillä on jokin sensorijärjestelmä Dialogue: 0,0:02:49.04,0:02:52.12,Default,,0000,0000,0000,,talossamme, kuten myös laitteita jotka Dialogue: 0,0:02:52.12,0:02:55.20,Default,,0000,0000,0000,,vuorovaikuttavat sensorien kanssa.\Ntässä tapauksessa meillä voisi Dialogue: 0,0:02:55.20,0:03:00.56,Default,,0000,0000,0000,,olla termostaatti ja lämmitin ja haluamme\Nsäätää lämpötilaa Dialogue: 0,0:03:00.56,0:03:06.88,Default,,0000,0000,0000,,termostaatin perusteella. Nämä ovat aika\Nyksinkertaisia ratkaisuja älytaloon Dialogue: 0,0:03:06.88,0:03:12.96,Default,,0000,0000,0000,,Mutta mitä teemme jos meillä on hyvin\Nmonimutkainen hallintasilmukka esim. Dialogue: 0,0:03:12.96,0:03:20.24,Default,,0000,0000,0000,,Tässä näemme vasemmalla alhaalla melko\Nmonimutkaisen kuvan, muutama operointi- Dialogue: 0,0:03:21.20,0:03:26.64,Default,,0000,0000,0000,,henkilö istumassa, mitä kutsumme HMI:n\Nhuman machine interface edessä, joka on Dialogue: 0,0:03:26.64,0:03:30.32,Default,,0000,0000,0000,,periaatteessa tiivistetty informaatio\Nkaikesta mitä on meneillään Dialogue: 0,0:03:30.32,0:03:36.56,Default,,0000,0000,0000,,tehtaassa, esimerkiksi. Me tarvitsemme eri\Nsensoreita tässä tehtaassa ja meidän täytyy Dialogue: 0,0:03:36.56,0:03:41.04,Default,,0000,0000,0000,,ohjata eri moottoreita ja sellaisia asioita.\NJoten tarvitsemme keskellä olevia asioita Dialogue: 0,0:03:41.04,0:03:46.40,Default,,0000,0000,0000,,tavallaan ohjaamaan tätä kaikkea. Ja teemme\Ntämän käyttämällä PLC:ita ja tässä Dialogue: 0,0:03:46.40,0:03:50.26,Default,,0000,0000,0000,,näemme miltä se voisi näyttää. Joten Peri-\Naatteessa on syötteitä kuten puhuimme Dialogue: 0,0:03:50.26,0:03:54.24,Default,,0000,0000,0000,,ja ulostuloja. Ja meillä on joku logiikka\Nkeskellä. Ja mitä tyypillisesti asennamme Dialogue: 0,0:03:54.24,0:03:59.84,Default,,0000,0000,0000,,on PLC ohjelmoitava logiikka kontrolleri\Nja jotain logiikkaa keskellä. Dialogue: 0,0:03:59.84,0:04:04.88,Default,,0000,0000,0000,,On erilaisia teknologioita, joita voidaan\Nkäyttää, esimerkiksi, rakenne, teksti tai Dialogue: 0,0:04:04.88,0:04:11.44,Default,,0000,0000,0000,,tikapuulogiikka joka ladataan PLChen ja\Njoka sitten ohjaa ulostuloja pohjautuen Dialogue: 0,0:04:11.44,0:04:16.16,Default,,0000,0000,0000,,Sisään tuleviin syötteisiin. Voit nähdä\Njoitain tämänkaltaisia sovellutuksia. Dialogue: 0,0:04:16.16,0:04:21.67,Default,,0000,0000,0000,,Esimerkiksi, kemiallisessa voimalaitoksessa,\Nkemian tehtaassa, sähköverkossa tai Dialogue: 0,0:04:21.67,0:04:28.48,Default,,0000,0000,0000,,jossain tuotannossa. Osa noista komponen-\Nteista ovat aika kriittisiä toiminnalle. Dialogue: 0,0:04:28.48,0:04:33.19,Default,,0000,0000,0000,,Vaikka näkisimme ne jokapäiväisessä\Nelämässämme ja joskus emme tosiaan Dialogue: 0,0:04:33.19,0:04:39.56,Default,,0000,0000,0000,,näe niitä. Mutta ne ovat siellä ohjaamassa,\Nkaikkea taustalla ja me emme Dialogue: 0,0:04:39.56,0:04:44.22,Default,,0000,0000,0000,,todellakaan halua noiden järjestelmien\Nhajoavan. Esimerkiksi jos menet googleen Dialogue: 0,0:04:44.22,0:04:48.45,Default,,0000,0000,0000,,ja etsit jotain onnettomuuksista ja kemian\Ntehtaista, voit nähdä Dialogue: 0,0:04:48.45,0:04:53.07,Default,,0000,0000,0000,,sulaneita tehtaita vain koska joku mis...\Nhäiriö tapahtui järjestelmässä Dialogue: 0,0:04:53.07,0:04:58.82,Default,,0000,0000,0000,,Ja emme todella halua tämän tapahtuvan.\NEmme vahingossa, emmekä myöskään Dialogue: 0,0:04:58.82,0:05:03.53,Default,,0000,0000,0000,,pahantahtoisesti. Ja tästä syystä haluamme\Nturvata kaikki prosessit jotka toimivat Dialogue: 0,0:05:03.53,0:05:09.86,Default,,0000,0000,0000,,tehtaissa ja sellaisissa. Olemme nähneet \Nviimeaikaisia hyökkäyksiä. Se alkoi Dialogue: 0,0:05:09.86,0:05:16.98,Default,,0000,0000,0000,,tavallaan 1999 ensimmäisellä tiedustelu\Npohjaisella pääosin. Ja sen sitten olemme Dialogue: 0,0:05:16.98,0:05:22.04,Default,,0000,0000,0000,,saaneet joitain edistyneempiä hyökkäyksiä\N2010, esimerkiksi kun näimme Stuxnetin Dialogue: 0,0:05:22.04,0:05:26.26,Default,,0000,0000,0000,,joka oli todella mutkikas operaatio.\NJos ajattelet sitä tekniseltä tasolta Dialogue: 0,0:05:26.26,0:05:31.69,Default,,0000,0000,0000,,mitä kaikkea siihen meni. Mitä eri osaamis\Nalueita oli mukana. Se on melko Dialogue: 0,0:05:31.69,0:05:38.05,Default,,0000,0000,0000,,vaikuttavaa. Ja sitten vielä myöhemmin\Nmeillä on ollut ongelmia Dialogue: 0,0:05:38.05,0:05:45.40,Default,,0000,0000,0000,,Ukrainan sähköverkossa, jossa 2015 ja 2016\Njuuri ennen joulua joitain valoja Dialogue: 0,0:05:45.40,0:05:51.75,Default,,0000,0000,0000,,meni pois päältä melko toviksi joissain\Nkaupungeissa. Joten melkoinen vaikutus. Dialogue: 0,0:05:51.75,0:05:57.50,Default,,0000,0000,0000,,Joten antaaksemme hieman vaikutusta,\Ntaustaa Siemens PLC:sta mitä tulee Dialogue: 0,0:05:57.50,0:06:01.91,Default,,0000,0000,0000,,markkinaosuuksiin. Näemme, että yhdessä\NRockwood automationin kanssa, Siemensilla Dialogue: 0,0:06:01.91,0:06:06.37,Default,,0000,0000,0000,,on yli 50% markkinaosuus. Ja tietenkin,\Njos otamme joitain laitteita Dialogue: 0,0:06:06.37,0:06:10.42,Default,,0000,0000,0000,,joissa on jotain turvallisuutta, olisi\Nkiinostavaa katsoa niitä joilla on suurin Dialogue: 0,0:06:10.42,0:06:15.56,Default,,0000,0000,0000,,markkinaosuus. Näin toimimme tässä \NSiemensin tapauksessa. Tässä näemme Dialogue: 0,0:06:15.56,0:06:22.03,Default,,0000,0000,0000,,juuri sen PLCn johon keskitymme tässä\Nesityksessä, se on Siemens S7-1200 PLC. Dialogue: 0,0:06:22.03,0:06:26.72,Default,,0000,0000,0000,,Se on yksi pienemmistä PLCsta, ei silti\Npienin, siinä on logo myös, joka on silti Dialogue: 0,0:06:26.72,0:06:33.42,Default,,0000,0000,0000,,enemmän opettelua varten esimerkki, mutta\Ntämä on se joka on silti Dialogue: 0,0:06:33.42,0:06:39.30,Default,,0000,0000,0000,,tutkijoiden saatavilla oleva, kustannusten\Nkannalta. Se on jotain 250e PLCsta. Dialogue: 0,0:06:39.30,0:06:44.56,Default,,0000,0000,0000,,Sitten jos tarvitset virtalähteen, se \Nmaksaa saman. Kunhan et riko montaa Dialogue: 0,0:06:44.56,0:06:50.21,Default,,0000,0000,0000,,sellaista, spoileri, rikoimme aika monta,\Ntai et pudota niitä tai sellaista, niin Dialogue: 0,0:06:50.21,0:06:55.52,Default,,0000,0000,0000,,pärjäät hyvin, sinä voit saada resurssit\Nleikkiäksesi niillä laitteilla Dialogue: 0,0:06:55.52,0:07:00.29,Default,,0000,0000,0000,,Meillä on eri sovelluksia ja\Nolemme puhuneet niistä aiemmin Dialogue: 0,0:07:00.29,0:07:08.19,Default,,0000,0000,0000,,Joten tässä on miltä paketin avaaminen\NSiemens 7 1200 PLC tapauksessa näyttää Dialogue: 0,0:07:08.19,0:07:13.66,Default,,0000,0000,0000,,Meillä on ylänäkymä vasemmassa kuvassa.\NSe on yksi piirilevyistä (PCB) Dialogue: 0,0:07:13.66,0:07:19.36,Default,,0000,0000,0000,,Jotka on kerrostettu toistensa päälle tässä\Ntapauksessa. Mutta taika oikeasti on Dialogue: 0,0:07:19.36,0:07:25.72,Default,,0000,0000,0000,,ylimmässä PCBssa, joka on vihreä, jonka \Nnäemme tässä. Katsoessamme sitä tarkemmin Dialogue: 0,0:07:25.72,0:07:31.20,Default,,0000,0000,0000,,Meillä on yläkuva vasemmalla, joka näyttää\Neri komponentteja joista Dialogue: 0,0:07:31.20,0:07:36.57,Default,,0000,0000,0000,,PLC rakentuu. Otetaan esimerkiksi, ARM\Nprosessori (CPU) joka meillä on tai Dialogue: 0,0:07:36.57,0:07:41.68,Default,,0000,0000,0000,,eri väylät sisään-ulos joita voimme kytkeä\NPLChen, kuten puhuimme aiemmin, Dialogue: 0,0:07:41.68,0:07:47.69,Default,,0000,0000,0000,,joita tarvitaan jotta voidaan ohjata eri\Nosia järjestelmässä. Ja sitten meillä Dialogue: 0,0:07:47.69,0:07:56.23,Default,,0000,0000,0000,,on flash siru yläosassa myös, joka\Non suuri flash siru sisältäen PLCn Dialogue: 0,0:07:56.23,0:08:04.17,Default,,0000,0000,0000,,laiteohjelmiston, josta puhumme\Nhieman tarkemmin myöhemmin Dialogue: 0,0:08:04.17,0:08:09.84,Default,,0000,0000,0000,,Kääntöpuolella, meillä on oikeassa \Nkuvassa alapuoli ensimmäisestä PCBsta. Dialogue: 0,0:08:09.84,0:08:15.38,Default,,0000,0000,0000,,Ja kuten näemme tässä, tämä on se missä\Nbootloader siru sijaitsee, joka on SPI Dialogue: 0,0:08:15.38,0:08:21.87,Default,,0000,0000,0000,,flash siru, 4 megatavua pitäen sisällään\NSiemens PLC bootloaderin ohjelmakoodin. Dialogue: 0,0:08:21.87,0:08:29.04,Default,,0000,0000,0000,,Tässä halusimme yksityiskohtaisen kuvan\Nsiitä miltä varsinainen prosessoriyksikkö Dialogue: 0,0:08:29.04,0:08:33.24,Default,,0000,0000,0000,,oikeasti levyllä näyttää ja mitä voit\Ntehdä jos haluat tietää on Dialogue: 0,0:08:33.24,0:08:38.86,Default,,0000,0000,0000,,voit tehdä hieman kuorintaa.\NJa sitä näemme tässä. Dialogue: 0,0:08:38.86,0:08:46.02,Default,,0000,0000,0000,,Tulos on tässä, näemme että sen ytimessä\Non renesanssi ARM Dialogue: 0,0:08:46.02,0:08:52.71,Default,,0000,0000,0000,,Cortex-R4 vuodelta 2010. Ja jos myöhemmin\Ntyöskentelet enemmän Dialogue: 0,0:08:52.71,0:08:58.08,Default,,0000,0000,0000,,ohjelmiston parissa voit haluta selvittää\Nmyös oikean revisio numeron mitä Dialogue: 0,0:08:58.08,0:09:04.97,Default,,0000,0000,0000,,se tukee ARM standardissa. Ja mitä voit\Ntehdä, on käyttää erityistä käskyä Dialogue: 0,0:09:04.97,0:09:13.44,Default,,0000,0000,0000,,joka sisältyy ARM käskykantaan ja\Njoilla voit dekoodata eri Dialogue: 0,0:09:13.44,0:09:17.38,Default,,0000,0000,0000,,bittejä siinä, jonka teimme tässä, jonka\Nnäet tässä referenssinä. Dialogue: 0,0:09:17.38,0:09:22.79,Default,,0000,0000,0000,,Joten jos todella haluat tietää mitä on\Nmeneillään, voit tutkia ne bitit ja Dialogue: 0,0:09:22.79,0:09:26.36,Default,,0000,0000,0000,,varmistaa, että työskentelet sen laitteen\Nparissa mitä oletitkin. Dialogue: 0,0:09:26.36,0:09:32.35,Default,,0000,0000,0000,,Nyt olemme tulleet muistiosuuteen\Nlaitteistossa ja tässä vaiheessa Dialogue: 0,0:09:32.35,0:09:39.32,Default,,0000,0000,0000,,jätän teidät Alille.\NAli: Kiitos. Nyt kun Tobias on avannut Dialogue: 0,0:09:39.32,0:09:45.89,Default,,0000,0000,0000,,PLCn meille, minä aion puhua oikuista\Nja ominaisuuksista PLC:ssa. Dialogue: 0,0:09:45.89,0:09:53.28,Default,,0000,0000,0000,,Kuten mainittu, se on Cortex-R4 revisio 3.\NSe on big endian käskykanta ja siinä on Dialogue: 0,0:09:53.28,0:10:00.63,Default,,0000,0000,0000,,ainoastaan MPU. Joten siinä ei ole\Nvisuaalista muistia periaatteessa. Siinä on Dialogue: 0,0:10:00.63,0:10:04.79,Default,,0000,0000,0000,,useita RAM muisti kokoja, riippuen minä\Nvuonna ostit sen ja minkä version S7 Dialogue: 0,0:10:04.79,0:10:10.99,Default,,0000,0000,0000,,1200 ostit ja myös useita SPI flash ja\Nuseita eri tyyppisiä NAND flasheja. Dialogue: 0,0:10:10.99,0:10:15.42,Default,,0000,0000,0000,,Merkittävin yksi ero on kuten\NRAM. jossa he käyttävät välillä Wingbond Dialogue: 0,0:10:15.42,0:10:20.20,Default,,0000,0000,0000,,ja joskus he käyttävät Micron\NTechnologies, hiljattain Dialogue: 0,0:10:20.20,0:10:30.82,Default,,0000,0000,0000,,Micron Technologies RAM. Se on LPDDR1 RAM.\NOletamme SPI flash bootloaderiksi. Joten Dialogue: 0,0:10:30.82,0:10:37.24,Default,,0000,0000,0000,,jälleen, riippuen vaihtelusta välillä\Nyhdestä neljään megatavua SPI flashia, se Dialogue: 0,0:10:37.24,0:10:43.84,Default,,0000,0000,0000,,sisältää eri pankkeja, jokainen kooltaan\N512 ktavua. Ja periaatteessa mitä bootloader Dialogue: 0,0:10:43.84,0:10:48.80,Default,,0000,0000,0000,,tekee, on tyypillisten bootloader toimien,\Njoita ovat laitteiston konfigurointi, Dialogue: 0,0:10:48.80,0:10:54.34,Default,,0000,0000,0000,,varmistaa firmwaren eheys Dialogue: 0,0:10:54.34,0:11:01.84,Default,,0000,0000,0000,,ennen kuin se ladataan. Me teimme hieman\Nröntgen kerroskuvausta PLClle Dialogue: 0,0:11:01.84,0:11:08.65,Default,,0000,0000,0000,,Se on periaatteessa 3D. Joten PCB\Npyörii tässä koska halusimme tehdä myös Dialogue: 0,0:11:08.65,0:11:13.68,Default,,0000,0000,0000,,laitteiston takaisinmallinnusta. \NJa jollain yliopistolla oli jotain, joten Dialogue: 0,0:11:13.68,0:11:20.41,Default,,0000,0000,0000,,meidän ei tarvinnut mennä hammaslääkärille\Nröntgeniin. Joten tässä on nopea 15 min Dialogue: 0,0:11:20.41,0:11:26.40,Default,,0000,0000,0000,,röntgen, joka ei ole kovin hyvä. Mutta kun\Nmenet syvemmälle, lopulta sinulla on tämä Dialogue: 0,0:11:26.40,0:11:30.96,Default,,0000,0000,0000,,ja voit oikeasti aivan kuin\Nse olisi ohjelmisto animaatio Dialogue: 0,0:11:30.96,0:11:36.32,Default,,0000,0000,0000,,Voit mennä PCBn sisälle ja nähdä kaikki\Nkerrokset. Se on uskomatonta. Se on PCB Dialogue: 0,0:11:36.32,0:11:42.48,Default,,0000,0000,0000,,kerros. Ja muuten, VCC ja GND, tarvitset\Nkaksi kerrosta PCB yhteyksiä periaatteessa. Dialogue: 0,0:11:42.48,0:11:50.00,Default,,0000,0000,0000,,Katsotaanpa käynnistys prosessia\Njälleen, käynnistetään tavallisesti Dialogue: 0,0:11:50.00,0:11:53.84,Default,,0000,0000,0000,,Jotain laitteistoasetuksia tapahtuu. Kuten\Ntrap ohjaimen vektorointi, esimerkiksi, Dialogue: 0,0:11:55.12,0:12:01.60,Default,,0000,0000,0000,,paljon ajureita eri ARM tiloille ja sitten\NCRC tarkastus itse bootloaderille Dialogue: 0,0:12:01.60,0:12:06.24,Default,,0000,0000,0000,,joka on helposti ohitettavissa, koska voit Dialogue: 0,0:12:06.24,0:12:11.52,Default,,0000,0000,0000,,ylikirjoittaa CRCn. Tämän jälkeen boot\Nloader, erityisesti 2017, 2018 versioissa Dialogue: 0,0:12:11.52,0:12:18.96,Default,,0000,0000,0000,,Siemen PLCssa, sallii sinun ylikirjoittaa\NSPI flashin. Ja lopuksi tarkastamme Dialogue: 0,0:12:18.96,0:12:25.12,Default,,0000,0000,0000,,CRC tarkastussumman laiteohjalmasta\Nennen kuin se ladataan Dialogue: 0,0:12:25.12,0:12:28.96,Default,,0000,0000,0000,,bootloaderin itsensä koko on 128 kbyte,\Ntodellisuudessa jopa vähemmän koska Dialogue: 0,0:12:28.96,0:12:35.09,Default,,0000,0000,0000,,puolet siitä on vain 0xff. Siemens useita\Nkertoja on vaihtanut, heillä on useita Dialogue: 0,0:12:35.09,0:12:39.37,Default,,0000,0000,0000,,versioita. Luulen, että kahdessa vuodessa\Nnäimme 3 tai 4 muunnosta bootloaderista Dialogue: 0,0:12:39.37,0:12:44.72,Default,,0000,0000,0000,,Se siis kehittyi. Se ei ollut jotain jonka\Nolemassaolon kaikki ovat unohtaneet. Dialogue: 0,0:12:44.72,0:12:51.99,Default,,0000,0000,0000,,Kuten yleisesti mainittu, sinulla on\Ntässä ensimmäinen vaihe laitteiston Dialogue: 0,0:12:51.99,0:12:59.76,Default,,0000,0000,0000,,alustamisessa ja sitten luetaan\Nbootloader RAM muistiin ja Dialogue: 0,0:12:59.76,0:13:03.84,Default,,0000,0000,0000,,tarkastetaan bootloaderin CRC tarkastus-\Nsumma, jotta sitä ei ole muuteltu ja tämä Dialogue: 0,0:13:03.84,0:13:08.40,Default,,0000,0000,0000,,voidaan jälleen ohittaa. Ja sitten toinen\Nvaihe laitteiston alustamisessa tapahtuu, Dialogue: 0,0:13:08.40,0:13:12.83,Default,,0000,0000,0000,,Ja sillä hetkellä se odottaa tiettyä\Nkomentoa puolen sekunnin ajan Dialogue: 0,0:13:12.83,0:13:16.63,Default,,0000,0000,0000,,ja jos se saa tämän komennon se menee\Ntoiseen moodiin josta puhumme myöhemmin Dialogue: 0,0:13:16.63,0:13:22.10,Default,,0000,0000,0000,,Muuten se periaatteessa valmistelee CRC\Ntarkastussumma taulukon laiteohjelmistolle Dialogue: 0,0:13:22.10,0:13:25.73,Default,,0000,0000,0000,,ja yrittää ladata laiteohjelmiston ja\Nlopulta yksinkertaisesti poistaa Dialogue: 0,0:13:25.73,0:13:30.79,Default,,0000,0000,0000,,muisti eston vaiheen 1 käskyn\Nteille jotka tunnette ARMin Dialogue: 0,0:13:30.79,0:13:34.85,Default,,0000,0000,0000,,Ja periaatteessa siirtää laiteohjelmiston\Nmuistiin Dialogue: 0,0:13:34.85,0:13:38.62,Default,,0000,0000,0000,,Käyttöjärjestelmän nimeä ei ollut Dialogue: 0,0:13:38.62,0:13:44.24,Default,,0000,0000,0000,,mainittu aiemmin, se on ADONIS.\NTunnemme sen erilaisilla, erilaisilla Dialogue: 0,0:13:44.24,0:13:49.100,Default,,0000,0000,0000,,tavoilla itseasiassa. Joten ensimmäisenä\Nreferenssinä laiteohjelmistossa, näemme Dialogue: 0,0:13:49.100,0:13:54.55,Default,,0000,0000,0000,,paljon viittauksia ADONISen, mutta se ei\Nriittänyt meille. Joten katselimme ympärille Dialogue: 0,0:13:54.55,0:13:59.20,Default,,0000,0000,0000,,nähdäksemme onko siihen mitään\Nlähteitä, ja no, Linkedin on hyvä Dialogue: 0,0:13:59.20,0:14:04.92,Default,,0000,0000,0000,,avoin lähde tiedolle. Ja oli yksi työn-\Ntekijä joka oikeasti puhui Siemens Dialogue: 0,0:14:04.92,0:14:09.84,Default,,0000,0000,0000,,kehittäjästä, joka puhui ADONISen \Ntoiminnnasta. En tiedä miksi hän laittoi Dialogue: 0,0:14:09.84,0:14:15.36,Default,,0000,0000,0000,,Windowsin ja Linuxin ADONISen viereen\Nmutta pidin siitä hänen työstään. Ja Dialogue: 0,0:14:15.36,0:14:20.56,Default,,0000,0000,0000,,se ei ollut meille tarpeeksi. Joten ehkä\Njoku meistä jota emme tunne. Ja katsoimme Dialogue: 0,0:14:20.56,0:14:25.44,Default,,0000,0000,0000,,taas kauemmas ja kauemmas ja löysimme\Ntämän, joka oli paras indikaattorimme Dialogue: 0,0:14:25.44,0:14:30.24,Default,,0000,0000,0000,,Eli Siemens kehitysinsinööri mainitsi että\Nhän oli työskennellyt kernel ohjelmiston Dialogue: 0,0:14:30.24,0:14:34.48,Default,,0000,0000,0000,,kehittämiseksi ADONIS reaaliaika käyttö-\Njärjestelmään, joka oli meille hyvä merkki Dialogue: 0,0:14:34.48,0:14:39.20,Default,,0000,0000,0000,,Se tarkoitti, että olimme oikeassa. Nyt kun\Ntunsimme nimen ja olimme siitä varmoja. Dialogue: 0,0:14:39.20,0:14:46.16,Default,,0000,0000,0000,,Katsotaanpa komponentteja. Se on \Nperiaatteessa käynnistyminen Dialogue: 0,0:14:46.16,0:14:53.68,Default,,0000,0000,0000,,0x00040040 ja sitten alustetaan kernel\Nja tämän jälkeen useita rutiineja eri Dialogue: 0,0:14:53.68,0:14:57.54,Default,,0000,0000,0000,,komponenttien alustamiseksi käyttö-\Njärjestelmässä. En usko, että Siemens Dialogue: 0,0:14:57.54,0:15:02.96,Default,,0000,0000,0000,,jakaa sitä tällä tavalla. Meillä ei\Nollut sellaista käyttöjärjestelmässä, Dialogue: 0,0:15:02.96,0:15:07.68,Default,,0000,0000,0000,,mutta teimme sen sillä tavalla. Eli\Nlevitimme sen kahteen ryhmään. Joissain Dialogue: 0,0:15:07.68,0:15:11.36,Default,,0000,0000,0000,,on core palvelut kuten ADONIS reaaliaika\Nkäyttöjärjestelmän palvelut ja jotkut Dialogue: 0,0:15:11.36,0:15:15.60,Default,,0000,0000,0000,,niistä liittyvät automaatio-osaan. Joten\Nniille ihmisille jotka ovat mukana Dialogue: 0,0:15:15.60,0:15:22.40,Default,,0000,0000,0000,,automaatiossa, kuten kirjoittavat tikapuu\Nlogiikkaa ja sen sellaista, ne komennot ja Dialogue: 0,0:15:22.40,0:15:26.56,Default,,0000,0000,0000,,toimintokoodit jotka ovat relevantteja\NSiemensille, he tuntevat nämä enemmän Dialogue: 0,0:15:26.56,0:15:32.48,Default,,0000,0000,0000,,automaatioon liittyvät palvelut. Joten on\NPROFINET, AWP tai automated web Dialogue: 0,0:15:32.48,0:15:39.92,Default,,0000,0000,0000,,programming MC7 JIT parseri tikapuu\Nlogiikkaa varten tai erilaista SD Dialogue: 0,0:15:39.92,0:15:46.40,Default,,0000,0000,0000,,eli periaatteessa heidän oma JIT kääntäjä\NPLCn sisällä- Ja sinulla on myös OMS Dialogue: 0,0:15:46.40,0:15:51.12,Default,,0000,0000,0000,,tämä konfiguraatiojärjestelmä, joka on\Nautomaatioon liittyvä ydinosa Dialogue: 0,0:15:51.12,0:15:58.64,Default,,0000,0000,0000,,automaatiojärjestelmästä ja toki hälytys\Nkeskus kaikkea sellaista juttua Dialogue: 0,0:15:58.64,0:16:04.32,Default,,0000,0000,0000,,joka liittyy automaatioon. Käyttö-\Njärjestelmän puolella paljon kaikkea Dialogue: 0,0:16:04.32,0:16:11.04,Default,,0000,0000,0000,,tavallista. Tiedostojärjestelmä, PDCFS,\Njosta Tobias puhuu myöhemmin Dialogue: 0,0:16:11.04,0:16:18.48,Default,,0000,0000,0000,,TCP/IP pino, joitain C / C++ kirjastoja,\Njotka eivät ole Siemensiltä, ne ovat Dialogue: 0,0:16:18.48,0:16:23.12,Default,,0000,0000,0000,,Dinkumware ja Miniweb server\Nja MWSL parseri Dialogue: 0,0:16:23.12,0:16:25.47,Default,,0000,0000,0000,,tai Miniweb Scripting Language parseri Dialogue: 0,0:16:25.47,0:16:30.16,Default,,0000,0000,0000,,Ja paljon erilaisia alikomponentteja, mikä\Non tavallista käyttöjärjestelmässä kuin Dialogue: 0,0:16:30.16,0:16:36.64,Default,,0000,0000,0000,,käyttöjärjestelmässä. Lisäksi siellä on\Njoitain viittauksia CoreSight:iin. En tiedä Dialogue: 0,0:16:36.64,0:16:40.72,Default,,0000,0000,0000,,moniko teistä tuntee CoreSight:in tai\Npaljonko teette ARMin kanssa, mutta perus Dialogue: 0,0:16:40.72,0:16:46.40,Default,,0000,0000,0000,,Coresight on jotain vastaavaa kuin Intelin\Nprosess tracing tai Intelin PT seuraamaan Dialogue: 0,0:16:46.40,0:16:52.64,Default,,0000,0000,0000,,sovelluksia ja jota voi käyttää saamaan\Ncode-coverage, esimerkiksi. Ja laitteiston Dialogue: 0,0:16:52.64,0:16:58.72,Default,,0000,0000,0000,,osa on hyvin dokumentoitu Thomas Weberin\Ntoimesta tänä vuonna, ei vielä. Dialogue: 0,0:16:58.72,0:17:04.00,Default,,0000,0000,0000,,mutta tänä vuonna. Black Hat aasiassa\Nmutta minun pitää varoittaa teitä koska Dialogue: 0,0:17:04.00,0:17:08.56,Default,,0000,0000,0000,,sain joitain sähköposteja, jotkut kyselivät\Nsiitä. Jos kytkeydyt siihen, PLC:ssa on Dialogue: 0,0:17:08.56,0:17:12.88,Default,,0000,0000,0000,,joku vianselvitys ominaisuus, joka tun-\Nnistaa kun sitä tutkitaan JTAG kautta Dialogue: 0,0:17:13.84,0:17:18.96,Default,,0000,0000,0000,,ja se ylikirjoittaa NAND-flashin random \Njutulla. Joten tuhoat PLCn, eli kytkeydy Dialogue: 0,0:17:18.96,0:17:23.84,Default,,0000,0000,0000,,siihen omalla riskillä.\NSeuraavaksi katsotaanpa Dialogue: 0,0:17:23.84,0:17:27.53,Default,,0000,0000,0000,,CoreSIghtia nopeasti. CoreSight:ssa\Non periaatteessa... ennen kuin Dialogue: 0,0:17:28.18,0:17:30.88,Default,,0000,0000,0000,,menen siihen, minun pitää mainita\Nmainita, että Ralf Philipp:lla Dialogue: 0,0:17:30.88,0:17:37.60,Default,,0000,0000,0000,,on myös hyvä esitys 0 night:ssa CoreSight\Njäljestämisestä. Joten suosittelen, että Dialogue: 0,0:17:37.60,0:17:41.92,Default,,0000,0000,0000,,katsotte myös sen.\NYleisesti, CoreSight:ssa on kolme Dialogue: 0,0:17:41.92,0:17:46.80,Default,,0000,0000,0000,,pääosaa tai komponenttia: Lähteet, linkit\Nja sinkit ja sinkit ovat ne osat, joista Dialogue: 0,0:17:46.80,0:17:51.28,Default,,0000,0000,0000,,saat trace informaation ja lähteet ovat\Nse jolla kerrot prosessorille Dialogue: 0,0:17:51.28,0:17:56.63,Default,,0000,0000,0000,,minkälaisista lähteistä haluat dataa ja Dialogue: 0,0:17:56.63,0:18:03.20,Default,,0000,0000,0000,,linkit muuttavat nämä lähteet. Täytyy mainita Dialogue: 0,0:18:03.20,0:18:08.23,Default,,0000,0000,0000,,että usein se on hyödyllistö fuzzatessa\Nmyös. Luulen, että jotkut Dialogue: 0,0:18:08.23,0:18:12.56,Default,,0000,0000,0000,,harvat, mutta jotkut, työskentelevät asian\Nparissa. Kattavuuden ohjaama fuzzing Dialogue: 0,0:18:12.56,0:18:16.48,Default,,0000,0000,0000,,CoreSight kautta, ARM Coresightin. Joten on\Nmahdollista, että vastaava implementointi Dialogue: 0,0:18:16.48,0:18:25.68,Default,,0000,0000,0000,,tapahtuu kuin Intel PT, esimerkiksi KAFL,\NWinAFL tai Hingfuzz. Eli lähteet, niillä Dialogue: 0,0:18:25.68,0:18:30.64,Default,,0000,0000,0000,,on kolme eri komponenttia. STM, PTM, ETM.\NETM versio 4 on sen uusin versio Dialogue: 0,0:18:30.64,0:18:37.60,Default,,0000,0000,0000,,Ja periaatteessa sinulla on myös linkit jotka\Nyhdistävät eri lähteet eri, kuin Dialogue: 0,0:18:37.60,0:18:45.44,Default,,0000,0000,0000,,eri tai yhden lähteen tai tiettyyn\Nsink:iin Dialogue: 0,0:18:46.08,0:18:52.20,Default,,0000,0000,0000,,Ja sitten on suppiloita CoreSightlle,\Nanteeksi sinks, anteeksi. Sinulla on sinkeja Dialogue: 0,0:18:52.20,0:18:56.14,Default,,0000,0000,0000,,jotka ovat eri asia. Eli on olemassa eheys\Nprosessorille, joka on 4 kilotavua Dialogue: 0,0:18:56.14,0:19:02.56,Default,,0000,0000,0000,,puskuri SRAM tai sinulla on järjestelmä-\Nmuisti tai jopa TPIU tai esimerkiksi Dialogue: 0,0:19:02.56,0:19:09.42,Default,,0000,0000,0000,,JTAG DP portti High Speed JTAG portti.\NNyt kun sink on käyty läpi, kuten CoreSight Dialogue: 0,0:19:09.42,0:19:14.80,Default,,0000,0000,0000,,teimme kyselyjä S7:lle CoreSight esiinty-\Nmisestä ja kuten voit havaita Dialogue: 0,0:19:14.80,0:19:21.23,Default,,0000,0000,0000,,ohjelmisto on jo implementoitu.\NEli ohjelmistossa on viittauksia Dialogue: 0,0:19:21.23,0:19:26.96,Default,,0000,0000,0000,,että he käyttävät tai konfiguroivat\NCoreSight:ia PLCssa Dialogue: 0,0:19:26.96,0:19:32.72,Default,,0000,0000,0000,,Ja voimme nähdä, että ETM versio\Nei ole uusin, se on ETM Dialogue: 0,0:19:32.72,0:19:39.52,Default,,0000,0000,0000,,versio 3. Nyt kun olen puhunut\NCoreSight:sta, Tobi voi puhua Dialogue: 0,0:19:39.52,0:19:43.20,Default,,0000,0000,0000,,laiteohjelmisto dumpista.\NTobi: Joten siirrytään johonkin joka Dialogue: 0,0:19:43.20,0:19:49.48,Default,,0000,0000,0000,,on minulle paljon tutumpaa ja joka tuntuu\Nminusta helpommalle, se on laiteohjelmisto Dialogue: 0,0:19:49.48,0:19:53.44,Default,,0000,0000,0000,,dumpit, tai ohjelmistot yleisesti, mutta\Nfirmware dumpit, se on mistä eniten Dialogue: 0,0:19:53.44,0:19:59.84,Default,,0000,0000,0000,,haluan puhua PLCssa tai mitä koitan\Nymmärtää PLCssa. Siemensin tapauksessa Dialogue: 0,0:19:59.84,0:20:06.96,Default,,0000,0000,0000,,meillä on 13 megatavun binääri. Ja vaikka\Nalussa se ei tunnu paljolta, Dialogue: 0,0:20:06.96,0:20:14.80,Default,,0000,0000,0000,,mutta kun vähän pyörittelet ja hyödynnät\NIDA Python funktioita ja sellaista Dialogue: 0,0:20:14.80,0:20:19.44,Default,,0000,0000,0000,,sinulla on suunnilleen 84000 funktiota\Njoka ei ole jotain, Dialogue: 0,0:20:19.44,0:20:25.92,Default,,0000,0000,0000,,mitä haluaisit tehdä käsin. Lisäksi 84000 \Nfunktion laiteohjelmisto image Dialogue: 0,0:20:25.92,0:20:31.84,Default,,0000,0000,0000,,ei voita seksikkäimmän laiteohjelmiston\Npalkintoa, eihän? Arvaan näin. Dialogue: 0,0:20:31.84,0:20:38.00,Default,,0000,0000,0000,,Mutta tämä on se mitä näin ja mitä \Nkatsomme tarkemmin muutaman Dialogue: 0,0:20:38.00,0:20:43.20,Default,,0000,0000,0000,,minuutin päästä. Kuten näette, meillä on\Neri nimiä tuolla ylhäällä. Dialogue: 0,0:20:44.00,0:20:48.80,Default,,0000,0000,0000,,Meillä on jotain, jota kutsutaan\N_joku_hae_jotain_suuri_koko. Tämä Dialogue: 0,0:20:49.52,0:20:53.76,Default,,0000,0000,0000,,on tapani sanoa, ettei minulla ole aavis-\Ntustakaan mitä tässä funktiossa tapahtuu, Dialogue: 0,0:20:53.76,0:20:58.40,Default,,0000,0000,0000,,mutta voimme myös nähdä joitain merki-\Ntyksellisiä funktioita. Joten ymmärsimme Dialogue: 0,0:20:58.40,0:21:03.92,Default,,0000,0000,0000,,joitain osia paremmin. Joitain osia\Nhuonommin, mutta katsoin joka puolelle Dialogue: 0,0:21:03.92,0:21:11.36,Default,,0000,0000,0000,,Mennäänpä nyt paljon osoitteistoja\Nkäsittelevään osaan. Odotimme paljon Dialogue: 0,0:21:11.36,0:21:16.88,Default,,0000,0000,0000,,yksityiskohtia, jotka olisivat kiinostavia\Njos alat katsomaan firmwarea ja voisin Dialogue: 0,0:21:16.88,0:21:19.00,Default,,0000,0000,0000,,selittää miksi ne voisivat kiinnostaa. Dialogue: 0,0:21:21.12,0:21:26.32,Default,,0000,0000,0000,,Ensinnäkin täytyy tietää, että coretex\Nantaa bank registerin Dialogue: 0,0:21:26.32,0:21:32.80,Default,,0000,0000,0000,,Se on toiminnallisuus joka on implementoitu\Npienentämään kokoa ja sallimaan Dialogue: 0,0:21:32.80,0:21:40.56,Default,,0000,0000,0000,,saumattomat moodit sisäiselle prosessorille.\NJa saamme bank pinon jokaiselle suoritus Dialogue: 0,0:21:41.12,0:21:47.36,Default,,0000,0000,0000,,tilalle. Joten jos haluemme tietää mitä\Non meneillään firmwaren tilassa Dialogue: 0,0:21:47.36,0:21:51.20,Default,,0000,0000,0000,,jollain hetkellä, haluamme ehkä katsoa eri\Npinoja eri tiloissa eri aikoina. Dialogue: 0,0:21:51.20,0:21:56.88,Default,,0000,0000,0000,,Ja tämä on osoitteisto, jolta odotamme tätä Dialogue: 0,0:21:56.88,0:22:02.64,Default,,0000,0000,0000,,Ja sitä voi käyttää lähtökohtana, mikäli\Nalat takaisinmallintaa asioita Dialogue: 0,0:22:02.64,0:22:07.52,Default,,0000,0000,0000,,Nyt meillä on joitain osoitteita,\Njoitain tauluja joissa on osoitteita Dialogue: 0,0:22:07.52,0:22:16.08,Default,,0000,0000,0000,,Ensimmäinen on RAM kartoitus, joka\Nnäyttää mitä toiminnallisuutta Dialogue: 0,0:22:16.08,0:22:23.12,Default,,0000,0000,0000,,tai mitä voit odottaa kun katsot laite-\Nohjelmiston koodia, joka Dialogue: 0,0:22:23.12,0:22:28.16,Default,,0000,0000,0000,,on yhteydessä eri osiin muistia.\NJos ensin menet katsomaan ARM koodia Dialogue: 0,0:22:28.16,0:22:33.12,Default,,0000,0000,0000,,voit nähdä vain satunnaisia yhteyksiä eri\Npaikkoihin muistissa ja voit haluta ottaa Dialogue: 0,0:22:33.12,0:22:39.04,Default,,0000,0000,0000,,selvää mitä se oikeasti tekee. Ja se\Nnäyttää tylsältä, se on vain osoite Dialogue: 0,0:22:39.04,0:22:45.20,Default,,0000,0000,0000,,ja sitä kysellään, etkä tiedä mitä tapahtuu Dialogue: 0,0:22:45.20,0:22:49.68,Default,,0000,0000,0000,,Esimerkiksi, jos katsoit osoitetta teksti \Nosassa, odotit että siinä on Dialogue: 0,0:22:49.68,0:22:55.12,Default,,0000,0000,0000,,koodia, jos halusit nähdä jotain\Nglobaalia staattista dataa, halusit Dialogue: 0,0:22:55.12,0:22:59.04,Default,,0000,0000,0000,,etsiä dataa BSS osiosta. Ja lopulta,\Nmikäli halusit katsoa heap muistia Dialogue: 0,0:22:59.04,0:23:04.40,Default,,0000,0000,0000,,tai kuinka kanavat on asetettu siinä,\Netsisit sitä uninitialize osasta Dialogue: 0,0:23:04.40,0:23:09.76,Default,,0000,0000,0000,,ja se kulkee näin eri osissa.\NToinen erittäin kiinostava Dialogue: 0,0:23:09.76,0:23:14.48,Default,,0000,0000,0000,,asia katsoa, jos yrität takaisin\Nmallintaa firmwarea on että haluat Dialogue: 0,0:23:14.48,0:23:20.48,Default,,0000,0000,0000,,tavallaan tietää mikä on se laitteisto\Njosta koodi on peräisin, jota se käsittelee Dialogue: 0,0:23:22.00,0:23:29.76,Default,,0000,0000,0000,,Ja tässä tapauksessa dumppasimme\Njoitain alueita ja takaisinmallinsimme Dialogue: 0,0:23:29.76,0:23:35.12,Default,,0000,0000,0000,,mitä varten ne alueet ovat, jota kutsutaan\Nmuistikartoitetuksi I/Oksi. ARM Dialogue: 0,0:23:35.12,0:23:39.36,Default,,0000,0000,0000,,keskustelee laitteiston kanssa periaatteessa\Njonoamalla maagista arvoa osoiteavaruudessa Dialogue: 0,0:23:39.36,0:23:43.04,Default,,0000,0000,0000,,ja sitten se saa jotain takaisin, mikä ei\Nole yhtään samaa, mitä sinne oli Dialogue: 0,0:23:43.04,0:23:48.56,Default,,0000,0000,0000,,aiemmin kirjoitettu. Eli se on osoite joka\Nsiirretään sinne reunan yli. Dialogue: 0,0:23:48.56,0:23:53.60,Default,,0000,0000,0000,,Laitteiston reunan, samassa järjestelmässä\Nsirulla. Ja tässä näemme, että meillä Dialogue: 0,0:23:53.60,0:23:57.36,Default,,0000,0000,0000,,on erilaisia järjestelmään liittyviä\Nlaitteita kiinni siinä. Esimerkiksi Dialogue: 0,0:23:58.00,0:24:03.04,Default,,0000,0000,0000,,voimme puhua Siemens PLClle eri\Nsarjaprotokollia käyttäen ja ne protokollat Dialogue: 0,0:24:03.04,0:24:08.80,Default,,0000,0000,0000,,voivat olla SPI tai I²C. Ja vasemmalla\Npuolella on, aika keskellä ylhäällä Dialogue: 0,0:24:08.80,0:24:15.84,Default,,0000,0000,0000,,mikä otti siihen osaa, jotain siihen\Nalueeseen liittyvää. Ja sitten näit Dialogue: 0,0:24:15.84,0:24:21.92,Default,,0000,0000,0000,,jonkun toisen koodin puhuvan ajastimille,\Nesimerkiksi, tietäisit että olet silloin Dialogue: 0,0:24:21.92,0:24:26.29,Default,,0000,0000,0000,,ajastinmaassa sillä hetkellä tai\Nschedulerissa tai jossain sellaisessa Dialogue: 0,0:24:26.29,0:24:27.52,Default,,0000,0000,0000,,Viimein meillä on Dialogue: 0,0:24:27.52,0:24:33.68,Default,,0000,0000,0000,,MPU konfuguraatioita, jotka ovat Memory\NProtection Unit konfiguraatioita, kuten Dialogue: 0,0:24:33.68,0:24:38.88,Default,,0000,0000,0000,,Ali kertoi aiemmin. Mitä näemme on, että\NSiemens oikeasti käyttää joitain näistä Dialogue: 0,0:24:38.88,0:24:44.08,Default,,0000,0000,0000,,konfiguraatioista suojatakseen osia\Nmuistista. Näemme, esimerkiksi, että Dialogue: 0,0:24:44.08,0:24:49.36,Default,,0000,0000,0000,,missä, koska tahansa on XN, älä suorita\Nbitti on, asetettu koodia ei suoriteta Dialogue: 0,0:24:49.36,0:24:53.84,Default,,0000,0000,0000,,siinä osoiteavaruudessa tai se on vain\Nluku alue. Emme todellakaan halua Dialogue: 0,0:24:53.84,0:24:59.28,Default,,0000,0000,0000,,kirjoittaa sitä yli. On kiinnostavaa, että\Nhe alkoivat käyttämään tätä tapaa. Dialogue: 0,0:24:59.28,0:25:06.24,Default,,0000,0000,0000,,Tässä näemme mitä oikeasti tapahtuu kun\Nlaitekoodi itse boottaa käyntiin Dialogue: 0,0:25:06.24,0:25:11.84,Default,,0000,0000,0000,,Paljastui, ettei firmware halua olla liian\Nriippuvainen siitä mitä bootloader teki Dialogue: 0,0:25:11.84,0:25:16.72,Default,,0000,0000,0000,,Todennäköisesti eri teamit tekevät eri\Nasioita. Ja pitääkseen yhteydet niin Dialogue: 0,0:25:16.72,0:25:22.37,Default,,0000,0000,0000,,pieninä kuin mahdollista, he tavallaan\Ntekevät uudelleen asoita, joita bootloader Dialogue: 0,0:25:22.37,0:25:27.04,Default,,0000,0000,0000,,koodi tekee myös. Se asettaa vektori taulun\Nkeskeytysten käsittelyyn ja se kaltaisia Dialogue: 0,0:25:27.04,0:25:31.68,Default,,0000,0000,0000,,asioita. Kun sitten ohitamme tämän\Nalustavan vaiheen, me haluamme Dialogue: 0,0:25:31.68,0:25:36.96,Default,,0000,0000,0000,,bootata ADINIS kernelin, josta Ali puhui\Naiemmin. Ensinnäkin, siellä on Dialogue: 0,0:25:36.96,0:25:42.16,Default,,0000,0000,0000,,array function pointereita, joita kutsutaan\Naina jokaista toimintoa varten, joita Dialogue: 0,0:25:42.16,0:25:47.20,Default,,0000,0000,0000,,näimme tässä yhteenvedossa ADONIS:en\Neri komponenteista. Joten jos halusit Dialogue: 0,0:25:47.20,0:25:51.04,Default,,0000,0000,0000,,katsoa minkälaisia komponentteja siinä on\Ntai minkälaisia toiminnallisia osia siellä Dialogue: 0,0:25:51.04,0:25:55.68,Default,,0000,0000,0000,,on. Tämä on todella kiinnostava lista\Nfunktioista, funktion käsittelijöistä Dialogue: 0,0:25:55.68,0:26:01.52,Default,,0000,0000,0000,,tutkittavaksi ja se myös asettaa joitain\Nhallintarakenteita ja asioita kuten tämä Dialogue: 0,0:26:01.52,0:26:07.84,Default,,0000,0000,0000,,jollaisen tyyppillisen käyttöjärjestelmän\Npitäisi asettaa. Joten katsotaan tarkemmin Dialogue: 0,0:26:07.84,0:26:14.48,Default,,0000,0000,0000,,eri komponentteja ADONISsa. Ensin tiedosto-\Njärjestelmä. PLC täyttää määritelmät Dialogue: 0,0:26:14.48,0:26:20.24,Default,,0000,0000,0000,,Joskus se on kuinka hyvin se kestää eri\Nlämpötiloja, kuinka matalassa lämpötilassa Dialogue: 0,0:26:20.24,0:26:26.48,Default,,0000,0000,0000,,voin käyttää tätä PLCta, ilman että\Nse menettää toiminnallisuuksia Dialogue: 0,0:26:26.48,0:26:33.36,Default,,0000,0000,0000,,Ja tässä tapauksessa, he haluavat myös \Nturvallisuutta häiriöiden varalta Dialogue: 0,0:26:33.36,0:26:38.16,Default,,0000,0000,0000,,virtalähteessä. Joten he kehittivät oman\Ntiedostojärjestelmän, jota kutsutaan Dialogue: 0,0:26:38.16,0:26:42.64,Default,,0000,0000,0000,,"Powered Down Consistency File System",\Njonka he implentoivat firmwareen ja näemme Dialogue: 0,0:26:44.08,0:26:56.16,Default,,0000,0000,0000,,yhden työkokemus rivin yhdellä\Nentisellä Siemensin työntekijällä Dialogue: 0,0:26:56.16,0:27:03.36,Default,,0000,0000,0000,,joka kertoi työskennelleensä\Ntämän tiedostojärjestelmän parissa Dialogue: 0,0:27:03.36,0:27:07.68,Default,,0000,0000,0000,,toinen erittäin kriittinen osa toimintoja\Non tietenkin, että haluamme keskustella Dialogue: 0,0:27:07.68,0:27:14.56,Default,,0000,0000,0000,,PLClle ja se haluaa keskustella meille.\NYksi näistä tavoista on TCP/IP Dialogue: 0,0:27:14.56,0:27:19.28,Default,,0000,0000,0000,,Ja tämä paljastaa Web palvelun esimerkiksi,\Nsekä muita komponentteja Dialogue: 0,0:27:19.28,0:27:26.00,Default,,0000,0000,0000,,Tässä tapauksessa huomaamme, että Siemens\Nei rakentanut itse omaa, mikä on Dialogue: 0,0:27:26.00,0:27:31.15,Default,,0000,0000,0000,,todennäköisesti hyvä ajatus.\NHe käyttävät InterNiche TCP/IP Dialogue: 0,0:27:31.15,0:27:34.94,Default,,0000,0000,0000,,pinoa, jonka versio on 3.1 Dialogue: 0,0:27:34.94,0:27:37.76,Default,,0000,0000,0000,,Jos olet hyvä googlettamaan\Nvoit löytää jotain lähdekoodia Dialogue: 0,0:27:37.76,0:27:41.60,Default,,0000,0000,0000,,ja voit kartoittaa tämän firmwaren ja \Nkuinka se toimii. Joten se voisi Dialogue: 0,0:27:41.60,0:27:48.88,Default,,0000,0000,0000,,antaa sinulle wrapper funktioita, kuten\Nluoda socketeja ja sellaista ja voisit löytää Dialogue: 0,0:27:48.88,0:27:53.57,Default,,0000,0000,0000,,ne helpommin firmware imagesta Dialogue: 0,0:27:53.57,0:28:00.67,Default,,0000,0000,0000,,Yksi erittäin kriittinen ohjalmakomponentti\Nfirmwaressa on päivitys. Se sallii Dialogue: 0,0:28:00.67,0:28:06.65,Default,,0000,0000,0000,,päivittämisen ja Siemens PLC sallii\Npäivitykset, siinä on eri moodeja. Yhdessä Dialogue: 0,0:28:06.65,0:28:12.25,Default,,0000,0000,0000,,moodissa sinä vain raahaat ja pudotat UPD\Ntiedoston, päivitystiedoston web palvelimelle Dialogue: 0,0:28:12.25,0:28:18.89,Default,,0000,0000,0000,,ja se alkaa tarkastamaan firmwarea, eheyttä\Nja allekirjoitusta ja niin edelleen. Toinen Dialogue: 0,0:28:18.89,0:28:24.71,Default,,0000,0000,0000,,tapa on tehdä se SD kortin kautta, joka on\Nmahtavuutta 24 megatavua edulliseen Dialogue: 0,0:28:24.71,0:28:30.81,Default,,0000,0000,0000,,hintaan 250 euroa. Voit hankkia sen.\NEn usko, että päihität Dialogue: 0,0:28:30.81,0:28:39.26,Default,,0000,0000,0000,,sitä suhdetta. Mikäli purat sellaisen\NUPD tiedoston saat Dialogue: 0,0:28:39.26,0:28:43.14,Default,,0000,0000,0000,,toisen esityksen siitä muistissa.\NJa teimme sille vähän Dialogue: 0,0:28:43.14,0:28:47.39,Default,,0000,0000,0000,,takaisinmallinnusta ja saimme\Nerilaisia kenttiä, en ole varma näettekö niitä Dialogue: 0,0:28:47.39,0:28:53.71,Default,,0000,0000,0000,,mutta se oli eri offset:ja itse\Nbinääritiedostoon Dialogue: 0,0:28:53.71,0:28:57.95,Default,,0000,0000,0000,,Se on lähtöpiste firmwaren maagiseen\Nheaderiin jolla varmistetaan ettei asiat Dialogue: 0,0:28:57.95,0:29:03.77,Default,,0000,0000,0000,,ole liian sekaisin ja CRC kokonaisuudelle\Nesimerkiksi. Otimme talteen joitain Dialogue: 0,0:29:03.77,0:29:11.70,Default,,0000,0000,0000,,osoitteita firmwaressa, jotka auttavat\Nlöytämään jalansijan siihen logiikkaan Dialogue: 0,0:29:11.70,0:29:17.72,Default,,0000,0000,0000,,jota käsitellään ja se antaa sinulle \Nosoitteita, joihin voit verrata niitä jatkossa Dialogue: 0,0:29:17.72,0:29:23.38,Default,,0000,0000,0000,,Seuraava komponentti jota tutkimme on\NMiniweb, joka on web palvelin. Dialogue: 0,0:29:23.38,0:29:30.04,Default,,0000,0000,0000,,Se tavallaan paljastaa sinulle erilaisia\Nsisäisiä osia PLCssa ja missä tilassa Dialogue: 0,0:29:30.04,0:29:35.36,Default,,0000,0000,0000,,missä tilassa eri GPIOt, General Purpose \NInput Output ovat. Inputit Dialogue: 0,0:29:35.36,0:29:41.83,Default,,0000,0000,0000,,ja Outputit, sekä mikä on PLCn itsensä\Ntila ja miten se paljastaa sen Dialogue: 0,0:29:41.83,0:29:49.61,Default,,0000,0000,0000,,käyttäen MWSL kieltä. Miniweb Scripting\NLanguage. Se on kuten näemme seuraavassa, Dialogue: 0,0:29:49.61,0:29:55.13,Default,,0000,0000,0000,,seuraavassa, kalvossa ja puhumme siitä\Nhetken päästä tarkemmin. Dialogue: 0,0:29:55.13,0:30:01.89,Default,,0000,0000,0000,,Olemme käynnistäneet, palvelun kuten\Nmyös yhden palvelukäsittelijän Dialogue: 0,0:30:01.89,0:30:08.58,Default,,0000,0000,0000,,ADONIS alustus funktioista, joihin\Nviittasin vähän aiemmin Dialogue: 0,0:30:08.58,0:30:13.73,Default,,0000,0000,0000,,Katsotaan vähän dokumentoimattomia http \Nkäsittelijöitä, joiden uskon olevan Dialogue: 0,0:30:13.73,0:30:18.24,Default,,0000,0000,0000,,kiinnostavia. Omat suosikkini ovat\N"lililili" ja "lolololo" Dialogue: 0,0:30:18.24,0:30:20.39,Default,,0000,0000,0000,,{\i1}naurua{\i0} Dialogue: 0,0:30:20.39,0:30:25.18,Default,,0000,0000,0000,,... ja jos yhdistät ne nokkelasti, ehkä\Njoku on musiikkillisesti Dialogue: 0,0:30:25.18,0:30:33.23,Default,,0000,0000,0000,,lahjakas ja voi tehdä niistä laulun.\NOlisin kiinnostunut kuulemaan sen Dialogue: 0,0:30:33.23,0:30:37.58,Default,,0000,0000,0000,,Siirrytään MWLS, Miniweb Scripting\NLanguage:en. Se tavallaan Dialogue: 0,0:30:37.58,0:30:42.68,Default,,0000,0000,0000,,paljastaa sisäiset toiminnot sallimalla\Nsinun injektoida html sivulle Dialogue: 0,0:30:42.68,0:30:47.34,Default,,0000,0000,0000,,konfiguraatio templaten avulla eri\Nparametreja ja sellaista. Dialogue: 0,0:30:47.34,0:30:53.92,Default,,0000,0000,0000,,Esimerkiksi, kuten näemme tässä ylhäällä\Noikeassa kulmassa, näet prosessorin kuorman Dialogue: 0,0:30:53.92,0:30:59.41,Default,,0000,0000,0000,,järjestelmässä tietyllä hetkellä. Se ei\Nvaikuta suorittavan mitään ulostulon Dialogue: 0,0:30:59.41,0:31:05.70,Default,,0000,0000,0000,,koodausta, eli se tavallaan luottaa siihen\Nmitä tulee ulos. Joten voi olla fiksuja Dialogue: 0,0:31:05.70,0:31:12.90,Default,,0000,0000,0000,,tapoja tehdä web temppuja tämän kanssa\Nja myös tämän tokenisoinnin parsiminen Dialogue: 0,0:31:12.90,0:31:19.43,Default,,0000,0000,0000,,on tavallaan mutkikasta. Tutustuin siihen\Nvähän ja sen implementointia voisi olla Dialogue: 0,0:31:19.43,0:31:24.75,Default,,0000,0000,0000,,kiinnostavaa tutkia, mutta pääsemme sen\Nkaltaisiin asioihin vähän myöhemmin Dialogue: 0,0:31:24.75,0:31:30.41,Default,,0000,0000,0000,,Tämän kanssa pääsemme meidän\Nvarsinaisiin löydöksiin Dialogue: 0,0:31:30.41,0:31:33.93,Default,,0000,0000,0000,,ja puhumme niistä vähän lisää. Ja tässä\Nkohtaa Ali jatkaa. Dialogue: 0,0:31:34.60,0:31:43.12,Default,,0000,0000,0000,,Ali: Kiitos Tobi. Nyt puhumme kyvyistä,\Njotka ovat bootloaderissa, jotka Dialogue: 0,0:31:43.12,0:31:48.96,Default,,0000,0000,0000,,sallivat meille rajoittamattoman\Nkoodin ajamisen, periaatteessa Dialogue: 0,0:31:48.96,0:31:54.64,Default,,0000,0000,0000,,tämä ominaisuus on käytettävissä uart:ssa\NJoten tarvitset fyysisen pääsyn laitteeseen. Dialogue: 0,0:31:55.60,0:32:00.88,Default,,0000,0000,0000,,Mutta kun sinulla on fyysinen pääsy, voit\Ntavallaan, kuten Tobias myöhemmin kertoo, Dialogue: 0,0:32:00.88,0:32:05.12,Default,,0000,0000,0000,,voimme itseasiassa ohittaa turvallisuus\Njärjestelmät, jotka Siemens on kehittänyt Dialogue: 0,0:32:05.12,0:32:11.21,Default,,0000,0000,0000,,heidän tuotteeseen. Joten tarvitset uart\Npääsyn kuten dokumentoitu tässä, sinulla on Dialogue: 0,0:32:11.21,0:32:20.24,Default,,0000,0000,0000,,TX, RX ja GND PLC:ssa ja uart oli tosiaan\Nedellisessä tutkimuksessa jo dokumentoitu. Dialogue: 0,0:32:20.24,0:32:25.84,Default,,0000,0000,0000,,Jokainen osoite, josta puhun tässä tai\Nmainitsen tässä esityksessä Dialogue: 0,0:32:25.84,0:32:31.44,Default,,0000,0000,0000,,ovat bootloader versio neljä.yhteen.\NKuten mainittu aiemmin, Siemens Dialogue: 0,0:32:31.44,0:32:38.24,Default,,0000,0000,0000,,aktiivisesti muokkaa bootloaderia, joten \Nluulen, ettö kahdessa vuodessa näimme 2-3 Dialogue: 0,0:32:38.24,0:32:44.64,Default,,0000,0000,0000,,muokkausta tai erilaista versiota heidän\Nbootloaderista tulevan. Joten juuri Dialogue: 0,0:32:44.64,0:32:50.16,Default,,0000,0000,0000,,tämä pohjautuu siihen puolen sekunnin\Nodottamiseen tiettyä komentoa sekunttia Dialogue: 0,0:32:50.16,0:32:56.32,Default,,0000,0000,0000,,laitteen configuraation tapahduttua. Se \Nkoskee Siemens S7-1200 mukaan lukien Dialogue: 0,0:32:56.32,0:33:02.80,Default,,0000,0000,0000,,SiPLUS ja S7-200 SMART. Itse asiassa joku\NKasperskyltä. IS Security mainitsi Dialogue: 0,0:33:02.80,0:33:08.00,Default,,0000,0000,0000,,siitä. Me emme edes tienneet siitä.\NMe vain tutkimme S7-1200:sta. Mutta Dialogue: 0,0:33:08.00,0:33:14.40,Default,,0000,0000,0000,,Siemens myöhemmin päivitti sen ohjeistuksen\Njoka koskee muita tuotteita myös. Dialogue: 0,0:33:14.40,0:33:19.39,Default,,0000,0000,0000,,Joten puhutaan tästä, erikois pääsy\Nominaisuudesta. Kuten mainitsit, yksi Dialogue: 0,0:33:19.39,0:33:22.82,Default,,0000,0000,0000,,asia, jonka bootloader itse asiassa\Nalustaa raudan. Tämän jälkeen laite Dialogue: 0,0:33:22.82,0:33:27.36,Default,,0000,0000,0000,,se tavallaan kopioi osan bootloaderin\Nsisällöstä itseensä muistisegmenttiin Dialogue: 0,0:33:27.36,0:33:36.00,Default,,0000,0000,0000,,jota kutsutaan IRAM:ksi, periaatteessa. Ja\Nsitten PLC odottaa puoli sekuntia tiettyä Dialogue: 0,0:33:36.00,0:33:39.68,Default,,0000,0000,0000,,komentoa. Ja kun se tämän saa, tämän\Ntietyn komennon se vastaa Dialogue: 0,0:33:39.68,0:33:44.16,Default,,0000,0000,0000,,tietyllä merkkijonolla ja se tapahtuu \Nuart:in yli. Joten jos lähetät Dialogue: 0,0:33:44.16,0:33:50.35,Default,,0000,0000,0000,,taikajonon, MFGT1, anteeksi huono saksani,\Nmutta se todennäköisesti tarkoittaa Dialogue: 0,0:33:50.35,0:33:57.94,Default,,0000,0000,0000,,"Mit freundlichen Grüßen", toivon että tein\Nse oikein. Ja sen jälkeen PLC vastaa Dialogue: 0,0:33:57.94,0:34:02.08,Default,,0000,0000,0000,,"-CPU" ja sanoo, että nyt olet tässä\Nerikois pääsy tilassa. Odotan sinun Dialogue: 0,0:34:02.08,0:34:10.88,Default,,0000,0000,0000,,komentoja. Ja tässä osoitteessa on myös\Nuskon 0xedf8 bootloaderissa. Joten tässä Dialogue: 0,0:34:10.88,0:34:16.48,Default,,0000,0000,0000,,on dekoodaus meidän clientista, jonka\Njulkaisemme ensi vuonna, itse asiassa, Dialogue: 0,0:34:16.48,0:34:25.12,Default,,0000,0000,0000,,josta näet, se on 2d435055, joka on se\N"-CPU" vastaus PLC:lta. Joten nyt olemme Dialogue: 0,0:34:25.12,0:34:30.56,Default,,0000,0000,0000,,siinä sisällä. Ja me myös lisäsimme vähän\Nextra viestiä tähän paketin formaattiin Dialogue: 0,0:34:30.56,0:34:36.88,Default,,0000,0000,0000,,Joku kysyi aikaisemmin. Eli kun lähetät\Ntämän komennon, saat useita toimintoja Dialogue: 0,0:34:37.60,0:34:43.36,Default,,0000,0000,0000,,tästä esityksestä käyttöön. Kutsumme niitä\Nkäsittelijöiksi ja periaatteessa ne ovat jotain Dialogue: 0,0:34:43.36,0:34:49.84,Default,,0000,0000,0000,,jota kutsumme pääkäsittelijöiksi.\Nse on jotain 128 merkintää ja siellä on Dialogue: 0,0:34:49.84,0:34:57.60,Default,,0000,0000,0000,,noin 3 erillistä käsittelijää, jotka ovat\Nkuin 0x80 uart konfigurointi ja moikka. Dialogue: 0,0:34:57.60,0:35:01.68,Default,,0000,0000,0000,,Pääkäsittelijässä on paljon asioita.\NJos palaat taaksepäin kaksi kalvoa Dialogue: 0,0:35:01.68,0:35:10.88,Default,,0000,0000,0000,,minulla on firmware versio tässä,\N4.2.3 ja periaatteessa mitä Dialogue: 0,0:35:10.88,0:35:14.89,Default,,0000,0000,0000,,tapahtuu on, että periaatteessa se on\Ntämä komento tässä, get bootloader Dialogue: 0,0:35:14.89,0:35:19.72,Default,,0000,0000,0000,,version. Me vain pyydämme erityis\Npääsy ominaisuutta kertomaan meille Dialogue: 0,0:35:19.72,0:35:24.78,Default,,0000,0000,0000,,mikä on bootloader versio. Ja voit myös\Ntehdä paljon alemman tason diagnostiikkaa Dialogue: 0,0:35:24.78,0:35:28.93,Default,,0000,0000,0000,,toiminnot tapahtuvat siellä. Myös jotkut\Nfirmwareen liittyvät päivitystoimet Dialogue: 0,0:35:28.93,0:35:34.52,Default,,0000,0000,0000,,tapahtuvat siellä, jotka ohittavat taval-\Nliset kryptografiset varmistukset Dialogue: 0,0:35:34.52,0:35:42.54,Default,,0000,0000,0000,,firmwaresta, eikä niitä tarvita. Joten\Nvilkaistaan niitä, koska tämä työ, josta Dialogue: 0,0:35:42.54,0:35:46.63,Default,,0000,0000,0000,,puhumme, me pääasiassa käytimme vain\Nkahta käsitteijää, joten emme käytä... Dialogue: 0,0:35:46.63,0:35:51.52,Default,,0000,0000,0000,,emme katso tai emme nyt puhu kaikista\Nmuista Dialogue: 0,0:35:51.52,0:35:58.28,Default,,0000,0000,0000,,128 käsittelijästä jotka ovat PLC:ssa. \NJoten se toimii. Yksi käsittelijöistä, Dialogue: 0,0:35:58.28,0:36:05.91,Default,,0000,0000,0000,,meitä kiinnostava, oli käsittelijä 0x80\Njoka mainitaan tässä, päivitysfunktio. Dialogue: 0,0:36:05.91,0:36:11.07,Default,,0000,0000,0000,,Se periaatteessa antaa sinulle luvan\Nkirjoittaa tiettyyn osaan muistia Dialogue: 0,0:36:11.07,0:36:17.26,Default,,0000,0000,0000,,IRAM, joka aiemmin kopioi osan\Nbootloaderin sisällöstä. Käytännössä Dialogue: 0,0:36:17.26,0:36:21.73,Default,,0000,0000,0000,,lähetät tämän käsittelijän tämän kättelyn\Njälkeen, sinun pitää tehdä tämä MFGT1 ja Dialogue: 0,0:36:21.73,0:36:25.79,Default,,0000,0000,0000,,sitten -CPU. Ja sitten pariaatteessa aiot\Nlähettää tämän käsittelijän ja se tavallaan Dialogue: 0,0:36:25.79,0:36:29.71,Default,,0000,0000,0000,,tarkastaa, koska joka käsittelijällä voi\Nolla eri vaatimukset. Tarkastaa Dialogue: 0,0:36:29.71,0:36:34.23,Default,,0000,0000,0000,,argumenttien määrän, esimerkiksi, ja\Nsitten olet tässä päivitys funktio tilassa Dialogue: 0,0:36:34.23,0:36:38.84,Default,,0000,0000,0000,,Sitten sinun pitää antaa kohde ID koska\Nsiinä on 4 alifunktiota saatavilla Dialogue: 0,0:36:38.84,0:36:45.35,Default,,0000,0000,0000,,Kun siirryt tähän tilaan ja jotkut niistä\Novat IRAM:ia, SPI:ta tai IOC:a tai Dialogue: 0,0:36:45.35,0:36:51.55,Default,,0000,0000,0000,,Flashia varten, ja jokaista varten, sinun\Npitää valita minkälaisen operaation haluat Dialogue: 0,0:36:51.55,0:36:58.03,Default,,0000,0000,0000,,tehdä, haluatko konfiguroida, lukea, \Nkirjoittaa tai tarkastaa. Ja voit tehdä Dialogue: 0,0:36:58.03,0:37:02.88,Default,,0000,0000,0000,,kaikkia näitä. Voit lukea ja kirjoittaa\NIRAMia. Periaatteessa tämä on funktio Dialogue: 0,0:37:02.88,0:37:09.74,Default,,0000,0000,0000,,käsittelijä 0x80:ssa. Seuraavaksi on pää\Nkäsittelijä 0x1c. Tämä on listattu tässä Dialogue: 0,0:37:09.74,0:37:19.87,Default,,0000,0000,0000,,listassa, tässä. Se, se periaatteessa sallii\Nsinun kutsua funktioita. Periaatteessa nämä Dialogue: 0,0:37:19.87,0:37:24.00,Default,,0000,0000,0000,,funktiot on listattu IRAMssa. Ja mitä\Ntavallaan teet, on että lähetät tämän Dialogue: 0,0:37:24.00,0:37:29.40,Default,,0000,0000,0000,,kättelyn, sinä olet ja sinä olet tämä.\NPeriaatteessa tämä on 0xc1 käsittelijä ja Dialogue: 0,0:37:29.40,0:37:34.52,Default,,0000,0000,0000,,sitten voit kutsua ID numeroa sille \Nkäsittelijälle jota haluat käyttää. Dialogue: 0,0:37:34.52,0:37:41.92,Default,,0000,0000,0000,,Tässä on useita käsitteöijöitä tarjolla\N0x1c:lle. Joten kysymys on mitä voimme Dialogue: 0,0:37:41.92,0:37:50.84,Default,,0000,0000,0000,,tehdä sillä. Ja ennen kuin kysyn Tobiakselta\NKysyn kaikilta täällä, ideoita ? Trace, Dialogue: 0,0:37:50.84,0:37:53.94,Default,,0000,0000,0000,,joku sanoi trace. En tiedä mitä se\Ntarkoittaa, mutta Dialogue: 0,0:37:53.94,0:37:57.88,Default,,0000,0000,0000,,{\i1}muminaa yleisössä{\i0} Dialogue: 0,0:37:57.88,0:38:04.16,Default,,0000,0000,0000,,OK, tarkoitat JTAG kanssa? CoreSight\Nkanssa? Ei, emme aio käyttää sitä Dialogue: 0,0:38:04.16,0:38:07.16,Default,,0000,0000,0000,,Joten kysytään Tobiakselta mitä hän\Npystyy tekemään. Dialogue: 0,0:38:07.16,0:38:11.44,Default,,0000,0000,0000,,Tobias: Yaeh, katsottaessa dynaamisesti ja\Nnäkien mitä se tekee muistin kanssa on, Dialogue: 0,0:38:11.44,0:38:15.23,Default,,0000,0000,0000,,luulen, hyvä ajatus yleisesti. Jos vaikka\Nstaattinen takaisinmallinnus ei anna Dialogue: 0,0:38:15.23,0:38:20.72,Default,,0000,0000,0000,,sinulle mitään. Tässä tapauksessa katsoime\Ntai minä katsoin läpi eri funktioita Dialogue: 0,0:38:20.72,0:38:26.58,Default,,0000,0000,0000,,ja koitin selvittää, mitä voin tehdä\Nniillä Dialogue: 0,0:38:26.58,0:38:32.08,Default,,0000,0000,0000,,Kun aloitin katsomaan tätä erikois\Npääsy ominaisuutta, näin periaatteessa Dialogue: 0,0:38:32.08,0:38:37.48,Default,,0000,0000,0000,,että siinä koodissa on liikaa meneillään.\NTavallaan tunsin, että tiesin mitä Dialogue: 0,0:38:37.48,0:38:42.42,Default,,0000,0000,0000,,pitäisi olla meneillään. Bootloader, mitä\Nsen pitäisi olla tekemässä, mutta se Dialogue: 0,0:38:42.42,0:38:50.17,Default,,0000,0000,0000,,tuntui vain olevan liikaa. Ja kuinka voimme\Nyhdistää ne kaksi funktiota on kertausta. Dialogue: 0,0:38:50.17,0:39:01.67,Default,,0000,0000,0000,,Käytetään tätä 0x1c käsitelijää, joka \Nantaa meille kontrollin, minkälaista Dialogue: 0,0:39:01.67,0:39:07.56,Default,,0000,0000,0000,,toisen listan funktioista kutsutaan, kuten\Nnäimme aiemmin, kopioidaan käynnistymis Dialogue: 0,0:39:07.56,0:39:13.72,Default,,0000,0000,0000,,prosessissa sijaintiin IRAMssa ulkoiselta\Nread only muistilta. Ja tämä Dialogue: 0,0:39:13.72,0:39:19.86,Default,,0000,0000,0000,,paljastaa tämän funktiokäsittelijä taulun\Nkaikelle mikä voi kirjoittaa IRAM:iin. Ja Dialogue: 0,0:39:19.86,0:39:25.95,Default,,0000,0000,0000,,kuten opimme aiemmin, 0x80 käsittelijä\Npienissä määrin, pystyy tekemään juuri Dialogue: 0,0:39:25.95,0:39:32.13,Default,,0000,0000,0000,,sen. Ja tässä näemme mitä voimme koittaa\Ntehdä sillä. Joten käytämme ensimmäisessä Dialogue: 0,0:39:32.13,0:39:38.53,Default,,0000,0000,0000,,vaiheessa 0x80 käsittelijää kirjoittamaan \NIRAMiin. Voimme todellisuudessa injektoida Dialogue: 0,0:39:38.53,0:39:43.92,Default,,0000,0000,0000,,Toisen funktiopointerin yhdessä konfiguraatio\Narvojen kanssa, joka ohittaa erilaiset Dialogue: 0,0:39:43.92,0:39:49.58,Default,,0000,0000,0000,,tarkastukset argumenttien koolle ja sen\Nsellaiselle. Voimme injektoida tämän Dialogue: 0,0:39:49.58,0:39:56.29,Default,,0000,0000,0000,,merkintänä tauluun ja voimme kirjoittaa\Ntauluun myös payloadin, jota käytämme Dialogue: 0,0:39:56.29,0:40:02.76,Default,,0000,0000,0000,,shell koodina. Ja sitten toisessa vaiheessa\Nvoimme käyttää tätä aiemmin injektoitua Dialogue: 0,0:40:02.76,0:40:11.97,Default,,0000,0000,0000,,indexia jonka määritimme, laukaisemaan\Nkutsun omaan payloadiimme. Joten nyt Dialogue: 0,0:40:11.97,0:40:17.16,Default,,0000,0000,0000,,meillä on ajossa koodia bootloader\Nkontekstissa. Joka on niin etuoikeutettu Dialogue: 0,0:40:17.16,0:40:24.21,Default,,0000,0000,0000,,kuin mihin tässä vaiheessa pääsemme. Ja\Nvoimme leikkiä vähän sen kanssa. Dialogue: 0,0:40:24.21,0:40:29.56,Default,,0000,0000,0000,,Ja yhteenvetona voimme ketjuttaa kaiken\Ntämän yhteen ja saamme koodin suorituksen Dialogue: 0,0:40:29.56,0:40:35.62,Default,,0000,0000,0000,,Ja Alin sanoin, tällä tekniikalla\Nraketoimme PLCn. Ja ennen kuin Dialogue: 0,0:40:35.62,0:40:40.90,Default,,0000,0000,0000,,menemme siihen, mitä tämä antaa meidän\Ntehdä, sananen vaiheistetusta payloadista Dialogue: 0,0:40:40.90,0:40:47.00,Default,,0000,0000,0000,,Eli kirjoitin tämän ketjun erilaisia\Nkutsuja ja paljastui, että tämä Dialogue: 0,0:40:47.00,0:40:52.33,Default,,0000,0000,0000,,kirjoittaminen IRAMiin on jotenkin\Nensinnäkin hidasta, mutta myös herkkä Dialogue: 0,0:40:52.33,0:40:56.74,Default,,0000,0000,0000,,virheille, joten laite voi mennä virhetilaan\Nenkä ole aivan varma mitä se koskee Dialogue: 0,0:40:56.74,0:41:03.50,Default,,0000,0000,0000,,mutta olisi mielenkiintoista kuulla se\NSiemens insinööriltä, mutta se johti Dialogue: 0,0:41:03.50,0:41:08.67,Default,,0000,0000,0000,,minut injektoimaan vähän enkoodattua\Npayloadia, jossa on vain osa Dialogue: 0,0:41:08.67,0:41:16.34,Default,,0000,0000,0000,,tavuista, joka antaa meille liittymän\Nsuorittaa Dialogue: 0,0:41:16.34,0:41:20.12,Default,,0000,0000,0000,,lukuja ja kirjoittamisia mielivaltaisesti\Nkirjoittaa ja käyttää tätä injektoidessa Dialogue: 0,0:41:20.12,0:41:25.00,Default,,0000,0000,0000,,tason kaksi payloadit. Ja tätä haluamme\Nhavainnollistaa tässä. Dialogue: 0,0:41:26.74,0:41:32.80,Default,,0000,0000,0000,,Ali: Kiitos, nyt voisimme esittää demon, \N4 demoa itse asiassa. Ensimmäinen on Dialogue: 0,0:41:32.80,0:41:37.16,Default,,0000,0000,0000,,vain kommunikaation näkeminen, peri-\Naatteessa lähetetään nämä pyynnöt ja Dialogue: 0,0:41:37.16,0:41:42.26,Default,,0000,0000,0000,,saadaan vastaus ja periaatteessa lähetetään\Ntämä data payload. Ylhäällä on raaka Dialogue: 0,0:41:42.26,0:41:48.49,Default,,0000,0000,0000,,UART kommunikaatio. Älkää huolehtiko, se\Nsuurennetaan myöhemmin ja alhaalla on Dialogue: 0,0:41:48.49,0:41:55.57,Default,,0000,0000,0000,,meidän client, joka keskustelee PLClle\Nja lähettää meidän kommentit. Joten Dialogue: 0,0:41:55.57,0:42:01.13,Default,,0000,0000,0000,,vain ajamme UARTia. Ja tässä lähetämme\Nkomentomme. Ja jos katsot ylhäälle näet Dialogue: 0,0:42:01.13,0:42:07.05,Default,,0000,0000,0000,,-CPU signaali tuli PLClta.\NJa nyt lähetämme vaiheistuksemme Dialogue: 0,0:42:07.05,0:42:11.63,Default,,0000,0000,0000,,ja vaiheistuksemme lähettää vain\Nkuittauksen, että tiedämme vaiheistuksen Dialogue: 0,0:42:11.63,0:42:16.01,Default,,0000,0000,0000,,toimivan kunnolla. Tämä on firmware versio\Nbootloader versio 4.2.1, periaatteessa Dialogue: 0,0:42:16.01,0:42:19.65,Default,,0000,0000,0000,,Joten nyt aiomme tehdä jotain muuta, aiomme\Naiomme tosiasiassa dumpata Dialogue: 0,0:42:19.65,0:42:24.23,Default,,0000,0000,0000,,firmwaren käynnissä olevasta PLCsta ja\Nverrata sitä firmwareen joka on ladattu Dialogue: 0,0:42:24.23,0:42:30.91,Default,,0000,0000,0000,,Siemensin web sivulta. Ensin me aiomme \Ntosiaan purkaa firmwaren jonka latasimme Dialogue: 0,0:42:30.91,0:42:35.52,Default,,0000,0000,0000,,Siemensin websivuilta, koska se on pakattu\Nlzp3:lla. Dialogue: 0,0:42:38.08,0:42:43.36,Default,,0000,0000,0000,,Eli niin aiomme toimia. Oh ja aiomme\Noikeastaan ensin muodostaa SSL yhteyden. Dialogue: 0,0:42:43.36,0:42:50.32,Default,,0000,0000,0000,,Joten, SSL portin ohjaus, SSH portin ohjaus\Nensin ja olemme juuri tarkastamassa että Dialogue: 0,0:42:50.32,0:42:56.95,Default,,0000,0000,0000,,PLC toimii oikein. Ettei tämä ole \Nviallinen PLC tai jotain sellaista Dialogue: 0,0:42:56.95,0:43:02.11,Default,,0000,0000,0000,,Kirjoitimme jotain. Varmistamme vain että\Nweb palvelin avautuu. aukeaa Dialogue: 0,0:43:02.76,0:43:12.64,Default,,0000,0000,0000,,se on auki, se on hyvä. Ja koitan yös\Nkirjautua websivulle web serverille Dialogue: 0,0:43:12.64,0:43:16.72,Default,,0000,0000,0000,,web palvelimelle PCLssa. Taas, varmista \Nettä PLC on toimiva Dialogue: 0,0:43:16.72,0:43:23.92,Default,,0000,0000,0000,,Myös syötetään salasana. Luulen, että \Nkaikki voivat sen arvata. Ja näet että Dialogue: 0,0:43:23.92,0:43:28.72,Default,,0000,0000,0000,,kirjaudumme viimein ja vasemmalla näet\Nkaikki toiminnallisuudet jotka Dialogue: 0,0:43:28.72,0:43:34.32,Default,,0000,0000,0000,,latautuvat PLChen liittyen. Joten se on\Nkäynnissä, käyvä, toimiva PLC. Ja nyt Dialogue: 0,0:43:34.32,0:43:39.68,Default,,0000,0000,0000,,puretaan firmware, joka ladattiin\NSiemensin websivuilta Dialogue: 0,0:43:39.68,0:43:43.96,Default,,0000,0000,0000,,vientilisenssin tarkastamisen jälkeen jne.\NEli he haluavat varmistaa etteivät Dialogue: 0,0:43:43.96,0:43:51.66,Default,,0000,0000,0000,,ihmiset Iranissa ja Pohjois Koreassa saa\Nsitä. Minä olen Iranista muuten. Joten Dialogue: 0,0:43:51.66,0:43:55.48,Default,,0000,0000,0000,,tässä on purettu firmware. Mutta koska \Npäivitysnopeus on iso, kuten Tobias Dialogue: 0,0:43:55.48,0:43:59.42,Default,,0000,0000,0000,,mainitsi aiemmin, me vain aiomme\Nviedä Dialogue: 0,0:43:59.42,0:44:05.05,Default,,0000,0000,0000,,256 kilotavua firmwarea jostain osasta\Nweb palvelua IDAan. Dialogue: 0,0:44:05.05,0:44:10.36,Default,,0000,0000,0000,,Sinun täytyy asettaa big endian CPUlle.\NJa myös asemoida framework uudelleen Dialogue: 0,0:44:10.36,0:44:15.35,Default,,0000,0000,0000,,Kuten näet, täällä ei ole funktiota vielä,\Nmutta kun se on asemoitu, meillä on kaikki Dialogue: 0,0:44:15.35,0:44:24.54,Default,,0000,0000,0000,,funktiot ja yeah, ja sitten meidän täytyy\Nvain ottaa ja viedä 256 kilotavua firmwaresta Dialogue: 0,0:44:24.54,0:44:29.41,Default,,0000,0000,0000,,joten me tarkoituksella hidastamme UARTia\Nkoska haluamme varmistaa että emme Dialogue: 0,0:44:29.41,0:44:33.29,Default,,0000,0000,0000,,tee sitä liian nopeasti ja ylivuoda \Npuskuria, joka on PLCn sisäinen Dialogue: 0,0:44:33.29,0:44:41.90,Default,,0000,0000,0000,,Tässä, esimerkiksi, tässä osoitteessa,\N691e28 aiomme exportata 256 kilotavua Dialogue: 0,0:44:41.90,0:44:45.88,Default,,0000,0000,0000,,Tämä on laiteohjelmistosta, Siemens\Nfirmwaresta. Oikein. Me vain exporttaamme Dialogue: 0,0:44:45.88,0:45:00.74,Default,,0000,0000,0000,,sen. Eli, yeah, sitä kutsutaan nyt \Nfw-0x691E28 ulostulo kansiossa. Eli nyt Dialogue: 0,0:45:00.74,0:45:05.64,Default,,0000,0000,0000,,olemme valmiit tämän kanssa. Aiomme \Ndumpata saman osoitteen PLCsta, eli Dialogue: 0,0:45:05.64,0:45:11.96,Default,,0000,0000,0000,,toimivasta PLCsta. Pitää mainita jälleen.\NEli yläosa on periaatteessa raaka UART Dialogue: 0,0:45:11.96,0:45:17.96,Default,,0000,0000,0000,,ja tämä on meidän client osa ja me dump-\Npaamme sen kylmäkäynnistys hyökkäyksellä Dialogue: 0,0:45:17.96,0:45:22.15,Default,,0000,0000,0000,,Eli tavallaan resetoimme PLCn. Ja ennen \Nkuin se on ohi, kirjoitamme RAM:in Dialogue: 0,0:45:22.15,0:45:28.96,Default,,0000,0000,0000,,me periaatteessa dumppaamme sisällön\NRAM:sta. Eli tämä on osoite 0x691e28. Dialogue: 0,0:45:28.96,0:45:34.99,Default,,0000,0000,0000,,Tämä on samasta osoitteesta periaatteessa.\NJa dumppaamme 256 kilotavua ja tässä Dialogue: 0,0:45:34.99,0:45:41.07,Default,,0000,0000,0000,,lähetämme MFGT1 periaatteessa ja saamme\N-CPU ja sitten loput vaiheistajasta ja muut Dialogue: 0,0:45:41.07,0:45:48.81,Default,,0000,0000,0000,,menevät. Nyt periaatteessa olemme lähet-\Ntämässä paketteja ja lopulta saamme Dialogue: 0,0:45:48.81,0:45:57.48,Default,,0000,0000,0000,,vastauksen. Saimme tavallaan kaiken payloadin \Nkuin dumppasimme mem_dump_00691e28 Dialogue: 0,0:45:57.48,0:46:03.34,Default,,0000,0000,0000,,Tämä on PLCn RAM muistista. Tämä ei\Nole enää Siemens web sivulta Dialogue: 0,0:46:03.34,0:46:17.30,Default,,0000,0000,0000,,Me nappasimme sen omasta koneesta ja \Nvertaamme sitä. Dialogue: 0,0:46:17.30,0:46:21.89,Default,,0000,0000,0000,,Eli meillä on muistidumppi ja alkuperäinen\Nfirmware 265 Kb molempia. Ja sitten Dialogue: 0,0:46:21.89,0:46:28.98,Default,,0000,0000,0000,,aiomme verrata niitä keskenään. Ja kuten\Nnäette, sen pitäisi näyttää teille kuten Dialogue: 0,0:46:28.98,0:46:32.76,Default,,0000,0000,0000,,täydellinen 100% vastaavuus. Tarkoittaen\Nettö se on täsmälleen sama firmware, Dialogue: 0,0:46:32.76,0:46:37.14,Default,,0000,0000,0000,,joka on saatavilla Siemensin web sivulta.\NDumppasimme sen suoraan Siemens PLC Dialogue: 0,0:46:37.14,0:46:44.28,Default,,0000,0000,0000,,muistista käyttäen esikoispääsy ominai-\Nsuutta. Tehdäänpä toinenkin. Tällä kertaa Dialogue: 0,0:46:44.28,0:46:47.90,Default,,0000,0000,0000,,haluamme näyttää rajoittamattoman koodin\Nsuorittamisen hyvin yksinkertaisesti. Dialogue: 0,0:46:47.90,0:46:53.47,Default,,0000,0000,0000,,Kirjoitamme vain kustomoidun payloadin\NPLClle ja saamme tervehdyksen PLClta. Dialogue: 0,0:46:53.47,0:46:57.96,Default,,0000,0000,0000,,tervehdyksen PLClta. Periaatteessa pyysimme\NPLCta lähettämään tätä viestä Dialogue: 0,0:46:57.96,0:47:04.92,Default,,0000,0000,0000,,koko ajan jatkuvasti. Eli jälleen, lähetämme\Nkustomoidun payloadimme tänne ja Dialogue: 0,0:47:04.92,0:47:13.45,Default,,0000,0000,0000,,sanomme hello loop. Ja periaatteessa\NPLC yksinkertaisesti lähettää tämän loopin Dialogue: 0,0:47:13.45,0:47:24.40,Default,,0000,0000,0000,,meille. Kaikki nämä asiat, jälleen, ovat\Nbootloader 4.2.1:lle. Sinun pitää muokata Dialogue: 0,0:47:24.40,0:47:29.70,Default,,0000,0000,0000,,tiettyjä asioita, koska Siemens sanoo, että\Nhe päivittivät taas bootloaderinsa 2019 Dialogue: 0,0:47:29.70,0:47:36.46,Default,,0000,0000,0000,,joulukuussa, jolloin ostimme uuden PLCn,\Njälleen, taas. Ja nyt tässä saamme Dialogue: 0,0:47:36.46,0:47:42.100,Default,,0000,0000,0000,,vastauksen. Tuo on PLC, joka lähettää\Nperiaatteessa meille meidän raakadataa Dialogue: 0,0:47:42.100,0:47:46.89,Default,,0000,0000,0000,,jota PLC meille jatkuvasti lähettää. Tuo\Nnäyttää meille että vastaanotamme sitä. Dialogue: 0,0:47:46.89,0:47:53.85,Default,,0000,0000,0000,,Mutta tämä oli ehkä liian yksinkertaista. \NNämä ovat raakadataa jota saamme PLC:lta. Dialogue: 0,0:47:53.85,0:47:57.76,Default,,0000,0000,0000,,Tehdään jotain monimutkaisempaa. Näytetään\Njotain, joka ei ole peräisin meiltä. Dialogue: 0,0:47:57.76,0:48:04.17,Default,,0000,0000,0000,,Pelataan peliä nimeltä ristinolla PLCn\Nsisällä. Ja luulen, että ellet tiedä, Dialogue: 0,0:48:04.17,0:48:08.87,Default,,0000,0000,0000,,näin ristinolla, näin minä pelaan\Nminä vain piirrän Dialogue: 0,0:48:08.87,0:48:20.31,Default,,0000,0000,0000,,googlella. Joten nyt lähetämme jälleen\Nmeidän kustom payloadin, mutta tällä Dialogue: 0,0:48:20.31,0:48:25.36,Default,,0000,0000,0000,,kertaa lähetämme vain osittaisia kyselyitä\Njoltain toiselta Internetistä ja vain Dialogue: 0,0:48:25.36,0:48:30.09,Default,,0000,0000,0000,,lataamme ne PLChen. Luonnollisesti sinun\Npitää säätää useita asioita. Dialogue: 0,0:48:30.09,0:48:38.73,Default,,0000,0000,0000,,Mutta lähetämme meidän payloadin,\Nmukaanlukien vaiheistuksen ja nämä Dialogue: 0,0:48:38.73,0:48:44.96,Default,,0000,0000,0000,,ovat raakadataa. Jälleen, tässä on meidän\Nclient. Ja lopulta näet ristinolla Dialogue: 0,0:48:44.96,0:48:50.18,Default,,0000,0000,0000,,käyttöliittymän, johon menet. Eli pelaaja1\Npelaa oikeasti X:lla Dialogue: 0,0:48:50.18,0:48:54.87,Default,,0000,0000,0000,,ja pelaaja2 pelaa 0:lla. Joten näet kaikki\Npositiot, joista valitset. Dialogue: 0,0:48:54.87,0:49:04.83,Default,,0000,0000,0000,,Sinulla on X ja toivottavasti \Npelaaja1 voittaa. Ja siinä se oli. Dialogue: 0,0:49:04.83,0:49:15.68,Default,,0000,0000,0000,,Siinä oli demo.\N{\i1}aplodeja{\i0} Dialogue: 0,0:49:15.68,0:49:19.89,Default,,0000,0000,0000,,Luonnollisesti, on paljon muitakin ideoita\Njoita voimme työstää, injektoida muuta Dialogue: 0,0:49:19.89,0:49:24.56,Default,,0000,0000,0000,,kustom koodia, käyttää erikoispääsy\Nominaisuutta, jatkamme tätä työtä. Dialogue: 0,0:49:24.56,0:49:30.32,Default,,0000,0000,0000,,Kuten muitakin asioita Siemensissa,\Nolemme pahoillamme Siemens, me vain Dialogue: 0,0:49:30.32,0:49:35.93,Default,,0000,0000,0000,,jatkamme tätä työtä, mutta jatkoa seuraa\Nvielä. Sillä välin, on joitain ajatuksia Dialogue: 0,0:49:35.93,0:49:40.88,Default,,0000,0000,0000,,muille ihmisille, mikäli he katsovat tätä \Nja tutkivat turvallisuutta Dialogue: 0,0:49:40.88,0:49:45.86,Default,,0000,0000,0000,,Siemens PLC:ssa. Eli käyttämällä tätä \Nerikoispääsyä, voit tehdä joitain asioita. Dialogue: 0,0:49:45.86,0:49:49.83,Default,,0000,0000,0000,,Eli esimerkiksi, voit käyttää tätä\Nprophylaxis toiminnallisuutta Dialogue: 0,0:49:49.83,0:49:54.61,Default,,0000,0000,0000,,kirjoittaaksesi firmwareen. Kuten mainit-\Nsimme funktio on käytettävissä, ja se Dialogue: 0,0:49:54.61,0:49:59.32,Default,,0000,0000,0000,,ei vaadi kryptografista allekirjoitusta,\Njota tavallisesti päivitys prosessissa Dialogue: 0,0:49:59.32,0:50:03.92,Default,,0000,0000,0000,,on firmwaressa saatavilla. Eli voit vain \Nohittaa sen ja se on vain CRC Dialogue: 0,0:50:03.92,0:50:08.97,Default,,0000,0000,0000,,tarkastussumma. Eli mitä voit tehdä,\Nesimerkiksi, lisätä merkinnän organisoimaan Dialogue: 0,0:50:08.97,0:50:13.45,Default,,0000,0000,0000,,vaikka alustusrutiinia, joka on saatavilla.\NJa sitten mitä voit tehdä ennen Dialogue: 0,0:50:13.45,0:50:19.11,Default,,0000,0000,0000,,organisoitua alustusrutiinia, jota\Nkutsumme th_initial Dialogue: 0,0:50:19.70,0:50:21.17,Default,,0000,0000,0000,,Toinen mitä voimme tehdä, Dialogue: 0,0:50:21.17,0:50:23.89,Default,,0000,0000,0000,,mikäli muistatte, Tobias puhui\Ndokumentoimattomista Dialogue: 0,0:50:23.89,0:50:27.68,Default,,0000,0000,0000,,ja luovuudesta tuottaa musiikkia\Nli li li lo lo lo Dialogue: 0,0:50:27.68,0:50:30.56,Default,,0000,0000,0000,,Eli mitä joku voi tehdä on Dialogue: 0,0:50:30.56,0:50:35.87,Default,,0000,0000,0000,,periaatteessa liittää tietty käsittelijä \Ntai ylikirjoittaa olemassaoleva. Dialogue: 0,0:50:35.87,0:50:39.76,Default,,0000,0000,0000,,Ja laittaa se tekemään jotain kuin Triton.\NEn tiedä tunteeko sitä kukaan, Dialogue: 0,0:50:39.76,0:50:42.66,Default,,0000,0000,0000,,mutta Triton joka on malware, \Njoka hyökkäsi petrokemian Dialogue: 0,0:50:42.66,0:50:44.34,Default,,0000,0000,0000,,tehtaaseen Saudi Arabiassa.\NEli he yrittivät Dialogue: 0,0:50:44.34,0:50:47.86,Default,,0000,0000,0000,,tehdä sen TCPlla. Mutta hyökkääjä\Nvoisi ehkä tehdä sen http:lla esimerkiksi Dialogue: 0,0:50:47.86,0:50:54.09,Default,,0000,0000,0000,,ja vain odottaa ja kuunnella kommentteja\Nja muita vaihtoehtoja kuten Dialogue: 0,0:50:54.09,0:51:00.95,Default,,0000,0000,0000,,päivittää jump taulut AWP käsittelijöissä,\Njoita voidaan myös käyttää prosessoimaan Dialogue: 0,0:51:00.95,0:51:08.74,Default,,0000,0000,0000,,tiettyjä hyökkäyksiä. Eli mitäs muuta\Nsitä olisi? Eli mitä tutkimme Dialogue: 0,0:51:10.04,0:51:10.92,Default,,0000,0000,0000,,Me tutkimme Dialogue: 0,0:51:10.92,0:51:15.77,Default,,0000,0000,0000,,hyökkäyspinta-alaa Siemens S7 PLC:ssa\NSiinä on joitan mahdollisuuksia paikalliseen Dialogue: 0,0:51:15.77,0:51:19.84,Default,,0000,0000,0000,,käyttäjätaso hyökkäykseen. Jota voimme...\NMitä katsoimme oli bootloader Dialogue: 0,0:51:19.84,0:51:25.35,Default,,0000,0000,0000,,Työstämme edelleen hardware hyökkäyksiä ja\Nhardware - ohjelmistä hyökkäyksiä reunalla. Dialogue: 0,0:51:25.35,0:51:31.40,Default,,0000,0000,0000,,Tämä työ on käynnissä, ja siitä emme\Ntietenkään keskustele nyt? Lisäksi Dialogue: 0,0:51:31.40,0:51:35.02,Default,,0000,0000,0000,,kiinostava asia, luulen, jollekin, joka on\Nkiinostunut PLCn turvallisuudesta Dialogue: 0,0:51:35.02,0:51:38.86,Default,,0000,0000,0000,,erityisesti sisäisesti, en puhu nyt vain\Nyleisestä eriyttämisestä Dialogue: 0,0:51:38.86,0:51:43.06,Default,,0000,0000,0000,,verkossa ja sellaisesta ICS puolella.\NPuhun kehittyneemmistä alemman tason Dialogue: 0,0:51:43.06,0:51:51.25,Default,,0000,0000,0000,,asioista. Mielestämme vaikka MWSL on \Nkiintoisa kohde. Siinä on todennäköisesti Dialogue: 0,0:51:51.25,0:51:55.68,Default,,0000,0000,0000,,bugeja implementoinnissa. Myös, tiedosto\Njärjestelmän parsinnassa ja firmwaren Dialogue: 0,0:51:55.68,0:52:00.84,Default,,0000,0000,0000,,allekirjoituksessa, siellä on varmaankin\Njotain juttua ja myös MC7 parserissa, Dialogue: 0,0:52:00.84,0:52:06.60,Default,,0000,0000,0000,,mitä siinä on käyttöoikeuksien nostamisen\Nnäkökulmasta ja myös remote code execution Dialogue: 0,0:52:06.60,0:52:13.63,Default,,0000,0000,0000,,näkökulmasta, molemmat MiniWeb web\Npalvelin ja myös mitä tahansa verkossa Dialogue: 0,0:52:13.63,0:52:18.30,Default,,0000,0000,0000,,saatavilla oleviin palveluihin, joita\Nniissä on, voisi olla kiinostavaa. Katsot Dialogue: 0,0:52:18.30,0:52:27.58,Default,,0000,0000,0000,,itseasiassa tätä kohtaa nyt. Joten lopuksi.\NPLCt kehittyvät monimutkaisemmiksi. Dialogue: 0,0:52:27.58,0:52:31.35,Default,,0000,0000,0000,,Se on totta, koska ne tosiasiassa tarjoavat\Nenemmän ja enemmän ominaisuuksia ja Dialogue: 0,0:52:31.35,0:52:34.97,Default,,0000,0000,0000,,johtuen tästä monimutkaisuudesta, niissä \Non enemmän bugeja. Näemme, Dialogue: 0,0:52:34.97,0:52:41.68,Default,,0000,0000,0000,,esimerkiksi, MWSL:ssa, jota katsomme nyt,\Nsiitä taivutetaan ja väännetään Dialogue: 0,0:52:41.68,0:52:47.04,Default,,0000,0000,0000,,monimutkaisempaa. Heillä on periaatteessa\Njoku anti-vianetsintä, josta juuri Dialogue: 0,0:52:47.04,0:52:52.82,Default,,0000,0000,0000,,keskustelimme Siemens PLCssa, mutta heillä\Non myös, esimerkiksi, päivitys Dialogue: 0,0:52:52.82,0:52:59.46,Default,,0000,0000,0000,,eheyden tarkastus, kuten allekirjoitus\Nfirmwaressa kun se ladataan PLChen ja Dialogue: 0,0:52:59.46,0:53:05.58,Default,,0000,0000,0000,,sellaisia juttuja. Joten he tekevät siitä\Nmonimutkaisempaa. Mutta mitä meidän tulee Dialogue: 0,0:53:05.58,0:53:14.28,Default,,0000,0000,0000,,tietää että jos heidän uhkamallissa, joka\Nusein tehdään tai turvallisuusmallissa Dialogue: 0,0:53:14.28,0:53:20.22,Default,,0000,0000,0000,,jonka he rakensivat. Jos heillä on ominaisuus\Njoka ohittaa samat turvallisuusjärjestelyt Dialogue: 0,0:53:20.22,0:53:24.42,Default,,0000,0000,0000,,jotka he suunnittelivat. Tarkoitan, että,\Nmielestäni on selvää että heidän pitää Dialogue: 0,0:53:24.42,0:53:28.43,Default,,0000,0000,0000,,poistaa, kuten bootloaderin tapauksessa,\Nheidän erikoispääsy ominaisuudet. Dialogue: 0,0:53:28.43,0:53:32.34,Default,,0000,0000,0000,,hyvänä esimerkki. Ja tietenkin asiakkaiden\Ntäytyy tietää, koska heillä on sellainen Dialogue: 0,0:53:32.34,0:53:36.43,Default,,0000,0000,0000,,toiminto ja he tarvitsevat sitä, kunhan\Nasiakkaat tietävät, se on hyvä. Dialogue: 0,0:53:36.43,0:53:41.00,Default,,0000,0000,0000,,Mutta jos he eivät tiedä, he eivät voi \Nhuomioida tätä riskiä strategiassaan tai Dialogue: 0,0:53:41.00,0:53:46.81,Default,,0000,0000,0000,,uhkamallissa, joka heillä on. Joten.\NJa heidän täytyy miettiä tai uudelleen Dialogue: 0,0:53:46.81,0:53:51.05,Default,,0000,0000,0000,,miettiä turvallisuutta tietämättömyydellä. \NEhkä he sallivat meidän, tutkijoina, Dialogue: 0,0:53:51.05,0:53:53.70,Default,,0000,0000,0000,,päästä käsiksi laitteisiin\Nparemmin ja helpommin Dialogue: 0,0:53:53.70,0:53:55.82,Default,,0000,0000,0000,,tutkiaksemme niitä enemmän.\NMe teemme vielä sitä Dialogue: 0,0:53:55.82,0:54:00.89,Default,,0000,0000,0000,,mutta se vain kestää kauemmin. Ja uskon\Nettä on paljon enemmän nähtävää ja Dialogue: 0,0:54:00.89,0:54:08.46,Default,,0000,0000,0000,,tehtävää PLC:issa ja Siemens ei ole \Nviimeinen jonka parissa työskententelemme. Dialogue: 0,0:54:08.46,0:54:13.84,Default,,0000,0000,0000,,Joten meidän täytyy kiittää joitain ihmisiä.\NThosrten Holz, ohjaajamme, hän ei ole täällä. Dialogue: 0,0:54:13.84,0:54:20.80,Default,,0000,0000,0000,,Thomas, Alexandre, Marina, Lucian, Nikita,\Nja Robin. Heidän avustaan ja työstään. Dialogue: 0,0:54:20.80,0:54:26.90,Default,,0000,0000,0000,,Ja nyt aiomme vastata kysymyksiin. Dialogue: 0,0:54:26.90,0:54:27.88,Default,,0000,0000,0000,,Herald: Kiitoksia. Dialogue: 0,0:54:27.88,0:54:37.08,Default,,0000,0000,0000,,{\i1}aplodeja{\i0} Dialogue: 0,0:54:38.94,0:54:47.32,Default,,0000,0000,0000,,Herald: Eli, Yeah, voitte tulla jonoon\Nmikrofonille tai kirjoittaa kysymyksenne Dialogue: 0,0:54:47.32,0:54:54.94,Default,,0000,0000,0000,,Elisa huoneessa. Ah, siinä mennään. Se on\Npäällä nyt, luulen. Dialogue: 0,0:55:02.04,0:55:07.36,Default,,0000,0000,0000,,Signal Angel: Hei, Yeah. ELi on yksi kysymys\NInternetistä. Tarkistitteko MC7 Dialogue: 0,0:55:07.36,0:55:15.79,Default,,0000,0000,0000,,parserin? Jos kyllä. Löysittekö mitään\Npiilotettuja koneohjeita siitä Dialogue: 0,0:55:15.79,0:55:21.76,Default,,0000,0000,0000,,tai jotain.\NAli: Haluatko vastata? Onko tämä Dialogue: 0,0:55:21.76,0:55:26.40,Default,,0000,0000,0000,,nauhoitettu, vai toistanko kysymyksen? Eli\Nhe kysyvät tarkastimmeko MC7 parserin. Dialogue: 0,0:55:26.40,0:55:32.10,Default,,0000,0000,0000,,OK, Hyvä. Eli emme todella tutkineet\NMC7 parseria Dialogue: 0,0:55:32.10,0:55:35.55,Default,,0000,0000,0000,,mutta työskentelemme sen parissa nyt. Dialogue: 0,0:55:36.93,0:55:40.64,Default,,0000,0000,0000,,Mic: Hei ? Kuinka pystyitte löytämään Dialogue: 0,0:55:40.64,0:55:45.84,Default,,0000,0000,0000,,MFG turvallisuus salasanan?\NAli: Se on todella pitkä tarina. Ensinnäkin Dialogue: 0,0:55:45.84,0:55:50.24,Default,,0000,0000,0000,,meillä oli se edessämme hyvin, hyvin\Npitkän ajan, kunnes Siemens toi Dialogue: 0,0:55:50.24,0:55:56.16,Default,,0000,0000,0000,,tämön anti-debugging ominaisuuden.\NSen jälkeen, meidän piti keksiä toinen Dialogue: 0,0:55:56.16,0:56:01.93,Default,,0000,0000,0000,,keino, toinen keino sen löytämiseen,\Nlöytää samanlainen toiminto, toisia Dialogue: 0,0:56:01.93,0:56:06.48,Default,,0000,0000,0000,,tapoja sallia se, koska asia josta emme\Nkeskustelleet täällä, oli ettemme kertoneet Dialogue: 0,0:56:06.48,0:56:11.92,Default,,0000,0000,0000,,kuinka me, esimerkiksi suoritimme sen\Nkomennon aikaisemmin PLC:ssa. Dialogue: 0,0:56:11.92,0:56:18.24,Default,,0000,0000,0000,,Siihen liittyi työtä, johon saimme apua\Njoiltain tutkijoilta Hollannista ja Ranskasta. Dialogue: 0,0:56:18.24,0:56:24.56,Default,,0000,0000,0000,,Eli tämä oli jotain, josta informoitiin\NSiemensia 2013. Luulen, että he tiesivät Dialogue: 0,0:56:24.56,0:56:31.28,Default,,0000,0000,0000,,siitä. Mutta 2016, he korjasivat sen ja\Nse vaikutti kuin he periaatteessa koittivat Dialogue: 0,0:56:31.28,0:56:35.27,Default,,0000,0000,0000,,suojata PLCta tämän tapaisilta hyökkäyksiltä.\NSitä ei oltu julkaistu aiemmin. Dialogue: 0,0:56:35.27,0:56:39.24,Default,,0000,0000,0000,,Joten käytimme sitä. Emme halua\Nkeskustella siitä, koska Dialogue: 0,0:56:39.24,0:56:42.94,Default,,0000,0000,0000,,alkuperäinen tekijä ei halunnut puhua siitä.\NMutta toistimme,mitä he olivat, Dialogue: 0,0:56:42.94,0:56:49.36,Default,,0000,0000,0000,,mitä he tekivät. Ja kun meidän todella piti\Nhakea muita keinoja, silloin se Dialogue: 0,0:56:49.36,0:56:53.76,Default,,0000,0000,0000,,avasi silmämme, että on olemassa joitain\Nmuita toimintoja myös. Dialogue: 0,0:56:53.76,0:56:57.52,Default,,0000,0000,0000,,On sellaisia, kuten esimerkiksi bootloader.\NMutta ennen kuin tarvitsimme niitä, Dialogue: 0,0:56:57.52,0:57:01.66,Default,,0000,0000,0000,,emme ikinä etsineet niitä. Joten se oli\Ntavallaan edessämme Dialogue: 0,0:57:01.66,0:57:05.64,Default,,0000,0000,0000,,jotain kaksi vuotta.\NTobias: Ehkä yksi kiinostava osa Dialogue: 0,0:57:05.64,0:57:10.36,Default,,0000,0000,0000,,taustatarinaa on, että me periaatteessa\Naikaisempaa tekniikkaa käyttäessämme Dialogue: 0,0:57:10.36,0:57:16.24,Default,,0000,0000,0000,,me todellisuudessa ylikirjoitimme ehdollisen\Nhypyn, joka ohjasi meidät erikoispääsy Dialogue: 0,0:57:16.24,0:57:18.28,Default,,0000,0000,0000,,toiminnon suorittamiseen ehdottomalla\Nhypyllä. Eli periaatteessa leikkasimme pois Dialogue: 0,0:57:20.32,0:57:25.68,Default,,0000,0000,0000,,60% koko firmware koodista vahingossa.\NJa sitten täysin Dialogue: 0,0:57:25.68,0:57:30.32,Default,,0000,0000,0000,,aavistuksesta, kuten kerroin aiemmin, että\Nsiellä oli vain liikaa erilaisia Dialogue: 0,0:57:30.32,0:57:35.04,Default,,0000,0000,0000,,toimintoja. Palasin takaisin ja ymmärsin,\Nettä se oli juuri se sama kohta Dialogue: 0,0:57:35.04,0:57:41.60,Default,,0000,0000,0000,,jonka ylikirjoitimme aikaisemmin, ja joka\Nmeidän piti periaatteessa korvata ja Dialogue: 0,0:57:41.60,0:57:43.49,Default,,0000,0000,0000,,käyttää omiin tarkoituksiimme. Dialogue: 0,0:57:44.11,0:57:46.29,Default,,0000,0000,0000,,Mic: Onko siinä mitään käynnistyksen\Naikaista turvallisuutta Dialogue: 0,0:57:46.29,0:57:51.47,Default,,0000,0000,0000,,muuta kuin CRC tarkastus? Eli te. Voitteko\Nmuokata sisältöä SPI flashilla ja Dialogue: 0,0:57:51.47,0:57:54.41,Default,,0000,0000,0000,,saada mielivaltaisen koodin\Nsuorittamisen sillä tavalla myös? Dialogue: 0,0:57:55.06,0:58:01.91,Default,,0000,0000,0000,,Ali: Eli, se riippuu mistä vuodesta olet\Npuhumassa 2017, 2016. Eli puhumme Dialogue: 0,0:58:01.91,0:58:07.19,Default,,0000,0000,0000,,samasta mallista PLCsta, mutta vuosina\N2017 ja 2018. Ei. Voisit periaatteessa Dialogue: 0,0:58:07.19,0:58:11.77,Default,,0000,0000,0000,,vain ottaa ulos SPI flashin, ylikirjoittaa\Nsen. Ja se on hyvä, Mutta jos Dialogue: 0,0:58:11.77,0:58:16.64,Default,,0000,0000,0000,,olit ylikirjoittamassa sitä ja aiheutit \Npysähdyksen CPU coressa, se taas laukaisee Dialogue: 0,0:58:16.64,0:58:23.06,Default,,0000,0000,0000,,sen anti-vianetsintä ominaisuuden joka\Nheillä on. Tämä vahtikoira periaatteessa. Dialogue: 0,0:58:23.06,0:58:28.61,Default,,0000,0000,0000,,Mutta firmwaren eheyden kannalta.\NPeriaatteessa kun kerran kirjoitat... Dialogue: 0,0:58:28.61,0:58:33.35,Default,,0000,0000,0000,,firmware kirjoitetaan NAND flashille,\Nmutta se on vain CRC tarkastus. Mutta Dialogue: 0,0:58:33.35,0:58:37.19,Default,,0000,0000,0000,,päivitysprosessi? Ei. Siinä on joitain\Nkryptografisia tarkastuksia, mutta kun Dialogue: 0,0:58:37.19,0:58:41.92,Default,,0000,0000,0000,,se on kirjoitettu, ei. Siinä on joitain \Nongelmia, jotka taas. Se on edelleen Dialogue: 0,0:58:41.92,0:58:45.46,Default,,0000,0000,0000,,jatkuvaa työtä ja emme halua puhua siitä\Nvielä, mutta hyvä huomio- Dialogue: 0,0:58:45.46,0:58:50.68,Default,,0000,0000,0000,,Mic: Kiitos.\NMic: Hei, Kiitos esityksestä, voisitteko Dialogue: 0,0:58:50.68,0:58:54.94,Default,,0000,0000,0000,,avata teidän keskustelua valmistajan\Nkanssa ja aikataulua? Dialogue: 0,0:58:54.94,0:59:00.19,Default,,0000,0000,0000,,Ali: Kyllä, ensinnäkin, me olimme tienneet\Ntästä ongelmasta puolitoista vuotta Dialogue: 0,0:59:00.19,0:59:04.43,Default,,0000,0000,0000,,ennen kuin raportoimme asian valmistajalle.\NTärkein syy oli, että käytimme sitä yhteen Dialogue: 0,0:59:04.43,0:59:09.33,Default,,0000,0000,0000,,toiseen projektiin. Tämä on todellisuudessa\Ntulos oikeasti sivuprojektista Dialogue: 0,0:59:09.33,0:59:12.87,Default,,0000,0000,0000,,enemminkin kuin pääprojektista. Mutta\Nkoska varsinainen projekti on jotain Dialogue: 0,0:59:12.87,0:59:18.08,Default,,0000,0000,0000,,muuta ja edelleen käynnissä. Mutta sen\Nprojektin sivussa, meillä oli pääsy. Dialogue: 0,0:59:18.08,0:59:21.89,Default,,0000,0000,0000,,Ja koska olimme huolissamme, että valmista-\Njalle raportoidessa he voivat korjata Dialogue: 0,0:59:21.89,0:59:26.24,Default,,0000,0000,0000,,sen ohjelmistopäivityksellä ja sen jälkeen\Nestää kaikki muut CVEt, joita löydämme tässä Dialogue: 0,0:59:26.24,0:59:31.76,Default,,0000,0000,0000,,toisessa projektissa, emme halunneet kuin\Nviimein 2019. Thomas Weber halusi puhua Dialogue: 0,0:59:31.76,0:59:37.58,Default,,0000,0000,0000,,tässä esityksessä periaatteessa tästä\NJTAG liittymästä CoreSightiin ja sitten Dialogue: 0,0:59:37.58,0:59:42.78,Default,,0000,0000,0000,,päätimme kuitenkin puhua siitäkin.\NMutta muutenkin, oikeastaan me Dialogue: 0,0:59:42.78,0:59:48.51,Default,,0000,0000,0000,,puhuimme kesäkuussa, luulen, Siemensin\Nkanssa ja he vahvistivat, että tässä raudassa Dialogue: 0,0:59:48.51,0:59:53.21,Default,,0000,0000,0000,,on erikoispääsy ominaisuus. Ja he ovat..\NHe sanovat, että aikovat poistaa Dialogue: 0,0:59:53.21,0:59:58.46,Default,,0000,0000,0000,,sen ja se siitä. Me myös lähetimme \Nheille write Up:in luettavaksi. Dialogue: 0,0:59:58.46,1:00:02.64,Default,,0000,0000,0000,,Herald: Eli, siellä on vielä viimeinen\Nkysymys Signal Angelilta. Dialogue: 0,1:00:04.17,1:00:09.26,Default,,0000,0000,0000,,Signal Angel: Eli, siellä on seuraava\Nkysymys Internetistä. Jos työkalut kuten Dialogue: 0,1:00:09.26,1:00:15.70,Default,,0000,0000,0000,,Flashrom, eivät tue tuntematonta SPI flash\Nrom sirua, kuinka te tavallisesti puratte Dialogue: 0,1:00:15.70,1:00:22.42,Default,,0000,0000,0000,,firmwaren, jos ette halua purkaa sirua\Ntai käyttää SOICB istukkaa. Dialogue: 0,1:00:22.42,1:00:26.54,Default,,0000,0000,0000,,Ali: Voitko toistaa sen. En saanut\Nkysymystä, saitko sinä ? Dialogue: 0,1:00:26.54,1:00:32.42,Default,,0000,0000,0000,,Signal Angel: Jos työkalut kuten Flashrom, \Neivät tue tuntematonta SPI flashrom sirua Dialogue: 0,1:00:32.42,1:00:38.64,Default,,0000,0000,0000,,kuinka te tavallisesti puratte firmwaren,\Njos ette halua purkaa sirua Dialogue: 0,1:00:38.64,1:00:42.26,Default,,0000,0000,0000,,tai käyttää SOICB istukkaa.\NAli: Ensinnäkin, me emme oikeasti koskaan Dialogue: 0,1:00:42.26,1:00:49.03,Default,,0000,0000,0000,,pura SPI flashia. Teimme sen vain CPU:lle.\NJa koska halusimme tietää, että Dialogue: 0,1:00:49.03,1:00:53.92,Default,,0000,0000,0000,,Siemens uudelleenbrändää PLCtaan. Eli se\Nei ole heidän CPU, se on Ransasilta, Dialogue: 0,1:00:53.92,1:00:58.76,Default,,0000,0000,0000,,mutta siksi purimme osia.\NMutta purkujutut sikseen. Dialogue: 0,1:00:58.76,1:01:04.16,Default,,0000,0000,0000,,Mutta muista asioista, siellä on\Nkuitenkin tämä toiminto, tämä Dialogue: 0,1:01:04.16,1:01:08.07,Default,,0000,0000,0000,,bootloader toiminto, joka antaa sinun\Nlukea sisällön muistista. Dialogue: 0,1:01:08.07,1:01:11.62,Default,,0000,0000,0000,,Eli se on yksi asia, jonka voit lukea.\NSelvästi sinun ei edes tarvitse, kiitos Dialogue: 0,1:01:11.62,1:01:15.76,Default,,0000,0000,0000,,yhden oppilaani. Me tiedämme yhden, jota\Nsinun ei tarvoitse edes Dialogue: 0,1:01:15.76,1:01:20.64,Default,,0000,0000,0000,,ottaa pois bootloaderista, siru. Me voimme\Nperiaatteessa vain kytkeytyä suoraan Dialogue: 0,1:01:20.64,1:01:27.97,Default,,0000,0000,0000,,levylle ja dumpata firmwaren. Marcello, se\Non hänen nimensä. Hän on täällä. Mutta Dialogue: 0,1:01:27.97,1:01:34.11,Default,,0000,0000,0000,,kuitenkin, voit vain suoraan lukea sen.\NJa kyllä, en usko, että lukemis osuus Dialogue: 0,1:01:34.11,1:01:38.00,Default,,0000,0000,0000,,erityisesti osat siitä, ovat suojattuja,\Nerityisesti uusissa versioissa, joissa Dialogue: 0,1:01:38.00,1:01:43.20,Default,,0000,0000,0000,,et voi lukea kaikkea. Mutta muuten, en\Nusko, että se on vaikeampaa nyt vielä. Dialogue: 0,1:01:43.20,1:01:47.68,Default,,0000,0000,0000,,Olen varma, että he työskentelevät sen \Nparissa ja me myös työstämme jotain Dialogue: 0,1:01:47.68,1:01:51.52,Default,,0000,0000,0000,,jolla se kierretään. Joten.\NHerald: Okei, seuraava esitys Dialogue: 0,1:01:51.52,1:01:57.51,Default,,0000,0000,0000,,tulee olemaan toimitusroboteista. Sasha\N20 minuutin päästä. Annetaan aplodit. Dialogue: 0,1:01:57.51,1:02:01.71,Default,,0000,0000,0000,,{\i1}aplodeja{\i0} Dialogue: 0,1:02:01.71,1:02:11.76,Default,,0000,0000,0000,,{\i1}36c3 esityksen jälkimusiikki{\i0} Dialogue: 0,1:02:27.02,1:02:35.05,Default,,0000,0000,0000,,Translated by Esa Lammi\N(ITKST56 course assignment at JYU.FI)