Web Security

Ada dua kategori yang bisa disebut sebagai sisi lemah dari web. Satu kategori yang berisi kelemahan akibat platform seperti Linux, Windows, Apache dan Oracle. Kategori lainnya adalah aplikasi itu sendiri. Dengan kata lain, eror dalam program di web mungkin membuka detail kartu kredit dari seorang user, memungkinkan seorang malicious untuk menjalankan arbitrasi query database nya, bahkan bisa mengambil alih akses ke server.

Konsekuensinya, aplikasi web manapun memiliki berbagai macam ancaman. Banyak alat yang tersedia untuk mengecek kelemahan dari sebuah OS atau sebuah web serrver, dan membuka kodenya. Hal ini sudah menjadi hal yang umum. Serangan aplikasi seperti injeksi SQL atau pembajakan sesi, lebih sulit untuk di otomatisasi, tapi kelemahan yang paling sering bisa di kode kan jadi beberapa baris dari Perl bisa mengecek kehadirannya, seperti dalam kasus input dasar dari cek validitas. Singkatnya, banyak kelemahan yang beresiko tinggi bisa diidentifikasi dan di eksploitasi oleh orang yang tak bertanggungjawab yang hanya memiliki sedikit kemampuan.


Port Scanning dan Layanan Identifikasi
Ini adalah langkah dasar untuk memantau sebuah keamanan. Lagipula, untuk mengetes sebuah sistem, harus ada service (open port) yang terhubung. Ada beberapa port scanner untuk OS Windows dan Unix yang bukan hanya sebagai port scanner, tapi juga memiliki beberapa fungsi extra.
- Nmap
- Netcat

Scanning Kelemahan
-Nikto
- Nessus

10 Celah keamanan pada aplikasi web
Open Web Application Security Project (OWASP) adalah project open source yang dibangun untuk menemukan penyebab dari tidak amannya sebuah software dan menemukan cara menanganinya. Ada 10 celah kemanan aplikasi web yang ditemukan dan rekomendasi mereka tentang menanganinya sebagai sebuah standard keamanan minimal dari aplikasi web.
Berikut ini adalah 10 celah tersebut dan cara agar kita dapat mengatasi masalah tersebut.

I. Unvalidated input
Semua aplikasi web menampilkan data dari HTTP request yang dibuat oleh user dan menggunakan data tersebut untuk melakukan operasinya. Hacker dapat memanipulasi bagian-bagian pada request (query string, cookie information, header) untuk membypass mekanisme keamanan.
Berikut ini tiga jenis penyerangan yang berhubungan dengan masalah ini:
• Cross site scripting
• Buffer overflows
• Injection flaws
Ada beberapa hal yang dapat dicatat ketika menangani validasi pada aplikasi kita. Pertama, adalah tidak baik pada aplikasi web untuk percaya pada client side scripting. Script tersebut biasanya menghentikan form submission apabila terdapat sebuah input yang salah. Akan tetapi, script tersebut tidak dapat mencegah hacker untuk membuat HTTP requestnya sendiri yang terbebas dari form. Menggunakan client side validation masih bisa membuat aplikasi web yang mudah diserang.
Kedua, beberapa aplikasi menggunakan pendekatan "negative" (negative approach) pada validasinya : Aplikasi mencoba mendeteksi jika terdapat elemen yang berbahaya pada request parameter. Masalah dari jenis pendekatan ini adalah hanya bisa melindungi dari beberapa serangan yaitu : hanya serangan yang dikenali oleh validation code yang dicegah. Ada banyak cara dimana hacker dapat membypass keamanan dari unvalidated input; Masih ada kemungkinan dimana cara yang baru tidak dikenali oleh aplikasi dapat membypass validasi dan melakukan perusakan. Adalah cara yang lebih baik untuk menggunakan pendekatan "positive" (positive approach) yaitu : membatasi sebuah format atau pola untuk nilai yang diijinkan dan memastikan input tersebut sesuai dengan format tersebut.

II. Broken Access Control
Banyak aplikasi yang mengkategorikan user-usernya ke dalam role yang berbeda dan level yang berbeda untuk berinteraksi dengan content yang dibedakan dari kategori-kategori tersebut. Salah satu contohnya, banyak aplikasi yang terdapat user role dan admin role : hanya admin role yang diijinkan untuk mengakses halaman khusus atau melakukan action administration.
Masalahnya adalah beberapa aplikasi tidak efektif untuk memaksa agar otorisasi ini bekerja. Contohnya, beberapa program hanya menggunakan sebuah checkpoint dimana hanya user yang terpilih yang dapat mengakses : untuk proses lebih lanjut, user harus membuktikan dirinya terotorisasi dengan menggunakan user name dan password. Akan tetapi, Mereka tidak menjalankan pengecekan dari checkpoint sebelumnya : dimana apabila user berhasil melewati halaman login, mereka dapat bebas menjalankan operasi

