Senin, 15 Juni 2015
Tugas T2 : Bab 3
BAB III
INSTALASI TURBULENZ
Turbulenz SDK termasuk juga perpustakaan, alat, dokumentasi dan contoh untuk mulai menggunakan Turbulenz. SDK termasuk isi dari repositori open source Turbulenz Mesin dengan contoh pre-built dan mesin Installer Turbulenz untuk browser dan platform yang tidak mendukung fitur yang diperlukan.
Opsional, Anda dapat menemukan mesin Installer Turbulenz untuk setiap SDK terletak di hub.turbulenz.com/#downloads.
Mendukung
Dokumentasi terbaru dapat ditemukan secara online di http://docs.turbulenz.com
Jika Anda mengalami kesulitan dengan Turbulenz Teknologi, langkah-langkah berikut akan membawa Anda ke situs dukungan:
1. Masuk ke Turbulenz Hub di https://hub.turbulenz.com.
2. Tekan tombol 'Dukungan' pada halaman arahan. Ini dengan secara otomatis login Anda ke layanan dukungan.
3. Lihatlah dasar pengetahuan atau membuat permintaan dukungan.
Untuk bantuan lainnya menggunakan situs dukungan lihat bagian dukungan.
3.1. Langkah-langkah instalasi
.
Windows XP / Vista / 7
Turbulenz SDK untuk Windows tersedia dari https://hub.turbulenz.com sebagai download sebuah installer exe self-extracting. Ini berisi alat-alat, sampel dan komponen mesin yang dibutuhkan untuk mengembangkan aplikasi Turbulenz.
Perangkat lunak berikut harus diinstal sebelum menginstal Turbulenz SDK:
Penting
• Python 2.7.3+ -
http://www.python.org/download/releases
Gambar 2.1. Website untuk mendownload python
Gambar 2.2. Setup Python 2.7.3
Gambar 2.2 Pilih Tujuan Folder Instalasi Python
Gambar 2.3. Penyesuaian Python 2.7.3
Gambar 2.4 Menginstall Python
Gambar 2.5. Instalasi Python Telah Selesai
Catatan :
Hal ini tidak mungkin untuk menggunakan Python 3.x dengan alat Turbulenz.
Direkomendasikan
• Microsoft Visual Studio 2008 - Digunakan untuk mengkompilasi kecepatan-up untuk lingkungan python jika tersedia pada platform.
• PDF reader - Diperlukan untuk membaca dokumentasi dalam format PDF.
Setelah menginstal perangkat lunak penting dan direkomendasikan, menginstal SDK:
1. Kunjungi https://hub.turbulenz.com dan masuk
2. Download SDK X.X.X untuk Windows
3. Jalankan TurbulenzSDK-X.X.X.exe
4. Ikuti instruksi
Gambar 2.6. Website Untuk Mendownload SDK Turbulenz
Gambar 2.7. Setup Turubulenz SDK
Gambar 2.8. Memilih Lokasi Instalasi Python
Gambar 2.9. Persetujuan Lisensi
Gambar 2.10. Pemilihan Folder Tujuan Instalasi Turubulenz SDK
Gambar 2.11. Pemilihan Start Menu Folder
Gambar 2.12. Siap Untuk Menginstall
Gambar 2.13. Proses Menginstall Turbulenz SDK
Gambar 2.14. Instalasi Turbulenz Engine
Gambar 2.13. Proses Instalasi Turbulenz Engine Telah Selesai
Catatan
Kinerja dari setiap modul Python berpotensi menjadi lebih lambat jika kecepatan maksimum tidak dapat dikompilasi. Disarankan agar Anda menginstal Visual Studio sebelum menginstal Turbulenz SDK, sehingga kecepatan maksimum dapat dikonfigurasi dalam lingkungan. Jika Anda menggunakan versi 64bit, Python Anda harus telah terinstal versi 64bit dari kompiler Visual Studio.
Mac OS X 10.7 (dan di atas)
The Turbulenz SDK untuk Mac OS X sekarang tersedia untuk pengembang dalam versi beta dari https://hub.turbulenz.com sebagai shell script self-extracting. Ini berisi alat-alat, sampel dan komponen mesin yang dibutuhkan untuk mengembangkan aplikasi Turbulenz.
Perangkat lunak berikut harus diinstal sebelum menginstal Turbulenz SDK:
Penting
• Python 2.7.3+ -
http://www.python.org/download/releases
Catatan
Hal ini tidak mungkin untuk menggunakan Python 3.x dengan alat Turbulenz.
• Cg Toolkit - http://developer.nvidia.com/cg-toolkit - Diperlukan untuk mengkompilasi shader menggunakan alat cgfx2json.
• Alat Xcode Command Line untuk Xcode (Februari 2012 atau lebih baru)
Catatan
Jika Anda belum memiliki Xcode yang sudah diinstal, hanya alat baris perintah yang diperlukan (download secara signifikan dapat lebih kecil dari installer Xcode yang sudah penuh). Jika Anda sudah memiliki Xcode yang sudah diinstal, langsung ke "Download" panel preferensi di Xcode dan di bawah "komponen" tab Anda dapat memilih untuk menginstal "Tools Command Line".
Setelah menginstal perangkat lunak penting, menginstal SDK:
1. Kunjungi https://hub.turbulenz.com dan masuk
2. Download SDK X.X.X untuk Mac
3. Buka terminal di directory yang sama sebagai SDK installer dan ketik:
4. chmod a+x TurbulenzSDK-X.X.X.run
5. ./TurbulenzSDK-X.X.X.run
6. Ikuti instruksi
Linux (BETA)
Sebuah rilis dari Turbulenz SDK untuk Linux tersedia dari https://hub.turbulenz.com sebagai shell script self-extracting. Ini berisi alat-alat, sampel dan komponen mesin yang dibutuhkan untuk mengembangkan aplikasi Turbulenz. Tidak bahwa versi Linux dari browser plugin tidak dirilis. Pengembang harus menggunakan mode 'kanvas' ketika berjalan di Linux.
Rilis ini hanya diuji terhadap Ubuntu 12.04 (64bit), meskipun umpan balik dari pengembang menggunakan rilis terbaru lainnya dari distro lain dipersilahkan.
Perangkat lunak berikut harus diinstal sebelum menginstal Turbulenz SDK. Kami menyarankan menginstal melalui manajer paket Anda:
penting
Python 2.7.3+ (incl. File pembangunan)
Di Linux, paket pengembangan Python (perpustakaan dan file header) harus diinstal. Pada Ubuntu, ini bisa dilakukan dengan perintah berikut:
sudo apt-get install python-dev
Disarankan agar Anda menginstal virtualenv dan setuptools untuk Python dari Anda untuk manajer paket distribusi Anda. Pada Ubuntu:
sudo apt-get install python-virtualenv python-setuptools
Catatan : Ini tidak berlaku untuk penggunaan Python 3.X dengan Turbulenz tools.
• GCC (termasuk g ++)
Ini harus dipasang sebelum menjalankan script sehingga Python dapat mengkompilasi modul tertentu.
• Cg Toolkit 3.0+
cgfx2json alat dalam SDK mengandalkan perpustakaan ini sedang dipasang. Entah menginstal dari manajer paket Anda atau kunjungi http://developer.nvidia.com/cg-toolkit untuk men-download versi terbaru. Pastikan Anda memiliki konfigurasi yang benar untuk sistem anda (32/64-bit).
Setelah menginstal perangkat lunak penting dan direkomendasikan, menginstal SDK:
1. Kunjungi https://hub.turbulenz.com dan masuk
2. Download SDK X.X.X untuk Linux
3. Buka terminal di direktori yang sama seperti installer SDK dan ketik:
4. chmod a + x TurbulenzSDK-X.X.X.linux.run
5. ./TurbulenzSDK-X.X.X.linux.run
6. Ikuti petunjuk
3.2. Menjalankan Turbulenz SDK
.
(Lihat Platform yang didukung dan Browser untuk daftar platform yang didukung dan persyaratan)
Jalankan Lingkungan:
Lingkungan ini memungkinkan Anda untuk menjalankan alat yang disediakan dengan SDK.
Windows:
Ada jalan pintas dalam menu start akan memulai command prompt di dalam lingkungan virtual SDK. Start Menu -> Programs -> Turbulenz -> SDK XXX -> Run Lingkungan XXX
Catatan
Direktori mulai dari lingkungan adalah direktori SDK yang diinstal. Mac / Linux: Di jendela terminal, masukkan
cd *SDKINSTALLDIR*
Mac /Linux:
Dalam terminal masukkan
cd *SDKINSTALLDIR*
Anda harus melihat '(env)' tag di depan prompt Anda.
Anda sekarang siap untuk menjalankan alat.
Jalankan Server Lokal:
Windows:
Shortcut ini di menu awal akan memungkinkan Anda untuk memulai server pengembangan untuk menguji permainan Anda pada mesin atau pada jaringan lokal.
Mac / Linux: Di jendela terminal, masukkan
*SDKINSTALLDIR*/start_local.sh
catatan
Ketika Anda menjalankan Server Lokal untuk pertama kalinya, beberapa firewall mungkin akan meminta Anda untuk memungkinkan python atau python.exe untuk mendengarkan pada port. Anda akan perlu untuk memberikan izin untuk menjalankan server.
3.3. Memverifikasi Install
.
Alat Turbulenz menggunakan lingkungan virtual Python dengan paket python yang diperlukan (menghindari kebutuhan untuk menginstal paket ke dalam folder default sistem Python).
Untuk memverifikasi instalasi:
• Jalankan Server Lokal (dijelaskan di atas) dan memastikan bahwa tidak ada kesalahan. Pada Windows memastikan bahwa browser terbuka untuk menampilkan halaman depan server pembangunan.
• Jalankan Turbulenz Lingkungan (dijelaskan di atas). String (env) diawali dengan command prompt yang menunjukkan bahwa lingkungan telah berhasil diaktifkan.
• Dari lingkungan ini command prompt, ketik:
dae2json
Opsi baris perintah untuk perintah dae2json harus ditampilkan. Jika Anda melihat pesan kesalahan sebaliknya, lingkungan belum terpasang dengan benar.
2.4. Menjalankan Sampel
.
Dengan server pengembangan berjalan lokal, buka browser Anda dan arahkan ke http://127.0.0.1:8070.
Klik proyek Sampel, dan kemudian klik tombol Play untuk menampilkan daftar sampel yang tersedia. Ada beberapa file HTML yang tersedia untuk setiap sampel, sesuai dengan membangun konfigurasi yang berbeda. Mengklik pada nama file HTML akan membuka dan menjalankan sampel yang sesuai.
Tugas T1 : Sampul, Kata pengantar, Bab 1 dan Bab 2
Kata Pengantar
Puji dan syukur Penulis panjatkan kepada Allah SWT yang telah memberikan nikmat serta karunia-Nya sehingga Penulis dapat menyelesaikan penulisan buku ini dengan baik. Judul penulisan buku yang dibuat adalah “Pengenalan Game Engine Turublenz”. Tujuan dari pembuatan penulisan buku ini yaitu sebagai buku petunjuk untuk pengguna software game engine Turbulenz terutama bagi pengguna yang masih dalam tingkat pemula agar lebih tertarik dan terbantu dalam penggunaan software game engine Turbulenz.
Penulis menyadari bahwa tanpa adanya bimbingan dan dukungan penuh dari semua pihak, maka penulisan buku ini tidak akan berjalan dengan lancar. Oleh karena itu, pada kesempatan ini penulis meminta izin untuk menyampaikan ucapan terima kasih kepada bapak Dr. rer. nat. I Made Wiryana, SKom, SSi, MAppSc., selaku dosen matakuliah softskill pengantar teknologi game yang telah memberikan pengarahan dan bimibingan dalam pembuatan penulisan buku ini.
Serta semua pihak yang telah banyak membantu terwujudnya penulisan buku ini. Akhir kata semoga penulisan buku ini dapat memberikan manfaat bagi semua pihak yang bersangkutan, bagi Penulis pada khususnya dan bagi para pembaca pada umumnya.
Depok, 12 Juni 2015
Penulis
.
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
.
Teknologi komputer dewasa ini sudah sangat berkembang pesat diberbagai bidang, baik ilmu pengetahuan, pekerjaan, seni, dll. Pemanfaatan teknologi inidirasakan tidak hanya oleh orang dewasa, melainkan juga anak-anak. Pekerjaanmanusia yang dikerjakan sendiri oleh manusia (manual) sudah banyak digantikanoleh komputer. Dengan begitu semua dapat dikerjakan lebih mudah, praktis dan hemat waktu.
Game engine Turbulenz merupakan game engine berbasis web yang bersifat open source sehingga penggunanya dapat bebas menggunakan game engnie tersebut sesuai dengan kebutuhan. Dengan sifatnya open source masih sangat disayangkan karena penggunaanya masih banyak belum diketahui loleh banyak orang.
Oleh sebab itu penulis ingin membuat buku “Pengenalan Game Engine Turbulenz” yang dapat menarik minat pembaca dan membantu pengguna game engine Turbulenz agar dapat menggunakannya.
1.2 Rumusan Masalah
.
Rumusan masalah dalam buku ini terdiri dari hal - hal seperti berikut :
• Apakah sebenarnya game engine Turbulenz itu?
• Bagaimana langkah pertama yang harus dilakukan untuk menggunakan game engine Turbulenz
1.3 Batasan Masalah
.
Batasan masalah dalam penulisan buku ini meliputi hal - hal sebagai berikut :
1. Pengenalan game engine turbulenz
2. Instalasi game engine Turbulenz
3. Penggunaan dasar game engine Turbulenz bagi pemula
1.4 Tujuan Masalah
.
Tujuan dari permasalahan yang ada dalam buku ini adalah:
• Untuk menarik minat pembaca tentang game engine Turbulenz.
• Untuk membantu pengguna game engine Turbulenz dalam penggunaanya.
1.5 Metode Penelitian
.
Metode yang kami gunakan adalah deskriptif, kajian pustaka dilakukan dengan mencari literature di internet dan dokumen panduan game engine Turbulenz.
1.6 Sistematika Penulisan
.
Dalam Penulisan buku ini untuk mempermudah pemahaman pembaca, penulis membuat sistematika penulisan sebagai berikut :
Bab 1 : Pendahuluan
Dalam bab ini diuraikan latar belakang masalah, batasan masalah, metode penelitian, selanjutnya tujuan penulisan dan terakhir sistematika penulisan yang memberikan uraian dan gambaran dalam penulisan ini.
Bab 2 : Pengenalan
Turubulenz Menjelaskan tentang Turbulenz sebagai game engine berbasis web yang bersifat open source.
Bab 3 : Instalasi Turbulenz
Menjelaskan tentang bagaimana langkah – langkah yangharus dilakukan untuk instalasi game engine Turbulenz pada komputer.
Bab 4 : Penggunaan Turbulenz
Penggunaan dasar dalam game engine Turbulenz akan dijelaskan dalam bab ini.
Bab 5 : Penutup
Pada bab ini akan berisi kesimpulan dan saran terhadap buku ini.
.
.
BAB II
PENGENALAN TURBULENZ
2.1. Pengenalan Turbulenz
.
Turbulenz adalah game engine HTML5 dan diadopsi oleh server-side API yang tersedia dalam JavaScript dan naskah dimana fungsinya untuk membangun dan mendistribusikan objek 2D dan 3D game yang berjalan pada platform yang mendukung fitur HTML5 seperti browser terkini tanpa memerlukan plugin. Game engine The Turbulenz menyediakan solusi untuk pengembangan game untuk kualitas generasi berikutnya yang dapat dimainkan langsung di browser. Teknologi ini diselenggarakan di dua kondisi utama yaitu:
• Runtime: dieksekusi pada mesin pengguna akhir
• Offline: digunakan hanya selama pengembangan game Bagian ini memberikan gambaran dua daerah ini fungsi serta beberapa rekomendasi dan pedoman untuk mengembangkan game pada browser.
2.2. Runtime API
.
Runtime dapat dikategorikan menjadi dua jenis kode yaitu:
• API tingkat rendah: Sebuah set antarmuka menyediakan akses ke fungsionalitas tingkat rendah. API pada tingkat ini mirip dalam fungsi ke API terkenal seperti OpenGL, OpenAL, dll Fungsi ini disediakan baik oleh ekstensi browser Turbulenz (kode asli), atau dengan pembungkus tipis di atas antarmuka yang disediakan oleh browser (seperti sebagai WebGL, WebAudio, dll). Dalam kasus kedua, Turbulenz API akan menentukan interface browser menyediakan dan dinamis memilih yang paling tepat.
• API Tingkat tinggi: Dimana koleksi perpustakaan dari JavaScript yang dibangun di atas pemodelan API tingkat rendah yang menyediakan para pengembang dapat mengembangkannya dengan fitur seperti Adegan grafik, Sistem Bahan dan optimimalisasi Renderer, dll
2.2.1. Tingkat rendah API
.
Antarmuka terdiri dari beberapa modul yang disebut Device, yang memberikan:
• Antarmuka yang efisien di atas perpustakaan stabil dan fleksibel yang ada, misalnya Bullet, OpenAL atau WebGL.
• Antarmuka yang efisien di atas akses hardware tingkat rendah, misalnya mekanisme masukan atau operasi vektor matematika. Perangkat ini tidak terbatas pada jenis tertentu dari permainan, termasuk dalam kategori yang cukup kuat dan cukup fleksibel untuk menutupi kebutuhan permainan generasi berikutnya. Objek perangkat biasanya dibuat sekaligus dengan melewati parameter objek untuk membuat fungsi pada obyek global theTurbulenzEngine. Setelah dibuat mereka nantinya bisa diambil dengan memanggil fungsi get dengan sesuai. Misalnya, createGraphicsDevice dan getGraphicsDevice.
Alat Grafik:
• Sederhana, dimana shader berbasis API.
o Shader mungkin berisi beberapa Teknik, baik tunggal atau multi-pass.
o Setelah Teknik shader diatur pada Device, parameter yang diperlukan oleh kode program dapat diperbarui oleh objek Technique Parameter.
o TechniqueParameter memiliki beberapa referensi Tekstur, TechniqueParameterBuffers atau nilai-nilai lainnya.
o Beberapa TechniqueParameters dapat diatur pada perangkat sekaligus.
• Vertex buffer, Indeks buffer dan Tekstur dapat dibuat, diperbarui dan menghancurkan dinamis.
• Multiple Streams Vertex buffer dapat digunakan pada waktu yang sama.
• Dukungan untuk 1D, 2D, 3D dan tekstur cube.
o Setiap format piksel didukung oleh perangkat keras.
• Asynchronous pemuatan sumber daya.
o Beberapa file dapat didownload dengan cepat, kode JavaScript akan dijalankan ketika sumber daya yang tersedia untuk penggunaan yang telah disetujui.
• Beberapa format file gambar.
o DDS, JPG, PNG dan TGA.
• Dukungan untuk ekstensi arsip yang berisi beberapa file gambar.
o fleksibilitas lebih baik untuk penggunaan bandwidth secara optimal.
• query Occlusion. o Jumlah piksel yang diberikan dapat dilihat untuk bagian dari rendering.
o Tersedia dalam modus Plugin saja.
• dukungan Fullscreen (platform yang didukung).
• Ambil fitur screenshot.
• dukungan playback video.
o WebM, MP4.
o Render video sebagai tekstur.
o kontrol Putar bermain, pause, stop, melanjutkan, mundur. MathDevice
• Jenis Matematika:
o Vector2 Vector3, Vector4
o Matrix33, Matrix34, Matrix43, Matrix44
o angka empat, QuatPos
o AABB
• Format Penyimpanan dioptimalkan berdasarkan dukungan yang tersedia
• operasi Dioptimalkan mendukung parameter tujuan, mengurangi alokasi objek.
• Array ke / dari Matematika utilitas jenis konversi.
Alat Fisik:
3D
• Mudah digunakan simulasi fisika efisien.
o Dioptimalkan implementasi JavaScript.
o Dalam mode Plugin, ini adalah pembungkus ringan sekitar Bullet Fisika Perpustakaan.
- http://bulletphysics.org/wordpress/
• tubuh dan benda-benda tabrakan kaku.
o Plane, Box, Sphere, Kapsul, Cylinder, Cone, Segitiga Mesh, Convex Hull.
• Kendala. o Point ke Point, Engsel, Cone Twist, 6DOF, Slider.
• Ray dan pertanyaan menyapu cembung.
o Kembali titik terdekat dari dampak dan permukaan normal.
• representasi karakter.
o Untuk digunakan dengan 1/3 game orang.
o Termasuk properti untuk kecepatan, posisi, mendekam, tinggi melompat, kematian, di tanah.
• callback Kontak.
o Rigidbodies, karakter, benda tabrakan.
o Disebut pada presolve, menambahkan, diproses, dihapus.
o Filter tanggapan oleh topeng.
o Pemicu tanpa respon tabrakan.
Catatan Pengembang dapat melihat perilaku yang sedikit berbeda di plugin dan kanvas implementasi PhysicsDevice.
2D
• Efisien 2D dalam bidang fisika secara simulasi ditulis secara khusus untuk JavaScript.
• Bentuk.
o Lingkaran, Kotak, Rectangle, Regular Polygon, Custom Polygon.
o Buat bentuk sebagai sensor.
o Bentuk pengelompokan dan masker interaksi.
• Tabrakan.
o Sapu & Prune, Box Tree Broadphases.
o Perlengkapan untuk Raytest, ttd Jarak, Intersection, Berisi Point, Sapu Test.
• Simulasi dunia.
o Beberapa kelompok simulasi.
o gravitasi pilihan.
o iterasi simulasi dipersonalisasi.
• simulasi objek yang kaku.
o Dinamis, Statis, benda kinematik.
• Bahan.
o Elastisitas, Static / Dinamis / Gesekan bergulir, Density.
• Arbiter.
o Kontak pengelompokan.
o Informasi kontak: Posisi, Penetrasi, Normal / Tangent Impulse
• Kendala.
o Point to Point, Jarak, Weld, Angle, motor, Line, Pulley, Custom Kendala.
• Debug rendering.
o kaku Badan, Kendala, Dunia, Lines, Curves, Rectangles, Lingkaran, Spiral, Linear / Spiral Springs.
o Mengaktifkan dan menonaktifkan rendering jenis.
o Scaling untuk Draw2D viewport.
Alat Suara:
• Mudah digunakan wrapper efisien fitur audio hardware.
o Memanfaatkan Web Audio, <Audio> tag, OpenAL tergantung pada dukungan platform yang.
• sumber suara 3D. o Posisi, Arah, Velocity, Gain, Pitch, loop.
• ditiru 3D suara untuk pembuatan stereo.
• file suara Asynchronous pemuatan.
o Beberapa file sumber daya dapat didownload dengan cepat, kode JavaScript akan diberitahu ketika sumber daya yang tersedia untuk penggunaan.
• Uncompress audio yang dinamis.
• Beberapa format file suara:
o OGG, WAV, MP3.
• permintaan didukung untuk kemampuan platform.
o Muat format audio yang terbaik untuk platform.
• Efek / Filter dukungan:
o Reverb, Echo, Low Pass
Catatan: Ketersediaan antarmuka tergantung pada platform.
Alat Jaringan:
• Bi-directional, full-duplex saluran komunikasi, lebih soket TCP.
o Memanfaatkan Browser dukungan WebSocket.
o pelaksanaan asli Efisien WebSockets untuk platform tanpa dukungan.
- http://en.wikipedia.org/wiki/WebSocket
- http://dev.w3.org/html5/websockets/
• jabat tangan HTTP-kompatibel sehingga server HTTP dapat berbagi HTTP mereka default dan HTTPS port (80 dan 443) dengan server WebSocket.
• Dukungan untuk koneksi yang aman sebagai bagian dari standar.
• Dukungan untuk kompresi data dengan ekstensi mengempis-frame. InputDevice
• Akses ke jenis masukan.
o Keyboard, Mouse, Xbox360 Pad, Joystick, Roda, Touch, Multi-touch
• sistem acara Asynchronous ketika perubahan negara.
o kode JavaScript diberitahu ketika input berubah.
o Acara untuk keydown, keyup, mousedown, mouseup, roda mouse, mousemove, Gunaka mouse, mouseenter, mouseleave, paddown, padup, fokus, blur, mouselocklost, touchstart, touchend, touchmove, touchmove, touchenter, touchleave, touchcancel. • fitur dari mouse tambahan:
o bersembunyi / menampilkan ikon Platform, mengunci / unlocking (platform yang didukung).
• Bahasa keymapping independen.
2.2.2. API Tingkat Tinggi
.
Ini tingkat lebih tinggi perpustakaan JavaScript dirancang untuk fleksibilitas dan kemudahan penggunaan. JavaScript bahasa itu sendiri menyediakan semua mekanisme refleksi diperlukan untuk debugging runtime dan tweaking, mendukung pembuatan kode dinamis dan serialisasi objek.
Hanya didokumentasikan benda, fungsi dan sifat harus digunakan. Item yang tidak berdokumen adalah rincian implementasi dan mungkin berubah di masa depan.
Adegan grafik:
• format file yang fleksibel JSON.
o Bisa menggambarkan baik seluruh adegan atau jerat individu.
• Asynchronous pemuatan referensi eksternal.
o Jika adegan berisi referensi ke jerat eksternal mereka semua dimuat secara paralel dan melekat ke adegan utama ketika siap.
o Dukungan untuk digunakan kembali optimal mesh yang sama di lokasi yang berbeda.
• sistem penyaji Pluggable.
o Hubungan antara geometri, efek dan bahan diselesaikan pada saat runtime.
o Mudah swap beberapa teknik render untuk aset yang sama.
• berbagi Geometri.
o informasi Geometri dapat optimal digunakan kembali di beberapa lokasi adegan dengan efek render yang berbeda.
• adegan Fleksibel node hirarki.
o Lights, geometri, Animasi, Fisika.
• query Visibilitas.
o Portal, frustum, Tumpang Tindih Box.
• Sortasi dan pengelompokan.
o node Terlihat diurutkan dan dikelompokkan untuk render optimal: Buram, Transparan, Decal.
• evaluasi malas update simpul.
Animasi
• animasi 3D untuk adegan geometri.
• Skeleton / Skinning animasi.
• Animasi pengendali.
o interpolasi, kelebihan beban Node, Referensi, Transisi, Blend, Mask, Pose, Kulit, GPU Kulit, Kupas Node.
o Controller dapat dikombinasikan untuk efek yang diinginkan.
• Dinamis memperbarui adegan data. Resource Manager
• Asynchronous dimana pemuatan menghindari duplikasi.
o lapisan remapping tambahan untuk memudahkan pengalihan URL.
• Menyediakan sumber daya default jika hilang.
o Permainan dapat memberikan sumber daya standar kustom untuk digunakan ketika salah satu yang diperlukan hilang atau masih loading.
• Beberapa manajer untuk kebutuhan individu.
o Animasi, Efek, Font, Shaders, Suara, Textures.
• Bandwidth dan perangkat keras skala dengan memilih aset yang berbeda dan efek tergantung pada mesin dan koneksi internet kinerja.
• Cache aset sisi klien untuk mengoptimalkan dan menggunakan kembali permintaan.
Permintaan Server
• HTTP & AJAX permintaan fungsi
o Otomatis coba lagi dan penanganan error.
o dukungan Cross-browser.
o terenkripsi dukungan API. Renderer tangguhan
• Unlimited jumlah lampu.
o Point, Spot, Directional, Ambient.
• Tekstur falloff cahaya berdasarkan.
o Memungkinkan adanya multi-warna lampu dan bayangan palsu murah, misalnya kipas di bawah sumber cahaya.
• Bahan dengan peta beberapa tekstur.
o warna specular dan intensitas, vektor normal, warna Cahaya, Alpha.
• efek pasca dicabut.
o Mudah untuk setup untuk penuh dalam efek pasca layar sebagai bagian dari shading akhir.
o Copy, Fade dalam, memodulasi, Bicolor, Blend.
• peta bayangan eksponensial.
o Reuse peta tekstur bayangan untuk menyimpan memori video.
o blur Gaussian untuk hasil yang halus.
o informasi mendalam Exponential untuk menghindari perdarahan ringan.
• kabut volumetrik.
• 4 jenis GPU yang mengulitinya.
• animasi UV.
• Modus Wireframe.
• Panggilan kembali untuk melewati tambahan.
o decal, transparansi, debug
• Tersedia dalam modus Plugin saja. Maju Renderer
• Unlimited jumlah lampu.
o Point, Spot, Directional, Ambient.
• Tekstur falloff cahaya berdasarkan.
o Memungkinkan multi-warna lampu dan bayangan palsu murah, misalnya kipas khas di bawah sumber cahaya.
• Bahan dengan peta beberapa tekstur.
o spekular dan intensitas, vektor normal, warna Cahaya, Alpha.
• efek pasca Pluggable.
o Mudah diatur untuk penuh efek pasca layar sebagai bagian dari shading tangguhan akhir.
o Copy, Fade dalam, memodulasi, Bicolor, Blend.
• peta bayangan eksponensial.
o Reuse peta tekstur bayangan untuk menyimpan memori video.
o blur Gaussian untuk hasil yang halus.
o informasi mendalam Exponential untuk menghindari perdarahan ringan.
• 4 GPU terintegrasi.
• animasi UV.
• Modus Wireframe.
• Callback untuk melewati tambahan.
o decals, transparansi, debug
Standar Renderer
• Satu titik dan cahaya ambient.
• Pixel berbasis pencahayaan.
• Bahan dengan peta beberapa tekstur.
o warna specular dan intensitas, vektor normal, warna Cahaya, Alpha.
• Optimzed untuk kecepatan dan kompatibilitas di berbagai hardware.
• 4 berat GPU menguliti.
• animasi UV.
• Modus Wireframe.
• Callback untuk melewati tambahan.
o decals, transparansi, debug Sederhana Renderer
• Satu titik dan cahaya ambient.
• pencahayaan Vertex berbasis.
• Bahan dengan peta beberapa tekstur.
o warna specular dan intensitas, vektor normal, warna Cahaya, Alpha.
• Optimzed untuk kecepatan dan kompatibilitas di berbagai hardware.
• 4 berat GPU menguliti.
• animasi UV.
• Modus Wireframe.
• Callback untuk melewati tambahan.
o decals, transparansi, debug 2D Rendering
Draw2D
• penyaji 2D sprite berbasis.
o Batch sprite untuk efisiensi.
• mode Menggambar:
o Menggambar: objek Menggambar literal, DrawRaw: Menggambar buffer data, DrawSprite: Menggambar referensi sprite.
• viewport Scalable.
o Masukan koordinat pemetaan.
• Urutkan mode.
o Segera, tangguhan, Tekstur.
• mode Blend.
o Buram, Additive, Alpha.
• dukungan Kustom shader.
• Render-to-sasaran dukungan.
• efek Tekstur.
o Distort, Gaussian Blur, Bloom, Warna, Grey Scale, Sepia, Negatif, Saturasi, Hue, Brightness, Contrast.
• data kinerja Recording. Canvas2D
• Pelaksanaan Percepatan kanvas 2D API.
• Berjalan pada WebGL / OpenGL tergantung pada platform.
• SVG rendering. • Teks render via FontManager.
• Untuk implementasi lengkap lihat spesifikasi elemen kanvas Keperluan
• Alokasi dan pengelolaan buffer grafis.
o Vertex buffer.
o Indeks buffer.
• API dikendalikan JavaScript profiling.
o waktu Per-fungsi akurasi milidetik.
o Rekam top-down atau pohon fungsi bottom-up.
o Hitung waktu yang dihabiskan oleh fungsi individu atau total yang dikeluarkan oleh sub-fungsi.
o Mengidentifikasi file sumber dan nomor baris dari daerah bermasalah.
• identifikasi penggunaan memori.
o Ambil hitungan obyek jenis objek dibangun.
o Ambil foto dan bandingkan fluktuasi memori.
• Enkripsi dan dekripsi dari permintaan server-side untuk format tzo.
• utilitas Debug dengan fungsi stripping untuk kinerja.
o menegaskan, log, batalkan.
o stacktrace Lengkap.
o Mendukung menambahkan fungsi kustom.
• Simulator Jaringan
o Mensimulasikan latency dan perilaku jaringan.
o Client-side manipulasi pesan sesi multiplayer.
o Mensimulasikan lonjakan lalu lintas jaringan.
2.2. Alat Offline
.
Alat Offline disediakan untuk memproses JavaScript dan HTML kode, dan untuk menghasilkan dan melayani aset diperlukan untuk runtime. Alat untuk pengolahan aset disediakan sebagai seperangkat mandiri alat baris perintah yang dapat dijalankan secara paralel ketika aset dependensi memungkinkan.
Beberapa format file yang diubah menjadi format JSON kustom didukung oleh kode runtime, yang lain disimpan sebagai-adalah dan hanya pengolahan tambahan disediakan.
Semua aset dan skrip yang dikompresi, dipadatkan dan unik menandai untuk transfer efisien antara server web dan browser. 7.2.1. Alat Alat kode yang ada untuk:
• Opsional menghapus kode debugging (seperti menegaskan)
• Concatenate dan kompak JavaScript dan semua perpustakaan direferensikan
• Menghasilkan file HTML yang akan digunakan untuk menjalankan aplikasi selama pengembangan Alat aset disediakan untuk menangani langkah-langkah berikut membangun:
• Konversi Collada file untuk JSON
• Konversi CgFX file untuk JSON
• Konversi file OBJ ke JSON
• kompresi PXT
• kompresi PNG
• generator Cubemap
• generator mipmap
• tingkat Tekstur yang detail, dimana akan menghapus tingkat mipmap dalam demand
2.3. Template dan Alat Membangun
.
Ketika mengembangkan aplikasi JavaScript untuk berjalan di Turbulenz Mesin ini berguna untuk membangun dan menguji semua konfigurasi. Konfigurasi pembangunan kanvas-debug dibentuk untuk menjalankan dalam browser dan memungkinkan penggunaan alat-alat browser debugging. Konfigurasi rilis (Plugin dan kanvas) beban dan menjalankan bundel kode, sering dipadatkan. Dalam kasus modus Plugin, kode JavaScript dijalankan di dalam mesin yang disediakan oleh ekstensi browser Turbulenz (untuk alasan kinerja dan kompatibilitas), membuat debugging jauh lebih sulit.
Kode pemadatan adalah optimasi penting untuk penyebaran dan dapat secara dramatis mengurangi ukuran kode yang perlu ditransfer dan diurai pada saat runtime. Turbulenz merekomendasikan alat UglifyJS digunakan dalam Plugin dan kanvas konfigurasi. Lihat rincian lebih lanjut maketzjsfor.
Alat maketzjs dan makehtml mendukung penggunaan template markup untuk memungkinkan satu set file sumber yang akan dengan mudah dibangun di konfigurasi. Template di app Template contoh mengikuti struktur di bawah ini:
/*{{ javascript("scripts/script1.js") }}*/
2.3.1. Menegaskan dan Kode Debug
.
Turbulenz JavaScript perpustakaan termasuk kode untuk memvalidasi parameter dan untuk menegaskan bahwa keadaan internal benar. Hal ini dimaksudkan untuk menangkap bug dan memperingatkan programmer masalah sedini mungkin dalam pelaksanaan pertandingan. Sejak debug kode tersebut memiliki biaya kinerja, harus dilucuti dari rilis membangun.
Fungsi Debug disediakan oleh objek debug, dan panggilan ke metode pada objek ini dilucuti dari kode dengan alat maketzjs otomatis.
Pengembang yang ingin memanfaatkan fungsi ini, dan pengembang dengan pipa kode disesuaikan harus menyadari perilaku kode debug, dan mungkin ingin menggunakannya di luar alat maketzjs, melalui jalur-debug.
Catatan :
Sebagai contoh, pengembang yang menjalankan compactor kode pada kode permainan sebelum melewati kode yang ke maketzjs dapat mangle penamaan objek men-debug sehingga mustahil untuk maketzjs untuk menemukan dan menghapus kode debug. Dalam hal ini, strip-men-debug harus dipanggil langsung saat buildingrelease dan konfigurasi kanvas, untuk memastikan bahwa kode debug dihapus sebelum pemadatan atau kebingungan berlangsung.
2.3.2. Generasi HTML
.
Banyak contoh yang diberikan di sini dan di bagian lain menggunakan template default untuk menghasilkan halaman HTML untuk loading dan aplikasi yang berjalan. Template ini dibangun ke dalam alat, tetapi sangat mungkin untuk memasukkan HTML Anda sendiri, menimpa bagian dari template default atau membuat HTML template sendiri dari awal.
Sejak Turbulenz game memiliki akses penuh ke browser JavaScript konteks, mereka dapat berinteraksi dengan DOM HTML dengan cara yang sama yang biasa kode JavaScript bisa. Meskipun hal ini tidak biasanya berguna untuk permainan dikerahkan, selama kontrol pengembangan HTML dapat digunakan untuk mengirim data ke permainan (seperti untuk tweaker parameter), atau untuk menampilkan data tentang pertandingan berjalan (seperti output teks kesalahan atau metrik log) .
Untuk menyesuaikan generasi HTML perlu memahami beberapa konsep template sederhana. Di sini kita secara singkat describeconditions, variabel, blok dan komentar, seperti yang diterapkan di mesin Jinja2 template, yang digunakan oleh alat Turbulenzz.
2.3.3. Warisan, Blok dan Template default
.
HTML template dapat mewarisi dari file HTML lainnya menggunakan deklarasi dalam bentuk:
/*{% extends "file.html" %}*/
Dalam hal ini file.html yang inline dan blok setiap dinyatakan di dalamnya dapat diganti oleh file anak. Untuk memasukkan template default, dibangun ke dalam perangkat, gunakan:
/*{% extends "default" %}*/
(default template dapat diperiksa menggunakan bendera dump-default-template pada alat makehtml):
makehtml --dump-default-template
Misalnya, untuk menambahkan beberapa elemen HTML ke bar di sebelah kiri HTML template default Anda dapat mengganti blok dengan cara sebagai berikut:
/*{% extends "default" %}*/
Blok didefinisikan oleh template default meliputi:
• tz_app_title mendefinisikan judul yang digunakan dalam jendela browser
• tz_app_title_name merupakan gelar di atas halaman
• tz_app_html_controls mendefinisikan elemen HTML untuk ditempatkan di margin sebelah kanan halaman
Lihat template default untuk daftar definitif blok yang dapat diganti. Hal ini juga memungkinkan untuk memperpanjang atau mewarisi dari template yang pada gilirannya mewarisi dari template lain (yang mungkin template default).
2.3.4. Syarat-syarat
.
Kondisi memungkinkan predikasi kode sederhana berdasarkan variabel template, menggunakan markup dari bentuk / * {% jika kondisi pengujian%} * /, diikuti oleh / * {% endif%} * /. Penggunaan utama untuk ini adalah untuk menentukan potongan kode yang harus dieksekusi hanya ketika berjalan di konfigurasi tertentu. Contohnya adalah:
• / * {% jika tz_development%} * / berarti kode permainan JavaScript disertakan menggunakan tag script memungkinkan untuk debugging mudah. Variabel ini benar maka bendera --mode untuk alat yang digunakan untuk menentukan modus kanvas-debug.
• / * {% jika% tz_canvas} * / berarti permainan berjalan menggunakan kanvas (non-plugin) versi mesin Turbulenz. Variabel ini benar di kanvas dan kanvas debug mode.
• / * {% jika tz_hybrid%} * / berarti permainan berjalan menggunakan kedua kanvas (non-plugin) versi mesin Turbulenz dan versi Plugin (tersedia sebagai TurbulenzEngine dan TurbulenzEnginePlugin masing-masing). Variabel ini adalah benar ketika opsi hybrid digunakan.
Ini dapat digunakan dalam JavaScript, atau kode HTML.
2.3.5. Variabel
.
Markup digunakan untuk ekspansi variabel / * {{variabel}} * /. Untuk alat Turbulenz kita mendefinisikan beberapa ekspansi variabel khusus untuk memungkinkan aplikasi yang akan dibangun.
Untuk kode JavaScript yang kami sediakan adalah sebagai berikut:
• javascript ini memungkinkan file JavaScript untuk dimasukkan atau direferensikan. Untuk perkembangan membangun, sebuah tag script HTML akan disertakan dengan referensi ke file JavaScript, sedangkan untuk rilis membangun file JavaScript akan inline dalam kode bundel.
Untuk kode HTML tidak menggunakan template default, kami menyediakan
• tz_engine_div - memperluas kode HTML membuat tag HTML yang tepat untuk mengatur kanvas atau instantiate plugin browser (tergantung pada modus membangun)
• tz_include_js - mengembang untuk satu set HTML <script> tag yang mencakup setiap file JS yang diperlukan dalam halaman.
• tz_startup_code - memperluas kode JavaScript dengan benar dijalankan mesin dan mengeksekusi fungsi theTurbulenzEngine.onload. Variabel ini harus digunakan dalam <script> tag.
2.3.6. Komentar
.
Komentar markup adalah / * {# komentar #} * / yang hanya memungkinkan komentar untuk ditempatkan ke dalam template yang tidak akan muncul dalam output kode dari alat. (Proses pemadatan di mode rilis menghapus komentar JavaScript).
2.4. Rekomendasi proyek permainan
.
Turbulenz membuat perangkat tidak memaksakan struktur nyata tentang bagaimana sebuah proyek permainan diatur atau dibangun. Namun kami merekomendasikan bahwa pengembang mengikuti panduan yang diberikan di sini.
2.4.1. Tata Letak Kode
.
Sejak HTML dapat merujuk ke Js file kode (dalam mode pembangunan), file-file js harus berada di direktori di bawah output HTML. Membangun sistem harus baik membangun html, .tzjs dan file js ke akar proyek, atau ke dalam direktori membangun dimana semua file tergantung akan disalin.
Kami menyarankan membangun output masuk ke akar proyek di mana ia dapat referensi sisa kode game dan aset, dengan struktur direktori berikut di bawah ini. Lihat templateapp untuk contoh.
script: Main kode permainan dan perpustakaan file.
template: Js permainan dan template html. File Js harus berisi entry point TurbulenzEngine.onload dan kemudian memanggil ke dalam kode di script.
jslib: Salinan direktori jslib dari SDK instalasi.
membangun: Menengah membangun file dan data ketergantungan.
Bila menggunakan kanvas-debug membangun modus, hanya kode minimal dihasilkan dari template akan tertanam ke dalam halaman HTML. Perubahan direktori script tidak akan memerlukan membangun kembali. (Plugin dan kanvas mode akan selalu membutuhkan membangun kembali kode bundel untuk setiap perubahan kode).
2.4.2. Tata Letak aset
.
Seperti dengan kode, sebaiknya menjaga sumber data aset di subdirektori dari root proyek.
aset / model: folder aset baku untuk model (sebelum konversi). yaitu .dae, Obj
aset / tekstur: Folder aset baku tekstur (sebelum konversi). yaitu tga, png, jpg, bmp
aset / shader: Folder baku aset untuk shader (sebelum konversi). yaitu .cgfx
Folder staticmax harus digunakan untuk output dari membangun aset untuk memaksimalkan efektivitas cache browser, seperti yang dijelaskan dalam Aset bagian.
Membangun sistem harus mempertahankan file 'mapping_table.json' untuk membantu kode runtime menemukan yang tepat unik bernama file understaticmax.
2.5. Coding
.
Berikut adalah beberapa rekomendasi khusus untuk pemrograman JavaScript menggunakan TurbulenzEngine. Pembangunan JavaScript Guidecontains lebih detail dan penjelasan dari beberapa prinsip-prinsip ini, serta pemrograman dan kinerja pedoman JavaScript umum.
2.5.1. Memberikan waktu kembali ke browser
.
Banyak operasi yang dilakukan oleh browser terjadi asynchronously, dan perlu untuk memastikan bahwa browser memiliki waktu yang cukup untuk menangani semua operasi ini dan acara.
Ketika kode JavaScript untuk permainan berjalan, tidak ada kode JavaScript lainnya dapat berjalan pada waktu yang sama. Ini berarti bahwa tugas yang panjang (misalnya mengkonversi format aset pada waktu beban) dapat memperkenalkan penundaan yang signifikan ke area lain dari halaman:
• UI Browser dan kontrol
• Tab lainnya berjalan pada browser
• JavaScript berjalan pada halaman yang sama
• Operasi lainnya JavaScript dilakukan oleh permainan Anda
Ekuivalen, permainan loop utama harus dijadwalkan akan dipanggil sekali per frame. Sebuah membangun seperti loop sementara tidak akan memberikan browser kesempatan untuk melaksanakan setiap pemuatan atau operasi rendering, dan kemungkinan akan menghasilkan eksekusi peramban menghentikan permainan.
Kode JavaScript hanya memberikan waktu kembali ke browser setelah semua fungsi telah kembali
Fungsi setInterval tersedia di objek TurbulenzEngine dapat digunakan untuk menjadwalkan callback dengan cara ini:
var intervalID; function executionLoopFn() { var currentTime = TurbulenzEngine.time;
executionLoopFn akan dipanggil sekali setiap 60 detik.
Catatan
Fungsi window.setInterval yang disediakan oleh browser umumnya memiliki resolusi terlalu rendah untuk game. TurbulenzEngine.setInterval memanfaatkan API lain atau ekstensi browser untuk memastikan callback terjadi interval yang jauh lebih halus dan lebih akurat.
Namun, karena fakta bahwa waktu eksekusi saham permainan lingkaran dengan operasi lain, adalah mustahil untuk menjamin waktu yang akurat dari callback setiap saat. Properti TurbulenzEngine.time memberikan resolusi tinggi informasi waktu. Permainan dapat menggunakan ini untuk menjaga pembaruan negara permainan dan animasi konsisten dengan harapan pemain.
Fungsi TurbulenzEngine.setTimeout mirip dengan setInterval, tapi jadwal panggilan balik satu-shot daripada doa diulang. Melewati batas waktu 0 sampai fungsi ini memberikan browser kesempatan untuk menangani operasi lainnya sementara meminta waktu eksekusi lanjut sesegera mungkin. Contoh di bawah agak dibikin, tapi menunjukkan bagaimana hal ini dapat digunakan untuk melakukan perhitungan yang panjang sementara tidak menyebabkan browser untuk membekukan atau menghentikan eksekusi dari permainan.
var fibCallback = function fibCallbackFn(value)
Catatan :
Ini cukup ekstrim, pada kenyataannya kita ingin menghitung lebih dari satu Fibonacci istilah untuk setiap loop.
2.5.2. Fungsi caching
.
Melihat ke atas metode pada objek memiliki biaya yang terkait dengan itu, setara dengan mencari properti lainnya. Waktu yang signifikan sering dapat diselamatkan oleh caching metode bukannya memaksa lookup baru di setiap penggunaan. Misalnya, untuk jumlah array 1.000 vektor implementasi pertama dapat mengambil form ini:
for (var i = 0; i < 1000; i += 1)
Dalam melaksanakan setiap langkah loop mesin JavaScript harus cek pertama bagi keberadaan fungsi v3Add pada VMathobject, kemudian mengambil dan memanggil fungsi yang dengan set ini dengan objek VMath.
Kita bisa menghindari pemeriksaan berulang yang tidak perlu untuk v3Add dengan cara berikut:
var v3Add = VMath.v3Add;
2.5.3. Pengetikan Array
.
Pengetikan array memungkinkan kode JavaScript untuk membuat dan buffer akses memori baku, dan menafsirkan data berbagai tipe primitif, asInt32 seperti, Float32, dll (lihat http://www.khronos.org/registry/typedarray/specs/latest/ untuk penuh detail). Banyak mesin JavaScript yang 'sadar' dari array diketik dan dapat menghasilkan dioptimalkan JIT dikompilasi kode untuk beroperasi pada mereka. Untuk alasan ini, kami merekomendasikan penggunaan untuk menyimpan array yang besar dari nilai jenis yang sama.
Kode bentuk berikut dapat digunakan untuk memeriksa dukungan berbagai diketik
var ArrayConstructor = Array;
Data dalam array diketik juga dapat dikirimkan ke beberapa API mesin untuk kinerja yang optimal. Misalnya, ketika pengaturan data pada aVertexBuffer, array diketik menggunakan jenis yang tepat (yaitu pencocokan format vertex) dapat dikirim ke hardware yang memiliki grafis dengan tidak ada jenis konversi, sedangkan Array JavaScript nilai memerlukan mesin untuk iterate melalui array dalam mengkonversi nilai ganda ke format yang sesuai. Lihat The IndexBuffer Obyek, The VertexBuffer Obyek dan The Tekstur Obyek untuk rincian format data yang optimal.
Turbulenz MathDevice membuat ekstensif menggunakan jenis Float32Array untuk vektor dan matriks benda.
Senin, 27 April 2015
Keamanan Sistem Operasi, Evaluasi Keamanan Sistem Informasi, dan Sistem Keamanan Database
1. Keamanan Sistem Operasi
Komponen Arsitektur Keamanan Linux
1. Account Pemakai (user account)
Macam User :
Root : Kontrol system file, user, sumber daya (devices) dan akses jaringan.
User : Account dengan kekuasaan yang diatur oleh root dalam melakukan aktifitas dalam system.
Group : Kumpulan user yang memiliki hak sharing yang sejenis terhadap suatu devices tertentu.
2. Kontrol Akses secara Diskresi (Discretionary Access Control) adalah metode pembatasan yang ketat, yang meliputi :
Setiap account memiliki username dan password sendiri.
Setiap file/device memiliki atribut(read/write/execution) kepemilikan, group,dan user umum.
Perintah-perintah penting pada DAC :
Mengubah izin akses file.
Mengubah kepemilikan.
Mengubah kepemilikan group.
Menggunakan account root untuk sementara.
3. Kontrol Akses Jaringan (Network Access Control)
Firewall linux :
alat pengontrolan akses antar jaringan yang membuat linux dapat memilih host yang berhak / tidak berhak mengaksesnya.
Fungsi Firewall linux :
Analisa dan filtering paket
Blocking content dan protocol
Bloking isi paket seperti applet java, activeX, Vbscript, Cookies
Autentikasi koneksi dan enkripsi
4. Enkripsi (Encryption)
Penerapan Enkripsi di linux :
a) Enkripsi password
Menggunakan DES ( Data Encryption Standard )
b) Secure Shell (SSH)
Secure socket Layer (SSL)
Enkripsi komunikasi data
5. Logging
Prosedur dari Sistem Operasi atau aplikasi merekam setiap kejadian dan menyimpan rekaman tersebut untuk dapat dianalisa. Semua file log linux disimpan di directory /var/log, antara lain :
Lastlog
last
Xferlog
Access_log
Error_log
Messages
6. Deteksi Penyusupan (Intrusion Detection)
Definisi : aktivitas mendeteksi penyusupan secara cepat dengan menggunakan program khusus secara otomatis yang disebut Intrusion Detection System.
Tipe dasar IDS :
Ruled based system
Adaptive system
Program IDS :
Chkwtmp
Tcplogd
Host entry
Komponen Arsitektur Keamanan NT
1. Adminisrasi User dan Group
Jenis Account User :
Administrator
Guest
User
Jenis Account Group :
Administrator
Guest
User
Operator back-up
Power user
Operator server
Operator account
Operator printer
2. Keamanan untuk Sistem File
A. NTFS :
Cepat dalam operasi standar file (read – write – search)
Terdapat system file recovery, access control dan permission.
Memandang obyek sebagai kumpulan atribut, termasuk permission access.
B. Proteksi untuk integritas data
Transaction logging : merupakan system file yang dapat di-recovery untuk dapat mencatat semua perubahan terakhir pada directory dan file secara otomatis.
Sector sparing : Teknik dynamic data recovery yang hanya terdapat pada disk SCSI dengan cara memanfaatkan teknologi fault-tolerant volume untuk membuat duplikat data dari sector yang mengalami error.
Cluster remapping : Jika ada kegagalan dalam transaksi I/O pada disk, secara otomatis akan mencari cluster baru yang tidak rusak, lalu menandai alamat cluster yang mengandung bad sector tersebut.
Fault tolerance : Kemampuan untuk menyediakan redudansi data secara realtime yang akan memberikan tindakan penyelamatan bila terjadi kegagalan perangkat keras, korupsi perangkat lunak dan kemungkinan masalah lainnya.
3. Model Keamanan Windows NT
Dibuat dari beberapa komponen yang bekerja secara bersama-sama untuk memberikan keamanan logon dan access control list (ACL) dalam NT :
LSA (Local security Authority) : menjamin user memiliki hak untuk mengakses system. Inti keamanan yang menciptakan akses token, mengadministrasi kebijakan keamanan local dan memberikan layanan otentikasi user.
Proses logon : menerima permintaan logon dari user (logon interaktif dan logon remote), menanti masukan username dan password yang benar. Dibantu oleh Netlogon service.
Security Account MANAGER (SAM) : dikenal juga sebagai directory service database, yang memelihara database untuk account user dan memberikan layan validasi untuk proses LSA.
Security Reference Monitor (SRM) : memeriksa status izin user dalam mengakses, dan hak user untuk memanipulasi obyek serta membuat pesan-pesan audit.
4. Keamanan Sumber Daya Lokal
Obyek dalam NT [file, folder (directory), proses, thread, share dan device], masing-masing akan dilengkapi dengan Obyek Security Descriptor yang terdiri dari :
Security ID Owner
Security ID group
Discretionary ACL (Access Control List)
System ACL
5. Keamanan Jaringan
Jenis Keamanan Jaringan Windows NT :
Model keamanan user level : account user akan mendapatkan akses untuk pemakaian bersama dengan menciptakan share atas directory atau printer.
Model keamanan Share level : dikaitkan dengan jaringan peer to peer, dimana user manapun membagi sumber daya dan memutuskan apakaha diperlukan password untuk suatu akses tertentu.
6. Keamanan pada Printer
Dilakukan dengan mensetting properties printer
Menentukan permission : full control, MANAGE document, print
Biasanya susunan permission pada NT defaulut : Adminstrator – full control, Owner – MANAGE document, dan Semua user – print
Mengontrol print JOB, terdiri dari :
Setting waktu cetak
Prioritas
Notifikasi (orang yang perlu diberi peringatan)
Set auditing information
7. Keamanan Registry
Tools yang disediakan dalam pengaksesan registry :
System policy editor : mengontrol akses terhadap registry editor, memungkinkan administrator mengedit dan memodifikasi value tertentu dalam registry dengan berbasis grafis.
Registry editor (regedit32.exe) : tools untuk melakukan edit dan modifikasi value dalam registry.
Windows NT Diagnostics (winmsd.exe) : memungkinkan user melihat setting isi registry dan valuenya tanpa harus masuk ke registry editor sendiri.
8. Audit dan Pencatatan Log
Pencatatan logon dan logoff termasuk pencatatan dalam multi entry login
Object access (pencatatan akses obyek dan file)
Privilege Use (paencatatan pemakaian hak user)
Account MANAGEMENT (manajemen user dan group)
Policy change (Pencatatan perubahan kebijakan keamanan)
System event (pencatatan proses restart, shutdown dan pesan system)
Detailed tracking (pencatatan proses dalam system secara detail)
Pertanyaan
1. Jelaskan pengertian SSH dan SSL pada linux! (Ilham)
2. Apa perbedaan antara root di Linux dan hak akses di Windows? (Irvan)
Jawab
1. Secure Shell (SSH) : Program yang melakukan loging terhadap komputer lain dalam jaringan, mengeksekusi perintah lewat mesin secara remote dan memindahkan file dari satu mesin ke mesin lainnya. Enkripsi dalam bentuk Blowfish, IDEA, RSA, Triple DES.
Secure socket Layer (SSL) : Mengenkripsi data yang dikirimkan lewat port http.
2. Hak akses pada Linux
Kontrol system file, user, sumber daya (devices) dan akses jaringan.
Hak akses pada Windows
Hak basic : acces computer from network, back-up files/ directory, change system time, logon locally, MANAGE auditing and security, log (event viewer), restore files and directory, shutdown system, take ownership files or other object, dll.
Hak advance : access service and kernel untuk kebutuhan pengembangan system.
2. Evaluasi Keamanan Sistem Informasi
Meski sebuah sistem informasi sudah dirancang memiliki pengamanan, tetapi dalam perjalanannya keamanan jaringan harus selalu dimonitor. Hal ini disebabkan oleh beberapa faktor yaitu :
Selalu ditemukannya lubang keamanan yang baru, seperti halnya windows milik microsoft selalu saja ditemukan lubang keamanan baru (security hole) oleh para hacker;
Kesalahan konfigurasi, bisa mengakibatkan timbulnya celah keamanan pada suatu sistem. Misalnya mode (permission atau kepemilikan) dari berkas yang menyimpan password secara tidak sengaja diubah sehingga dapat diubah oleh orang-orang yang tidak berhak;
Penambahan perangkat baru (hardware/software) yang menyebabkan menurunnya tingkat security dan berubahnya metode pengoprasian sistem. Itu jelas karena sebuah sistem tetap membutuhkan seorang administrator, dan seoarang admin pasti membutuhkan penyesuaian jika sistemnya diubah atau diganti dengan yang baru.
Untuk meng-Evaluasi Keamanan Sistem Informasi, kita harus mengetahui beberapa faktor. Pertama, sumber lubang keamanan. Lubang keamanan (security hole) menurut Budi Raharjo (Dosen ITB) dapat disebabkan karena Salah Desain, Salah Implementasi, Salah Konfigurasi, dan Salah Penggunaan.
Salah Desain. Contoh sistem yang lemah desainnya adalah sistem enkripsi ROT13 dimana karakter pesan dan hasil enkripsi diubah dengan menggeser 13 karakter alphabet saja, Meski diimplementasi dengan pemrograman yang sangat teliti sekalipun jika orang mengetahui logika dan algoritma nya pasti enkripsi nya bisa ketahuan.
Salah Implementasi, banyak program dan sistem yang salah pengimplementasiannya disebabkan karena programer terburu-buru karena dikejar deadline dalam mengimplementasikan programnya jadi lupa ditest atau didebug.
Salah Konfigurasi, Desain sempurna, Implementasi baik, namun konfigurasi salah.
Salah Penggunaan, Jika semua sistem sudah baik maka tinggal disisi user saja sisanya. Sistem sebaik dan sesempurna mungkin akan sia-sia jika usernya tidak memahami. Contoh, seorang user salah memberi perintah karena ketidaktahuannya dan memformat hardisk komputer.
Kedua, meng-evaluasi keamanan sistem informasi juga bisa kita gunakan dengan menggunakan tools penguji keamanan sistem. Untuk sistem yang basisnya UNIX ada bebrapa tools yaitu : Cops, Tripwire, Satan/Saint, SBScan : Localhost Secuty Scanner. Selain tools2 diatas ada juga tools2 yang dibuat hacker untuk kepentingannya. antara lain :
Crack : program ini dibuat untuk memcahkan password dengan cara Brute Force menggunakan kamus. jadi program ini mencoba mencocokkan password dengan kata dikamus. Karena itu jangan menggunakan password dengan kata yang ada di kamus.
Land / Latierra : program yang dibuat untuk membuat windows NT dan windows 95 hang.
Ping-o-Death : program ping yang dapat membuat crash windows 95 / NT dan beberapa versi UNIX
Winuke : program untuk memacetkan sistem berbasis windows dan banyak lagi tools-tools lain yang bisa didapetin gratis di internet
Probing, Service di internet umumnya menggunakan TCP atau UDP, dan setiap service menggunakan port yang berbeda, misalnya :
SMTP, Service untuk mengirim email pake protocol TCP dan dengan port 25
FTP, Service untuk tranfer file pake protocol TCP, dengan port 21
HTTP, Service untuk web server pake protocol TCP, dengan port 80
DNS, Service untuk domain pake protocol TCP dan UDP, dengan port 53
POP3, Service untuk mengambil email pake protocol TCP, dengan port 110
Pertanyaan
Apa penyebab dari celah/lubang keamanan ( security hole ), dan apa dampaknya ( positif dan negatif ) ? (Sandi)
Jawab
Penyebab : Bisa disebabkan oleh 3 hal, yaitu kesalahan pada desain sistem ataupun algoritma yang digunakan, implementasi algoritma yang kurang baik, dan kesalahan konfigurasi.
Dampak :
positif : dapat mengetahui kesalahan atau celah keamanan dari sistem yang ada, sehingga tingkat keamanannya dapat ditingkatkan.
negatif : adanya pihak-pihak yang dianggap merugikan yang dapat masuk, mengakses, ataupun merusak sistem atau keamanan sistem yang ada.
3. Sistem Keamanan Database
Keamanan Database
Keamanan merupakan suatu proteksi terhadap pengerusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan. lunak database server yang handal (2) Pemberian otoritas kepada user mana saja yang berhak mengakses, serta memanipulasi data-data yang ada. Keamanan merupakan suatu proteksi terhadap pengerusakan data dan pemakaian. Untuk menjaga keaman an Basis Data dapat dengan: (1) Penentuan perangkat
a. Tujuan Keamanan Basis Data
Secrecy/Confidentiality: Informasi tidak boleh diungkapkan kepada pengguna yang tidak sah. Sebagai contoh, mahasiswa seharusnya tidak diperbolehkan untuk memeriksa nilai siswa lainnya.
Integrity: Hanya pengguna yang berwenang harus diizinkan untuk memodifikasi data. Sebagai contoh, siswa mungkin diperbolehkan untuk melihat nilai mereka, namun tidak diperbolehkan (jelas) untuk memodifikasi mereka.
Availability: Pengguna yang terdaftar tidak boleh ditolak akses. Sebagai contoh, seorang instruktur yang ingin mengubah kelas harus diizinkan untuk melakukannya
b. Ancaman terhadap Keamanan Database
Interuption: Sumber daya basis data dirusak atau menjadi tidak dapat dipakai (ancaman terhadap availability).
Interception: Pemakai atau bagian yang tidak berhak mengakses sumber daya basis data (ancaman secrecy).
Modification: Pemakai atau bagian yang tidak berhak tidak hanya mengakses tapi juga merusak sumber daya sistem komputer (ancaman integrity). Fabrication: Pemakai atau bagian yang tidak berhak menyisipkan objek palsu kedalam sistem (ancaman integrity).
c. Penyalahgunaan Database
1. Tidak disengaja, jenisnya :
Kerusakan selama proses transaksi
Anomali yang disebabkan oleh akses database yang konkuren
Anomali yang disebabkan oleh pendistribuasian data pada beberapa komputer
Logika error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi database
2. Disengaja, jenisnya :
Pengambilan data / pembacaan data oleh pihak yang tidak berwenang
Pengubahan data oleh pihak yang tidak berwenang
Penghapusan data oleh pihak yang tidak berwenang
d. Tingkatan Penyalahgunaan Database
Fisikal : lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap serangan perusak.
Manusia : wewenang pemakai harus dilakukan dengan berhati-hati untuk mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang
Sistem Operasi : Kelemahan pada SO ini memungkinkan pengaksesan data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh.
Sistem Database : Pengaturan hak pemakai yang baik.
Pengaturan Keamanan Database
a. Otorisasi :
Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses sistem
Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak dengan 2
Mengendalikan sistem atau obyek yang dapat diakses
Mengendalikan bagaimana pengguna menggunakannya
Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat account pengguna.
b. Tabel View :
Merupakan metode pembatasan bagi pengguna untuk mendapatkan model database yang sesuai dengan kebutuhan perorangan. Metode ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh pengguna. Contoh pada Database relasional,untuk pengamanan dilakukan beberapa level:
Relasi : pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi
View : pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terapat pada view
Read Authorization : pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
Insert Authorization : pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada.
Update Authorization : pengguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data.
Delete Authorization : pengguna diperbolehkan menghapus data.
Untuk Modifikasi data terdapat otorisasi tambahan :
Index Authorization : pengguna diperbolehkan membuat dan menghapus index data.
Resource Authorization : pengguna diperbolehkan membuat relasi-relasi baru.
Alteration Authorization : pengguna diperbolehkan menambah/menghapus atribut suatu relasi.
Drop Authorization : pengguna diperbolehkan menghapus relasi yang sudah ada.
Contoh perintah menggunakan SQL :
GRANT : memberikan wewenang kepada pemakai
Syntax : GRANT <priviledge list> ON <nama relasi/view> TO <pemakai>
Contoh :
GRANT SELECT ON S TO BUDI
GRANT SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
REVOKE : mencabut wewenang yang dimiliki oleh pemakai
Syntax : REVOKE <priviledge list> ON <nama relasi/view> FROM <pemakai>
Contoh :
REVOKE SELECT ON S TO BUDI
REVOKE SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
Priviledge list : READ, INSERT, DROP, DELETE, INEX, ALTERATION, RESOURCE
c. Backup data dan recovery :
Backup : proses secara periodik untuk mebuat duplikat ari database dan melakukan logging file (atau program) ke media penyimpanan eksternal.
Jurnaling : proses menyimpan dan mengatur log file dari semua perubahan yang dibuat di database untuk proses recovery yang efektif jika terjadi kesalahan.
Isi Jurnal :
1. Record transaksi
Identifikasi dari record
Tipe record jurnal (transaksi start, insert, update, delete, abort, commit)
Item data sebelum perubahan (operasi update dan delete)
Item data setelah perubahan (operasi insert dan update)
Informasi manajemen jurnal (misal : pointer sebelum dan record jurnal selanjutnya untuk semua transaksi
2. Record checkpoint : suatu informasi pada jurnal untuk memulihkan database dari kegagalan, kalau sekedar redo, akan sulit penyimpanan sejauh mana jurnal untuk mencarinya kembali, maka untuk membatasi pencarian menggunakan teknik ini.
Jenis Pemulihan :
Pemulihan terhadap kegagalan transaksi : Kesatuan prosedur alam program yang dapat mengubah / memperbarui data pada sejumlah tabel.
Pemulihan terhadap kegagalan media : Pemulihan karena kegagalan media dengan cara mengambil atau memuat kembali salinan basis data (backup)
Pemulihan terhadap kegagalan sistem : Karena gangguan sistem, hang, listrik terputus alirannya.
d. Kesatuan data dan Enkripsi :
Enkripsi : keamanan data
Integritas :metode pemeriksaan dan validasi data (metode integrity constrain), yaitu berisi aturan-aturan atau batasan-batasan untuk tujuan terlaksananya integritas data.
Konkuren : mekanisme untuk menjamin bahwa transaksi yang konkuren pada database multi user tidak saling menganggu operasinya masing-masing. Adanya penjadwalan proses yang akurat (time stamping).
Teknik Pemulihan Database
Teknik Pemulihan :
defered upate / perubahan yang ditunda : perubahan pada DB tidak akan berlangsung sampai transaksi ada pada poin disetujui (COMMIT). Jika terjadi kegagalan maka tidak akan terjadi perubahan, tetapi diperlukan operasi redo untuk mencegah akibat dari kegagalan tersebut.
Immediate Upadate / perubahan langsung : perubahan pada DB akan segera tanpa harus menunggu sebuah transaksi tersebut disetujui. Jika terjadi kegagalan diperlukan operasi UNDO untuk melihat apakah ada transaksi yang telah disetujui sebelum terjadi kegagalan.
Shadow Paging : menggunakan page bayangan dimana para prosesnya terdiri dari 2 tabel yang sama, yang satu menjadi tabel transaksi dan yang lain digunakan sebagai cadangan. Ketika transaksi mulai berlangsung kedua tabel ini sama dan selama berlangsung tabel transaksi yang menyimpan semua perubahan ke database, tabel bayangan akan digunakan jika terjadi kesalahan. Keuntungannya adalah tidak membutuhkan REDO atau UNDO, kelemahannya membuat terjadinya fragmentasi.
Pertanyaan
Salah satu contoh kasus penyalahgunaan database secara tidak sengaja dan secara di sengaja? (Fathul)
Jawab
Contoh kasus penyalahgunaan database secara tidak sengaja. Input data dengan informasi yang tidak benar misalnya menggunakan e-banking via internet kita memasukan no rek atau token yang salah dalam melakukan transaksi.
Contoh kasus yang di sengaja. Carding adalah penyusun data informasi pada database untuk mendapatkan hak guna yang bukan miliknya misalkan dengan menggunakan uang cairan secara digital dalam melakukan sebuah transaksi.
Komponen Arsitektur Keamanan Linux
1. Account Pemakai (user account)
Macam User :
Root : Kontrol system file, user, sumber daya (devices) dan akses jaringan.
User : Account dengan kekuasaan yang diatur oleh root dalam melakukan aktifitas dalam system.
Group : Kumpulan user yang memiliki hak sharing yang sejenis terhadap suatu devices tertentu.
2. Kontrol Akses secara Diskresi (Discretionary Access Control) adalah metode pembatasan yang ketat, yang meliputi :
Setiap account memiliki username dan password sendiri.
Setiap file/device memiliki atribut(read/write/execution) kepemilikan, group,dan user umum.
Perintah-perintah penting pada DAC :
Mengubah izin akses file.
Mengubah kepemilikan.
Mengubah kepemilikan group.
Menggunakan account root untuk sementara.
3. Kontrol Akses Jaringan (Network Access Control)
Firewall linux :
alat pengontrolan akses antar jaringan yang membuat linux dapat memilih host yang berhak / tidak berhak mengaksesnya.
Fungsi Firewall linux :
Analisa dan filtering paket
Blocking content dan protocol
Bloking isi paket seperti applet java, activeX, Vbscript, Cookies
Autentikasi koneksi dan enkripsi
4. Enkripsi (Encryption)
Penerapan Enkripsi di linux :
a) Enkripsi password
Menggunakan DES ( Data Encryption Standard )
b) Secure Shell (SSH)
Secure socket Layer (SSL)
Enkripsi komunikasi data
5. Logging
Prosedur dari Sistem Operasi atau aplikasi merekam setiap kejadian dan menyimpan rekaman tersebut untuk dapat dianalisa. Semua file log linux disimpan di directory /var/log, antara lain :
Lastlog
last
Xferlog
Access_log
Error_log
Messages
6. Deteksi Penyusupan (Intrusion Detection)
Definisi : aktivitas mendeteksi penyusupan secara cepat dengan menggunakan program khusus secara otomatis yang disebut Intrusion Detection System.
Tipe dasar IDS :
Ruled based system
Adaptive system
Program IDS :
Chkwtmp
Tcplogd
Host entry
Komponen Arsitektur Keamanan NT
1. Adminisrasi User dan Group
Jenis Account User :
Administrator
Guest
User
Jenis Account Group :
Administrator
Guest
User
Operator back-up
Power user
Operator server
Operator account
Operator printer
2. Keamanan untuk Sistem File
A. NTFS :
Cepat dalam operasi standar file (read – write – search)
Terdapat system file recovery, access control dan permission.
Memandang obyek sebagai kumpulan atribut, termasuk permission access.
B. Proteksi untuk integritas data
Transaction logging : merupakan system file yang dapat di-recovery untuk dapat mencatat semua perubahan terakhir pada directory dan file secara otomatis.
Sector sparing : Teknik dynamic data recovery yang hanya terdapat pada disk SCSI dengan cara memanfaatkan teknologi fault-tolerant volume untuk membuat duplikat data dari sector yang mengalami error.
Cluster remapping : Jika ada kegagalan dalam transaksi I/O pada disk, secara otomatis akan mencari cluster baru yang tidak rusak, lalu menandai alamat cluster yang mengandung bad sector tersebut.
Fault tolerance : Kemampuan untuk menyediakan redudansi data secara realtime yang akan memberikan tindakan penyelamatan bila terjadi kegagalan perangkat keras, korupsi perangkat lunak dan kemungkinan masalah lainnya.
3. Model Keamanan Windows NT
Dibuat dari beberapa komponen yang bekerja secara bersama-sama untuk memberikan keamanan logon dan access control list (ACL) dalam NT :
LSA (Local security Authority) : menjamin user memiliki hak untuk mengakses system. Inti keamanan yang menciptakan akses token, mengadministrasi kebijakan keamanan local dan memberikan layanan otentikasi user.
Proses logon : menerima permintaan logon dari user (logon interaktif dan logon remote), menanti masukan username dan password yang benar. Dibantu oleh Netlogon service.
Security Account MANAGER (SAM) : dikenal juga sebagai directory service database, yang memelihara database untuk account user dan memberikan layan validasi untuk proses LSA.
Security Reference Monitor (SRM) : memeriksa status izin user dalam mengakses, dan hak user untuk memanipulasi obyek serta membuat pesan-pesan audit.
4. Keamanan Sumber Daya Lokal
Obyek dalam NT [file, folder (directory), proses, thread, share dan device], masing-masing akan dilengkapi dengan Obyek Security Descriptor yang terdiri dari :
Security ID Owner
Security ID group
Discretionary ACL (Access Control List)
System ACL
5. Keamanan Jaringan
Jenis Keamanan Jaringan Windows NT :
Model keamanan user level : account user akan mendapatkan akses untuk pemakaian bersama dengan menciptakan share atas directory atau printer.
Model keamanan Share level : dikaitkan dengan jaringan peer to peer, dimana user manapun membagi sumber daya dan memutuskan apakaha diperlukan password untuk suatu akses tertentu.
6. Keamanan pada Printer
Dilakukan dengan mensetting properties printer
Menentukan permission : full control, MANAGE document, print
Biasanya susunan permission pada NT defaulut : Adminstrator – full control, Owner – MANAGE document, dan Semua user – print
Mengontrol print JOB, terdiri dari :
Setting waktu cetak
Prioritas
Notifikasi (orang yang perlu diberi peringatan)
Set auditing information
7. Keamanan Registry
Tools yang disediakan dalam pengaksesan registry :
System policy editor : mengontrol akses terhadap registry editor, memungkinkan administrator mengedit dan memodifikasi value tertentu dalam registry dengan berbasis grafis.
Registry editor (regedit32.exe) : tools untuk melakukan edit dan modifikasi value dalam registry.
Windows NT Diagnostics (winmsd.exe) : memungkinkan user melihat setting isi registry dan valuenya tanpa harus masuk ke registry editor sendiri.
8. Audit dan Pencatatan Log
Pencatatan logon dan logoff termasuk pencatatan dalam multi entry login
Object access (pencatatan akses obyek dan file)
Privilege Use (paencatatan pemakaian hak user)
Account MANAGEMENT (manajemen user dan group)
Policy change (Pencatatan perubahan kebijakan keamanan)
System event (pencatatan proses restart, shutdown dan pesan system)
Detailed tracking (pencatatan proses dalam system secara detail)
Pertanyaan
1. Jelaskan pengertian SSH dan SSL pada linux! (Ilham)
2. Apa perbedaan antara root di Linux dan hak akses di Windows? (Irvan)
Jawab
1. Secure Shell (SSH) : Program yang melakukan loging terhadap komputer lain dalam jaringan, mengeksekusi perintah lewat mesin secara remote dan memindahkan file dari satu mesin ke mesin lainnya. Enkripsi dalam bentuk Blowfish, IDEA, RSA, Triple DES.
Secure socket Layer (SSL) : Mengenkripsi data yang dikirimkan lewat port http.
2. Hak akses pada Linux
Kontrol system file, user, sumber daya (devices) dan akses jaringan.
Hak akses pada Windows
Hak basic : acces computer from network, back-up files/ directory, change system time, logon locally, MANAGE auditing and security, log (event viewer), restore files and directory, shutdown system, take ownership files or other object, dll.
Hak advance : access service and kernel untuk kebutuhan pengembangan system.
2. Evaluasi Keamanan Sistem Informasi
Meski sebuah sistem informasi sudah dirancang memiliki pengamanan, tetapi dalam perjalanannya keamanan jaringan harus selalu dimonitor. Hal ini disebabkan oleh beberapa faktor yaitu :
Selalu ditemukannya lubang keamanan yang baru, seperti halnya windows milik microsoft selalu saja ditemukan lubang keamanan baru (security hole) oleh para hacker;
Kesalahan konfigurasi, bisa mengakibatkan timbulnya celah keamanan pada suatu sistem. Misalnya mode (permission atau kepemilikan) dari berkas yang menyimpan password secara tidak sengaja diubah sehingga dapat diubah oleh orang-orang yang tidak berhak;
Penambahan perangkat baru (hardware/software) yang menyebabkan menurunnya tingkat security dan berubahnya metode pengoprasian sistem. Itu jelas karena sebuah sistem tetap membutuhkan seorang administrator, dan seoarang admin pasti membutuhkan penyesuaian jika sistemnya diubah atau diganti dengan yang baru.
Untuk meng-Evaluasi Keamanan Sistem Informasi, kita harus mengetahui beberapa faktor. Pertama, sumber lubang keamanan. Lubang keamanan (security hole) menurut Budi Raharjo (Dosen ITB) dapat disebabkan karena Salah Desain, Salah Implementasi, Salah Konfigurasi, dan Salah Penggunaan.
Salah Desain. Contoh sistem yang lemah desainnya adalah sistem enkripsi ROT13 dimana karakter pesan dan hasil enkripsi diubah dengan menggeser 13 karakter alphabet saja, Meski diimplementasi dengan pemrograman yang sangat teliti sekalipun jika orang mengetahui logika dan algoritma nya pasti enkripsi nya bisa ketahuan.
Salah Implementasi, banyak program dan sistem yang salah pengimplementasiannya disebabkan karena programer terburu-buru karena dikejar deadline dalam mengimplementasikan programnya jadi lupa ditest atau didebug.
Salah Konfigurasi, Desain sempurna, Implementasi baik, namun konfigurasi salah.
Salah Penggunaan, Jika semua sistem sudah baik maka tinggal disisi user saja sisanya. Sistem sebaik dan sesempurna mungkin akan sia-sia jika usernya tidak memahami. Contoh, seorang user salah memberi perintah karena ketidaktahuannya dan memformat hardisk komputer.
Kedua, meng-evaluasi keamanan sistem informasi juga bisa kita gunakan dengan menggunakan tools penguji keamanan sistem. Untuk sistem yang basisnya UNIX ada bebrapa tools yaitu : Cops, Tripwire, Satan/Saint, SBScan : Localhost Secuty Scanner. Selain tools2 diatas ada juga tools2 yang dibuat hacker untuk kepentingannya. antara lain :
Crack : program ini dibuat untuk memcahkan password dengan cara Brute Force menggunakan kamus. jadi program ini mencoba mencocokkan password dengan kata dikamus. Karena itu jangan menggunakan password dengan kata yang ada di kamus.
Land / Latierra : program yang dibuat untuk membuat windows NT dan windows 95 hang.
Ping-o-Death : program ping yang dapat membuat crash windows 95 / NT dan beberapa versi UNIX
Winuke : program untuk memacetkan sistem berbasis windows dan banyak lagi tools-tools lain yang bisa didapetin gratis di internet
Probing, Service di internet umumnya menggunakan TCP atau UDP, dan setiap service menggunakan port yang berbeda, misalnya :
SMTP, Service untuk mengirim email pake protocol TCP dan dengan port 25
FTP, Service untuk tranfer file pake protocol TCP, dengan port 21
HTTP, Service untuk web server pake protocol TCP, dengan port 80
DNS, Service untuk domain pake protocol TCP dan UDP, dengan port 53
POP3, Service untuk mengambil email pake protocol TCP, dengan port 110
Pertanyaan
Apa penyebab dari celah/lubang keamanan ( security hole ), dan apa dampaknya ( positif dan negatif ) ? (Sandi)
Jawab
Penyebab : Bisa disebabkan oleh 3 hal, yaitu kesalahan pada desain sistem ataupun algoritma yang digunakan, implementasi algoritma yang kurang baik, dan kesalahan konfigurasi.
Dampak :
positif : dapat mengetahui kesalahan atau celah keamanan dari sistem yang ada, sehingga tingkat keamanannya dapat ditingkatkan.
negatif : adanya pihak-pihak yang dianggap merugikan yang dapat masuk, mengakses, ataupun merusak sistem atau keamanan sistem yang ada.
3. Sistem Keamanan Database
Keamanan Database
Keamanan merupakan suatu proteksi terhadap pengerusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan. lunak database server yang handal (2) Pemberian otoritas kepada user mana saja yang berhak mengakses, serta memanipulasi data-data yang ada. Keamanan merupakan suatu proteksi terhadap pengerusakan data dan pemakaian. Untuk menjaga keaman an Basis Data dapat dengan: (1) Penentuan perangkat
a. Tujuan Keamanan Basis Data
Secrecy/Confidentiality: Informasi tidak boleh diungkapkan kepada pengguna yang tidak sah. Sebagai contoh, mahasiswa seharusnya tidak diperbolehkan untuk memeriksa nilai siswa lainnya.
Integrity: Hanya pengguna yang berwenang harus diizinkan untuk memodifikasi data. Sebagai contoh, siswa mungkin diperbolehkan untuk melihat nilai mereka, namun tidak diperbolehkan (jelas) untuk memodifikasi mereka.
Availability: Pengguna yang terdaftar tidak boleh ditolak akses. Sebagai contoh, seorang instruktur yang ingin mengubah kelas harus diizinkan untuk melakukannya
b. Ancaman terhadap Keamanan Database
Interuption: Sumber daya basis data dirusak atau menjadi tidak dapat dipakai (ancaman terhadap availability).
Interception: Pemakai atau bagian yang tidak berhak mengakses sumber daya basis data (ancaman secrecy).
Modification: Pemakai atau bagian yang tidak berhak tidak hanya mengakses tapi juga merusak sumber daya sistem komputer (ancaman integrity). Fabrication: Pemakai atau bagian yang tidak berhak menyisipkan objek palsu kedalam sistem (ancaman integrity).
c. Penyalahgunaan Database
1. Tidak disengaja, jenisnya :
Kerusakan selama proses transaksi
Anomali yang disebabkan oleh akses database yang konkuren
Anomali yang disebabkan oleh pendistribuasian data pada beberapa komputer
Logika error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi database
2. Disengaja, jenisnya :
Pengambilan data / pembacaan data oleh pihak yang tidak berwenang
Pengubahan data oleh pihak yang tidak berwenang
Penghapusan data oleh pihak yang tidak berwenang
d. Tingkatan Penyalahgunaan Database
Fisikal : lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap serangan perusak.
Manusia : wewenang pemakai harus dilakukan dengan berhati-hati untuk mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang
Sistem Operasi : Kelemahan pada SO ini memungkinkan pengaksesan data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh.
Sistem Database : Pengaturan hak pemakai yang baik.
Pengaturan Keamanan Database
a. Otorisasi :
Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses sistem
Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak dengan 2
Mengendalikan sistem atau obyek yang dapat diakses
Mengendalikan bagaimana pengguna menggunakannya
Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat account pengguna.
b. Tabel View :
Merupakan metode pembatasan bagi pengguna untuk mendapatkan model database yang sesuai dengan kebutuhan perorangan. Metode ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh pengguna. Contoh pada Database relasional,untuk pengamanan dilakukan beberapa level:
Relasi : pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi
View : pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terapat pada view
Read Authorization : pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
Insert Authorization : pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada.
Update Authorization : pengguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data.
Delete Authorization : pengguna diperbolehkan menghapus data.
Untuk Modifikasi data terdapat otorisasi tambahan :
Index Authorization : pengguna diperbolehkan membuat dan menghapus index data.
Resource Authorization : pengguna diperbolehkan membuat relasi-relasi baru.
Alteration Authorization : pengguna diperbolehkan menambah/menghapus atribut suatu relasi.
Drop Authorization : pengguna diperbolehkan menghapus relasi yang sudah ada.
Contoh perintah menggunakan SQL :
GRANT : memberikan wewenang kepada pemakai
Syntax : GRANT <priviledge list> ON <nama relasi/view> TO <pemakai>
Contoh :
GRANT SELECT ON S TO BUDI
GRANT SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
REVOKE : mencabut wewenang yang dimiliki oleh pemakai
Syntax : REVOKE <priviledge list> ON <nama relasi/view> FROM <pemakai>
Contoh :
REVOKE SELECT ON S TO BUDI
REVOKE SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
Priviledge list : READ, INSERT, DROP, DELETE, INEX, ALTERATION, RESOURCE
c. Backup data dan recovery :
Backup : proses secara periodik untuk mebuat duplikat ari database dan melakukan logging file (atau program) ke media penyimpanan eksternal.
Jurnaling : proses menyimpan dan mengatur log file dari semua perubahan yang dibuat di database untuk proses recovery yang efektif jika terjadi kesalahan.
Isi Jurnal :
1. Record transaksi
Identifikasi dari record
Tipe record jurnal (transaksi start, insert, update, delete, abort, commit)
Item data sebelum perubahan (operasi update dan delete)
Item data setelah perubahan (operasi insert dan update)
Informasi manajemen jurnal (misal : pointer sebelum dan record jurnal selanjutnya untuk semua transaksi
2. Record checkpoint : suatu informasi pada jurnal untuk memulihkan database dari kegagalan, kalau sekedar redo, akan sulit penyimpanan sejauh mana jurnal untuk mencarinya kembali, maka untuk membatasi pencarian menggunakan teknik ini.
Jenis Pemulihan :
Pemulihan terhadap kegagalan transaksi : Kesatuan prosedur alam program yang dapat mengubah / memperbarui data pada sejumlah tabel.
Pemulihan terhadap kegagalan media : Pemulihan karena kegagalan media dengan cara mengambil atau memuat kembali salinan basis data (backup)
Pemulihan terhadap kegagalan sistem : Karena gangguan sistem, hang, listrik terputus alirannya.
d. Kesatuan data dan Enkripsi :
Enkripsi : keamanan data
Integritas :metode pemeriksaan dan validasi data (metode integrity constrain), yaitu berisi aturan-aturan atau batasan-batasan untuk tujuan terlaksananya integritas data.
Konkuren : mekanisme untuk menjamin bahwa transaksi yang konkuren pada database multi user tidak saling menganggu operasinya masing-masing. Adanya penjadwalan proses yang akurat (time stamping).
Teknik Pemulihan Database
Teknik Pemulihan :
defered upate / perubahan yang ditunda : perubahan pada DB tidak akan berlangsung sampai transaksi ada pada poin disetujui (COMMIT). Jika terjadi kegagalan maka tidak akan terjadi perubahan, tetapi diperlukan operasi redo untuk mencegah akibat dari kegagalan tersebut.
Immediate Upadate / perubahan langsung : perubahan pada DB akan segera tanpa harus menunggu sebuah transaksi tersebut disetujui. Jika terjadi kegagalan diperlukan operasi UNDO untuk melihat apakah ada transaksi yang telah disetujui sebelum terjadi kegagalan.
Shadow Paging : menggunakan page bayangan dimana para prosesnya terdiri dari 2 tabel yang sama, yang satu menjadi tabel transaksi dan yang lain digunakan sebagai cadangan. Ketika transaksi mulai berlangsung kedua tabel ini sama dan selama berlangsung tabel transaksi yang menyimpan semua perubahan ke database, tabel bayangan akan digunakan jika terjadi kesalahan. Keuntungannya adalah tidak membutuhkan REDO atau UNDO, kelemahannya membuat terjadinya fragmentasi.
Pertanyaan
Salah satu contoh kasus penyalahgunaan database secara tidak sengaja dan secara di sengaja? (Fathul)
Jawab
Contoh kasus penyalahgunaan database secara tidak sengaja. Input data dengan informasi yang tidak benar misalnya menggunakan e-banking via internet kita memasukan no rek atau token yang salah dalam melakukan transaksi.
Contoh kasus yang di sengaja. Carding adalah penyusun data informasi pada database untuk mendapatkan hak guna yang bukan miliknya misalkan dengan menggunakan uang cairan secara digital dalam melakukan sebuah transaksi.
Langganan:
Postingan (Atom)



