Prinsip Keaman Web

00.29 Unknown 0 Comments


  
Keamanan merupakan suatu hal yang tidak boleh dilupakan dalam membangun apapun termasuk web dan aplikasinya. Tanpa memperhatikan keamanan, sebuah web akan dengan mudah disusupi oleh orang yang tidak bertanggungjawab dan bisa saja mengambil data-data penting yang seharusnya tidak boleh jatuh ke tangang orang-orang yang tidak berhak.
Berikut ini ada beberapa penjelasan mengenai keamanan web.

1.   Prinsip-Prinsip Keamanan
o    Prinsip pertama: tidak ada sistem yang 100% aman. Setiap saat kita harus bersandar pada hardware, software, dan manusia lain; padahal kita tahu bahwa semuanya memiliki bug. Hardware dapat gagal berfungsi, software bisa memiliki bolong atau pintu belakang, manusia apa lagi. Sebaik-baiknya usaha kita mencapai keamanan tertinggi, akan ada celah atau peluang untuk ditembus. Dan kadang-kadang celah itu diri kita sendiri. Jadi keamanan absolut tidak ada; yang ada melainkan adalah sistem yang cukup aman—dalam konteks atau kebutuhan tertentu—dan sistem yang kurang/tidak aman. Tujuan kita adalah mengetahui bagaimana membuat sistem yang cukup aman dan menghindari lubang-lubang yang membuat sistem kita tidak aman.

o    Prinsip kedua: jangan percayai siapa/apa pun. Pada umumnya aplikasi Web—setidaknya yang berjalan untuk situs-situs publik—harus berurusan dengan banyak user asing. Mengasumsikan bahwa semua user ini akan bersikap baik-baik merupakan sebuah kenaifan besar. Situs-situs di Internet, besar kecil, diisengi orang setiap hari. Hanya mengandalkan pengecekan masukan oleh Javascript juga kesalahan fatal. Javascript dapat dibypass kapan saja.

o    Prinsip ketiga: kenali sistem Anda lebih dari orang lain. Bagaimana Anda bisa menjaga rumah seandainya Anda tidak tahu ada berapa pintu dan jendela di rumah tersebut? Dalam pemrograman Web umumnya terdapat beberapa komponen terpisah yang bekerja sama: webserver, aplikasi/bahasa pemrograman, dan server database. Setiap komponen ini berbeda sifat dan https://draft.blogger.com/blogger.g?blogID=1197037240439611525#editor/target=post;postID=4724102840529519430perlu dikenali satu per satu. Anda harus mengerti konfigurasi masing-masing software.

o    Prinsip keempat: hanya mengandalkan penyamaran bukanlah keamanan yang baik. Bahasa Inggrisnya, security by obscurity is not good security. Jangan menaruh kunci rumah di pot bunga atau celah atas pintu seperti yang Anda lakukan di dunia nyata. Akan ada banyak orang yang melihat rumah Anda. Bagaimana Anda bisa yakin bahwa mereka tidak akan melirik ke pot bunga atau sekitar pintu? Menyembunyikan halaman administrasi atau informasi sensitif di alamat URL “aneh” tanpa password bukanlah tindakan keamanan yang baik, karena “jejak” URL tersebut tercetak di history browser, di log server-server proxy, dan mungkin juga log referrer situs lain yang tidak pernah Anda bayangkan sebelumnya. Berpikir “orang tidak akan kepikir sampai ke sini” adalah pikiran yang salah, karena Anda toh tidak tahu apa yang ada di pikiran orang lain.

2. Poin-poin penting dalam keamanan web    

o    Remote File Inklusi (RFI)

Remote File Inklusi (RFI) adalah jenis kerentanan paling sering ditemukan di situs Web, memungkinkan penyerang untuk menyertakan file jarak jauh yang biasanya melalui sebuah script di server web. Kerentanan terjadi karena penggunaan input yang diberikan pengguna tanpa validasi yang tepat. Hal ini dapat mengakibatkan sesuatu yang minimal keluaran isi file, tetapi tergantung pada beratnya, untuk daftar beberapa itu bisa mengarah pada:
* Kode eksekusi pada server web
* Kode eksekusi di sisi-klien seperti Javascript yang dapat menyebabkan serangan lain seperti situs cross scripting (XSS).
* Denial of Service (DoS)
* Pencurian Data / Manipulasi

