Selasa, 13 September 2011

Di-Hack Atau Tidak, Kernel Linux Terlindung Dengan Baik

PCWorld.Com – Adalah hal yang mengejutkan ketika mendapati berita Kernel.org dihack bulan lalu. Berita seperti ini rutin terjadi di seluruh dunia, tetapi tidak di rumah yang merupakan jantungnya Linux.

Penyelidikan tidak diragukan mestilah dilanjutkan di berbagai lini, dan team Kernel.org terus bekerja untuk memastikan seluruh 448 pengguna mengganti password dan kunci SSH mereka.

Saat ini, bagaimanapun, adalah merupakan sebuah berita yang bagus karena ternyata kita tidak perlu khawatir tentang keadaan kode-kode Linux yang kita ketahui dan kita cintai.

Tiga penjelasan terpisah tentang mengapa hal itu bisa terjadi sudah disampaikan semenjak pembobolan pertama kali diketahui. Pada intinya, serangan menjadi tidak terlalu berpengaruh karena pada kenyataannya pengembangan kernel dilakukan menggunakan sistem kontrol revisi Git yang dimiliki sendiri oleh Linus Torvald. Disinilah mengapa ada semacam perbedaan besar.

‘Suatu Hash yang Diamankan Secara Kriptografi’

“Potensi kerusakan dari pembobolan kernel.org sangat jauh lebih kecil dibandingkan jika terjadi pada repository perangkat lunak umumnya” demikian tulis keterangan di website kernel.org.

“Untuk masing-masing file yang berjumlah sekitar 40.000 di kernel Linux, suatu hash terkriptografi SHA-1 dihitung untuk secara unik untuk mendefinisikan konten file secara tepat”, demikian yang dijelaskan oleh catatan itu. “Git dirancang sedemikian rupa sehingga nama dari masing-masing versi kernel bergantung pada sejarah pengembangan lengkap yang menyusun versi tersebut. Sekali versi itu dipublikasikan, adalah tidak mungkin merubahnya ke versi yang lebih lama tanpa dikenali”

Lebih jauh, file-file tersebut dan nilai-nilai hash yang berhubungan dengannya ada di sejumlah tempat, baik di mesin kernel.org maupun mirrornya, serta di hard drive ribuan pengembang kernel, maintainer distro dan pihak-pihak lain yang terlibat dengan kernel.org.

Setiap gangguan di file manapun pada repository kernel.org akan dengan cepat dikenali oleh masing-masing pengembang saat mereka mengupdate repository personal mereka, yang dilakukan hampir tiap hari.

‘Tidak Perlu Khawatir’

onathan Corbet, editor eksekutif di LWN.net dan kontributor kernel Linux, menyampaikan kalimat jaminan yang sama.

Meskipun mendapati bahwa penyerangan itu “mengganggu dan memalukan”, Corbet menuliskan bahwa “Tidak perlu khawatir tentang integritas sumber kernel atau perangkat lunak apapun yang ditempatkan di sistem kernel.org”

“Jika yang dilakukan oleh pengembang kernel adalah memaketkan file-file kode sumber secara sederhana, mereka mungkin akan sangat rentan oleh malware yang disusupkan oleh penyerang” kata Corbet.”tapi itu bukanlah cara pengembangan kernel dilakukan”

Fungsi Hash pada Git menghasilkan angka 160 bit, dan setiap kali konten file berubah, maka nilai hash juga akan berubah.” Seorang penyerang tidak akan dapat merubah suatu file tanpa merubah nilai hash-nya. Git memeriksa hash secara teratur, sehingga jika ada upaya untuk merusak file, maka peringatan akan muncul seketika” demikian ditekankan oleh Corbet.

Akan Muncul dengan Segera’

Corbet juga menerangkan, bahwa kemudian juga ada fakta bahwa “setiap keadaan yang terjadi di percabangan kode sumber kernel, git menghitung suatu nilai yang didasarkan pada

1. Nilai Hash dari semua file yang ada pada cabang kode sumber itu

2. Nilai Hash dari semua keadaan sebelumnya yang terjadi pada cabang kode sumber tersebut

Jadi, misalnya, hash untuk kernel rilis 3.0 adalah 02f8c6aee8df3cdc935e9bdd4f2d020306035dbe, maka tidak ada cara untuk merubah file didalam rilis tersebut – atau dalam rilis sebelumnya – tanpa merubah nilai hash itu. Jika seseorang (bahkan repositori kernel.org itu sendiri) menampilkan kernel 3.0 dengan hash yang berbeda, akan segera ketahuan bahwa ada sesuatu yang salah.

