Kursus MIT "Keamanan Sistem Komputer". Kuliah 18: “Penjelajahan Pribadi Internet”, bagian 1

Institut Teknologi Massachusetts. Kursus Kuliah # 6.858. "Keamanan sistem komputer." Nikolai Zeldovich, James Mickens. Tahun 2014


Keamanan Sistem Komputer adalah kursus tentang pengembangan dan implementasi sistem komputer yang aman. Ceramah mencakup model ancaman, serangan yang membahayakan keamanan, dan teknik keamanan berdasarkan pada karya ilmiah baru-baru ini. Topik meliputi keamanan sistem operasi (OS), fitur, manajemen aliran informasi, keamanan bahasa, protokol jaringan, keamanan perangkat keras, dan keamanan aplikasi web.

Kuliah 1: “Pendahuluan: model ancaman” Bagian 1 / Bagian 2 / Bagian 3
Kuliah 2: "Kontrol serangan hacker" Bagian 1 / Bagian 2 / Bagian 3
Kuliah 3: “Buffer Overflows: Exploits and Protection” Bagian 1 / Bagian 2 / Bagian 3
Kuliah 4: “Pemisahan Hak Istimewa” Bagian 1 / Bagian 2 / Bagian 3
Kuliah 5: "Dari mana sistem keamanan berasal?" Bagian 1 / Bagian 2
Kuliah 6: “Peluang” Bagian 1 / Bagian 2 / Bagian 3
Kuliah 7: “Kotak Pasir Klien Asli” Bagian 1 / Bagian 2 / Bagian 3
Kuliah 8: “Model Keamanan Jaringan” Bagian 1 / Bagian 2 / Bagian 3
Kuliah 9: "Keamanan Aplikasi Web" Bagian 1 / Bagian 2 / Bagian 3
Kuliah 10: “Eksekusi simbolik” Bagian 1 / Bagian 2 / Bagian 3
Kuliah 11: “Bahasa Pemrograman Web / Web” Bagian 1 / Bagian 2 / Bagian 3
Kuliah 12: Keamanan Jaringan Bagian 1 / Bagian 2 / Bagian 3
Kuliah 13: "Protokol Jaringan" Bagian 1 / Bagian 2 / Bagian 3
Kuliah 14: "SSL dan HTTPS" Bagian 1 / Bagian 2 / Bagian 3
Kuliah 15: “Perangkat Lunak Medis” Bagian 1 / Bagian 2 / Bagian 3
Kuliah 16: “Serangan Saluran Samping” Bagian 1 / Bagian 2 / Bagian 3
Kuliah 17: “Otentikasi Pengguna” Bagian 1 / Bagian 2 / Bagian 3
Kuliah 18: “Penjelajahan Pribadi di Internet” Bagian 1 / Bagian 2 / Bagian 3

Jadi mari kita mulai. Selamat datang di ceramah menarik lainnya tentang keamanan dan mengapa dunia begitu mengerikan. Jadi, hari ini kita akan berbicara tentang mode penjelajahan pribadi, tentang yang banyak dari Anda mungkin memiliki banyak pengalaman pribadi. Apa tujuan dari penjelajahan pribadi? Apa yang peneliti keamanan katakan tentang privasi?



Secara umum, mereka berbicara tentang tujuan berikut: setiap pengguna tertentu tidak boleh berbeda dari sekelompok pengguna lain. Secara khusus, aktivitas pengguna ini saat menjelajah Internet tidak akan terlihat membahayakan dalam hal aktivitas pengguna lain. Jadi, seperti yang saya sebutkan, hari ini kita akan berbicara tentang privasi dalam konteks spesifik dari penjelajahan internet pribadi.

Faktanya, tidak ada definisi formal tentang apa yang dimaksud dengan penjelajahan pribadi. Ada beberapa alasan untuk ini. Salah satunya adalah bahwa aplikasi web adalah hal yang sangat, sangat kompleks. Mereka terus-menerus menambahkan fitur baru, seperti konten audio, video, dan hal-hal serupa lainnya. Akibatnya, apa yang harus browser adalah "target bergerak." Oleh karena itu, konsep tentang apa yang dapat dilakukan browser agak kabur, sehingga tidak selalu jelas informasi tentang pengguna tertentu yang dapat bocor ke domain publik.

Pada akhirnya, yang terjadi adalah bahwa dalam praktiknya, seperti banyak hal lainnya, keberadaan dan tugas browser ditentukan oleh standar kehidupan. Dengan demikian, berbagai produsen browser akan menerapkan berbagai fungsi, terutama yang berkaitan dengan penjelajahan pribadi. Pengembang lain melihat hasil pesaing dan memperbarui peramban mereka sendiri, sehingga tujuan dan sasaran peramban terus berubah.



Karena pengguna semakin bergantung pada penelusuran pribadi Internet, mereka pada akhirnya akan menemukan banyak kesalahan privasi, yang akan saya bicarakan sebentar lagi. Dalam arti global, penjelajahan pribadi dapat dilihat sebagai tujuan yang ambisius. Tetapi ketika masyarakat membaik, beberapa aspek penjelajahan pribadi menjadi lebih baik dan beberapa menjadi lebih buruk.

Jadi apa yang kita maksud dengan penjelajahan pribadi di Internet? Ini sulit ditentukan, tetapi artikel ceramah mencoba untuk memformalkan masalah ini dalam dua cara spesifik. Pertama-tama, ini berbicara tentang peretas lokal di jaringan pribadi - orang yang akan mengambil alih komputer Anda setelah Anda menyelesaikan penjelajahan pribadi. Dan orang ini ingin mengetahui situs mana yang Anda kunjungi dalam mode penjelajahan pribadi.

Artikel itu juga berbicara tentang penjahat cyber yang mengontrol situs yang Anda kunjungi. Penyerang ini mungkin mencoba mencari tahu bahwa Anda adalah orang tertentu, John atau Jane, dan bukan pengguna yang tidak pribadi tentang siapa situs web tidak dapat memberikan informasi. Karena itu, kami akan memeriksa setiap serangan ini secara rinci. Cukuplah untuk mengatakan bahwa jika seorang penyerang dapat secara bersamaan mengatur kedua serangan ini, baik serangan lokal maupun Internet, ini akan sangat meningkatkan kemampuannya untuk mengungkapkan identitas Anda.

Misalnya, penyerang lokal yang dapat mengetahui alamat IP Anda dapat mengetahui apakah alamat IP tertentu ini ada di log situs. Jadi dari sudut pandang keamanan, sangat berguna untuk mempertimbangkan serangan lokal dan web ini, pertama secara individual, dan kemudian dalam bentuk gabungan.

Mari kita lihat tipe penyerang pertama - penyerang lokal. Asumsikan bahwa peretas ini akan mengontrol komputer pengguna setelah akhir sesi komunikasi jaringan. Maksud saya, penjelajahan pribadi Internet telah selesai, pengguna telah berhenti menggunakan browser dan dia tidak ada di depan komputer. Setelah itu, hacker mengambil kendali komputer dan mencoba mencari tahu apa yang terjadi sebelumnya. Oleh karena itu, tujuan keamanan adalah untuk mencegah penyerang memahami situs web mana yang dikunjungi pengguna selama penjelajahan pribadi.

Alasan penting mengapa kami mempertimbangkan serangan setelah sesi aktivitas Internet berakhir adalah sebagai berikut. Jika kita berasumsi bahwa penyerang dapat mengendalikan komputer sebelum menonton pribadi, maka "permainan telah berakhir", karena dalam hal ini peretas dapat memasang interseptor keyboard, melanggar integritas browser atau sistem operasi itu sendiri. Jadi kami tidak akan memperhatikan penyerang seperti itu. Harap perhatikan bahwa untuk alasan yang sama, kami tidak berusaha memastikan privasi pengguna setelah penyerang mengendalikan komputernya, karena setelah menguasai komputer, peretas akan dapat melakukan apa pun yang ia inginkan dengannya, setidaknya menginstal pencegat keyboard yang sama. Jadi, pada prinsipnya, begitu pengguna meninggalkan komputer, kami tidak secara langsung mempertimbangkan konsep privasi.

