Minggu, 27 November 2011

KEAMANAN WEBSITE

Keamanan suatu website atau web security systems merupakan salah satu prioritas yang sangat utama bagi seorang webmaster.
Tetapi kebanyakan para webmaster hanya mengutamakan design dan topik apa yang harus disediakan supaya menarik pengunjung sebanyak-banyaknya.
Padahal jika seorang webmaster mengabaikan keamanan suatu website, maka yang dirugikan adalah webmaster itu sendiri karena seorang hacker dapat mengambil data-data penting pada suatu website dan bahkan pula dapat mengacak-acak tampilan website(deface) tersebut.
Berikut adalah beberapa metode yang biasa sering digunakan para hacker untuk menyerang suatu website:
1. Remote File Inclusion (RFI)
Metode yang memanfaatkan kelemahan script PHP include(), include_once(), require(), require_once() yang variabel nya tidak dideklarasikan dengan sempurna.
Dengan RFI seorang attacker dapat menginclude kan file yang berada di luar server yang bersangkutan.
Anda bisa membaca secara lengkap tentang Remote File Inclusion dihttp://en.wikipedia.org/wiki/Remote_File_Inclusion
2. Local File Inclusion (LFI)
Metode yang memanfaatkan kelemahan script PHP include(), include_once(), require(), require_once() yang variabel nya tidak dideklarasikan dengan sempurna.
Dengan LFI seorang attacker dapat menginclude kan file yang berada di dalam server yang bersangkutan.
3. SQL injection
SQL injection adalah teknik yang memanfaatkan kesalahan penulisan query SQL pada suatu website sehingga seorang hacker bisa menginsert beberapa SQL statement ke ‘query’
dengan cara memanipulasi data input ke aplikasi tersebut.
Anda bisa membaca secara lengkap tentang SQL injection dihttp://en.wikipedia.org/wiki/SQL_injection
4. Cross Site Scripting (XSS)
XSS dikenal juga dengan CSS adalah singkatan dari Cross Site Scripting.
XSS adalah suatu metode memasukan code atau script HTML kedalam suatu website yang dijalankan melalui browser di client.
Anda bisa membaca secara lengkap tentang Cross Site Scripting dihttp://en.wikipedia.org/wiki/Cross-site_scripting
Ada pepatah internet mengatakan “Tidak ada hal yang paling aman di dunia internet“,
Memang pepatah itu benar, tetapi disini ada beberapa cara supaya website kita tidak mudah disusupi oleh para hacker, memang cara ini tidak 100% aman, tetapi dapat mengurangi resiko website kita dengan mudah di acak-acak oleh seorang hacker.
1. Jika anda menggunakan suatu CMS seperti joomla, phpbb, phpnuke, wordpress dan sebagainya, rajinlah mengupdate CMS anda dengan CMS terbaru jika muncul versi yang lebih baru.
2. Kunjungilah situs-situs yang membahas tentang keamanan aplikasi web seperti :
Code:
www.milw0rm.com
,
Code:
www.securityfocus.com
atau
Code:
www.packetstormsecurity.org
untuk mendapatkan informasi tentang bug terbaru.
3. Sewalah seorang yang ahli tentang keamanan website untuk menganalisis keamanan website anda.
4. Gunakanlah software seperti Acunetix untuk melakukan scanning atas kelemahan yang bisa terjadi di webdite anda, software tersebut bisa anda beli di
Code:
www.acunetix.com
dan jika anda beruntung mungkin anda bisa melakukan pencarian versi bajakannya di google.com ( maaf ini tidak dianjurkan).
Semoga Bermanfaat
Sumber : Indonews .org

Keamanan Komputer dan CyberCrime

