Diberdayakan oleh Blogger.
RSS

You can replace this text by going to "Layout" and then "Page Elements" section. Edit " About "

Secure Programming

secure yang artinya = keamanan
sedangkan programing yang artinya = yang membuat program atau seorang individu yang membuat suatu aplikasi yang dia inginkan. 
berakti secure Programing adalah ??
 yok di baca aja selengkapnya di bawah ini :D

Secure Programming for Linux

Kolom ini menjelaskan bagaimana menulis aplikasi yang aman, melainkan berfokus pada sistem operasi Linux, tapi banyak dari prinsip-prinsip berlaku untuk sistem apapun. Dalam dunia jaringan saat ini, pengembang perangkat lunak harus tahu bagaimana menulis program yang aman, namun informasi ini tidak diketahui secara luas atau diajarkan. Ini angsuran pertama dari kolom programmer Aman memperkenalkan ide-ide dasar tentang bagaimana untuk menulis aplikasi yang aman dan membahas bagaimana mengidentifikasi persyaratan keamanan untuk aplikasi spesifik Anda. Angsuran masa depan akan fokus pada kerentanan umum yang berbeda dan bagaimana mencegah mereka.

 They're attacking your programs -- are you ready?

 Serangan komputer telah menjadi masalah yang sangat serius. Pada tahun 1997, CERT / CC melaporkan 2.134 insiden keamanan komputer dan 311 kerentanan yang berbeda, pada tahun 2002 telah meningkat menjadi 82.094 insiden dan 4.129 kerentanan. Komputer Security Institute (CSI) dan Biro San Francisco Federal Investigasi (FBI) Komputer Skuad Intrusion disurvei 503 perusahaan besar dan lembaga pemerintah pada tahun 2003 dan menemukan bahwa 92 persen dari responden melaporkan serangan. Responden diidentifikasi baik koneksi internet mereka (78 persen) dan sistem internal mereka (36 persen) sebagai sering titik serangan. 75 persen responden mengakui kerugian finansial, dan meskipun hanya 47 persen bisa menghitung kerugian mereka, orang-orang yang bisa menemukan itu lebih dari $ 200 juta.
Ada banyak alasan mengapa serangan sedang meningkat. Komputer semakin jaringan, sehingga lebih mudah bagi penyerang untuk menyerang siapa saja di dunia dengan resiko yang sangat kecil. Komputer telah menjadi mana-mana, mereka kini menguasai banyak hal nilai (membuat mereka layak menyerang). Di masa lalu, pelanggan telah cukup bersedia untuk membeli perangkat lunak tidak aman, sehingga tidak ada insentif keuangan untuk membuat perangkat lunak yang aman.Dunia elektronik sekarang menjadi tempat yang jauh lebih berbahaya. Saat ini, hampir semua aplikasi harus aplikasi yang aman. Hampir setiap aplikasi Web perlu aplikasi yang aman, misalnya, karena pengguna dipercaya dapat mengirim data kepada mereka. Bahkan aplikasi yang menampilkan atau mengedit file lokal (seperti pengolah kata) harus diamankan, karena kadang-kadang pengguna akan menampilkan atau mengedit data e-mail kepada mereka.Jika Anda mengembangkan perangkat lunak, Anda berada di medan pertempuran dan Anda perlu belajar bagaimana untuk membela diri. Sayangnya, sebagian besar pengembang perangkat lunak tidak pernah diberitahu bagaimana menulis aplikasi yang aman.Kolom ini akan membantu Anda belajar bagaimana menulis aplikasi yang aman. Ini semacam informasi jarang diajarkan di sekolah, atau di mana pun untuk hal itu. Jika Anda mengikuti kolom ini, Anda akan dapat melindungi program Anda terhadap serangan yang paling umum digunakan saat ini. Walaupun fokusnya adalah pada sistem operasi Linux (juga disebut GNU / Linux), hampir semua bahan berlaku untuk setiap sistem UNIX-like, dan sebagian besar juga berlaku untuk sistem operasi lain seperti Microsoft Windows.Untuk artikel pertama ini, saya akan mulai dengan beberapa dasar: terminologi keamanan, mengubah pola pikir Anda, dampak dari perangkat lunak sumber Free-Libre/open (floss), dan mengidentifikasi persyaratan keamanan

