Bagaimanakah Serangan Limpahan Penampan Berfungsi? Pergi Di Belakang Tabir sebagai Penggodam

Bagaimanakah Serangan Limpahan Penampan Berfungsi? Pergi Di Belakang Tabir sebagai Penggodam
Pembaca seperti anda membantu menyokong MUO. Apabila anda membuat pembelian menggunakan pautan di tapak kami, kami mungkin mendapat komisen ahli gabungan. Baca Lagi.

Bagaimanakah penggodam menyerang sistem menggunakan virus dan perisian hasad? Kadangkala, ia boleh menjadi perisian tebusan; kadangkala, ia boleh menjadi serangan yang memakan keperluan sistem anda. Limpahan penampan ialah salah satu kaedah serangan ini—tetapi apakah sebenarnya? Bagaimanakah serangan ini berfungsi?





MAKEUSEOF VIDEO OF THE DAY SCROLL UNTUK MENERUSKAN KANDUNGAN

Apakah Limpahan Penampan?

Jadi apakah sebenarnya penimbal dan tindanan? Penampan ialah medan di mana beberapa maklumat input yang anda berikan kepada komputer anda menunggu sebelum ia mencapai memori. Mengingat semula data daripada ingatan adalah operasi yang memenatkan sistem. Oleh itu, apabila terdapat ruang yang mencukupi di kawasan penimbal, anda memanggil data terus dari sini. Ini bermakna peningkatan prestasi untuk peranti anda. Sudah tentu, apabila ruang yang tersedia untuk penimbal penuh, ia menjadi perlu untuk menulisnya ke dalam ingatan.





Tindanan pada asasnya ialah struktur data di mana operasi tolak (tambah) dan pop (buang) data berlaku. Konsep penimbal dan tindanan adalah agak serupa; namun, penimbal berfungsi seperti timbunan yang menyimpan data masuk buat sementara waktu.





di mana cani memuat turun muzik secara percuma

Limpahan penimbal boleh menjadi topik yang mencabar, tetapi seperti namanya, ia berlaku apabila terdapat lebihan data. Sebagai contoh, anda ingin log masuk ke dalam sistem. Pembangun boleh memperuntukkan 250 bait ruang untuk nama pengguna. Jika anda memasukkan 300 bait data, penimbal akan melimpah. Limpahan ini boleh menjejaskan data lain dalam ingatan, menyebabkan kemudaratan.

Ini bagus untuk penggodam. Penjenayah siber boleh menggabungkan kekacauan ini dengan vektor serangan yang berbeza, contohnya, untuk menggodam sistem dan log masuk sebagai pentadbir.



Untuk memahami limpahan penimbal, topik utama yang perlu anda kenali ialah Seni bina dalaman CPU , daftar memori dan cara memori memproses data. Berikut ialah beberapa istilah mengenai CPU yang perlu anda ketahui.





Kod Perhimpunan





Bahasa pengaturcaraan tahap rendah , iaitu hampir dengan bahasa mesin.

Penampan

Saiz tetap ruang ingatan yang diperuntukkan .

Kod Byte

Bentuk kod bahasa perantaraan yang boleh disusun yang ditulis dalam bahasa peringkat tinggi.

Penyusun

Program yang menukar bahasa pengaturcaraan kepada kod mesin.

Timbunan

Ruang memori yang dinamik dan berubah-ubah.

Asas Teori Ingatan

Tanpa memahami teori ingatan, sukar untuk menangani isu limpahan penimbal dalam amalan. Anda boleh menganggapnya seperti cuba membina rumah tanpa mengetahui cara membuat dinding.

Bayangkan anda ingin menjalankan limpahan penimbal dari sudut pandangan penggodam. Untuk itu, anda perlu memanipulasi memori dan meminta CPU melaksanakan kod anda. Jika anda seorang yang mempunyai niat jahat, matlamat anda di sini adalah untuk membebankan memori dan memanipulasi kawasan ingatan bersebelahan juga.

  Rajah menunjukkan timbunan tumbuh ke bawah dan timbunan membesar

Tetapi pertama sekali, anda perlu menumpukan pada konsep timbunan, tindanan dan segmen teks.

Semasa tindanan sedang dibuat, memori menggunakan alamat memori tinggi. Alamat ingatan tinggi bermaksud kawasan ingatan lanjutan. Kemudian nilai alamat mula berkurangan. Tindanan memori menggunakan kaedah yang dipanggil LIFO (Masuk Terakhir, Keluar Dahulu) semasa penggunaan memori. Pembolehubah dalam ingatan tindanan hanya sah dalam skop di mana ia ditakrifkan. Jika mereka berada di luar skop ini, ralat akan berlaku.

Memori tindanan, sebaliknya, berfungsi secara dinamik dan tidak perlu bermula pada alamat tinggi. Tiada had yang ditetapkan pada ingatan timbunan; semua had ditetapkan oleh sistem pengendalian. Adalah mungkin untuk menukar memori timbunan secara dinamik dan had ini mungkin berubah mengikut keperluan pengguna semasa penggunaan timbunan. Had memori timbunan bergantung pada faktor yang ditentukan oleh sistem pengendalian dan perkakasan. Dalam erti kata lain, ia menawarkan penggunaan dinamik dalam had ini.

