Sabtu, Oktober 02, 2010

Makalah Sistem Terdistribusi

Diposting oleh erk_chubz di 23.23
Makalah

Komunikasi

Pengertian

Komunikasi data adalah merupakan bagian dari telekomunikasi yang secara khusus berkenaan dengan transmisi atau pemindahan data dan informasi diantara komputer-komputer   dan   piranti-piranti   yang   lain   dalam   bentuk   digital   yang dikirimkan melalui media komunikasi data. Data berarti informasi yang disajikan oleh isyarat  digital.  Komunikasi  data  merupakan  baguan  vital  dari  suatu  masyarakat informasi   karena   sistem   ini   menyediakan   infrastruktur   yang   memungkinkan komputer-komputer dapat berkomunikasi satu sama lain.


Komponen Komunikasi Data

-  Pengirim, adalah piranti yang mengirimkan data

-  Penerima, adalah piranti yang menerima data

-  Data, adalah informasi yang akan dipindahkan

-   Media   pengiriman,   adalah   media   atau   saluran   yang   digunakan   untuk mengirimkan data

-   Protokol, adalah aturan-aturan yang berfungsi untuk menyelaraskan hubungan.


 .................................................................. Gambar ...................................................................


Protokol

Pengertian

          Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer. Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras.

Dahulu, komunikasi antar komputer dari vendor yang berbeda adalah sangat sulit dilakukan, karena mereka mengunakan protokol dan format data yang berbeda-beda. Sehingga International Standards Organization (ISO) membuat suatu arsitektur komunikasi yang dikenal sebagai Open System Interconnection (OSI), model yang mendefinisikan standar untuk menghubungkan komputer-komputer dari vendor-vendor yang berbeda. Model-OSI tersebut terbagi atas 7 layer, yaitu: Physical Layer, Data Link, Network, Transport, Session, dan Application.

Saat ini telah ada protocol yang universal dan banyak digunakan dibandingkan protocol TCP/IP (Transfer Control Protocol / internet Protocol). TCP/IP diadopsi sebagai standar yang digunakan di seluruh dunia dalam komunikasi Internet. Adapun layer yang tersedia pada protokol TCP/IP, yaitu: Network Access, Internet, Transport, Application. Perbandingan secara umum antara protokol TCP/IP dan OSI, diantaranya :

–Pada TCP/IP, kontrol reliabilty dikonsentrasikan pada layer Transport. Layer Transport menangani semua kesalahan yang terdeteksi dan memulihkannya. Layer Transport TCP/IP menggunakan checsum, acknowledgment, dan timeout untuk mengontrol transmisi dan menyediakan verifikasi end-to-end.

–Sebuah standard yang diadopsi seluruh dunia (Internet)
–Protocol ada dulu, model TCP/IP menyesuaikan dengan protocol yang ada.
–Sebagai standard yang terkenal untuk internet working.

–OSI Jarang diimplementasikan (kompleks, mahal), lebih cenderung digunakan sebagai bahan pelajaran.


................................................................... Gambar ...................................................................


Layer-layer tersebut disusun sedemikian sehingga perubahan pada satu layer tidak membutuhkan perubahan pada layer lain. Layer teratas (5, 6 and 7) adalah lebih cerdas dibandingkan dengan layer yang lebih rendah; Layer Application dapat menangani protocol dan format data yang sama yang digunakan oleh layer lain, dan seterusnya. Jadi terdapat perbedaan yang besar antara layer Physical dan layer Aplication. Suatu permintaan, dihasilkan dari atas (contohnya Application Layer) diteruskan keenam layer di bawahnya yang setiap layer memiliki tugasnya masing-masing.

Model OSI Layer:

Application  Layer:   Menyediakan  jasa  untuk  aplikasi pengguna.  Layer  ini  bertanggungjawab  atas  pertukaran informasi antara program komputer, seperti program e- mail, dan service lain yang jalan di jaringan, seperti server printer atau aplikasi komputer lainnya.

Presentation Layer: Bertanggung jawab bagaimana data dikonversi  dan  diformat  untuk  transfer  data.  Contoh konversi format text ASCII untuk dokumen, .gif dan JPG untuk  gambar.  Layer  ini  membentuk  kode  konversi, translasi data, enkripsi dan konversi.

Session  Layer:   Menentukan  bagaimana  dua  terminal menjaga, memelihara dan mengatur koneksi,- bagaimana mereka saling  berhubungan satu sama lain. Koneksi di layer ini disebut ”session”.

Transport  Layer:   Bertanggung  jawab  membagi  data menjadi  segmen,  menjaga  koneksi  logika  “end-to-end” antar terminal, dan menyediakan penanganan error (error handling). Transport layer berfungsi untuk menerima data dari  session  layer, memecah data menjadi bagian-bagian yang lebih kecil, meneruskan data ke  network layer  dan menjamin semua potongan data tersebut bisa tiba di sisi penerima dengan benar.

Network Layer: Bertanggung jawab menentukan alamat jaringan,  menentukan  rute  yang  harus  diambil  selama perjalanan, dan menjaga antrian trafik di jaringan. Data pada layer ini berbentuk paket.

•   Fungsi    utama    dari    layer    network    adalah pengalamatan  dan  routing. Pengalamatan  pada layer  network  merupakan  pengalamatan  secara logical

•   Routing digunakan untuk pengarah jalur paket data yang akan dikirim.

•   Transport dari suatu informasi


Data  Link  Layer:   Menyediakan  link  untuk  data, memaketkannya  menjadi  frame  yang  berhubungan dengan “hardware” kemudian diangkut melalui media. komunikasinya   dengan   kartu   jaringan,   mengatur komunikasi layer physical  antara sistem koneksi dan penanganan error. Tugas utama data link layer adalah sebagai      fasilitas transmisi raw data dan mentransformasi data tersebut ke saluran yang bebas dari kesalahan transmisi.


Fungsi yang diberikan pada layer data link antara lain:

•       Arbitration, pemilihn media fisik untuk penentuan waktu   pengiriman   data,   metode   yang   dipakai CSMA/CD(Carrier     Sense     Multiple     Access /Collision Detection).

•       Addressing, pengalamatan bersifat fisik yaitu dgn MAC(media  Access  Control)  yang  ditanamkan pada interface perangkat jaringan.

•       Error  detection,  menentukan  apakah  data  telah berhasil  terkirim,  tekniknya  FCS(  Frame  Check Sequence) dan CRC(Cyclic Redundancy Check)

•       Identify Data Encapsulation.


Physical  Layer:  Bertanggung  jawab  atas  proses  data menjadi  bit  dan  mentransfernya  melalui  media,  seperti kabel, dan menjaga koneksi fisik antar sistem.Layer ini mengatur tentang bentuk interface yang berbeda-beda dari sebuah media transmisi. Spesifikasi yang berbeda misal konektor, pin, penggunaan pin,  arus listrik yang lewat, encoding,  sumber  cahaya  dll.  Secara  umum  masalah- masalah  desain  yang  ditemukan  di  sini  berhubungan secara  mekanik,  elektrik  dan  interface  prosedural,  dan media fisik yang berada di bawah physical layer.


Remote Procedure Call (RPC)

Pengertian

Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk  mengakses  sebuah  prosedur  yang  berada  di  komputer  lain.  Untuk  dapat melakukan   ini   sebuah server harus   menyediakan layanan remote procedure. Pendekatan yang dilakuan adalah sebuah  server membuka  socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak tahu harus menghubungi  port yang mana,  client bisa me-request kepada sebuah  matchmaker pada sebuah RPC  port yang tetap.  Matchmaker akan memberikan  port apa yang digunakan oleh prosedur yang diminta client.

RPC    masih    menggunakan    cara    primitif    dalam    pemrograman, yaitu menggunakan paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan banyak remote   procedure. RPC menggunakan socket untuk berkomunikasi dengan proses lainnya. Pada sistem seperti SUN, RPC secara default sudah ter-install kedalam sistemnya, biasanya RPC ini digunakan untuk administrasi sistem.  Sehingga  seorang  administrator  jaringan  dapat  mengakses  sistemnya  dan mengelola sistemnya dari mana saja, selama sistemnya terhubung ke jaringan.


Kelebihan RPC

ƒ   Relatif mudah digunakan :

Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak  perlu  memikirkan  low  level  details  seperti   socket,  marshalling  & unmarshalling.

ƒ Robust (Sempurna):

Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission- critical application yg memerlukan scalability, fault tolerance, & reliability.


Kekurangan RPC

ƒ   Tidak fleksibel terhadap perubahan:

-     Static relationship between client & server at run-time.

ƒ   Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.



Object Remote

Pendekatan  kedua  yang  akan  kita  bahas  adalah  Remote  Method  Invocation  (RMI), sebuah teknik pemanggilan method remote yang lebih secara umum lebih baik daripada RPC.  RMI  menggunakan  paradigma  pemrograman  berorientasi  obyek  (OOP).  Dengan RMI memungkinkan kita untuk mengirim obyek sebagai parameter dari remote method. Dengan  dibolehkannya  program  java  memanggil  method  pada  remote  obyek,  RMI membuat pengguna dapat mengembangkan aplikasi java yang terdistribusi pada jaringan Untuk  membuat  remote  method  dapat  diakses  RMI  mengimplementasikan  remote object menggukan stub dan skleton. Stub bertindak sebagai proxy disisi client, yaitu yang menghubungkan  client  dengan  skleton  yang  berada  disisi  server.  Stub  yang  ada  disisi client  bertanggung-jawab  untuk  membungkus  nama  method  yang  akan  diakses,  dan parameternya, hal ini biasa dikenal dengan marshalling. Stub mengirim paket yang sudah dibungkus  ini  ke  server  dan  akan  di  buka  (unmarshalling)  oleh  skleton.  Skleton  akan menerima hasil keluaran yang telah diproses oleh method yang dituju, lalu akan kembali dibungkus  (marshall)  dan  dikirim  kembali  ke  client  yang  akan  diterima  oleh  stub  dan

kembali dibuka paketnya (unmarshall).


Untuk  membuat  remote  obyek  kita  harus  mendefinisikan  semua  method  yang  akan kita  sediakan  pada  jaringan,  setelah  itu  dapat  digunakan  RMI  compiler  untuk  membuat stub  dan  skleton.  Setelah  itu  kita  harus  mem-binding  remote  obyek  yang  kita  sediakan kedalam sebuah RMI registry. Setelah itu client dapat mengakses semua remote method yang  telah  kita  sediakan  menggunkan  stub  yang  telah  dicompile  menggunakan  RMI compiler tersebut.


Akses ke Obyek Remote

Sekali  obyek  didaftarkan  ke  server,  client  dapat  mengakses  remote  object  dengan menjalankan  Naming.lookup()  method.  RMI  menyediakan  url  untuk  pengaksesan  ke remote   obyek   yaitu   rmi://host/obyek,   dimana   host  adalah   nama   server  tempat   kita mendaftarkan  remote  obyek  dan  obyek  adalah  parameter  yang  kita  gunakan  ketika  kita memanggil method Naming.rebind(). Client juga harus menginstall RMISecurityManager untuk memastikan keamanan client ketika membuka soket ke jaringan.

Java  memiliki  sistem  security  yang  baik  sehingga  user  dapat  lebih  nyaman  dalam melakukan  komunikasi  pada  jaringan.  Selain  itu  java  sudah  mendukung  pemorograman berorientasi object, sehingga pengembangan software berskala besar sangat dimungkinkan dilakukan  oleh  java.  RMI  sendiri  merupakan  sistem  terdistribusi  yang  dirancang  oleh SUN pada platfrom yang spesifik yaitu Java, apabila anda tertarik untuk mengembangkan sistem   terdistribusi   yang   lebih   portable   dapat   digunakan   CORBA   sebagai   solusi alternatifnya.



