[Powered by Google Translate] [Week 10] [David J. Malan] [Universiti Harvard] [Ini adalah CS50.] [CS50.TV] Semua hak! Ini adalah CS50 tetapi tidak untuk lebih lama. Ini adalah permulaan 10 minggu. Pada hari Rabu kami telah kuiz kami, dan kemudian Isnin depan kita mempunyai beberapa kek perayaan seperti yang kita datang bulatan penuh semua perjalanan pulang dari sifar minggu. Hari ini, kita bercakap tentang salah satu topik kegemaran saya, kebenaran diberitahu - bahawa keselamatan dan privasi dan implikasi semua perkakasan dan perisian bahawa kita semua menggunakan hari ini. Untuk bersikap jujur, terdapat banyak ancaman di luar sana bahawa jika anda tidak benar-benar berhenti untuk berfikir tentang mereka, mereka sebenarnya cukup menakutkan. Kes di titik - jika mana-mana anda pernah turun suatu perisian off Internet dan dipasang pada komputer anda, anda telah terlibat ke tahap yang ketara amanah, betul-betul? Tiada apa menghalang Skype, atau Chrome, atau mana-mana perisian anda telah dipasang ke komputer anda, daripada hanya memadam semua fail-fail pada cakera keras anda; daripada memuat naik semua fail-fail pada cakera keras anda untuk pelayan beberapa lelaki yang buruk; dari membaca semua e-mel anda; daripada memintas semua mesej segera anda. Kerana realiti hari ini dengan sistem operasi yang paling moden ada benar-benar tidak banyak dinding antara program perisian yang kita memasang, dan anda dan saya adalah cukup banyak hanya jenis menyeberangi jari kita dan mengambil iman bahawa aplikasi kita turun secara percuma, atau bahawa perkara itu 99 sen, sebenarnya benigna sepenuhnya. Tetapi seperti yang kita telah melihat melalui C, dan kini PHP dan JavaScript, dengan keupayaan ini untuk meluahkan diri programatically, anda boleh melakukan apa yang paling anda mahu dengan program yang pengguna dirinya boleh melakukan. Jadi, hari ini kita memberi tumpuan kepada topik yang - bukan hanya beberapa ancaman tetapi juga pertahanan. Malah, dalam dunia keselamatan secara umum, ada jenis permainan ini kucing-dan-tetikus, dan saya berani mengatakan orang jahat hampir sentiasa mempunyai kaki. Apabila ia datang untuk mengambil kesempatan daripada perkakasan dan perisian pada komputer peribadi kita sendiri, kita harus sedar bahawa seorang lelaki yang buruk hanya perlu mencari satu kesilapan yang mudah - 1 mengeksploitasi, satu pepijat - dalam sekeping perisian yang kami telah ditulis atau berjalan dalam usaha untuk dia atau dia untuk mengambil alih keseluruhan sistem kami. Sebaliknya, kita - lelaki yang baik - perlu patch dan menetapkan semua orang-orang pepijat dan mengelakkan semua kelemahan mereka. Dan sebagainya, saya berani mengatakan bahawa pada keseluruhannya, orang jahat mempunyai kelebihan. Apa kelas seperti ini dan kelas yang berikutnya adalah benar-benar tentang tidak mengajar anda bagaimana untuk memperjuangan pertempuran bahawa lelaki ini buruk lakukan, tetapi tentang bagaimana untuk melindungi diri atau sekurang-kurangnya bagaimana untuk membuat keputusan yang dikira bahawa ya, saya tahu ini sekeping perisian sememangnya boleh membaca setiap satu e-mel saya, tetapi saya okay dengan itu kerana nilai ia membawa saya di sisi lain. Saya sangat gembira disertai oleh 2 orang bijak saya tahu - Rob Bowden dan Nate Hardison. Rob adalah kira-kira untuk mengambil kami untuk lawatan melalui peringkat terendah tag keselamatan - pengkompil yang, sehingga kini, kita semua telah datang untuk mengasihi dan amanah. Rob Bowden. [Tepukan] [Rob] Semua hak. David telah cukup banyak diambil omongan saya bahawa saya akan memperkenalkan dengan, tetapi - Beberapa minggu lalu, anda melihat contoh serangan penampan limpahan yang merupakan contoh seorang hacker hacking ke dalam sekeping beberapa perisian bahawa mereka tidak sepatutnya hacking ke dalam. Pihak lain ini kadang-kadang anda mempunyai perisian yang berniat jahat dalam dan dengan sendirinya. Ia juga tidak perlu untuk digodam. Orang yang menulis perisian mahu untuk menggodam anda. Mari kita hanya melompat tepat ke dalam kod, mengambil melihat di "login.c". Di sini, satu program bodoh yang mengesahkan kombinasi nama pengguna dan kata laluan. Di sini anda pasti perlu mendapatkan selesa dengan C sekali lagi untuk kuiz. Pertama, kita menggunakan mendapatkan tali untuk menggambarkan username, maka kita menggunakan tali get untuk merebut kata laluan, dan kemudian kita mempunyai beberapa cek remeh hanya, adalah username "merompak"? Dan kata laluan "thisiscs50"? Atau, adalah username "tommy" dan kata laluan "i <3javascript"? Jika salah seorang daripada mereka adalah kes itu,  maka kita hanya akan mencetak "Kejayaan", dan kemudian kita mempunyai akses. Jika tidak, kita pergi untuk mencetak "invalid login" dan kemudian, sudah tentu,  sejak memori lakaran malloc rentetan, kita username percuma dan kata laluan. Ini adalah program login remeh, dan jika anda berfikir tentang apabila anda log masuk ke dalam perkakas, ia agak serupa - atau malah log masuk ke komputer anda - hanya terdapat beberapa program login yang memberi anda akses. Di sini, kita mempunyai berkod keras 'merompak', 'thisiscs50', 'tommy', 'i <3javascript', tetapi mungkin terdapat fail beberapa tempat pada sistem operasi anda yang mempunyai senarai nama pengguna yang boleh login ke dalam sistem dan senarai kata laluan yang dikaitkan dengan nama pengguna mereka. Biasanya kata laluan bukan hanya disimpan dalam plaintext seperti ini. Terdapat beberapa jenis penyulitan, tetapi ini akan lakukan untuk contoh kita. Datang ke pengkompil kami - ia akan menjadi sangat mudah. Kita perlu menyatakan sekurang-kurangnya beberapa fail yang kita mahu untuk menyusun, dan kemudian di sini - ini garisan hanya membaca file. Ia berbunyi keseluruhan fail ke dalam satu penimbal yang besar, dan kemudian kita menyeimbangkan-menamatkan penampan kami seperti biasa, dan akhirnya kita hanya menyusun fail. Kami tidak akan melihat bagaimana menyusun sebenarnya dilaksanakan, tetapi sebagai petunjuk, ia hanya memerlukan dilafaz. Kami akan menggunakan program ini untuk menyusun perkara-perkara yang bukan dilafaz. Satu masalah yang kita bermula dengan adalah kita melihat kita mahu untuk menyusun pengkompil kami, tetapi jika kita tidak akan menggunakan dilafaz, saya tidak tahu apa yang saya akan menyusun dengan. Ini adalah isu umum yang dikenali sebagai pengikatan but. Jadi, ini sekali, saya akan menggunakan dilafaz untuk menyusun pengkompil kami. Jika anda berfikir GCC dan dilafaz - program tersebut, mereka penyusun sentiasa dikemaskini, dan orang-orang penyusun disusun menggunakan GCC dan dilafaz. Dilafaz adalah hanya satu besar C atau C + + program, jadi pengkompil yang mereka gunakan untuk menyusun yang dilafaz. Di sini, sekarang, kita hanya akan menggunakan pengkompil kami untuk menyusun pengkompil kami, dan kita juga boleh mengatakan - '/ compiler.', 'compiler.c', 'compile.c', 'o pengkompil'. Notis ini adalah arahan yang tepat saya berlari sebelum - hanya menggantikan dilafaz dengan '. / compiler'. Dan sekarang kita mempunyai pengkompil lain, tetapi ia adalah betul-betul sama. Ia hanya panggilan dilafaz. Kami akan menggunakan pengkompil kami untuk menyusun program login kami. Okay - "/ pengkompil login.c-o login". Jadi, rujukan undefined "GetString". Got "lcs50". Okay. Jadi sekarang saya mempunyai program login kami. Running - menerima "Sila masukkan nama pengguna anda". Satu contoh adalah merompak. Sila masukkan kata laluan anda - thisiscs50. Dan kejayaan! Saya mempunyai akses. Running sekali lagi dan memasuki beberapa kata laluan tidak sah - atau nama pengguna dan kata laluan tidak sah - invalid login. Okay. Tiada apa-apa yang menarik tentang ini setakat ini. Tetapi, mari kita lihat pada login lagi - dan ini akan menjadi satu contoh yang agak remeh, tetapi mari kita menambah lain di sini dan berkata, else if ((strcmp (username, "penggodam") == 0 && strcmp (password, "LOLihackyou") == 0)) jadi sekarang, printf ("hacked Anda kini mempunyai akses \ n!."); okay. Mengumpul ini - pengkompil login.c-o login-lcs50 - kini berjalan login - dan jika saya menggunakan nama samaran saya penggodam dan password LOLihackedyou - Adakah saya menaip ia salah di sana sebelum ini? Pada login.c--ihack - I'll tidak digodam kerana saya fikir saya melakukan yang kemudian. Okay. Recompiling. Re berjalan - hacker - LOLihackedyou - Hacked! Anda kini mempunyai akses. Terdapat nampaknya tidak menjadi bahawa banyak perbezaan kerana ia adalah cek yang sama sebenar yang saya telah lakukan untuk nama pengguna dan kata laluan dan lain-lain. Selain itu, perkara yang besar adalah bahawa jika orang lain melihat ini login.c-- berkata, jika saya lulus luar ini kepada rakan kongsi saya, dan mereka membuka fail ini, dan mereka membaca ini, mereka akan melihat - okay, mengapa anda mempunyai baris kod di sini? Itu jelas bukan sesuatu yang perlu dalam program anda. Dalam beberapa program seperti mana-mana perisian proprietari yang tidak sumber terbuka - anda mungkin tidak melihat baris kod. Sesuatu seperti Skype atau sesuatu untuk semua anda tahu, Skype adalah pada komputer anda dan terdapat hanya beberapa khusus username-kata laluan gabungan yang akan login ke Skype dalam beberapa cara khas. Kita tidak tahu mengenainya, dan orang tidak tahu tentang perkara ini, kerana mereka tidak dapat membaca kod sumber untuk melihat bahawa terdapat lubang ini. Apa yang kita panggil ini - walaupun ini bukanlah satu contoh yang sangat bijak - ini dipanggil pintu belakang. Jika anda berfikir tentang pintu belakang rumah anda. Di sini, jika saya sahkan dengan 'merompak' nama pengguna atau 'tommy,' yang akan menjadi seperti menggunakan "pintu depan." Itulah cara saya sepatutnya selamat login. Tetapi jika saya masukkan ini dengan username dan password - maka itu menggunakan "pintu belakang." Ia bukan cara yang disengajakan untuk mendapatkan ke dalam program ini, tetapi ia masih berfungsi. Dan rakyat secara amnya tidak sepatutnya tahu mengenai pintu belakang. Kami pergi untuk memperbaiki ini. Mari kita kembali ini kepada login.c asal kita, dan mari kita lihat pada pengkompil baru kami. Okay. Segala-galanya di sini adalah sama. Kami membaca keseluruhan fail ke dalam buffer. Semua yang turun di sini adalah sama. Kami hanya menyusun fail. Tetapi sekarang saya mempunyai ini besar jika di sini yang berkata, jika fail yang saya berlaku untuk menyusun login.c, maka saya melakukan sesuatu yang istimewa. Apakah bahawa sesuatu yang istimewa? Saya lihat di sini beberapa rentetan dipanggil 'hack', dan melihat baris kod - ini adalah garisan yang sama kod - Saya rasa saya lakukan penggunaan 'ihack' dan bukan 'ihacked' sebelum - melihat baris kod, mereka garis yang sama tepat kod yang saya terpaksa di login.c sebelum. Tetapi sekarang, bukan mempunyai mereka dalam login.c, Saya akan meletakkan mereka ke dalam pengkompil saya. Ini adalah baris kod yang saya akan mahu masukkan ke dalam login.c. Ini baris kod - penampan yang asalnya diadakan login.c saya tidak lagi akan menjadi cukup besar kerana sekarang saya mahu juga memasukkan hack ini ke tengah-tengah program saya. Semua ini adalah melakukan mewujudkan satu buffer baru yang cukup besar - untuk kedua-dua fail asal dan garis tambahan kod hack - yang saya mahu untuk memasukkan di sana. Berikut adalah sesuatu notis - char * corak = "/ / menafikan mereka akses!" Jika kita melihat kembali di login.c, kita lihat di sini komen ini - menafikan mereka mengakses! Di login.c, komen ini kelihatan benar-benar berbahaya, jadi anda tidak akan mengesyaki apa-apa niat jahat dengan hanya komen ini. Tetapi dalam pengkompil kita, kita secara khusus akan melihat untuk baris ini kod, dan kemudian apabila kita dapati ia - baris kod memasukkan hack kami ke kedudukan itu. Jadi, kita iterating atas login.c keseluruhan, kita memasukkan hack itu betul-betul di mana ia mengatakan menafikan mereka akses, dan kemudian kita menyusun - tidak login.c asal tetapi login.c baru dengan hack yang dimasukkan betul di 'menafikan mereka mengakses.' Sekarang saya mahu menyusun pengkompil baru saya dengan hack yang terlibat. Saya tidak akan menggunakan dilafaz, jadi mari kita menyalin pengkompil kita digunakan sebelum dan menggunakannya - jadi, pengkompil compiler.c compile.c-o evil_compiler. Sekarang pengkompil jahat kita - jika kita menggunakan pengkompil jahat kita untuk menyusun mana-mana fail lain, fail akan menyusun seperti yang sepatutnya. Ia adalah normal. Tetapi jika kita menggunakan pengkompil jahat kami untuk menyusun login - demikian, / evil_compiler login.c-o login-lcs50. - mencari di login.c lagi, ada benar-benar tiada di sini. Ia adalah biasa kita 'jika ia adalah sama ada merompak atau tommy kita berada dalam, lain kami keluar'. Tetapi apabila kita menjalankan laku kami, ini akan bekerja seperti biasa. Berjalan lagi - hacker, LOLihackyou - Hacked! Anda kini mempunyai akses. Hanya mencari di login.c, anda tidak akan berfikir apa-apa yang salah. Tetapi pengkompil itu sedang digunakan untuk menyusun login.c direka khusus untuk memasukkan hack ini ke dalam program ini. Kami telah hanya berpindah masalah asal kita. Asalnya, kita mempunyai baris kod di login.c bahawa jika orang lain melihat mereka, mereka akan menjadi seperti, mengapa ini di sini? Sekarang jika sesiapa yang berlaku untuk melihat pengkompil kami, mereka akan melihat baris kod dan berkata, mengapa ini di sini? Jadi, kita tidak benar-benar menyelesaikan masalah kita. Tetapi kita boleh menggunakan idea ini lagi. Mengambil melihat pada versi ketiga kami pengkompil, ia adalah idea yang sama. Kita membaca keseluruhan fail ke dalam buffer sehingga di sini, kita menyusun fail ke sini, dan saya mempunyai beberapa jenis hack rentetan di sini, tetapi notis fail bahawa saya sebenarnya hacking sekarang. Saya pagi compiler.c hacking tidak login.c. Tetapi apa yang saya memasukkan ke compiler.c? Saya memasukkan kod ini iaitu kod yang tepat dalam pengkompil sebelumnya kami, yang bertujuan untuk memasukkan kod ke login.c. Berikut adalah strcmp jika kami fail login.c dan kemudian memasukkan ke barangan hack login.c kami. Ini pengkompil baru bertujuan untuk mewujudkan pengkompil yang bertujuan untuk menyusun login berniat jahat. Kita akan melihat mengapa yang membantu kita. Segala-galanya adalah sama, jadi ia berfungsi betul-betul kerana ia bekerja dengan pengkompil sebelumnya kami. Kami hanya iterating atas compile.c keseluruhan kami. Tetapi sekarang bukan mencari untuk 'menafikan mereka akses,' kami sedang mencari 'menyusun fail.' Di manakah menyusun fail? Melihat compiler.c kita benar-benar tidak bersalah, ia sampai di sini di bawah. Komen ini - menyusun fail - sekali lagi, yang kelihatan benar-benar berbahaya. Tetapi, dalam versi jahat kita pengkompil, kita akan - betul-betul sebelum komen bahawa - masukkan kod ini yang bertujuan untuk memasukkan kod apabila menyusun login.c. Terdapat banyak tahap tipuan di sini. Mari kita sebenarnya menjalankan ia. Sekali lagi, kami akan menyalin pengkompil asal kita. Sekarang, menyusun - pengkompil compiler.c compile.c-o evilest_compiler - dan kini evilest_compiler. Penyusun Evilest - jika kita gunakan untuk menyusun pengkompil kami, mari kita sebenarnya tidak sabar. Evilest_compiler - menjadikan ia lebih, sepanjang jalan kembali ke 1 versi pengkompil kami - versi 1 pengkompil kita yang hanya membaca dalam fail dan menyusun. Di sini, kita tahu bahawa evilest_compiler - apabila ia menyusun fail ini - akan untuk memasukkan kod di sini sebelum menyusun fail, dan kod yang akan kelihatan sama seperti kod dari versi kedua pengkompil kami yang melakukan ini. Kod ini, yang bertujuan untuk memecah masuk ke dalam login, akan dimasukkan ke dalam pengkompil kami oleh pengkompil evilest. Mari kita gunakan evilest_compiler untuk menyusun pengkompil kami. Sekarang kita akan menggunakan pengkompil, kembali ke login, dan ingat login.c ini telah benar-benar apa-apa yang mencurigakan di dalamnya. Tetapi menggunakan pengkompil kami untuk menyusun login.c, merompak, thisiscs50, kejayaan. Penggodam login Mari, LOLihackyou, hacked! Anda kini mempunyai akses. Mengakui bahawa ini adalah berbeza daripada 2 versi pengkompil kami. Pengkompil kita gunakan - mari kita bergerak ke belakang - salinan dari login - mari membawa pengkompil kita kembali di sini. Mengeluarkan pengkompil evilest. Semua kita telah meninggalkan sekarang adalah pengkompil. Jika kita melihat compiler.c, ada benar-benar apa-apa di sana yang seolah-olah berniat jahat dalam apa jua cara. Jika kita melihat login.c, ada benar-benar apa-apa di sini yang kelihatan berniat jahat dalam apa jua cara. Tetapi, apabila kita menggunakan pengkompil kami untuk menyusun login.c, kita akan mendapat versi hackable login.c. Apabila kita menggunakan pengkompil kami untuk menyusun versi baru pengkompil, kita dapat versi hackable pengkompil. Sekarang jika kita keluar dan mengedarkan laku pengkompil kami, dan tiada siapa yang akan tahu bahawa ada apa-apa yang berniat jahat mengenainya. Ini adalah sebenarnya jadi dalam - Saya tidak boleh ingat tahun - Ken Thompson, dan dia memenangi Anugerah Turing - jika anda tidak biasa dengan Anugerah Turing, ia adalah hampir sentiasa ditakrifkan sebagai Hadiah Nobel sains komputer, jadi itulah bagaimana saya akan menentukan ia. Ken Thompson memberi ucapan apabila dia menerima Anugerah Turing beliau dipanggil "Harvey pada Amanah mempercayai." Pada asasnya, ini adalah idea ucapannya. Kecuali bukannya pengkompil kami, beliau telah bercakap mengenai GCC - hanya satu lagi pengkompil seperti dilafaz - dan apa yang dikatakannya, seperti login.c kami, login.c kita seolah-olah agak sia-sia tetapi dia bercakap tentang login.c UNIX sebenar. Apabila anda login kepada perkakas anda, terdapat beberapa program login yang sedang berjalan. Itu adalah login bahawa dia telah bercakap tentang. Ini adalah pada dasarnya idea beliau. Beliau berkata bahawa di GCC, beliau dalam teori dapat ditanam pepijat - bukan pepijat tetapi kod berniat jahat - bahawa apabila menyusun fungsi login - fail log masuk - akan memasukkan pintu belakang supaya dia boleh pergi untuk benar-benar mana-mana sistem UNIX di dunia dan login dengan username beberapa khusus dan kata laluan. Pada masa itu, GCC adalah cukup banyak pengkompil bahawa semua orang yang digunakan untuk apa-apa. Jika sesiapa yang berlaku untuk mengemaskini GCC, maka mereka akan susun semula GCC menggunakan GCC, dan anda masih akan mendapatkan versi buruk GCC kerana ia khusus disusun untuk menyedari bahawa ia telah recompiling pengkompil. Dan jika anda pernah menggunakan GCC untuk susun semula fail login.c, maka ia akan memasukkan pintu belakang ini bahawa dia boleh gunakan untuk login ke mana-mana komputer. Ini adalah semua teori, tetapi - bahawa keadaan tertentu adalah teori, tetapi idea yang amat nyata. Pada tahun 2003, terdapat satu contoh yang serupa di mana - kita akan mengambil melihat fail ini, dan ia telah benar-benar apa-apa untuk benar-benar lakukan dengan ia, tetapi pepijat adalah sama. Fail ini hanya mentakrifkan satu fungsi yang dipanggil jurang. Ia mengambil hujah, b hujah, dan niat adalah untuk melakukan dibahagikan dengan b. Tetapi ia tidak beberapa memeriksa ralat, jadi kita tahu perkara-perkara yang pelik jika b berlaku untuk menyamai sifar. Jika b adalah sifar, maka kita berpecah kepada 2 kes. Anda mungkin sudah melihat bug. Kes pertama - jika adalah sifar, maka kita sedang melakukan sifar dibahagikan dengan sifar, dan kita hanya mengatakan bahawa adalah undefined. Kes kedua - jika tidak adalah sifar, maka ia sesuatu seperti 1 dibahagikan dengan sifar, dan kita hanya panggil infiniti yang. Lagi kita kembali biasa dibahagikan dengan b. Dan jadi di sini, kita sedang berjalan mereka 3 kes, dan kita sebenarnya menghadapi jurang - ia berteriak di dalamnya untuk saya - begitu, mengabaikan amaran dilafaz - akhir fungsi bukan terbatal - nampaknya saya tidak menyusun ini terlebih dahulu. Return 0. Buat membahagikan hak semua. Dengan jurang /., Kita lihat 3, Infinity, Infinity. Sifar dibahagikan dengan sifar tidak sepatutnya dikembalikan infiniti. Dan jika anda telah tidak digambarkan keluar bug lagi - atau tidak melihat ia sebelum - kita lihat bahawa kita sedang melakukan a = 0. Mungkin kita bermakna == 0. Mungkin. Tetapi, ini adalah sebenarnya sesuatu itu, sekali lagi, pada tahun 2003, kernel Linux - jadi perkakas kami menggunakan kernel Linux - mana-mana sistem operasi Linux menggunakan kernel Linux - jadi bug yang sangat serupa ini muncul. Idea di sebalik pepijat ini adalah - sekali lagi, terdapat hanya beberapa fungsi yang dipanggil, dan ia melakukan sedikit semakan ralat. Terdapat beberapa input tertentu bahawa kesilapan ini memeriksa - ia sepatutnya seperti, semua hak, anda tidak boleh memanggil fungsi ini dengan pembahagi daripada 0. Jadi, saya akan hanya kembali beberapa kesilapan. Kecuali, ia tidak seperti yang tidak bersalah sebagai hanya menetapkan sama dengan 0. Sebaliknya, ini selaras kod berakhir sehingga melakukan sesuatu yang lebih seperti user = pentadbir. Atau manual = superuser. Ia adalah orang yang tidak berdosa - pada pandangan pertama - kesilapan yang mana ia boleh hanya menjadi munasabah bahawa saya hanya mahu melaporkan sesuatu yang khusus jika pengguna itu berlaku untuk menjadi pentadbir superuser. Tetapi kemudian semula memikirkan ia, orang yang mahu ia kelihatan seperti mudah typo, tetapi jika kod ini sebenarnya telah dilepaskan, maka anda akan dapat untuk menggodam ke dalam mana-mana sistem dengan lulus bendera tertentu - dalam kes ini b = 0 - dan ia secara automatik akan membuat pengguna pentadbir, dan kemudian dia mempunyai kawalan penuh. Ini berlaku pada tahun 2003. Ia hanya kebetulan bahawa sebab ia telah ditangkap adalah kerana ada berlaku kepada beberapa sistem automatik yang perasan perubahan dalam fail ini yang tidak sepatutnya diubah oleh manusia. Fail hanya perlu telah dijana secara automatik. Ia hanya kebetulan bahawa seseorang menyentuh - baik, orang yang mahu menggodam menyentuh fail tersebut, dan komputer ditangkap bahawa menyentuh. Jadi, mereka berubah ini dan hanya kemudian menyedari apa bencana ia akan menjadi jika ini telah mendapat keluar ke dunia sebenar. Anda mungkin berfikir bahawa - kembali contoh pengkompil kami - walaupun kita tidak boleh melihat - melihat kod sumber yang - bahawa apa-apa dalam tertentu adalah salah, jika kita benar-benar melihat kod perduaan pengkompil, kita akan melihat bahawa sesuatu yang tidak kena. Sebagai contoh, jika kita jalankan rentetan berfungsi - yang hanya akan untuk melihat lebih fail dan mencetak keluar semua rentetan ia boleh mencari - jika kita menjalankan rentetan pada pengkompil kami, kita lihat bahawa salah satu rentetan yang ia mendapati pelik ini - else if (strcmp (nama pengguna, "penggodam") - blah, blah, blah. Jika seseorang berlaku untuk menjadi paranoid cukup untuk tidak mempercayai pengkompil mereka, mereka dapat menjalankan rentetan dan lihat ini, dan kemudian mereka akan tahu bahawa ada sesuatu yang salah dengan binari sebenar. Tetapi, rentetan adalah sesuatu yang tidak dapat dielakkan yang telah disusun. Jadi, siapa yang mengatakan bahawa pengkompil kita tidak hanya mempunyai kod yang lebih istimewa yang berkata, jika rentetan yang pernah berjalan pada pengkompil kami, tidak menayangkan semua kod yang berniat jahat. Idea yang sama dengan jika kita mahu mundur memasang fail - kita belajar bahawa penghimpun membawa kita dari kod himpunan kod mesin - kita boleh pergi dalam arah yang bertentangan - objdump-d pengkompil - akan memberi kita pemasangan kod kami. Melihat ini, ia adalah agak samar, tetapi jika kita mahu, kita boleh melihat melalui ini dan sebab, tunggu, ada sesuatu yang berlaku di sini yang tidak harus berlaku, dan kemudian kita akan menyedari bahawa pengkompil melakukan sesuatu yang berniat jahat. Tetapi, seperti tali, yang mengatakan objdump tidak khas berselongsong. Pada asasnya, ia datang ke anda tidak boleh mempercayai apa-apa. Titik kertas yang dipanggil "Amanah mempercayai" adalah secara umum, kita mempercayai pengkompil kami. Anda menyusun kod anda dan mengharapkan ia melakukan apa yang anda meminta ia lakukan. Tetapi, mengapa anda perlu mempercayai pengkompil? Anda tidak menulis pengkompil. Anda tidak tahu apa pengkompil semestinya sebenarnya melakukan. Siapa yang mengatakan anda boleh percayai? Tetapi walaupun begitu, baik, mungkin kita boleh mempercayai pengkompil. Terdapat berpuluh-puluh ribu orang yang telah melihat ini. Seseorang mesti telah diiktiraf sesuatu dengan pengkompil. Bagaimana jika kita hanya pergi 1 tahap yang lebih mendalam? Ia juga boleh menjadi pemproses anda. Seperti tidak masuk akal kerana ia mungkin boleh, mungkin ada beberapa pekerja penyangak di Intel yang mencipta pemproses ini bahawa apabila pemproses yang notis bahawa anda menjalankan arahan beberapa yang bertujuan untuk login ke komputer, pemproses akan menerima beberapa nama pengguna tertentu dan kombinasi kata laluan. Ia akan liar rumit, tetapi seseorang boleh melakukannya. Pada ketika itu, anda benar-benar akan membuka komputer anda untuk melihat pemproses dan menggunakan mikroskop untuk mengakui bahawa litar ini tidak berbaris kerana mereka perlu? Tiada siapa yang pernah pergi untuk menangkap kesilapan itu. Pada satu ketika, anda hanya perlu untuk berputus asa dan mempercayai sesuatu. Kebanyakan orang tidak mempercayai pengkompil pada ketika ini. Itu adalah untuk mengatakan tidak semestinya bahawa anda sepatutnya. Melihat video yang agak terkenal - [Muzik dramatik bermain] [Ia adalah sistem UNIX. Saya tahu ini.] [Ia adalah semua fail -] Dia berkata, "Ia adalah satu sistem UNIX. Saya tahu ini." Gantikan UNIX dengan apa jua sistem operasi kegemaran anda - dia boleh berkata, "Ia adalah satu sistem Windows. Saya tahu ini." Ia adalah satu kenyataan yang benar-benar bermakna, tetapi untuk semua yang kita tahu, dia berlaku untuk mengetahui pintu belakang ke dalam sistem UNIX. Dia tahu beberapa kombinasi nama pengguna / kata laluan yang sebenarnya akan membiarkan dia melakukan apa sahaja yang dia mahu. Semua hak. Moral hari ini adalah pada dasarnya anda tidak boleh mempercayai apa-apa. Malah perkara yang anda menulis - anda tidak menulis pengkompil. Pengkompil boleh menjadi buruk. Malah jika anda tidak menulis pengkompil, perkara yang berjalan pengkompil boleh menjadi buruk. (Ketawa) Tidak banyak yang boleh anda lakukan. Dunia ini telah ditakdirkan. Kembali kepada Daud! [Tepukan] [Daud] Terima kasih. Itu adalah benar-benar menyedihkan. Tetapi sesungguhnya, Rob adalah betul. Kami tidak benar-benar mempunyai penyelesaian untuk itu, tetapi anda kira-kira untuk mendapatkan beberapa penyelesaian kepada beberapa pertahanan yang lebih biasa. Dalam jangkaan ini, apa Nate dan saya telah melakukan pentas telah hampir tiba di sana mengetahui bahawa terdapat banyak komputer riba di dalam bilik ini, kita telah menghidu semua trafik wayarles melalui bilik ini untuk 20 minit yang lalu semasa bercakap Rob, jadi kita pergi untuk berehat 2 minit di sini. Nate akan untuk menubuhkan, dan kemudian kita akan bercakap tentang semua barangan kita boleh dapati. (Ketawa) Jadi, saya mungkin telah dibesar-besarkan sedikit hanya demi drama, tetapi kita boleh telah menghidu semua trafik wayarles anda kerana sememangnya, ia adalah yang mudah. Tetapi terdapat juga cara-cara yang anda boleh mempertahankan terhadap perkara ini, dan demikian dengan itu, Saya memberi anda Nate Hardison. >> [Nate] Sweet. (Tepukan) [Nate] Terima kasih, manusia. Saya menghargai menjerit keluar. Semua hak! Ia seminggu permainan. Adakah anda semua teruja? Semoga ia akan menjadi satu perlawanan besar pada hari Sabtu. Saya bayangkan anda lelaki pada ketika ini - memandangkan bahawa anda mempunyai kuiz pada Rabu semua tentang kod, dan kita hanya duduk melalui syarahan indah oleh Rob dengan sekumpulan keseluruhan kod C di dalamnya - mungkin sedikit bosan kod. Dalam bahagian ini, kita sebenarnya tidak akan menyentuh kod apa-apa jua. Kami hanya akan bercakap tentang teknologi yang anda gunakan setiap hari, sering berjam-jam, banyak banyak hari, dan kita akan bercakap tentang implikasi dengan keselamatan bahawa terdapat. Kami telah berbincang banyak tentang keselamatan sepanjang semester, dan kita bermula dengan sedikit kripto. [Bdoh lv vwlqng!] Dan semasa anda lelaki mungkin super teruja untuk lulus nota kepada satu sama lain dalam kelas menggunakan cipher Caesar seperti ini, pada hakikatnya, terdapat beberapa yang lebih menyeronokkan untuk diberikan apabila anda sebenarnya bercakap mengenai keselamatan dan yang jenis barangan. Hari ini, kami akan meliputi teknologi beberapa bahawa orang sebenarnya menggunakan dalam dunia sebenar untuk melakukan segala macam perkara daripada menghidu paket rakyat sebenarnya berlaku di dalam dan di memecah masuk ke dalam akaun bank rakyat dan semua itu. Ini adalah alat yang sah yang kita berbicara tentang dengan pengecualian mungkin alat satu. Dan saya hanya mahu untuk membuat penafian cepat. Apabila kita bercakap tentang perkara-perkara ini, kita berbicara tentang mereka supaya anda tahu apa yang di luar sana, dan anda sedar tentang bagaimana untuk menjadi selamat apabila anda keluar menggunakan komputer anda. Tetapi kita pasti tidak mahu untuk membayangkan bahawa anda harus menggunakan alat ini di asrama atau rumah anda kerana anda boleh menghadapi banyak isu-isu besar. Itulah salah satu sebab hari ini bahawa kita sebenarnya tidak menghidu paket anda. Semua hak. Isnin lepas, kita bercakap tentang cookies, dan HTTP, dan pengesahan, dan bagaimana Firesheep membuka pintu besar ke dalam akaun Facebook anda, kepada akaun Hotmail anda - jika ada sesiapa yang masih menggunakan Hotmail - dan banyak lagi akaun lain. Banyak barangan ini akan untuk membina kira itu, tetapi pertama, saya ingin mengambil lawatan cepat bagaimana Internet telah berkembang dari masa ke masa. Kembali dalam 90-an, anda semua mungkin telah diingati sebenarnya memasang komputer anda dengan salah satu daripada. Sekarang kita tidak berbuat demikian banyak lagi. Ia sebenarnya ternyata bahawa untuk palam kabel Ethernet ke dalam laptop saya, Saya kini mempunyai untuk menggunakan salah satu ini adapter yang jenis gila. Sebaliknya, pada tahun 1997, kami mempunyai baru ini, teknologi yang menyeronokkan keluar yang dikenali sebagai IEEE 802.11, jadi ini adalah standard internet wayarles IEEE ini badan pentadbir yang memberikan segala macam - menerbitkan semua jenis standard dengan berhubung dengan komputer. 802 standard adalah semua tentang teknologi Internet. Jadi 802,3, sebagai contoh, adalah standard Ethernet, 802.15.1 saya percaya adalah standard Bluetooth, dan 802.11 adalah semua tentang Internet wayarles. Pada tahun 1997 ini keluar. Ia tidak cukup menangkap segera. Ia bukan sehingga 1999 dan standard 802.11b keluar yang hanya mendapat benar-benar popular. Berapa ramai daripada anda ingat apabila komputer mula keluar dan mendapat wi-fi kepada mereka? Itu adalah jenis sejuk, kan? Saya masih ingat mendapat komputer riba pertama saya di sekolah menengah, dan ia mempunyai kad wayarles di dalamnya. Ayah saya memberi kepada saya dan mengatakan bahawa saya patut menggunakannya untuk aplikasi kolej saya dan semua itu, dan saya tidak tahu bagaimana saya telah pergi untuk melihat ini talian barangan. Tetapi mujurlah, saya mempunyai kad wayarles, jadi yang agak sejuk. Kini, anda juga akan melihat 802.11 yang merupakan salah satu daripada yang lain yang benar-benar popular standard wayarles yang di luar sana. Kedua-dua b dan g agak ketinggalan zaman pada ketika ini. Sesiapa tahu apakah versi kebanyakan orang sekarang jika mereka sedang membeli router wayarles baru dan yang jenis barangan? N. Tepat sekali. Bingo. Dan ternyata bahawa standard ac hanya keluar dalam bentuk draf, dan terdapat versi lain dalam perjalanan. Dengan setiap piawaian ini apa yang kita mendapat lebih banyak bandwidth, lebih banyak data pada kadar yang lebih cepat. Perkara-perkara ini sentiasa berubah agak cepat. Ia juga menjadikan ia supaya kita mempunyai untuk membeli lebih router dan semua bahawa barangan yang menyeronokkan. Mari kita bercakap tentang apa komunikasi tanpa wayar sebenarnya adalah pada terasnya. Dengan Ethernet dan orang-orang lama dial-up modem, anda sebenarnya mempunyai barangan ini yang anda dimasukkan ke dalam komputer anda, dan kemudian anda dimasukkan ke modem kejayaannya, dan maka anda dipasang ke dalam bicu di dinding anda. Anda mempunyai sambungan berwayar, kan? Titik keseluruhan wayarles menyingkirkan barangan ini. Dalam usaha untuk berbuat demikian, apa yang kita ada pada asasnya adalah komunikasi radio di mana router wayarles kami - ditetapkan oleh ikon kecil wayarles kami - disambungkan ke Internet dengan anak panah ini pepejal menunjukkan beberapa jenis sambungan berwayar, tetapi apabila anda menyambung ke router wayarles anda anda sebenarnya menggunakan hampir seperti walkie talkie antara komputer anda dan router wayarles anda. Apa yang benar-benar sejuk tentang perkara ini ialah anda boleh bergerak. Anda boleh menjalankan komputer anda semua lebih Sanders, pergi melayari web, apa sahaja yang anda mahu, seperti anda semua tahu dan kasih sayang, dan anda tidak pernah perlu dipasang dalam apa-apa jua. Untuk ini untuk bekerja, kita mempunyai kedua-dua ini penerimaan dan penghantaran. Ia benar-benar adalah seperti walkie talkie. Ini router wayarles - yang di Sanders duduk di bawah peringkat ini, betul-betul di sini - sentiasa penyiaran dan penerimaan, penyiaran dan penerimaan, dan begitu juga, komputer anda semua melakukan yang jenis yang sama perkara, terlalu. Kita hanya tidak boleh mendengar. Perkara lain yang boleh anda lakukan ialah anda boleh mempunyai beberapa komputer bercakap dengan router wayarles yang sama. Lebih dekat anda berada ke router - dan sekali lagi, ini adalah satu komunikasi radio - lebih dekat anda berada, lebih baik isyarat anda, lebih baik komputer anda 'mendengar' router dan boleh berkomunikasi dengan Internet. Jika anda semua yang pernah di asrama anda, di rumah anda dan anda tertanya-tanya mengapa isyarat anda buruk, ia mungkin kerana a). anda tidak sangat dekat router anda, atau b). ada sesuatu di antara anda dan router anda seperti dinding simen atau sesuatu yang tidak membenarkan mereka pergi melalui gelombang radio. Mari kita bercakap sedikit tentang mengapa orang jahat seperti wi-fi. Orang jahat suka wi-fi untuk beberapa sebab. Berikut adalah lelaki buruk jahat kita di sana. Salah satu sebab mengapa ini lelaki yang buruk suka wi-fi adalah kerana, secara lalai, banyak router wayarles datang dan apabila anda menetapkan mereka, mereka tanpa enkrip. Ini telah menjadi satu masalah, dan terdapat keadaan - keadaan berganda, kini - mana lelaki yang buruk menunjukkan sehingga ke rumah seseorang itu, notis bahawa terdapat enkrip wi-fi yang mereka boleh menyambung. Mereka menyambung ke wi-fi, dan kemudian mereka mula memuat turun semua jenis fun stuff. Dan mereka tidak memuat turun kucing, mereka tidak memuat turun anjing. Ini adalah seperti BitTorrent. Ini adalah jahat daripada nastiest. Telah ada kes-kes di mana FBI telah pun mendapat terlibat berfikir bahawa orang yang memiliki rumah sebenarnya adalah salah berlaku di luar sana dan memuat turun barangan bahawa mereka benar-benar tidak perlu. Setelah tanpa enkrip wi-fi adalah pasti bukan sesuatu yang anda mahu lakukan, jika hanya untuk tidak mempunyai FBI datang mengetuk di pintu anda. Satu lagi sebab mengapa orang jahat suka wi-fi adalah sebab bahawa Daud bercakap tentang awal semasa cuti. Kerana ia adalah komunikasi radio pada terasnya, jika anda tahu saluran, anda boleh mendengar stesen radio itu. Sebagai contoh, jika ada hak buruk di sana duduk di sebelah kanan tengah bersebelahan dengan pusat akses, sebelah kanan ke router yang wayarles, lelaki yang buruk boleh mendengar di atas semua trafik wayarles yang datang dari semua komputer mereka. Malah, lelaki ini - ini beberapa bertuah yang berada di sini dalam barisan hadapan - kerana mereka adalah super-dekat dengan semua ini router wayarles yang duduk hanya di bawah pentas, mereka akan dapat mendengar trafik semua orang di seluruh bilik ini jika anda bersambung ke wi-fi dan mula melayari melalui titik akses. Ia tidak begitu sukar untuk duduk diri anda dalam kedudukan yang baik untuk menghidu dan memikirkan apa yang orang lain lakukan. Ia adalah sesuatu yang perlu diingat, terutamanya jika anda tidak pasti di mana titik akses, dan anda melayari berkata, di Starbucks. Ia ternyata bahawa menghidu dan semua itu adalah benar-benar tidak semua yang sukar untuk dilakukan. Ada satu program yang dipanggil tcpdump yang tapak semua jenis trafik TCP dan anda boleh menjalankan ia cukup hanya - hanya seperti yang saya lakukan pagi ini. Berikut adalah sedikit a dump, dan di sini adalah beberapa trafik yang datang lebih rangkaian saya pada masa itu. Anda boleh melihat - jika anda juling benar-benar keras - terdapat sedikit Spotify di sana. Di atas tcpdump - kerana ini adalah jenis sakit untuk digunakan - ada satu program yang dipanggil Wireshark yang berkas ini semua dalam GUI yang bagus. Wireshark adalah super berguna jadi jika anda pergi untuk mengambil kelas rangkaian, ini adalah alat yang anda akan datang untuk cinta kerana ia membantu anda membedah semua paket yang terapung di luar sana. Tetapi ia juga boleh digunakan untuk buruk. Ia amat mudah hanya memuat turun program ini, boot sehingga ia, memulakan menangkap rangkaian, dan melihat segala-galanya yang berlaku di - dan menapis dan melakukan segala macam fun stuff dengan ia. Perkara lain yang boleh anda lakukan dengan komunikasi wayarles bukan sahaja anda boleh mendengarkan rahasia tetapi anda juga boleh belajar bagaimana untuk skru dengan rangkaian dan menyuntik maklumat anda sendiri untuk mengawal pengalaman bahawa orang lain pada rangkaian wayarles sama mendapat. Mari kita lihat pada itu. Berikut adalah Firesheep - yang kita tahu dan cinta dari minggu lepas - yang adalah bahawa teknologi mencuri dengar. Jika, sebagai contoh, kita mahu aktif mempunyai pergi lelaki yang buruk dan keadaan huru-hara di sekitar dengan salah satu komputer ini, dalam senario ini kita telah mendapat komputer cuba untuk pergi ombak harvard.edu. Apa yang berlaku ialah, komputer pertama menghantar mesej ke router wayarles dan berkata, hey, saya mahu pergi www.harvard.edu lawatan. Katakanlah untuk sebab-sebab tertentu mereka sedang cuba untuk mendapatkan maklumat mengenai permainan hujung minggu ini. Lelaki yang buruk, kerana dia duduk betul-betul di tengah-tengah, betul-betul bersebelahan dengan pusat akses itu, boleh melihat komunikasi yang datang dari komputer ke router, dan dia tahu, "Aha! Seseorang akan kepada harvard.edu." (Ketawa evilly) Terdapat akan menjadi kependaman ini manakala komunikasi pergi dari router keluar ke Internet untuk pergi mencari laman web di harvard.edu - hanya seperti kalian semua tahu selepas melakukan psets PHP anda - dan jadi lelaki yang buruk mempunyai sedikit masa, sedikit tingkap, di mana dia boleh bertindak balas dengan beberapa barangan. Mari kita mengatakan ini lelaki yang buruk, sudah tentu, adalah satu Yaley. Beliau bertindak balas dengan harvardsucks.org. Boo! Bad, lelaki yang buruk! Bad Yaley! Atau lebih teruk lagi, dia mungkin bertindak balas dengan itu. [Http://youtu.be/ZSBq8geuJk0]. Saya akan biarkan anda semua memikirkan apa yang. Ini adalah sebenarnya satu teknologi yang dipanggil Airpwn! yang telah memulakan kerjaya di salah satu persidangan keselamatan beberapa tahun lalu. Dengan Airpwn! anda dapat sebenarnya menyuntik trafik kembali ke dalam rangkaian. Komputer yang telah cuba untuk keluar ke Internet dan cuba untuk sampai ke Google.com, Facebook.com, harvard.edu melihat sambutan yang berniat jahat datang dan segera menganggap, okay, itulah respons bahawa saya telah menunggu dan akhirnya mendapat kandungan daripada harvardsucks.org atau nameyourfavoriteshocksite.com, dan anda boleh lihat berapa cepat perkara akan merosot. Semua ini macam perkara tidak boleh dilakukan dengan sambungan berwayar kerana dengan sambungan berwayar ia adalah sukar untuk mengintip kepada lalu lintas. Jika saya seorang lelaki yang buruk dan pada satu hujung adalah komputer anda dan pada akhir lain adalah modem router anda - anda - satu-satunya cara saya boleh mendapatkan di antara sambungan yang sebenarnya adalah untuk sambat komputer saya di suatu tempat di tengah-tengah atau melakukan sesuatu yang lain dengan router, hiliran sesuatu. Tetapi dengan wayarles, ia boleh menjadi semudah duduk di barisan hadapan kelas, dan anda boleh melakukan semua jenis barangan jahat kepada orang-orang di belakang. Mari kita bercakap tentang bagaimana anda boleh mempertahankan terhadap beberapa perkara-perkara ini. Orang-orang yang membangunkan standard wayarles - 802,11 - mereka bukan orang bodoh oleh menghulurkan mana-mana imaginasi. Ini adalah teknologi sejuk dan apabila ia memulakan kerjaya pada tahun 1999, mereka keluar dengan standard ini dipanggil WEP. Anda boleh lihat di sini apabila anda cuba dan menyertai rangkaian wayarles, anda mempunyai pelbagai pilihan keselamatan yang berbeza. Itulah jenis sakit kerana terdapat 6 semua bersama-sama dan ia tidak pernah benar-benar masuk akal yang 1 untuk menyertai. Ini 1 di atas adalah yang pertama bahawa mereka datang dengan dipanggil WEP. WEP bermaksud Privasi Wired Equivalent, saya percaya, tidak Penyulitan Protokol Wireless yang salah yang biasa. Kerana ia cuba untuk memberi anda setaraf privasi dan perlindungan keselamatan bersamaan dengan rangkaian berwayar Dengan WEP apa yang akhirnya berlaku adalah, anda mempunyai mudah, kata laluan kecil yang anda taip di dan yang bertujuan untuk menyulitkan semua komunikasi anda antara komputer anda dan router anda. Apa masalah dengan WEP walaupun? Kata laluan dengan WEP adalah benar-benar pendek, dan juga semua orang menggunakan kata laluan yang sama,  dan supaya ia benar-benar mudah untuk menyahsulit. Jadi sangat cepat orang beranggapan bahawa WEP adalah masalah, dan sebab sahaja anda melihat ia menunjukkan masih pada lelaki kecil ini adalah - terdapat beberapa sistem yang lebih tua yang tidak menggunakan WEP - apa yang anda sebaliknya perlu mencari WPA dan walaupun WPA2 standard yang telah dibebaskan kemudian. Sistem ini pergi lebih baik pada perlindungan pada Internet wayarles. Yang berkata, mereka masih mempunyai hackability beberapa. Terdapat alat di luar sana yang boleh pergi melakukan ini. Satu perkara yang tertentu yang boleh menjadi jahat adalah bahawa jika anda menyambung dan disahkan ke router wayarles dan menggunakan beberapa jenis komunikasi disulitkan, ia ternyata bahawa seorang hacker boleh menghantar paket tunggal untuk mencabut anda dari router, dan apabila mereka telah terputus anda mereka kemudian boleh mendengar - mereka boleh menghidu paket seperti yang anda cuba untuk mewujudkan semula sambungan dengan router anda. Dan dengan maklumat yang mereka kemudian boleh pergi dalam dan menyahsulit seluruh komunikasi anda. Ini tidak oleh mana-mana ertinya mana-mana jenis selamat di luar imaginasi semua. Perkara lain yang boleh anda lakukan apabila anda menubuhkan rangkaian wayarles atau anda menyertai mereka adalah - anda dapati di sini apabila saya menyertai rangkaian ini, ia meminta untuk nama rangkaian saya. Ini juga dikenali sebagai SSID. Dan anda lihat di sini bahawa di sebelah kanan saya mempunyai kotak yang menunjukkan saya SSIDs disediakan. Ada Universiti Harvard, CS50, dan rangkaian CS50 Staf. Sekarang, berapa banyak anda tahu terdapat rangkaian CS50 Staf sekitar? Sebahagian daripada anda. Tidak semua anda. Masalah dengan ini, sudah tentu, adalah yang telah kita tidak meletakkan ini dalam senarai kami SSIDs, tiada siapa yang akan diketahui tentang kemungkinan besar. Saya berharap. Melainkan jika anda lelaki semua cuba untuk memecahkan ke dalam wayar kami. Tetapi ini adalah sesuatu yang boleh anda lakukan yang benar-benar penting apabila anda menubuhkan router di rumah. Ini mungkin tidak akan berlaku selama beberapa tahun untuk banyak anda, tetapi adakah ingat bahawa menjaga bahawa SSID keluar dari sana dan juga tidak menamakan ia sesuatu yang super biasa akan membantu membuat anda lebih selamat dalam jangka masa panjang. Pasangan akhir perkara-perkara yang boleh anda lakukan. Satu adalah HTTPS. Jika anda berada di Starbucks, jika anda berada di kawasan awam wi-fi dan anda memutuskan untuk mengakses akaun bank anda, mengakses Gmail, Facebook anda, pastikan bahawa mereka sambungan akan lebih HTTPS. Ia adalah satu lapisan tambahan keselamatan, lapisan ditambah penyulitan. Satu perkara yang perlu diingat di sini ialah, berapa ramai daripada anda pernah diklik melalui bahawa skrin besar, merah yang mengatakan, "Laman web ini mungkin buruk." Saya tahu saya mempunyai. Ia mungkin apabila anda semua melayari untuk pergi melihat Homeland atau sesuatu seperti itu, kan? Yeah. (Penonton ketawa) Yeah. Terdapat anda pergi. Kita tahu siapa yang menonton Homeland. Yang besar, skrin merah di sana sering menunjukkan bahawa funky sesuatu yang sedang berlaku. Kadang-kadang ia hanya laman web itu sendiri tidak selamat, tetapi yang sama besar, skrin merah datang apabila orang cuba untuk gunung rangkaian menyerang pada anda. Jadi, jika anda melihat yang besar, skrin merah tampil di Starbucks, jangan klik melaluinya. Berita buruk. Berita buruk beruang. Perkara terakhir yang anda boleh melihat adalah beberapa jenis VPN. VPN ini boleh didapati melalui Harvard - vpn.fas.harvard.edu - dan apakah ini tidak adalah ia sebenarnya mewujudkan satu sambungan yang selamat antara anda dan Harvard, corong trafik anda melalui ia, dan bahawa cara jika anda sedang duduk di suatu tempat seperti Starbucks anda boleh menyambung ke Harvard, mendapatkan bahawa lalu lintas yang selamat, dan kemudian melihat dari Harvard. Sekali lagi, tidak foolproof. Orang ramai boleh mendapatkan di tengah-tengah. Mereka boleh mula untuk memecahkan, tetapi ini adalah jauh lebih selamat daripada bergantung kepada keselamatan wi-fi sahaja. Semua hak. Kesimpulannya, apabila anda menubuhkan rangkaian wayarles, apabila anda akan keluar untuk menggunakan wayarles di khalayak ramai - sama ada Starbucks, sama ada ia Lima Guys, sama ada ia B.Good, sesuatu seperti itu - di mana sahaja mereka mempunyai wi-fi - sedar persekitaran anda. Berhati-hati apa yang orang boleh lakukan. Dan selamat. Jangan mengakses akaun bank anda. Ia boleh menjadi kebangkitan biadap jika seseorang muncul dengan kata laluan anda kemudian. Dengan itu, pergi lembayung! Dan saya akan untuk menjadikan perkara-perkara kembali kepada Daud perkataan akhir. (Tepukan) [Daud] Saya fikir saya akan berkongsi satu perkara dari pengalaman peribadi. Satu alat yang anda mungkin ingin untuk bermain dengan - walaupun Apple telah sebahagian besarnya dihapuskan isu ini jika anda telah dikemaskini perisian anda sejak - tetapi ke arah akhir ini tidak benar-benar dapat mempercayai perisian yang kita gunakan, dan mata Nate, yang mampu untuk menghidu agak sedikit apa yang orang lain lakukan di luar sana - ini adalah suatu perisian yang keluar kira-kira satu tahun dan setengah yang lalu kini. [IPhoneTracker] [http://petewarden.github.com/iPhoneTracker/] Untuk beberapa waktu, iTunes - sebelum iCloud, apabila anda Menyegerakkan iPod atau iPhone anda atau atau iPads anda dengan iTunes - dalam kepentingan sandaran, apa iPhone anda dan alat-alat lain telah lakukan untuk beberapa ketika membuat penggunaan data GPS. Anda semua tahu mungkin bahawa anda iPhone dan Androids dan Windows telefon bimbit dan seperti hari ini boleh mengesan di mana anda berada dalam kepentingan menunjukkan anda peta dan sama - baik apa yang Apple dan syarikat-syarikat lain adalah mereka biasanya menjejaki hampir di mana-mana anda sebenarnya berada dalam kepentingan meningkatkan kualiti perkhidmatan. Satu, anda boleh mendapatkan lebih banyak pengiklanan yang disasarkan dan sebagainya, tetapi dua, mereka juga boleh memikirkan di mana terdapat hotspot wayarles di dunia, dan ini boleh membantu dengan geo-lokasi - jenis triangulasi kedudukan rakyat. Cerita pendek yang panjang, kita semua telah berjalan antena untuk beberapa jumlah masa. Malangnya, Apple telah membuat keputusan reka bentuk - atau kurang daripadanya - untuk tidak menyulitkan maklumat ini apabila ia menjadi sandaran untuk iTunes. Dan apa yang penyelidik keselamatan mendapati bahawa ini adalah hanya fail XML yang besar - fail teks besar - duduk dalam perisian iTunes rakyat, dan jika anda hanya sedikit tertanya-tanya, anda boleh pergi poking sekitar sejarah, pasangan anda sejarah rakan sebilik anda, adik-beradik anda, sejarah dan sebagainya, dan terima kasih kepada beberapa perisian percuma, anda boleh plot semua ini koordinat GPS - latitud dan longitud. Jadi, saya sebenarnya melakukan ini dengan telefon saya sendiri. Saya dipasang di telefon bimbit saya, dan cukup yakin, versi iTunes saya tidak disulitkan pada masa itu, dan apa yang saya dapat melihat corak saya sendiri. Berikut adalah Amerika Syarikat dan setiap ini bulatan biru mewakili berlaku di mana saya telah sejak bulan-bulan sebelumnya memiliki telefon tertentu.  Saya menghabiskan banyak masa, sudah tentu, di Timur Laut, sedikit masa di California, perjalanan yang singkat ke Texas, dan jika anda kemudian zoom di atas ini - ini adalah semua jenis yang halus dan menarik, tetapi saya tahu ini. Kebanyakan rakan-rakan saya tahu ini, tetapi jika anda menyelam di lebih mendalam, anda lihat di mana saya menghabiskan kebanyakan masa saya di Timur Laut. Jika anda selak ke beberapa bandar-bandar yang biasa hadapan - ini besar, percikan dakwat biru pada asasnya tertumpu lebih Boston, dan kemudian saya menghabiskan sedikit masa keluar di pinggir bandar yang terpancar keluar dari Boston. Tetapi saya juga telah melakukan agak sedikit berunding dengan tahun itu. Dan tahun ini adalah pesisir timur, dan anda sebenarnya boleh melihat saya dan iPhone saya di dalam poket saya berjalan ke belakang dan sebagainya antara Boston dan New York dan Philadelphia lagi ke bawah, serta menghabiskan sedikit masa bercuti pada Cape, yang merupakan cabang sedikit di luar sana. Jadi, setiap satu daripada titik ini mewakili beberapa tempat yang saya telah, dan sepenuhnya tanpa pengetahuan saya, keseluruhan sejarah ini hanya duduk di sana pada komputer saya. Jika anda zum keluar - ini sebenarnya adalah sedikit merisaukan. Saya tidak mempunyai ingatan pernah berada di Pennsylvania bahawa tahun tertentu. Tetapi saya walaupun sedikit sukar tentang perkara ini dan saya beranggapan, oh, ia adalah hakikat bahawa perjalanan dan cukup yakin, telefon bimbit saya telah menarik saya. Apple telah sejak disulitkan maklumat ini, tetapi ini juga hanya bukti kepada berapa banyak maklumat yang dikumpul tentang kami, dan bagaimana mudah - untuk lebih baik atau untuk lebih teruk - ia adalah diterima. Salah mengambil-aways diharapkan dari bercakap, Rob dari bercakap Nate dan visual sedikit seperti hari ini adalah semata-mata untuk menjadi semua menyedari lebih daripada ini supaya walaupun ke titik Rob - apapun Sign In Register New diskru, kan? Tidak banyak yang boleh kita lakukan apabila ia datang kepada beberapa ancaman ini, tetapi pada akhir hari kita perlu mempercayai sesuatu atau seseorang jika kita mahu sebenarnya menggunakan teknologi ini. Sekurang-kurangnya kita boleh membuat keputusan yang termaklum dan keputusan yang dikira sama ada atau tidak kita sebenarnya perlu memeriksa akaun ini terutamanya sensitif atau kita sebenarnya perlu menghantar bahawa sedikit mengesyaki mesej segera  dalam persekitaran wi-fi seperti ini. Jadi, dengan itu berkata, hanya satu mayat kuiz, satu kuliah kekal. Kami akan melihat anda pada hari Rabu kemudian Isnin. (Tepukan dan sorakan) [CS50TV]