Penjelasan lebih lengkap dapat dibaca pada posting blog dari pengembang Git Junio C. Hamano, sebagaimana di jelaskan juga di H-Online. Lengkap dengan keterangan teknis yang diperlukan.

Pengguna awam ? Jika para pakar tersebut telah menjelaskan seperti itu – maka saya sangat yakin bahwa kernel Linux aman dan terkendali.

Sumber : reza ervani

Sabtu, 23 April 2011

Memahami Cloud Computing (bagian 2)

Sambungan dari artikel sebelumnya :) masi dari sumber yang sama.

Pada pembahasan sebelumnya, kami telah membahas cukup detail tentang apa itu cloud computing. Pembahasan meliputi definisi, karakteristik, hingga kelebihan cloud computing dibandingkan system IT tradisional yang On-Premise (yaitu sistem IT yang dibangun di data center milik sendiri).

Untuk lebih memahami Cloud Computing, kali ini kita akan membahas contoh Cloud Computing dan jenis layanan apa saja yang ada. Dari situ, kita akan dapat memutuskan jenis yang mana yang mungkin di adopsi di organisasi ataupun bisnis yang kita jalani.

Sedikit menyegarkan ingatan, cloud computing adalah sebuah arsitektur IT di mana sumber daya komputasi tersedia sebagai layanan yang dapat diakses melalui internet. Sumber daya komputasi ini bisa berupa hardware (prosesor, memori, storage) maupun juga software/aplikasi. Kata “Cloud” sendiri merupakan metafora dari kata “internet”, karena biasanya di diagram-diagram IT, internet sering disimbolkan dengan gambar Cloud.

Karena layanan-layanan komputasi ini tersedia untuk diakses dari internet, maka lokasi fisik dari server-server sumber daya komputasi ini bisa di mana saja, tidak harus on-premise atau di data center kita sendiri. Saat ini ada beberapa vendor yang memberikan berbagai jenis layanan cloud computing, dan secara fisik sumber daya komputasi berada di data center mereka. Kita sebagai customer cukup mengkonsumsi sumber daya komputasi tersebut melalui internet tanpa tahu secara detail lokasi maupun server sumber daya komputasi yang kita pergunakan.

Berikut ini kita akan bahas satu persatu, jenis layanan Cloud Computing yang ada, seperti yang ditunjukkan gambar 1. Kita mulai dari yang disebut Software as a Service (SaaS), kemudian Platform as a Service (PaaS) dan terakhir Infrastructure as a Service (IaaS).


Software as a Service (SaaS)

Sebagai konsumen individual, kita sebenarnya sudah akrab dengan layanan cloud computing melalui Yahoo Mail, Hotmail, Google Search, Bing, atau MSN Messenger. Contoh lain yang cukup populer adalah Google Docs ataupun Microsoft Office Web Applications yang merupakan aplikasi pengolah dokumen berbasis internet.

Di dunia bisnis, kita mungkin familiar dengan SalesForce.com atau Microsoft CRM yang merupakan layanan aplikasi CRM. Di sini, perusahaan tidak perlu setup hardware dan software CRM di server sendiri. Cukup berlangganan SalesForce.com maupun Microsoft CRM, kita bisa menggunakan aplikasi CRM kapan dan dari mana saja melalui internet. Kita tidak perlu melakukan investasi server maupun aplikasi. Kita juga akan selalu mendapat aplikasi terbaru jika terjadi upgrade. Intinya, kita benar-benar hanya tinggal menggunakan aplikasi tersebut. Pembayaran biasanya dilakukan bulanan, dan sesuai jumlah pemakai aplikasi tersebut. Dengan kata lain, pay as you go, pay per use, per seat.

Nah, semua layanan ini, dimana suatu aplikasi software tersedia dan bisa langsung dipakai oleh seorang pengguna, termasuk ke dalam kategori Software as a Services (SaaS). Secara sederhana, kita langsung mengkonsumsi layanan aplikasi yang ditawarkan.

Platform as a Service (PaaS)

Sering terjadi, suatu aplikasi software yang sifatnya package tidak dapat memenuhi kebutuhan proses bisnis kita. Demikian pula dengan SaaS, di mana aplikasi yang ditawarkan sebagai layanan tidak sesuai dengan proses bisnis kita. Nah, pada skenario ini, kita dapat menggunakan jenis layanan yang disebut Platform as a Service (PaaS).

