Kursus MIT "Keamanan Sistem Komputer". Kuliah 5: "Dari Mana Kesalahan Sistem Keamanan Berasal," 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

Mengisi kredensial iframe secara signifikan meningkatkan skala serangan, dan mengunjungi laman jahat dapat dengan cepat membahayakan kumpulan kredensial besar.



Peneliti keamanan menemukan kerentanan pengelola kata sandi yang tidak diverifikasi, seperti ekstensi Chrome untuk Windows , dan penelitian selanjutnya oleh para peneliti, termasuk yang dari MIT , mengungkapkan kerentanan ekstensi LastPass ke Safari .

Pertimbangkan kueri lintas-domain. Menurut Anda apakah mungkin formulir otorisasi yang diisi oleh manajer kata sandi di https: // example.com akan dikirimkan untuk memasukkan https: // www.isecpartners.com , dapatkah pengelola kata sandi mentransfer data ke pihak ketiga? Ya, itu bisa, dan ini memungkinkan untuk menemukan kerentanan atau fungsi yang memungkinkan penyerang membuat formulir masuk domain, setelah itu formulir masuk berbahaya dikirim ke situs asli https: // www.isecpartners.com .

Ingatlah bahwa semua pengelola kata sandi tepercaya mengirim kata sandi dengan aman ke berbagai domain.

Apa yang benar untuk domain juga berlaku untuk subdomain. Fitur subdomain adalah bahwa "sensitivitas" mereka terhadap keamanan bisa sangat berbeda dari pemeriksaan keamanan yang dilakukan oleh domain. Subdomain seperti blog. * , Forum. *, Atau mail. * Mungkin memiliki persyaratan keamanan yang sama sekali berbeda. Memproses subdomain sebagai setara dengan domain meningkatkan permukaan serangan. Harap perhatikan bahwa semua pengelola kata sandi tepercaya menganggap subdomain sama dengan domain halaman.

Harus diperhatikan dalam mengidentifikasi halaman login. Aplikasi Internet sedang berubah, dan ini menyebabkan halaman login untuk pindah. Oleh karena itu, keasliannya harus diperiksa lebih teliti daripada keaslian subdomain.

Ingatlah bahwa sebagian besar aplikasi web memiliki set kecil halaman login. Mereka dapat ditautkan satu sama lain sehingga tampilan halaman login memulai pengisian otomatis atau pengiriman otomatis formulir ke satu domain utama. Dalam hal ini, pengelola kata sandi akan mengisi segala bentuk otorisasi untuk subdomain yang ditemui.

Vektor serangan dalam hal ini mungkin email HTML . Misalnya, Google , Yahoo, dan Outlook menggunakan hal-hal seperti mengisi formulir online. Slide menunjukkan contoh dengan teks berikut: "jika Anda mengalami kesulitan mengisi atau mengirimkan formulir ini, Anda dapat mengisinya secara online menggunakan tautan ini" dan tautan ke formulir yang mengarahkan pengguna ke domain docs.google.com disediakan . Dan selanjutnya pada halaman itu tertulis: "Jangan pernah meneruskan kata sandi menggunakan Formulir Google!"



Karena orang sering menggunakan surat untuk mengirimkan formulir, penyerang fokus pada pengguna ketiga layanan ini. Anda mengisi formulir, misalnya, menjawab pertanyaan dari berbagai survei, dan menggunakan kotak surat Anda untuk mengirimkannya. Bagaimana layanan ini tahan terhadap serangan?

Paling baik ditentang oleh peretas Outlook ( live.com ). Ini mencegah kemungkinan serangan dengan melarang pihak ketiga mana pun menyediakan materi asli apa pun, termasuk formulir pengguna dan informasi pribadi.

Di tempat kedua adalah Google , yang hanya memperingatkan pengguna dari mengambil tindakan seperti itu, yang tidak mengecualikan kemungkinan pencurian kata sandi.

Yahoo memungkinkan Anda mencuri kata sandi tanpa peringatan.

Bahaya dari mekanisme pengisian-otomatis yang terintegrasi dan penciptaan bentuk-bentuk otentikasi terletak pada kenyataan bahwa layanan tidak selalu memperingatkan bahaya mengirimkannya ke pihak ketiga atau bahaya menggunakan fungsi-fungsi ini pada halaman-halaman sumber daya Internet lainnya. Misalnya, ketika melewati survei di atas, ada fungsi Kirim yang mencurigakan. Menjawab pertanyaan siapa yang lebih baik, anjing atau kucing, dan mengklik tombol Kirim , Anda tidak hanya mengonfirmasi jawaban yang telah Anda pilih, tetapi juga mengonfirmasi bahwa login dan kata sandi Anda dikirimkan ke penyerang.