Keamanan Komputer
Keamanan komputer adalah suatu perlindungan yang diusahakan oleh suatu system informasi dalam rangka mencapai sasaran hasil yang bisa diterapkan atau cara untuk memelihara integritas, kerahasiaan dan tersedianya informasi. Tetapi pada saat ini sistem komputer yang terpasang makin mudah diakses. Sistem time sharing dan akses jarak jauh menyebabkan kelemahan komunikasi data menjadi pokok masalah keamanan. Kelemahan ini menjadi amat serius dengan meningkatknya perkembangan jaringan komputer. Saat ini, implementasi pengamanan sangat penting untuk menjamin sistem tidak diinterupsi dan diganggu. Proteksi dan pengaman terhadap perangkat keras dan sistem operasi sama pentingnya.
Pengamanan sistem komputer bertujuan untuk menjamin sumber daya tidak digunakan atau dimodifikasi oleh orang tak berhak. Pengamanan termasuk masalah teknis, manajerial, legalitas dan politis.
Terdapat empat macam kejahatan komputer, antara lain :
1. Pencurian waktu komputer. Ini meliputi waktu yang diperlukan memperbaiki sistem komputer setelah terkena virus.
2. Pencurian data
3. Manipulasi program komputer
4. Pencurian software maupun pengkopian software
Keamanan sistem terbagi menjadi tiga, yaitu :
Keamanan eksternal
Keamanan eksternal berkaitan dengan pengamanan fasilitas komputer dari penyusup dan bencana seperti kebakaran atau kebanjiran.
Keamanan interface pemakai
Keamanan interface pemakai berkaitan dengan identifikasi pemakai sebelum pemakai diijinkan mengakses program dan data yang disimpan.
Keamanan internal
Keamanan internal berkaitan dengan pengamanan beragam kendali yang dibangun pada perangkat keras dan sistem operasi yang menjamin operasi yang lhandal dan tak terkorupsi untuk menjaga integritas program dan data.
Masalah-masalah Keamanan
Pada keamanan, terdapat dua masalah penting, yaitu :
1. Kehilangan
2. Penyusup
Kehilangan data dapat disebabkan, antara lain :
a. Bencana
- kebakaran
- banjir
- gempa bumi
- perang
- kerusuhan
- gerogotan tikus pada pita rekaman data atau floopy disk
b. Kesalahan perangkat keras dan perangkat lunak
- ketidak berfungsian pemroses
- disk atau tape yang tidak terbaca
- kesalahan program (bugs)
- keandalan perangkat keras dapat dilakukan dengan pencegahan dan perawatan rutin
- keandalan perangkat lunak dilakukan dengan testing dan debugging
c. Kesalahan manusia
- kesalahan pemasukan data
- memasang tape atau disk yang salah
- eksekusi program yang salah
- kehilangan disk atau tape
Kehilangan data dapat diatasi dengan mengelola beberapa backup dan backup ditempatkan dari data yang online.
Penyusup, terdiri dari :
1. Penyusup pasif, yaitu yang memabca data yang tak diotorisasi
2. Penyusup aktif, yaitu mengubah data yang tak diotorisasi
Kategori penyusupan
1. Lirikan mata pemakai non-teknis. Pada sistem time-sharing kerja pemakai dapat diamati orang sekelilingnya. Bila dengan lirikan mata itu dapat mengetahui apa yang diketik pengisian password, maka pemakaian non teknis dapat mengakses fasilitas yang bukan haknya
2. Penyadapan oleh orang dalam
3. Usaha hacker dalam mencari uang
4. Spionase militer atau bisnis
Ancaman-ancaman Keamanan
Sasaran pengamanan adalah menghindari, mencegah dan mengatasi ancaman terhadap sistem. Kebutuhan keamanan sistem komputer dikategorikan ke dalam tiga aspek, yaitu :
1. Kerahasiaan (secrecy, diantaranya adalah privacy)
Kerahasiaan adalah keterjaminan bahwa informasi di sistem komputer hanya dapat diakses oleh pihak-pihak yang diotorisasi dan modifikasi tetap menjaga konsistensi dan keutuhan data di sistem.
2. Integritas (integrity)
Integritas adalah keterjaminan bahwa sumber daya sistem komputer hanya dapat dimodifikasi oelh pihak-pihak yang diotorisasi
3. Ketersediaan (availabilitiy)
Ketersediaan adalah keterjaminan bahwa sumber daya sistem komputer tersedia bagi pihak-pihak yang diotorisasi saat diperlukan.
Tipe-tipe ancaman terhadap keamanan sistem komputer dapat dimodelkan dengan memandang fungsi sistem komputer sebagai penyedia informasi. Berdasarkan fungsi ini, ancaman terhadap sistem komputer dikategorikan menajdi empat ancaman, yaitu :
- Interupsi
Sumber daya sistem komputer dihancurkan atau menjadi tak tersedia atau tak berguna. Interupsi merupakan ancaman terhadap ketersediaan.
Contoh :
o Penghancuran bagian perangkat keras, seperti harddisk
o Pemotongan kabel komunikasi
- Intersepsi
Pihak tak diotorisasi dapat mengakses sumber daya. Intersepsi merupakan ancaman terhadap keterahasiaan. Pihak tak diotorisasi dapat berupa orang atau progaram komputer.
Contoh :
o Penyadapan untuk mengambil data rahasia.
o Mengkopi file tanpa diotorisasi
- Modifikasi
Pihak tak diotorisasi tidak hanya mengakses tapi juga merusak sumber daya. Modifikasi merupakan ancaman terhadap integritas.
Contoh :
o Mengubah nilai-nilai file data
o Mengubah program sehingga bertindak secara beda
o Memodifikasi pesan-pesan yang ditransmisikan pada jaringan
- Fabrikasi
Pihak tak diotorisasi menyisipkan atau memasukkan objek-objek palsu ke sistem. Fabrikasi merupakan ancaman terhadap integritas.
Contoh :
o Memasukkan pesan-pesan palsu ke jaringan
o Penambahan record ke file.
Autentikasi Pemakai
Kebanyakan proteksi didasarkan asumsi sistem mengentahui identitas pemakai. Masalah identifikasi pemakai ketika login disebut otentifikasi pemakai (user authentication). Kebanyakan metode atutentikasi didasarkan pada tiga cara, yaitu :
1. Suatu yang diketahui pemakai, misalnya :
o passsword
o kombinasi kunci
o nama kecil ibu mertua, dsb
2. Sesuatu yang dimiliki pemakai, misalnya :
o badge
o kartu identitas
o kunci, dsb
3. Sesuatu mengenai (merupakan ciri) pemakai, misalnya :
o sidik jari
o sidik suara
o foto
o tanda tangan, dsb
Password
Pemakai memilih satu kata kode, mengingatnya dan mengetikan saat akan mengakses sistem komputer. Saat diketikkan, komputer tidak menampilkan di layar. Teknik ini mempunyai kelemahan yang sangat banyak dan mudah ditembus. Pemakai cenderung memilih password yang mudah diingat. Seseorang yang kenal dengan pemakai dapat mencoba login dengan sesuatu yang diketahuinya mengenai pemakai. Percobaan Morris dan Thompson menyatakan proteksi password dapat ditembus dengan mudah. Percobaan yang dilakukan adalah :
- terdapat file berisi nama depan, nama kecil, nama jalan, nama kota dari kamus ukuran sedang disertai dengan pengejaan dibalik, nomor plat mobil yang valid dan string-string pendek karakter acak.
- Isian di file dicocokkan dengan file password
Hasil percobaan menunjukkan lebih dari 86% cocok dengan password digunakan pemakai di file password.
Upaya untuk lebih mengamankan proteksi password, antara lain :
1. Salting
Menambahkan string pendek ke string password yang diberikan pemakai sehingga mencapai panjang password tertentu.
2. One-Time Password
Pemakai harus mengganti password secara teratur. Upaya ini untuk membatasi peluang password telah diketehaui atau dicoba-coba pemakai lain. Bentuk ekstrim pendekatan ini adalah one time password, yaitu pemakai mendapat satu buku berisi dafatar password. Setiap kali pemakai login, pemakai menggunakan password berikutnya yang terdapat di daftar password, pemakai direpotkan keharusan menjaga agar buku passwrod-nya jangan sampai dicuri.
3. Satu Daftar Panjang Pertanyaan dan Jawaban
Variasi terhadap password adalah mengharuskan pemakai memberii satu daftar pertanyaan panjang dan jawabannya. Pertanyaan-pertanyaan dan jawabannya dipilih pemakai sehingga pemakai mudah mengingatnya dan tak perlu menuliskan di kertas.
Pada saat login, komputer memilih salah satu dari pertanayaan-pertanyaan secara acak, menanyakan ke pemakai dan memeriksa jawaban yang diberikan.
4. Tantangan-Tanggapan (Chalenge-Response)
Pemakai diberi kebebasan memilih suatu algoritma, misalnya x3., Ketika pemakai login, komputer menuliskan di layar anga 3. Dalam kasus ini pemakai mengetik angka 27. Algoritma dapat berbeda di pagi, sore dan hari berbeda,dari terminal berbeda dan seterusnya.
Program-program Jahat
Ancaman-ancaman canggih terhadap sistem komputer adalah programyang mengeksploitasi kelemahan sistem komputer. Kita berurusasn dengan program aplikasi begitu juga program utilitas, seperti editor dan kompilator.
Bowles memberikan taksonomi ancaman perangkat lunak atau klasifikasi program jahat (malicious program). Ancaman-ancaman itu dapat dibagi menjadi dua kategori, yaitu :
1. Program-program yang memerlukan program inang (host program)
Fragmen progam tidak dapat mandiri secara independen dari suatu program aplikasi, program utilitas atau program sistem.
2. Program-program yang tidak memerlukan program inang. Program sendiri yang dapat dijadualkan oleh sistem operasi
Pembagian atau taksonomi Bowles menghasilkan tipe-tipe program jahat sebagai berikut:
1. Bacteria
2. Logic Bomb
3. Trapdoor
4. Trojan Horse
5. Virus
6. Worm
Bacteria
Bacteria adalah program yang mengkonsumsi sumber daya sistem dengan mereplikasi dirinya sendiri. Bacteria tidak secara eksplisit merusak file. Tujuan program ini hanya satu,yaitu mereplikasi dirinya. Program bacteria yang sederhanan bisa hanya mengeksekusi dua kopian dirinya secara simultan pada sistem multiproramming atau menciptakan dua file baru, masing-masing adalah kopian file program bacteria. Kedua kopian ini kemudian mengkopi dua kali dan seterusnya.
Bacteria bereproduksi secara eksponensial, dengna cepat mengambil alih seluruh kapsitas pemroses, memori atau ruang disk, mengakibatkan penolakan pengaksesan pemakai ke sumber daya.
Logic Bomb
Logic Bomb adalah logik yang ditempelkan pada program komputer agar memeriksa suatu kumpulan kondisi di sistem Ketika kondisi-kondisi yang dimaksud ditemui, logik mengeksekusi suatu fungsi yang menghasilkan aksi-aksi tak diotorisasi.
Logic Bomb menempel pada suatu program resmi yang di-set “meledak” ketika kondisi-kondisi tertentu dipenuhi. Contoh kondisi-kondisi untuk memicu logic bomb adalah ada atau tidak adanya file-file tertentu, hari tertentu dari minggu atau tanggal atau pemakai dan pola bit yang sama di semua kopiannya. Teknik ini terbatas untuk deteksi virus-virus yang telah dikenal. Tipe lain anti virus generasi pertama adalah mengelola rekaman panjang (ukuran) program dan memeriksa perubahan panjang program.
Virus
Virus komputer adalah buatan manusia yang bertujuan merugikan orang lain. Ancaman yang paling serius dari sebuah virus komputer adalah sifatnya yang merusak. Tidak semua program virus dibuat untuk merusak. Ada yang mungkin membuat virus dengan tujuan melindungi hasil karya sendiri.
Perbedaan yang sangat mendasar antara virus dengan worm meskipun sama-sama mempunyai sifat merusak dan kekuatannya untuk memperbanyak diri, worm tidak mampu menempelkan dirinya pada program lain. Worm hanya memperbanyak diri dengan memakan ruang kosong dalam memori komputer. Kegiatan memperbanyak diri ini dilakuakan terus sampai memori komputer menjadi penuh dan sistem menjadi macet.
Kuda troya merupakan teknik integrasi yang sering dilakukan oleh virus dengan membuat suatu program yang bermanfaat, tetapi dalam program ini diselipkan suatu program yang amat berbahaya karena dapat menghancurkan atau menghapus data yang ada dalam disket atau harddisk. Program ini berupa virus komputer. Oleh karena itu apabila komputer diaktifkan, secara tidak disengaja juga mengaktifkan program virus.
Trapdoor merupakan suatu titik masuk ke dalam suatu sistem dengan cara mem-bypass sistem keamanan. Dengan demikian, seseorang dapat melakukan sesuatu dengan sistem tersebut. Para hacker pada umumnya menggunakan cara itu untuk bisa masuk ke sistem komputer yang ingin dirusaknya.
Ada empat cara membagi jenis virus komputer , yaitu :
1. Berdasarkan cara penularannya atau penyebarannya
2. Berdasarkan keganasannya
3. Berdasarkan maksud dan tujuan pembuatan virus
4. Berdasarkan sistem operasinya
Cara virus masuk ke sistem
Berdasarkan berbagai evaluasi mengenai virus diketahui bahwa virus-virus canggih dibentuk dengan empat komponen utama, yaitu :
a. inisialisasi ke memori
b. menyalinkan dirinya ke disk
c. beraksi
Tahap inisialisasi merupakan tahap awal kegiatan virus. Beberapa cara yang digunakan virus untuk melakukan tahap ini, antara lain :
a. memodifikasi ke dalam bentuk file .exe atau .com
b. memodifikasi atau mengganti boot record
c. memodifikasi atau mengganti partisi record
d. memodifikasi atau mengganti program kerja peralatan komputer
e. memodifikasi file-file overlay
Worm
Worm adalah program yang dapat mereplikasi dirinya dan mengirim salinan dari komputer ke komputer lewat hubungan jaringan. Begitu tiba, worm diaktifkan untuk mereplikasi dan propagasi kembali. Selain hanya propagasi, worm biasanya melakukan fungsi yang tak diinginkan.
Network worm menggunakan hubungan jaringan untuk menyebar dari sistem ke sistem lain. Sekali aktif di suatu sistem, network worm dapat berlaku seperti virus atau bacteria atau menempelkan program trojan horse atau melakukan sejumlah aksi menjengkelkan atau menghancurkan.
Untuk mereplikasi dirinya, network worm menggunakan suatu layanan jaringan, seperti :
- fasilitas surat elektronik (electronic mail facility) yaitu worm mengirimkan kopian dirinya ke sistem-sistem lain
- kemampuan eksekusi jarak jauh (remote execution capability) yaitu worm mengeksekusi kopian dirinya di sistem lain.
- Kemampuan login jarak jauh (remote login capability) yaitu worm log pada sistem jauh sebagai pemakai dan kemudian menggunakan perintah untuk mengkopi dirinya dari satu sistem ke sistem lain.
salinan program worm yang lbaru kemudian dijalankan di sistem jauh dan melakukan fungsi-fungsi lain yang dilakukan di sistem itu, worm terus menyebar dengan cara yang sama.
Network worm mempunyai ciri-ciri yang sama dengan virus komputer, yaitu mempunyai fase-fase :
- Dormant phase
- Propagation phase
- Trigerring phase
- Execution phase
Network worm juga berusaha menentukan apakah sistem sebelumnya telah diinfeksi sebelum mengirim kopian dirinya ke sistem itu

MODUS-MODUS KEJAHATAN DALAM TEKNOLOGI INFORMASI
Kebutuhan akan teknologi Jaringan Komputer semakin meningkat. Selain sebagai media penyedia informasi, melalui Internet pula kegiatan komunitas komersial menjadi bagian terbesar, dan terpesat pertumbuhannya serta menembus berbagai batas negara. Bahkan melalui jaringan ini kegiatan pasar di dunia bisa diketahui selama 24 jam. Melalui dunia internet atau disebut juga cyberspace, apapun dapat dilakukan. Segi positif dari dunia maya ini tentu saja menambah trend perkembangan teknologi dunia dengan segala bentuk kreatifitas manusia. Namun dampak negatif pun tidak bisa dihindari. Tatkala pornografi marak di media Internet, masyarakat pun tak bisa berbuat banyak.
Seiring dengan perkembangan teknologi Internet, menyebabkan munculnya kejahatan yang disebut dengan “CyberCrime” atau kejahatan melalui jaringan Internet. Munculnya beberapa kasus “CyberCrime” di Indonesia, seperti pencurian kartu kredit, hacking beberapa situs, menyadap transmisi data orang lain, misalnya email, dan memanipulasi data dengan cara menyiapkan perintah yang tidak dikehendaki ke dalam programmer komputer. Sehingga dalam kejahatan komputer dimungkinkan adanya delik formil dan delik materil. Delik formil adalah perbuatan seseorang yang memasuki komputer orang lain tanpa ijin, sedangkan delik materil adalah perbuatan yang menimbulkan akibat kerugian bagi orang lain. Adanya CyberCrime telah menjadi ancaman stabilitas, sehingga pemerintah sulit mengimbangi teknik kejahatan yang dilakukan dengan teknologi komputer, khususnya jaringan internet dan intranet.

