Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 12729|Jawab: 1

[Analisis Teknis] Mendalam dan mudah dipahami: Pengantar serangan serangan dan pertahanan jaringan

[Salin tautan]
Diposting pada 25/10/2014 21.04.02 | | |
1. Dasar-dasar serangan DDoS

Serangan DDoS (Distributed Denial of Service) adalah salah satu serangan paling kuat dan sulit untuk dipertahankan karena tujuan utama serangan DDoS adalah untuk mencegah target yang ditunjuk menyediakan layanan normal atau bahkan menghilang dari Internet.

DDoS dapat dibagi menjadi tiga kategori sesuai dengan cara mereka dimulai.

Kategori pertama menang dengan paksaPaket data besar-besaran berkerumun dari seluruh sudut Internet, memblokir pintu masuk ke IDC, membuat berbagai sistem pertahanan perangkat keras yang kuat dan proses darurat yang cepat dan efisien tidak berguna. Contoh umum dari jenis serangan ini adalah ICMP Flood dan UDP Flood, yang sekarang jarang terjadi.

Kategori kedua menang dengan kepintaran, cerdas dan tidak terlihat, mengirim paket setiap beberapa menit atau bahkan hanya membutuhkan paket dapat membuat server konfigurasi mewah tidak lagi merespons. Jenis serangan ini terutama diluncurkan dengan mengeksploitasi kerentanan dalam protokol atau perangkat lunak, seperti serangan Slowloris, serangan tabrakan hash, dll., Dan membutuhkan kebetulan lingkungan tertentu.

Kategori ketiga adalah campuran dari dua hal di atasItu tidak hanya memanfaatkan cacat protokol dan sistem, tetapi juga memiliki sejumlah besar lalu lintas, seperti serangan SYN Flood dan serangan DNS Query Flood, yang merupakan metode serangan arus utama saat ini.

Artikel ini akan menjelaskan metode serangan yang paling umum dan representatif ini satu per satu dan memperkenalkan opsi pertahanan mereka.

1.1. Banjir SYN

SYN Flood adalah salah satu serangan DDoS paling klasik di Internet, pertama kali muncul sekitar tahun 1999, dengan Yahoo menjadi korban paling terkenal pada saat itu. Serangan SYN Flood mengeksploitasi kelemahan jabat tangan tiga TCP yang dapat membuat server target tidak responsif dan sulit dilacak dengan biaya kecil.

Proses jabat tangan tiga arah TCP standar adalah sebagai berikut:

  • Klien mengirimkan paket TCP yang berisi bendera SYN, SYN disinkronkan, dan paket sinkronisasi menunjukkan port yang digunakan oleh klien dan nomor seri awal koneksi TCP.
  • Setelah menerima paket SYN dari klien, server akan mengembalikan paket SYN+ACK (yaitu, konfirmasi pengakuan), yang menunjukkan bahwa permintaan klien diterima, dan nomor seri awal TCP secara otomatis ditambahkan oleh 1.
  • Klien juga mengembalikan pesan pengakuan ACK ke server, dan nomor seri TCP juga ditambahkan dengan 1.

Setelah tiga langkah ini, koneksi TCP dibuat. Untuk mencapai transmisi yang andal, protokol TCP telah menyiapkan beberapa mekanisme penanganan pengecualian selama tiga jabat tangan. Pada langkah ketiga, jika server tidak menerima paket pengakuan ACK akhir dari klien, server akan tetap dalam keadaan SYN_RECV, menambahkan alamat IP klien ke daftar tunggu, dan mengirim ulang paket SYN+ACK di langkah kedua. Repost biasanya dilakukan 3-5 kali, dan daftar tunggu disurvei sekali dengan interval sekitar 30 detik untuk mencoba kembali semua klien. Di sisi lain, setelah server mengirimkan paket SYN+ACK, server mengalokasikan sumber daya terlebih dahulu untuk menyimpan informasi untuk koneksi TCP yang akan datang, yang dipertahankan sambil menunggu percobaan ulang. Lebih penting lagi, jika sumber daya server terbatas, status SYN_RECV yang dapat dipertahankan tidak akan lagi menerima paket SYN baru setelah melebihi batas, yaitu koneksi TCP baru akan ditolak.

