ENKRIPSI – PUBLIC KEY
Sejauh ini, kita telah melihat algoritma enkripsi dari sudut pandang pembuatan dan dengan mudah menciptakan agar pengirim dengan mudah dapat mengenkripsi sebuah pesan dan men-dekripsi yang dimana sangat berguna bagi penerima untuk dapat membacanya tetapi tidak untuk penyusup. kita juga telah mengkaji peran kunci dalam enkripsi dan telah mempelajari bagaimana penggunaan kunci dapat menghalangi penyusup, dan telah diasumsikan bahwa kunci harus tetap rahasia untuk menjadi efektif.
EKRIPSI – PUBLIC KEY
Enkripsi simetris adalah enkripsi yang hanya menggunakan satu kunci untuk enkripsi dan dekripsi. Distribusi kunci baik dalam enkripsi simetris membutuhkan :
Dua komuni sudah berbagi kunci, yang entah bagaimana telah didistribusikan kepada penerima; distribusi penggunaan kunci.
atau
Mempunyai
Pusat
Atau dengan pengertian adalah Enkripsi simetris adalah teknik kuno yang paling terkenal dimana kunci rahasia, yang dapat berupa nomor, kata, atau hanya string acak huruf, diterapkan pada teks pesan untuk mengubah konten dengan cara tertentu. Ini mungkin yang sederhana seperti pergeseran setiap huruf oleh sejumlah tempat dalam alfabet. Selama pengirim dan penerima tahu kunci rahasia, mereka dapat mengenkripsi dan mendekripsi semua pesan yang menggunakan kunci tersebut.
ENKRIPSI – PUBLIC KEY
Sedangkan Algoritma asimetris yaitu algoritma yang menggunakan dua kunci untuk enkripsi dan satu kunci yang berbeda untuk dekripsi, contoh pada gambar dibawah ini :
Figure Public Key Infrastructure
ENKRIPSI – PUBLIC KEY
Yang membedakan teknik dalam kriptografi kunci publik adalah penggunaan algoritma kunci asimetrik , dimana kunci yang digunakan untuk mengenkripsi pesan tidak sama dengan kunci yang digunakan untuk mendekripsi itu . Setiap user memiliki sepasang kunci kriptografi - sebuah kunci enkripsi publik dan sebuah kunci dekripsi pribadi. Demikian pula , sepasang kunci yang digunakan untuk tanda tangan digital terdiri dari kunci penandatanganan pribadi dan kunci verifikasi publik. Kunci publik didistribusikan secara luas , sedangkan kunci pribadi hanya diketahui oleh pemiliknya .
ENKRIPSI – PUBLIC KEY
Sebaliknya , algoritma kunci symmetric adalah dimana sebuah variasi yang telah digunakan selama ribuan tahun menggunakan kunci rahasia tunggal, yang harus dibagi dan disimpan pribadi oleh pengirim dan penerima , baik untuk enkripsi dan dekripsi . Untuk menggunakan skema enkripsi simetris , pengirim dan penerima harus berbagi kunci secara aman.
ENKRIPSI – PUBLIC KEY
Motivasinya ?
Mengapa kita harus membuat kunci publik (public key)? Karena dengan simetris konvensional sistem kunci, setiap pasangan pengguna membutuhkan kunci terpisah. Tetapi dengan sistem kunci publik, siapa saja yang menggunakan kunci publik tunggal dapat mengirim pesan rahasia kepada pengguna, dan pesan tetap terlindungi dari suatu interceptor. Jadi, mari kita menyelidiki mengapa demikian.
ENKRIPSI – PUBLIC KEY SCENARIO 1 Alice Create Messages for bob
2
3
Alice encrypts messages with bob's public key
Alice encrypts messages with bob's public key
To : Bob
Alice
4
Internet
5
Bob Decrypt Alice messages with his private key
Bob retrieves messages
6 Bob Read messages
To : Bob
Bob
ENKRIPSI – PUBLIC KEY SCENARIO
Dalam enkripsi asimetris, terdapat dua kunci berbeda yang digunakan untuk membuat data bisa terbaca bagi siapa saja. Sertifikat mengandung dua komponen enkripsi asimetris: kunci publik (public key) dan kunci pribadi (private key). 1
2
Alice create messages for bob’s
1
Seal message (MD5, SHA1)
Alice encrypts messages with Bob's public key
3
Alice mails messages (SMTP, X400, etc.)
Step Transparent procedure
2
Alice signs messags with her private key (RSA, DSA)
3
Compress messages (ZIP)
4
4
Encrypt message with random session key (IDEA, CAST) and bob's public key (RSA)
Bob retrieves message (SMTP, X400, etc.)
4
5
6
Bob decrypts Alice's messages with his private key
Step Transparent procedure
Decompress messages (UNZIP)
5
6
Examine seal Bob verfies for tampering alice's signature (MD5) with her public key (RSA)
Bob read messages
ENKRIPSI – PUBLIC KEY
Pada slide sebelumnya untuk ilustrasi dari penggunaan pasangan kunci publik dalam kriptografi asimetris. Data yang dienkripsi dengan kunci publik dapat didekripsi dengan kunci pribadi, dan sebaliknya. Namun, data yang dienkripsi dengan kunci publik tidak dapat didekripsi dengan kunci publik. Para pengguna (user) yang akan mengenkripsi komunikasi mereka, akan bertukar kunci publik mereka (yang terkandung dalam sertifikat), tetapi tidak akan mengungkapkan kunci pribadi mereka. Pihak pengirim akan menggunakan kunci publik dari pihak penerima untuk mengenkripsi data atau pesan dan meneruskan ciphertext (data dienkripsi) kepada pihak lain. Kemudian Pihak penerima akan mendekripsi ciphertext dengan kunci pribadi mereka.
ENKRIPSI – PUBLIC KEY
Jadi data yang dienkripsi dengan kunci publik tidak dapat didekripsi dengan kunci publik. Hal ini untuk mencegah seseorang yang tidak bertanggung jawab untuk melakukan tindakan ilegal dan mendapatkan ciphertext setelah memperoleh kedua kunci publik di pertukaran kunci (certificate exchange).
ENKRIPSI – REGISTRATION AUTHORITY
Prosedur pendaftaran sertifikasi adalah proses untuk mendapatkan sertifikat yang otoritas. Hal ini terjadi antara host yang menginginkan suatu sertifikat dan otoritas. Dalam hal ini Public key infrastructure yang bertanggung jawab untuk memberikan sertifikat tersebut. Dan host yang berpartisipasi dalam Infrastruktur Kunci Publik harus mendapatkan sebuah sertifikat, Yang apabila suatu saat mereka akan berkomunikasi dengan siapa saja, mereka akan mempunyai saluran komunikasi yang aman.
WEB SECURITY SYSTEM INTERNET HTTP REQUEST
DMZ
Clear text or SSL
PROTECTED NETWORK
INTERNAL NETWORK
AJP, IIOP, etc Web app Web app
TRANSPORT
Web app Web app
WEB Client: IE Mozilla, Etc HTTP reply (HTML, JavaScript, VbScript, etc.)
Apache IIS Tomcat etc
J2EE Server ColdFusion Oracle 9iAS Navision etc.
Perl Php CGI Java ASP etc.
ADO ODBC JDBC etc.
Oracle SQL SQLi etc.
WEB APPLICATION ARCHITECTURE
USER
CLIENT RUNNING WEB BROWSER
WEB SERVER RUNNING WEB APPLICATION
DATABASE MANAGEMENT SYSTEM (DBMS)
DATABASE
Terlihat dari gambar diatas, client melakukan request ke aplikasi, sebenarnya ini disebut dengan multi-layer dimana aplikasi yang tidak termasuk ke semua komponen eksternal seperti browser dan database yang seharusnya dipecah menjadi beberapa lapisan, karena alasan berikut :
WEB APPLICATION ARCHITECTURE
Web browser dapat beroperasi secara independen dari aplikasi, oleh karena itu bagian ini bukan dari aplikasi. Meskipun ada kemungkinan untuk memanggil suatu kode yang berjalan pada aplikasi yang akan dieksekusi di browser klien, seperti JavaScript, Flash, atau kontrol ActiveX, yang penggunaannya sepenuhnya opsional dan dapat dinonaktifkan. Database server juga dapat beroperasi secara independen dari aplikasi, oleh karena itu bagian ini bukan dari aplikasi. Meskipun ada kemungkinan untuk melakukan query pada aplikasi yang akan dieksekusi dalam database, contoh seperti pemicu database dan prosedur yang tersimpan, penggunaan tersebut sepenuhnya opsional dan dapat dinonaktifkan.
SIGNIFICANCE OF “TIERS”
Arsitektur N-tier memiliki komponen yang sama : Presentation Bussiness logic Data
Arsitektur N-tier mencoba untuk memisahkan komponen-komponen ke tingkatan yang berbeda / lapisan : Tier: Pemisahan Fisik Layer: Pemisahan Logis
1 TIER
USER
PRESENTATION LOGIC
BUSSINES LOGIC
DATA ACCESS LOGIC
DATABA SE
Semua 3 lapisan berada pada mesin yang sama seperti contoh dibawah ini : Semua kode dan pengolahan disimpan pada mesin tunggal Presentation Logic : lapisan data tersebut terhubung dengan erat Scalability : Dengan Processor tunggal sulit untuk meningkatkan volume pengolahan Portability : Pindah ke mesin baru bisa berarti menulis ulang segala sesuatu Maintenance : Mengubah satu lapisan membutuhkan perubahan lapisan lainnya
2 TIER 1st layer PRESENTATION LOGIC
Data Layer BUSSINES LOGIC
DATA ACCESS LOGIC
CLIENT
Database berjalan pada Server Terpisah dari klien Mudah untuk beralih ke database yang berbeda Penyajian dan logika lapisan masih terhubung erat Beban berat pada server Potensi kemacetan pada jaringan Presentasi masih terikat logika bisnis
SERVER
DATABA SE
3 TIER PRESENTATION LAYER CONTAINS
PRESENTATION LOGIC
CLIENT
BUSSINES LAYER
CONTAINS BUSSINES LOGIC
SERVER
DATA LAYER CONTAINS
DATA ACCESS LOGIC
DATABASE
DB SERVER
Setiap lapisan berpotensi dapat berjalan pada mesin yang berbeda Presentasi, logika, lapisan data yang terputus
THE 3-TIER ARCHITECTURE
Presentation Layer
logic Layer
Konten statis atau dinamis diberikan oleh browser (front-end) Sebuah pengolahan konten dinamis dan generasi tingkat server aplikasi misalnya pada Platform Java EE, ASP.NET, PHP, ColdFusion (middleware) Data Layer
Sebuah database, yang terdiri dari kedua set data dan sistem manajemen database atau perangkat lunak RDBMS yang mengelola dan menyediakan akses ke data (back-end)
HOW WEB APPLICATION WORK?
HTTP VS HTTPS
Hacker
INTERNET
Normal HTTP (80)
«$fÃÂW¬ ¦»EÊ•
X Hacker *bþòäµNœ¢bóQ† T…(Ñ!““ttØÄQúa ìJ«$fÃÂW¬ ¦»EÊ •
X
INTERNET
X Secure HTTP (443)
Encrypt Connection
*bþòäµNœ¢bóQ† T…(Ñ!““ttØÄQúa ìJ«$fÃÂW¬ ¦»EÊ •
HTTP VS HTTPS Proses Transaksi pada HTTP
Proses Transaksi pada HTTPS
TLS/SSL : ARCHITECTURE
Terdapat 2 bagian dalam TLS Architecture :
Sesi hubungan menggunakan Handshake Protocol
Untuk transfer informasi / aplikasi menggunakan Record Protokol
TLS/SSL HANDSHAKE PROTOCOL
TLS/SSL : ARCHITECTURE
HOW SSL WORK
HOW SSL WORK
Klien membuka suatu halaman yang mendukung protokol SSL, biasanya diawali dengan https:// pada browser
Kemudian webserver mengirimkan kunci publik beserta dengan sertifikat server.
Browser melakukan pemeriksaan : apakah sertifikat tersebut dikeluarkan oleh CA (Certificate Authority) yang terpercaya? Apakah sertifikat tersebut masih valid dan memang berhubungan dengan alamat situs yang sedang dikunjungi? Setelah diyakini kebenaran dari webserver tersebut, kemudian browser menggunakan kunci public dari webserver untuk melakukan enkripsi terhadap suatu kunci simetri yang dibangkitkan secara random dari pihak klien. Kunci yang dienkripsi ini kemudian dikirimkan ke webserver untuk digunakan sebagai kunci mengenkripsi alamat URL (Uniform Resource Locator) dan data http lain yang diperlukan.
HOW SSL WORK
Webserver melakukan dekripsi terhadap enkripsi dari klien tadi, menggunakan kunci privat Server, Server kemudian menggunakan kunci simetri dari klien tersebut kunci private server. Server kemudian menggunakan kunci simetri dari klien tersebut untuk mendekripsi URL dan data http yang akan diperlukan klien. Server mengirimkan kembali halaman dokumen HTML yang diminta klien dan data http yang terenkripsi dengan kunci simetri tadi. Browser melakukan dekripsi data http dan dokumen HTML menggunakan kunci simteri tadi dan menampilkan informasi yang diminta.
X.509 CERTIFICATE = “LICENSE”
Sebagai identifikasi suatu instituasi
Dibuat untuk dan oleh suatu institusi
Tidak bisa diciptakan sendiri Bukan suatu proses instan
HISTORY AND USAGE
X.509 awalnya diterbitkan pada tanggal 3 Juli 1988 dan mulai bekerja sama dengan standar X.500. X.509 mengasumsikan suatu sistem hirarkis yang ketat dari otoritas sertifikat (CA) untuk menerbitkan sertifikat. Hal ini sangat kontras dari kepercayaan suatu model web, seperti PGP (Preety Good Privacy), dan setiap orang (tidak hanya khusus CA) dapat mendaftar dan dengan demikian dapat membuktikan suatu keabsahan sertifikat. Versi 3 dari X.509 termasuk fleksibilitas untuk mendukung suatu topologi lainnya dalam jaringan.
HISTORY AND USAGE X.509
Contoh berikut ini mengenai penerapan X.509 certified yang menggunakan komponen hardware dan software pada Juniper Device:
http://www.juniper.net/techpubs/en_US/junos12.2/topics/example/pki-example-pki-in-junos-configuring.html
X.509 CERTIFICATE DATA STRUCTURE
WEB SERVER / DAEMON
WB SERVER
Adalah suatu daemon yang berfungsi menerima request melalui protocol http baik dari local maupun request melalui protocol http maupun dari internet. Informasi yang direquest oleh web browser bisa informasi yang direquest oleh web browser bisa berupa file yang ada dalam storage atau meminta server untuk melakukan fungsi tertentu.
WEB SERVER / DAEMON
MACAM – MACAM BENTUK WEB SERVER
IIS (Web Server untuk html & asp).
IIS atau Internet Information Services atau Internet Information Server adalah sebuah HTTP web server yang digunakan dalam sistem operasi server Windows, mulai dari Windows NT 4.0 Server, Windows 2000 Server atau Windows Server 2003. Layanan ini merupakan layanan terintegrasi dalam Windows 2000 Server, Windows Server 2003 atau sebagai add-on dalam Windows NT 4.0. Layanan ini berfungsi sebagai pendukung protokol TCP/IP yang berjalan dalam lapisan aplikasi (application layer).
WEB SERVER / DAEMON
IIS juga menjadi fondasi dari platform Internet dan Intranet Microsoft, yang mencakup Microsoft Site Server, Microsoft Commercial Internet System dan produk-produk Microsoft BackOffice lainnya. IIS telah berevolusi semenjak diperkenalkan pertama kali pada Windows NT 3.51 (meski kurang banyak digunakan) hingga IIS versi 6.0 yang terdapat dalam Windows Server 2003. Versi 5.0 diintegrasikan dalam Windows 2000, sedangkan Windows XP Professional memiliki IIS versi 5.1. Windows NT 4.0 memiliki versi 4.01 yang termasuk ke dalam add-on Windows NT Option Pack.
WEB SERVER / DAEMON
Apache Web Server
(web server untuk html, php, asp, jsp, etc) Server HTTP Apache atau Server Web/WWW. Apache adalah server web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya) yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini menggunakan HTTP. Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigurasi, autentikasi berbasis basis data dan lain-lain. Apache juga didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang memungkinkan penanganan server menjadi mudah.
WEB APPLICATION SEC THREAT
Apache merupakan open source yang dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan Apache Software Foundation. Berdasarkan Hasil laporan yang dipublish symantech corp menujukan peningkatan penyerangan pada website yang terjadi di tahun 2010 sampai dan 2011.
EKSPLOITASI SERVER WWW/HTTP-1
Attackers Are Using Web Attack Toolkits In Two Main Ways: Sumber referensi : http://www.symantec.com
EKSPLOITASI SERVER WWW/HTTP-1
Targeted Attack. Penyerang memilih jenis pengguna /user yang ingin target. Toolkit yang di ciptakan seperti email, IM, yang di posting pada blog dengan tujuan untuk menarik target dengan konten yang sudah terinfeksi. Biasanya, ini akan menjadi link ke situs web berbahaya yang akan menginstal malware pada sistem korban. Broadcast Attack. Penyerang dimulai dengan menargetkan berbagai website menggunakan injeksi SQL, pada perangkat lunak website, atau eksploitasi server. Tujuannya adalah untuk menyisipkan link dari situs web yang terinfeksi dan berbahaya ke situs yang akan menginfeksi pengunjung. Setelah sukses, masing-masing Pengunjung selanjutnya akan diserang dengan berbagai metode.
EKSPLOITASI SERVER WWW/HTTP-1
Menggunakan Tools dan Skill. Penyerang biasanya menciptakan tools yang lebih efesien untuk bisa melakukan serangan exploitasi server dengan sukses. Berikut dibawah ini adalah referensi tools dari sumber http://backtrack-linux.org
EKSPLOITASI SERVER WWW/HTTP-2
Biasanya ditandakan dengan tampilan misalnya web diubah tampilan pada halaman index (deface) Contoh http://sampling.net/./index.php <--- atau dengan cara yang brutal langsung melakukan delete file index.php dan menggantikan dengan file index.php milik si penyerang / attacker Kemudian setiap situs yang telah di deface dimasukan dalam sebuah laporan serta koleksi website hasil deface seperti pada http://www.zone-h.org/
EKSPLOITASI SERVER WWW/HTTP-2
http://www.zone-h.org
EKSPLOITASI SERVER WWW/HTTP-2
Sumber kompas mengatakan :
http://tekno.kompas.com/read/xml/2011/12/02/16352968/Amankan
Website.Anda.dari.Defacement. bahwa “Berdasarkan informasi yang dikumpulkan oleh satu situs keamanan (zone-h.org), perhari ada belasan sampai puluhan situs pemerintah Indonesia (dengan domain go.id) yang berhasil diretas.
Yang menyedihkan, biasanya pemilik situs tersebut tidak tahu bahwa isi situsnya telah berubah (bahkan bisa berbulan-bulan). Menurut catatan zone-h.org, di tahun 2010 saja ada hampir 1.5 juta situs diubah tampilannya. Ini merupakan rekor yang menyedihkan, karena trend peretasan memang selalu meningkat.
EKSPLOITASI SERVER WWW/HTTP-2
Khusus untuk situs-situs pemerintahan Indonesia, kita bisa mencari semua catatannya di zone-h.org dengan memasukkan kata kunci “go.id” pada kolom pencarian. Pada saat tulisan ini dibuat saja, 14 November 2011, tidak kurang dari 16 situs pemerintah Indonesia dari berbagai instansi diubah tampilan mukanya (deface).
EKSPLOITASI SERVER WWW/HTTP-2
Bocornya suatu informasi
(Misalkan laporan keuangan , dokumen rahasia, semestinya hanya dapat diakses oleh orang/bagian tertentu) tapi dibocorkan bahkan dipublish terang terangan pada sebuah situs situs website, contoh pada situs : http://wikileaks.org
EKSPLOITASI SERVER WWW/HTTP-2
Sumber referensi http://id.wikipedia.org/wiki/WikiLeaks
WikiLeaks tak ada hubungannya dengan Wikipedia ataupun Yayasan Wikimedia.
Wikileaks Wikileaks logo.svg
URL Jenis situs Pendaftaran Pemilik Pencipta Diluncurkan
: www.wikileaks.org : Arsip dokumen : Private : The Sunshine Press : Julian Assange : Desember 2006
EKSPLOITASI SERVER WWW/HTTP-2
WikiLeaks atau Wikileaks adalah media massa internasional yang mengungkapkan dokumen-dokumen rahasia negara dan perusahaan kepada publik melalui situs webnya. Organisasi ini bermarkas di Stockholm, Swedia.
Situs WikiLeaks diluncurkan secara resmi pada Desember 2006 oleh disiden politik Cina, jurnalis, matematikawan, dan ahli teknologi dari Amerika Serikat, Taiwan, Eropa, Australia, dan Afrika Selatan. Para pendiri dan orang-orang yang tergabung dalam organisasi ini tidak pernah disebutkan namun artikel koran dan majalah The New Yorker mendeskripsikan Julian Assange, seorang jurnalis dan aktivis internet Australia, sebagai direktur Wikileaks.
EKSPLOITASI SERVER WWW/HTTP-2
Digunakan untuk menipu Firewall menggunakan proxy atau ssh tunneling keluar jaringan
Port 80 digunakan untuk identifikasi server (karena biasanya dibuka di router/firewall)
EKSPLOITASI SERVER WWW/HTTP-3
Penyadapan informasi URLwatch : melihat siapa mengakses apa saja. Ini berhubungan dengan masalah privacy dalam penggunaan ini, attacker dapat melihat aktifitas siapa yang mengakses bahkan sampai mengetahui username dan password contoh screenshot :
This is for educational purpose only. For legal purposes, please don't try this on any equipment that you don't own. (by : marlon)
EKSPLOITASI SERVER WWW/HTTP-2
Dos Attack
Request dalam jumlah yang banyak (flooding)
Request yang memblokir (lambat mengirimkan perintah GET) Contoh implementasi serangan pada windows dengan menggunakan DosAttack Contoh Script Dos Attack yang memakai bahasa ruby :
EKSPLOITASI SERVER WWW/HTTP-3
Contoh Dos Attack yang dilakukan pada windows sehingga membuat web server yang berjalan pada platform windows menjadi down, karena menerima request dalam jumlah yang banyak
This is for educational purpose only. For legal purposes, please don't try this on any equipment that you don't own. (by : marlon)
EKSPLOITASI SERVER WWW/HTTP-3
Malicious Input Attack Bad input ke Privilege program misalnya : Code corruption attack – Buffer overflow, SQL Injection. Cross Site Scripting.
Contoh Attack yang dilakukan dengan menggunakan teknik SQL Injection : Site menerima input dalam bentuk ‘web form’ atau URL seperti : Kombinasi prefix/suffix. Hasil query dalam bentuk (SQL) query command atau script mengirim input dengan control characters, Attacker memodifikasi query/script Banyak cara untuk exploit Banyak website yang mempunyai titik lemah
EKSPLOITASI SERVER WWW/HTTP-3
Contoh 1
pada Directory Traversal, serangan dilakukan dengan menginput karakter pada url seperti berikut : “../../../../../../etc/pswd%%” .Dan apabila menambahkan commands: “; rm –r *” maka segala sesuatu didalam webserver tersebut akan dihapus secara otomatis melalui serangan pada Directory Traversal.
EKSPLOITASI SERVER WWW/HTTP-3
Contoh 2
Sql Injection : dengan cara menginput karakter pada form login seperti “’ OR 1=1” teknik Kuno. Ada juga pada teknik modern serangan ini dilakukan pada URL suatu website misalnya dengan menyuntikan parameter parameter sebagai berikut untuk mencari kesalahan pesan error untuk mengintip database didalam webserver dan selanjutnya bisa menemukan suatu username dan password dari Webmaster tersebut.
EKSPLOITASI SERVER WWW/HTTP-3
This is for educational purpose only. For legal purposes, please don't try this on any equipment that you don't own. (by : marlon)
EKSPLOITASI SERVER WWW/HTTP-3
X
Inbound
3 2
1
Outbound 4
7
5 6
1. 2. 3. 4. 5. 6. 7.
Normal view Trying to access Web Server Trying to attack Web Server (SQL Injection Techniques) Get Administrator Access Privileges and upload Backdoor file to a Server Modify Admin Control Panel with normal view (inbound traffic) Allowed File Types Upload Backdoor, open port, and established connection (Full Control)
X
PORT: 51327
EKSPLOITASI SERVER WWW/HTTP-3
Contoh 3
Cross Site Scripting Attack (XSS) Sumber referensi : https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet XSS merupakan kependekan yang digunakan untuk istilah cross site scripting. XSS merupakan salah satu jenis serangan injeksi code (code injection attack). XSS dilakukan oleh penyerang dengan cara memasukkan kode HTML atau client script code lainnya ke suatu situs. Serangan ini akan seolah-olah datang dari situs tersebut. Akibat serangan ini antara lain penyerang dapat mem-bypass keamanan di sisi klien, mendapatkan informasi sensitif, atau menyimpan aplikasi berbahaya.
EKSPLOITASI SERVER WWW/HTTP-3
Tipe XSS
Reflected atau nonpersistent Stored atau persistent
Reflected XSS merupakan tipe XSS yang paling umum dan yang paling mudah dilakukan oleh penyerang. Penyerang menggunakan social engineering agar tautan dengan kode berbahaya ini diklik oleh pengguna. Dengan cara ini penyerang bisa mendapatkan cookie pengguna yang bisa digunakan selanjutnya untuk membajak session pengguna. Mekanisme pertahanan menghadapi serangan ini adalah dengan melakukan validasi input sebelum menampilkan data apapun yang di-generate oleh pengguna. Jangan percayai apapun data yang dikirim oleh pengguna.
EKSPLOITASI SERVER WWW/HTTP-3
Stored XSS
Stored XSS lebih jarang ditemui dan dampak serangannya lebih besar. Sebuah serangan stored XSS dapat berakibat pada seluruh pengguna. Stored XSS terjadi saat pengguna diizinkan untuk memasukkan data yang akan ditampilkan kembali. Contohnya adalah pada message board, buku tamu, dll. Penyerang memasukkan kode HTML atau client script code lainnya pada posting mereka.
Serangan ini lebih menakutkan. Mekanisme pertahanannya sama dengan reflected XSS: jika pengguna diizinkan untuk memasukkan data, lakukan validasi sebelum disimpan pada aplikasi.
EKSPLOITASI SERVER WWW/HTTP-3
Contoh XSS Attack seperti dengan input karakter, string pada url atau form di website seperti :
HOW TO DEFENSE
Berdasarkan sumber yang dikeluarkan oleh EC-Council salah satu lembaga yang mengeluarkan sertifikasi C|EH (Certified Ethical Hacker) yang terkenal karena sertifikasinya yang profesional untuk bidang keamanan TI serta menawarkan berbagai sertifikasi dalam berbagai bidang yang berkaitan dengan keamanan TI, including disaster recovery, secure programming, e-Bisnis dan pengetahuan umum IT security. E-Council melakukan survey pada tahun 2010 yang dimana serangan yang paling sering digunakan adalah SQL Injection dan sampai dengan saat ini masih menduduki peringkat tertinggi.
HOW TO DEFENSE
HOW TO DEFENSE
SQL Injection Defense Input Validation
Validasi data merupakan bagian dari integral yang bekerja dengan bentuk. Tidak hanya data yang disampaikan tidak valid, dapat menyebabkan masalah keamanan, tetapi juga membuat suatu halaman website tidak secure. Hari ini, kita akan melihat bagaimana cara untuk menghapus karakter ilegal dan memvalidasi data dengan menggunakan fungsi "filter_var"
HOW TO DEFENSE
Contoh
menggunakan fungsi "filter_var“ secure programing pada php
HOW TO DEFENSE
Contoh
menggunakan fungsi "filter_var“ secure programing pada php
HOW TO DEFENSE
Filter dengan menolak masukan karakter char (`,”,`,-,<,@,%,#,^,* etc …) Ada 2 Jenis Filter
1. Sanitizing filters Membolehkan atau melarang karakter dalam sebuah string Tidak peduli tentang format data selalu mengembalikan string 2. Logical filters Kuat didalam analisis data Mengetahui format Mengembalikan tipe yang diharapkan pada keberhasilan
HOW TO DEFENSE
Contoh
menggunakan Filter untuk secure programing pada php
Screenshoot dari action script diatas
HOW TO DEFENSE
Contoh Halaman error.php untuk memvalidasi input
HOW TO DEFENSE
Contoh Action 1 pada saat memasukan input karakter yang tidak sah
Action 2 hasil pada saat script error.php melakukan filter dan mengecek hasil inputan
HOW TO DEFENSE
PHP configuration
Ketika menggunakan PHP sebagai bagian dari modul Apache, kita juga dapat mengubah pengaturan konfigurasi menggunakan arahan dalam file konfigurasi Apache (misalnya httpd.conf) dan htaccess file, yang bertujuan untuk "Options AllowOverride" atau "AllowOverride All", privileges.
HOW TO DEFENSE
Contoh konfigurasi SSL/TLS Pada centOS modul apache SSL (Secure Socket Layer) adalah protokol untuk cryptography yang mengamankan transaksi antara client dan server. Contoh dari konfigurasi dibawah adalah untuk mengamankan transaksi antara web browser dan web server.
# ========================================================================= # SSL/TLS settings # ========================================================================= NameVirtualHost *:443
DocumentRoot "/local/www/ssl_html" SSLEngine on SSLOptions +StrictRequire SSLRequireSSL
HOW TO DEFENSE SSLProtocol -all +TLSv1 +SSLv3 SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM SSLRandomSeed startup file:/dev/urandom 1024 SSLRandomSeed connect file:/dev/urandom 1024
SSLSessionCache shm:/usr/local/apache2/logs/ssl_cache_shm SSLSessionCacheTimeout 600 SSLCertificateFile /etc/apache2/ssl/server.crt SSLCertificateKeyFile /etc/apache2/ssl/server.key SSLVerifyClient none SSLProxyEngine off
AddType application/x-x509-ca-cert AddType application/x-pkcs7-crl
SetEnvIf User-Agent ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0
.crt .crl
HOW TO DEFENSE
Matikan atau sembunyikan pesan-pesan error yang keluar dari SQL Server yang berjalan misalnya :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in index.php on line PERLU DIPERHATIKAN !!! Pada saat mematikan fungsi error ini pada Web Server, anda sebagai Programmer Web tidak akan Mengetahui ketika ada error yang terjadi pada suatu baris Script apabila terjadi kesalahan Coding.
ALASAN : Justru dengan tidak mematikan fungsi error pada Web Server, sangat membantu buat web programmer dalam menganalisa kesalahan sintax pada coding atau script yang dibuatnya.
HOW TO DEFENSE
Preety Good Programming & improve your skill
HOW TO DEFENSE
XSS Defense
Serangan XSS bisa mencuri data pribadi pengguna, seperti kartu kredit atau nomor rekening bank. para cracker juga bisa mencuri password pengguna. Mereka bahkan dapat membuat worm atau yang disebut Web replikasi yang menyebar diri ke seluruh situs, serta membuat sumber daya dan memperlambat suatu sistem website. Jelas, XSS harus ditanggapi dengan serius, dan disini kita harus melakukan SDL dengan mewajibkan tim layanan online untuk mengikuti standar prosedur.
HOW TO DEFENSE
Input data validation dan filtering
HOW TO DEFENSE
Output filtering / encoding
HOW TO DEFENSE
Teknologi static web page
Cara terbaik dan efektif untuk menghindari terjadinya Cross site scripting adalah menghindari penggunaan teknologi dynamic web page. Halaman yang statis tentu saja memberikan kontrol yang lebih di sisi server dibandingkan dengan halaman web yang dinamis. Halaman web yang dihasilkan secara statis akan memberikan kelakukan yang lebih pasti dibandingkan halaman web yang dihasilkan secara dinamis. Konsekuensi yang ditanggung adalah penyedia layanan harus merelakan sifat interaktif yang mungkin diinginkan.
HOW TO DEFENSE
Menggunakan metode POST dalam pengiriman data di dynamic page. Metode POST adalah metode pengiriman data di mana variabel yang dikirimkan tidak disertakan pada link yang digunakan. Metode POST menyembunyikan variabel yang dikirimkan dari pengguna. Metode ini menjamin kode tidak dapat diinjeksikan melalui link yang telah didesain oleh penyerang. Link merupakan satu satunya cara yang dapat digunakan oleh penyerang untuk mengeksploitasi cross site scripting. Oleh karena itu, metode ini ampuh untuk mengatasi cross site scripting. Kekurangan metode ini, pengguna tidak dapat menyimpan link favorit untuk mempermudah navigasi.
HOW TO DEFENSE
Client-side XSS defenses
Penyeting XSS Filter pada Web Browser internet explorer, Mozilla Firefox .
Menggunakan Web Application Firewall (WAF) Seperti :
Websense readmore :
http://www.websense.com/content/home.aspx Barracuda web security readmore :
https://www.barracudanetworks.com/products/websecuityflex Bluecoat Readmore : http://www.bluecoat.com/