Yahoo adalah layanan keamanan terburuk, terutama jika Anda menggunakan kata sandi LastPass manager.

Versi peramban seluler bahkan lebih buruk dilindungi. Tidak ada ekstensi, tetapi peneliti keamanan telah menemukan plug-in untuk versi seluler browser Chrome yang disebut Javascript Bookmarklets . Ini menjalankan kode keamanan palsu di situs bermusuhan yang Anda kunjungi. Bahkan, itu menyamarkan bahaya mereka, menciptakan rasa aman palsu, yang dapat menyebabkan Anda sangat rusak.

Anda dapat melihat ekstensi peramban lain dan mempelajari tentang hasil-hasil penelitian serangan dan perlindungan kata sandi menggunakan tautan dari organisasi penelitian keamanan Berkeley dan Joint Stanford .

Saya ingin Anda mengerti: setelah membiasakan diri dengan dasar-dasar pengelola kata sandi, Anda sendiri dapat menemukan hampir semua kesalahan keamanan aplikasi ini.

Anda perlu memahami fungsionalitas apa yang telah dimasukkan pengembang ke dalam aplikasi dan cara kerjanya dalam praktiknya. Jika Anda melakukan ini, akan lebih mudah bagi Anda untuk menemukan kerentanan.

Pertimbangkan serangan TLS yang disebut CRIME , yang merupakan kependekan dari Compression Ratio Info-leak Made Easy . Ini adalah eksploitasi keamanan yang memungkinkan Anda untuk mendekode sesi HTTPS , termasuk cookie pengguna, memotong lalu lintas terenkripsi antara server dan browser. Kerentanan dipengaruhi oleh semua versi TLS , termasuk TLS 1.2 .

Selama serangan ini, peretas memotong lalu lintas pengguna, menambahkan datanya, dan mengirimkan permintaan ke server. Algoritma kompresi ketika mengulangi bagian dari teks memampatkannya. Setelah mengirim data ke server, peretas melihat panjang pesan dan jika menurun, maka urutan yang benar telah dipilih. Dengan demikian, Anda dapat memilih setiap baris dan parameter dalam permintaan, misalnya, nilai cookie.



Serangan ini didasarkan pada kenyataan bahwa browser Anda berinteraksi dengan situs menggunakan antarmuka internal - protokol HTTP. Pada saat yang sama, jika saya pergi ke example.com , browser mengirimkan kepadanya cookie saya dengan semua informasi yang tersedia di formulir otorisasi yang sebelumnya telah diisi, termasuk nama pengguna dan kata sandi. Dalam bentuk HTTP , tampilannya seperti ini:



Bahkan jika data dilindungi oleh koneksi SSL / TLS , saya masih bisa mendapatkan beberapa informasi jika saya memiliki jaringan. Begini seperti apa informasi SSL :



Di sini saya melihat informasi berikut: waktu transmisi, dari siapa pesan dikirim, yaitu IP pengguna, kepada siapa pesan dikirim, yaitu IP penerima, dan panjang pesan.



Ini adalah desain lapisan protokol kriptografis dari soket aman SSL . Jika Anda memiliki kemampuan untuk menganalisis lalu lintas, data ini menyediakan bidang besar untuk aktivitas berbahaya.

Pertimbangkan pesan yang dikirimkan browser.



Jika browser memungkinkan Anda untuk membuat permintaan lintas-domain, maka itu akan mengirim permintaan dengan cookie yang berisi data formulir ke situs apa pun yang akan dialihkan oleh penyerang, misalnya, situs example.com. Jika penyerang mengambil cookie ini, ia akan dapat mengontrol parameter berikut:



Untuk menebak kata sandi pengguna, saya mulai memilih parameter untuk string nama pengguna = tom & kata sandi dan alih-alih hunter2 saya memasukkan huruf a .



Kemudian saya melihat dekripsi HTTP dan melihat bahwa parameter ini membutuhkan 195 byte.



Untuk memudahkan pekerjaannya, hacker menggunakan kompresi TLS . Algoritma kompresi, ketika mengulang bagian teks, mengompresnya, dan kompresi menciptakan penanda untuk bagian-bagian ini dan menempatkannya dalam bentuk pesan HTTP .



Dalam hal ini, ID sesi sama dengan bagian kode yang ditandai dengan token yang sesuai, dan ukuran pesan yang dikompresi adalah 187 byte.

Apa yang terjadi jika saya menyamakan ID sesi = d ?



Ukuran pesan dikurangi karena perlu memampatkan lebih banyak byte. Ini bisa dilihat dengan membandingkan jumlah argumen yang dilingkari oleh bingkai merah di baris ke-2 dari atas.



Inilah yang dilihat penyerang. Dia melihat bahwa pesan sedang dikompresi, dan berkat ini, dia mengetahui bahwa dia menebak huruf pertama dalam ID sesi . Kemudian ia menggantikan ID sesi = da dan menerima ukuran pesan 188 byte.



Jadi, berturut-turut mengganti huruf dan angka dan menganalisis perubahan dalam ukuran pesan, ia menebak seluruh ID sesi . Yaitu, ia memilih bukan kunci enkripsi, tetapi isi dari pesan terenkripsi itu sendiri.



Untuk menangani CRIME , Anda harus mencegah browser melakukan kompresi TLS . Anda juga harus mengubah protokol SPDY sehingga ketika Anda meminta data rahasia, itu dikompresi dalam konteks yang terpisah.

Pertimbangkan kasus-kasus pelanggaran HTTP . Respons HTTP yang datang kepada pengguna setelah mengakses server dapat berisi informasi sensitif seperti token CSRF atau informasi sensitif lainnya. Serangan yang mirip dengan CRIME membutuhkan pengetahuan setidaknya satu awalan sesi rahasia dan kemampuan untuk memasukkan data Anda dalam pesan respons.

Anda dapat mencegah serangan dengan melarang kompresi tanggapan atau dengan menekan serangan CRIME , karena serangan ini menggunakan prinsip MiTM (orang di tengah) dan dapat menurunkan permintaan yang sebenarnya. Ini adalah serangan "berisik" yang puas, yang dapat dideteksi, karena penyerang biasanya tidak berkomunikasi langsung dengan server, tetapi menggunakan akses ke router, dan server bahkan mungkin tidak "tahu" tentang serangan itu.

Anda juga dapat melindungi diri sendiri dengan menempatkan berbagai informasi sensitif dalam berbagai file, seperti javascript , tetapi ini sulit untuk diimplementasikan dalam praktik dan juga sulit untuk memodifikasi aplikasi yang ada untuk ini.

Anda dapat mencoba untuk mengacak informasi rahasia dalam permintaan, terutama token CSRF , namun, metode ini akan menyebabkan penurunan kinerja yang kuat.
Mengetahui prinsip-prinsip aplikasi dan kerentanan, Anda dapat "menjatuhkan" seluruh Internet: SSL / TLS , DNS , DNSSEC / DNSEC , IPv6 , ini cukup layak.



Dan sekarang saya ingin berbicara tentang pemain keamanan yang sangat besar - NSA , National Security Agency, atau NSA. Ini adalah orang-orang yang sering membuat masalah keamanan dan menyelesaikannya sendiri.

Untuk beberapa hal, saya siap membenci mereka. Namun, staf NSA tidak dalam posisi untuk mengubah kebijakan yang ada. Mereka berkontribusi pada pengembangan intelektual segala sesuatu yang berkaitan dengan keamanan, dan saya harap mereka percaya bahwa hasil pekerjaan mereka akan digunakan untuk tujuan yang baik.

Namun dalam pekerjaan mereka ada dua sisi mata uang, ini semata-mata pendapat saya dan mungkin tidak sesuai dengan pendapat majikan saya. Dan saya pikir tidak semua data penelitian yang akan saya ceritakan secara resmi tidak diklasifikasikan.

Snowden mengatakan bahwa beberapa pernyataan dapat dibuktikan benar, dan beberapa lainnya salah. Contoh pernyataan palsu adalah pernyataan NSA bahwa "ada akses langsung ke jaringan Google, " karena keadaan sebenarnya dari hal-hal dengan akses ke jaringan ini ditunjukkan pada gambar berikut, yang dilakukan NSA sendiri.

Saat ini, Google mengenkripsi semua lalu lintasnya karena khawatir seseorang akan dapat meretas jaringan mereka. Selain itu, semua berita disaring melalui media, dan kami hanya melihat kutipan dari dokumen.