SYN Flood menggunakan pengaturan protokol TCP di atas untuk mencapai tujuan serangan. Penyerang menyamarkan sejumlah besar alamat IP untuk mengirim paket SYN ke server, dan karena alamat IP palsu hampir tidak mungkin ada, hampir tidak ada perangkat yang akan mengembalikan respons apa pun ke server. Akibatnya, server mempertahankan daftar tunggu yang sangat besar dan terus mencoba kembali mengirim paket SYN+ACK, yang menghabiskan banyak sumber daya dan tidak dapat dirilis. Lebih penting lagi, antrian SYN_RECV server yang diserang diisi dengan paket berbahaya, dan permintaan SYN baru tidak lagi diterima, dan pengguna yang sah tidak dapat menyelesaikan tiga jabat tangan untuk membuat koneksi TCP. Dengan kata lain, server ditolak layanan oleh SYN Flood.

Jika Anda tertarik dengan SYN Flood, Anda dapat melihat http://www.icylife.net/yunshu/show.php?id=367, yang saya tulis pada tahun 2006, dan kemudian membuat beberapa perubahan, memperbaiki bug, dan mengurangi agresivitas, dan murni digunakan untuk pengujian.

1.2. Banjir Kueri DNS

Sebagai layanan Internet yang paling dasar dan inti, DNS secara alami merupakan salah satu target penting dari serangan DDoS. Menurunkan layanan DNS secara tidak langsung dapat menjatuhkan seluruh bisnis perusahaan, atau layanan jaringan di suatu wilayah. Beberapa waktu lalu, kelompok peretas populer anonim juga mengumumkan bahwa mereka akan menyerang 13 server DNS di Internet global, tetapi pada akhirnya tidak berhasil.

Serangan UDP adalah metode serangan termudah untuk memulai lalu lintas besar, dan pemalsuan IP sumber acak sulit dilacak. Namun, pemfilteran lebih mudah karena sebagian besar IP tidak menyediakan layanan UDP, sehingga Anda cukup membuang lalu lintas UDP. Oleh karena itu, serangan lalu lintas UDP murni relatif jarang sekarang, dan digantikan oleh serangan DNS Query Flood yang dibawa oleh protokol UDP. Sederhananya, serangan DDoS yang diluncurkan pada semakin tinggi protokol, semakin sulit untuk dipertahankan karena semakin tinggi protokol, semakin terkait dengan bisnis, dan semakin kompleks yang dihadapi sistem pertahanan.

DNS Query Flood adalah ketika penyerang memanipulasi sejumlah besar mesin sockpuppet untuk meluncurkan sejumlah besar permintaan kueri nama domain ke target. Untuk mencegah pemfilteran berbasis ACL, keacakan paket harus ditingkatkan. Praktik umum adalah memalsukan alamat IP sumber secara acak, memalsukan port sumber secara acak, dan parameter lain di lapisan UDP. Pada lapisan protokol DNS, ID kueri dipalsukan secara acak bersama dengan nama domain yang akan diselesaikan. Selain mencegah pemfilteran, nama domain palsu acak yang akan diselesaikan juga dapat mengurangi kemungkinan mencapai cache DNS dan mengkonsumsi sumber daya CPU sebanyak mungkin dari server DNS.

Mengenai kode untuk DNS Query Flood, saya menulis kode pada bulan Juli 2011 untuk menguji kinerja server, dan tautannya http://www.icylife.net/yunshu/show.php?id=832. Demikian pula, kode ini secara artifisial kurang agresif dan hanya untuk tujuan pengujian.

1.3. Banjir HTTP

SYN Flood dan DNS Query Flood yang dijelaskan di atas dapat dipertahankan secara efektif pada tahap ini, dan sakit kepala yang sebenarnya bagi produsen besar dan perusahaan Internet adalah serangan HTTP Flood. HTTP Flood adalah serangan pada layanan web pada protokol lapisan ketujuh. Bahaya besarnya terutama dimanifestasikan dalam tiga aspek: inisiasi yang nyaman, penyaringan yang sulit, dan dampak yang luas.

Baik SYN Flood dan DNS Query Flood mengharuskan penyerang untuk mengontrol sejumlah besar bot dengan hak root. Dibutuhkan waktu dan upaya untuk mengumpulkan sejumlah besar hak istimewa root, dan selama serangan, mesin boneka lambat untuk diisi ulang karena hilangnya sumber daya yang cepat oleh penyerang karena lalu lintas abnormal yang ditemukan oleh administrator, mengakibatkan pengurangan intensitas serangan yang signifikan dan tidak dapat dipertahankan untuk waktu yang lama. Serangan HTTP Flood berbeda, penyerang tidak perlu mengontrol sejumlah besar bot, melainkan menggunakan pemindai port untuk menemukan proxy HTTP anonim atau proxy SOCKS di Internet, di mana penyerang memulai permintaan HTTP ke target serangan. Proxy anonim adalah sumber daya yang relatif kaya, dan tidak sulit untuk mendapatkan proxy dalam beberapa hari, sehingga serangan mudah dimulai dan dapat bertahan lama.

Di sisi lain, serangan banjir HTTP diluncurkan di lapisan HTTP, yang dengan penuh semangat meniru perilaku permintaan halaman web pengguna normal, yang terkait erat dengan bisnis situs web, sehingga menyulitkan vendor keamanan untuk memberikan solusi umum yang tidak memengaruhi pengalaman pengguna. Aturan yang bekerja dengan baik di satu tempat, mengubah skenario dapat menyebabkan sejumlah besar pembunuhan.

Akhirnya, serangan banjir HTTP dapat menyebabkan reaksi berantai yang serius, tidak hanya secara langsung menyebabkan respons lambat dari front-end web yang diserang, tetapi juga secara tidak langsung menyerang back-end Java dan logika lapisan bisnis lainnya dan layanan database back-end, meningkatkan tekanan mereka dan bahkan memengaruhi server penyimpanan log.

Menariknya, HTTP Flood juga memiliki julukan historis yang disebut CC attack. CC adalah singkatan dari Challenge Collapsar, yang merupakan perangkat perlindungan DDoS dari perusahaan keamanan terkenal di China. Dilihat dari situasi saat ini, tidak hanya Collapsar, tetapi semua peralatan pertahanan perangkat keras masih ditantang, dan risikonya belum diangkat.

1.4. Serangan koneksi lambat

Dalam hal serangan, reaksi pertama adalah lalu lintas besar dan paket besar. Namun ada serangan yang melakukan sebaliknya, dikenal lambat, sehingga beberapa target serangan terbunuh tanpa mengetahui bagaimana mereka mati, yaitu serangan koneksi lambat, yang paling representatif adalah Slowloris yang ditemukan oleh rsnake.

Protokol HTTP menetapkan bahwa permintaan HTTP berakhir dengan \r\n\r\n, menunjukkan bahwa klien telah selesai mengirim dan server telah mulai memproses. Jadi apa yang terjadi jika Anda tidak pernah mengirim \r\n\r\n? Slowloris menggunakan ini untuk keuntungannya dalam serangan DDoS. Penyerang mengatur Connection to Keep-Alive di header permintaan HTTP, meminta server web untuk menjaga koneksi TCP tidak terputus, dan kemudian perlahan-lahan mengirimkan format nilai kunci ke server setiap beberapa menit, seperti a:b\r\n, menyebabkan server berpikir bahwa header HTTP belum diterima dan menunggu. Jika penyerang menggunakan multithreading atau boneka untuk melakukan hal yang sama, kontainer web server akan dengan cepat kewalahan oleh penyerang dan tidak akan lagi menerima permintaan baru.

Segera, berbagai varian Slowloris mulai bermunculan. Misalnya, metode POST mengirimkan data ke Server Web, mengisi Content-Length yang besar tetapi byte lambat byte demi byte konten data nyata POST, dll. Mengenai serangan Slowloris, rsnake juga memberikan kode pengujian, lihat http://ha.ckers.org/slowloris/slowloris.pl.

2. Serangan DDoS lanjutan2.1. Serangan hibrida

Di atas memperkenalkan beberapa metode serangan dasar, yang salah satunya dapat digunakan untuk menyerang jaringan, dan bahkan mengalahkan situs web raksasa seperti Alibaba, Baidu, dan Tencent. Tapi bukan itu saja, level penyerang yang berbeda dapat meluncurkan serangan DDoS yang sama sekali berbeda, dan penggunaannya adalah hal yang sama.

Penyerang tingkat lanjut tidak pernah menggunakan satu vektor untuk menyerang, tetapi secara fleksibel menggabungkannya berdasarkan lingkungan target. Banjir SYN biasa mudah disaring oleh perangkat pembersih lalu lintas melalui deteksi terbalik, cookie SYN dan sarana teknis lainnya, tetapi jika paket SYN + ACK dicampur dalam SYN Flood, sehingga setiap paket SYN palsu memiliki paket konfirmasi klien palsu yang sesuai, yang sesuai di sini mengacu pada alamat IP sumber, port sumber, IP tujuan, port tujuan, ukuran jendela TCP, TTL, dll. semuanya sejalan dengan karakteristik host yang sama dan Aliran TCP yang sama. Tekanan pada kinerja deteksi terbalik dan cookie SYN dari peralatan pembersih aliran akan meningkat secara signifikan. Faktanya, paket data SYN dan berbagai bit bendera lainnya memiliki efek serangan khusus, yang tidak diperkenalkan di sini. Ada juga teknik unik untuk DNS Query Flood.

Pertama-tama, DNS dapat dibagi menjadi DNS biasa dan DNS domain resmi, menyerang DNS biasa, alamat IP perlu dipalsukan secara acak, dan server memerlukan resolusi rekursif; Namun, saat menyerang DNS domain resmi, alamat IP sumber yang dipalsukan tidak boleh murni acak, tetapi harus menjadi alamat DNS ISP di seluruh dunia yang dikumpulkan sebelumnya, untuk mencapai efek serangan maksimum, sehingga perangkat pembersih lalu lintas berada dalam situasi memalukan menambahkan daftar hitam IP atau tidak menambahkan daftar hitam IP. Menambahkannya akan menyebabkan sejumlah besar pembunuhan, dan jika Anda tidak menambahkan daftar hitam, setiap paket perlu diselidiki terbalik, yang meningkatkan tekanan kinerja.

Di sisi lain, seperti yang disebutkan sebelumnya, untuk meningkatkan tekanan pembersihan perangkat, perlu mengacak nama domain yang diminta tanpa menekan cache, tetapi perlu dicatat bahwa nama domain yang akan diselesaikan harus memiliki keteraturan tertentu dalam pemalsuan, seperti hanya memalsukan bagian tertentu dari nama domain dan memadatkan bagian untuk menembus daftar putih yang ditetapkan oleh perangkat pembersih. Alasannya sederhana, server Tencent hanya dapat menyelesaikan nama domain Tencent, dan nama domain yang benar-benar acak mungkin langsung dibuang dan perlu dipadatkan. Tetapi jika benar-benar diperbaiki, mudah untuk dibuang secara langsung, jadi perlu dipalsukan.

Kedua, serangan terhadap DNS tidak boleh hanya fokus pada port UDP, yang juga merupakan layanan standar sesuai dengan protokol DNS. Jika terjadi serangan, serangan UDP dan TCP dapat dilakukan secara bersamaan.

Fokus HTTP Flood adalah menembus cache di frontend dan langsung menjangkau Server Web itu sendiri melalui pengaturan bidang di header HTTP. Selain itu, HTTP Flood juga sangat penting untuk pemilihan target, dan penyerang biasa akan memilih halaman yang membutuhkan banyak kueri data seperti pencarian sebagai target serangan, yang sangat benar dan dapat menghabiskan sumber daya server sebanyak mungkin. Tetapi serangan ini mudah diidentifikasi dengan membersihkan peralatan melalui identifikasi manusia-mesin, jadi bagaimana mengatasi masalah ini? Sangat sederhana, coba pilih halaman yang juga diakses pengguna normal melalui APP, secara umum berbagai Web API. Pengguna normal dan lalu lintas berbahaya berasal dari APP, dan perbedaan antara manusia dan mesin sangat kecil, dan sulit untuk membedakan antara integrasi dasar.

Setiap koneksi TCP ada di sisi server dan di sisi itu sendiri, dan juga perlu mengkonsumsi sumber daya untuk mempertahankan status TCP, sehingga koneksi tidak dapat dipertahankan terlalu banyak. Jika ini dapat diselesaikan, agresivitas akan sangat ditingkatkan, yaitu Slowloris dapat meluncurkan serangan dengan cara tanpa kewarganegaraan, menangkap nomor seri TCP dan mengonfirmasi pemeliharaan koneksi TCP pada klien dengan mengendus, dan kernel sistem tidak perlu memperhatikan berbagai perubahan status TCP, dan notebook dapat menghasilkan hingga 65.535 koneksi TCP.

Deskripsi sebelumnya semuanya adalah peningkatan serangan teknis. Di sisi manusia, ada cara lain. Jika SYN Flood mengirimkan sejumlah besar paket dan disertai dengan koneksi lambat Slowloris, berapa banyak orang yang akan menemukan rahasianya? Bahkan jika server turun, hanya serangan SYN yang dapat ditemukan, mencoba memperkuat pembersihan lapisan TCP dan mengabaikan perilaku lapisan aplikasi. Semua jenis serangan dapat bekerja sama untuk mencapai efek maksimal. Pilihan waktu serangan juga merupakan poin kunci, seperti memilih personel pemeliharaan saat mereka makan siang, ketika personel pemeliharaan terjebak di jalan setelah pulang kerja atau ketika tidak ada sinyal pada kartu jaringan nirkabel di kereta bawah tanah, dan ketika perusahaan target mengadakan acara berskala besar dan lalu lintas melonjak.

Ini adalah serangan murni, jadi tidak ada kode yang diberikan atau penjelasan mendalam.

2.2. Serangan dari jaringan P2P

Metode serangan sebelumnya kurang lebih membutuhkan beberapa bot, bahkan HTTP Flood membutuhkan pencarian sejumlah besar proxy anonim. Jika ada serangan, Anda hanya perlu mengeluarkan beberapa instruksi, dan mesin akan secara otomatis muncul untuk mengeksekusinya, yang merupakan solusi sempurna. Serangan ini sudah muncul, dan itu dari jaringan P2P.

Seperti yang kita semua tahu, pengguna P2P dan lalu lintas di Internet adalah jumlah yang sangat besar. Jika mereka semua pergi ke tempat yang ditentukan untuk mengunduh data dan menghubungkan ribuan alamat IP asli, tidak ada perangkat yang dapat mendukungnya. Ambil unduhan BT sebagai contoh, memalsukan torrent dari beberapa video populer dan mempostingnya ke mesin pencari sudah cukup untuk menipu banyak pengguna dan lalu lintas, tetapi ini hanya serangan dasar.

Serangan P2P tingkat lanjut adalah spoofing langsung dari server manajemen sumber daya. Misalnya, klien Thunder akan mengunggah sumber daya yang ditemukannya ke server manajemen sumber daya, lalu mendorongnya ke pengguna lain yang perlu mengunduh sumber daya yang sama, sehingga tautan akan dipublikasikan. Melalui pembalikan protokol, penyerang menempa sejumlah besar informasi sumber daya populer dan mendistribusikannya melalui pusat manajemen sumber daya, yang dapat langsung menyebar ke seluruh jaringan P2P. Yang lebih menakutkan adalah serangan ini tidak dapat dihentikan, bahkan oleh penyerang sendiri, dan serangan berlanjut sampai pejabat P2P menemukan masalahnya dan memperbarui server dan pengguna unduhan memulai ulang perangkat lunak yang diunduh.

3. Ringkasan

Hanya itu yang ada untuk pengenalan serangan DDoS, dan saya tidak ingin melangkah lebih jauh—cukup untuk memahami bahwa begitu banyak pertahanan sudah cukup.

Secara umum, serangan DDoS bisa cekatan dan anggun. Keindahan penerapan terletak pada kesatuan pikiran.





Mantan:Akses Internet gratis, akses gratis ke CMCC dengan QQWifi, dll
Depan:Turunkan berat badan dan cari trik pamungkas
Diposting pada 25/10/2014 21.46.21 |
Diringkas dengan baik
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com