Senin, 07 November 2016

Sniffing - Keamanan Jaringan Pertemuan 4


Latar Belakang
Jika anda pengguna komputer yang selalu terhubung pada jaringan / network, misalnya di kantor atau warnet, maka pengenalan pengetahuan salah satu term dalam dunia per hacking an, sniffing, menjadi sangat penting atau wajib. Terutama untuk Anda yang sering beraktifitas dengan melibatkan pengisian berkaitan username dan password, misal aktifitas per email an, elektronik-banking, maintenancemengenai website atau blog, pembelian barang/order di internet menggunakan credit card, dsb. Apa kaitannya sniffing dengan aktifitas yang mengunakan username dan password ? Mari kita bahas.
Pembahasan dan Solusi Masalah
·         Definisi SNIFFING
Saya ambil dari wikipedia Indonesia, : “Sniffer Paket (arti tekstual: pengendus paket — dapat pula diartikan ‘penyadap paket’) yang juga dikenal sebagai Network Analyzers atau Ethernet Sniffer ialah sebuah aplikasi yang dapat melihat lalu lintas data padajaringan komputer. Dikarenakan data mengalir secara bolak-balik pada jaringan, aplikasi ini menangkap tiap-tiap paket dan terkadang menguraikan isi dari RFC(Request for Comments) atau spesifikasi yang lain. Berdasarkan pada struktur jaringan (seperti hub atau switch), salah satu pihak dapat menyadap keseluruhan atau salah satu dari pembagian lalu lintas dari salah satu mesin di jaringan. Perangkat pengendali jaringan dapat pula diatur oleh aplikasi penyadap untuk bekerja dalam mode campur-aduk (promiscuous mode) untuk “mendengarkan” semuanya (umumnya pada jaringan kabel).”
Definisi singkatnya, SNIFFING, adalah penyadapan terhadap lalu lintas data pada suatu jaringan komputer. Contohnya begini, Anda adalah pemakai komputer yang terhubung dengan suatu jaringan dikantor. Saat Anda mengirimkan email ke teman Anda yang berada diluar kota maka email tersebut akan dikirimkan dari komputer Anda trus melewati jaringan komputer kantor Anda (mungkin melewati server atau gateway internet), trus keluar dari kantor melalui jaringan internet, lalu sampe di inbox email teman Anda. Pada saat email tersebut melalui jaringan komputer kantor Anda itulah aktifitas SNIFFING bisa dilakukan. Oleh siapa ? Bisa oleh administrtor jaringan yang mengendalikan server atau oleh pemakai komputer lain yang terhubung pada jaringan komputer kantor Anda, bisa jadi teman sebelah Anda. Dengan aktifitas SNIFFING ini email Anda bisa di tangkap / dicapture sehingga isinya bisa dibaca oleh orang yang melakukan SNIFFING tadi. Sangat berbahaya bukan ?
·         Potensial Bahaya dari SNIFFING
1. Hilangnya privacy
Seperti contoh di atas, jika email Anda bisa ditangkap oleh SNIFFER (orang yang melakukan SNIFFING) maka isi email menjadi tidak lagi bersifat privat / pribadi jika si Sniffer membaca isi email.
2. Tercurinya informasi penting dan rahasia
Password dan username adalah informasi rahasia yang bisa ditangkap oleh Sniffer dengan mudah saat si korban melakukan login di halaman website melalui internet. Jika username dan password tercuri maka dengan mudah si Sniffer mengantinya dengan yang baru kemudian mencuri semua informasi dalam halaman website yang dilindungi dengan password tersebut. Maka dengan begitu si korban hanya bisa gigit jari karena passwordnya telah diubah, sehingga dirinya tidak bisa login, dan isinya telah di acak-acak dan dicuri.
·         Cara melakukan SNIFFING
Biasanya SNIFFING ini dilakukan dengan menggunakan sebuah tool atau software Sniffer. Yang terkenal misalnya : CAIN & ABEL, ETHEREAL, TCPDUMP, ETTERCAP, DSNIFF, ETHERPEAK, AIROPEAK dll. Kemuadian apakah jika kita sudah memiliki tools Sniffing tersebut dengan mudah kita bisa melakukan penyadapan lalu lintas data di jaringan komputer ? Jawabannya, TIDAK MUDAH, sebab lalu lintas data yang ada di jaringan komputer bukan seperti yang tertulis di layar komputer korban. Data tersebut bisa jadi telah di encript atau di acak, sehingga perlu diterjemahkan terlebih dahulu. Mengenai cara lebih detail cara melakukan Sniffing ini, silahkan baca buku atua searching di internet, karena saya belum mempuyai kapasitas untuk mejelaskannya.
·         Mencegah SNIFFING
Hal ini mungkin yang terpenting dari artikel SNIFFING ini. Cara mencegah SNIFFING ini hampir tidak ada. Apakah pengunakan Antivirus yang original dan uptodate bisa mencegahnya ? TIDAK. Apakah penggunakan Firewall bisa mencegahnya ? TIDAK. Mengapa tidak ? Sebab SNIFFING dilakukan pada saat data sudah keluar dari komputer korban dan berada dijaringan komputer, sehingga si Sniffer tidak menyerang secara langsung ke komputer korban. Lalu bagaimana cara pencegahan SNIFFING ini ? Caranya adalah dengan tidak melakukan aktifitas yang sifatnya rahasia (misal, email, e-banking, chatting rahasia dll) pada suatu jaringan komputer yang belum Anda kenal, misanya warnet atau kantor yang memilii komputer yang sangat banyak yang dihubungkan dalam suatu jaringan. Anda harus mengenal orang-orang yang memegang komputer dalam jaringan tersebut. Kenalilah dengan baik apakah mereka pengguna komputer biasa atau pengguna komputer yang memiliki pengetahuan hacking. Gampangnya bila Anda berada pada suatu jaringan komputer yang belum dikenal, jadilah orang yang paranoid atau sangat berhati-hati dalam beraktifitas di dunia internet.
Berikut contoh tutorial sniffing di python
Kami belum menetapkan atribut atau metode di kelas rekening kami sederhana. Sekarang kita akan membuat sebuah instance dari kelas kosong ini:
>>> from Account import Account
>>> x = Account()
>>> print x
<Account.Account object at 0x7f364120ab90>
>>> 
Definisi Metode
 
Sebuah metode berbeda dari fungsi hanya dalam dua aspek:
 
itu milik kelas dan itu didefinisikan dalam kelas
parameter pertama dalam definisi metode harus menjadi referensi "diri" ke instance dari kelas
Metode ini disebut tanpa parameter ini "diri"
Kami memperpanjang kelas kami dengan mendefinisikan beberapa metode. Tubuh metode ini masih belum ditentukan:
class Account(object): 
 
    def transfer(self, target, amount): 
        pass 
 
    def deposit(self, amount): 
        pass 
 
    def withdraw(self, amount): 
        pass 
 
    def balance(self): 
        pass
constructor
Python tidak memiliki konstruktor eksplisit seperti C ++ atau Java, tapi __init __ () metode Python adalah sesuatu yang mirip, meskipun itu sesungguhnya tidak konstruktor. Berperilaku dalam banyak hal seperti konstruktor, misalnya itu adalah kode pertama yang dijalankan, ketika contoh baru dari kelas yang dibuat. nama suara juga seperti konstruktor "__init__". Tapi tegasnya itu akan salah untuk menyebutnya konstruktor, karena contoh baru sudah "dibangun" pada saat metode __init__ disebut.
Tapi bagaimanapun, metode __init__ digunakan - seperti konstruktor dalam bahasa pemrograman berorientasi objek lainnya - untuk menginisialisasi variabel instance dari objek. Definisi metode init terlihat seperti definisi metode lain:
def __init__(self, holder, number, balance,credit_line=1500): 
        self.Holder = holder 
        self.Number = number 
        self.Balance = balance
        self.CreditLine = credit_line
destructor
 
Apa yang kita katakan tentang konstruktor berlaku untuk destructors juga. Tidak ada "nyata" destructor, tetapi sesuatu yang mirip, yaitu metode __del__. Hal ini disebut ketika misalnya akan segera dihancurkan. Jika kelas dasar memiliki metode __del __ (), metode kelas turunan ini __del __ (), jika ada, harus secara eksplisit menyebutnya untuk memastikan penghapusan tepat dari bagian kelas dasar dari contoh.
Contoh berikut menunjukkan kelas dengan konstruktor dan destructor:
class Greeting:
    def __init__(self, name):
        self.name = name
    def __del__(self):
        print "Destructor started"
    def SayHello(self):
        print "Hello", self.name
Jika kita menggunakan kelas ini, kita bisa lihat, "del" tidak secara langsung menyebut __ __del () metode. Ini jelas bahwa destructor tidak disebut, ketika kita menghapus x1. Alasannya adalah bahwa del decrements jumlah referensi untuk objek x1 per satu. Hanya jika jumlah referensi mencapai nol, destructor disebut:
 
>>> from hello_class import Greeting
>>> x1 = Greeting("Guido")
>>> x2 = x1
>>> del x1
>>> del x2
Destructor started
 
Listing lengkap dari Account Class
 
class Account(object):
    def __init__(self, holder, number, balance,credit_line=1500):
        self.Holder = holder
        self.Number = number
        self.Balance = balance
        self.CreditLine = credit_line

    def deposit(self, amount):
        self.Balance = amount

    def withdraw(self, amount):
        if(self.Balance - amount < -self.CreditLine):
            # coverage insufficient
            return False 
        else:
            self.Balance -= amount
            return True

    def balance(self):
        return self.Balance

    def transfer(self, target, amount):
             if(self.Balance - amount < -self.CreditLine):
            # coverage insufficient
            return False 
        else:
            self.Balance -= amount
            target.Balance += amount
            return True
Jika kode tersebut disimpan di bawah Account.py, kita dapat menggunakan kelas dalam shell interaktif Python:
>>> import Account
>>> k = Account.Account("Guido",345267,10009.78)
>>> k.balance()
10009.780000000001
>>> k2 = Account.Account("Sven",345289,3800.03)
>>> k2.balance()
3800.0300000000002
>>> k.transfer(k2,1000)
True
>>> k2.balance()
4800.0300000000007
>>> k.balance()
9009.7800000000007
>>>
Misalnya kita memiliki cacat kecil: Kita dapat langsung mengakses atribut dari luar:

>>> k.balance()
9009.7800000000007
>>> k2.Balance
4800.0300000000007
>>> k2.Balance += 25000
>>> k2.Balance
29800.029999999999
>>>

Kesimpulan dan Saran

Jadi, Sniffing adalah aktifitas pengiriman atau transfer data atau file yang melalui jaringan yang sedang dilewati oleh data atau file tersebut. pada aktivitas sniffing ini memungkinkan terjadi penyadapan melalui jaringan komputer yang sedang dilewati data atau file.

Referensi
Data Diri
Nama               : Ketut Adi Wijanarko
NPM               : 1144031
Kelas/Prodi     : 3D - D4 Teknik Informatika
Kampus           : Poiteknik Pos Indonesia
Matakuliah      : Keamanan Jaringan



Tidak ada komentar:

Posting Komentar