STUDI KASUS


RPC pada Windows 2000 Server

Tujuan utama penggunaan protokol RPC adalah untuk mempermudah komunikasi dalam pembangunan aplikasi klien - server yang terdistribusi. Namun dalam perkembangannya, seiring dengan perkembangan sistem operasi, protokol ini banyak disalah-gunakan. Hal ini terkait dengan kelemahan protokol ini yang dimanfaatkan oleh pihak-pihak tertentu untuk mendapatkan keuntungan atau sekedar untuk mengacaukan sistem yang berlaku. Tindakan ini disebut juga dengan eksploitasi RPC.

Kelemahan RPC pada Sistem Operasi Windows

Sistem operasi Microsoft Windows adalah salah satu sistem operasi yang mendukung protokol RPC. Sebagai sistem operasi yang paling banyak digunakan di seluruh dunia baik untuk PC Desktop maupun server, sistem operasi Windows menjadi salah satu sistem operasi yang banyak dijadikan target mulai dari serangan virus, worm, sampai trojan. Protokol RPC juga tidak luput menjadi sasaran serangan oleh pihak yang tidak bertanggung jawab.

Alasan penyerangan pada protokol ini disebabkan karena kemudahan ketergantungan sistem operasi Windows pada servis/layanan RPC. Banyak layanan pada sistem operasi ini yang didesain untuk bergantung pada layanan RPC, baik digunakan maupun tidak. Dan sayangnya, pengguna sistem operasi ini tidak dapat mengdisfungsikan layanan RPC.

Pengguna bisa saja menggunakan firewall untuk memblok port RPC, namun karena sistem operasi Windows terlalu bergantung pada mekanisme RPC sebagai fungsi dasarnya maka hal ini kadang-kadang tidak berhasil. Bahkan sebagai studi kasus, pada sistem operasi Windows Server 2003 terdapat kelemahan pada fungsi RPC itu sendiri ( Informasi lengkapnya dapat dilihat pada tabel kelemahan sistem operasi ini pada lampiran ).

Kelemahan protokol RPC pada sistem operasi ini terletak pada fungsi RPC yang berhubungan dengan pertukaran message melalui protokol TCP/IP. Hal ini mempengaruhi bagian antar-muka Distributed Component Object Model (DCOM) yang berhubungan dengan RPC, yang akan mendengarkan ( listen ) port-port RPC yang tersedia.

DCOM adalah protokol yang berfungsi untuk mengaktifkan komponen pada perangkat lunak (software) agar dapat berkomunikasi langsung dengan jaringan. Protokol ini didesain untuk penggunaan jaringan multi tranport termasuk protokol Internet misalnya HTTP. RPC melalui HTTP v1 ( pada sistem operasi WIndows NT 4.0, Windows 2000 ) dan v2 ( Windows XP, Windows Server 2003 ) mempunyai suatu fitur baru yaitu mendukung protokol transportasi RPC yang mengijinkan RPC untuk beroperasi melalui port TCP 80 dan 443. Hal ini menyebabkan komunikasi antara klien dan server dapat dilakukan walaupun dalam pengawasan server proxy dan firewall. COM Internet Services ( COM ) mengijinkan DCOM untuk melakukan RPC melalui HTTP untuk komunikasi DCOM klien dan DCOM server.

Port Portmap 111 adalah nomor port yang paling banyak diakses, namun umumnya nomor port ini telah difilter oleh firewall. Kecenderungan lain berpindah pada nomor port lain yang dapat digunakan untuk mengirim pesan tertentu yang telah dimanipulasi, seperti port 135, 139, 445, 593 pada remote komputer. Melalui port-port ini maka seorang user dapat melakukan permintaan yang dapat mengekploitasi dengan menjalankan kode dengan hak sistem lokal. Berikut ini tabel protokol yang sering dimanfaatkan pada ekploitasi RPC :

