Kamis, 18 Oktober 2012

Tripwire

Tripwire berfungsi sebagai unix integrity checker yang bisa digunakan diberbagai platform linux dan Unix. Berikut adalah tulisan singkat yang membahas bagaimana cara mengimplementasikan Tripwire di Linux Redhat
1. Install tripwire
#yum install tripwire
2. Mengkonfigurasi tripwire
Ketika kita menginstall tripwire, akan terbentuk konfigurasi default yaitu: /etc/tripwire/tw.cfg Anda tidak bisa mengedit file ini karena file tersebut merupakan file binary terenkripsi, file versi cleartextnya adalah: /etc/tripwire/twcfg.txt. File ini adalah file yang bisa diubah-ubah untuk menyesuaikan kebutuhan. Berikut adalah contoh konfigurasi:
ROOT =/usr/sbin
POLFILE =/etc/tripwire/tw.pol
DBFILE =/var/lib/tripwire/$(HOSTNAME).twd
REPORTFILE =/var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr
SITEKEYFILE =/etc/tripwire/site.key
LOCALKEYFILE =/etc/tripwire/$(HOSTNAME)-local.key
EDITOR =/bin/vi
LATEPROMPTING =false
LOOSEDIRECTORYCHECKING =false
MAILNOVIOLATIONS =true
EMAILREPORTLEVEL =3
REPORTLEVEL =3
MAILMETHOD =SENDMAIL
SYSLOGREPORTING =false
MAILPROGRAM =/usr/sbin/sendmail -oi -t
Banyak dari konfigurasi diatas bisa dijelaskan secara intuitif, hal yang harus kita perhatikan disini adalah “DBFILE” file ini berisi database pembanding, sebagai acuan pengecekan integritas sistem, file ini harus disimpan sebagai file read-only. Jika ada keadaan yang dinilai “false” oleh tripwire, maka tripwire akan mereport hal tersebut, hal ini bisa diatur dibagian “MAILNOVIOLATION” jika kita mendefinisikan “true” maka email akan dikirimkan setiap kali tripwire check dijalankan, sebaiknya kita set “false” karena selain membuat email jadi penuh, intruder bisa jadi menyadari keberadaan tripwire di dalam suatu host yang hendak dia hack.
Berikut adalah hal-hal yang diubah untuk konfigurasi yang saya miliki:
MAILMETHOD =SMTP
SYSLOGREPORTING =false
SMTPHOST =mail.polkatistas.org
SMTPPORT =25
Buat key file untuk site dan local:
#twadmin –generate-keys –site-keyfile ./site.key
#twadmin –generate-keys –local-keyfile ./local.key
Setiap kali anda membuat konfigurasi dan juga konfigurasi policy maka anda akan diminta memasukan key
Setelah kita melakukan editing terhadap konfigurasi tripwire(twcfg.txt) maka kita harus jalankan perintah berikut untuk membuat versi binarynya:
#twadmin –create-cfgfile –site-keyfile ./site.key twcfg.txt
3. Membuat/mengedit policy
Policy di tripwire adalah otak dari tripwire, konfigurasi ini menspesifikan, apa yang harus dilihat, untuk apa dilihat dan apa yang harus kita lakukan. Tripwire mempunyai default policy, dan jika diperlukan ini bisa diubah tentusaja. Kita juga harus bisa memilah-milah file-file mana saja yang harus dimonitor, apa hal-hal yang tidak boleh berubah, sehingga jika berubah maka jadi indikasi adanya penyusupan sistem. Hal ini menjadi penting karena jika kita salah mendefinisikan terlalu strict ataupun terlalu longgar, maka bisa terjadi false positive alarm atau jadi ada intruder yang tidak terdeteksi.
a. Struktur dan syntax dari policy
Disini saya akan menjelaskan struktur file dan sintax dari policy tripwire
i. Definisi variabel:
TWROOT=/usr/sbin;
TWBIN=/usr/sbin;
TWPOL=”/etc/tripwire”;
TWDB=”/var/lib/tripwire”;
TWSKEY=”/etc/tripwire”;
TWLKEY=”/etc/tripwire”;
TWREPORT=”/var/lib/tripwire/report”;
HOSTNAME=ssintraappdev01.sampoernastrategic.com;
ii. Definisi variabel:
@@section FS
SEC_CRIT = $(IgnoreNone)-SHa ; # Critical files that cannot change
SEC_SUID = $(IgnoreNone)-SHa ; # Binaries with the SUID or SGID flags set
SEC_BIN = $(ReadOnly) ; # Binaries that should not change
SEC_CONFIG = $(Dynamic) ; # Config files that are changed infrequently but accessed often
SEC_LOG = $(Growing) ; # Files that grow, but that should never change ownership
SEC_INVARIANT = +tpug ; # Directories that should never change permission or ownership
SIG_LOW = 33 ; # Non-critical files that are of minimal security impact
SIG_MED = 66 ; # Non-critical files that are of significant security impact
SIG_HI = 100 ; # Critical files that are significant points of vulnerability
iii. Contoh konfigurasi
(
rulename = “Invariant Directories”,
severity = $(SIG_MED)
)
{
/ -> $(SEC_INVARIANT) (recurse = 0) ;
/home -> $(SEC_INVARIANT) (recurse = 0) ;
/etc -> $(SEC_INVARIANT) (recurse = 0) ;
}
Hal yang harus kita perhatikan sewaktu membuat policy adalah pastikan file-file ataupun folder yang dimonitor adalah yang memang benar-benar perlu dan memang ada di operating system anda. Silahkan sesuaikan, memang membutuhkan banyak waktu.
b. Buat policy
# twadmin –create-polfile twpol.txt
c. Hapus file text konfigurasi baik file konfigurasi tripwire maupun file konfigurasi policy:
# rm twpol.txt twcfg.txt
File konfigurasi berformat text ini bisa kita buat dari versi binarynya jika kita perlu mengubah policy dan konfigurasi tripwire:
#twadmin –print-polfile > twpol.txt
#twadmin –print-cfgfile > twcfg.txt
4. Inisialisasi database tripwire:
#tripwire –init
Dibagian ini pun anda akan diminta untuk mengisi passphrass yang ditanyakan, hasil dari perintah ini adalah database tripwire: /var/lib/tripwire/$(HOSTNAME).twd
5. Jalankan check secara rutin via crontab:
#tripwire –check
Output hasil check akan dibuat dalam twr file: /var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr
6. Setiap kali mengubah file yang tadi tertera dalam policy file jangan lupa lakukan step berikut:
#tripwire –update

Rabu, 17 Oktober 2012

Steganografi

Definisi Steganografi
 
Menurut Wikipedia, steganografi berasal dari bahasa Yunani yaitu steganos yang artinya adalah penyamaran ataupenyembuyian dan graphein yang artinya adalah tulisan. Sehingga, Steganografi 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.  

Sejarah Steganografi
Steganografi sudah dikenal oleh bangsa Yunani. Herodatus, penguasa Yunani, mengirim pesan rahasia dengan menggunakan kepala budak atau prajurit sebagai media. Dalam hal ini, rambut budak dibotaki, lalu pesan rahasia ditulis pada kulit kepala budak. Ketika rambut budak tumbuh, budak tersebut diutus untuk membawa pesan rahasia di balik rambutnya.

Bangsa Romawi mengenal steganografi dengan menggunakan tinta tak-tampak (invisible ink) untuk menuliskan pesan. Tinta tersebut dibuat dari campuran sari buah, susu, dan cuka. Jika tinta digunakan untuk menulis maka tulisannya tidak tampak. Tulisan di atas kertas dapat dibaca dengan cara memanaskan kertas tersebut.

 
Contoh Steganografi saat ini
Bisa diambil contohnya, si pengirim A ingin mengirim pesan teks (dalam berkas komputer) kepada si penerima B tanpa dicurigai oleh si C. Maka, dengan Steganografi, pesan teks yang ingin disampaikan oleh A ke B disisipkan dalam ke sebuah gambar. Dengan cara demikian, si A dapat dengan leluasa mengirim gambar ke B tanpa perlu dicurigai oleh C. Jadi, pesan yang disampaikan A ke B berubah ke wujud lain. 

Mengapa bisa demikian itu karena, setiap gambar memiliki pixel. Dengan manipulasi pixel, dapat ditemukan angka-angka tertentu yang nantinya bisa disesuaikan dengan alfabet teks pesan yang ingin disisipkan. dan Juga bisa dilakukan dengan pengaturan warna gambar. 

Itu hanya salah contoh, saat ini, penyisipan pesan tidak hanya dapat dilakukan di gambar saja. Tetapi, Steganografi juga dapat muncul dengan rupa lain seperti audio, artikel, daftar belanjaan, atau pesan-pesan lainnya. Pesan yang tertulis ini merupakan tulisan yang menyelubungi atau menutupi. Misal, suatu pesan bisa disembunyikan dengan menggunakan tinta yang tidak terlihat di antara garis-garis yang kelihatan.
Kriteria/syarat dalam Steganografi?
     Dalam membuat Steganografi ada 2 Kriteria, yaitu:
  1. Fidelity. Mutu citra penampung tidak jauh berubah. Setelah penambahan data rahasia, citra hasil steganografi masih terlihat dengan baik. pihak ketiga tidak mengetahui kalau di dalam citra tersebut terdapat data rahasia.
  2. Recovery. Data yang disembunyikan harus dapat diungkapkan kembali (recovery). karena tujuan steganografi adalah penyembunyian pesan, maka sewaktu-waktu pesan rahasia didalam citra penampung harus dapat diambil kembali untuk digunakan lebih lanjut.