Lompat ke isi

Tugas KI: Email

10 April 2011

Tulisan ini adalah jawaban dari tugas kuliah Keamanan Sistem Informasi dengan dosen Pak Budi Rahardjo.

Di kuliah tentang keamanan aplikasi, Pak Budi menjelaskan tentang keamanan email, dan ujung-ujungnya memberi tugas berikut:

Anda diminta untuk melakukan dua hal:

  1. Kirimkan dua (2) attachment kepada diri Anda sendiri, kemudian lihat “raw file” dari berkas email tersebut. Tunjukkan bagaimana attachment diproses dalam email.
  2. Anda diminta untuk menyadap email dengan menggunakan tcpdump, wireshark, atau mailsnarf. (Pilih salah satu saja.) Tunjukkan bagaimana mail yang disadap itu.

Nah lho, disuruh nyadap :D

Baiklaah.

Untuk tugas pertama, saya menggunakan mail client Gmail.com, dan mengirimkan email berisi dua attachment file berikut:
- data asisten pti.xls
- superuser.apk

Gmail memiliki fitur ‘show original’ di mana kita dapat melihat raw file dari email yang kita terima. Dengan fitur tersebut, saya dapat melihat raw text email saya dan menemukan blok berikut:


Bagian yang diberi kotak merah adalah informasi yang menunjukkan keberadaan attachment dan identitasnya, sedangkan bagian yang berkotak biru adalah isi dari attachment tersebut.

Dari identitas attachment, dapat kita lihat bahwa encoding yang digunakan adalah base64. Dari info tersebut, saya mencoba untuk melakukan decoding dengan base64 decoder pada situs ini. Ternyata benar, plain text dari file txt dapat diperoleh:

Untuk tugas kedua, saya menggunakan tiga macam akun email, (1) akun Gmail berbasis web, (2) akun students.itb.ac.id berbasis web, dan (3) akun Gmail yang diakses dengan Thunderbird. Sniffer yang saya gunakan adalah Wireshark pada Ubuntu OS.

Pada percobaan pertama saya melakukan filtering protokol ‘smtp’ pada pengiriman antara ketiga akun tersebut. Ternyata hasilnya tidak ada satupun paket smtp yang ter-capture. Dari hasil googling dan bertanya pada beberapa teman, saya mendapat beberapa jawaban. Pengiriman melalui webmail tidak menggunakan paket smtp melainkan tcp port 80 berupa http/xml, hingga mail server gmail. Server gmail-lah yang akan mengirimkan paket smtp ke mail server tujuan. Untuk pengiriman melalui Thunderbird, saya mengecek port yang digunakan untuk outgoing server dan menemukan ternyata digunakan tcp port 993. Tetapi, hasil filtering untuk port tersebut pun tidak memberikan hasil.

Akhirnya, saya mendapat solusi dari seorang teman bernama Salik, bahwa paket http/xml yang berisi email dapat difilter menggunakan query ‘frame contains “string”‘.

Pada pengiriman dari akun webmail students ke gmail, untuk filter ‘frame contains gmail’ ter-capture paket berikut:

Pada pengiriman dari akun Gmail via Thunderbird ke akun students, dengan filter yang sama ter-capture paket berikut:

Nah, ternyata isi email terlihat jelas tanpa enkripsi apapun.

Moral of the story? Gunakan web-based mail client jika ingin mengirimkan email yang bersifat rahasia, paling tidak akan sedikit lebih aman. Tapi kalau isi emailnya tidak rahasia atau tidak penting, ya bebas saja :D

No comments yet

Tinggalkan Balasan

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Ubah )

Twitter picture

You are commenting using your Twitter account. Log Out / Ubah )

Facebook photo

You are commenting using your Facebook account. Log Out / Ubah )

Connecting to %s

Ikuti

Get every new post delivered to your Inbox.