10 Kerentanan Java Teratas Dan Cara Memperbaikinya


Java secara konsisten mendapat pujian buruk dalam hal keamanan—tetapi mengingat setengah dari aplikasi perusahaan dalam 15 tahun terakhir ditulis dengan bahasa tersebut, keluasannya (dan vektor serangan yang umum dikenal) mungkin lebih disalahkan daripada kelemahan keamanan yang melekat pada Java saja. Meskipun demikian, pendekatan baru sedang dikembangkan (misalnya, Rask, Waratek) untuk meningkatkan keamanan aplikasi web Java di tingkat Java Virtual Machine (JVM), tetapi untuk sebagian besar organisasi—melembagakan pertahanan keamanan tradisional untuk aplikasi Java dapat membantu melindungi dari sebagian besar eksploitasi terkait Java.

Karena Java ada di mana-mana, manajemen kerentanan yang komprehensif dari alat dan teknologi terkait Java sangat penting untuk menjaga keamanan yang kuat—baik Anda menjalankan pipeline CI/CD lengkap atau beberapa aplikasi web perusahaan internal. Berikut ini adalah 10 kerentanan teknologi Java teratas, untuk menyertakan perkakas dan aplikasi populer untuk mendukung pengembangan aplikasi berbasis Java.

10 Kerentanan Java Teratas

1. KEAHLIAN

Kerangka kerja pengujian unit ini adalah item standar di sebagian besar toolkit pengembang Java, memungkinkan pengujian basis kode yang cepat dan otomatis. Namun, file JUnit yang disertakan dengan aplikasi lain dapat menyimpan kerentanan. Misalnya, versi Google Web Toolkit (GWT) sebelum 2.5.1 RC berisi beberapa kerentanan cross-site scripting (XSS).

2. Jenkins

Sebagai server integrasi berkelanjutan (CI) yang paling umum digunakan di pasaran, Jenkins memiliki banyak pengikut di antara pengembang Java. Sayangnya, popularitas sebagai alat integrasi berkelanjutan biasanya berarti lebih banyak kerentanan dan eksploitasi—dan dalam kasus Jenkins, ada beberapa XSS, pemalsuan permintaan lintas situs (CSRF), dan kerentanan penolakan layanan (Dos).

3. Hibernasi

Kerangka kerja ORM populer Hibernate biasanya digunakan di antara pengembang Java untuk memetakan objek database relasional seperti tabel ke kelas Java. Versi 4.1.0 sebelum 4.2.1, 4.3.x sebelum 4.3.2, dan 5.x sebelum 5.1.2 dari alat open source berisi kerentanan yang dapat memungkinkan penyerang untuk melewati Java Security Manager (JSM).

4. Maven

Apache Maven adalah manajer build yang digunakan secara luas untuk proyek Java, memungkinkan manajemen pusat build, pelaporan, dan dokumentasi proyek. Kerentanan di Apache Maven 3.0.4 memungkinkan peretas jarak jauh untuk memalsukan server dalam serangan man-in-the-middle.

5. Tomcat

Server aplikasi web Java yang populer ini telah menjadi favorit abadi di kalangan pengembang untuk membangun servlet dan aplikasi dengan Halaman JavaServer. Lebih dari satu dekade, Tomcat telah mengumpulkan berbagai celah keamanan yang relatif mengesankan dari XSS hingga kerentanan CSRF—banyak di antaranya telah dieksploitasi di alam liar.

6. Jawa 7

Meskipun Java 8 masuknya tahun lalu, Java 7 masih digunakan secara dominan — meskipun diharapkan pada tahun 2016 versi 8 akan memimpin. Tak perlu dikatakan bahwa versi Java di bawah 7 harus segera diperbarui—bahkan versi 7 membutuhkan perbaikan yang signifikan untuk armada kerentanannya.

7. Kerangka Musim Semi

Spring adalah kerangka kerja aplikasi dengan kerangka kerja model-view-controller sendiri untuk Java, memungkinkan pemisahan input, bisnis, dan logika UI. Sebuah proyek open source, Spring bukannya tanpa bagian yang adil dari kerentanan yang terdokumentasi.

8. Wajah JavaServer

JavaServer Faces (JSF) adalah kerangka kerja presentasi untuk Java yang memfasilitasi pengembangan elemen antarmuka pengguna yang dapat digunakan kembali. Kerentanan di Apache MyFaces Core 2.0.x sebelum 2.0.12 dan 2.1.x sebelum 2.1.6 dapat memberi penyerang jarak jauh kemampuan untuk membaca file arbitrer.

9. IDE Gerhana

Eclipse adalah alat desktop populer untuk membangun aplikasi web di Java, dan telah berfungsi sebagai lingkungan pengembangan terintegrasi (IDE) yang disukai oleh pengembang Java selama bertahun-tahun. Sayangnya, versi tertentu dari file bantuannya—dari semua hal—rentan terhadap eksploitasi terkait XSS.

10. Vaadin

Vaadin adalah kerangka kerja Java yang populer untuk membangun aplikasi web Java kontemporer—pikirkan aplikasi web halaman tunggal modern yang didukung oleh Java. Kerentanan XSS dalam kerangka kerja dapat memungkinkan penyerang jarak jauh untuk menyuntikkan skrip arbitrer ke dalam halaman.

Perbaikan

Untuk memperbaiki kerentanan di atas, Anda perlu mengidentifikasi teknologi mana yang digunakan di lingkungan Anda, dan kunjungi situs web vendor/proyek masing-masing untuk informasi pembaruan/tambalan. UpGuard dapat menemukan semua item ini secara otomatis dengan beberapa klik mouse. Selain itu, kebijakan kerentanan Java kami yang dapat diedit dapat berkembang untuk mengakomodasi pemeriksaan khusus untuk alat Java tambahan. Cobalah coba hari ini—gratis.

Infografis Kerentanan Java