Anda melihat emotikon di sebelah frasa “ SSL ditambahkan dan dihapus di sini di server Google utama , ” karena dari sini NSA dapat mengambil data. Google , yang memiliki pusat data di seluruh dunia, memanfaatkan garis serat khusus untuk jaringannya. Berkat ini, lalu lintas ditransmisikan dengan kecepatan tinggi dan sangat sulit untuk sampai ke sana.

Pemerintah tidak hanya memiliki kemampuan teknis yang hebat, tetapi juga memanfaatkan. Sangat sulit bagi beberapa perusahaan untuk menolak paksaan untuk bekerja sama dengan pemerintah. Contoh menghadapi negara adalah layanan email Lavabit gratis, dibuat sebagai alternatif untuk Gmail , karena yang terakhir melanggar privasi korespondensi pengguna atas permintaan layanan pemerintah.

Negara juga dapat memaksa perusahaan untuk tidak secara terbuka mengakui bahwa mereka bekerja sama dengan layanan pemerintah.

Mari kita pertimbangkan alat apa yang dimiliki negara untuk menerapkan kebijakan keamanan.

Pertama-tama, itu adalah SIGINT - Platform Cryptological Protective Seluruh Dunia. Ini didasarkan pada jaringan serat optik. Situs berikut menunjukkan diagram dari dokumen rahasia yang diterbitkan oleh Snowden. Anda melihat banyak titik-titik kuning, yang ditunjuk sebagai CNE. Snowden menyarankan bahwa situs-situs ini dilengkapi dengan peralatan peretasan jaringan. Jumlah mereka lebih dari 50.000 di seluruh dunia.

Jaringan dapat diretas dengan berbagai cara. Pemerintah menggunakan serangan rantai pasokan ini - serangan dunia maya yang ditujukan pada elemen yang paling tidak aman dalam jaringan berbagai organisasi. Untuk melindungi diri dari serangan semacam itu, pemerintah menghindari kerja sama apa pun, hanya menyediakan akses langsung ke jaringannya sendiri, tanpa perantara dan pihak ketiga.



Menurut organisasi non-pemerintah EFF (Electronic Frontier Foundation) dan tuntutan hukum yang diprakarsainya, NSA suka menggunakan apa yang disebut "sakelar optik", yang memungkinkan Anda mencegat percakapan telepon, termasuk dari MPLS, dan mencegah kebocoran informasi target ke perantara. Mayoritas perantara terlibat dalam transfer informasi antar pengguna, tidak hanya di Amerika Serikat, tetapi di seluruh dunia terlibat dalam hal ini.



Saya berharap TLS dapat menahan gangguan semacam ini.

Pemerintah bahkan dapat berkompromi dengan infrastruktur jaringan internal menggunakan kunci enkripsi pribadi Pokemon dari server akhir. Ini memungkinkan Anda untuk mengatur serangan seperti Heartbleed dan serangan jaringan standar. Pemerintah sering menggunakan model jaringan DOD yang dikembangkan oleh Departemen Pertahanan AS. Sistem seperti ini digunakan di jaringan google.com .

Dimungkinkan untuk menggunakan serangan crypto terhadap TLS . Diasumsikan bahwa worm komputer Stuxnet , yang menginfeksi komputer Windows , dikembangkan atas inisiatif pemerintah AS. Ini menggunakan konflik di dalam algoritma enkripsi MD5 , yang memiliki sertifikat yang valid. Worm ini memotong data antara pengontrol dan stasiun logis dan dapat mengganggu proses kontrol otomatis berbagai kompleks industri. Ini adalah satu-satunya virus yang dapat menghancurkan infrastruktur fisik jaringan.

Ada organisasi NIST yang mengembangkan standar enkripsi untuk hampir semua hal di dunia. Dia merekomendasikan penggunaan generator nomor acak pseudo acak DUAL_EC_PRNG yang kuat secara kriptografis untuk membuat kunci enkripsi. Namun, ia masih memiliki kerentanan. Jika Anda menggunakan titik-titik kurva eliptik yang ditentukan dalam standar enkripsi, maka karena sejumlah besar bit output dalam satu putaran generasi, dimungkinkan untuk menembus kode generator dan memecahkannya menggunakan kekuatan kasar (pencarian lengkap). Pencipta algoritma tahu tentang kerentanan ini sejak awal. Ini tidak berarti bahwa backdoor pada awalnya disediakan untuk generator ini, tetapi tidak berarti bahwa backdoor dapat dibuat di sana kapan saja.

Saya perhatikan bahwa NSA paling sering menggunakan serangan berdasarkan inkonsistensi dalam algoritma enkripsi MD5 terbaru.



Negara memiliki dampak global pada Internet di seluruh dunia. Sebagian besar komunikasi global dilakukan melalui Amerika Serikat. Panggilan telepon, email, dan obrolan dilakukan dengan cara termurah, secara fisik tidak selalu langsung, dan Anda selalu dapat mengikuti cara ini. Sebagian besar lalu lintas Internet global melewati Amerika Serikat. Bagaimanapun, cara di mana koneksi dibuat dengan tujuan akhir dari kontak Anda dapat dengan mudah dialihkan ke Amerika Serikat, yaitu, negara dapat mengontrol setiap arus telekomunikasi di seluruh dunia.

Saya akan memberikan contoh "kembali" dari kegiatan seperti itu. Negara mengintervensi tidak hanya dalam hubungan individu-individu pribadi, tetapi juga dalam pekerjaan perusahaan. Pada November 2013, Washington Post menerbitkan informasi bahwa NSA memotong lalu lintas antara pusat data Google melalui kabel serat optik sebelum dienkripsi antara server akhir dan komputer pengguna. Rincian tambahan tentang program pemerintah MUSCULAR dan potongan-potongan paket yang dicuri dari jaringan internal Google diterbitkan.



Karyawan Google mengkonfirmasi peretasan NSA terhadap jaringan mereka, tidak malu dalam ekspresi - spesialis keamanan Google Brandon Downey secara langsung menulis: "Persetan orang-orang ini!", Mengacu pada kesombongan NSA yang belum pernah terjadi sebelumnya.

Oleh karena itu, sulit bagi orang untuk mempercayai peralatan jaringan AS dan layanan yang disediakan oleh penyedia jaringan AS. Saya akan mengutip kata-kata Kardinal Richelieu: "Beri saya enam baris yang ditulis oleh tangan orang yang paling jujur, dan saya akan menemukan di dalamnya ada sesuatu yang bisa digantung."

Saya tidak ingin Anda menjadi paranoid dalam arti ketidakpercayaan terhadap pemerintah dan melihat sekitar spionase total dan pelanggaran kerahasiaan informasi dan privasi. Tetapi sebagai pengembang perangkat lunak di masa depan, Anda perlu tahu bagaimana penyerang dapat bertindak. Jika Anda bekerja di perusahaan besar, seorang peretas dapat menggunakan alat dan teknik pemerintah untuk mengatur serangan. Karena itu, Anda perlu melakukan hal-hal berguna seperti yang dilakukan Google , mengenkripsi semua lalu lintas internal Anda dan menggunakan sertifikat pengujian penetrasi.

Saya ingin memperkenalkan Anda dengan beberapa jenis malware lainnya. Salah satunya disebut Flame , atau "Flame."



, Stuxnet . , :

  • GPS ;
  • , Bluetooth;
  • , .

Flame MD5 , , . - 2008 , CA -, RapidSSL . Internet Public Key Infrastructure (PKI) , .

4 RapidSSL . 3- , 215 Sony PlayStation 3 . , , MD5 .

, Microsoft Microsoft Terminal Server , MD5 . MD5 , , 1 . Microsoft , , Windows . , MS , Flame , . , , .

– , ? -, , .

, « »? « ?», .



, , . , .

, , , . , .

:

  • « » , ;
  • jailbreakme.com , iOS root- . , , , ;
  • – , , , ;
  • , ;
  • , , .

.

, . , . , . , . , , .

. , , . , , . , , .

, , , . , , , .

, .

— .

, iSEC Partners:

  • 2 -3 20-30 . , , MIT;
  • , ;
  • , ;
  • , ;
  • , !

paul@isecpartners.com . , .



. , , «». , , . , . «» IBM .

, , , . . , , , Facebook , Google Yahoo . , , , .

!


.

, . ? ? , 30% entry-level , : VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps $20 ? ( RAID1 RAID10, 24 40GB DDR4).

Dell R730xd 2 ? 2 Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 $249 ! Cara membangun infrastruktur gedung. kelas menggunakan server Dell R730xd E5-2650 v4 seharga 9.000 euro untuk satu sen?

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


All Articles