Segmen teks mengandungi kod program dan segmen data mengandungi data global. Perkongsian alamat tinggi timbunan dan timbunan ingatan sesama mereka. Sistem memperuntukkan kedua-dua memori pada masa jalan.

Untuk lebih memahami limpahan penimbal, anda harus memeriksa daftar data tujuan umum yang seni bina komputer anda gunakan untuk menyimpan data. Daripada menganalisis setiap rekod secara individu, fokus pada perkara penting.

  • ESP (Penunjuk Tindanan Lanjutan): Daftar ini memegang alamat di bahagian atas timbunan.
  • EBP (Penunjuk Pangkalan Lanjutan): Ini memegang penunjuk asas.
  • EIP (Penunjuk Arahan Lanjutan): Dan daftar ini memegang alamat arahan seterusnya yang akan dilaksanakan.

Istilah teknikal ini mungkin terdengar agak mengelirukan, tetapi bayangkan kesemuanya sebagai sekatan kecil pada ingatan.

Bagaimanakah Serangan Limpahan Penampan Berfungsi?

Apabila anda menambah data baharu pada sebarang tindanan, data ini akan diletakkan di bahagian atas. Semua data baharu kemudiannya dialihkan ke bawah. ESP berada di bahagian atas timbunan. Jadi dalam kes ini ESP pergi ke alamat memori yang lebih rendah. Bayangkan data yang ditambahkan di atas menolak ESP ke bawah.

  Rajah menunjukkan ruang penimbal berada di antara ESP dan EBP

Apabila program mula berjalan, sistem mencipta bingkai tindanan dengan pembolehubah tempatan. Tujuan utama serangan limpahan penimbal adalah untuk mendapatkan akses kepada EIP atau alamat pemulangan. Penggodam yang mempunyai akses kepada alamat ini boleh mengarahkannya untuk menunjuk kepada mana-mana kod hasad yang mereka inginkan, yang kemudiannya akan menjejaskan sistem yang lebih luas.

  Gambar rajah yang menunjukkan data dalam ESP yang menyasarkan Alamat Pemulangan

Dengan setiap bit data baharu, timbunan berkembang ke arah EBP. Persoalan sebenar di sini ialah, jika kita memasukkan terlalu banyak data, bolehkah kita menolak EBP ke arah EIP? Dengan cara itu, data atau kod yang anda inginkan terletak pada EIP dan anda boleh melihat hasil yang anda inginkan. Yang tinggal hanyalah menjalankannya. Apabila anda menjalankan program, ia menunjuk kepada kod EIP anda dan memulakan pelaksanaan. Akibatnya, jika anda seorang penggodam, anda akan melakukan serangan limpahan penimbal pertama anda.

Untuk mengambil contoh dari sudut yang berbeza, anda boleh mempertimbangkan cecair dengan ketumpatan yang berbeza, dipanggil ESP, EBP dan EIP, dalam bekas. Bayangkan ESP terletak di bahagian atas bekas kerana ketumpatannya lebih rendah. Sama seperti minyak zaitun dan air, mereka tidak boleh bercampur. Oleh itu, kod berniat jahat adalah cecair lain—apabila anda menambahkannya pada bekas, ia merosakkan baki ini, menggantikan beberapa cecair dan bercampur dengan EIP. Ini akan menunjukkan limpahan penimbal.

Cara Melindungi Terhadap Serangan Limpahan Penampan

Jadi bagaimana anda menghalang perkara ini daripada berlaku?

Pertama sekali, adalah penting untuk mengamalkan amalan pengekodan yang baik sepanjang proses pembangunan perisian untuk meminimumkan kelemahan keselamatan. Kod yang ditulis dengan teliti boleh mengurangkan kemungkinan limpahan penimbal.

Langkah lain ialah menggunakan mekanisme pertahanan untuk membenarkan memantau kawasan memori, menyemak had penampan dan mengesan serangan. Akhir sekali, anda perlu sentiasa mengemas kini sistem dan menggunakan tampalan. Kemas kini yang membetulkan kelemahan menjadikannya lebih sukar bagi penyerang untuk mengeksploitasi kelemahan yang diketahui. Selain itu, menggunakan alat pertahanan seperti perisian dan tembok api menyediakan lapisan keselamatan tambahan.

Ambil Tindakan Terhadap Limpahan Penampan

Serangan limpahan penampan menimbulkan ancaman besar kepada keselamatan siber anda dan mengambil langkah berjaga-jaga terhadapnya adalah penting. Nasib baik, adalah mungkin untuk menyekat serangan ini dan menguatkan mekanisme pertahanan. Banyak amalan keselamatan yang baik, seperti memastikan perisian dikemas kini untuk membetulkan tampung, membantu melindungi daripada serangan sedemikian, serta kelemahan lain.