Di sini Anda dapat memperkenalkan tujuan lain yang ingin Anda capai - coba sembunyikan dari penyerang yang umumnya pengguna gunakan mode penjelajahan pribadi.



Artikel kuliah mengatakan bahwa itu sangat sulit. Properti ini sering disebut "penolakan yang masuk akal." Misalnya, bos Anda mendatangi Anda setelah sesi penjelajahan pribadi dan berkata: "Apakah Anda menjelajah mylittlepony.com?" Dan Anda menjawab, tidak, bahwa Anda tidak pergi ke sana! Dan saya, tentu saja, tidak menggunakan mode penjelajahan pribadi untuk menyembunyikan fakta bahwa saya menjelajah mylittlepony.com. Jadi, seperti yang saya katakan, properti penolakan yang masuk akal sulit untuk dipastikan, nanti saya akan memberikan alasan spesifik. Jadi kami hanya akan mempertimbangkan penyerang lokal saja.

Kita mungkin memikirkan pertanyaan, bagaimana keadaan konstan dari sisi klien yang berkontribusi terhadap kebocoran selama sesi penelusuran pribadi? Dengan kegigihan, maksud saya bahwa beberapa data akan disimpan pada hard drive lokal, SSD lokal, atau yang serupa.



Jadi, kondisi operasi apa dari sistem yang penuh dengan kebocoran data jika kita tidak cukup berhati-hati ketika melihat secara pribadi? Pertama-tama, ini adalah status aksesibilitas komponen JavaScript seperti cookie dan penyimpanan DOM. Hal lain yang dikhawatirkan orang saat browsing secara pribadi adalah cache browser. Lagi pula, Anda tidak ingin seseorang menemukan di cache internal beberapa gambar atau file HTML dari situs web yang kunjungannya ingin Anda sembunyikan dari orang lain.

Hal penting lainnya adalah sejarah situs yang Anda kunjungi. Anda dapat merusak hubungan dengan orang lain ketika dia masuk ke browser, mulai mengetik sesuatu di bilah alamat dan memalukan apa yang dimulai, karena sejarah pandangan Anda secara otomatis mengatakan kepadanya sesuatu yang sangat tidak senonoh. Ini adalah salah satu alasan mengapa Anda tidak ingin informasi ini bocor dari sesi penjelajahan pribadi Anda.

Anda juga dapat berpikir tentang melihat status konfigurasi dan hal-hal seperti sertifikat klien dan bookmark halaman. Mungkin Anda pergi ke situs tertentu, dan browser menawarkan untuk menyimpan kata sandi Anda dalam file konfigurasi untuk melihat situs ini, dan Anda tidak ingin membocorkannya.

Kelima adalah file yang diunduh. Ini menarik karena tindakan pengguna eksplisit diperlukan untuk mengunduh file. Anda dapat menggunakan file yang diunduh saat browsing pribadi saat membuka browser, tetapi Anda juga dapat menggunakan file yang diunduh setelah Anda selesai bekerja dengan browser di luar mode penelusuran pribadi. Kami akan membicarakannya nanti.

Dan akhirnya, dalam mode penjelajahan pribadi, Anda dapat menginstal plug-in atau ekstensi baru untuk browser. Ini adalah jenis negara lain yang kebocorannya di luar penjelajahan pribadi tidak diinginkan.



Dengan demikian, mode penelusuran saat ini biasanya mencoba untuk mencegah kebocoran data selama keadaan pertama, kedua, dan ketiga dari sesi penelusuran pribadi. Artinya, seharusnya tidak ada kemungkinan kebocoran cookie atau data DOM. Segala sesuatu yang Anda cache selama sesi penelusuran pribadi harus dihapus. Anda tidak boleh menyimpan riwayat URL yang dikunjungi.

Sebagai aturan, data dari mode tampilan pribadi keempat, kelima dan keenam dapat bocor keluar dari sesi. Ada alasan yang berguna dan berbahaya mengapa hal ini dapat terjadi. Nanti kita akan melihat bahwa jika satu kebocoran diizinkan, maka ini akan secara radikal meningkatkan permukaan ancaman semua informasi pribadi. Oleh karena itu, agak sulit untuk membahas dengan tepat properti keamanan mana yang dimaksudkan untuk mode tampilan pribadi.

Hal berikutnya, yang akan kita bicarakan secara singkat, adalah aktivitas jaringan selama mode penelusuran pribadi. Hal yang menarik tentang ini adalah bahwa bahkan jika kami menyediakan untuk perlindungan semua 6 negara ini, mencegah kebocoran informasi, fakta bahwa Anda mengeluarkan paket jaringan selama koneksi adalah bukti dari apa yang Anda lakukan. Bayangkan ketika Anda ingin pergi ke foo.com, komputer Anda harus mengeluarkan permintaan DNS untuk foo.com. Jadi, bahkan jika Anda tidak meninggalkan jejak aktivitas dari enam negara yang disebutkan di atas, bagaimanapun, masih ada catatan dalam cache DNS lokal yang Anda coba hubungi host foo.com. Ini sangat menarik. Anda mungkin berpikir bahwa browser mungkin mencoba menghapus cache DNS setelah menyelesaikan sesi penelusuran pribadi, tetapi dalam praktiknya ini sulit dilakukan karena banyak sistem memerlukan hak administrator untuk melakukan ini. Sebuah kontradiksi muncul di sini, karena kemungkinan besar Anda tidak ingin browser memiliki hak akses root, karena kami memastikan bahwa browser tidak cukup dapat diandalkan. Selain itu, perintah pembersihan cache DNS dirancang untuk aktivitas pengguna tertentu, mereka tidak menghapus seluruh cache, apa yang Anda inginkan untuk mode penelusuran pribadi. Anda akan membutuhkan akurasi "bedah" untuk menghilangkan penyebutan mengunjungi foo.com dan situs lain dalam mode penelusuran pribadi tanpa memengaruhi hal lain. Dalam praktiknya, menghadapi ini cukup sulit.
Dan hal rumit lain yang disebutkan dalam artikel tersebut adalah artefak RAM, atau RAM. Gagasan utama di sini adalah bahwa dalam mode penjelajahan pribadi, peramban pribadi harus menyimpan sesuatu dalam memori. Bahkan jika mode penjelajahan pribadi tidak memerlukan penulisan data langsung ke disk atau membaca data dari disk, RAM menyediakan browser. Misalnya, tab yang Anda lihat mungkin tetap berada di file halaman, dan informasi ini dapat tercermin dalam file hibernasi notebook. Jadi, jika keadaan ini tercermin dalam penyimpanan persisten, maka setelah sesi penelusuran pribadi selesai, penyerang dapat menemukan kode JavaScrip atau HTML yang tercermin pada disk di file halaman.

Kami akan memiliki demonstrasi kecil tentang bagaimana ini bisa bekerja. Di layar Anda melihat tab penjelajahan pribadi yang saya gunakan untuk mengunjungi situs grup pemrograman PDOS dari laboratorium ilmu komputer di lembaga CSAIL kami.

\

Selanjutnya, saya akan menggunakan perintah menyenangkan yang disebut gcore untuk menyimpan snapshot dari halaman PDOS terbuka ini.



Selanjutnya, saya menggunakan sedikit sihir sehingga terminal saya mengambil snapshot dari memori, kadang-kadang butuh sedikit waktu.



Inilah yang terjadi ketika Anda melakukan ini - file gambar utama tampilan pribadi ini dihasilkan di sini. Sekarang kita akan melihat ke dalam gambar ini dan melihat apakah kita dapat menemukan penyebutan pdos.



Menariknya, kami melihat banyak contoh string pdos dengan berbagai awalan dalam gambar memori ini untuk mode penelusuran pribadi.



Jika kita melihat lebih jauh, kita akan melihat hal-hal seperti URL lengkap dan kode HTML.



Intinya adalah bahwa jika kita dapat menemukan semua ini di memori halaman, yaitu, beberapa data halaman ini ditempatkan di file halaman pada disk, maka penyerang dapat dengan mudah menjalankan baris ini. Dia dapat melakukan apa yang baru saja saya lakukan dengan file di halaman ini dan mencoba mencari tahu situs mana yang Anda kunjungi dalam mode penelusuran pribadi. Apakah itu jelas?
Pada prinsipnya, masalahnya di sini adalah bahwa mode penelusuran pribadi tidak mencoba untuk "membingungkan" RAM atau entah bagaimana mengenkripsi itu. Ini sepertinya hal yang cukup mendasar, karena pada titik tertentu, prosesor harus melakukan tugas berdasarkan data teks terbuka. Karenanya, keadaan ini bisa menjadi masalah besar. Adakah yang punya pertanyaan?

Mahasiswa: inilah yang sebenarnya tidak saya harapkan dari browser saya, karena browser harus menjamin privasi penjelajahan pribadi. Misalnya, jika Anda melakukan pembelian, maka seorang teman yang telah duduk di komputer Anda tidak akan dapat melihatnya. Bisakah Anda ceritakan sedikit tentang jaminan apa yang diberikan oleh penulis artikel dan apakah mereka menjelaskan dalam artikel apa yang bisa diubah di browser untuk memastikan kerahasiaan seperti itu?

Profesor: ya, ini sangat menarik. Ada satu hal yang dapat Anda perhatikan - ketika Anda membuka tab penjelajahan pribadi, sebagai aturan, pesan teks muncul di depan Anda: "selamat datang di mode penyamaran." Mode ini akan membantu Anda untuk tidak meninggalkan jejak jika beberapa pengguna bekerja di komputer, dan teman Anda, yang telah duduk setelah Anda di komputer, tidak akan dapat berkenalan dengan sejarah pandangan Anda, cookie, dan formulir pengisian data. Namun, mode penyamaran tidak akan membantu jika seseorang di belakang Anda berdiri dengan tongkat karet dan akan "menjatuhkan Anda" segera setelah Anda memasuki situs.

Oleh karena itu, pabrikan sendiri menghindari perincian jaminan terkait kerahasiaan data saat menggunakan peramban mereka.

Bahkan, setelah insiden Snowden, banyak browser mengubah pesan pop-up ini karena mereka benar-benar ingin menjelaskan kepada pengguna bahwa mereka tidak dapat melindunginya dari intervensi pasukan seperti NSA atau sesuatu seperti itu.

Singkatnya, jaminan apa yang mereka berikan? Dalam praktiknya, mereka hanya menyediakan kerentanan yang baru saja Anda sebutkan. Artinya, orang yang tidak dapat melihat apa yang Anda lakukan sekarang akan dapat melihat apa yang Anda lakukan. Kami berasumsi bahwa orang awam tidak dapat menjalankan baris dalam file halaman atau melakukan hal serupa. Namun, ada dua masalah. Salah satu masalah adalah bahwa browser sangat kompleks sehingga mereka seringkali tidak melindungi terhadap tindakan orang awam.

Saya bisa memberikan contoh pribadi. Beberapa kali, ketika saya melihat iklan spanduk Huffington Post yang lucu di halaman, seperti, “lihat bagaimana menyentuh anak-anak anjing ini membantu anak-anak anjing lain turun tangga!”, Saya kadang-kadang terperangkap oleh kelemahan seperti itu dan mengkliknya. Tetapi karena saya tidak ingin orang mengetahui kelemahan saya, saya terkadang melakukannya dalam mode tampilan pribadi. Namun, kadang-kadang URL URL iklan ini bocor ke riwayat URL dalam mode browser publik normal yang materi ini tidak dimaksudkan. Dengan demikian, salah satu masalahnya adalah bahwa kadang-kadang browser ini tidak memberikan perlindungan terhadap serangan non-profesional.

Kedua, saya pikir ada banyak orang yang, terutama setelah cerita Snowden, ingin melihat perlindungan privasi yang lebih kuat dari penjelajahan pribadi. Mereka ingin perlindungan terhadap serangan artefak RAM, bahkan jika mereka secara teknis tidak dapat merumuskan keinginan mereka dengan benar.

Oleh karena itu, salah satu hal yang saya lakukan saat belajar di institut ini adalah studi di bidang peningkatan perlindungan dalam mode tampilan pribadi, sehingga kita dapat membicarakannya.Anda akan mengetahui bahwa semua profesor dapat tanpa henti membicarakan studi mereka, jadi jika Anda ingin membicarakannya selama tiga jam, kirimkan saja saya permintaan dan kami akan mengaturnya. Jadi, apa yang baru saja saya tunjukkan menunjukkan ... apakah Anda punya pertanyaan?

Siswa: ya, tentang RAM, karena saya tidak terbiasa dengan cara kerjanya. Mengapa peramban di akhir sesi tidak bisa meminta OS untuk menghapus bagian memori yang digunakannya?

Profesor: . . , . , , . , , .

, , . , , . , , , , , . , , , , .

. , memclear. , , « ».



read_secret? , , , .



, . , , , memset , , . , , , : « ».



, , ? , .



, . , «», , , . gcore, memclear, .



, , grep .



, , , , , , . , ? , .

, / , . , , , , , C /, , . , memset , , , . , , , , / - .



, . , , , , . ? , , , . , memset memclear, . , , , . ? , , SQL.

- - RAM , , , .

, RAM, , , -, . , , . -, - , , . , , , , . .

. , , , , malloc . , , RAM. , , , – , - . , , .

. / , . , .

? , . , . . , Microsoft Word , Word . , Word, .

, , . , Linux, , , 4- . , . , Linux , , , - .

, — , , .

- SSD. . , SSD, , . , .



, , SSD, : «, , , ».

. , , .

, , , - «» .

Jadi, bagaimana kita bisa memperbaiki masalah ini dengan data seumur hidup? Kami telah membahas satu solusi, yaitu mengatur ulang memori setelah Anda menyelesaikan proses. Karena itu, setiap kali Anda merilis sesuatu, Anda cukup menuliskan banyak angka nol atau beberapa hal acak untuk dasarnya menyembunyikan data lama dari seseorang yang mungkin datang setelah Anda.

27:05 menit

Kursus MIT "Keamanan Sistem Komputer". Kuliah 18: Penjelajahan Pribadi Internet, Bagian 2


Versi lengkap dari kursus ini tersedia di sini .

Terima kasih telah tinggal bersama kami. Apakah Anda suka artikel kami? Ingin melihat materi yang lebih menarik? Dukung kami dengan melakukan pemesanan atau merekomendasikannya kepada teman-teman Anda, diskon 30% untuk pengguna Habr pada analog unik dari server entry-level yang kami temukan untuk Anda: Seluruh kebenaran tentang VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps dari $ 20 atau bagaimana membagi server? (opsi tersedia dengan RAID1 dan RAID10, hingga 24 core dan hingga 40GB DDR4).

VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps hingga Desember secara gratis ketika membayar untuk jangka waktu enam bulan, Anda dapat memesan di sini .

Dell R730xd 2 kali lebih murah? Hanya kami yang memiliki 2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV dari $ 249 di Belanda dan Amerika Serikat! Baca tentang Cara Membangun Infrastruktur Bldg. kelas menggunakan server Dell R730xd E5-2650 v4 seharga 9.000 euro untuk satu sen?

Source: https://habr.com/ru/post/id430204/


All Articles