Read more: http://cheater-handal.blogspot.com/2011/05/cara-membuat-ucapan-selamat-tinggal-di.html#ixzz2VzHob9hY KONSEP RPC (Remote Procedure Call) | NOTE FOR LIFE

KONSEP RPC (Remote Procedure Call)

DEFINISI RPC
RPC adalah suatu protokol yang menyediakan suatu mekanisme komunikasi antar proses yang mengizinkan suatu program untuk berjalan pada suatu komputer tanpa terasa adanya eksekusi kode sistem yang jauh (remote system).
RPC digunakan untuk membangun aplikasi klien server yang terdistribusi. Didasarkan pada memperluas konsep konvensional dari suatu prosedur dimana nantinya mempunyai alamat sama dengan lokasi prosedur dipanggil. RPC mengasumsi keberadaan TCP atau UDP untuk membawa pesan data dalam komunikasi suatu program. Protokol RPC dibangun diatas protokol eXternal Data Representasi (XDR) yang merupakan sandar representasi data dalam komunikasi remote. Protokol RPC mengijinkan pengguna untuk bekerja dengan remote sebagaimana bekerja dengan prosedur lokal.

PROTOKOL MESSAGE RPC
a.              Didefinisikan dengan menggunakan deskripsi data XDR yang meliputi struktur, enumerasi, dan union.
b.             Membutuhkan faktor-faktor pendukung :
-            Spesifikasi yang unik untuk tiap procedure call
-            Respon message yang sesuai untuk tiap message yang diminta.
-            Otentifikasi klien untuk tiap layanan

STRUKTUR PROTOKOL MESSAGE RPC
a.              Call Message
-            Dilakukan oleh klien, dimana meminta server untuk mengeksekusi suatu prosedur.
-            Terdapat nilai-nilai unsigned integer yangdigunakan untuk mengidentifikasi prosedur remote, yang diminta adalah Nomor Program, Nomor Versi dari Program, dan Nomor Prosedur
b.             Reply Message
-            Dikirimkan oleh server jaringan, bervariasi tergantung apakah call message yang diminta klien diterima atau ditolak
-            Mengandung informasi:
1.          RPM mengeksekusi call message dengan sukses
2.         Implementasi remote tidak sesuai dengan protokol yang digunakan (versi yang lebih    tinggi atau lebih rendah ditolak)
3.          Program remote tidak tersedia pada sistem remote
4.          Program remote tidak mendukung versi yang diminta klien
5.          Nomor prosedur yang diminta tidak ada

FITUR DALAM RPC
1.              Batching Calls
Mengijinkan klien untuk mengirim message calls ke server dalam jumlah besar secara berurutan.
2.              Broadcasting Calls
Menijinkan klien untuk mengirimkan paket data ke jaringan dan menunggu balasan dari network.
3.              Callback Procedures
Mengijinkan server untuk bertindak sebagai klien dan melakukan PRC callback ke proses yang dijalankan klien.
4.              Select Subrutin
Memeriksa deskripsi suatu file dan messages dalam antrian untuk melihat apakah siap dibaca atau ditulis, atau ditahan. (mengijinkan server untuk menginterupsi suatu aktivitas)

OTENTIFIKASI RPC
-                 Otentifikasi adalah proses yang digunakan untuk mengidentifikasi server dan klien pada RPC.
-                 Bagian-bagian otentifikasi RPC, yaitu :
1.    Protokol Otentifikasi RPC
2.    Otentifikasi NULL
Digunakan pada sistem dimana pemanggil RPC tidak mengetahui identitasnya sendiri dan server tidak membutuhkan identitas pemanggil
3.    Otentifikasi UNIX
Digunakan pada prosedur remote dalam sistem UNIX
4.    Otentifikasi Data Encryption Standard
       Membutuhkan keyserv daemon yang harus berjalan baik di sisi server maupun klien.
5.    Protokol Otentifikasi DES
       Meliputi protokol penanganan DES pada proses otentifikasi RPC.
6.    Enkripsi Diffie-Hellman
       Digunakan pada pembuatan kunci publik pada otentifikasi DES dengan 192-bit kunci.
-                 RPC tidak berhubungan dengan kontrol akses terhadap layanan individual yang diberikan.
-                 Subsistem otentifikasi pada paket RPC bersifat open-ended, yaitu beberapa otentifikasi dapatdiasosiasikan pada RPC klien

BAHASA RPC
-                 Merupakan bahasa yang dikembangkan dari bahasa XDR dengan penambahan program definisi.
-                 Implementasi layanan protokol dan rutin menggunakan command rpcgen, yang bekorespondensi denga bahasa C.
Definisi dari bahasa RPC, yaitu :
1.    Definition
       File dengan bahasa RPC memiliki beberapa definisi, diantaranya adalah : enum, struct, union, typedef, const, dan program.
2.    Structure
      Struktur pada bahasa RPC dideklarasikan seperti pada pendeklarasian struktur dalam bahasa C
3.     Union
       Union pada bahasa RPC berbeda dengan bahasa C. Kemiripan lebih ditunjukkan dengan variasi pada bahasa Pascal
4.    Enumeration
       Enumerasi pada bahasa ini memiliki syntax yang sama dengan bahasa C.
5.    TypeDef
      Tipe Definisi ( Typedef ) pada bahasa ini memiliki syntax yang sama dengan typedef pada bahasa C.
6.    Constant
      Constant pada bahasa ini dapat digunakan jika variabel integer konstant dibutuhkan.
7.    Programs
      Program RPC dideklarasikan dengan syntax berikut secara berurutan : programdefiniton, version-list, version, procedure-list, procedure.
8.    Declarations
      Dalam bahasa  ini, terdapat  empat  jenis  tipe deklarasi  yaitu  :  simple declarations,  fixed length array declarations,  variable- length declaration, dan pointer declaration.

LAPISAN RPC
1.              Lapisan Tertinggi
-                 Merupakan lapisan yang bersentuhan langsung dengan sistem operasi, mesin, dan jaringan tempat RPC berjalan.
2.              Lapisan Menengah
-                 Merupakan implementasi dari RPC sesungguhnya.
-                 Layer ini merupakan layer yang digunakan untuk semua program RPC
-                 Pada layer ini terdapat rutin-rutin mengenai "registerrpc()", "callrpc", dan scv run.
-                 ”registerrpc() digunakan untuk memperoleh nomor unik dari tiap prosedur identifikasi dalam tiap sistem.
-                 ”callrpc()” digunakan untuk mengeksekusi prosedur remote
3.              Lapisan Terendah
-                 Merupakan lapisan yang mengatur tentang socket dan sistem call.
-                 Lapisan ini tidak memberikan data dan servis secara detail untuk dapat digunakan.
-                 Umumnya program yang dibuat untuk lapisan ini merupakan program yang paling efisien.

IMPLEMENTASI EKSPLOITASI RPC
-                 Digunakan beberapa tools untuk melakukan eksploitasi pada RPC.
-                 Pada contoh kasus ini, implementasi dilakukan pada LAN dengan host yang menggunakan SO Microsoft Windows XP.
-                 Tahapan eksekusi Eksploitasi :
1.       Deteksi sistem yang memiliki kelemahan
2.       Penyerangan terhadap sistem tersebut
3.       Eksekusi kode pada sistem yang telah ter-remote

LINK LAIN YANG BERKAITAN

REFERENSI :

0 komentar:

Posting Komentar