Dalam PHP penyebab utama adalah karena penggunaan unvalidated variabel eksternal seperti $ _GET, $ _POST, $ _COOKIE dengan fungsi filesystem, yang paling menonjol adalah meliputi dan membutuhkan laporan. Sebagian besar kerentanan dapat dikaitkan dengan programmer pemula tidak akrab dengan semua kemampuan bahasa pemrograman PHP. Bahasa PHP memiliki direktif allow_url_fopen dan jika diaktifkan memungkinkan fungsi filesystem untuk menggunakan URL yang memungkinkan mereka untuk mengambil data dari lokasi terpencil. Seorang penyerang akan mengubah variabel yang dilewatkan ke salah satu fungsi-fungsi ini menyebabkan itu untuk memasukkan kode berbahaya dari sumber daya remote. Untuk mengatasi ini, semua input pengguna harus divalidasi sebelum digunakan.
o    Local File Inclusion (LFI)
Metode yang memanfaatkan kelemahan script PHP include(), include_once(), require(), require_once() yang variabel nya tidak dideklarasikan dengan sempurna.
Dengan LFI seorang attacker dapat menginclude kan file yang berada di dalam server yang bersangkutan.
o    SQL injection
SQL Injection adalah kode injeksi teknik yang memanfaatkan kelemahan keamanan yang terjadi pada lapisan aplikasi database. kerentanan ini hadir ketika masukan pengguna tidak benar baik disaring untuk menghindari karakter string literal tertanam dalam pernyataan SQL atau masukan pengguna tidak kuat diketik dan dengan demikian tak terduga dieksekusi. Ini adalah sebuah instance dari kelas yang lebih umum dari kerentanan yang dapat terjadi kapan pun salah satu bahasa pemrograman atau script yang tertanam di dalam yang lain. serangan injeksi SQL juga dikenal sebagai serangan penyisipan SQL.

o    SQL injection
SQL Injection adalah kode injeksi teknik yang memanfaatkan kelemahan keamanan yang terjadi pada lapisan aplikasi database. kerentanan ini hadir ketika masukan pengguna tidak benar baik disaring untuk menghindari karakter string literal tertanam dalam pernyataan SQL atau masukan pengguna tidak kuat diketik dan dengan demikian tak terduga dieksekusi. Ini adalah sebuah instance dari kelas yang lebih umum dari kerentanan yang dapat terjadi kapan pun salah satu bahasa pemrograman atau script yang tertanam di dalam yang lain. serangan injeksi SQL juga dikenal sebagai serangan penyisipan SQL.

o     Cross Site Scripting (XSS)
   Cross-site scripting (XSS) adalah jenis kerentanan keamanan komputer biasanya ditemukan di aplikasi web yang memungkinkan penyerang berbahaya untuk menyuntik script sisi klien ke dalam halaman web dilihat oleh pengguna lain. Sebuah kerentanan dieksploitasi scripting lintas situs dapat digunakan oleh penyerang untuk mem-bypass akses kontrol seperti kebijakan asal-usul yang sama. Cross-site scripting dilakukan di situs Web adalah sekitar 80% dari semua kerentanan keamanan didokumentasikan oleh Symantec pada 2007. Dampak beragam, mulai dari gangguan kecil dengan risiko keamanan yang signifikan, tergantung pada kepekaan data ditangani oleh situs rentan, dan sifat dari setiap mitigasi keamanan dilaksanakan oleh pemilik situs. 
Lubang Cross-site scripting adalah kelemahan aplikasi web yang memungkinkan penyerang untuk mem-bypass mekanisme klien-sisi keamanan biasanya dikenakan pada konten web oleh browser modern. Dengan mencari cara suntik script jahat ke dalam halaman web, penyerang bisa mendapatkan hak akses diangkat ke konten halaman sensitif, cookie sesi, dan berbagai informasi lainnya yang dikelola oleh browser atas nama pengguna. serangan Cross-site scripting Oleh karena itu kasus khusus injeksi kode. 
Ekspresi "cross-site scripting" pada awalnya merujuk pada tindakan loading aplikasi, web diserang pihak ketiga dari sebuah situs serangan yang tidak berhubungan, dengan cara yang mengeksekusi sebuah fragmen JavaScript disusun oleh penyerang dalam konteks keamanan dari domain yang ditargetkan (a dipantulkan atau non-persistent kerentanan XSS). Definisi ini secara bertahap diperluas untuk mencakup modus lain injeksi kode, termasuk vektor persisten dan non-JavaScript (termasuk Jawa, ActiveX, VBScript, Flash, HTML atau bahkan murni), menyebabkan kebingungan untuk pendatang baru dalam bidang keamanan informasi.

You Might Also Like

0 komentar: