Skip to content

BLOG EDUKASI

Situs Berita Teknologi No #1 Terdepan Mengabarkan Powered by kopas.id

  • Beranda
  • news
  • tipsntrik
  • google
  • microsoft
  • apple
  • xiaomi
  • intel
  • amd
SUBSCRIBE
  • headline, news, security, software, teknologi
  • November 17, 2018
  • 0

Ternyata C/C++ Terdapat Bug Besar Dan Mengapa?

Bugs dan eksploitasi seperti Heartbleed, WannaCry, dan Zero-Day mungkin tampak tidak berhubungan pada pandangan pertama, tetapi semuanya berasal dari masalah yang umum dalam bahasa pengkodean populer seperti C dan C ++.

Menurut laporan oleh Motherboard , masalah ini termasuk kategori kesalahan yang disebut “ketidaksamanan memori,” yang ada dalam bahasa pemrograman lama seperti C / C ++.

Apa itu Memory Unsafety dalam bahasa pemrograman?

Alex Gaynor memberi contoh program yang memiliki daftar 10 angka. Secara teoritis, dalam acara di mana seseorang meminta elemen ke-11, program ini diharapkan untuk menampilkan kesalahan semacam itu, atau setidaknya itulah yang bahasa pemrograman “memori aman” (seperti Python atau Java) akan lakukan.

Namun, dalam kasus bahasa yang tidak aman memori seperti C / C ++, program mencari elemen ke-11 di mana pun seharusnya (jika ada) dan mengakses isinya. Ini disebut kerentanan “buffer-overflow” yang dieksploitasi oleh bug seperti HeartBleed untuk mengakses hingga 60 KB data melewati akhir daftar – yang sering kali menyertakan kata sandi dan data sensitif lainnya.

Dan ini bukan satu-satunya. Ada berbagai jenis kerentanan keamanan tidak aman dengan C / C ++ seperti:

  • Ketik kebingungan: itu mencampur jenis nilai yang ada di suatu tempat di memori
  • Gunakan setelah gratis: ia menggunakan sepotong memori bahkan setelah Anda selesai menggunakannya
  • Penggunaan memori yang tidak terinisialisasi: menggunakan sepotong memori bahkan sebelum Anda menyimpan sesuatu di dalamnya.

Bagian terburuknya adalah kerentanan ini lazim dalam perangkat lunak yang banyak digunakan seperti Firefox, Chrome, Windows, Android, dan iOS.

Jadi mengapa kita masih menggunakan C/C ++?

Saat ini, kami memiliki bahasa pemrograman baru yang aman seperti Python, Java, Rust, dan Swift. Tetapi mereka digunakan dalam sejumlah proyek dan perangkat lunak yang relatif lebih kecil.

Proyek-proyek perangkat lunak penting Linux, OpenSSL, dan server web Apache sudah berumur puluhan tahun, dan mereka telah berkembang secara besar-besaran seiring waktu. Menulis ulang mereka dalam bahasa baru adalah tugas yang sangat sulit.

Proyek raksasa semacam itu perlu dimigrasi secara bertahap, tetapi sekali lagi, itu membutuhkan banyak waktu dan uang. Ini juga berarti bahwa perubahan radikal akan diperlukan dalam tim pengembangan perangkat lunak di seluruh perusahaan di seluruh dunia – yang merupakan kendala lain.

Tetapi di atas semua, alasan utama adalah bahwa tidak ada calon coder yang menganggap aspek keamanan suatu bahasa saat memilih bahasa pemrograman untuk belajar. Itu tidak diajarkan di lembaga pendidikan juga.

Di sisi lain, pengembang tidak ingin berurusan dengan itu juga, karena banyak dari mereka percaya bahwa itu bukan bahasa itu sendiri, yang salah, melainkan para insinyur lain yang menulis kode buggy.

Bagikan ini:

  • Facebook
  • X

ekohendratno

Menyukai perkembangan dunia informasi teknologi, suka dengan pemrograman web dan mobile seperti java, php, dart, html, css, javascript, kotlin, vb, .net dan sejenisnya

  • Exynos 9820: Prosesor Pertama Samsung Dengan NPU Khusus Untuk AI
  • Google: Update Android Pie Lebih Cepat Dengan Proyek Treble

Leave a Reply Cancel

Your email address will not be published. Required fields are marked *

Mungkin Kamu suka

Main Game Android di Laptop KenTang Dengan Fyde OS 16

  • Maret 21, 2023Maret 21, 2023
  • 0

Delivery Optimization Files di Windows 11: Apa Itu dan Bagaimana Cara Menonaktifkan dan Menghapusnya

  • Maret 8, 2023Maret 1, 2023
  • 0

Ini Dia Fitur Terbaru Android 14 Developer Preview 1: Dari Fast Pair Option Hingga App Cloning

  • Maret 1, 2023Maret 1, 2023
  • 0

Android 12L mulai diluncurkan ke Samsung Galaxy Tab S7

  • September 8, 2022
  • 0

BLOG EDUKASI

  • Halaman Utama
  • Halaman Utama Builder
  • Kebijakan Privasi
  • Ketentuan Layanan
  • Tentang Kami
  • Beranda
  • Ketentuan Layanan
  • Kebijakan Privasi
  • Tentang Kami

Copyright All Rights Reserved 2022 | Theme: Pritam by Template Sell.