Friday, March 31, 2017

SECURITY PADA WEB SCIENCE

SECURITY PADA WEB SCIENCE
WS-Security atau juga dikenal sebagai Web Service Security Core Language (WSS-Core) merupakan spesifikasi keamanan Web Service yang mendefinisikan mekanisme pengamanan pada level pesan SOAP untuk menjamin message integrity & confidentiality.
Standard WS-Security saat ini dikembangkan secara resmi oleh OASIS berdasarkan spesifikasi yang diusulkan oleh Microsoft, IBM, dan VerySign pada 11 April 2002. Selanjutnya, OASIS melalui Web Service Security Technical Committee (WSS) melanjutkan pengembangan WS-Security dengan menetapkan beberapa spesifikasi teknis terpisah, seperti Core Specification, SAML Profile, XMrL Profile, X.509 Profile, dan Karberos Profile.
Spesifikasi WSS-Core versi terbaru menyediakan 4 mekanisme untuk memproteksi pesan dari ancaman terhadap upaya gangguan keamanan pesan SOAP, yaitu:
1.      Kemampuan untuk mengirim security token sebagai bagian dari pesan SOAP,
2.      Message confidentiality,
3.      Message integrity,dan
4.   Message Availability.
  •  CONFIDENTIALITY

Confidentiality memiliki makna bahwa data-data ataupun informasi-informasi yang berada di dalam sebuah website hanya dapat di baca atau di akses oleh orang-orang yang memang memiliki kewenangan untuk mengaksesnya. Dalam era konsep Web 2.0 yang sedang berkembang beberapa tahun belakangan ini, sangat memungkinkan sebuah website untuk dapat memiliki lebih dari satu administrator. Contohnya adalah WordPress engine.
  •   INTEGRITY
Integrity memiliki pengertian data-data yang berada didalam server atau website hanya dapat diubah ataupun di delete oleh orang yang memiliki kewenangan untuk melakukan hal itu. Sebagai contoh proses transfer dari server ke client atau sebaliknya (dapat berupa upload maupun download), ternyata mengubah file yang sedang di transfer tersebut, hal ini mengindikasikan bahwa sebuah aplikasi website yang sedang digunakan tidak aman (insecure). Sama halnya jika ada serangan sebuah virus yang dapat mengubah sebuah file, entah itu mengubah nama ataupun isinya.
  •   AVAILABILITY
Jika confidentiality bermakna hanya user yang memiliki kewenangan yang dapat melihat data tertentu yang tersimpan didalam sebuah server atau website, availability memiliki makna bahwa website harus dapat diakses jika user ingin meggunakannya. Memang terkesan membingungkan dan tidak berbeda dengan prinsip pertama, namun kedua prinsip ini sangat jauh berbeda dikarenakan dilihat dari dua sudut pandang yang memang berbeda. Availability hanya menekankan kepada dapat diaksesnya sebuah website. Mengenai siapa yang dapat mengaksesnya itu telah dicover oleh prinsip confidentiality. Jika sebuah website dapat diakses tanpa adanya error, itu berarti website tersebut telah memenuhi prinsip availability ini. Hal ini memiliki makna bahwa sebuah website haruslah dapat diakses apabila memang dibutuhkan, dengan kata lain versi yang lebih mudahnya adalah, website harus available 24 jam 7 minggu (24/7).
Namun demikian, mekanisme tersebut tidak memberikan solusi keamanan yang lengkap untuk Web Service. Spesifikasi ini merupakan building block yang digunakan untuk mengakomoda- sikan berbagai variasi model keamanan dan teknologi kemanan. Dengan kata lain, WS-Security tidak menspesifikasikan suatu mekanisme keamanan baru, tetapi menyediakan fleksibilitas untuk menggunaan teknologi keamanan yang sudah ada (X.509, Karberos, XML Encryption), sehingga dapat mengakomodasi berbagai pendekatan keamanan secara umum. Hal baru yang ditambahkan oleh WS-Security adalah suatu spesifikasi untuk menerapkan mekanisme keamanan yang sudah ada (existing) tersebut kedalam pesan SOAP.
Poin-poin penting dalam keamanan web
1. 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.

2. 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.

3. 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.

4. 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.

No comments:

Post a Comment