Pengertian Cybercrime
Cybercrime merupakan bentuk-bentuk kejahatan yang timbul karena pemanfaatan teknologi internet. Beberapa pendapat mengindentikkancybercrime dengan computer crime. The U.S. Department of Justice memberikan pengertien computer crime sebagai:
“…any illegal act requiring knowledge of computer technology for its perpetration, investigation, or prosecution”.
Pengertian tersebut identik dengan yang diberikan Organization of European Community Development, yang mendefinisikan computer crime sebagai:
“any illegal, unehtical or unauthorized behavior relating to the automatic processing and/or the transmission of data”.
Adapun Andi Hamzah (1989) dalam tulisannya “Aspek-aspek Pidana di Bidang komputer”, mengartikan kejahatan komputer sebagai:
”Kejahatan di bidang komputer secara umum dapat diartikan sebagai penggunaan komputer secara illegal”.
Dari beberapa pengertian di atas, secara ringkas dapat dikatakan bahwacybercrime dapat didefinisikan sebagai perbuatan melawan hukum yang dilakukan dengan menggunakan internet yang berbasis pada kecanggihan teknologi komputer dan telekomunikasi.
Karakteristik Cybercrime
Selama ini dalam kejahatan konvensional, dikenal adanya dua jenis kejahatan sebagai berikut:
  1. a. Kejahatan kerah biru (blue collar crime)
Kejahatan ini merupakan jenis kejahatan atau tindak kriminal yang dilakukan secara konvensional seperti misalnya perampokkan, pencurian, pembunuhan dan lain-lain.
  1. b. Kejahatan kerah putih (white collar crime)
Kejahatan jenis ini terbagi dalam empat kelompok kejahatan, yakni kejahatan korporasi, kejahatan birokrat, malpraktek, dan kejahatan individu.
Cybercrime sendiri sebagai kejahatan yang muncul sebagai akibat adanya komunitas dunia maya di internet, memiliki karakteristik tersendiri yang berbeda dengan kedua model di atas. Karakteristik unik dari kejahatan di dunia maya tersebut antara lain menyangkut lima hal berikut:
  1. Ruang lingkup kejahatan
  2. Sifat kejahatan
  3. Pelaku kejahatan
  4. Modus Kejahatan
  5. Jenis kerugian yang ditimbulkan
Jenis Cybercrime
Berdasarkan jenis aktifitas yang dilakukannya, cybercrime dapat digolongkan menjadi beberapa jenis sebagai berikut:
  1. a. Unauthorized Access
Merupakan kejahatan yang terjadi ketika seseorang memasuki atau menyusup ke dalam suatu sistem jaringan komputer secara tidak sah, tanpa izin, atau tanpa sepengetahuan dari pemilik sistem jaringan komputer yang dimasukinya.Probing dan port merupakan contoh kejahatan ini.
  1. b. Illegal Contents
Merupakan kejahatn yang dilakukan dengan memasukkan data atau informasi ke internet tentang suatu hal yang tidak benar, tidak etis, dan dapat dianggap melanggar hukum atau menggangu ketertiban umum, contohnya adalah penyebaran pornografi.
  1. c. Penyebaran virus secara sengaja
Penyebaran virus pada umumnya dilakukan dengan menggunakan email. Sering kali orang yang sistem emailnya terkena virus tidak menyadari hal ini. Virus ini kemudian dikirimkan ke tempat lain melalui emailnya.
  1. d. Data Forgery
Kejahatan jenis ini dilakukan dengan tujuan memalsukan data pada dokumen-dokumen penting yang ada di internet. Dokumen-dokumen ini biasanya dimiliki oleh institusi atau lembaga yang memiliki situs berbasis web database.
  1. e. Cyber Espionage, Sabotage, and Extortion
Cyber Espionage merupakan kejahatan yang memanfaatkan jaringan internet untuk melakukan kegiatan mata-mata terhadap pihak lain, dengan memasuki sistem jaringan komputer pihak sasaran. Sabotage and Extortion merupakan jenis kejahatan yang dilakukan dengan membuat gangguan, perusakan atau penghancuran terhadap suatu data, program komputer atau sistem jaringan komputer yang terhubung dengan internet.
  1. f. Cyberstalking
Kejahatan jenis ini dilakukan untuk mengganggu atau melecehkan seseorang dengan memanfaatkan komputer, misalnya menggunakan e-mail dan dilakukan berulang-ulang. Kejahatan tersebut menyerupai teror yang ditujukan kepada seseorang dengan memanfaatkan media internet. Hal itu bisa terjadi karena kemudahan dalam membuat email dengan alamat tertentu tanpa harus menyertakan identitas diri yang sebenarnya.
  1. g. Carding
Carding merupakan kejahatan yang dilakukan untuk mencuri nomor kartu kredit milik orang lain dan digunakan dalam transaksi perdagangan di internet.
  1. h. Hacking dan Cracker
Istilah hacker biasanya mengacu pada seseorang yang punya minat besar untuk mempelajari sistem komputer secara detail dan bagaimana meningkatkan kapabilitasnya. Adapun mereka yang sering melakukan aksi-aksi perusakan di internet lazimnya disebut cracker. Boleh dibilang cracker ini sebenarnya adalah hacker yang yang memanfaatkan kemampuannya untuk hal-hal yang negatif. Aktivitas cracking di internet memiliki lingkup yang sangat luas, mulai dari pembajakan account milik orang lain, pembajakan situs web, probing, menyebarkan virus, hingga pelumpuhan target sasaran. Tindakan yang terakhir disebut sebagai DoS (Denial Of Service). Dos attack merupakan serangan yang bertujuan melumpuhkan target (hang, crash) sehingga tidak dapat memberikan layanan.
  1. i. Cybersquatting and Typosquatting
Cybersquatting merupakan kejahatan yang dilakukan dengan mendaftarkan domain nama perusahaan orang lain dan kemudian berusaha menjualnya kepada perusahaan tersebut dengan harga yang lebih mahal. Adapun typosquatting adalah kejahatan dengan membuat domain plesetan yaitu domain yang mirip dengan nama domain orang lain. Nama tersebut merupakan nama domain saingan perusahaan.
  1. j. Hijacking
Hijacking merupakan kejahatan melakukan pembajakan hasil karya orang lain. Yang paling sering terjadi adalah Software Piracy (pembajakan perangkat lunak).
  1. k. Cyber Terorism
Suatu tindakan cybercrime termasuk cyber terorism jika mengancam pemerintah atau warganegara, termasuk cracking ke situs pemerintah atau militer. Beberapa contoh kasus Cyber Terorism sebagai berikut :
  • Ramzi Yousef, dalang penyerangan pertama ke gedung WTC, diketahui menyimpan detail serangan dalam file yang di enkripsi di laptopnya.
  • Osama Bin Laden diketahui menggunakan steganography untuk komunikasi jaringannya.
  • Suatu website yang dinamai Club Hacker Muslim diketahui menuliskan daftar tip untuk melakukan hacking ke Pentagon.
  • Seorang hacker yang menyebut dirinya sebagai DoktorNuker diketahui telah kurang lebih lima tahun melakukan defacing atau mengubah isi halaman web dengan propaganda anti-American, anti-Israel dan pro-Bin Laden.
Berdasarkan Motif Kegiatan
Berdasarkan motif kegiatan yang dilakukannya, cybercrime dapat digolongkan menjadi dua jenis sebagai berikut :
a.   Cybercrime sebagai tindakan murni kriminal
Kejahatan yang murni merupakan tindak kriminal merupakan kejahatan yang dilakukan karena motif kriminalitas. Kejahatan jenis ini biasanya menggunakan internet hanya sebagai sarana kejahatan. Contoh kejahatan semacam ini adalah Carding, yaitu pencurian nomor kartu kredit milik orang lain untuk digunakan dalam transaksi perdagangan di internet. Juga pemanfaatan media internet (webserver, mailing list) untuk menyebarkan material bajakan. Pengirim e-mail anonim yang berisi promosi (spamming) juga dapat dimasukkan dalam contoh kejahatan yang menggunakan internet sebagai sarana. Di beberapa negara maju, pelaku spamming dapat dituntut dengan tuduhan pelanggaran privasi.
b.   Cybercrime sebagai kejahatan ”abu-abu”
Pada jenis kejahatan di internet yang masuk dalam wilayah ”abu-abu”, cukup sulit menentukan apakah itu merupakan tindak kriminal atau bukan mengingat motif kegiatannya terkadang bukan untuk kejahatan. Salah satu contohnya adalah probing atau portscanning. Ini adalah sebutan untuk semacam tindakan pengintaian terhadap sistem milik orang lain dengan mengumpulkan informasi sebanyak-banyaknya dari sistem yang diintai, termasuk sistem operasi yang digunakan, port-port yang ada, baik yang terbuka maupun tertutup, dan sebagainya.

Berdasarkan Sasaran Kejahatan
Sedangkan berdasarkan sasaran kejahatan, cybercrime dapat dikelompokkan menjadi beberapa kategori seperti berikut ini :
  1. a. Cybercrime yang menyerang individu (Against Person)
Jenis kejahatan ini, sasaran serangannya ditujukan kepada perorangan atau individu yang memiliki sifat atau kriteria tertentu sesuai tujuan penyerangan tersebut. Beberapa contoh kejahatan ini antara lain :
  • Pornografi
Kegiatan yang dilakukan dengan membuat, memasang, mendistribusikan, dan menyebarkan material yang berbau pornografi, cabul, serta mengekspos hal-hal yang tidak pantas.
  • Cyberstalking
Kegiatan yang dilakukan untuk mengganggu atau melecehkan seseorang dengan memanfaatkan komputer, misalnya dengan menggunakan e-mail yang dilakukan secara berulang-ulang seperti halnya teror di dunia cyber. Gangguan tersebut bisa saja berbau seksual, religius, dan lain sebagainya.
  • Cyber-Tresspass
Kegiatan yang dilakukan melanggar area privasi orang lain seperti misalnya Web Hacking. Breaking ke PC, Probing, Port Scanning dan lain sebagainya.
  1. b. Cybercrime menyerang hak milik (Againts Property)
Cybercrime yang dilakukan untuk menggangu atau menyerang hak milik orang lain. Beberapa contoh kejahatan jenis ini misalnya pengaksesan komputer secara tidak sah melalui dunia cyber, pemilikan informasi elektronik secara tidak sah/pencurian informasi, carding, cybersquating, hijacking, data forgery dan segala kegiatan yang bersifat merugikan hak milik orang lain.
  1. c. Cybercrime menyerang pemerintah (Againts Government)
Cybercrime Againts Government dilakukan dengan tujuan khusus penyerangan terhadap pemerintah. Kegiatan tersebut misalnya cyber terorism sebagai tindakan yang mengancam pemerintah termasuk juga cracking ke situs resmi pemerintah atau situs militer.
Penanggulangan Cybercrime
Aktivitas pokok dari cybercrime adalah penyerangan terhadap content, computer system dan communication system milik orang lain atau umum di dalam cyberspace. Fenomena cybercrime memang harus diwaspadai karena kejahatan ini agak berbeda dengan kejahatan lain pada umumnya. Cybercrime dapat dilakukan tanpa mengenal batas teritorial dan tidak memerlukan interaksi langsung antara pelaku dengan korban kejahatan. Berikut ini cara penanggulangannya :
  1. a. Mengamankan sistem
Tujuan yang nyata dari sebuah sistem keamanan adalah mencegah adanya perusakan bagian dalam sistem karena dimasuki oleh pemakai yang tidak diinginkan. Pengamanan sistem secara terintegrasi sangat diperlukan untuk meminimalisasikan kemungkinan perusakan tersebut. Membangun sebuah keamanan sistem harus merupakan langkah-langkah yang terintegrasi pada keseluruhan subsistemnya, dengan tujuan dapat mempersempit atau bahkan menutup adanya celah-celah unauthorized actions yang merugikan. Pengamanan secara personal dapat dilakukan mulai dari tahap instalasi sistem sampai akhirnya menuju ke tahap pengamanan fisik dan pengamanan data. Pengaman akan adanya penyerangan sistem melaui jaringan juga dapat dilakukan dengan melakukan pengamanan FTP, SMTP, Telnet dan pengamanan Web Server.
  1. b. Penanggulangan Global
The Organization for Economic Cooperation and Development (OECD) telah membuat guidelines bagi para pembuat kebijakan yang berhubungan dengan computer-related crime, dimana pada tahun 1986 OECD telah memublikasikan laporannya yang berjudul Computer-Related Crime : Analysis of Legal Policy. Menurut OECD, beberapa langkah penting yang harus dilakukan setiap negara dalam penanggulangan cybercrime adalah :
  1. melakukan modernisasi hukum pidana nasional beserta hukum acaranya.
  2. meningkatkan sistem pengamanan jaringan komputer nasional sesuai standar internasional.
  3. meningkatkan pemahaman serta keahlian aparatur penegak hukum mengenai upaya pencegahan, investigasi dan penuntutan perkara-perkara yang berhubungan dengan cybercrime.
  4. meningkatkan kesadaran warga negara mengenai masalah cybercrime serta pentingnya mencegah kejahatan tersebut terjadi.
  5. meningkatkan kerjasama antarnegara, baik bilateral, regional maupun multilateral, dalam upaya penanganan cybercrime.
Perlunya Cyberlaw
Perkembangan teknologi yang sangat pesat, membutuhkan pengaturan hukum yang berkaitan dengan pemanfaatan teknologi tersebut. Sayangnya, hingga saat ini banyak negara belum memiliki perundang-undangan khusus di bidang teknologi informasi, baik dalam aspek pidana maupun perdatanya.
Permasalahan yang sering muncul adalah bagaimana menjaring berbagai kejahatan komputer dikaitkan dengan ketentuan pidana yang berlaku karena ketentuan pidana yang mengatur tentang kejahatan komputer yang berlaku saat ini masih belum lengkap.
Banyak kasus yang membuktikan bahwa perangkat hukum di bidang TI masih lemah. Seperti contoh, masih belum dilakuinya dokumen elektronik secara tegas sebagai alat bukti oleh KUHP. Hal tersebut dapat dilihat pada UU No8/1981 Pasal 184 ayat 1 bahwa undang-undang ini secara definitif membatasi alat-alat bukti hanya sebagai keterangan saksi, keterangan ahli, surat, petunjuk, dan keterangan terdakwa saja. Demikian juga dengan kejahatan pornografi dalam internet, misalnya KUH Pidana pasal 282 mensyaratkan bahwa unsur pornografi dianggap kejahatan jika dilakukan di tempat umum.
Hingga saat ini, di negara kita ternyata belum ada pasal yang bisa digunakan untuk menjerat penjahat cybercrime. Untuk kasuss carding misalnya, kepolisian baru bisa menjerat pelaku kejahatan komputer dengan pasal 363 soal pencurian karena yang dilakukan tersangka memang mencuri data kartu kredit orang lain.

Perlunya Dukungan Lembaga Khusus
Lembaga-lembaga khusus, baik milik pemerintah maupun NGO (Non Government Organization), diperlukan sebagai upaya penanggulangan kejahatan di internet. Amerika Serikat memiliki komputer Crime and Intellectual Property Section (CCIPS) sebagai sebuah divisi khusus dari U.S. Departement of Justice. Institusi ini memberikan informasi tentang cybercrime, melakukan sosialisasi secara intensif kepada masyarakat, serta melakukan riset-riset khusus dalam penanggulangan cybercrime. Indonesia sendiri sebenarnya sudah memiliki IDCERT (Indonesia Computer Emergency Rensponse Team). Unit ini merupakan point of contact bagi orang untuk melaporkan masalah-masalah keamanan komputer.

Jumat, 28 Oktober 2011

DATABASE MANAGEMENT SYSTEM

A DBMS is a set of software programs that controls the system organization, storage, management, and retrieval of data in a database. DBMSs are categorized according to their data structures or types. The DBMS accepts requests for data from an application program and instructs the operating system to transfer the appropriate data. The queries and responses must be submitted and received according to a format that conforms to one or more applicable protocols. When a DBMS is used, information systems can be changed more easily as the organization's information requirements change. New categories of data can be added to the database without disruption to the existing system.
Database servers are dedicated computers that hold the actual databases and run only the DBMS and related software. Database servers are usually multiprocessor computers, with generous memory and RAID disk arrays used for stable storage. Hardware database accelerators, connected to one or more servers via a high-speed channel, are also used in large volume transaction processing environments. DBMSs are found at the heart of most database applications. DBMSs may be built around a custom multitasking kernel with built-in networking support, but modern DBMSs typically rely on a standard operating system to provide these functions.[citation needed]

[edit] History

Databases have been in use since the earliest days of electronic computing. Unlike modern systems which can be applied to widely different databases and needs, the vast majority of older systems were tightly linked to the custom databases in order to gain speed at the expense of flexibility. Originally DBMSs were found only in large organizations with the computer hardware needed to support large data sets.

[edit] 1960s Navigational DBMS

As computers grew in speed and capability, a number of general-purpose database systems emerged; by the mid-1960s there were a number of such systems in commercial use. Interest in a standard began to grow, and Charles Bachman, author of one such product, the Integrated Data Store (IDS), founded the "Database Task Group" within CODASYL, the group responsible for the creation and standardization of COBOL. In 1971 they delivered their standard, which generally became known as the "Codasyl approach", and soon a number of commercial products based on this approach were made available.
The Codasyl approach was based on the "manual" navigation of a linked data set which was formed into a large network. When the database was first opened, the program was handed back a link to the first record in the database, which also contained pointers to other pieces of data. To find any particular record the programmer had to step through these pointers one at a time until the required record was returned. Simple queries like "find all the people in India" required the program to walk the entire data set and collect the matching results one by one. There was, essentially, no concept of "find" or "search". This may sound like a serious limitation today, but in an era when most data was stored on magnetic tape such operations were too expensive to contemplate anyway.
IBM also had their own DBMS system in 1968, known as IMS. IMS was a development of software written for the Apollo program on the System/360. IMS was generally similar in concept to Codasyl, but used a strict hierarchy for its model of data navigation instead of Codasyl's network model. Both concepts later became known as navigational databases due to the way data was accessed, and Bachman's 1973 Turing Award award presentation was The Programmer as Navigator. IMS is classified as a hierarchical database.IDMS and CINCOM's TOTAL database are classified as network databases.

[edit] 1970s relational DBMS

Edgar Codd worked at IBM in San Jose, California, in one of their offshoot offices that was primarily involved in the development of hard disk systems. He was unhappy with the navigational model of the Codasyl approach, notably the lack of a "search" facility. In 1970, he wrote a number of papers that outlined a new approach to database construction that eventually culminated in the groundbreaking A Relational Model of Data for Large Shared Data Banks.[1]
In this paper, he described a new system for storing and working with large databases. Instead of records being stored in some sort of linked list of free-form records as in Codasyl, Codd's idea was to use a "table" of fixed-length records. A linked-list system would be very inefficient when storing "sparse" databases where some of the data for any one record could be left empty. The relational model solved this by splitting the data into a series of normalized tables, with optional elements being moved out of the main table to where they would take up room only if needed.
For instance, a common use of a database system is to track information about users, their name, login information, various addresses and phone numbers. In the navigational approach all of these data would be placed in a single record, and unused items would simply not be placed in the database. In the relational approach, the data would be normalized into a user table, an address table and a phone number table (for instance). Records would be created in these optional tables only if the address or phone numbers were actually provided.
Linking the information back together is the key to this system. In the relational model, some bit of information was used as a "key", uniquely defining a particular record. When information was being collected about a user, information stored in the optional (or related) tables would be found by searching for this key. For instance, if the login name of a user is unique, addresses and phone numbers for that user would be recorded with the login name as its key. This "re-linking" of related data back into a single collection is something that traditional computer languages are not designed for.
Just as the navigational approach would require programs to loop in order to collect records, the relational approach would require loops to collect information about any one record. Codd's solution to the necessary looping was a set-oriented language, a suggestion that would later spawn the ubiquitous SQL. Using a branch of mathematics known as tuple calculus, he demonstrated that such a system could support all the operations of normal databases (inserting, updating etc.) as well as providing a simple system for finding and returning sets of data in a single operation.
Codd's paper was picked up by two people at Berkeley, Eugene Wong and Michael Stonebraker. They started a project known as INGRES using funding that had already been allocated for a geographical database project, using student programmers to produce code. Beginning in 1973, INGRES delivered its first test products which were generally ready for widespread use in 1979. During this time, a number of people had moved "through" the group — perhaps as many as 30 people worked on the project, about five at a time. INGRES was similar to System R in a number of ways, including the use of a "language" for data access, known as QUEL — QUEL was in fact relational, having been based on Codd's own Alpha language, but has since been corrupted to follow SQL, thus violating much the same concepts of the relational model as SQL itself.
IBM itself did one test implementation of the relational model, PRTV, and a production one, Business System 12, both now discontinued. Honeywell did MRDS for Multics, and now there are two new implementations: Alphora Dataphor and Rel. All other DBMS implementations usually called relational are actually SQL DBMSs. In 1968, the University of Michigan began development of the Micro DBMS . It was used to manage very large data sets by the US Department of Labor, the Environmental Protection Agency and researchers from University of Alberta, the University of Michigan and Wayne State University. It ran on mainframe computers using Michigan Terminal System. The system remained in production until 1996.

[edit] Late-1970s SQL DBMS

IBM started working on a prototype system loosely based on Codd's concepts as System R in the early 1970s. The first version was ready in 1974/5, and work then started on multi-table systems in which the data could be split so that all of the data for a record (some of which is optional) did not have to be stored in a single large "chunk". Subsequent multi-user versions were tested by customers in 1978 and 1979, by which time a standardized query language – SQL – had been added. Codd's ideas were establishing themselves as both workable and superior to Codasyl, pushing IBM to develop a true production version of System R, known as SQL/DS, and, later, Database 2 (DB2).
Many of the people involved with INGRES became convinced of the future commercial success of such systems, and formed their own companies to commercialize the work but with an SQL interface. Sybase, Informix, NonStop SQL and eventually Ingres itself were all being sold as offshoots to the original INGRES product in the 1980s. Even Microsoft SQL Server is actually a re-built version of Sybase, and thus, INGRES. Only Larry Ellison's Oracle started from a different chain, based on IBM's papers on System R, and beat IBM to market when the first version was released in 1978.
Stonebraker went on to apply the lessons from INGRES to develop a new database, Postgres, which is now known as PostgreSQL. PostgreSQL is often used for global mission critical applications (the .org and .info domain name registries use it as their primary data store, as do many large companies and financial institutions).
In Sweden, Codd's paper was also read and Mimer SQL was developed from the mid-70s at Uppsala University. In 1984, this project was consolidated into an independent enterprise. In the early 1980s, Mimer in c introduced transaction handling for high robustness in applications, an idea that was subsequently implemented on most other DBMS.

[edit] 1980s object-oriented databases

The 1980s, along with a rise in object oriented programming, saw a growth in how data in various databases were handled. Programmers and designers began to treat the data in their databases as objects. That is to say that if a person's data were in a database, that person's attributes, such as their address, phone number, and age, were now considered to belong to that person instead of being extraneous data. This allows for relations between data to be relations to objects and their attributes and not to individual fields.[2]
Another big game changer for databases in the 1980s was the focus on increasing reliability and access speeds. In 1989, two professors from the University of Wisconsin at Madison published an article at an ACM associated conference outlining their methods on increasing database performance. The idea was to replicate specific important, and often queried information, and store it in a smaller temporary database that linked these key features back to the main database. This meant that a query could search the smaller database much quicker, rather than search the entire dataset.[3] This eventually leads to the practice of indexing, which is used by almost every operating system from Windows to the system that operates Apple iPod devices.

[edit] 21st century NoSQL databases

In the 21st century a new trend of NoSQL databases was started. Those non-relational databases are significantly different from the classic relational databases. They often do not require fixed table schemas, avoid join operations by storing denormalized data, and are designed to scale horizontally. Most of them can be classified as either key-value stores or document-oriented databases.
In recent years there was a high demand for massively distributed databases with high partition tolerance but according to the CAP theorem it is impossible for a distributed system to simultaneously provide consistency, availability and partition tolerance guarantees. A distributed system can satisfy any two of these guarantees at the same time, but not all three. For that reason many NoSQL databases are using what is called eventual consistency to provide both availability and partition tolerance guarantees with a maximum level of data consistency.
The most popular software in that category include: memcached, Redis, MongoDB, CouchDB, Apache Cassandra and HBase.

[edit] Current trends

In 1998, database management was in need of a new style of databases to solve current database management problems. Researchers realized that the old trends of database management were becoming too complex and there was a need for automated configuration and management. Surajit Chaudhuri, Gerhard Weikum and Michael Stonebraker were the pioneers that dramatically affected the thought of database management systems.[4] They believed that database management needed a more modular approach and there were too many specifications needed for users. Since this new development process of database management there are more possibilities. Database management is no longer limited to “monolithic entities”. Many solutions have been developed to satisfy the individual needs of users. The development of numerous database options has created flexibility in database management.
There are several ways database management has affected the field of technology. Because organizations' demand for directory services has grown as they expand in size, businesses use directory services that provide prompted searches for company information. Mobile devices are able to store more than just the contact information of users, and can cache and display a large amount of information on smaller displays. Search engine queries are able to locate data within the World Wide Web. Retailers have also benefited from the developments with data warehousing, recording customer transactions. Online transactions have become tremendously popular for e-business. Consumers and businesses are able to make payments securely through some company websites.

[edit] Components

[edit] Modeling language

A modeling language is a data modeling language to define the schema of each database hosted in the DBMS, according to the DBMS database model. Database management systems (DBMS) are designed to use one of five database structures to provide simplistic access to information stored in databases. The five database structures are:
Inverted lists and other methods are also used. A given database management system may provide one or more of the five models. The optimal structure depends on the natural organization of the application's data, and on the application's requirements, which include transaction rate (speed), reliability, maintainability, scalability, and cost.
The hierarchical structure was used in early mainframe DBMS. Records’ relationships form a treelike model. This structure is simple but nonflexible because the relationship is confined to a one-to-many relationship. IBM’s IMS system and the RDM Mobile are examples of a hierarchical database system with multiple hierarchies over the same data. RDM Mobile is a newly designed embedded database for a mobile computer system. The hierarchical structure is used primarily today for storing geographic information and file systems.
The network structure consists of more complex relationships. Unlike the hierarchical structure, it can relate to many records and accesses them by following one of several paths. In other words, this structure allows for many-to-many relationships.
The relational structure is the most commonly used today. It is used by mainframe, midrange and microcomputer systems. It uses two-dimensional rows and columns to store data. The tables of records can be connected by common key values. While working for IBM, E.F. Codd designed this structure in 1970. The model is not easy for the end user to run queries with because it may require a complex combination of many tables.
The multidimensional structure is similar to the relational model. The dimensions of the cube-like model have data relating to elements in each cell. This structure gives a spreadsheet-like view of data. This structure is easy to maintain because records are stored as fundamental attributes—in the same way they are viewed—and the structure is easy to understand. Its high performance has made it the most popular database structure when it comes to enabling online analytical processing (OLAP).
The object-oriented structure has the ability to handle graphics, pictures, voice and text, types of data, without difficultly unlike the other database structures. This structure is popular for multimedia Web-based applications. It was designed to work with object-oriented programming languages such as Java.
The dominant model in use today is the ad hoc one embedded in SQL,despite the objections of purists who believe this model is a corruption of the relational model since it violates several fundamental principles for the sake of practicality and performance. Many DBMSs also support the Open Database Connectivity API that supports a standard way for programmers to access the DBMS.
Before the database management approach, organizations relied on file processing systems to organize, store, and process data files. End users criticized file processing because the data is stored in many different files and each organized in a different way. Each file was specialized to be used with a specific application. File processing was bulky, costly and nonflexible when it came to supplying needed data accurately and promptly. Data redundancy is an issue with the file processing system because the independent data files produce duplicate data so when updates were needed each separate file would need to be updated. Another issue is the lack of data integration. The data is dependent on other data to organize and store it. Lastly, there was not any consistency or standardization of the data in a file processing system which makes maintenance difficult. For these reasons, the database management approach was produced.

[edit] Data structure

Data structures (fields, records, files and objects) optimized to deal with very large amounts of data stored on a permanent data storage device (which implies relatively slow access compared to volatile main memory).

[edit] Database query language

A database query language and report object allows users to interactively interrogate the database, analyze its data and update it according to the users privileges on data. It also controls the security of the database. Data security prevents unauthorized users from viewing or updating the database. Using passwords, users are allowed access to the entire database or subsets of it called subschemas. For example, an employee database can contain all the data about an individual employee, but one group of users may be authorized to view only payroll data, while others are allowed access to only work history and medical data.
If the DBMS provides a way to interactively enter and update the database, as well as interrogate it, this capability allows for managing personal databases. However, it may not leave an audit trail of actions or provide the kinds of controls necessary in a multi-user organization. These controls are only available when a set of application programs are customized for each data entry and updating function.

[edit] Transaction mechanism

A database transaction mechanism ideally guarantees ACID properties in order to ensure data integrity despite concurrent user accesses (concurrency control), and faults (fault tolerance). It also maintains the integrity of the data in the database. The DBMS can maintain the integrity of the database by not allowing more than one user to update the same record at the same time. The DBMS can help prevent duplicate records via unique index constraints; for example, no two customers with the same customer numbers (key fields) can be entered into the database. See ACID properties for more information.

[edit] Topics

[edit] External, logical and internal view

A DBMS Provides the ability for many different users to share data and process resources. As there can be many different users, there are many different database needs. The question is: How can a single, unified database meet varying requirements of so many users?
A DBMS minimizes these problems by providing three views of the database data: an external view (or user view), logical view (or conceptual view) and physical (or internal) view. The user’s view of a database program represents data in a format that is meaningful to a user and to the software programs that process those data.
One strength of a DBMS is that while there is typically only one conceptual (or logical) and physical (or internal) view of the data, there can be an endless number of different external views. This feature allows users to see database information in a more business-related way rather than from a technical, processing viewpoint. Thus the logical view refers to the way the user views the data, and the physical view refers to the way the data are physically stored and processed.

[edit] Features and capabilities

Alternatively, and especially in connection with the relational model of database management, the relation between attributes drawn from a specified set of domains can be seen as being primary. For instance, the database might indicate that a car that was originally "red" might fade to "pink" in time, provided it was of some particular "make" with an inferior paint job. Such higher arity relationships provide information on all of the underlying domains at the same time, with none of them being privileged above the others.

[edit] Simple definition

A database management system is the system in which related data is stored in an efficient and compact manner. "Efficient" means that the data which is stored in the DBMS can be accessed quickly and "compact" means that the data takes up very little space in the computer's memory. The phrase "related data" means that the data stored pertains to a particular topic.
Specialized databases have existed for scientific, imaging, document storage and like uses. Functionality drawn from such applications has begun appearing in mainstream DBMS's as well. However, the main focus, at least when aimed at the commercial data processing market, is still on descriptive attributes on repetitive record structures.
Thus, the DBMSs of today roll together frequently needed services or features of attribute management. By externalizing such functionality to the DBMS, applications effectively share code with each other and are relieved of much internal complexity. Features commonly offered by database management systems include:

Query ability 
Querying is the process of requesting attribute information from various perspectives and combinations of factors. Example: "How many 2-door cars in Texas are green?" A database query language and report writer allow users to interactively interrogate the database, analyze its data and update it according to the users privileges on data.

Backup and replication 
Copies of attributes need to be made regularly in case primary disks or other equipment fails. A periodic copy of attributes may also be created for a distant organization that cannot readily access the original. DBMS usually provide utilities to facilitate the process of extracting and disseminating attribute sets. When data is replicated between database servers, so that the information remains consistent throughout the database system and users cannot tell or even know which server in the DBMS they are using, the system is said to exhibit replication transparency.

Rule enforcement 
Often one wants to apply rules to attributes so that the attributes are clean and reliable. For example, we may have a rule that says each car can have only one engine associated with it (identified by Engine Number). If somebody tries to associate a second engine with a given car, we want the DBMS to deny such a request and display an error message. However, with changes in the model specification such as, in this example, hybrid gas-electric cars, rules may need to change. Ideally such rules should be able to be added and removed as needed without significant data layout redesign.

Security 
For security reasons, it is desirable to limit who can see or change specific attributes or groups of attributes. This may be managed directly on an individual basis, or by the assignment of individuals and privileges to groups, or (in the most elaborate models) through the assignment of individuals and groups to roles which are then granted entitlements.

Computation 
Common computations requested on attributes are counting, summing, averaging, sorting, grouping, cross-referencing, and so on. Rather than have each computer application implement these from scratch, they can rely on the DBMS to supply such calculations.

Change and access logging 
This describes who accessed which attributes, what was changed, and when it was changed. Logging services allow this by keeping a record of access occurrences and changes.

Automated optimization 
For frequently occurring usage patterns or requests, some DBMS can adjust themselves to improve the speed of those interactions. In some cases the DBMS will merely provide tools to monitor performance, allowing a human expert to make the necessary adjustments after reviewing the statistics collected.

[edit] Meta-data repository

Metadata is data describing data. For example, a listing that describes what attributes are allowed to be in data sets is called "meta-information".

[edit] Advanced DBMS

An example of an advanced DBMS is Distributed Data Base Management System (DDBMS), a collection of data which logically belong to the same system but are spread out over the sites of the computer network. The two aspects of a distributed database are distribution and logical correlation:

[edit] See also


                                                                                                                                SUMBER:GOOGLE