Teknik Steganography : Pengamanan file username & password di dalam gambar menggunakan kreasi steghide
Hallo, salam open source :)
Kali ini saya menulis artikel tetang security, teknik yang saya gunakan adalah teknik steganograpgy. Dan seperti biasa saya menjalankan teknik ini di sistem operasi linux Elementary OS.
Sebelum masuk ke tutorialnya, saya akan bercerita dulu sedikit gambaran tentang steganography. Teknik steganography sudah digunakan sejak 4000 tahun yang lalu di kota Menet Khufu, Mesir. Awalnya adalah penggunaan hieroglyphic, yaitu menulis menggunakan kombinasi karakter dalam bentuk gambar. Ahli tulis menggunakan tulisan Mesir kuno ini untuk menceritakan kehidupan majikannya. Tulisan Mesir kuno tersebut menjadi ide untuk membuat pesan rahasia saat ini. Oleh karena itulah, tulisan Mesir kuno yang menggunakan gambar dianggap sebagai steganografi pertama di dunia (dari buku pak Dony Ariyus, 2009).
Tidak hanya bangsa Mesir saja, bangsa-bangsa lain juga telah mengggunakan teknik steganografi pada masa lalu, yaitu :
Teknik steganografi yang lain digunakan oleh bangsa Romawi yang juga digunakan pada Perang Dunia II. Bangsa Cina menggunakan cara yang berbeda pula, yaitu manusia sebagai media pembawa pesan. Orang itu akan dicukur rambutnya sampai botak dan pesan akan dituliskan di kepalanya. Kemudian pesan akan dikirimkan ketika rambutnya sudah tumbuh. Pesan rahasia tersebut ditulis dengan tinta yang tidak tampak invisible ink, yaitu dengan menggunakan air sari buah jeruk, urin atau susu sebagai tinta untuk menulis pesan. Cara membacanya adalah dengan dipanaskan di atas api. Tinta yang sebelumnya tidak terlihat, ketika tekena panas akan menjadi gelap sehingga dapat dibaca.
Pada masyarakat Yunani kuno teknik yang digunakan adalah dengan menggunakan lilin sebagai media pembawa pesan. Lembaran pesan akan ditutup dengan lilin. Untuk melihat isi pesan, pihak penerima harus memanaskan lilin terlebih dahulu.
Pada Perang Dunia II, bangsa Jerman menggunakan microdots untuk berkomunikasi. Penggunaan teknik ini digunakan pada microfilm chip yang harus diperbesar sekitar 200 kali. Jerman menggunakan teknik ini untuk kebutuhan perang sehingga pesan rahasia strategi tidak diketahui pihak lawan. Karena pada saat itu teknik ini merupakan teknologi baru yang belum bisa digunakan lawan
Steganography menurut wikipedia, adalah seni dan ilmu menulis pesan tersembunyi atau menyembunyikan pesan dengan suatu cara sehingga selain si pengirim dan si penerima, tidak ada seorangpun yang mengetahui atau menyadari bahwa ada suatu pesan rahasia. Sebaliknya, kriptografi menyamarkan arti dari suatu pesan, tapi tidak menyembunyikan bahwa ada suatu pesan. Kata "steganografi" berasal dari bahasa Yunani steganos, yang artinya “tersembunyi atau terselubung”, dan graphein, “menulis”.
Steganography menurut wikipedia, adalah seni dan ilmu menulis pesan tersembunyi atau menyembunyikan pesan dengan suatu cara sehingga selain si pengirim dan si penerima, tidak ada seorangpun yang mengetahui atau menyadari bahwa ada suatu pesan rahasia. Sebaliknya, kriptografi menyamarkan arti dari suatu pesan, tapi tidak menyembunyikan bahwa ada suatu pesan. Kata "steganografi" berasal dari bahasa Yunani steganos, yang artinya “tersembunyi atau terselubung”, dan graphein, “menulis”.
Lalu seperti apa artian Steganography pada teknologi informasi?
Steganography adalah ilmu menyembunyikan teks pada media lain yang telah ada sedemikian sehingga teks yang tersembunyi menyatu dengan media tersebut. Media tempat penyembunyian pesan tersembunyi dapat berupa media teks, gambar, audio dan video. Steganography yang kuat memiliki sifat media yang telah tertanam teks tersembunyi sulit dibeakan dengan media asli namun teks tersembunyi tetap dapat diekstrasi.
Mirip dengan cryptography, yang membedakannya adalah cryptography hanya melakukan enkripsi tanpa melakukan embbed / penyisipan file yang kedalam sebuah file baru lagi. Steganography ada yang hanya melakukan penyisipan file saja, dan steganography yang bagus adalah steganography yang mealakukan enkripsi sekaligus penyisipan kedalam sebuah file baru lagi.
Tujuan dari steganography adalah merahasiakan atau menyembunyikan keberadaan dari sebuah pesan tersembunyi atau sebuah informasi. Dalam prakteknya, kebanyakan pesan disembunyikan dengan membuat perubahan tipis terhadap data digital lain yang isinya tidak akan menarik perhatian dari penyerang potensial, sebagai contoh sebuah gambar yang terlihat tidak berbahaya. Perubahan ini bergantung pada kunci (sama pada cryptography) dan pesan untuk disembunyikan. Orang yang menerima gambar kemudian dapat menyimpulkan informasi terselubung dengan cara mengganti kunci yang benar ke dalam algoritma yang digunakan.
Sudah cukup asik kan memahami steaganography. Kita tahu hal mendasarnya terlebih dahulu menjadikan kita terbaisa dengan hal-hal kecil yang baik dan semoga bermanfaat. Yeaah
Tutorial.
Oke, sekarang kita masuk ke praktiknya. Saya akan berbagi tutorial teknik steganography, yaitu pengamanan file username & password di dalam gambar menggunakan kreasi steghide pada linux elementary OS.
Yang pertama kita lakukan adalah memasang Steghide terlebih dahulu, kita bisa mengecek kedalam sistem linux kita setghide sudah terpasang atau belum.
Cukup ketikkan perintah :
$steghide
Jika belum terpasang, kita bisa memasanga steghide dengan perintah berikut :
$sudo apt-get install steghide
Jika sudah berhasil terpasang, muncul tampilan seperti ini :
$steghide
Steghide berhasil terpasang di linux.
Sebenarnya banyak tools / aplikasi yang bisa kita gunakan untuk melakukan teknik ini. Disini saya menggunakan aplikasi bernama steghide, aplikasi ini bersifat open source dan berjalan di platform linux family.
Steghide dapat menyembunyikan file jenis apapun ke dalam file dengan ekstensi JPEG, BMP, WAV dan AU. Dengan mengunakan perintah man, steghide terdapat beberapa opsi penggunaan diantaranya :
* -ef (embedfile)
* -cf (coverfile)
* -sf (stegofile)
Saya bercerita, dan pahamilah
Sedikit saya ceritakan kasusnya terlebih dahulu : Semisal ada detective bernama Shinichi Kudo ingin menyembunyikan username dan passwordnya dari akun Facebooknya, Shinichi merahasiakan username dan passwordnya menggunakan teknik steganography.
Shinichi menyediakan file gambar dengan format .jpg (detective.jpg) dan membuat file txt (secret.txt) berisi username dan password (pesan rahasia tersebut). Ketika pesan txt (secret.txt) berhasil disisipkan kedalam gambar (detective.jpg) dan dikunci dengan password baru, gambar yang sudah tersisipi file txt tersebut diberinama Stegofile dan bisa diekstrak.
Username dan password Shinichi berupa pesan rahasia, atau data yang diamankan secara rahasia. Data tersebut hanya diketahui oleh si pembuat pesan. Jadi ketika pesan itu dikirimkan, hanya si pembuat pesan dan penerima pesan yang bisa membongkar stegofile tersebut. Naum tujuan pengaman ini untuk personal saja (penyimpanan informasi pribadi / username & passwd yang penting).
Langkah 1.
Sediakan file gambar (detective.jpg) dan buat pesan (secret.txt) yang berisi username dan password dari Shinichi Kudo.
Sediakan file gambar (detective.jpg) dan buat pesan (secret.txt) yang berisi username dan password dari Shinichi Kudo.
Kita bisa mengisi pesan kedalam secret.txt menggunakan nano.
$nano secret.txt
Simpan dan keluar (ctrl+o, crtl+x).
Lihat, file gambar dan file pesan yang telah disiapkan. Ketikan ls.Langkah 2.
Kita perlu melakukan cek dari keaslian file menggunakan md5sum pada linux. Hal ini diperlukan untuk memastikan integritas dan keaslian dari data rahasia kita. Jika saat kita buat stegofilenya dan kita kirimkan, dan ketika stegofile diterima oleh penerima tetapi kode kreasi md5 berbeda / berubah dari pengirim dan penerima, bisa jadi stegofile yang kita kirimkan sudah dimodifikasi oleh cracker dan bisa jadi didalam file tersebut disisipi malware.
Hal-hal yang berkaitan dengan md5 banyak digunakan pada Digital Forensic.
Kita cek kedua-dua file yang kita gunakan (detective.jpg) & (secret.txt) dengan md5sum. Dan nilai md5 yang dihasilkan bisa kita bandingkan dan kita analisa dengan file ketika masih asli, dan ketika sudah kita sisipkan pesan (stegofile).
$md5sum detective.jpg
kreasi kode md5 detective.jpg : f83f29c50fbacb4420bfb3691ea7c4c7
$md5sum secret.txt
kreasi kode md5 secret.txt : 9d6e657c493926e3e91d8a6119020d26
Langkah 3.
Pada langkah ketiga inilah kita menggunkaan aplikasi yang bernama steghide. Oke, kita akan melakukan penyisipan file (secret.txt) ke dalam file (detective.txt). Perintahnya seperti berikut :
-cf : coverfile melakukan analisa dengan format AU, BMP, JPEG or WAV.
-ef : embedfile, melakukan penyisipan file asli (message) kedalam file gambar.
&& rm : menghapus pesan setelah dimasukkan ke dalam gambar.
Ketika kita melakukan penyisipan pesan, kita diminta untuk mengunci pesan kita dengan sebuah password baru.
Enter passphrase : masukkanpasswordstegofile
dan anda diminta mengulang passwordnya dengan benar.
Hal ini untuk pengamanan pesan kita juga, jadi yang bisa membuka / mengekstrak pesannya hanya yang tahu kunci / passwordnya.
$steghide embed -cf detective.jpg -ef secret.txt && rm secret.txt
ket : --embed : melakukan penyisipan dari gambar asli menjadi gambar stegofile-cf : coverfile melakukan analisa dengan format AU, BMP, JPEG or WAV.
-ef : embedfile, melakukan penyisipan file asli (message) kedalam file gambar.
&& rm : menghapus pesan setelah dimasukkan ke dalam gambar.
Ketika kita melakukan penyisipan pesan, kita diminta untuk mengunci pesan kita dengan sebuah password baru.
Enter passphrase : masukkanpasswordstegofile
dan anda diminta mengulang passwordnya dengan benar.
Hal ini untuk pengamanan pesan kita juga, jadi yang bisa membuka / mengekstrak pesannya hanya yang tahu kunci / passwordnya.
Lihat hasilnya dengan perintah ls. Untuk stegofile (detective.jpg) mengalami perubahan kreasi kode md5sum nya, karena stegofile sudah mengandung pesan tersembunyi.
file detective.jpg (gambar asli ) : f83f29c50fbacb4420bfb3691ea7c4c7file detective.jpg (stegofile ) : c070f794e89701ff93e3ff2fb8955112
Langkah 4.
Setelah kita melakukan penyisipan (embedded), dan pesan (stegofile) berhasil. Kita melakukan ekstraksi dari stegofile untuk melihat isi pesan.
Sebelumnya kita telah berhasil melakukan penyisipan, kita cek lagi menggunakan perintah ls. dan hasilnya : hanya ada file gambar (stegofile) saja yaitu detective.jpg.
Cara ekstraknya adalah :
Sebelumnya kita telah berhasil melakukan penyisipan, kita cek lagi menggunakan perintah ls. dan hasilnya : hanya ada file gambar (stegofile) saja yaitu detective.jpg.
Cara ekstraknya adalah :
$steghide -sf detective.jpg
Buka / masukkan kunci yang telah dibuat.
Setelah ekstraksi berhasil, cek kembali file hasil ekstraksi dengan perintah ls. Kita juga bisa langsung mengcek keaslisan pesan / informasi yang kita simpan. Jika kode kreasi masih sama. berarti pesan kita masih aman dan tidak berubah.
$ls
$md5sum secret.txt
Hasil md5 secret.txt : 9d6e657c493926e3e91d8a6119020d26 (masih sama dengan md5 ketika belum disisipkan).$md5sum secret.txt
Setelah pesan rahasia yang berisi username dan password dari detective Shinichi Kudo berhasil kita buka, oke sekarang bisa kita lihat isi pesannya secret.txt.
$cat secret.txt
Seperti itu sobat tutorial "Teknik Steganography : Pengamanan file username & password di dalam gambar menggunakan kreasi steghide pada linux elementary OS."
Semoga bermanfaat.
Thnak you :D
Semoga bermanfaat.
Thnak you :D
mantapp gann.. btw lebih afdol jika ditambah lagi cara cracking password secara bruteforce pada gambar yang telah disisipkan sebuah file. :D... klo nggk coba nanti saya bikin postingan ny.. :D
ReplyDeletebtw mampir ke blog ane ya agan-agan.. :D
http://sitakom.blogspot.com
Thank you gan, super deh sarannya. Nanti ane buat tutorialnya.
DeleteSaya sudah main ke Blog agan, keren-keren kontennya (y). Dan saya suka :D