Pengantar Teknologi Web

Slides:



Advertisements
Presentasi serupa
KEAMANAN WEB SURYAYUSRA, M.KOM.
Advertisements

PENGENALAN INTERNET M. Masrur, SKom.
1 Keamanan Data dan Jaringan Komputer Pertemuan 11 Applications Hacking.
Kemanan Web. Keamanan Web ► How Web Works ?  Menggunakan protokol HTTP  Klien meminta dokumen melalui URL (Request)  Server membalas dengan memberikan.
KONSEP DASAR WEB DAN INTERNET
Basic Issue In System Administration. Bassic Issue In System Administration Creating and managing accounts Performing administrative task Access control.
Pengamanan Situs Web Kelompok II David kadi : Santi Sari : Milson : Putu agus angga: Hepy fanus : Ari Umar F. :
Created : Asisten Jarkom TM
Kemanan Web.  Definisi Statis ◦ Kerahasiaan ◦ Keutuhan ◦ Dapat dipertanggung jawabkan  Defenisi Dinamis ◦ Taksiran ◦ Proteksi ◦ Deteksi ◦ Reaksi.
Pertemuan Ke-1 (Konsep Dasar Web)
Keamanan Sistem Informasi
Pertemuan 5 Web Security.
KEAMANAN JARINGAN One_Z Keamana Komputer.
Computer & Network Security : Information security
EVALUASI KEAMANAN SISTEM INFORMASI
Web Security.
Malicious Software By Kustanto.
Kemanan Web. Keamanan Web ● How Web Works ? – Menggunakan protokol HTTP – Klien meminta dokumen melalui URL (Request) – Server membalas dengan memberikan.
Secure HTTP With Apache Web Server
KEAMANAN dan KERAHASIAAN DATA
Keamanan Web Server Pertemuan XI.
Keamanan Sistem WWW World Wide Web
Peta Teknologi Network Security
Oleh : Kundang K.Juman, Ir.MMSI
APACHE 2 Secure HTTP With Apache Web Server By GOODLE CREW.
Security Kelompok 11 Ahmad Fauzi
Web Security.
Shibu lijack Keamanan Web Sistem Kelompok : Benedicktus Fobia, Saptadi Handoko, Heri Permadi, Andrean T. Sinaga.
Oleh Agus Prihanto, ST, M.Kom
World Wide Web Security
Electronic Engineering Polytechnic Institut of Surabaya – ITS Kampus ITS Sukolilo Surabaya Portsentry.
Pertemuan 1 Pengenalan Dasar Web.
Keamanan Web Server Pertemuan XI.
Website Security.
KEAMANAN SISTEM INFORMASI
Pengantar Keamanan Sistem Komputer
KEAMANAN APLIKASI WEB.
CARA KERJA WEB Rofilde Hasudungan.
KEAMANAN dan KERAHASIAAN DATA
Keamanan Web Server.
MATA KULIAH SISTEM KEAMANAN PENDAHULUAN
KEAMANAN PADA SISTEM TERDISTRIBUSI
Keamanan Sistem Operasi
Keamanan Sistem Operasi
Pengantar Keamanan Sistem Komputer
Ihsan Naskah, S.Kom., MT Keamanan Sistem Ihsan Naskah, S.Kom., MT
Keamanan Web Server.
PHP( web Dasar) By : Lisda Juliana P.,SSi..
BAB 7 Keamanan Sistem WWW WWW security.
WEB SECURITY Miswan Keamanan komputer by one 2012 Unindra.
Keamanan Sistem World Wide Web
BAB 7 Keamanan Sistem WWW WWW security.
PENGAMANAN WEB.
Bimbingan Teknis : Web Application : Threats and Countermeasures
Network Security.
KEAMANAN (SECURITY) Basis Data 14.
Keamanan Web Server Pertemuan 9.
UNBAJA (Universitas Banten Jaya)
UNBAJA (Universitas Banten Jaya)
Secure Analysis & Testing (Hacking Technique)
Matakuliah : Jaringan Komputer 2 Versi Materi Web Server Penyaji
KEAMANAN PADA SISTEM TERDISTRIBUSI
PengamananWeb browser
Tri rahajoeningroem, MT Jurusan Manajemen Informatika UNIKOM
Keamanan Sistem Operasi
KEAMANAN dan KERAHASIAAN DATA
KEAMANAN PADA SISTEM TERDISTRIBUSI
Keamanan Web.
Computer Network Defence
HughesNet was founded in 1971 and it is headquartered in Germantown, Maryland. It is a provider of satellite-based communications services. Hughesnet.
Transcript presentasi:

Pengantar Teknologi Web Keamanan + Keamanan Web

Why worry? (cont.) Note the rate of growth in incidents.

Pengantar Security Keamanan komputer -> fisik Dari bencana alam Dari pencuri Dari serangan / bom Keamanan sistem informasi -> non fisik Dari sisi software dan data

Komponen Security (CIA-AN) Confidentiality: akses terhadap sistem komputer tidak boleh dilakukan oleh unauthorized parties Integrity: aset sistem komputer tidak boleh dimodifikasi oleh unauthorized users Availability: Sistem harus dapat selalu online/ada sehingga dapat diakses oleh authorized users Tambahan Authenticity: sistem mengetahui asal muasal suatu objek atau asal muasal modifikasi yang terjadi Non-repudiation: seseorang/sesuatu tidak dapat menyanggah bahwa dia melakukan sesuatu

Ancaman Ancaman (threat) adalah: Seseorang, sesuatu, kejadian atau ide yang menimbulkan bahaya bagi suatu aset Threat muncul dari vulnerability (kelemahan sistem & desain) Serangan (attack) adalah realisasi dari threat. Klasifikasi threats: Disengaja (mis. hacker penetration); Tidak disengaja (mis. Mengirimkan file yang sensitif ke alamat yang salah) Threats yang disengaja dapat dibagi lagi : Pasif – tidak kontak langsung (mis. monitoring, wire-tapping,); Aktif – kontak langsung (mis. mengubah nilai transaksi finansial)

Tujuan Security Prevention - Penjagaan Detection - Deteksi Prevent attackers from violating security policy Detection - Deteksi Detect attackers’ violation of security policy Recovery - Mereparasi Stop attack, assess and repair damage Continue to function correctly even if attack happen

Segitiga Sistem Functionality Posisi suatu sistem Easy to use Security

Tahapan penyerangan Reconnaissance Scanning Gaining access Mengumpulkan data mengenai target Aktif dan pasif Scanning Tanda dimulainya serangan, berusaha mencari jalan masuk Gaining access Mendapatkan target Maintaining access Mempertahankan akses dgn berbagai cara termasuk menanamkan program dan memperbaiki kelemahan Covering tracks Menutupi jejak mereka

Level Serangan Level Sistem Operasi Level aplikasi Patch & upgrade Level aplikasi Patch, Antivirus & Upgrade Level Shrink Wrap code Menggunakan program2 bantu untuk serangan Level Kesalahan konfigurasi

Commonly attacked services SMTP servers (port 25) sendmail: “The address parser performs insufficient bounds checking in certain conditions due to a char to int conversion, making it possible for an attacker to take control of the application” RPC servers (port 111 & others) NetBIOS shares (ports 135, 139, 445) Blaster worm Sasser worm FTP servers (ports 20, 21) wuftpd vulnerabilities SSH servers (port 22) OpenSSH, PAM vulnerabilities Web servers (ports 80, 443) Apache chunked encoding vulnerability Sendmail: http://www.prognosisx.com/cgi-bin/cgi-script/csNews/csNews.cgi?database=JanY%2edb&command=viewone&id=62&op=t “The address parser performs insufficient bounds checking in certain conditions due to a char to int conversion, making it possible for an attacker to take control of the application. “ NetBIOS: Blaster worm: http://www2.fedcirc.gov/advisories/FA-2003-20.html RPC: http://www.securitynewsportal.com/cgi-bin/cgi-script/csNews/csNews.cgi?command=viewone&id=48&database=JanP%2edb FTP: wuftpd vulnerability http://www.cert.org/advisories/CA-2000-13.html SSH: OpenSSH vulnerability http://freshmeat.net/articles/view/491/ Privilege separation: “The basic idea behind privilege separation is that OpenSSH sshd(8) has something like 27000 lines of code. A lot of them run as root. However, when UsePrivilegeSeparation is enabled, the daemon splits into two parts. A part containing about 2500 lines of code remains as root, and the rest of the code is shoved into a chroot-jail without any privileges. This makes the daemon less vulnerable to attack.” HTTP: Apache http://www.securiteam.com/unixfocus/5HP0G207FY.html Exploit code: http://www.securiteam.com/exploits/5VP0L0U7FM.html

Web server attack Scan to find open ports Find out what’s running on open ports (banner grabbing) Profile the server Windows (look for Kerberos, NetBIOS, AD) Unix Use TCP fingerprinting Probe for weaknesses on interesting ports Default configuration files and settings (e.g. popular IIS ones) Buffer overflows Insecure applications Launch attack Use exploit code from Internet… …or build your own WebDAV exploit: http://www.securiteam.com/exploits/5SP0L159FC.html Compiled exploit: http://www.security.nnov.ru/search/exploits.asp

Scanning… What O/S is this system? Active Directory ports (3268, 3269) and DNS indicate that this is a Windows server, probably a domain controller.

Scanning… What O/S is this system? Show nmap scan against linuxvm, makes a guess at the remote O/S. This is Linux, note port 111 open.

Phising

Pharming

Peminjaman lewat URL <IMG SRC=“tempat.yang.dipinjam/gambarku.gif”> Gambar / image / berkas tidak dikopi tapi “dipinjam” melalui hyperlink Pemilk berkas dapat dirugikan: bandwidth terpakai Auditing sulit dilakukan pemakai biasa, tanpa akses ke berkas log (referer)

Kelemahan security pada aplikasi web http://www.owasp.org Berikut adalah 10 kelemahan security teratas pada aplikasi web Masukan (input) yang tidak tervalidasi Broken Access Control Pengelolaan Autentikasi dan Session yang tidak baik Cross site scripting Buffer overflows Injections flaws Penyimpanan yang tidak aman Denial of Service Pengelolaan konfigurasi yang tidak aman 17

Kelemahan security pada aplikasi web Input yang tidak divalidasi Aplikasi web menerima data dari HTTP request yang dimasukkan oleh user Hacker dapat memanipulasi request untuk menyerang keamanan situs Hal – hal yang harus diperhatikan ketika mengelola validasi: Tidak cukup hanya bergantung pada script client side yang biasa digunakan untuk mencegah masukan form ketika ada input yang invalid Penggunaan kode validasi untuk memeriksa masukan tidak mencukupi 18

Kelemahan security pada aplikasi web Broken Access Control Pada aplikasi yang membedakan akses dengan menggunakan perbedaan ID, hanya menggunakan satu halaman untuk memeriksa user. Jika user berhasil melewati halaman login, maka dia bebas melakukan apa saja Permasalahan lain adalah: ID yang tidak aman ID bisa ditebak Ijin file File yang berisi daftar user bisa dibaca orang lain 19

Kelemahan security pada aplikasi web Pengelolaan Autentikasi dan Session yang tidak baik Beberapa hal yang harus diperhatikan: Password strength Penggunaan password Penyimpanan password Session ID Protection 20

Kelemahan security pada aplikasi web Buffer Overflows Pengiriman request yang dapat membuat server menjalankan kode kode yang tidak biasa 21

Kelemahan security pada aplikasi web Injection Flaws Penyerang mengirimkan “inject” calls ke OS atau resource lain, seperti database Salah satu yang terkenal adalah SQL Injection 22

Kelemahan security pada aplikasi web Keamanan server juga menjadi hal penting dalam hal keamanan aplikasi web Berikut adalah beberapa kesalahan konfigurasi pada server : Lubang keamanan yang tidak ditambal (patched) Ijin file dan direktori yang tidak baik Account default dengan password default 23

Command Injection Allows attacker to relay malicious code in form variables or URL System commands SQL Interpreted code (Perl, Python, etc.) Many apps use calls to external programs sendmail Examples Path traversal: “../” Add more commands: “; rm –r *” SQL injection: “’ OR 1=1” Countermeasures Taint all input Avoid system calls (use libraries instead) Run with limited privileges SQL injection example: Go to http://win2kvm/AcmeHackme Generate error by putting a quote at the end of the user name and a simple password. Try username = ' or username like 's%‘ – note that the password is wrong Try ' or username like 's%‘ or ‘– for username with password = anything You are now logged in as sam speed

Error Handling Examples: stack traces, DB dumps Helps attacker know how to target the app Inconsistencies can be revealing too “File not found” vs. “Access denied” Fail-open errors Need to give enough info to user w/o giving too much info to attacker Countermeasures Code review Modify default error pages (404, 401, etc.) Fail open auth example is… http://linuxvm:8080/WebGoat/attack Won’t work with passwords, but if you try it _without_ a password, it lets you in. Show sample code. Show 401 error message on https://www.cybergrants.com after logging in, shows “plsql” in path.

Error messages example

Poor Cryptography Insecure storage of credit cards, passwords, etc. Poor choice of algorithm (or invent your own) Poor randomness Session IDs Tokens Cookies Improper storage in memory Countermeasures Store only what you must Store a hash instead of the full value (SHA-1) Use only vetted, public cryptography Demonstrate md5 tool with on Windows XP laptop with: md5 –dhello md5 –djello Demonstrate encryption with PGP pgp –e /home/mnystrom/example.txt mnystrom (produces example.txt.pgp) pgp /home/mnystrom/example.txt.pgp

Web/App Server Misconfiguration Tension between “work out of the box” and “use only what you need” Developers ≠ web masters Examples Unpatched security flaws (BID example) Misconfigurations that allow directory traversal Administrative services accessible Default accounts/passwords Countermeasures Create and use hardening guides Turn off all unused services Set up and audit roles, permissions, and accounts Set up logging and alerts Oracle 9ias examples: http://www.nextgenss.com IIS Hardening guide: C:\Documents and Settings\mnystrom\My Documents\InfoSec\Technical Reference NT IIS 5_0 and Win2K Hardening Configuration.htm Apache hardening guide: C:\Documents and Settings\mnystrom\My Documents\InfoSec\Apache hardening guide.doc Examples: Show how an administrator might want to change admin web site properties for Admin web server, select “Directory Security/IP address and domain name restrictions/Edit…” http://win2kvm:4626/iis.asp

Web vulnerabilities Intercept informasi dari klien Data, password, dll Pencurian data di server Menjalankan aplikasi di server Memungkinkan melakukan eksekusi program “ngak benar” di server Denial Of Services Server Side Scripting, Cgi-Bin Kesalahan pemograman membuka peluang

Three opportunities for theft: on server by other registered users into server using HTTP on network by snooping

Kemanan Web Authentikasi Manajemen Sesi Menggunakan Layer lain FORM HTML Basic, Digest Klien Side + Server Side Scripting Manajemen Sesi Menggunakan Layer lain S-HTTP ( discontinoued) HTTPS ( HTTP ovel SSL) IPSec Konfigurasi Web Server Hak Akses Indexes Penempatan File