Pada PaaS, kita membuat sendiri aplikasi software yang kita inginkan, termasuk skema database yang diperlukan. Skema itu kemudian kita pasang (deploy) di server-server milik penyedia jada PaaS. Penyedia jasa PaaS sendiri menyediakan layanan berupa platform, mulai dari mengatur server-server mereka secara virtualisasi sehingga sudah menjadi cluster sampai menyediakan sistem operasi di atasnya. Alhasil, kita sebagai pengguna hanya perlu memasang aplikasi yang kita buat di atasnya.

Jika kita adalah perusahaan pembuat software, PaaS juga memberi alternatif lain. Alih-alih memasang software di server konsumen, kita bisa memasang software tersebut di server milik penyedia layanan PaaS, lalu menjualnya ke konsumen dalam bentuk langganan. Dengan kata lain, kita membuat sebuah SaaS.

Singkatnya, dengan PaaS, kita membangun aplikasi kita sendiri di atas layanan PaaS tersebut. Adapun contoh vendor penyedia layanan Paas adalah Microsoft Azure dan Amazon Web Services.

Infrastructure as a Service (IaaS)

Ada kasus ketika konfigurasi yang disediakan oleh penyedia PaaS tidak sesuai dengan keinginan kita. Kita berniat menggunakan aplikasi yang memerlukan konfigurasi server yang unik dan tidak dapat dipenuhi oleh penyedia PaaS. Untuk keperluan seperti ini, kita dapat menggunakan layanan cloud computing tipe Infrastructure as a Service (IaaS).

Pada IaaS, penyedia layanan hanya menyediakan sumber daya komputasi seperti prosesor, memori, dan storage yang sudah tervirtualisasi. Akan tetapi, penyedia layanan tidak memasang sistem operasi maupun aplikasi di atasnya. Pemilihan OS, aplikasi, maupun konfigurasi lainnya sepenuhnya berada pada kendali kita.

Jadi, layanan IaaS dapat dilihat sebagai proses migrasi server-server kita dari on-premise ke data center millik penyedia IaaS ini. Para vendor cloud computing lokal rata-rata menyediakan layanan model IaaS ini, dalam bentuk Virtual Private Server.

SaaS, PaaS & IaaS: Kendali dan Tanggung Jawab

Perbedaan SaaS, PaaS dan IaaS dapat dilihat dari sisi kendali atau tanggung jawab yang dilakukan oleh vendor penyedia jasa layanan cloud maupun customer. Pada gambar 2, di situ dijelaskan stack (jenjang) teknologi komputasi dari Networking naik hingga ke Application. Di situ juga dijelaskan sampai di stack mana suatu vendor layanan cloud memberikan layanannya, dan mulai dari jenjang mana konsumen mulai memegang kendali dan bertanggung jawab penuh pada stack di atasnya.

Mulai dari kanan, pada SaaS, seluruh stack merupakan tanggung jawab penyedia layanan cloud. Konsumen benar-benar hanya mengkonsumsi aplikasi yang disediakan.

Pada PaaS, penyedia layanan cloud bertanggung jawab mengelola Networking hingga Runtime. Konsumen memiliki kendali dan bertanggung jawab membuat aplikasi dan juga skema database-nya.

Pada IaaS, penyedia layanan Cloud bertanggung jawab untuk Networking hingga Virtualization. Konsumen sudah mulai bertanggung jawab untuk Operating System ke atas.

Sebagai perbandingan, di gambar juga ditunjukkan arsitektur tradisional on-premise (bukan cloud), alias semua ada di data center kita. Di sini kita bertanggung jawab untuk seluruh stack, dari Networking hingga Application.

Kesimpulan

Kesimpulannya, dengan cloud computing konsumen membebaskan diri dari tanggung jawab untuk mengelola stack sumber daya komputasi.

Levelnya mulai dari SaaS ketika kita benar-benar bebas, PaaS ketika kita masih harus membuat aplikasi, dan IaaS di mana kita juga masih harus sibuk dengan Operating System.

Ini berbeda dengan On-Premise di mana kita harus mengurus semua sendiri.

(Norman Sasono*—Kontributor)

Penulis adalah Vice President dari International Association of Software Architects (IASA) Chapter Indonesia. Saat ini bekerja sebagai Architect Advisor di Microsoft Indonesia.

Sumber Utama http://www.infokomputer.com

Penerimaan Mahasiswa IKATAN KERJA PLN

  KABAR GEMBIRA UNTUK PUTRA PUTRI TERBAIK INDONESIA! “The Future of Energy is Electricity”  Be a Global Energy and Industry’s Expert Leaders...