Kamis, 11 November 2010
Membuat Robot Line Follower Sederhana
Secara sederhana, robot line follower adalah robot yang dapat bergerak mengikuti garis secara OTOMATIS! Sebenarnya, kalau pembaca googling, banyak sekali tutorial membuat robot line follower di internet, tapi hampir semuanya ribet dan menggunakan mikrokontroler yang belum dimengerti oleh bocah” smp dan sma yang banyak comment di postingan saya sebelumnya. Hehe.. Di bawah ini contoh robot line follower.
Nah..terlihat bukan di gambar ada sebuah ‘benda’ dengan roda yang dapat bergerak mengikuti garis / jalur berwarna hitam yang berbelok-belok. ‘Benda’ tersebut mengikuti garis dengan otomatis loh. Prinsip dasarnya, sama seperti manusia, mata digunakan untuk melihat, kaki/roda digunakan untuk berjalan, dan otak digunakan untuk berpikir. 3 Komponen utama pada setiap robot : mata, kaki, dan otak. Sama seperti penjelasan saya pada postingan sebelumnya, jangan pikirkan robot itu RIBET, pikirkan robot itu sederhana, jangan dulu mikir yang rumit-rumit, robot line follower yang sekarang akan saya tunjukkan adalah sesuatu yang SEDERHANA..! tanamkan kata” sederhana pada pikiran pembaca sebelum memulai.
Okeh..satu gambar lagi sebelum kita memulai tutorialnya.. Gambar di bawah ini adalah salah satu contoh track yang digunakan untuk lomba Line Follower Robot. Track yang cukup unik bukan? Sekarang udah kebayang kan robot yang mau dibuat seperti apa?
2. Sensor (Rangkaian Photo Dioda)
Sensor dapat dianalogikan sebagai ‘mata’ dari sebuah robot. Mata di sini digunakan untuk ‘membaca’ garis hitam dari track robot. Kapan dia akan berbelok ke kanan, kapan dia berbelok ke kiri. Semua berawal dari mata bukan? Kita sebagai manusia tahu arah kita berjalan karena kita memiliki mata. Yaah, sama seperti robot.
Pada robot line follower, sensor robot yang dapat digunakan ada 3 jenis, yaitu LDR (Light Dependent Resistor), Photo Dioda, dan Photo Transistor. Saya tidak akan menjelaskan satu” secara detail, di sini kita gunakan photo dioda sebagai sensor robot. Kalau yang masih penasaran dengan sensor lainnya, silahkan tanya om google saja.
Nah..gambar di samping kanan adalah 1 pasang sensor yang akan kita gunakan pada robot line follower. Bentuknya mirip seperti LED, yang berwarna ungu bernama receiver (photo dioda) dan yang berwarna bening bernama transmitter (infrared). Kalau pembaca ingin membeli di toko elektronik, bilang saja 1 pasang infrared sensor. Untuk membuat robot ini, kita gunakan 4 pasang sensor seperti di kanan. Sip? Murah koQ, satu pasangnya 3 ribu rupiah..hehe..
Kemudian, setelah kita mengetahui sensor apa yang akan kita pakai, coba buat dulu rangkaian seperti di bawah ini untuk setiap 1 pasang sensor :
Nah, untuk 4 pasang sensor..kita perlu membuat 4 rangkaian seperti di samping kiri ini. Cara kerjanya cukup sederhana, hanya berdasarkan pembagi tegangan. Penjelasan di paragraf berikutnya aja yaa..hehe.. Lambang LED yang berwarna hitam adalah transmitter atau infrarednya yang memancarkan cahaya infrared terus menerus jika disusun seperti rangkaian di samping. Lambang LED yang kanan adalah receiver atau photo dioda-nya yang menangkap cahaya infrared yang ada di dekatnya. INGAT masang photo dioda-nya HARUS terbalik, seperti gambar rangkaian di samping. Dari rangkaian sensor ini, kita ambil OUTPUT (to comparator, A/D converter, dll) yang ditunjukkan oleh gambar di samping.
Sekarang pertanyaannya, koQ lucu yaa sensor CUPU kaya gitu bisa baca garis? Cara kerjanya ditunjukkan oleh gambar di bawah ini.
Ketika transmitter (infrared) memancarkan cahaya ke bidang berwarna putih, cahaya akan dipantulkan hampir semuanya oleh bidang berwarna putih tersebut. Sebaliknya, ketika transmitter memancarkan cahaya ke bidang berwarna gelap atau hitam, maka cahaya akan banyak diserap oleh bidang gelap tersebut, sehingga cahaya yang sampai ke receiver tinggal sedikit. Nah, artinya kita sudah bisa membedakan pembacaan garis dari sensor bukan? Kalau kita sudah tahu, perbedaan cahaya yang diterima oleh receiver akan menyebabkan hambatan yang berbeda-beda di dalam receiver (photo dioda) tersebut. Ilustrasinya seperti gambar di bawah ini.
Kalau cahaya yang dipancarkan ke bidang putih, sensor akan :
Sebaliknya, kalau cahaya yang dipantulkan oleh bidang hitam, maka sensor akan :
Setelah kita tahu ilustrasi sensor, tinjau kembali rangkaian sensornya, bisa kita analogikan seperti :
Tadi kita tahu kalau hambatan receiver berubah-ubah, jadi otomatis rangkaian sensor yang bagian kanan bisa kita analogikan seperti gambar. Receiver bisa kita analogikan dengan resistor variabel, yaitu resistor yang nilai hambatannya bisa berubah. Otomatis, dengan pembagi tegangan, nilai tegangan di output rangkaian juga akan berubah-ubah bukan? Jadi, baca putih akan mengeluarkan output dengan tegangan rendah (sekitar 0 Volt) dan baca hitam akan mengeluarkan output dengan tegangan tinggi (mendekati Vcc = 5 Volt). Kalau rangkaian sensor pembaca sudah jadi, bisa dibandingkan dengan punya saya yang ditunjukkan oleh gambar di bawah ini.
Processor yang kita gunakan di sini bukanlah processor” canggih seperti intel dan amd. Bahkan, kita sama sekali TIDAK menggunakan mikrokontroler, karena saya anggap mikrokontroler cukup rumit untuk ukuran smp dan sma. Dalam hal ini, kita gunakan 2 IC (integrated circuit) saja, yaitu 1 buah LM339 (Komparator) dan 1 buah 74LS00 (NAND gate). Simple bukan? Di bawah ini gambar kedua IC tersebut :
IC LM339 biasa disebut sebagai komparator. Yah, dari istilahnya saja sudah ketahuan kalau gunanya adalah untuk meng-compare (membandingkan). Dengan kata lain, sesuatu yang berbentuk analog harus dikonversi dulu ke dalam bentuk digital (deretan biner) pada dunia elektronika. Hal ini bertujuan untuk mempermudah processing. Gambar di bawah ini adalah datasheet LM339. Coba perhatikan dulu sebentar
Nah, 1 IC LM339 terdiri dari 4 buah komparator (yang berbentuk segitiga ). Knapa kita hanya gunakan 1 buah IC ini? Soalnya kita juga hanya menggunakan 4 buah sensor. Kemudian, tinjau bagian komparator yang di sebelah kanan.
Satu buah komparator terdiri dari 2 input, yaitu Vin (input masukan dari sensor) dan Vref (tegangan referensi). Pada dasarnya, jika tegangan Vin lebih besar dari Vref, maka Vo akan mengeluarkan logika 1 yang berarti 5 Volt atau setara dengan Vcc. Sebaliknya, jika tegangan Vin lebih kecil dari Vref, maka output Vo akan mengeluarkan logika 0 yang berarti 0 Volt. Knapa kita bisa membandingkan seperti ini? Nah, seperti yang sudah saya bahas di poin sensor, sensor akan menghasilkan tegangan yang berbeda-beda ketika dia membaca bidang putih atau hitam kan?
Kemudian, jangan lupa untuk menambahkan resistor pull-up di keluaran komparator (Vo). Hal ini disebabkan oleh perilaku IC LM339 yang hanya menghasilkan logika 0 dan Z (bukan logika 1), sehingga si logika Z ini harus kita tarik ke Vcc dengan resistor pull-up agar menghasilkan logika 1. Sip?
Setelah digabung dengan sensor, ilustrasi rangkaian menjadi seperti ini.
IC 74LS00 merupakan “NAND gate” yang berguna dalam teknologi digital. NAND gate terkait dengan logika 0 dan 1 serta merupakan gate yang paling simple dan bisa merepresentasikan semua jenis gate yang ada. Saya rasa bocah smp atau sma blom bisa memahami bagian ini. Jadi saya skip saja.. Di bawah ini adalah datasheet IC 74LS00.
Sekarang kita tinjau, bagaimana cara motor bekerja ketika robot berbelok ke kiri dan ke kanan. Lihat ilustrasi di bawah ini ketika robot akan berbelok ke arah kanan.
Kemudian, lihat ilustrasi di bawah ini ketika robot akan berbelok ke arah kiri.
Nah..Ketika robot bergerak lurus, motor akan menyala dua”nya.
Nah..Sekarang knapa tiba” muncul transistor?!
Jawabannya cukup simple. Output dari IC NAND tidak mungkin kuat untuk mendrive transistor. Kalau saya tidak salah, output IC hanya sekitar 2 V. Jadi, kita membutuhkan sambungan langsung motor ke baterai untuk menggerakkannya. Knapa kita pakai transistor? Ada yang tahu apa guna transistor?
Transistor dapat berfungsi sebagai saklar / switch on off. Motor tidak menyala terus menerus bukan? Sudah saya jelaskan di bab sebelumnya, pada jalur tertentu motor akan mati dan menyala. Nah,, nyala mati motor tersebut diatur oleh transistor. Transistor yang digunakan di sini adalah NPN. Pada dunia elektronika, transistor terdiri dari dua jenis, yaitu PNP dan NPN. Berikut ilustrasi gampangnya terkait dengan motor.
Jadi, sejauh ini kita punya rangkaian lengkap seperti di bawah ini.
9. Mekanik
Hmm..
sebenarnya,,jujur saja saya kurang mengerti bagian mekanik. Soalnya saya bukan orang mesin..hehe.. Saya cuma tahu sedikit tips, yaitu buat gear yang besar” agar torsi-nya besar. Jadi, robotnya bisa berbelok dengan kuat. Kalau torsi kecil, robot akan sulit untuk berbelok. Gampangnya gitu aja..hehe..
10. PCB Layout
Berikut ini pcb layout dari sensor robot line follower, terdiri dari 4 sensor. Layout PCB ini dibuat dengan menggunakan software eagle.
Di bawah ini layout pcb dari rangkaian processor, yang terdiri dari 1 IC NAND dan 1 IC komparator.
yang jadinya akan seperti gambar di bawah ini
Sumber : http://pentriloquist.wordpress.com/2009/01/09/membuat-robot-line-follower-sederhana/#blogkonten4
Kamis, 04 November 2010
Rabu, 03 November 2010
Penggunaan sistem pemantau jaringan
Sistem pemantau jaringan (network monitoring) dapat digunakan untuk mengetahui adanya lubang keamaman. Misalnya apabila anda memiliki sebuah server yang semetinya hanya dapat diakses oleh orang dari dalam, akan tetapi dari pemantau jaringan dapat terlihat bahwa ada yang mencoba mengakses melalui tempat lain. Selain itu dengan pemantau jaringan dapat juga dilihat usaha-usaha untuk melumpuhkan sistem dengan melalui denial of service attack (DoS) dengan mengirimkan packet yang jumlahnya berlebihan. Network monitoring biasanya dilakukan dengan menggunakan protokol SNMP (Simple Network Management Protocol). Pada saat buku ini ditulis, SNMP versi 1 yang paling banyak digunakan meskipun SNMP versi 2 sudah keluar. Sayangnya, tingkat keamanan dari SMNP versi 1 sangat rendah sehingga memungkinkan penyadapan oleh orang yang tidak berhak Contoh-contoh program network monitoring / management antara lain:
• Etherboy (Windows), Etherman (Unix)
• HP Openview (Windows)
• Packetboy (Windows), Packetman (Unix)
• SNMP Collector (Windows)
• Webboy (Windows)
Contoh program pemanatu jaringan yang tidak menggunakan SNMP antara lain:
• iplog, icmplog, updlog, yang merupakan bagian dari paket iplog untuk memantau paket IP, ICMP, UDP.
• iptraf, sudah termasuk dalam paket Linux Debian netdiag
• netwatch, sudah termasuk dalam paket Linux Debian netdiag
• ntop, memantau jaringan seperti program top yang memantau proses di sistem Unix
• trafshow, menunjukkan traffic antar hosts dalam bentuk text-mode
Contoh peragaan trafshow di sebuah komputer yang bernama epson, dimana ditunjukkan sesi ssh (dari komputer compaq) dan ftp (dari komputer notebook).
epson (traffic) 0 days 00 hrs 00 min 46 sec
tcp epson.insan.co.id ssh compaq 558 3096 832
tcp epson.insan.co.id ftp notebook 1054 422 381
9K total, 0K bad, 0K nonip - 9K tcp, 0K udp, 0K icmp, 0K unkn
Mendeteksi Probling
Apabila anda seorang sistem administrator, anda dapat memasang program yang memonitor adanya probing ke sistem yang anda kelola. Probing biasanya meninggalkan jejak di berkas log di sistem anda. Dengan mengamati entry di dalam berkas log dapat diketahui adanya probing.
root# tail /var/log/syslog
May 16 15:40:42 epson tcplogd: "Syn probe"
notebook[192.168.1.4]:[8422]->epson[192.168.1.2]:[635]
May 16 15:40:42 epson tcplogd: "Syn probe"
notebook[192.168.1.4]:[8423]->epson[192.168.1.2]:ssl-ldap
May 16 15:40:42 epson tcplogd: "Syn probe"
notebook[192.168.1.4]:[8426]->epson[192.168.1.2]:[637]
May 16 15:40:42 epson tcplogd: "Syn probe"
notebook[192.168.1.4]:[8429]->epson[192.168.1.2]:[638]
May 16 15:40:43 epson tcplogd: "Syn probe"
notebook[192.168.1.4]:[8430]->epson[192.168.1.2]:[639]
May 16 15:40:43 epson tcplogd: "Syn probe"
notebook[192.168.1.4]:[8437]->epson[192.168.1.2]:[640]
May 16 15:40:43 epson tcplogd: "Syn probe"
notebook[192.168.1.4]:[8441]->epson[192.168.1.2]:[641]
May 16 15:40:43 epson tcplogd: "Syn probe"
notebook[192.168.1.4]:[8445]->epson[192.168.1.2]:[642]
May 16 15:40:43 epson tcplogd: "Syn probe"
notebook[192.168.1.4]:[8454]->epson[192.168.1.2]:[643]
Contoh di atas menunjukkan entry di berkas syslog dimana terjadi probing dari komputer yang di beri nama notebook dengan nomor IP 192.168.1.4. Selain itu, ada juga program untuk memonitor probe seperti paket program courtney, portsentry dan tcplogd.
OS fingerprinting
Mengetahui operating system (OS) dari target yang akan diserang merupakan salah satu pekerjaan yang dilakukan oleh seorang cracker. Setelah mengetahui OS yang dituju, dia dapat melihat database kelemahan sistem yang dituju. Fingerprinting merupakan istilah yang umum
digunakan untuk menganalisa OS sistem yang dituju. Fingerprinting dapat dilakukan dengan berbagai cara. Cara yang paling konvensional adalah melakukan telnet ke server yang dituju. Jika server tersebut kebetulan menyediakan servis telnet, seringkali ada banner yang menunjukkan nama OS beserta versinya.
unix% telnet 192.168.1.4
Trying 192.168.1.4...
Connected to 192.168.1.4.
Escape character is '^]'.
Linux 2.0.33 (rock.pau-mikro.org) (ttyp0)
login:
Apabila sistem tersebut tidak menyediakan servis telnet akan tetapi menyediakan servis FTP, maka informasi juga sering tersedia. Servis FTP tersedia di port 21. Dengan melakukan telnet ke port tersebut dan memberikan perintah “SYST” anda dapat mengetahui versi dari OS yang digunakan seperti contoh di bawah ini.
unix% telnet ftp.netscape.com 21
Trying 207.200.74.26...
Connected to ftp.netscape.com.
Escape character is '^]'.
220 ftp29 FTP server (UNIX(r) System V Release 4.0) ready.
SYST
215 UNIX Type: L8 Version: SUNOS
Jika server tersebut tidak memiliki FTP server akan tetapi menjalankan Web server, masih ada cara untuk mengetahui OS yang digunakan dengan menggunakan program netcat (nc) seperti contoh di bawah ini (dimana terlihat OS yang digunakan adalah Debian GNU):
$ echo -e "GET / HTTP/1.0\n\n" | nc localhost 80 | \
grep "^Server:"
Server: Apache/1.3.3 (Unix) Debian/GNU
Cara fingerprinting yang lebih canggih adalah dengan menganalisa respon sistem terhadap permintaan (request) tertentu. Misalnya dengan menganalisa nomor urut packet TCP/IP yang dikeluarkan oleh server tersebut dapat dipersempit ruang jenis dari OS yang digunakan. Ada beberapa tools untuk melakukan deteksi OS ini antara lain:
• nmap
• queso
Berikut ini adalah contoh penggunaan program queso untuk mendeteksi OS dari sistem yang menggunakan nomor IP 192.168.1.1. Kebetulan sistem ini adalah sistem Windows 95.
unix# queso 192.168.1.1
192.168.1.1:80 * Not Listen, Windoze 95/98/NT
Penggunaan program penyerang
Salah satu cara untuk mengetahui kelemahan sistem informasi anda adalah dengan menyerang diri sendiri dengan paket-paket program penyerang (attack) yang dapat diperoleh di Internet. Dengan menggunakan program ini anda dapat mengetahui apakah sistem anda rentan dan dapat
dieksploitasi oleh orang lain. Perlu diingat bahwa jangan menggunakan program-program tersebut untuk menyerang sistem lain (sistem yang tidak anda kelola). Ini tidak etis dan anda dapat diseret ke pengadilan. Beberapa program penyerangan dicontohkan di Bab “Eksploitasi
Keamananan”. Selain program penyerang yang sifatnya agresif melumpuhkan sistem yang dituju, ada juga program penyerang yang sifatnya melakukan pencurian atau penyadapan data. Untuk penyadapan data, biasanya dikenal dengan istilah “sniffer”. Meskipun data tidak dicuri secara fisik (dalam artian menjadi hilang), sniffer ini sangat berbahaya karena dia dapat digunakan untuk menyadap password dan informasi yang sensitif. Ini merupakan serangan terhadap aspek privacy. Contoh program penyadap (sniffer) antara lain:
• pcapture (Unix)
• sniffit (Unix)
• tcpdump (Unix)
• WebXRay (Windows)
bersambung ke : Penggunaan sistem pemantau jaringan
Penguji keamanan sistem
Dikarenakan banyaknya hal yang harus dimonitor, administrator dari sistem informasi membutuhkan “automated tools”, perangkat pembantu otomatis, yang dapat membantu menguji atau meng-evaluasi keamanan sistem yang dikelola. Untuk sistem yang berbasis UNIX ada beberapa tools yang dapat digunakan, antara lain:
• Cops
• Tripwire
• Satan/Saint
• SBScan: localhost security scanner
Untuk sistem yang berbasis Windows NT ada juga program semacam, misalnya program Ballista yang dapat diperoleh dari: Selain program-program (tools) yang terpadu (integrated) seperti yang terdapat pada daftar di atas, ada banyak program yang dibuat oleh hackers untuk melakukan “coba-coba”. Program-program seperti ini, yang cepat sekali bermunculuan, biasanya dapat diperoleh (download) dari Internet melalui tempat-tempat yang berhubungan dengan keamanan, seperti misalnya “Rootshell”. (Lihat “Sumber informasi dan organisasi yang berhubungan dengan keamanan sistem informasi” on page 153.) Contoh
program coba-coba ini antara lain:
• crack: program untuk menduga atau memecahkan password dengan menggunakan sebuah atau beberapa kamus (dictionary). Program crack ini melakukan brute force cracking dengan mencoba mengenkripsikan sebuah kata yang diambil dari kamus, dan kemudian membandingkan hasil enkripsi dengan password yang ingin dipecahkan. Bila belum sesuai, maka ia akan mengambil kata selanjutnya, mengenkripsikan, dan membandingkan kembali. Hal ini dijalankan terus menerus sampai semua kata di kamus dicoba. Selain menggunakan kata langsung dari kamus, crack juga memiliki program heuristic dimana bolak balik kata (dan beberapa modifikasi lain) juga dicoba. Jadi, jangan sekali-kali menggunakan password yang terdapat dalam kamus (bahasa apapun).
• land dan latierra: program yang dapat membuat sistem Windows 95/NT menjadi macet (hang, lock up). Program ini mengirimkan sebuah paket yang sudah di”spoofed” sehingga seolah-olah paket tersebut berasal dari mesin yang sama dengan menggunakan port yang terbuka (misalnya port 113 atau 139).
• ping-o-death: sebuah program (ping) yang dapat meng-crash-kan Windows 95/NT dan beberapa versi Unix.
• winuke: program untuk memacetkan sistem berbasis Windows
Probing Services
Servis di Internet umumnya dilakukan dengan menggunakan protokol TCP atau UDP. Setiap servis dijalankan dengan menggunakan port yang berbeda, misalnya:
• SMTP, untuk mengirim dan menerima e-mail, TCP, port 25
• DNS, untuk domain, UDP dan TCP, port 53
• HTTP, web server, TCP, port 80
• POP3, untuk mengambil e-mail, TCP, port 110
Contoh di atas hanya sebagian dari servis yang tersedia. Di sistem UNIX, lihat berkas /etc/services dan /etc/inetd.conf untuk melihat servis apa saja yang dijalankan oleh server atau komputer yang bersangkutan. Berkas /etc/services berisi daftar servis dan portnya, sementara berkas /etc/inetd.conf berisi servis-servis yang di jalan di server UNIX tersebut. Jadi tidak semua servis dijalankan, hanya servis yang dibuka di /etc/inetd.conf saja yang dijalankan. Selain itu ada juga servis yang dijalankan tidak melalui inetd.conf melainkan dijalankan sebagai daemon yang berjalan di belakang layar.
unix% more /etc/services
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users
daytime 13/tcp
daytime 13/udp
netstat 15/tcp
qotd 17/tcp quote
msp 18/tcp # message send
protocol
msp 18/udp # message send
protocol
chargen 19/tcp ttytst source
chargen 19/udp ttytst source
ftp-data 20/tcp
ftp 21/tcp
fsp 21/udp fspd
ssh 22/tcp # SSH Remote
Login Protocol
ssh 22/udp # SSH Remote
Login Protocol
telnet 23/tcp
# 24 - private
smtp 25/tcp mail
# 26 - unassigned
time 37/tcp timserver
time 37/udp timserver
rlp 39/udp resource # resource
location
nameserver 42/tcp name # IEN 116
whois 43/tcp nicname
re-mail-ck 50/tcp # Remote Mail
Checking Protocol
re-mail-ck 50/udp # Remote Mail
Checking Protocol
domain 53/tcp nameserver # name-domain
server
domain 53/udp nameserver
mtp 57/tcp # deprecated
bootps 67/tcp # BOOTP server
bootps 67/udp
bootpc 68/tcp # BOOTP client
bootpc 68/udp
tftp 69/udp
gopher 70/tcp # Internet Gopher
gopher 70/udp
rje 77/tcp netrjs
finger 79/tcp
www 80/tcp http # WorldWideWeb
HTTP
www 80/udp # HyperText
Transfer Protocol
link 87/tcp ttylink
kerberos 88/tcp kerberos5 krb5 # Kerberos v5
kerberos 88/udp kerberos5 krb5 # Kerberos v5
supdup 95/tcp
# 100 - reserved
hostnames 101/tcp hostname # usually from
sri-nic
iso-tsap 102/tcp tsap # part of ISODE.
csnet-ns 105/tcp cso-ns # also used by
CSO name server
csnet-ns 105/udp cso-ns
rtelnet 107/tcp # Remote Telnet
rtelnet 107/udp
pop-2 109/tcp postoffice # POP version 2
pop-2 109/udp
pop-3 110/tcp # POP version 3
pop-3 110/udp
sunrpc 111/tcp portmapper # RPC 4.0
portmapper TCP
sunrpc 111/udp portmapper # RPC 4.0
portmapper UDP
...
unix% more /etc/inetd.conf
# /etc/inetd.conf: see inetd(8) for further informations.
#
# Internet server configuration database
#
# Lines starting with "#:LABEL:" or "##" should not
# be changed unless you know what you are doing!
#
# Packages should modify this file by using update-inetd(8)
#
#
#
#:INTERNAL: Internal services
#echo stream tcp nowait root internal
#echo dgram udp wait root internal
#chargen stream tcp nowait root internal
#chargen dgram udp wait root internal
discard stream tcp nowait root internal
discard dgram udp wait root internal
daytime stream tcp nowait root internal
daytime dgram udp wait root internal
time stream tcp nowait root internal
time dgram udp wait root internal
#:STANDARD: These are standard services.
## ftp stream tcp nowait root /usr/sbin/tcpd
/usr/sbin/in.ftpd
ftp stream tcp nowait root /usr/sbin/tcpd
/usr/local/sbin/proftpd
telnet stream tcp nowait root /usr/sbin/tcpd
/usr/sbin/in.telnetd
#:BSD: Shell, login, exec and talk are BSD protocols.
shell stream tcp nowait root /usr/sbin/tcpd
/usr/sbin/in.rshd
login stream tcp nowait root /usr/sbin/tcpd
/usr/sbin/in.rlogind
exec stream tcp nowait root /usr/sbin/tcpd
/usr/sbin/in.rexecd
talk dgram udp wait root /usr/sbin/tcpd
/usr/sbin/in.talkd
ntalk dgram udp wait root /usr/sbin/tcpd
/usr/sbin/in.ntalkd
pop-3 stream tcp nowait root /usr/sbin/tcpd
/usr/sbin/ipop3d
Pemilihan servis apa saja tergantung kepada kebutuhan dan tingkat keamanan yang diinginkan. Sayangnya seringkali sistem yang dibeli atau dirakit menjalankan beberapa servis utama sebagai “default”. Kadang-kadang beberapa servis harus dimatikan karena ada kemungkinan dapat
dieksploitasi oleh cracker. Untuk itu ada beberapa program yang dapat digunakan untuk melakukan “probe” (meraba) servis apa saja yang tersedia. Program ini juga dapat digunakan oleh kriminal untuk melihat servis apa saja yang tersedia di sistem yang akan diserang dan berdasarkan data-data yang diperoleh dapat melancarkan serangan. Untuk beberapa servis yang berbasis TCP/IP, proses probe dapat dilakukan dengan menggunakan program telnet. Misalnya untuk melihat apakah ada servis e-mail dengan menggunakan SMTP digunakan telnet ke port 25.
unix% telnet target.host.com 25
Trying 127.0.0.1...
Connected to target.host.com.
Escape character is '^]'.
220 dma-baru ESMTP Sendmail 8.9.0/8.8.5; Mon, 22 Jun 1998 10:18:54 +0700 Dalam contoh di atas terlihat bahwa ada servis SMTP di server tersebut dengan menggunakan program Sendmail versi 8.9.0. Adanya informasi tentang sistem yang digunakan ini sebetulnya sangat tidak disarankan karena dengan mudah orang dapat mengetahui kebocoran sistem (jika software dengan versi tersebut memiliki lubang keamanan).
Untuk servis lain, seperti POP atau POP3 dapat dilakukan dengan cara yang sama dengan menggunakan nomor “port” yang sesuai dengan servis yang diamati.
unix% telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK QPOP (version 2.2) at dma-baru.paume.itb.ac.id starting.
+<20651.898485542@dma-baru.paume.itb.ac.id>
quit
+OK Pop server at dma-baru.paume.itb.ac.id signing off.
Connection closed by foreign host.
Proses probing tersebut dapat dilakukan secara otomatis, sehinga menguji semua port yang ada, dengan menggunakan beberapa program paket seperti didaftarkan di bawah ini.
Paket probe untuk sistem UNIX
• nmap
• strobe
• tcpprobe
Probe untuk sistem Window 95/98/NT
• NetLab
• Cyberkit
• Ogre
Bersambung ke : Mendeteksi Probling
Evaluasi Keamanan Sistem Informasi
Meski sebuah sistem informasi sudah dirancang memiliki perangkat pengamanan, dalam operasi masalah keamanan harus selalu dimonitor. Hal ini disebabkan oleh beberapa hal, antara lain:
• Ditemukannya lubang keamanan (security hole) yang baru. Perangkat lunak dan perangkat keras biasanya sangat kompleks sehingga tidak mungkin untuk diuji seratus persen. Kadang-kadang ada lubang keamanan yang ditimbulkan oleh kecerobohan implementasi.
• Kesalahan konfigurasi. Kadang-kadang karena lalai atau alpa, konfigurasi sebuah sistem kurang benar sehingga menimbulkan lubang keamanan. Misalnya mode (permission atau kepemilikan) dari berkas yang menyimpan password (/etc/passwd di sistem UNIX) secara tidak sengaja diubah sehingga dapat diubah atau ditulis oleh orang-orang yang tidak berhak.
• Penambahan perangkat baru (hardware dan/atau software) yang menyebabkan menurunnya tingkat security atau berubahnya metoda untuk mengoperasikan sistem. Operator dan administrator harus belajar lagi. Dalam masa belajar ini banyak hal yang jauh dari sempurna,
misalnya server atau software masih menggunakan konfigurasi awal dari vendor (dengan password yang sama).
Sumber lubang keamanan
Lubang keamanan (security hole) dapat terjadi karena beberapa hal; salah disain (design flaw), salah implementasi, salah konfigurasi, dan salah penggunaan. Salah Disain Lubang keamanan yang ditimbulkan oleh salah disain umumnya jarang terjadi. Akan tetapi apabila terjadi sangat sulit untuk diperbaiki. Akibat disain yang salah, maka biarpun dia diimplementasikan dengan baik, kelemahan dari sistem akan tetap ada. Contoh sistem yang lemah disainnya adalah algoritma enkripsi ROT13 atau Caesar cipher, dimana karakter digeser 13 huruf atau 3 huruf. Meskipun diimplementasikan dengan programming yang sangat teliti, siapapun yang mengetahui algoritmanya dapat memecahkan enkripsi tersebut. Contoh lain lubang keamanan yang dapat dikategorikan kedalam kesalahan disain adalah disain urutan nomor (sequence numbering) dari paket TCP/IP. Kesalahan ini dapat dieksploitasi sehingga timbul masalah yang dikenal dengan nama “IP spoofing”, yaitu sebuah host memalsukan diri seolah-olah menjadi host lain dengan membuat paket palsu setelah mengamati urutan paket dari host yang hendak diserang. Bahkan dengan mengamati cara mengurutkan nomor packet bisa dikenali sistem yang digunakan. Mekanisme ini digunakan oleh program nmap dan queso untuk mendeteksi operating system (OS) dari sebuah sistem, yang disebut fingerprinting. Contoh dan informasi yang lebih lengkap mengenai masalah kelemahan protokol TCP/IP dapat dilihat pada referensi.
Implementasi kurang baik
Lubang keamanan yang disebabkan oleh kesalahan implementasi sering terjadi. Banyak program yang diimplementasikan secara terburu-buru sehingga kurang cermat dalam pengkodean. Akibatnya cek atau testing yang harus dilakukan menjadi tidak dilakukan. Sebagai contoh, seringkali batas (“bound”) dari sebuah “array” tidak dicek sehingga terjadi yang disebut out-of-bound array atau buffer overflow yang dapat dieksploitasi (misalnya overwrite ke variable berikutnya). Lubang keamanan yang terjadi karena masalah ini sudah sangat banyak, dan yang mengherankan terus terjadi, seolah-olah para programmer tidak belajar dari pengalaman1. Contoh lain sumber lubang keamanan yang disebabkan oleh kurang baiknya implementasi adalah kealpaan memfilter karakter-karakter yang aneh-aneh yang dimasukkan sebagai input dari sebuah program (misalnya input dari CGI-script2) sehingga sang program dapat mengakses berkas atau informasi yang semestinya tidak boleh diakses.
Salah konfigurasi
Meskipun program sudah diimplementasikan dengan baik, masih dapat terjadi lubang keamanan karena salah konfigurasi. Contoh masalah yang disebabkan oleh salah konfigurasi adalah berkas yang semestinya tidak dapat diubah oleh pemakai secara tidak sengaja menjadi “writeable”.
Apabila berkas tersebut merupakan berkas yang penting, seperti berkas yang digunakan untuk menyimpan password, maka efeknya menjadi lubang keamanan. Kadangkala sebuah komputer dijual dengan konfigurasi yang sangat lemah. Ada masanya workstation Unix di perguruan tinggi
didistribusikan dengan berkas /etc/aliases (berguna untuk mengarahkan email), /etc/utmp (berguna untuk mencatat siapa saja yang sedang menggunakan sistem) yang dapat diubah oleh siapa saja. Contoh lain dari salah konfigurasi adalah adanya program yang secara tidak sengaja diset menjadi “setuid root” sehingga ketika dijalankan pemakai memiliki akses seperti super user (root) yang dapat melakukan apa saja. Salah menggunakan program atau sistem Salah penggunaan program dapat juga mengakibatkan terjadinya lubang keamanan. Kesalahan menggunakan program yang dijalankan dengan menggunakan account root (super user) dapat berakibat fatal. Sering terjadi cerita horor dari sistem administrator baru yang teledor dalam menjalankan perintah “rm -rf” di sistem UNIX (yang menghapus berkas atau direktori beserta sub direktori di dalamnya). Akibatnya seluruh berkas di sistem menjadi hilang mengakibatkan Denial of Service (DoS). Apabila sistem yang digunakan ini digunakan bersama-sama, maka akibatnya dapat lebih fatal lagi. Untuk itu perlu berhati-hati dalam menjalan program, terutama apabila dilakukan dengan menggunakan account administrator seperti root tersebut. Kesalahan yang sama juga sering terjadi di sistem yang berbasis MS-DOS. Karena sudah mengantuk, misalnya, ingin melihat daftar berkas di sebuah direktori dengan memberikan perintah “dir *.*” ternyata salah memberikan perintah menjadi “del *.*” (yang juga menghapus seluruh file di direktori tersebut).
bersambung ke : Penguji keamanan sistem
Mengamankan Sistem Informasi
Pengamanan sistem informasi dapat dilakukan melalui beberapa layer yang berbeda. Misalnya di layer “transport”, dapat digunakan “Secure Socket Layer” (SSL). Metoda ini umum digunakan untuk server web. Secara fisik, sistem anda dapat juga diamankan dengan menggunakan “firewall” yang memisahkan sistem anda dengan Internet. Penggunaan teknik enkripsi dapat dilakukan di tingkat aplikasi sehingga data-data anda atau e-mail anda tidak dapat dibaca oleh orang yang tidak berhak.
Mengatur akses (Access Control) Salah satu cara yang umum digunakan untuk mengamankan informasi adalah dengan mengatur akses ke informasi melalui mekanisme “authentication” dan “access control”. Implementasi dari mekanisme ini antara lain dengan menggunakan “password”.
Di sistem UNIX dan Windows NT, untuk menggunakan sebuah sistem atau komputer, pemakai diharuskan melalui proses authentication dengan menuliskan “userid” dan “password”. Informasi yang diberikan ini dibandingkan dengan userid dan password yang berada di sistem. Apabila keduanya valid, pemakai yang bersangkutan diperbolehkan menggunakan sistem. Apabila ada yang salah, pemakai tidak dapat menggunakan sistem. Informasi tentang kesalahan ini biasanya dicatat dalam berkas log. Besarnya informasi yang dicatat bergantung kepada konfigurasi dari sistem setempat. Misalnya, ada yang menuliskan informasi apabila pemakai memasukkan userid dan password yang salah sebanyak tiga kali. Ada juga yang langsung menuliskan informasi ke dalam berkas log meskipun baru satu kali salah. Informasi tentang waktu kejadian juga dicatat. Selain itu asal hubungan (connection) juga dicatat sehingga administrator dapat memeriksa keabsahan hubungan.
Setelah proses authentication, pemakai diberikan akses sesuai dengan level yang dimilikinya melalui sebuah access control. Access control ini biasanya dilakukan dengan mengelompokkan pemakai dalam “group”. Ada group yang berstatus pemakai biasa, ada tamu, dan ada juga administrator atau super user yang memiliki kemampuan lebih dari group lainnya. Pengelompokan ini disesuaikan dengan kebutuhan dari penggunaan sistem anda. Di lingkungan kampus mungkin ada kelompok mahasiswa, staf, karyawan, dan administrator. Sementara itu di lingkungan bisnis mungkin ada kelompok finance, engineer, marketing, dan seterusnya.
Password di sistem UNIX
Akses ke sistem UNIX menggunakan password yang biasanya disimpan di dalam berkas /etc/passwd. Di dalam berkas ini disimpan nama, userid, password, dan informasi-informasi lain yang digunakan oleh bermacammacam program. Contoh isi berkas password dapat dilihat di bawah ini.
root:fi3sED95ibqR7:0:1:System Operator:/:/sbin/sh
daemon:*:1:1::/tmp:
rahard:d98skjhj9l:72:98:adi Rahardjo:/home/rahard:/bin/csh
TABLE 6. Penjelasan contoh isi berkas password
Field Isi
rahard Nama atau userid pemakai
d98skjhj9l password yang sudah terenkripsi (encrypted password)
72 UID, user identification number
98 GID, group identification number
Adi Rahardjo Nama lengkap dari pemakai (sering juga disebut GECOSa atau GCOS field)
/home/rahard home directory dari pemakai
/bin/csh shell dari pemakai
a. GECOS = General Electric Computer Operating System. Di masa lalu, pemakai juga memiliki account di komputer yang lebih besar, yaitu komputer GECOS. Informasi ini disimpan dalam berkas ini untuk memudahkan batch job yang dijalankan melalui sebuah Remote Job Entry.
Pada sistem UNIX lama, biasanya berkas /etc/passwd ini “readable”, yaitu dapat dibaca oleh siapa saja. Meskipun kolom password di dalam berkas itu berisi “encrypted password” (password yang sudah terenkripsi), akan tetapi ini merupakan potensi sumber lubang keamanan. Seorang pemakai yang nakal, dapat mengambil berkas ini (karena “readable”), misalnya men-download berkas ini ke komputer di rumahnya, atau mengirimkan berkas ini kepada kawannya. Ada program tertentu yang dapat digunakan untuk memecah password tersebut. Contoh program ini antara lain: crack (UNIX), viper (perl script), dan cracker jack (DOS).
Program “password cracker” ini tidak dapat mencari tahu kata kunci dari kata yang sudah terenkripsi. Akan tetapi, yang dilakukan oleh program ini adalah melakukan coba-coba (brute force attack). Salah satu caranya adalah mengambil kata dari kamus (dictionary) kemudian mengenkripsinya. Apabila hasil enkripsi tersebut sama dengan password yang sudah terenkripsi (encrypted password), maka kunci atau passwordnya ketemu. Selain melakukan “lookup” dengan menggunakan kamus, biasanya program “password cracker” tersebut memiliki beberapa algoritma heuristic seperti menambahkan angka di belakangnya, atau membaca dari belakang (terbalik), dan seterusnya. Inilah sebabnya jangan menggunakan password yang terdapat dalam kamus, atau kata-kata yang umum digunakan (seperti misalnya nama kota atau lokasi terkenal).
Shadow Password
Salah satu cara untuk mempersulit pengacau untuk mendapatkan berkas yang berisi password (meskipun terenkripsi) adalah dengan menggunakan “shadow password”. Mekanisme ini menggunakan berkas /etc/shadow untuk menyimpan encrypted password, sementara kolom password di berkas /etc/passwd berisi karakter “x”. Berkas /etc/shadow tidak dapat dibaca secara langsung oleh pemakai biasa.
Memilih password
Dengan adanya kemungkinan password ditebak, misalnya dengan menggunakan program password cracker, maka memilih password memerlukan perhatian khusus. Berikut ini adalah daftar hal-hal yang sebaiknya tidak digunakan sebagai password.
• Nama anda, nama istri / suami anda, nama anak, ataupun nama kawan.
• Nama komputer yang anda gunakan.
• Nomor telepon atau plat nomor kendaran anda.
• Tanggal lahir.
• Alamat rumah.
• Nama tempat yang terkenal.
• Kata-kata yang terdapat dalam kamus (bahasa Indonesia maupun bahasa
Inggris).
• Password dengan karakter yang sama diulang-ulang.
• Hal-hal di atas ditambah satu angka.
Menutup servis yang tidak digunakan
Seringkali sistem (perangkat keras dan/atau perangkat lunak) diberikan dengan beberapa servis dijalankan sebagai default. Sebagai contoh, pada sistem UNIX servis-servis berikut sering dipasang dari vendornya: finger, telnet, ftp, smtp, pop, echo, dan seterusnya. Servis tersebut tidak semuanya dibutuhkan. Untuk mengamankan sistem, servis yang tidak diperlukan di server (komputer) tersebut sebaiknya dimatikan. Sudah banyak kasus yang menunjukkan abuse dari servis tersebut, atau ada lubang keamanan dalam servis tersebut akan tetapi sang administrator tidak menyadari bahwa servis tersebut dijalankan di komputernya.
Servis-servis di sistem UNIX ada yang dijalankan dari “inetd” dan ada yang dijalankan sebagai daemon. Untuk mematikan servis yang dijalankan dengan menggunakan fasilitas inet, periksa berkas /etc/inetd.conf, matikan servis yang tidak digunakan (dengan memberikan tanda komentar #) dan memberitahu inetd untuk membaca berkas konfigurasinya (dengan memberikan signal HUP kepada PID dari proses inetd).
unix# ps -aux | grep inetd
105 inetd
unix# kill -HUP 105
Untuk sistem Solaris atau yang berbasis System V, gunakan perintah “ps - eaf” sebagai pengganti perintah “ps -aux”. Lebih jelasnya silahkan baca manual dari perintah ps.
Untuk servis yang dijalankan sebagai daemon dan dijalankan pada waktu startup (boot), perhatikan skrip boot dari sistem anda.
• SunOS: /etc/rc.*
• Linux Debian: /etc/init.d/*
Memasang Proteksi
Untuk lebih meningkatkan keamanan sistem informasi, proteksi dapat ditambahkan. Proteksi ini dapat berupa filter (secara umum) dan yang lebih spesifik adalah firewall. Filter dapat digunakan untuk memfilter e-mail, informasi, akses, atau bahkan dalam level packet. Sebagai contoh, di sistem UNIX ada paket program “tcpwrapper” yang dapat digunakan untuk membatasi akses kepada servis atau aplikasi tertentu. Misalnya, servis untuk “telnet” dapat dibatasi untuk untuk sistem yang memiliki nomor IP tertentu, atau memiliki domain tertentu. Sementara firewall dapat digunakan untuk melakukan filter secara umum.
Untuk mengetahui apakah server anda menggunakan tcpwrapper atau tidak, periksa isi berkas /etc/inetd.conf. Biasanya tcpwrapper dirakit menjadi “tcpd”. Apabila servis di server anda (misalnya telnet atau ftp) dijalankan melalui tcpd, maka server anda menggunakan tcpwrapper.
Biasanya, konfigurasi tcpwrapper (tcpd) diletakkan di berkas /etc/hosts.allow dan /etc/hosts.deny.
Pemantau adanya serangan
Sistem pemantau (monitoring system) digunakan untuk mengetahui adanya tamu tak diundang (intruder) atau adanya serangan (attack). Nama lain dari sistem ini adalah “intruder detection system” (IDS). Sistem ini dapat memberitahu administrator melalui e-mail maupun melalui mekanisme lain seperti melalui pager. Ada berbagai cara untuk memantau adanya intruder. Ada yang sifatnya aktif dan pasif. IDS cara yang pasif misalnya dengan memonitor logfile. Contoh software IDS antara lain:
• Autobuse, mendeteksi probing dengan memonitor logfile.
• Courtney dan portsentry, mendeteksi probing (port scanning) dengan memonitor packet yang lalu lalang. Portsentry bahkan dapat memasukkan IP penyerang dalam filter tcpwrapper (langsung dimasukkan kedalam berkas /etc/hosts.deny)
• Shadow dari SANS
• Snort, mendeteksi pola (pattern) pada paket yang lewat dan mengirimkan alert jika pola tersebut terdeteksi. Pola-pola atau rules disimpan dalam berkas yang disebut library yang dapat dikonfigurasi sesuai dengan kebutuhan.
Pemantau integritas sistem
Pemantau integritas sistem dijalankan secara berkala untuk menguji integratitas sistem. Salah satu contoh program yang umum digunakan di sistem UNIX adalah program Tripwire. Program paket Tripwire dapat digunakan untuk memantau adanya perubahan pada berkas. Pada mulanya, tripwire dijalankan dan membuat database mengenai berkas-berkas atau direktori yang ingin kita amati beserta “signature” dari berkas tersebut. Signature berisi informasi mengenai besarnya berkas, kapan dibuatnya, pemiliknya, hasil checksum atau hash (misalnya dengan menggunakan program MD5), dan sebagainya. Apabila ada perubahan pada berkas tersebut, maka keluaran dari hash function akan berbeda dengan yang ada di database sehingga ketahuan adanya perubahan.
Audit: Mengamati Berkas Log
Segala (sebagian besar) kegiatan penggunaan sistem dapat dicatat dalam berkas yang biasanya disebut “logfile” atau “log” saja. Berkas log ini sangat berguna untuk mengamati penyimpangan yang terjadi. Kegagalan untuk masuk ke sistem (login), misalnya, tersimpan di dalam berkas log. Untuk itu para administrator diwajibkan untuk rajin memelihara dan menganalisa berkas log yang dimilikinya. Letak dan isi dari berkas log bergantung kepada operating system yang
digunakan. Di sistem berbasis UNIX, biasanya berkas ini berada di direktori/var/adm atau /var/log. Contoh berkas log yang ada di sistem Linux Debian.
TABLE 7. Berkas Log di sistem Debian Linux
Nama Berkas Keterangan
/var/adm/auth.log Berisi informasi yang berhubungan dengan authentication. Gagal login, misalnya, dicatat pada berkas ini.
/var/adm/daemon.log Informasi mengenai program-program daemon seperti BIND, Sendmail, dsb.
/var/adm/mail.log Berisi informasi tentang e-mail yang dikirimkan dan diterima oleh MTA (sendmail) serta akses ke sistem email melalui POP dan IMAP.
/var/adm/syslog Berisi pesan yang dihasilkan oleh program syslog. Kegagalan login tercatat di sini.
Sebagai contoh, berikut ini adalah cuplikan baris isi dari berkas /var/adm/ auth.log:
Apr 8 08:47:12 xact passwd[8518]: password for `inet' changed by root
Apr 8 10:02:14 xact su: (to root) budi on /dev/ttyp3
Baris pertama menunjukkan bawah password untuk pemakai “inet” telah diganti oleh “root”. Baris kedua menunjukkan bahwa pemakai (user) yang bernama “adi” melakukan perintah “su” (substitute user) dan menjadi user “root” (super user). Kedua contoh di atas menunjukkan entry yang nampaknya normal, tidak mengandung security hole, dengan asumsi pada baris kedua memang pemakai “budi” diperbolehkan menjadi root. Contoh entry yang agak mencurigakan adalah sebagai berikut.
Apr 5 17:20:10 alliance wu-ftpd[12037]: failed login from
ws170.library.msstate.edu [130.18.249.170], m1
Apr 9 18:41:47 alliance login[12861]: invalid password for
`adi' on `ttyp0' from `ppp15.isp.net.id'
Baris di atas menunjukkan kegagalan untuk masuk ke sistem melalui fasilitas FTP (baris pertama) dan telnet (baris kedua). Pada baris kedua terlihat bahwa user “budi” (atau yang mengaku sebagai user “budi”) mencoba masuk melalui login dan gagal memberikan password yang valid. Hal ini bisa terjadi karena ketidak sengajaan, salah memasukkan password, atau bisa juga karena sengaja ingin mencoba-coba masuk dengan userid “adi” dengan password coba-coba. Cara coba-coba ini sering dilakukan dengan mengamati nama user yang berada di sistem tersebut (misalnya dengan menggunakan program finger untuk mengetahui keberadaan sebuah user). Contoh berikut diambil dari isi berkas /var/adm/mail.log, yang berfungsi untuk mencatat aktivitas yang berhubungan dengan sistem mail.
Apr 9 18:40:31 mx1 imapd[12859]: Login faiure
user=^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P
^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^
P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P
host=vhost.txg.wownet.net
Apr 9 18:40:32 mx1 imapd[12859]: Success, while reading line
user=^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P
^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^
P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P
host=vhost.txg.wownet.net
Contoh di atas menunjukkan hal yang sedikit aneh dari akses ke servis email melalui IMAP (ditunjukkan dengan kata “imapd” yang merupakan server dari servis IMAP). Pertama, user yang digunakan tidak valid. Kedua, kebetulan administrator tidak memiliki remote user yang berasal dari host yang disebut di atas. Setelah diselidiki, ternyata memang ada lubang keamanan dari implementasi “imapd” yang digunakan. Ini diketahui setelah melihat informasi yang ada di web site CERT (See “Sumber informasi dan organisasi yang berhubungan dengan keamanan sistem informasi”). Untuk itu administrator cepat-cepat menutup servis imap tersebut, mengambil dan memasang versi baru dari imapd yang tidak memiliki lubang keamanan tersebut. Contoh-contoh di atas hanya merupakan sebagian kecil dari kegiatan menganalisa berkas log. Untuk sistem yang cukup ramai, misalnya sebuah perguruan tinggi dengan jumlah pemakai yang ribuan, analisa berkas log merupakan satu pekerjaan tersendiri (yang melelahkan). Untuk itu adanya tools yang dapat membantu administrator untuk memproses dan menganalisa berkas log merupakan sesuatu yang sangat penting. Ada beberapa tools sederhana yang menganalia berkas log untuk mengamati kegagalan (invalid password, login failure, dan sebagainya) kemudian memberikan ringkasan. Tools ini dapat dijalankan setiap pagi dan dan mengirimkan hasilnya kepada administrator.
Backup secara rutin
Seringkali tamu tak diundang (intruder) masuk ke dalam sistem dan merusak sistem dengan menghapus berkas-berkas yang dapat ditemui. Jika intruder ini berhasil menjebol sistem dan masuk sebagai super user (administrator), maka ada kemungkinan dia dapat menghapus seluruh berkas. Untuk itu, adanya backup yang dilakukan secara rutin merupakan sebuah hal yang esensial. Bayangkan apabila yang dihapus oleh tamu ini adalah berkas penelitian, tugas akhir, skripsi, yang telah dikerjakan bertahun-tahun. Untuk sistem yang sangat esensial, secara berkala perlu dibuat backup yang letaknya berjauhan secara fisik. Hal ini dilakukan untuk menghindari hilangnya data akibat bencana seperti kebakaran, banjir, dan lain sebagainya. Apabila data-data dibackup akan tetapi diletakkan pada lokasi yang sama, kemungkinan data akan hilang jika tempat yang bersangkutan mengalami bencana seperti kebakaran.
Penggunaan Enkripsi untuk meningkatkan keamanan
Salah satau mekanisme untuk meningkatkan keamanan adalah dengan menggunakan teknologi enkripsi. Data-data yang anda kirimkan diubah sedemikian rupa sehingga tidak mudah disadap. Banyak servis di Internet yang masih menggunakan “plain text” untuk authentication, seperti penggunaan pasangan userid dan password. Informasi ini dapat dilihat dengan mudah oleh program penyadap atau pengendus (sniffer). Contoh servis yang menggunakan plain text antara lain:
• akses jarak jauh dengan menggunakan telnet dan rlogin
• transfer file dengan menggunakan FTP
• akses email melalui POP3 dan IMAP4
• pengiriman email melalui SMTP
• akses web melalui HTTP
Penggunaan enkripsi untuk remote akses (misalnya melalui ssh sebagai penggani telnet atau rlogin) akan dibahas di bagian tersendiri.
Telnet atau shell aman
Telnet atau remote login digunakan untuk mengakses sebuah “remote site” atau komputer melalui sebuah jaringan komputer. Akses ini dilakukan dengan menggunakan hubungan TCP/IP dengan menggunakan userid dan password. Informasi tentang userid dan password ini dikirimkan melalui jaringan komputer secara terbuka. Akibatnya ada kemungkinan seorang
yang nakal melakukan “sniffing” dan mengumpulkan informasi tentang pasangan userid dan password ini.
Untuk menghindari hal ini, enkripsi dapat digunakan untuk melindungi adanya sniffing. Paket yang dikirimkan dienkripsi dengan algoritma DES atau Blowish (dengan menggunakan kunci session yang dipertukarkan via RSA atau Diffie-Hellman) sehingga tidak dapat dibaca oleh orang yang tidak berhak. Salah satu implementasi mekanisme ini adalah SSH (Secure Shell). Ada beberapa implementasi SSH ini, antara lain:
• ssh untuk UNIX (dalam bentuk source code, gratis, mengimplementasikan protokol SSH versi 1 dan versi 2)
• SSH untuk Windows95 dari Data Fellows (komersial, ssh versi 1 dan versi 2) http://www.datafellows.com/
• TTSSH, yaitu skrip yang dibuat untuk Tera Term Pro (gratis, untuk Windows 95, ssh versi 1) http://www.paume.itb.ac.id/rahard/koleksi
• SecureCRT untuk Windows95 (shareware / komersial)
• putty (SSH untuk Windows yang gratis, ssh versi 1). Selain menyediakan ssh, paket putty juga dilengkapi dengan pscp yang mengimplementasikan secure copy sebagai pengganti FTP.
sumber : http://muhammad-reza-anwar.blogspot.com/2009/04/mengamankan-sistem-informasi_28.html
Pengenalan dan Penaggulangan Virus, Trojan dan Worm
Kecenderungan yang paling mengkawatirkan dan yang membedakan dalam arus serangan komputer adalah otomasi tinggi dan kecepatan, meningkatkan kesempurnaan tools serangan, menentukan dan menilai bagian yang mudah kena luka/serangan itu adalah susah untuk disimpan dan dipelihara, meningkatkan penyerapan firewalls dan sangat alami ancaman tidak simetris. Organisasi monitoring menyebutkan bahwa worms sebagai salah satu dari empat jenis serangan yang mengkawatirkan pada saat ini. Peristiwa yang paling terkemuka yang menyebabkan perhatian yang meliputi berkembangnya Worms seperti Code Red , Code Red II, Nimda, dan baru-baru ini, linux.slapper. Keempat jenis worms ini telah dicatat karena kecepatan perkembangbiakan mereka yang luar biasa; bagaimanapun, menurut kerusakkannya, mereka dinilai sebagai ancaman rendah. Seperti itu pertentangan antara tingkatan teknik perkembangbiakan dan kemampuan bersifat merusak adalah dengan seketika berbintik, dan beberapa pekerjaan menarik telah diproduksi bahwa ( kadang-kadang juga secara emosional) yang diletakkan dalam situasi sebenarnya dan yang diselidiki batas dari potensi bersifat menjalarnya yang cepat, bersatu dengan sifat dengkinya.
Sejarah Virus Komputer
Sejarah Virus
Local PC
• 1981 = Apple II
• 1983 = Elk Cloner
• 1986 = C Brain
• 1987 = Goodnight Vienna, Hello Lehigh
• 1988 = The Worm Turns
Internet Age
• 1989 = Worm, Dark Avenger,AIDS
• 1990 = Polymorphs & Multipartities
• 1991 = Renaissance Virus, Tequila Sunrise
• 1992 = Revenge of the turtle
• 1993 = Polymorphism Rules
• 1994 = SmokeMe a Kipper
• 1995 = Microsoft Office Macros
• 1996 = virus macros
• 1997 = hoax & chain letters
• 1998 = CIH
• 1999 = Trojan Back Orifice 2000
• 2000 = VBScript Worm
• 2000 era = DOS & DDOS
Pengertian Virus Komputer
Kemampuan Dasar Virus Komputer
b. Program virus ditempatkan diluar track2 yang dibuat DOS (misalkan track 41)
c. Ukuran virus dibuat sekecil mungkin sehingga tidak menarik kecurigaan.
b. Mengganti volume label disket
c. Merusak struktur disk, menghapus file-file
d. Mengacaukan kerja alat-alat I/O, seperti keyboard dan printer
> Kemampuan untuk mendapatkan informasi
> Kemampuan untuk memeriksa keberadaan dirinya
Jenis-jenis virus komputer
Berdasarkan Teknik Pembuatannya
Adalah virus yang dapat dieksekusi karena merupakan virus yang telah di compile sehingga menjadi dapat dieksekusi langsung. Virus jenis ini adalah virus yang pertama kali muncul di dunia komputer, dan sampai sekarang terus berkembang pesat. Biasanya virus jenis ini dibuat dengan bahasa pemrograman tingkat rendah yang disebut dengan assembler, karena dengan menggunakan assembler program yang dihasilkan lebih kecil dan cepat, sehingga sangat cocok untuk membuat virus. Tetapi tidak tertutup kemungkinan untuk membuat virus dengan menggunakan bahasa pemrograman lainnya seperti C dan Pascal baik dilingkungan DOS maupun Windows .
Banyak orang salah kaprah dengan jenis virus ini, mereka menganggap bahwa virus Macro adalah virus yang terdapat pada program Microsoft Word. Memang hampir seluruh virus Macro yang ditemui merupakan virus Microsoft Word. Sebenarnya virus Macro adalah virus yang memanfaatkan fasilitas pemrograman modular pada suatu program aplikasi tertentu seperti Microsoft Word, Microsoft Excel, Microsoft PowePoint, Corel WordPerfect, dan sebagainya. Tujuan dari fasilitas pemrograman modular ini adalah untuk memberikan suatu kemudahan serta membuat jalan pintas bagi aplikasi tersebut. Sayangnya fungsi ini dimanfaatkan oleh pembuat-pembuat virus untuk membuat virus didalam aplikasi tersebut. Walaupun virus ini terdapat didalam aplikasi tertentu tetapi bahaya yang ditimbulkan tidak kalah berbahanya dari virus-virus yang lain.
Pada awalnya virus ini lebih dikenal dengan virus batch karena dulu terdapat pada file batch yang terdapat pada DOS, sekarang hal ini telah berganti menjadi script. Virus script biasanya sering didapat dari Internet karena kelebihannya yang fleksibel dan bisa berjalan pada saat kita bermain internet, virus jenis ini biasanya menumpang pada file HTML (Hype Text Markup Language) dibuat dengan menggunakan fasilitas script seperti Javascript, VBscript,4 maupun gabungan antara script yang mengaktifkan program Active-X dari Microsoft Internet Explorer.
Berdasarkan yang dilakukan
Virus Boot Sector adalah virus yang memanfaatkan gerbang hubungan antara komputer dan media penyimpan sebagai tempat untuk menularkan virus. Apabila pada boot sector terdapat suatu program yang mampu menyebarkan diri dan mampu tinggal di memory selama komputer bekerja, maka program tersebut dapat disebut virus. Virus boot sector terbagi dua yaitu virus yang menyerang disket dan virus yang menyerang disket dan tabel partisi.
Virus file merupakan virus yang memafaatkan suatu file yang dapat diproses langsung pada editor DOS, seperti file berekstensi COM, EXE, beberapa file overlay, dan file BATCH. Virus umumnya tidak memiliki kemampuan untuk menyerang di semua file tersebut. Virus file juga dikelompokkan berdasarkan dapat atau tidaknya tinggal di memory.
c. Virus System
d. Virus Hybrid
e. Virus Registry WIndows
f. Virus Program Aplikasi
Berdasarkan media penyebarannya
a. Penyebaran dengan media fisik
b. Penyebaran dengan Media Internet
Aktivitas Virus
• Kelalaian user
– Copy paste file/data dari luar
– Download dari internet
• Network
– Akses user
– Server / pc yang terjankit virus
Pengenalan Worm
Defenisi Worms
Metode aktivasi dan mekanisme penyebaran worms
Metode aktivasi
a. Aktivasi dengan intervensi user
b. Aktivasi terjadwal
c. Aktivasi mandiri
Mekanisme Penyebaran
a. Scanning
b. Target lists
c. Monitoring secara pasif
Superworms
Warhol Worm
Curious Yellow
Sebuah konsep hipotesis dari Curious Blue, worm menyapu bersih setelah infeksi sebuah Curous Yellow dengan menggunakan strategi penyebaran yang sama, atau dengan memanfaatkan bagian yang mudah kena serangan di dalam Curious Yellow sendiri dengan cara yang cepat. Untuk itu tingkat keamanan yang lebih baik dapat menghindari dari serangan-serangan worm tersebut.
Trojan Horse
* Trojan tidak mereplikasi dirinya sendiri, sementara virus komputer dan worm melakukannya.
Active Connections
Proto Local Address Foreign Address State
PID
TCP windows-xp:epmap 0.0.0.0:0 LISTENING
956
c:\windows\system32\WS2_32.dll
C:\WINDOWS\system32\RPCRT4.dll
c:\windows\system32\rpcss.dll
C:\WINDOWS\system32\svchost.exe
-- unknown component(s) --
[svchost.exe]
TCP windows-xp:microsoft-ds 0.0.0.0:0 LISTENING
4
[System]
TCP windows-xp:50300 0.0.0.0:0 LISTENING
1908
[oodag.exe]
TCP windows-xp:1025 0.0.0.0:0 LISTENING
496
[alg.exe]
TCP windows-xp:1030 0.0.0.0:0 LISTENING
1252
[ccApp.exe]
UDP windows-xp:microsoft-ds *:*
4
[System]
UDP windows-xp:4500 *:*
724
[lsass.exe]
UDP windows-xp:isakmp *:*
724
[lsass.exe]
UDP windows-xp:1900 *:*
1192
c:\windows\system32\WS2_32.dll
c:\windows\system32\ssdpsrv.dll
C:\WINDOWS\system32\ADVAPI32.dll
C:\WINDOWS\system32\kernel32.dll
[svchost.exe]
UDP windows-xp:ntp *:*
1036
c:\windows\system32\WS2_32.dll
c:\windows\system32\w32time.dll
ntdll.dll
C:\WINDOWS\system32\kernel32.dll
[svchost.exe]
• suatu program yang tersembunyi dan jika telah diaktifkan maka program tersebut dapat mengendalikan komputer korban lewat jarak jauh
• Sulit untuk diidetifikasi karena sering tampak file yang tidak berbahaya
• Antivirus sering kecolongan
• Pada umumnya, mereka dibawa oleh utility program lainnya atau menjebak dengan ”jebakan” sesuatu yang free
• Trojan Horse itu sendiri ber"lagak" sebagai utility program.
• Contoh Trojan Horse: Win-Trojan/Back Orifice, Win-Trojan/SubSeven, Win Trojan/Ecokys(Korean).
Contoh :
– Backorifice 2000 (BO), Deep Back Orifice, Zeus, dll
– BO dibuat oleh Cult of the Dead Cow (cDc)
– Trojan tidak mempunyai masa aktif
– Tetap hidup sebelum diformat abis
– Biasanya menggunakan port diatas 12345, 20034 dan 31337
– Back Orifice/Back Orifice : 2000, 54320, 54321
– NetBus V 1.60 & 1.70 : 12345
– NetBusPro 2.01 : 20034
– SubSeven : 27374
– Deep Throat : 2140 & 3150
Deteksi BO di PC
• Used utility Netstat (Windows) ketikan netstat –an
• Perhatikan port yang open,….
Kill & Destroy BO
• Buka \windows\system lalu hapus windll.dll dan *.exe
• Buka regedit :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run lalu hapuslah .exe.
Kill & Destroy NetBus
• Cari program defaultnya ‘patch.exe’ dan delete
• Regedit :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
• Cari file .exe dan tambahkan parameter/remove.
Kill & Destroy Deep Troat
• Temukan file ‘systempatch.exe’
• Regedit :
HKEY_LOCAL_MACHINE\SOFTWARE\\Windows\CurrentVersion\Run
• Hapus nilainya.
Cara Menanggulangi Serangan Virus
Install software Anti Virus pada sistem komputer
Sebagai perlindungan di garis depan, penggunaan anti virus adalah wajib. Ada banyak anti virus yang beredar di pasaran saat ini. Beberapa yang cukup handal diantaranya adalah
Sering-seringlah melakukan Update database program anti virus
Jangan ragu untuk menggunakan Firewall Personal
Paranoidlah terhadap file-file baru yang akan anda buka
didapat dari mendownload di internet atau mengkopi dari orang lain. Apabila anda biasa
menggunakan sarana e-mail, berhati-hatilah setiap menerima dalam bentuk
file executable. Waspadai file-file yang berekstensi Jangan terkecoh untuk langsung membukanya sebelum melakukan scanning dengan software anti virus.
File diatas adalah hasil perubahan pada file saya setelah terkena virus Brain.
Sering-seringlah memeriksa kondisi sistem komputer anda
Lakukan Back Up data secara berkala
Filtering
Blocking
Prosedur Penanganan Serangan Virus
1. Isolasi dan memutus koneksi
- Hal pertama yang dapat dilakukan apabila Anda merasa atau mengetahui telah terkena virus adalah dengan memutus koneksi fisik komputer Anda dari jaringan.
- Dengan asumsi bahwa komputer Anda yang membawa virus dan menyebarkan ke jaringan atau sebaliknya komputer Anda terkena virus dari jaringan.
- Tetaplah memutus koneksi dari jaringan sampai dilakukan penghapusan virus tersebut dari komputer Anda atau sebaliknya dari jaringan.
- Setelah komputer diisolasi dan diputuskan dari jaringan, maka dilakukan penghapusan program virus tersebut. Dengan menggunakan program anti-virus yang spesifik dapat menangani virus tersebut.
- Menghapus program virus tersebut atau file-file yang terkena olehnya tidaklah cukup. Banyak virus yang mencopy dirinya ke banyak rupa dan bersembunyi di berbagai tempat, bersembunyi dan menginfeksi program dan dokumen lain. Contohnya trojan horse yang membuat suatu pintu masuk belakang bagi hacker atau program jahat lain untuk dapat masuk. Walaupun file Trojan tersebut dihapus namun lubang keamanannya masih terbuka. Cara untuk memperbaikinya adalah dengan menjalankan program penghapus yang dikhususkan untuk virus/trojan tersebut.
Banyak akibat yang ditimbulkan dari serangan virus mulai dari penamaan ulang sampai penghapusan file-file berharga kita. Setelah virus dihapus maka dapat dilakukan:
- Instal ulang program-program
Beberapa virus dapat menghancurkan sistem operasi Anda, untuk itu gunakanlah CD instalasi ulang cepat sistem operasi yang berasal dari vendor perangkat keras Anda ataupun yang Anda siapkan sendiri berdasarkan kondisi sistem sebelum terkena virus. Untuk instal kembali aplikasi-aplikasi maka diperlukan dokumen berisi petunjuk instalasi aplikasi tersebut atau lisensi aplikasi untuk registrasi ulang.
- Periksa akan virus
Setelah sistem berjalan seperti semula, maka lakukanlah pemeriksaan akan virus secara menyeluruh terhadap semua file dan dokumen yang ada pada komputer tersebut. Begitupula dengan yang ada pada semua komputer di jaringan termasuk server.
- Kembalikan file-file
Kehilangan file-file data tergantung pada jenis serangan dari virus tersebut. Apabila virus tersebut menyerang program aplikasi maka file-file data dapat tidak terserang. Namun seringkali juga virus menyebabkan kehilangan file-file data, dan kehilangan tidak dapat dihindari. Sehingga untuk dapat mengembalikannya tergantung dari rutinitas back-up yang Anda lakukan.
- Dokumentasikan proses tersebut
Dokumentasikan langkah-langkah yang Anda lakukan dalam memperbaiki sistem, mencakup file dan aplikasi mana yang Anda kembalikan dan metode yang digunakan. Apabila ada hal-hal tidak diinginkan dapat dilacak ulang, atau dapat juga digunakan untuk referensi apabila terjadi serangan serupa.
- Setelah segala kesulitan akibat virus pasti Anda ingin sistem yang terbebas virus di masa yang akan datang. Penting untuk memakai perangkat lunak antivirus dan selalu update definisi virusnya. Apabila belum memakai anti-virus, mulailah dari sekarang. Apabila sudah, segeralah update definisi virusnya. Kemudian instal update/patch yang dibutuhkan oleh sistem operasi dan seluruh aplikasi yang ada untuk menutup semua kemungkinan lubang keamanan.
- Kemudian, ubahlah semua password Anda, termasuk password akses ke ISP, FTP, e-mail, dan situs web yang berpassword. Beberapa program virus dapat menangkap password Anda atau membongkarnya, sehingga dapat disalahgunakan penciptanya. Walaupun tidak diserang virus mengganti password adalah penting. Semua data berharga yang ada di komputer sebaiknya diberi password, dan sebaiknya dibuat atau diganti saat ini. Password setidaknya 8 karakter, kombinasi dari huruf besar atau kecil, angka, simbol, dan tanda-tanda huruf lain. Hindari menggunakan kata-kata yang mudah dikenali, frase dan juga nama.
5. Belajar dari kesalahan Anda
- Walaupun serangan virus dapat sulit disembuhkan, serangan itu dapat digunakan untuk evaluasi penerapan keamanan Anda saat ini. Jika saat ini virus masuk, kemungkinan akan datang juga bisa. Penting untuk evaluasi ukuran-ukuran keamanan Anda, bila ada, dan mengapa tidak efektif. Apakah Anda membutuhkan firewall? Apakah pegawai mendownload file tanpa memeriksa akan virus? Apakah Anda membuka attachment dari e-mail tidak dikenal? Apakah definisi virus Anda up-to-date?
- Apakah Anda kehilangan data yang sebenarnya dapat dikembalikan menggunakan back-up? Lakukanlah back-up secara rutin dan simpanlah di tempat lain yang sekiranya aman.