HTTP Authentication Protect web content from those who don’t have a “need to know” Require users to authenticate using a userid/password before they are allowed access to certain URLs HTTP/1.1 requires that when a user makes a request for a protected resource the server responds with a authentication request header WWW-Authenticate contains enough pertinent information to carry out a “challenge-response” session between the user and the server Client requests a protected resource Client Web Server Server responds with a 401 (not authorized and a challenge request for the client to authenticate

Authentikasi FORM HTML BASIC DIGEST CS + SS Script Tidak di enkripsi <form action="modules.php?name=Your_Account" method="post">... <br><input type="hidden" name="op" value="login"> ... </form> Tidak di enkripsi BASIC Algortima Base64 Mudah di Dekrip DIGEST Alghoritma Digest Ex: MD5 Belum 100% di support CS + SS Script http://toast.newcastle.edu.au/js/md5/browsertest.php3.

WWW-Authenticate Digest Authentication attempts to overcome the shortcomings of Basic Authentication WWW-Authenticate = Digest realm=“defaultRealm” nonce=“Server SpecificString” see RFC 2069 for description of nonce, each nonce is different the nonce is used in the browser in a 1-way function (MD5, SHA-1….) to encode the userid and password for the server, this function essentially makes the password good for only one time Common browsers don’t use Digest Authentication but an applet could as an applet has access to all of the Java Encryption classes needed to create the creation of a Digest.

Manajemen Sesi Hiden Form Field Cookies <input type="hidden" name="uniqueticket" View page Source Cookies User harus mennghidupkan fasilitas Poisoned cookies Session Id -rw------- 1 nobody nobody 180 Jun 30 18:46 sess_5cbdcb16f ... Dapat menggunakan History jika umur sesi belum habis URL Rewriting http://login.yahoo.com/config/login?.tries=&.src=ym&.last=&promo=&.intl=us

SSL Untuk Semua Protokol TCP Public Key Server Hashing CA Telnet -> SSH HTTP -> HTTPS Public Key Server Hashing MD5 + SHA CA Sekarang -> TLS

Certificate Untuk mengkonfigurasi server, diperlukan sertifikat keamanan (security certificate) Security Certificate dikeluarkan oleh Certification Authorities (CAs) Jika tidak ada sertifikat dari CAs, bisa dibuat dengan menggunakan Java 1.4 SDK 37

Langkah-langkah untuk menaikkan tingkat keamanan browser Selalu mengupdate web browser menggunakan patch terbaru Mencegah virus Menggunakan situs yang aman untuk transaksi finansial dan sensitif Menggunakan secure proxy Mengamankan lingkungan jaringan Tidak menggunakan informasi pribadi Hati-hati ketika merubah setting browser

General Recommendations Hati-hati ketika merubah konfigurasi browser Jangan membuat konfigurasi yang mendukung scripts dan macros Jangan langsung menjalankan program yang anda download dari internet Browsing ke situs-situs yang aman Mengurangi kemungkinan adanya malcode dan spyware Konfigurasi home pae harus hati-hati Lebih baik gunakan blank. Jangan mempercayai setiap links (periksa dulu arah tujuan link itu) Jangan selalu mengikuti link yang diberitahukan lewat e-mail Jangan browsing dari sistem yang mengandung data sensitif Lindungi informasi anda kalau bisa jangan gunakan informasi pribadi pada web Gunakan stronger encryption Pilih 128-bit encryption Gunakan browser yang jarang digunakan Serangan banyak dilakukan pada web browser yang populer Minimalkan penggunaan plugins Minimalkan penggunaan cookies Perhatikan cara penanganan dan lokasi penyimpanan temporary files

Tools used in this preso WebGoat –vulnerable web applications for demonstration VMWare – runs Linux & Windows 2000 virtual machines on demo laptop. nmap –host/port scanning to find vulnerable hosts Ethereal – network traffic sniffing Metasploit Framework – exploit tool Brutus – password cracking Sleuth – HTTP mangling against web sites

NEXT