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 3Kuliah 2: "Kontrol serangan hacker"
Bagian 1 /
Bagian 2 /
Bagian 3Kuliah 3: “Buffer Overflows: Exploits and Protection”
Bagian 1 /
Bagian 2 /
Bagian 3Kuliah 4: “Pemisahan Hak Istimewa”
Bagian 1 /
Bagian 2 /
Bagian 3Kuliah 5: "Dari mana sistem keamanan berasal?"
Bagian 1 /
Bagian 2Kuliah 6: “Peluang”
Bagian 1 /
Bagian 2 /
Bagian 3Kuliah 7: “Kotak Pasir Klien Asli”
Bagian 1 /
Bagian 2 /
Bagian 3Kuliah 8: “Model Keamanan Jaringan”
Bagian 1 /
Bagian 2 /
Bagian 3Kuliah 9: "Keamanan Aplikasi Web"
Bagian 1 /
Bagian 2 /
Bagian 3Kuliah 10: “Eksekusi simbolik”
Bagian 1 /
Bagian 2 /
Bagian 3Kuliah 11: “Bahasa Pemrograman Web / Web”
Bagian 1 /
Bagian 2 /
Bagian 3Kuliah 12: Keamanan Jaringan
Bagian 1 /
Bagian 2 /
Bagian 3Kuliah 13: "Protokol Jaringan"
Bagian 1 /
Bagian 2 /
Bagian 3Kuliah 14: "SSL dan HTTPS"
Bagian 1 /
Bagian 2 /
Bagian 3Kuliah 15: “Perangkat Lunak Medis”
Bagian 1 /
Bagian 2 /
Bagian 3Kuliah 16: “Serangan Saluran Samping”
Bagian 1 /
Bagian 2 /
Bagian 3Kuliah 17: “Otentikasi Pengguna”
Bagian 1 /
Bagian 2 /
Bagian 3Kuliah 18: “Penjelajahan Pribadi di Internet”
Bagian 1 /
Bagian 2 /
Bagian 3 Jadi, pendekatan pertama adalah menggunakan mesin virtual sebagai cara untuk meningkatkan jaminan penjelajahan pribadi, yaitu, kami akan mempertimbangkan privasi di tingkat mesin virtual.
Ide dasarnya adalah bahwa setiap sesi pribadi harus dijalankan dalam mesin virtual yang terpisah. Kemudian, ketika pengguna mengakhiri sesi penjelajahan pribadi, mesin virtual dihapus. Jadi apa manfaat dari ide ini?

Kemungkinan Anda mendapatkan jaminan kerahasiaan yang lebih kuat, yang dapat Anda berikan kepada pengguna, karena, mungkin, mesin virtual memiliki antarmuka input / output data yang agak bersih. Dapat diasumsikan bahwa Anda menggabungkan mesin-mesin virtual ini menjadi, katakanlah, beberapa jenis solusi swap aman, misalnya, menggunakan Open BSD bersama dengan mengenkripsi data disk.
Jadi, kami memiliki pemisahan VM yang sangat jelas di sini, di atas, dan semua operasi I / O yang terjadi di bawah ini. Ini memberi Anda jaminan yang lebih kuat daripada yang Anda peroleh dari peramban yang tidak dirancang dari bawah ke atas untuk menjaga dengan cermat semua cara input / output informasi dan rahasia apa yang bisa bocor ketika informasi ini ada di gudang data .
Jadi ya, itu memberikan jaminan yang lebih kuat. Dan, di samping itu, tidak memerlukan perubahan dalam aplikasi Anda, yaitu di browser. Anda ambil peramban, letakkan di salah satu mesin virtual ini - dan semuanya secara ajaib menjadi lebih baik tanpa ada perubahan dalam aplikasi.
Apa yang salah dengan itu - Saya akan menggambar senyum sedih di papan - itu tidak praktis. Dengan rumit, maksud saya ketika Anda ingin memulai salah satu sesi penjelajahan pribadi, Anda harus memulai seluruh mesin virtual. Dan itu bisa sangat menyakitkan karena pengguna akan frustrasi karena mereka membutuhkan waktu lama untuk memulai sesi penjelajahan pribadi mereka.

Masalah lain adalah bahwa solusi ini tidak praktis. Dan alasan ketidakpraktisannya bukan karena sangat sulit bagi pengguna untuk melakukan hal-hal seperti mentransfer file yang mereka simpan dalam mode penelusuran pribadi ke komputer, mentransfer semua bookmark yang mereka hasilkan dalam mode ini - semua ini, pada akhirnya, dapat selesai Tapi di sini ada banyak ketidaknyamanan yang terkait dengan kemalasan.
Pendekatan kedua untuk masalah ini mirip dengan yang pertama, tetapi kami benar-benar mengimplementasikannya di dalam OS itu sendiri, dan bukan di mesin virtual. Gagasan utama di sini adalah bahwa setiap proses berpotensi dijalankan dalam domain pribadi. Domain pribadi adalah sejenis kumpulan sumber daya bersama OS yang digunakan suatu proses, dan OS melacak semua hal tersebut. Dan segera setelah prosesnya mati, OS memindai semua yang ada di domain pribadi dan sepenuhnya melepaskan semua sumber daya ini untuk penggunaan baru.
Keuntungan dari pendekatan ini dibandingkan dengan menggunakan VM adalah bobot yang lebih ringan, karena jika Anda memikirkannya, mesin virtual pada dasarnya agnostik dengan keadaan OS dan keadaan semua aplikasi yang berjalan. Dengan demikian, menggunakan VM menciptakan lebih banyak pekerjaan daripada OS, karena sistem operasi mungkin mengetahui semua titik di mana browser pribadi akan bersentuhan dengan input / output data, "berbicara" ke jaringan dan sejenisnya. Mungkin OS bahkan tahu cara menghapus cache DNS secara selektif.
Dengan demikian, Anda dapat membayangkan bahwa jauh lebih mudah untuk "melepaskan" domain privasi ini sehingga Anda dapat "merobohkannya" nanti. Namun, kelemahan dari solusi ini, setidaknya sehubungan dengan memulai VM, adalah bahwa jauh lebih sulit untuk melakukannya dengan cara yang benar. Oleh karena itu, saya baru saja menggambarkan pendekatan menggunakan VM sebagai progresif, karena mesin virtual pada dasarnya agnostik untuk semua yang bekerja di dalam wadah OS.

Yang menyenangkan adalah bahwa pendekatan VM hanya berfokus pada beberapa antarmuka tingkat rendah. Misalnya, antarmuka yang digunakan oleh mesin virtual untuk menulis ke disk menyebabkan tingkat kepercayaan yang lebih tinggi, karena berisi semua yang Anda butuhkan. Saat menggunakan OS, ini jauh lebih rumit, karena Anda mengharapkannya menggunakan file individual dengan antarmuka sistem, misalnya, dengan antarmuka jaringan individual. Jadi jika Anda melakukan semua ini di tingkat OS, kemungkinan kebocoran data jauh lebih besar.
Jadi, ini adalah dua pendekatan utama untuk meningkatkan jaminan kerahasiaan saat menggunakan mode penelusuran pribadi, yang dapat diimplementasikan saat ini.
Anda mungkin bertanya, bisakah kita masih mengungkapkan identitas pengguna jika dia menerapkan salah satu solusi keamanan yang lebih kuat ini - menjelajah internet menggunakan mesin virtual atau domain privasi di OS? Bisakah kita merampok pengguna anonimitas? Jawaban atas pertanyaan ini adalah - ya, kita bisa!
Deanonimisasi pengguna dimungkinkan karena mesin virtual unik karena beberapa alasan. Ini mirip dengan bagaimana kami dapat mengambil sidik jari peramban menggunakan situs web Panopticlick. Mungkin ada sesuatu yang unik tentang bagaimana mesin virtual akan dikonfigurasi, yang memungkinkan Anda untuk mengambil sidik jarinya. Mungkin juga monitor VM atau OS itu sendiri unik dalam beberapa hal. Dan ini memungkinkan penyerang jaringan untuk mengungkapkan identitas pengguna.
Contoh tipikal adalah sidik jari TCP. Idenya adalah bahwa spesifikasi protokol TCP sebenarnya memungkinkan pemasangan parameter protokol tertentu selama implementasi protokol ini. Sebagai contoh, TCP memungkinkan pemain untuk memilih ukuran awal paket yang dikirim di bagian pertama membangun koneksi TCP, yang memungkinkan pemain untuk memilih hal-hal seperti umur awal paket ini.

Dengan demikian, Anda bisa mendapatkan alat yang sudah jadi, seperti InMap, yang dapat menentukan dengan probabilitas tinggi sistem operasi yang Anda gunakan, hanya dengan mengirimkan paket yang telah Anda proses dengan hati-hati. Mereka akan melihat hal-hal seperti fakta bahwa TTL disajikan di sini, dan di sini adalah ukuran paket distribusi, dan di sini adalah nomor seri TTP. Dengan demikian, mereka membuat basis data sidik jari. Mereka mengatakan: "jika paket yang dikembalikan memiliki karakteristik ini, ini dan ini, maka menurut tabel, Anda bekerja pada Solaris, Anda menggunakan Mac, dan Anda menggunakan Windows", atau sesuatu yang lain. Oleh karena itu, bahkan menggunakan salah satu dari pendekatan ini untuk meningkatkan privasi selama penelusuran pribadi menggunakan mesin virtual atau OS, penyerang masih dapat meluncurkan salah satu dari serangan deteksi sidik jari ini melalui TCP dan belajar banyak tentang pengguna tertentu.
Akan menarik untuk mengetahui bahwa meskipun pengguna dilindungi dalam salah satu cara yang lebih kuat ini, pengguna masih terbagi antara kedua mode tampilan - publik dan pribadi, ia masih secara fisik menggunakan komputer. Ini menarik karena Anda sendiri dalam proses menggunakan komputer dapat berkontribusi pada kebocoran informasi pribadi Anda.
Sebagai contoh, ternyata, setiap pengguna memiliki keystroke yang unik. Jadi jika saya memberi Anda tugas untuk secara bersamaan mulai mengetik pada keyboard frase "rubah coklat cepat" atau omong kosong seperti itu, pengamatan akan menunjukkan bahwa waktu menekan tombol oleh Anda masing-masing sangat unik sehingga berpotensi dapat digunakan untuk mengambil sidik jari.
Sangat menarik juga bahwa pengguna memiliki gaya penulisan yang unik. Ada industri keamanan yang disebut stylography.

Gagasan stylografi adalah bahwa penyerang dapat mengetahui siapa Anda hanya dengan melihat sampel surat Anda. Bayangkan bahwa untuk beberapa alasan Anda bertahan di 4chan dan saya ingin mencari tahu apakah Anda benar-benar nongkrong di sana. Saya dapat melihat banyak posting berbeda di 4chan dan mengelompokkannya ke dalam set komentar yang terlihat sama. Kemudian saya akan mencoba mencari sampel publik dari gaya penulisan Anda, misalnya, dalam pekerjaan rumah, yang Anda seorang penulis. Setelah itu, saya membandingkan sampel gaya di set komentar 4chan dengan pekerjaan rumah Anda, dan jika saya menemukan kecocokan, saya dapat menulis kepada orang tua Anda untuk mengklarifikasi bahaya pembekuan di forum 4chan. Itulah alasan saya memutuskan untuk menarik perhatian Anda pada stylografi. Ini sebenarnya cukup menarik.
Jadi, kami membahas bagaimana Anda dapat menggunakan VM atau sistem operasi yang dimodifikasi untuk memberikan dukungan untuk penjelajahan pribadi. Karena itu, Anda mungkin bertanya-tanya mengapa, kemudian, browser tidak mengharuskan pengguna untuk melakukan salah satu dari hal ini - mulai mesin virtual atau memodifikasi OS? Mengapa browser mengambil alih implementasi semua ini?
Alasan utama adalah penyebaran. Pembuat peramban biasanya tidak ingin memaksa penggunanya untuk melakukan sesuatu yang khusus untuk menggunakan peramban selain memasang peramban itu sendiri. Ini mirip dengan motivasi Native Client ketika Google akan menambahkan fitur-fitur keren ini ke komputer pengguna akhir, tetapi tidak ingin memaksa pengguna untuk menginstal versi khusus Windows atau Linux atau melakukan sesuatu yang lain. Dengan demikian, Google mengatakan bahwa "kita akan mengurus ini sendiri."
Alasan lainnya adalah kegunaan. Banyak dari solusi penelusuran pribadi ini di tingkat mesin virtual dan OS, seperti yang telah kita bahas, menyulitkan pengguna untuk menyimpan hal-hal yang diterima selama sesi penelusuran pribadi - file yang diunduh, bookmark, dan sejenisnya.

Pada dasarnya, pembuat browser mengatakan bahwa jika mereka sendiri menerapkan mode penjelajahan pribadi, mereka akan dapat memungkinkan pengguna untuk menerima file yang diunduh dalam mode penjelajahan pribadi dan menyimpannya di komputer. Kedengarannya bagus pada awalnya. Tetapi perhatikan bahwa pendekatan ini memungkinkan pengguna untuk mengekspor semacam negara pribadi, yang membuka banyak kerentanan dalam sistem keamanan dan sangat mempersulit analisis properti keamanan yang digunakan ketika menerapkan mode penelusuran pribadi.
Oleh karena itu, penulis artikel mencoba untuk mengkarakterisasi berbagai jenis keadaan browser yang dapat dimodifikasi dan mempertimbangkan bagaimana mode penelusuran pribadi saat ini dapat memodifikasinya.
Artikel ini mengklasifikasikan perubahan kondisi browser. Ada empat jenis perubahan dalam klasifikasi ini. Jenis pertama adalah ketika situs itu sendiri memprakarsai perubahan negara tanpa campur tangan pengguna. Contoh dari jenis perubahan status ini adalah mendapatkan cookie, menambahkan sesuatu ke riwayat alamat browser, dan mungkin memperbarui cache browser. Oleh karena itu, pada dasarnya keadaan ini berlangsung sepanjang seluruh mode tampilan pribadi, tetapi dihancurkan setelah selesai.
Dapat diasumsikan bahwa karena pengguna tidak berinteraksi dengan browser selama pembentukan negara ini, dapat dipahami bahwa pengguna itu sendiri tidak ingin berpartisipasi dalam hal ini.
Tipe kedua dari perubahan keadaan browser juga diprakarsai oleh situs web, tetapi ada beberapa interaksi dengan pengguna yang mengunjungi situs web ini. Misalnya, pengguna memasang sertifikat klien atau menggunakan kata sandi untuk mengotorisasi di situs, yaitu mencoba untuk pergi ke suatu tempat. Pada saat yang sama, browser sangat membantu mengatakan: "Anda ingin menyimpan kata sandi ini?". Jika pengguna menjawab "ya," maka hal-hal seperti kata sandi yang disimpan dapat digunakan di luar mode penelusuran pribadi. Oleh karena itu, pada prinsipnya, tidak jelas kebijakan privasi apa yang harus ada dalam kasus ini. Dalam praktiknya, ternyata browser memungkinkan adanya hal-hal yang muncul dalam mode penjelajahan pribadi, di luarnya, dengan asumsi bahwa pengguna sendiri akan memilih opsi terbaik untuknya, dengan mengatakan “ya” atau “tidak”. Jika pengguna cukup pintar, maka ia tidak akan menyimpan kata sandi untuk beberapa situs yang meragukan, karena orang lain dapat menggunakannya. Jadi mungkin ada kesalahan pengguna, bukan browser, yang dapat menyebabkan hilangnya privasi.
Oleh karena itu, tidak jelas kebijakan mana yang terbaik, tetapi dalam praktiknya jenis perubahan status ini diizinkan untuk disimpan di luar mode penelusuran pribadi.
Tipe ketiga dari perubahan negara adalah sepenuhnya dimulai oleh pengguna. Ini adalah hal-hal seperti menyimpan bookmark atau mengunduh file. Keadaan ini mirip dengan yang sebelumnya, karena pengguna terlibat langsung dalam pembuatannya. Dalam hal ini, mode tampilan pribadi setuju bahwa perubahan status dari tipe ini disimpan untuk digunakan di lain waktu di luar tampilan pribadi.

Lebih jauh, ada beberapa jenis negara yang tidak terkait dengan sesi tertentu sama sekali. Misalnya, ini adalah keadaan pembaruan browser itu sendiri, yaitu perubahan pada file yang mewakili browser. Pengembang peramban percaya bahwa perubahan status ini adalah bagian dari kondisi global yang tersedia untuk tampilan publik dan pribadi.
Pada akhirnya, jika Anda melihat ini dengan seksama, Anda akan melihat bahwa ada beberapa kondisi di mana kebocoran data di luar mode penelusuran pribadi dimungkinkan, terutama jika ada interaksi dengan pengguna. Saya bertanya-tanya apakah ini adalah kompromi terbaik antara keamanan dan privasi.

Artikel tersebut mengatakan bahwa sulit untuk mencegah kemungkinan penyerang lokal dapat menentukan apakah Anda menggunakan mode penelusuran pribadi atau tidak. Ini dinyatakan dalam artikel agak samar-samar. Faktanya adalah bahwa sifat kebocoran informasi dapat memberi tahu Anda di mana mode tampilan - pribadi atau publik - itu terjadi. Misalnya, di Firefox dan Chrome, ketika Anda membuat bookmark dalam mode penelusuran pribadi, bookmark ini memiliki banyak metadata yang terkait dengannya, seperti waktu yang dihabiskan untuk mengunjungi situs dan sejenisnya. Dalam banyak kasus, metadata ini akan menjadi nol atau mendekati nilai nol jika bookmark ini dibuat dalam mode penelusuran pribadi. Kemudian seseorang yang nantinya akan mengelola komputer Anda akan dapat melihat informasi bookmark Anda. Jika dia melihat bahwa metadata ini nol, dia akan menyimpulkan bahwa bookmark ini mungkin dibuat dalam mode penelusuran pribadi.
Ketika kita berbicara tentang keamanan browser, kita berpikir tentang apa yang sebenarnya dilakukan orang dengan JavaScript, HTML atau CSS, apa yang dapat mereka lakukan dengan plugin atau ekstensi? Dalam konteks penelusuran pribadi, plugin dan ekstensi cukup menarik, karena dalam kebanyakan kasus mereka tidak terbatas pada kebijakan asal yang sama, misalnya, mereka dapat membatasi penggunaan hal-hal seperti JavaScript. Menariknya, ekstensi dan plugin ini biasanya berfungsi dengan hak istimewa yang sangat tinggi. Secara kasar, Anda dapat menganggapnya sebagai modul kernel. Mereka memiliki otoritas tinggi, memungkinkan Anda untuk mengimplementasikan fitur-fitur baru secara langsung di dalam browser itu sendiri. Oleh karena itu, ini agak bermasalah, karena plugin dan ekstensi ini sering dikembangkan oleh seseorang yang bukan pengembang browser yang sebenarnya. Ini berarti bahwa seseorang sedang mencoba melakukan sesuatu yang baik dan memberikan properti bermanfaat pada browser Anda dengan menambahkan plugin atau ekstensi padanya. Tetapi pengembang pihak ketiga ini mungkin tidak sepenuhnya memahami konteks keamanan di mana ekstensi dilakukan, sehingga ekstensi tersebut mungkin tidak memberikan semantik dari mode penjelajahan pribadi atau menyediakannya dengan cara yang salah.
, , , . , , . , , , HTML5 , , . , Java Flash. , 2D 3D-, - Java Flash. , Web GL , , , .
, IE , , - , HTML5. , YouTube, , , - HTML5-, . . , . , , , , .
, , , , 2010 , , ?
, . , , , HTML5.
, , . , . - , .
, 2014 Firefox, pdf.js, PDF-, HTML5-. , , .
, - PDF-, . PDF- , pdf.js , . . , , . , — , .
. , , , , , , , .
, : , , .

Firefox , 2011 . . , , , about:memory, , , , URL- , . , , , about:memory. , Firefox. , Firefox . , , about:memory , .
, URL-, , , . , . .
Bugzilla, , . , , , , , . , , . , . : « , , , .» : « , ».
, — HTML5 — , , . , , , .
, . , , . , .
, Magnet, -, . , , , URL- . - .
, Tor.
.
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?