Urutan Protokol yang digunakan oleh Endpoint

Mapper 


................................................................... Gambar ...................................................................

Masalah ini semuanya disebabkan oleh kelemahan pada servis RPCSS. Servis ini berhubungan dengan aktivasi DCOM. Kegagalan terjadi pada penanganan messages yang salah sehingga mempengaruhi aktivasi DCOM yang mendengarkan port UDP 135, 137, 138, 445 dan port TCP 135, 139, 445, 593. Ditambah port 80 dan 443 ( CIS atau RPC over HTTP ) jika diaktikan. Dengan kesalahan ini, maka seorang klien dapa menggunakan kegagalan ini untuk mengeksekusi kode yang dapat dijalankan pada server.

   Implementasi Eksploitasi RPC

Pada implementasi ini digunakan beberapa tools yang digunakan untuk melakukan eksploitasi pada RPC. Pada contoh kasus ini, implementasi dilakukan pada Local Area Network ( LAN ) dengan host yang menggunakan sistem operasi Microsoft Windows XP. Eksekusi eksploitasi ini dibagi menjadi beberapa tahap. Tahap pertama adalah deteksi sistem yang memiliki kelemahan ( vulnerability ). Tahap kedua adalah penyerangan terhadap sistem tersebut. Biasanya pada tahap ini digunakan program yang didesain khusus untuk mengeksploitasi RPC.

Pada contoh kasus ini digunakan program bernama ”Kaht”. Tahap terakhir adalah tahap eksekusi kode pada sistem yang telah ter-remote. Pada tahap ini, seorang penyerang dapat melakukan apa saja mulai dari pembuatan account user dengan hak administrator sampai pengambilan data pada sistem.

Deteksi Sistem
................................................................... Gambar ................................................................... 

................................................................... Gambar ...................................................................

Tools yang digunakan pada tahap ini adalah RPCScan v.2.03 buatan Foundstone.inc dan digunakan pada sistem operasi Microsoft Windows. Sebetulnya tujuan awal penggunaan perangkat ini adalah untuk mendeteksi sistem yang memiliki kelemahan keamanan bagi para Administrator, namun dapat dipakai untuk tujuan lain. Software ini dapat mendetaksi sistem operasi yang memiliki kelemahan yaitu pada layanan DCOM (Distributed Component Object Model). Sesuai dengan penjelasan pada bagian sebelumnya, layanan DCOM merupakan komponen yang berhubungan dengan servis RPC.

   Sistem yang memiliki Kelemahan

Sistem yang masih mengaktifkan layanan DCOM akan diberi status  ”Vulnerable” dan sebaliknya akan diberi status ”DCOM Disabled”( Figure 3.1).

Batasan pen-scan-an pada perangkat ini terbatas pada jaringan dengan protokol IP v4. Namun mengingat masih banyaknya sistem yang menganut protokol ini, maka implementasi pengecekan sistem dapat terjadi pada siapa saja. Serangan akan ditujukan pada sistem dengan keterangan Vulnerable.

    Eksploitasi Protokol RPC menggunakan Program

Pada tahap ini akan dilakukan eksploitasi protokol RPC, agar terjadi kekeliruan penanganan message dari penyerang ( host1 ) ke sistem yang diserang

................................................................... Gambar ...................................................................  

  ................................................................... Gambar ...................................................................  

( host2 ) sehingga host1 dapat melakukan eksekusi kode pada host2. Tools yang digunakan pada tahap ini adalah program bernama ”Kaht”. Program ini akan mengeksploitasi port 135 dari sistem yang terserang. Sistem yang akan diserang

adalah sistem dengan IP ”192.168.0.13”. Berikut ini tampilan eksekusi dari program ini :


Gambar diatas menyatakan bahwa host1( IP 192.168.0.87) telah berhasil masuk kedalam sistem remote pada host2 ( IP 192.168.0.13 ). Keberhasilan eksploitasi ini juga dapat dilihat pada kondisi port-port yang terhubung antara host1 dan host2. Sebelum tereksploitasi, tidak ada port TCP pada host1 yang terhubung dengan siapapun. Setelah ekploitasi pada host2 berhasil dilakukan, maka terlihat bahwa pada port 135 terjadi koneksi / koneksi sedang berjalan dan tersambung ( Figure 3.3 ). Dengan demikian maka pengeksekusian kode pada host2 oleh host1 dapat dilakukan. Sampai tahap ini, host1 hanya merupakan user dengan hak biasa saja. Berikutnya adalah implementasi pengeksekusian kode misalnya membuat account user baru dengan hak administrator.

  ................................................................... Gambar ...................................................................  

  ................................................................... Gambar ...................................................................  

  ................................................................... Gambar ...................................................................  

  ................................................................... Gambar ................................................................... 


Eksekusi Kode

Tahap ini merupakan tahap eksekusi kode yang diinginkan. Pada tahap ini host1 dapat melakukan melakukan apa saja. Pada contoh kasus ini akan dicoba untuk membuat sebuah account baru dengan hak seorang administrator. Setelah masuk pada sistem host2, maka gunakan perintah berikut untuk mengeksekusi pembuatan user baru :

net user tom2 /add

Kemudian hak user ini diubah menjadi hak Administrator :

net localgroup Administrators tom2 /add

Dengan demikian pada host2 akan didapatkan satu user baru bernama ”tom2”

Dengan hak seorang administrator 


  ................................................................... Gambar ...................................................................


Implementasi ini dapat dilakukan untuk tujuan baik, misalnya pada kasus hilangnya password seorang user yang memiliki hak sebagai Administrator. Namun pada dasarnya hal ini sendiri adalah kelemahan utama didalam sistem keamanan pada sistem operasi. Selain pembuatan user baru, eksekusi kode yang dapat dilakukan lainnya antara lain upload atau download data dari dan ke host2, perusakan sistem, dll.

Pencegahan Eksploitasi RPC

Pentingnya nilai informasi yang terkandung dalam suatu server atau sebuah komputer pribadi mengharuskan penggunanya baik user atau administrator harus melakukan tindakan preventif guna menghindari adanya kebocoran informasi ini. RPC sendiri adala suatu layanan yang vital dan ada di dalam setiap sistem operasi, khususnya sistem operasi Microsoft Windows yang bergantung pada jenis layanan ini. Oleh karena itu menghilangkan layanan RPC pada sistem operasi terasa lebih susah ketimbang dilakukan pengawasan ekstra terhadap layanan ini. Berikut ini adalah beberapa cara yang dapat digunakan untuk melakukan hal ini ( dikutip dari buletin keamanan Microsoft MS03-026 ):

Memblokir port 135, 137, 138 dan 445 pada UDP dan port 135, 149, 445, dan 593 pada TCP melalui Firewall. Disfungsikan COM Internet Services ( CIS ) dan RPC melalui HTTP yang

terutama pada jaringan remote yang menggunakan VPN (Virtual Private Network) atau sejenisnya.

·         Gunakan personal Firewall seperti Internet Connection Firewall.

·         Blokir semua port sering diekploitasi dengan menggunakan filter IPSEC.

·         Disfungsikan fitur DCOM pada setiap komputer atau server. Disabl DCOM on all affected machines

·         Khusus Sistem operasi buatan Microsoft, selalu update security Patch untuk meningkatkan keamanan  sistem operasi tersebut.

0 komentar:

Posting Komentar

 

erk^chubz~zone Copyright © 2009 Baby Shop is Designed by Ipietoon Sponsored by Emocutez