Changing your mindset 

 Tantangan terbesar dalam belajar bagaimana menulis perangkat lunak yang aman mengubah cara Anda berpikir tentang pengembangan perangkat lunak. Berikut adalah beberapa poin yang akan membantu:

     Paranoia adalah suatu kebajikan. Percayalah apa-apa sampai ia telah mendapatkan kepercayaan Anda. Jangan berasumsi masukan Anda mematuhi aturan Anda tergantung pada; memeriksanya. Jangan mengabaikan laporan kesalahan dari perpustakaan, sering, Anda perlu menghentikan pengolahan pada kesalahan yang tidak terduga. Jangan berasumsi bahwa program anda adalah bug gratis, membatasi program apa yang bisa dilakukan, sehingga bug cenderung menjadi kelemahan keamanan.

     Pengujian normal biasanya tidak akan menemukan kelemahan keamanan. Kebanyakan pendekatan uji menganggap bahwa pengguna mencoba untuk menggunakan program untuk membantu mereka mendapatkan pekerjaan. Dengan demikian, tes akan memeriksa bagaimana program bekerja dalam kasus "rata-rata" atau nilai maksimum, menganggap bahwa pengguna akan bekerja dalam beberapa cara "acak" atau "berguna". Sebaliknya, kelemahan keamanan sering hanya muncul dengan nilai-nilai yang sangat aneh bahwa pengujian tradisional hanya tidak akan memeriksa. Beberapa pengembang menulis kode sangat miskin dan berharap untuk menguji itu menjadi ada yang benar. Pendekatan itu hanya tidak akan menghasilkan kode yang aman, karena Anda tidak dapat membuat cukup tes untuk mewakili semua hal-hal aneh penyerang bisa dilakukan.

     Gadget (seperti firewall) dan teknologi (seperti enkripsi) tidak cukup.

     Mengidentifikasi dan belajar dari kegagalan masa lalu. Ternyata hampir semua kerentanan software disebabkan oleh satu set yang relatif kecil kesalahan umum. Jika Anda mempelajari apa kesalahan-kesalahan yang - dan bagaimana untuk menghindari mereka - perangkat lunak Anda akan jauh lebih aman. Bahkan, kolom ini akan berkonsentrasi pada bagaimana menghindari kesalahan masa lalu yang sama sehingga Anda tidak akan membuat orang-orang yang sama

 

Apa selanjutnya?Jadi, setelah Anda tahu program apa yang Anda harus lakukan, apakah itu cukup? Tidak Pembacaan sepintas daftar kerentanan keamanan terkenal (seperti Bugtraq, CERT, atau CVE) mengungkapkan bahwa saat ini, kerentanan keamanan yang paling disebabkan oleh satu set yang relatif kecil kesalahan implementasi umum. Tidak ada terminologi standar tunggal untuk kesalahan-kesalahan ini, tetapi ada frase umum seperti "gagal untuk memvalidasi masukan," "buffer overflow," "kondisi ras," dan seterusnya. Sayangnya, sebagian besar pengembang tidak tahu apa kesalahan-kesalahan umum, dan mereka mengulangi kesalahan orang lain telah dibuat sebelum mereka.Angsuran masa depan kolom ini akan menyelidiki apa kesalahan-kesalahan umum, dan yang lebih penting, bagaimana untuk menghindari membuat mereka. Dalam banyak kasus, cara untuk menghindari kesalahan adalah baik halus dan sederhana - tetapi jika Anda tidak tahu bagaimana untuk menghindari kesalahan, Anda mungkin akan mengulanginya.Dalam kolom ini, saya biasanya tidak akan mencoba untuk memisahkan berbagai jenis aplikasi (seperti "aplikasi Web," "komponen infrastruktur," "aplikasi lokal," atau "aplikasi setuid"). Alasannya? Aplikasi saat ini semakin saling berhubungan, terbuat dari berbagai bagian. Akibatnya, itu sangat mungkin bahwa "tunggal" aplikasi Anda mungkin memiliki bagian yang berbeda, masing-masing yang berbeda! Sebaliknya, saya pikir lebih baik untuk belajar bagaimana mengembangkan aplikasi yang aman dalam situasi apapun, dan kemudian perhatikan ketika pedoman khusus berlaku.Angsuran berikutnya akan mulai dengan meliputi bagaimana untuk memvalidasi input. Ini lebih sulit daripada kedengarannya. Sebagai contoh, kita akan melihat mengapa mencari input yang salah adalah kesalahan, dan bagaimana penyerang sering dapat menyelinap di angka negatif ilegal tanpa menggunakan "-" karakter. Kemudian topik akan mencakup menghindari buffer overflows, meminimalkan hak istimewa, dan menghindari kondisi lomba. Ini akan memakan waktu beberapa artikel untuk menutupi kesalahan umum, tetapi dengan mengikuti kolom ini, Anda akan dapat menghindari kesalahan yang bertanggung jawab untuk hampir semua kerentanan perangkat lunak saat ini 

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar