Kursus MIT "Keamanan Sistem Komputer". Kuliah 17: Otentikasi Pengguna, Bagian 2

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

Salah satu hal menarik yang dibicarakan oleh artikel ini adalah bahwa jika Anda melihat semua skema otentikasi ini, maka penulis mengatakan: "OK, ini adalah kata sandi, mereka agak payah, dan ada hal-hal lain yang memberikan keamanan yang jauh lebih baik tetapi mereka sering gagal digunakan, tidak nyaman digunakan, dan sejenisnya. ”



Ini adalah hasil yang menarik dan sekaligus mengecewakan dari pekerjaan ini, yang terdiri dari kenyataan bahwa bahkan jika kita memiliki semua alat ini yang memberikan keamanan protokol yang lebih tinggi, kita tidak dapat menggunakannya karena ketidaknyamanan yang ekstrem.

Jadi Telepathwords hanyalah situs yang menyenangkan, mereka mengklaim bahwa mereka tidak menyimpan kata sandi Anda, sehingga Anda dapat mengambil kata mereka untuk itu jika Anda mau. Tetapi sangat menarik untuk hanya duduk dan memikirkan betapa baiknya kata sandi yang saya buat. Dan kemudian masukkan di sini dan lihat betapa mudahnya menebaknya. Bahkan memungkinkan Anda untuk melakukan hal-hal seperti analisis heuristik dari frasa populer dari beberapa kata, dari mana hanya huruf pertama dari setiap kata yang dipilih untuk kata sandi. Jadi hal ini sangat bermanfaat.

Hal lain yang menarik adalah kata sandi Anda dapat ditebak secara offline. Kerentanan ini, disebut preauth, atau "preauthentication," melekat dalam Kerberos v4 dan v5. Siapa pun dapat meminta tiket yang dienkripsi dengan kata sandi pengguna dari KDC.

Karenanya, KDC tidak mengautentikasi permintaan dari klien. KDC mengembalikan sejumlah bit sebagai tanggapan atas permintaan, yang dienkripsi dengan kunci klien. Inilah yang dikembalikan ke klien. Masalahnya adalah bahwa server tidak memeriksa siapa yang mengirim set hal terenkripsi ini, jadi pada dasarnya penyerang bisa mendapatkan hal ini dan kemudian coba tebak apa itu K_C.



Coba tebak nilai K_C, coba enkripsi, lihat apakah terlihat seperti itu, jika tidak, coba tebak K_C lain, dekripsi, lihat apakah itu terlihat seperti kebenaran, dan sebagainya. Alasan yang memungkinkan penyerang untuk mengatur jenis serangan ini adalah karena benda ini, di dalam kurung, TGT ini sebenarnya memiliki format yang dikenal. Ada sesuatu seperti stempel waktu dan bidang referensi konsisten internal, dan semua ini membantu penyerang untuk menebak kata sandi. Karena jika penyerang menebak K_C dan menerima isi tanda kurung, tetapi bidang internal tidak dicentang, maka penyerang mengerti bahwa ia memilih K_C yang salah dan diambil untuk yang berikutnya.

Dalam Kerberos versi 5, klien harus memberikan cap waktu ke KDC, setelah itu label akan dienkripsi menggunakan K_C. Semua ini dikirim ke server, server melihat permintaan ini dan memeriksa sebelum mengirim sesuatu ke klien. Jadi setiap klien acak dapat datang dan hanya meminta hal ini dari server.

Siswa: apakah cap waktu muncul di pesan? Bisakah penyerang mengambil dan memecahkan pesan ini menggunakan brute-force?

Profesor: mari kita lihat. Bisakah penyerang mendapatkan pesan {time stapm} K_C ini?

Siswa: ya, ini adalah pesan terenkripsi.



Profesor: yaitu, Anda berpikir bahwa seorang penyerang bisa, misalnya, hanya memalsukan pesan ini?

Siswa: tidak, dia akan menggunakan kekerasan untuk mencocokkan K_C.

Profesor: Saya mengerti, dengan kata lain, Anda khawatir seseorang mungkin memata-matai isi dari tanda kurung ini. Saya percaya bahwa konten ada di dalam hal yang dienkripsi milik server, atau kunci milik server, untuk mencegah serangan seperti itu, tetapi ini hanya pendapat saya. Tetapi secara umum, Anda benar, jika penyerang berhasil mengetahui cap waktu dalam permintaan klien, itu akan sangat bermanfaat baginya. Dalam hal ini, dia bisa menebak dalam kisaran berapa cap waktu yang berdekatan, dan menggunakan ini untuk serangan yang sama.

Siswa: dalam hal ini, penyerang harus "seorang pria di tengah".
Profesor: begini, penyerang harus berada di suatu tempat di jaringan antara klien dan server untuk "mengendus" hal-hal seperti itu.

Hal penting lainnya adalah pemulihan kata sandi. Intinya adalah jika Anda kehilangan kata sandi, maka Anda harus pergi ke kantor dan meminta kata sandi yang berbeda. Tetapi sebelum Anda mendapatkan kata sandi ini, Anda harus membuktikan bahwa Anda adalah Anda.

Jadi bagaimana cara kerjanya? Bagaimana saya memulihkan kata sandi saya? Menariknya, orang sering fokus pada entropi kata sandi itu sendiri. Tetapi masalahnya adalah jika pertanyaan yang digunakan untuk memulihkan kata sandi atau skema pemulihan kata sandi memiliki sedikit entropi, ini memengaruhi entropi skema otentikasi umum. Dengan kata lain, kekuatan skema otentikasi umum sama dengan entropi minimum kata sandi dan entropi minimum masalah untuk pemulihan kata sandi. Ada banyak skenario dan aturan, ada cukup banyak kasus terkenal, seperti kasus Sarah Palin. Seseorang dapat memulihkan kata sandinya secara curang karena pertanyaan pemulihan kata sandanya sedemikian rupa sehingga setiap orang asing dapat menemukan jawabannya, misalnya, membaca artikel Wikipedia tentangnya yang menulis ke sekolah mana ia pergi dan begitu seterusnya.



Jadi seringkali pertanyaan pemulihan kata sandi ini tidak cukup baik karena beberapa alasan. Terkadang hal-hal ini hanya memiliki entropi yang sangat rendah. Misalnya, jika pertanyaan Anda untuk pemulihan kata sandi adalah "apa warna favorit Anda", maka jawaban yang paling populer adalah "biru" dan "merah". Tidak ada yang akan menjawab "putih," "fuchsia," atau "ungu." Dengan demikian, beberapa masalah pemulihan ini secara inheren tidak dapat memberikan cukup entropi.

Masalah lain adalah bahwa terkadang jawaban untuk pertanyaan pemulihan kata sandi dapat dibocorkan melalui jejaring sosial. Misalnya, jika salah satu pertanyaan untuk pemulihan kata sandi adalah "apa film favorit Anda", maka ada lebih banyak ruang untuk menebak, misalnya, saya dapat melihat profil Anda di IMDB atau Facebook dan menemukan nama film favorit Anda di sana yang Anda sendiri beri tahu saya .

Dan masalah lain, yang paling lucu, adalah bahwa para pengguna sendiri mengajukan pertanyaan pemulihan yang sangat lemah, misalnya, apa yang akan ditambah 2 dan 3? Artinya, pengguna berpikir bahwa bagi seseorang itu akan menjadi masalah besar untuk memberikan jawaban yang benar untuk pertanyaan seperti itu, tetapi kebanyakan orang yang lulus tes Turing dapat berhasil menjawabnya dan menggunakan kata sandi Anda.



Siswa: mungkinkah menggunakan beberapa informasi tambahan alih-alih pertanyaan untuk pemulihan kata sandi, sama seperti kami memasukkan nama kami di email atau menjelaskan secara singkat isi surat di header - dapatkah pendekatan seperti itu memastikan keamanan hal-hal semacam ini?

Profesor: Saya tidak tahu tentang penelitian seperti itu, tetapi sebenarnya hal-hal ini jauh lebih baik. Saya tahu ini karena saya mencoba membantu pacar saya melewati proses ini. Dia kehilangan kendali atas akun Gmailnya dan mencoba membuktikan bahwa itu adalah akunnya. Dan pemilik situs bertanya kepadanya tentang hal-hal seperti, misalnya, ketika dia membuat akunnya, apakah dia berbicara dengan seseorang tentang akunnya, misalnya, Hizbullah, sebelum kehilangan kendali atasnya, dan sejenisnya. Ini sebenarnya proses yang agak memakan waktu, tetapi pada akhirnya, informasi tambahan adalah hal yang lebih kuat daripada pertanyaan pemulihan kata sandi. Saya tidak tahu ada studi resmi tentang topik ini, tetapi tampaknya ini sudah jelas.

Jika Anda tidak memiliki pertanyaan, kami dapat memulai topik kuliah hari ini yang dijelaskan dalam artikel. Jadi, penulis mengusulkan untuk mempertimbangkan banyak faktor yang dapat digunakan untuk mengevaluasi efektivitas skema otentikasi. Apa yang benar-benar keren dalam artikel ini adalah ia mengatakan bahwa kebanyakan dari kita di komunitas keamanan hanya memperjuangkan prinsip-prinsip estetika. Misalnya, "kita harus memilih ini karena saya suka bagaimana kawat gigi terlihat dalam buktinya", atau "kita harus memilih ini karena menggunakan banyak metode matematika."

Mereka berkata, mengapa kita tidak mencoba menetapkan beberapa kriteria untuk mengevaluasi efektivitas? Mungkin beberapa kriteria ini akan menjadi sedikit subjektif, tetapi mari kita coba sistematiskan metode untuk mengevaluasi skema otentikasi. Mari kita lihat bagaimana berbagai pola ini ditumpuk di tumpukan terpisah.

Para penulis artikel mengusulkan tiga parameter tingkat tinggi untuk mengevaluasi skema ini. Parameter pertama adalah kegunaan. Persyaratan pertama dalam parameter ini adalah kemudahan mempelajari metode otentikasi. Gagasan utamanya adalah betapa mudahnya bagi pengguna untuk berinteraksi dengan skema otentikasi. Di sini mereka mencatat beberapa properti karakteristik, misalnya, apakah mudah untuk mempelajari metode ini, dan apakah skema identifikasi pengguna ini mudah dipelajari.

Beberapa kategori ini cukup sederhana, beberapa menyertakan beberapa trik, tetapi itu masuk akal. Jika Anda melihat kata sandi, maka mereka memenuhi persyaratan ini, karena semua orang terbiasa menggunakan kata sandi, jadi kami akan mengatakan bahwa penggunaannya mudah dipelajari, dan menjawab "ya".

Persyaratan kedua adalah kelangkaan kesalahan otentikasi. Ini berarti bahwa jika Anda adalah pengguna sistem yang sebenarnya, seharusnya tidak ada kesalahan ketika mencoba untuk mengotentikasi Anda. Dan di sini, berkenaan dengan kata sandi, penulis mengatakan bahwa mereka bersyarat sesuai dengan parameter ini. "Kondisional" dalam hal ini berarti bahwa penulis mengenali keberadaan subjektivitas dalam penilaian mereka. Jadi, untuk pertanyaan apakah kesalahan jarang terjadi selama otentikasi dengan kata sandi, kami tidak dapat menjawab "ya" atau "tidak".

Sebagai aturan, Anda dapat mengautentikasi diri Anda, tetapi misalnya, ketika Anda mencoba mengakses server surat pada pukul 3 pagi, sambil berpikir buruk, dan memasukkan kata sandi yang salah beberapa kali, dalam hal ini Anda dapat mengakui kesalahan sistem otentikasi. Karena itu, mereka percaya bahwa kata sandi memenuhi persyaratan ini secara kondisional.

Persyaratan selanjutnya adalah skalabilitas bagi pengguna. Gagasan utama di sini adalah bahwa jika pengguna memiliki banyak layanan yang berbeda di mana ia ingin mengotentikasi dirinya sendiri, apakah skema ini berskala baik? Haruskah pengguna mengingat sesuatu yang baru untuk masing-masing skema? Di sini, berkenaan dengan kata sandi, penulis dengan jelas mengatakan "tidak", karena otentikasi dengan kata sandi tidak memenuhi persyaratan ini. Karena dalam praktiknya, sangat sulit bagi pengguna untuk mengingat kata sandi terpisah untuk setiap situs yang mereka kunjungi. Bahkan, ini adalah salah satu alasan mengapa orang sering menggunakan kata sandi yang sama untuk otentikasi di berbagai layanan.

Persyaratan kegunaan lain adalah kemudahan pemulihan. Yaitu, apa yang terjadi jika Anda kehilangan token untuk otentikasi, dalam hal ini kata sandi Anda, apakah mudah untuk meresetnya? Dalam hal ini, jawaban untuk kata sandi adalah ya. Bahkan, mereka bahkan terlalu mudah untuk diatur ulang, seperti yang kita bahas beberapa menit yang lalu.

Persyaratan berikutnya adalah tidak memerlukan tambahan apa pun, tidak membawa sarana tambahan untuk otentikasi. Misalnya, protokol otentikasi fantastis mengharuskan Anda menjalankan beberapa jenis aplikasi ponsel cerdas, atau memiliki semacam token keamanan, kartu pintar, dan sejenisnya. Jadi ini adalah beban yang berat. Mungkin tidak ada begitu banyak masalah dengan smartphone, itu sudah cukup untuk menginstal aplikasi untuk otentikasi, tetapi membawa salah satu gadget lain sepanjang waktu cukup merepotkan. Karena itu, properti kata sandi yang baik adalah Anda harus membawanya hanya di otak, yang harus selalu Anda miliki.



Berikut adalah kriteria untuk kegunaan skema otentikasi. Dalam arti umum, adalah menarik bagaimana orang-orang di komunitas keamanan tidak setuju tentang pentingnya kriteria ini. Sebagai contoh, mereka mengatakan: "benda ini menggunakan sejuta keping entropi, dan hanya bencana universal yang dapat memecahkannya", sambil lupa bahwa persyaratan di atas juga penting untuk skema otentikasi.

Jadi, parameter tingkat tinggi berikutnya yang digunakan penulis artikel untuk mengevaluasi skema otentikasi adalah penerapan. Ini menjelaskan betapa mudahnya menerapkan sistem otentikasi ini di layanan jaringan yang ada. Sebagai contoh, mereka melihat kompatibilitas server, yaitu, apakah mudah untuk mengintegrasikan skema ini ke server modern di mana otentikasi didasarkan pada penggunaan kata sandi teks? Dalam hal ini, kata sandi sepenuhnya mematuhi persyaratan ini, sehingga kami dapat menjawab "ya".

Persyaratan kedua adalah kompatibilitas browser, mirip dengan yang sebelumnya dan mengatakan, dapatkah saya menggunakan skema otentikasi ini untuk browser populer yang ada tanpa perlu menginstal plug-in atau sesuatu seperti itu? Sekali lagi, di sini kata sandi dimenangkan secara default.

Persyaratan lain yang menarik adalah aksesibilitas, kelebihan. Artinya, akankah orang-orang dengan cacat fisik dapat menggunakan skema otentikasi ini, misalnya, buta atau sulit mendengar, dengan keterampilan motorik yang tidak memadai dan sejenisnya. Ini sebenarnya persyaratan yang cukup penting.

Di sini penulis sekali lagi mengatakan "ya", yang agak aneh, karena tidak jelas bagaimana penyandang cacat dapat menggunakan kata sandi, tetapi penulis mengatakan mereka bisa.



Ini adalah persyaratan yang harus Anda pertimbangkan berkenaan dengan kemampuan untuk menggunakan skema otentikasi ini. Alasan penyebaran sangat penting adalah bahwa sangat sulit untuk meningkatkan semua hal ini untuk menerapkan skema baru, karena mungkin sulit bagi orang untuk mendapatkan hal-hal yang akan diperbarui. Maksud saya, seringkali orang bahkan tidak ingin menghidupkan ulang mesin mereka dan menginstal pembaruan OS baru. Oleh karena itu, kesulitan besar muncul jika skema otentikasi memerlukan perubahan pada server yang memaksa orang yang melayani server untuk melakukan operasi tambahan. Ini relevan dengan pertanyaan Anda, mengapa kami tidak menggunakan informasi tambahan atau untuk meningkatkan kekuatan kata sandi. Karakteristik penyebaran dalam banyak kasus sangat, sangat penting bagi orang-orang.

Jadi, parameter terakhir yang akan kita pertimbangkan adalah keamanan. Jenis serangan apa yang dapat dicegah oleh skema ini? Saya akan menunjukkan karakteristik ini dengan Kemampuan beradaptasi terhadap foo, di mana foo adalah efek apa pun yang dapat menyebabkan kerusakan.

Misalnya, karakteristik pertama menunjukkan stabilitas sistem untuk pengamatan fisik, "mengintip" atau "menguping". Intinya adalah bahwa penyerang tidak bisa menyamar sebagai pengguna sebenarnya setelah beberapa kali mengamati otentikasi dalam sistem. Bayangkan Anda berada di kelas komputer, dan seseorang berdiri di belakang Anda dan menonton apa yang Anda ketik. Mungkin seseorang memfilmkan Anda di video, mungkin seseorang memiliki mikrofon yang “melepas” tanda akustik keyboard Anda dan mencoba untuk mengekstrak sesuatu darinya, dan seterusnya dan seterusnya.

Para penulis artikel mengatakan bahwa kata sandi tidak memenuhi persyaratan ini, karena penyerang dapat melihat video dan cukup mudah mengetahui huruf apa yang Anda ketik. Ada serangan yang menggunakan sidik jari akustik pada keyboard untuk mengidentifikasi karakter yang dapat dicetak. Jadi kata sandi tidak tahan terhadap pengamatan fisik.

– , . , - – , , , , , . , , - , , , , , . « – ».
, , , - - , .

, . – . , , , Antihammering. , , «». , „“, , , , . .

– . , , . , . , «» , .

, , .

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

- , , . . .

, , . — . , , , DNS - , , . , : «, , , ». , , .



. : . , , . , , , , . , , .

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

, , , .

– , . , , . , . , – , .
, , , HTTPS . , CA, . - , , .



, , «». , . , - Gmail, Facebook.

, , . , .

, . , , . , , , , .

Salah satu karakteristik biometrik yang menarik adalah dimensi kunci, yang menentukan tingkat entropi. Dimensi kunci tidak sebesar yang seharusnya. Misalnya, untuk sidik jari, dimensi kunci adalah sekitar 13,3 bit, untuk memindai retina mata adalah 19,9 bit, pengenalan suara memiliki dimensi kunci, atau indeks entropi urutan 11,7 bit.

54:15 dtk

Kursus MIT "Keamanan Sistem Komputer". Kuliah 17: "Otentikasi Pengguna", bagian 3


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/id429682/


All Articles