Masalah lain yang berhubungan dengan access control adalah:
• Insecure Ids – Beberapa site menggunakan id atau kunci yang menunjuk kepada user atau fungsi. ID dapat juga ditebak, dan jika hacker dapat mudah menebak ID dari user yang terautorisasi, maka site akan mudah diserang.
• File permissions – Kebanyakan web dan aplikasi server percaya kepada external file yang menyimpan daftar dari user yang terotorisasi dan resources mana saja yang dapat dan/atau tidak dapat diakses. Apabila file ini dapat dibaca dari luar, maka hacker dapat memodifikasi dengan mudah untuk menambahkan dirinya pada daftar user yang diijinkan.
Langkah-langkah apa saja yang dapat dilakukan untuk mengatasinya? Pada contoh-contoh tadi, kita dapat mengembangkan filter atau komponen yang dapat dijalankan pada sensitive resources. Filter atau komponen tadi dapat menjamin hanya user yang terotorisasi dapat mengakases. Untuk melindungi dari insecure Ids, kita harus mengembangkan aplikasi kita agar tidak percaya pada kerahasiaan dari Ids yang dapat memberi access control. Pada masalah file permission, file-file tersebut harus berada pada lokasi yang tidak dapat diakses oleh web browser dan hanya role tertentu saja yang dapat mengaksesnya.

III. Broken Authentication dan Session Management
Authentication dan session management menunjuk kepada semua aspek dari pengaturan user authentikasi dan management of active session. Berikut ini beberapa hal yang perlu diperhatikan :
• Password strength – Aplikasi kita harus memberikan level minimal dari keamanan sebuah password, dimana dapat dilihat dengan cara melihat panjang dari password dan kompleksitasnya. Contohnya sebuah aplikasi dimana terdapat user baru yang akan mendaftar : aplikasi tidak mengijinkan password dengan panjang 3-4 karakter atau kata-kata simpel yang dapat mudah ditebak oleh hacker.
• Password use – Aplikasi kita harus membatasi user yang mengakses aplikasi melakukan login kembali ke sistem pada tenggang waktu tertentu. Dengan cara ini aplikasi dapat dilindungi dari serangan brute force dimana hacker bisa menyerang berulang kali untuk berhasil login ke sistem. Selain itu, log in yang gagal sebaiknya dicatat sebagai informasi kepada administrator untuk mengindikasikan kemungkinan serangan yang terjadi.
• Password storage – password tidak boleh disimpan di dalam aplikasi. Password harus disimpan dalam format terenkripsi dan disimpan di file lain seperti file database atau file password. Hal ini dapat memastikan bahwa informasi yang sensitif seperti password tidak disebarkan ke dalam aplikasi.
Issue lain yang berhubungan : password tidak boleh dalam bentuk hardcoded di dalam source code.
• Session ID Protection – server biasanya menggunakan session Id untuk mengidentifikasi user yang masuk ke dalam session. Akan tetapi jika session ID ini dapat dilihat oleh seseorang pada jaringan yang sama, orang tersebut dapat menjadi seorang client.
Salah satu cara yang dapat digunakan untuk mencegah terlihatnya session ID oleh seseorang pada suatu jaringan yang sama adalah menghubungkan komunikasi antara sever dan client pada sebuah SSL-protected channel.

IV.Cross site scripting
Cross site scripting terjadi ketika seseorang membuat aplikasi web melalui script ke user lain. Hal ini dilakukan oleh penyerang dengan menambahkan content (seperti JavaScript, ActiveX, Flash) pada request yang dapat membuat HTML output yang dapat dilihat oleh user lain. Apabila ada user lain yang mengakses content tersebut, browser tidak mengetahui bahwa halaman tersebut tidak dapat dipercaya.
Cara yang bisa digunakan untuk mencegah serangan cross site scripting adalah dengan melakukan validasi data masuk dari user request (seperti header, cookie, user parameter, ...). Cara negative approach tidak digunakan : mencoba untuk memfilter active content merupakan cara yang tidak efektif.

V. Buffer overflows
Penyerang dapat menggunakan buffer overflows untuk merusak aplikasi web. Hal ini dilakukan karena penyerang mengirimkan request yang membuat server menjalankan kode-kode yang dikirimkan oleh penyerang.
Kelemahan buffer overflow biasanya sulit dideteksi dan sulit dilakukan oleh hacker. Akan tetapi penyerang masih bisa mencari kelemahan ini dan melakukan buffer overflow pada sebagian aplikasi web.
Terima kasih atas desain dari Java environment, dimana aplikasi yang berjalan pada J2EE server aman dari jenis serangan ini.
Untuk memastikan keamanan, cara yang paling baik adalah melakukan pengawasan apabila terdapat patch atau bug report dari produk server yang digunakan.

VI. Injection flaws
Salah satu kelemahan yang populer adalah injection flaw, dimana hacker dapat mengirimkan atau menginject request ke operating system atau ke external sumber seperti database.
Salah satu bentuknya adalah SQL injection. Berikut ini salah satu contoh dari SQL injection :

http://someServer/someApp/someAction?searchString=jedi

URL diatas akan memproses pencarian dengan kata kunci 'jedi'. Implementasi dimana tidak ada validasi input adalah seperti SQL code berikut ini :
select * from someTable where someField='value'
dimana value adalah nilai dari parameter searchString yang ada pada HTTP request.
Bagaimana jika, hacker melakukan input dari URL seperti ini :

http://someServer/someApp/someAction?searchString=jedi'%20AND%20true;
%20DROP%20DATABASE;'

SQL query yang terbentuk adalah seperti ini :
select * from someTable where someField='jedi' AND true; DROP DATABASE;''
Statement awal pasti akan diterima dimana terdapat klausa AND TRUE. Dan statement selanjutnya yaitu DROP DATABASE juga akan diekseskusi yang akan memberikan kerusakan pada aplikasi.
Serangan ini bisa mungkin terjadi karena input yang tidak divalidasi. Ada dua cara yang bisa dilakukan untuk mencegah serangan ini yaitu:
• Daripada menggunakan statement SELECT, INSERT, UPDATE dan DELETE statement, bisa dibuat fungsi yang melakukan hal serupa. Dengan menggunakan fungsi diharapkan ada pengamanan terhadap parameter. Selain itu dengan adanya fungsi, parameter yang masuk harus sama dengan tipe data dari parameter yang dideklarasikan.
• Hak akses dalam aplikasi juga harus dibatasi. Contohnya, jika aplikasi hanya bertujuan untuk melihat data, tidak perlu diberikan hak akses untuk melakukan INSERT, UPDATE atau DELETE. Jangan menggunakan account admin pada aplikasi web untuk mengakases database. Hal ini juga dapat meminimailkan serangan dari hacker.
VIII. Insecure storage
Aplikasi web biasanya perlu menyimpan informasi yang sensitif seperti password, informasi kartu kredit, dan yang lain. Dikarenakan item-item tersebut bersifat sensitif item-item tersebut perlu dienkripsi untuk menghindari pengaksesan secara langsung. Akan tetapi beberapa metode enkripsi masih lemah dan masih bisa diserang.
Berikut ini beberapa kesalahan yang sering terjadi :
• Kesalahan untuk mengenkripsi data penting
• Tidak amannya kunci, certificate, dan password
• Kurang amannya lokasi penyimpanan data
• Kurangnya penghitungan dari randomisasi
• Kesalahan pemilihan algoritma
• Mencoba untuk menciptakan algoritma enkripsi yang baru
Berdasarkan skenario berikut ini : Terdapat sebuah aplikasi, dimana terdapat password pada user object. Akan tetapi, aplikasi menyimpan user object ke dalam session setelah user login. Permasalahan yang akan muncul pada skenario ini adalah password dapat dilihat oleh seseorang yang dapat melihat session dari user tersebut.
Salah satu cara yang dilakukan untuk menghindari kesalahan penyimpanan informasi yang sensitif adalah : tidak membuat password sebagai atribut dari kelas yang mewakili informasi user; Daripada mengenkripsi nomor kartu kredit dari user, akan lebih baik untuk menanyakannya setiap kali dibutuhkan.
Selain itu, menggunakan algoritma enkripsi yang sudah ada akan lebih baik daripada membuat algoritma sendiri. Anda cukup memastikan algoritma yang akan digunakan telah diakui oleh public dan benar-benar dapat diandalkan.

Denial of Service
Denial of Service merupakan serangan yang dibuat oleh hacker yang mengirimkan request dalam jumlah yang sangat besar dan dalam waktu yang bersamaan. Dikarenakan request-request tersebut, server menjadi kelebihan beban dan tidak bisa melayani user lainnya.
Serangan DoS mampu menghabiskan bandwidth yang ada pada server. Selain itu dapat juga menghabiskan memory, koneksi database, dan sumber yang lain.
Pada umumnya sangat sulit untuk melindungi aplikasi dari serangan ini. Akan tetapi masih ada cara yang dapat dilakukan seperti membatasi resource yang dapat diakses user dalam jumlah yang minimal. Merupakan ide / cara yang bagus untuk membuat load quota yang membatasi jumlah load data yang akan diakses user dari sistem.
Salah satu contoh adalah pada implementasi bulletin board : adanya pembatasan user pada saat melakukan search, dimana operasi ini hanya dapat dilakukan setiap 20 detik. Dengan cara ini dapat dipastikan bahwa user tidak bisa menghabiskan koneksi dari database.
Solusi yang lain adalah mendesain aplikasi web dimana user yang belum terotorisasi hanya memiliki akses yang sedikit atau tidak memiliki akses ke content web yang berhubungan dengan database.

X. Insecure Configuration Management
Biasanya kelompok (group) yang mengembangkan aplikasi berbeda dengan kelompok yang mengatur hosting dari aplikasi. Hal ini bisa menjadi berbahaya, dikarenakan keamanan yang diandalkan hanya dari segi aplikasi : sedangakan dari segi server juga memiliki aspek keamanan yang perlu diperhatikan. Adanya kesalahan dari konfigurasi server dapat melewati aspek keamanan dari segi aplikasi.
Berikut ini adalah kesalahan konfigurasi server yang bisa menimbulkan masalah :
• Celah keamanan yang belum dipatch dari software yang ada pada server – administrator tidak melakukan patch software yang ada pada server.
• Celah keamanan server dimana bisa menampilkan list dari direktori atau juga serangan berupa directory traversal.
• File-file backup atau file contoh (sample file), file-file script, file konfigurasi yang tertinggal / tidak perlu.
• Hak akses direktori atau file yang salah.
• Adanya service yang seperti remote administration dan content management yang masih aktif.
• Penggunaan default account dan default password.
• Fungsi administrative atau fungsi debug yang bisa diakses.
• Adanya pesan error yang informatif dari segi teknis.
• Kesalahan konfigurasi SSL certificate dan setting enkripsi.
• Penggunaan self-signet certificates untuk melakukan autentikasi.
• Penggunaan default certificate.
• Kesalahan autentikasi dengan sistem eksternal.


Social Networking

Pengertian
Social network atau Jejaring sosial adalah struktur sosial yang dibuat dari individu-individu (atau organisasi) yang disebut dengan "node", yang terhubung dengan 1 atau lebih tipe spesifik dari keterkaitan, seperti pertemanan, persaudaraan, persamaan minat/ketertarikan, pertukaran keuangan, ketidak sukaan terhadap sesuatu, hubungan, kepercayaan atau keagamaan, pengetahuan atau kehormatan.

Saat ini perkembangan internet di Indonesia sudah cukup pesat sehingga hampir 90% dari jumlah masyarakat keseluruhan mengetahui, dan menggunakan situs-situs jejaring sosial seperti Facebook, Twitter, Plurk, Yahoo Messanger dll. Banyak kontra-versi antara boleh atau tidaknya seseorang menggunakan situs jejaring sosial tersebut.

Kelebihan dari sebuah situs jejaring sosial antara lain :
1. Bisa menemukan teman yang sudah lama tidak bertemu
2. Kecepatan penyampaian informasi jauh lebih cepat dibandingkan jika kita harus menunggu berita untuk di post kan di suatu tempat/situs
3. Menambah teman.

Kekurangan dari situs jejaring sosial antara lain :
1. Pelanggaran privacy karena semua isi dari profile kita bisa dilihat oleh semua orang dan disalahgunakan, kecuali jika kita melakukan setting lebih jauh.
2. Membuat orang jadi malas melakukan hal yang lain dan cenderung seperti menempel pada kursi dan komputer.
3. Karena terlalu lama berada di depan komputer, mata jadi rusak, jika tidak diikuti dengan banyak minum air putih bisa menyebabkan sakit ginjal juga.
4. Memungkinkan terjadinya penipuan dan penculikan
5. Bagi yang membuka lewat HP, menyebabkan pemborosan pulsa
6. Karena hal kecil bisa terjadi kesalahpahaman yang menyebabkan konflik diantara beberapa orang/kelompok.

Kesimpulan :
Jejaring sosial adalah benda mati, tidak bisa disalahkan atas hal-hal buruk yang terjadi karena penggunaannya. Jadi, tidak seharusnya situs-situs tersebut dilarang. Semua itu berbalik pada kita sendiri, bagaimana kita memanfaatkannya. Ibarat sebuah pisau, jika dipegang oleh orang baik maka pisau itu akan berguna untuk membantu orang tersebut memasak/melakukan hal-hal lainnya, sedangkan jika dipegang oleh orang jahat, maka bisa saja dia gunakan untuk membunuh orang.

Intinya, kembali lagi pada pembentukan moral yang baik pada setiap individu agar tidak terjadi penyalahgunaan fungsi dari sarana-sarana yang ada.

source : wikipedia (pengertian social network)

Wi-Fi Security

Wi-Fi merupakan kependekan dari Wireless Fidelity, yang memiliki pengertian yaitu sekumpulan standar yang digunakan untuk Jaringan Lokal Nirkabel (Wireless Local Area Networks - WLAN) yang didasari pada spesifikasi IEEE 802.11. Standar terbaru dari spesifikasi 802.11a atau b, seperti 802.16 g, saat ini sedang dalam penyusunan, spesifikasi terbaru tersebut menawarkan banyak peningkatan mulai dari luas cakupan yang lebih jauh hingga kecepatan transfernya.

Awalnya Wi-Fi ditujukan untuk penggunaan perangkat nirkabel dan Jaringan Area Lokal (LAN), namun saat ini lebih banyak digunakan untuk mengakses internet. Hal ini memungkinan seseorang dengan komputer dengan kartu nirkabel (wireless card) atau personal digital assistant (PDA) untuk terhubung dengan internet dengan menggunakan titik akses (atau dikenal dengan hotspot) terdekat.


Jaringan Wifi memiliki lebih banyak kelemahan dibanding dengan jaringan kabel. Saat ini perkembangan teknologi wifi sangat signifikan sejalan dengan kebutuhan sistem informasi yang mobile. Banyak penyedia jasa wireless seperti hotspot komersil, ISP, Warnet, kampuskampus maupun perkantoran sudah mulai memanfaatkan wifi pada jaringan masing masing, tetapi sangat sedikit yang memperhatikan keamanan komunikasi data pada jaringan wireless tersebut. Hal ini membuat para hacker menjadi tertarik untuk mengexplore keamampuannya untuk melakukan berbagai aktifitas yang biasanya illegal menggunakan wifi.

Pada artikel ini akan dibahas berbagai jenis aktivitas dan metode yang dilakukan para hacker wireless ataupun para pemula dalam melakukan wardriving. Wardriving adalah kegiatan atau aktivitas untuk mendapatkan informasi tentang suatu jaringan wifi dan mendapatkan akses terhadap jaringan wireless tersebut. Umumnya bertujuan untuk mendapatkan koneksi internet, tetapi banyak juga yang melakukan untuk maksudmaksud tertentu mulai dari rasa keingintahuan, coba coba, research, tugas praktikum, kejahatan dan lain lain.

Kelemahan jaringan wireless secara umum dapat dibagi menjadi 2 jenis, yakni kelemahan pada konfigurasi dan kelemahan pada jenis enkripsi yang digunakan. Salah satu contoh penyebab kelemahan pada konfigurasi karena saat ini untuk membangun sebuah jaringan wireless cukup mudah. Banyak vendor yang menyediakan fasilitas yang memudahkan pengguna atau admin jaringan sehingga sering ditemukan wireless yang masih menggunakan konfigurasi wireless default bawaan vendor. Penulis sering menemukan wireless yang dipasang pada jaringan masih menggunakan setting default bawaan vendor seperti SSID, IP Address , remote manajemen, DHCP enable, kanal frekuensi, tanpa enkripsi bahkan user/password untuk administrasi wireless tersebut.

WEP (Wired Equivalent Privacy) yang menjadi standart keamanan wireless sebelumnya, saat ini dapat dengan mudah dipecahkan dengan berbagai tools yang tersedia gratis di internet. WPAPSK dan LEAP yang dianggap menjadi solusi menggantikan WEP, saat ini juga sudah dapat dipecahkan dengan metode dictionary attack secara offline.

Kelemahan Wireless pada Lapisan Fisik Wifi menggunakan gelombang radio pada frekwensi milik umum yang bersifat bebas digunakan oleh semua kalangan dengan batasan batasan tertentu. Setiap wifi memiliki area jangkauan tertentu tergantung power dan antenna yang digunakan. Tidak mudah melakukan pembatasan area yang dijangkau pada wifi. Hal ini menyebabkan berbagai dimungkinan terjadi aktifitas aktifitas antara lain:

- Interception atau penyadapan
Hal ini sangat mudah dilakukan, dan sudah tidak asing lagi bagi para hacker. Berbagai tools dengan mudah di peroleh di internet. Berbagai teknik kriptografi dapat di bongkar oleh tools tools tersebut.

- Injection
Pada saat transmisi melalui radio, dimungkinkan dilakukan injection karena berbagai kelemahan pada cara kerja wifi dimana tidak ada proses validasi siapa yang sedang terhubung atau siapa yang memutuskan koneksi saat itu.

– Jamming
Jamming sangat dimungkinkan terjadi, baik disengaja maupun tidak disengaja karena ketidaktahuan pengguna wireless tersebut. Pengaturan penggunaan kanal frekwensi merupakan keharusan agar jamming dapat di minimalisir. Jamming terjadi karena frekwensi yang digunakan cukup sempit sehingga penggunaan kembali channel sulit dilakukan pada area yang padat jaringan nirkabelnya. S

– Locating Mobile Nodes
Dengan berbagai software, setiap orang mampu melakukan wireless site survey dan mendapatkan informasi posisi letak setiap Wifi dan beragam konfigurasi masing masing. Hal ini dapat dilakukan dengan peralatan sederhana spt PDA atau laptop dengan di dukung GPS sebagai penanda posisi.

– Access Control
Dalam membangun jaringan wireless perlu di design agar dapat memisahkan node atau host yang dapat dipercaya dan host yang tidak dapat dipercaya. Sehingga diperlukan access control yang baik

– Hijacking
Serangan MITM (Man In The Middle) yang dapat terjadi pada wireless karena berbagai kelemahan protokol tersebut sehingga memungkinkan terjadinya hijacking atau pengambilalihan komunikasi yang sedang terjadi dan melakukan pencurian atau modifikasi informasi.

Kelemahan pada Lapisan MAC (Data Layer) Pada lapisan ini terdapat kelemahan yakni jika sudah terlalu banyak node (client) yang menggunakan channel yang sama dan terhubung pada AP yang sama, maka bandwidth yang mampu dilewatkan akan menurun. Selain itu MAC address sangat mudah di spoofing (ditiru atau di duplikasi) membuat banyak permasalahan keamanan. Lapisan data atau MAC juga digunakan dalam otentikasi dalam implementasi keamanan wifi berbasis WPA Radius (802.1x plus TKIP/AES).

Beberapa Teknik Keamanan yang digunakan pada Wireless LAN Dibawah ini beberapa kegiatan dan aktifitas yang dilakukan untuk mengamanan jaringan wireless :

- Menyembunyikan SSID
Banyak administrator menyembunyikan Services Set Id (SSID) jaringan wireless mereka dengan maksud agar hanya yang mengetahui SSID yang dapat terhubung ke jaringan mereka. Hal ini tidaklah benar, karena SSID sebenarnya tidak dapat disembuyikan secara sempurna. Pada saat saat tertentu atau khususnya saat client akan terhubung (assosiate) atau ketika akan memutuskan diri (deauthentication) dari sebuah jaringan wireless, maka client akan tetap mengirimkan SSID dalam bentuk plain text (meskipun menggunakan enkripsi), sehingga jika kita bermaksud menyadapnya, dapat dengan mudah menemukan informasi tersebut. Beberapa tools yang dapat digunakan untuk mendapatkan ssid yang dihidden antara lain, kismet (kisMAC), ssid_jack (airjack), aircrack , void11 dan masih banyak lagi.


Keamanan wireless hanya dengan kunci WEP
WEP merupakan standart keamanan & enkripsi pertama yang digunakan pada wireless, WEP memiliki berbagai kelemahan antara lain :
  • Masalah kunci yang lemah, algoritma RC4 yang digunakan dapat dipecahkan.
  • WEP menggunakan kunci yang bersifat statis
  • Masalah initialization vector (IV) WEP
  • Masalah integritas pesan Cyclic Redundancy Check (CRC32)
WEP terdiri dari dua tingkatan, yakni kunci 64 bit, dan 128 bit. Sebenarnya kunci rahasia pada kunci WEP 64 bit hanya 40 bit, sedang 24bit merupakan Inisialisasi Vektor (IV). Demikian juga pada kunci WEP 128 bit, kunci rahasia terdiri dari 104bit. Seranganserangan pada kelemahan WEP antara lain :

1. Serangan terhadap kelemahan inisialisasi vektor (IV), sering disebut FMS attack. FMS singkatan dari nama ketiga penemu kelemahan IV yakni Fluhrer, Mantin, dan Shamir. Serangan ini dilakukan dengan cara mengumpulkan IV yang lemah sebanyak banyaknya. Semakin banyak IV lemah yang diperoleh, semakin cepat ditemukan kunci yang digunakan (www.drizzle.com/~aboba/IEEE/rc4_ksaproc.pdf)

2. Mendapatkan IV yang unik melalui packet data yang diperoleh untuk diolah untuk proses cracking kunci WEP dengan lebih cepat. Cara ini disebut chopping attack, pertama kali ditemukan oleh h1kari. Teknik ini hanya membutuhkan IV yang unik sehingga mengurangi kebutuhan IV yang lemah dalam melakukan cracking WEP.

3. Kedua serangan diatas membutuhkan waktu dan packet yang cukup, untuk mempersingkat waktu, para hacker biasanya melakukan traffic injection. Traffic Injection yang sering dilakukan adalah dengan cara mengumpulkan packet ARP kemudian mengirimkan kembali ke access point. Hal ini mengakibatkan pengumpulan initial vektor lebih mudah dan cepat. Berbeda dengan serangan pertama dan kedua, untuk serangan traffic injection,diperlukan spesifikasi alat dan aplikasi tertentu yang mulai jarang ditemui di tokotoko, mulai dari chipset, versi firmware, dan versi driver serta tidak jarang harus melakukan patching terhadap driver dan aplikasinya.


MAC Filtering

Hampir setiap wireless access point maupun router difasilitasi dengan keamanan MAC Filtering. Hal ini sebenarnya tidak banyak membantu dalam mengamankan komunikasi wireless, karena MAC address sangat mudah dispoofing atau bahkan dirubah. Tools ifconfig pada OS Linux/Unix atau beragam tools spt network utilitis, regedit, smac, machange pada OS windows dengan mudah digunakan untuk spoofing atau mengganti MAC address.

Penulis masih sering menemukan wifi di perkantoran dan bahkan ISP (yang biasanya digunakan oleh warnetwarnet) yang hanya menggunakan proteksi MAC Filtering. Dengan menggunakan aplikasi wardriving seperti kismet/kisMAC atau aircrack tools, dapat diperoleh informasi MAC address tiap client yang sedang terhubung ke sebuah Access Point. Setelah mendapatkan informasi tersebut, kita dapat terhubung ke Access point dengan mengubah MAC sesuai dengan client tadi. Pada jaringan wireless, duplikasi MAC adress tidak mengakibatkan konflik. Hanya membutuhkan IP yang berbeda dengan client yang tadi.


Captive Portal

Infrastruktur Captive Portal awalnya didesign untuk keperluan komunitas yang memungkinkan semua orang dapat terhubung (open network). Captive portal sebenarnya merupakan mesin router atau gateway yang memproteksi atau tidak mengizinkan adanya trafik hingga user melakukan registrasi/otentikasi.

Berikut cara kerja captive portal :

  • user dengan wireless client diizinkan untuk terhubung wireless untuk mendapatkan IP address (DHCP)
  • block semua trafik kecuali yang menuju ke captive portal (Registrasi/Otentikasi berbasis web) yang terletak pada jaringan kabel.
  • redirect atau belokkan semua trafik web ke captive portal
  • setelah user melakukan registrasi atau login, izinkan atau buka akses ke jaringan (internet)
Beberapa hal yang perlu diperhatikan, bahwa captive portal hanya melakukan tracking koneksi client berdasarkan IP dan MAC address setelah melakukan otentikasi. Hal ini membuat captive portal masih dimungkinkan digunakan tanpa otentikasi karena IP dan MAC adress dapat dispoofing. Serangan dengan melakukan spoofing IP dan MAC. Spoofing MAC adress seperti yang sudah dijelaskan pada bagian Mac Filtering diatas. Sedang untuk spoofing IP, diperlukan usaha yang lebih yakni dengan memanfaatkan ARP cache poisoning, kita dapat melakukan redirect trafik dari client yang sudah terhubung sebelumnya.

Serangan lain yang cukup mudah dilakukan adalah menggunakan Rogue AP, yaitu mensetup Access Point (biasanya menggunakan HostAP) yang menggunakan komponen informasi yang sama seperti AP target seperti SSID, BSSID hingga kanal frekwensi yang digunakan. Sehingga ketika ada client yang akan terhubung ke AP buatan kita, dapat kita membelokkan trafik ke AP sebenarnya. Tidak jarang captive portal yang dibangun pada suatu hotspot memiliki kelemahan pada konfigurasi atau design jaringannya.Misalnya, otentikasi masih menggunakan plain text (http), managemen jaringan dapat diakses melalui wireless (berada pada satu network), dan masih banyak lagi.

Kelemahan lain dari captive portal adalah bahwa komunikasi data atau trafik ketika sudah melakukan otentikasi (terhubung jaringan) akan dikirimkan masih belum terenkripsi, sehingga dengan mudah dapat disadap oleh para hacker. Untuk itu perlu berhatihati melakukan koneksi pada jaringan hotspot, agar mengusahakan menggunakan komunikasi protokol yang aman seperti https,pop3s, ssh, imaps dst.

Keamanan wireless hanya dengan kunci WPAPSK atau WPA2PSK WPA merupakan teknologi keamanan sementara yang diciptakan untuk menggantikan kunci WEP. Ada dua jenis yakni WPA personal (WPAPSK), dan WPARADIUS.

Saat ini yang sudah dapat di crack adalah WPAPSK, yakni dengan metode brute force attack secara offline. Brute force dengan menggunakan mencobacoba banyak kata dari suatu kamus. Serangan ini akan berhasil jika passphrase yang yang digunakan wireless tersebut memang terapat pada kamus kata yang digunakan si hacker. Untuk mencegah adanya serangan terhadap keamanan wireless menggunakan WPAPSK, gunakanlah passphrase yang cukup panjang (misal satu kalimat). Tools yang sangat terkenal digunakan melakukan serangan ini adalah CoWPAtty (http://www.churchofwifi.org/ ) dan aircrack (http://www.aircrackng.org).

Tools ini memerlukan daftar kata atau wordlist, dapat di ambil dari http://wordlist.sourceforge.net/


Kesimpulan


Banyaknya wireless LAN yang aktif dengan konfigurasi default akan memudahkan para hacker dapat memanfaatkan jaringan tersebut secara ilegal. Konfigurasi default dari tiap vendor perangkat wireless sebaiknya dirubah settingnya sehingga keamanan akses terhadap wifi tersebut lebih baik. Keamanan jaringan Wireless dapat ditingkatkan dengan cara tidak hanya menggunakan salah satu teknik yang sudah dibahas diatas, tetapi dapat menggunakan kombinasi beberapa teknikteknik tersebut sehingga keamanan lebih terjamin.

Tata letak wireless dan pengaturan power/daya transmit sebuah Access Point juga dapat dilakukan untuk mengurangi resiko penyalahgunaan wireless. Pastikan area yang dijangkau hanya area yang memang digunakan oleh user.

Untuk solusi kemanan wireless dapat menggunakan protokol yang sudah disediakan yakni WPA2Radius atau sering disebut RSN/802.11i.

Referensi :
Josua M. S., Wikipedia

Listing LA AP3 ke-7

#include "stdio.h"
int a,b,c,pil;

void tambah();
void kurang();
void kali();
void bagi();

void main()
{
clrscr();
printf("======Menu=====");
printf("\n1. Pertambahan");
printf("\n2. Pengurangan");
printf("\n3. Perkalian");
printf("\n4. Pembagian");
printf("\n5. Exit\n");
printf("Masukkan pilihan anda : ");
scanf("%d",&pil);
switch(pil) {
case 1 : tambah();
case 2 : kurang();
case 3 : kali();
case 4 : bagi();
case 5 : exit(0);
default : printf("Input Salah\nMasukkan nilai dari 1-5");
getch();
main();
}
}

void tambah () {
int a,b,c;
printf("\nNilai Pertama : "); scanf("%d",&a);
printf("\nNilai Kedua : "); scanf("%d",&b);
c=a+b;
printf("\n%d + %d = %d",a,b,c);
getch();
main();
}

void kurang () {
int a,b,c;
printf("\nNilai Pertama : "); scanf("%d",&a);
printf("\nNilai Kedua : "); scanf("%d",&b);
c=a-b;
printf("\n%d - %d = %d",a,b,c);
getch();
main();
}

void kali () {
int a,b,c;
printf("\nNilai Pertama : "); scanf("%d",&a);
printf("\nNilai Kedua : "); scanf("%d",&b);
c=a*b;
printf("\n%d x %d = %d",a,b,c);
getch();
main();
}

void bagi () {
int a,b,c;
printf("\nNilai Pertama : "); scanf("%d",&a);
printf("\nNilai Kedua : "); scanf("%d",&b);
c=a/b;
printf("\n%d : %d = %d",a,b,c);
getch();
main();
}

LA Struktur Data ke-6

Listing Segitiga Bintang dengan Bahasa C

#include"stdio.h"
#include"conio.h"

int i,j,k,n;
void main() {
clrscr();
printf("Masukkan tinggi segitiga : ");
scanf("%d",&n);
printf("\n");
for (i=1;i<=n;i++) {
printf("\n");
for(j=1; j<=(n-i); j++) {
printf(" ");
}
for(k=1;k<=i;k++) {
printf("* ");
}
printf(" ");
}
getch();
}



bisaa~~ horeee~ terinspirasi sama Jaejoong oppa yang cantik :)