5 Bahasa Pemrograman dengan Celah Keamanan Tersembunyi

5 Bahasa Pemrograman dengan Celah Keamanan Tersembunyi

Menulis software yang bebas dari bugs hampir tidak mungkin dilakukan. Meski pengembang sudah melakukan berbagai cara untuk menghindari kekurangan, tetapi hacker seringkali masih bisa memanfaatkan celah pada perancangan bahasa pemrograman yang mendasarinya.

Pada konferensi Black Hat Europe baru-baru ini, perusahaan keamanan IOActive mengungkap bahwa mereka berhasil mengindentifikasi kekurangan dari lima bahasa pemrograman utama yang dinterpretasikan dapat digunakan oleh hacker dalam menyusun serangan.

Berikut ini adalah 5 bahasa pemrograman utama dan kekurangannya yang berhasil diidentifikasi.

1. Python

Saat ini Python menjadi salah satu bahasa pemrograman yang paling banyak digunakan, dimana banyak digunakan oleh web dan desktop developer, sysadmin/devops, dan juga data scientist serta machine-learning engineer.

IOActive menemukan bahwa Python berisi metode terdokumentasi dan variabel lingkungan lokal yang dapat digunakan untuk menjalankan command di sistem operasi.

Dua tool Python mimetool dan pydoc libraries memiliki metode yang tidak terdokumentasi yang dapat dieksploitasi, yang biasanya digunakan untuk menjalan command di Linux.

2. Perl

Perl merupakan bahasa pemrograman yang popular untuk web server scripting, pekerjaan sysadmin, pemrograman jaringan dan untuk membuat otomatisasi berbagai task.

IOActive menyoroti fakta bahwa Perl berisi fungsi yang dapat mencoba untuk mengeksekusi salah satu argumen yang diberikan kepadanya sebagai kode Perl. Hal ini dijelaskan sebagai fitur tersembunyai di dalam fungsi bawaan Perl untuk menangani typemaps.

3. NodeJS

NodeJS menyediakan lingkungan server-side untuk menjalankan JavaScript, bahasa ini digunakan untuk menulis script di web browser.

IOActive menemukan bahwa NodeJS memiliki pesan error bawaan untuk fungsi penting, yang dapat dieksploitas untuk menentukan apakah ada nama file pada mesin dan membocorkan baris pertama dari file pada sebuah sistem yang berpotensi memberi informasi berguna bagi hacker.

4. JRuby

Implementasi Java dari bahasa pemrograman Ruby ditemukan untuk memungkinkan eksekusi kode secara remote dengan cara yang tidak mungkina dilakukan di Ruby sebagai bahasa dasar.

Dengan memanggil kode Ruby yang dapat dieksekusi menggunakan fungsu tertentu di JRuby, IOActive bisa mendapatkan fungsi untuk menjalankan command sistem operasi.

5. PHP

PHP memiliki fungsi untuk memanggil command sistem operasi, menggunakan fungsi shell_exec(). Tergantung bagaimana aplikasi PHP dikembangkan, hal ini bisa menyebabkan eksekusi perintah secara remote.

Banyak web admin yang sudah lama mengetahui potensi resiko yang ditimbulkan oleh fungsi shell_exec(), dan mereka juga tahu cara untuk menonaktifkannya.

 

Celah yang dapat dieksploitas di setiap bahasa pemrograman dapat diidentifikasi dengan menggunakan alat yang disebut differential fuzzer. Tool ini dirancang untuk secara otomatis menemukan kelemaha. Fuzzer bekerja dengan menjalankan serangkaian skenario yang besar dalam setiap bahasa, memanggil masing-masing fungsi asli bahasa dengan berbagai macam argumen yang berbeda dan mengamati hasilnya.

 

Jakartawebhosting.com menyediakan layanan Web Hosting, dengan kecepatan dan stabilitas pusat data dan server yang baik, up time server 99,9%, team support yang siap membantu 24 jam dan biaya langganan yang menarik.

You may also like...