Tugas Resume - Siti Justianti Muhajriyah - 1929141009 - Teknik Komputer A - 2019
Tugas Resume - Siti Justianti Muhajriyah - 1929141009 - Teknik Komputer A - 2019
NIM : 1929141008
Kelas : TEKNIK KOMPUTER A 2019
Keamanan TCP / IP
Model ancaman untuk keamanan jaringan:
• Musuh dapat mencegat / mengubah lalu lintas jaringan.
• Musuh dapat mengirim paket.
• Musuh memiliki kendali penuh atas mesin mereka sendiri.
• Musuh dapat berpartisipasi dalam protokol (biasanya).
Seringkali tidak layak untuk mencegah orang jahat keluar dari sistem yang besar.
• Menguping paket.
• Penting untuk diingat, tetapi dipahami dengan relatif baik.
• Setiap data yang dikirim melalui jaringan dapat diamati oleh musuh.
• Mengirim / spoofing paket.
• IP memungkinkan pengirim untuk membuat paket arbitrer.
• Secara khusus, pengirim dapat mengisi alamat sumber mana saja.
• Dapat berpura-pura bahwa sebuah paket datang dari alamat manapun.
• Apa yang dapat dilakukan musuh dengan ini?
Target mudah: memicu bug dalam beberapa implementasi.
• Penulis tidak begitu tertarik dengan masalah kelas ini.
• Sebaliknya, ingin melihat "masalah tingkat protokol".
• Apakah masalah tingkat protokol?
Masalah yang melekat dalam desain.
Penerapan yang benar akan mengalami masalah ini.
• Mengapa itu sangat penting?
Dapat memperbaiki bug implementasi.
Untuk memperbaiki bug tingkat protokol, mungkin perlu mengubah protokol!
Mungkin tidak kompatibel dengan sistem yang ada.
Seperti yang akan kita lihat, terkadang memungkinkan untuk menghasilkan perbaikan
yang kompatibel.
Bagaimana musuh mengetahui bahwa data tersebut berasal dari klien?
• Hanya klien yang seharusnya dapat menerima pesan kedua.
• Jadi, hanya klien yang harus mengetahui SN.
• Pesan ketiga ditolak, kecuali pesan tersebut memiliki nilai SN yang benar.
Misalkan musuh A ingin mensimulasikan koneksi ke S dari C. (Asumsikan A tahu Alamat IP
C -‐ biasanya bukan masalah besar dalam praktiknya.)
Di mana musuh mendapatkan SN?
• Spesifikasi TCP menyarankan cara khusus untuk memilihnya.
• Secara khusus, kenaikan pada ~ laju konstan: ~ 250.000 per detik.
Mengapa begitu spesifik?
Interaksi halus dengan koneksi yang digunakan kembali (nomor port src / dst).
Ingin menghindari paket lama (dari koneksi masa lalu) mengganggu koneksi baru.
Jika musuh mengetahui nomor urut terbaru, bisa menebak nomor urut berikutnya.
Impl benar-benar akan menabrak ISN setiap detik, membuatnya mudah ditebak.
Apa yang terjadi pada paket nyata yang dikirim S ke C (pkt kedua)?
• C akan menganggap paket tersebut dari koneksi lama, kirim RST sebagai
tanggapan.
• Bahkan jika RST itu dikirim, musuh dapat mencoba untuk balapan sebelum
RST tiba.
• Untungnya, ada bug aneh lainnya; akan membahasnya nanti
Tetapi mengapa serangan nomor urut berubah menjadi masalah keamanan?
1. Koneksi spoof ke aplikasi yang mengandalkan alamat IP.
• Misalnya, alat akses jarak jauh Berkeley: rlogin, rsh, rcp.
• Diizinkan masuk tanpa kata sandi, jika koneksi berasal dari sistem
"tepercaya".
Koneksi yang diperlukan untuk datang dari port sumber tepercaya (512-‐1023).
Mengapa persyaratan ini?
Program rlogin / rsh / rcp tepercaya mengirim nama pengguna klien.
Jika username sama dengan akun di server, tidak ada password dibutuhkan.
• Misalnya: "rsh athena.dialup.mit.edu ls".
• Membuat asumsi buruk tentang apa yang disediakan lapisan TCP.
Diasumsikan koneksi TCP dari alamat IP berarti itu benar-benar berasal dari itu tuan
rumah.
Jika musuh dapat menebak SN, maka dapat mensimulasikan koneksi dari host
terpercaya.
Keluarkan perintah apa pun menggunakan rsh.
Bisa mengubah file .rhosts pengguna untuk mengizinkan login dari host penyerang.
Kemudian hubungkan secara langsung tanpa harus mensimulasikan koneksi.
• Otentikasi berbasis host sepertinya rencana yang buruk.
Terutama mengandalkan port "tepercaya" vs "tidak tepercaya" pada mesin.
Masih digunakan sampai sekarang: mis., SMTP untuk surat keluar.
• Sebenarnya otentikasi rlogin bahkan lebih buruk: mereka diautentikasi dengan
nama host.
Dari mana asal nama host? Reverse pencarian DNS.
Misalnya, 18.26.4.9: temukan data PTR 9.4.26.18.in-‐addr.arpa.
Pemilik domain tersebut dapat menyetel data PTR ke nama host mana pun!
(Dapat membuat sedikit perbaikan: periksa apakah host memutuskan untuk alamat
yang sama.)
Masalah serupa muncul di file log: nama host yang diselesaikan log (tidak tepercaya).
• Server menghitung urutan seperti di atas saat mengirim respons SYN -‐ ACK.
• Server dapat memverifikasi status utuh dengan memverifikasi hash (MAC)
pada urutan ACK.
Tidak terlalu ideal: perlu memikirkan serangan replay dalam timestamp.
• Masalah lain: jika paket ketiga hilang, tidak ada yang mengirim ulang.
Mungkin bukan masalah besar jika terjadi serangan DoS.
Hanya masalah untuk protokol di mana server berbicara lebih dulu.
Vektor serangan DoS lainnya: amplifikasi bandwidth.
• Mengirim paket permintaan gema (ping) ICMP ke alamat siaran jaringan.
Misalnya, 18.26.7.255.
Dulu Anda akan mendapatkan balasan gema ICMP dari semua mesin di
jaringan.
Bagaimana jika Anda memalsukan paket dari alamat korban? Korban mendapat
semua balasan.
Temukan subnet dengan 100 mesin di jaringan cepat: 100x amplifikasi!
• Bisakah kita memperbaikinya?
Router sekarang memblokir "siaran langsung" (paket dikirim ke siaran
alamat).
• Varian modern: amplifikasi DNS.
DNS juga merupakan layanan respons permintaan.
Dengan kueri kecil, server mungkin mengirim kembali respons yang besar.
Dengan DNSSEC, tanggapan mengandung banyak tanda tangan, jadi mereka bahkan
lebih besar!
Karena DNS berjalan melalui UDP, alamat sumber sama sekali tidak diverifikasi.
Ref: http : //blog.cloudflare.com/deep-inside-a-dns-amplification-ddos-
menyerang
• Bisakah kita memperbaiki serangan DNS?
Sebenarnya cukup sulit! Server nama root harus menjawab pertanyaan dari
siapa saja.
• Bagaimana jika kita memiliki kesempatan untuk mendesain ulang DNS dari
awal?
Satu kemungkinan rencana: query harus sebesar respon (membutuhkan padding).
Teknik umum: memaksa klien untuk mengeluarkan setidaknya banyak pekerjaan.
Kontrol kemacetan TCP.
• Penerima bisa mendapatkan pengirim untuk mempercepat, dengan ACK
segmen yang tidak diterima. Atau
mengirim lebih banyak ACK (misalnya, mengirim ACK untuk setiap byte alih-alih
setiap paket).
Protokol perutean: peserta yang terlalu percaya.
• ARP: dalam satu jaringan Ethernet.
Untuk mengirim paket IP, membutuhkan alamat MAC Ethernet dari router / hop
berikutnya.
Address Resolution Protocol (ARP): menyiarkan permintaan untuk MAC target.
Siapapun dapat mendengarkan siaran, mengirim balasan; tidak ada otentikasi.
Musuh dapat menyamar sebagai router, mencegat paket, bahkan saat diaktifkan
bersih.
Solusi potensial: lakukan sakelar yang bertanggung jawab atas ARP.
• ▪ Tidak digunakan secara luas: akan membutuhkan pengelolaan alamat MAC /
IP hati-hati.
• DHCP: sekali lagi, dalam satu jaringan Ethernet.
Klien meminta alamat IP dengan mengirimkan permintaan siaran.
Server merespons, tidak ada otentikasi (beberapa spesifikasi ada tetapi tidak secara
luas bekas).
• Jika Anda baru saja terhubung ke jaringan, mungkin tidak tahu apa yang
diharapkan.
Banyak bidang: alamat IP, alamat router, server DNS, daftar domain DNS, ..
Musuh dapat meniru server DHCP ke klien baru di jaringan.
• Dapat memilih server DNS, domain DNS, router, dll.
Juga, serangan DoS pada server: meminta banyak sewa, dari banyak alamat MAC.
Solusi: buat sakelar yang bertanggung jawab atas DHCP (forward reqs to real server).
• Tidak diterapkan secara luas: akan membutuhkan konfigurasi sakelar yang
hati-hati. Bahkan lebih rumit pada jaringan nirkabel. BGP: Internet - ‐ wide
(mirip dengan serangan RIP yang dijelaskan di kertas).
Semua router peserta BGP dapat mengumumkan rute ke sebuah prefiks.
Bagaimana jika musuh memiliki router? Dapat mengumumkan awalan atau rute apa
pun.
Apakah masalah ini masih relevan?
• Pelaku spam sering memanfaatkan ini: mengumumkan alamat yang tidak
digunakan, dan kirim spam.
• Menyiasati daftar hitam pengirim spam tingkat IP: pilih hampir
• IP apa saja!
Bagaimana cara memperbaikinya?
• SBGP: penandatanganan kriptografi pengumuman rute.
• Harus mengetahui siapa yang diizinkan untuk mengumumkan setiap prefiks IP
tertentu.
• Mewajibkan seseorang untuk mendistribusikan kunci / sertifikat untuk setiap
IP awalan.
• Masalah bootstrap rumit; beberapa overhead kinerja terlalu Mendapatkan daya
tarik tetapi masih belum digunakan secara luas.
• Banyak masalah lain juga.
• Pesan ICMP seperti redirect: tidak ada otentikasi, pada dasarnya tidak
digunakan sekarang.
• Mengekspos terlalu banyak informasi (netstat, SNMP, finger): sebagian besar
tetap.
• identd ("Layanan Otentikasi"): desain yang buruk, tidak ada otentikasi yang
sebenarnya.
• Email: masalah nyata tetapi belum ada solusi praktis.
Otentikasi vs otorisasi.
Misalnya, PGP tidak akan menyelesaikan masalah spam.
• Kata sandi dalam protokol: HANYA mendukung kata sandi tidak terlalu
bagus.
• Protokol transfer data FTP.
Server menghubungkan kembali ke klien untuk mengirim file ke klien.
Klien memberi tahu server alamat IP dan nomor port apa yang akan digunakan.
Dapat digunakan untuk pemindaian port dari IP server.
Dapat digunakan untuk mengirim lalu lintas apa pun (tertanam dalam file) dari IP
server.
▪ Misalnya, masalah otentikasi kembali ke IP: rlogin, spam, dll.
Bagaimana musuh mengetahui perangkat lunak / protokol apa yang Anda jalankan?
• Probing:
Periksa apakah sistem mendengarkan pada port yang terkenal.
Protokol / sistem sering mengirimkan pesan spanduk awal.
• nmap dapat menebak OS dengan mengukur berbagai detail impl-spesifik.
Ref: http://nmap.org/book/man-os-detection.html
• Gunakan DNS untuk mencari nama host untuk alamat IP; mungkin memberi
petunjuk.
• Menebak: asumsikan sistem rentan, coba eksploitasi bug.
Bagaimana musuh mengetahui alamat IP sistem yang akan diserang?
• traceroute untuk menemukan router di sepanjang jalan, untuk serangan BGP.
• Bisa juga hanya memindai seluruh Internet: hanya 2 ^ 32 alamat.
Tautan jaringan 1 Gbps (100 MB / dtk), paket minimum 64 byte ~ 1,5 juta paket per
detik., 2 ^ 32 = 4B paket dalam ~ 2500 detik, atau 45 menit.
Mengapa hal-hal begitu tidak aman di tingkat TCP / IP?
• Secara historis, desainer tidak terlalu mengkhawatirkan keamanan.
Bahkan Bellovin berkata: "Internet pada tahun 1989 adalah tempat yang jauh lebih
ramah".
Internet Asli memiliki sejumlah kecil pengguna yang relatif dapat dipercaya.
Persyaratan desain berubah seiring waktu.
• Argumen ujung ke ujung sedang beraksi.
Bagaimanapun juga harus memberikan keamanan di tingkat aplikasi.
Hal-hal yang "cukup baik" di tingkat pengangkutan untuk membiarkan aplikasi
bekerja.
• Beberapa perbaikan memang ditambahkan, tetapi hanya untuk masalah
terburuk / solusi yang lebih mudah.
Bagaimana cara meningkatkan keamanan?
• Perbaikan yang kompatibel dengan protokol untuk implementasi TCP.
• Firewall.
Perbaikan sebagian, tetapi banyak digunakan.
Masalah: musuh mungkin berada dalam jaringan firewall.
Masalah: sulit untuk menentukan apakah paket "jahat" atau tidak.
Masalah: bahkan untuk bidang yang ada (src / dst), sulit untuk diautentikasi.
Desain TCP / IP tidak cocok untuk teknik pemfilteran seperti firewall.
Misalnya, fragmentasi paket IP: port TCP dalam satu paket, muatan di paket lain.
• Menerapkan keamanan di atas TCP / IP: SSL / TLS, Kerberos, SSH, dll.