Skip to main content

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”.

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.
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 :
$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 )  : f83f29c50fbacb4420bfb3691ea7c4c7
file 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 :
$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).

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

Comments

  1. 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

    btw mampir ke blog ane ya agan-agan.. :D

    http://sitakom.blogspot.com

    ReplyDelete
    Replies
    1. Thank you gan, super deh sarannya. Nanti ane buat tutorialnya.
      Saya sudah main ke Blog agan, keren-keren kontennya (y). Dan saya suka :D

      Delete

Post a Comment

Populer

Teknologi Perkabelan Pada Jaringan Komputer

Kabel pada jaringan komputer digunakan untuk menghubungkan satu perangkat dengan perangkat laiinya untuk keperluan komunikasi, berbagi resource dan lain sebagainya. Kabel merupakan media transmisi data yang lebih bagus dibandingkan teknologi nirkabel (tanpa kabel), media kabel lebih memiliki kecepatan yang tinggi, stabilititas serta jangkauan yang yang lebih jauh. Beberapa jenis kabel jaringan komputer adalah kabel coaxial , twisted pair , kabel fiber optic . Jenis kabel yang digunakan untuk jaringan komputer tergantung terhadap kebutuhan jaringan, protokol serta topologi jaringan. Ada beberapa situasi yang mengharuskan satu jenis kabel saja yang tepat untuk digunakan dan ada yang mengizinkan kombinasi dari beberapa kabel menyesuaikan kebutuhan jaringan komputer. Memahami kriteria-kriteria kabel untuk jenis jaringan komputer yang berbeda serta hubungannya dengan aspek lain didalam jaringan adalah penting untuk sistem jaringan yang optimal serta mudah dalam mengembangkan teknologi...

Empat text editor modern terbaik untuk programmer pengguna linux

Pekerjaan seorang programmer mengetikkan baris kode program untuk menciptakan sebuah aplikasi yang bisa digunakan dan bermanfaat. Dibutuhkan sebuah text editor bagi seorang programmer untuk menata serta mengurutkan baris-baris program yang sesuai agar bisa dijalankan. Hal ini, fungsionalitas sebuah text editor sangan berperan penting bagi seorang programmer untuk menciptakan sebuah program / aplikasi. Saat ini telah banyak text editor untuk  menempatkan baris dari kode-kode program. Mulai dari jaman dulu text editor yang sangat klasik seperti vi, vim, pico, nano dan emacs yang sekarang masih banyak digunakan oleh programmer advance untuk membantu pekerjaannya. Nah, saya akan memperkenalkan kepada kalian tentang texte editor modern yang sangat powerfull, cantik, dan kaya fitur menarik untuk memudahkan anda dalam mengetikkan kode program serta menambah semngat anda untuk terus berkreasi dan menciptakan sebuah aplikasi. Aplikasi text editor ini berbasis Open Source dan bi...

Layanan Keamanan Jaringan Komputer

International Telecomunication Union - Telecomunication Standardiation Sector (ITU-T) adalah lembaga Internasional yang mendifinisikan beberapa jenis layanan ( services ) dan mekanisme ( mechanism ) pada Keamanan Jaringan. Layanan keaman jaringan didefinisikan berdasarkan kebutuhan yang harus disediakan untuk memnuhi permintaan terhadap keamanan jaringan. Berikut pembahasan jenis-jenis layanan keamanan jaringan berdasarkan rekomendasi ITU-T pada dokumen X.800, (ITU-T,1991). Otentikasi ( Authentication ) Layanan Otentikasi ada 2 macam. Pertama disebut dengan Otentikasi Entitas ( Entity Authentication) yaitu layanan kemanan jaringan yang memberikan kepastian terhadap identitas sebuah entitas yang terlibat dalam komunikasi data. Kedua adalah Otentikasi Keaslian Data ( Data Origin Authentication) yaitu layanan yang memberikan kepastian terhadap sumber sebuah data.  Kendali Akses ( Access Control ) Kendali Akses adalah layanan keamanan jaringan yang menghalangi pen...