Kamis, 11 Desember 2014

SDL AGILE

SDL AGILE


Awalnya sebuah produk database di dalam pengembangan yang dibentuk dalam sebuah team dengan waktu sekitar 4 minggu yang harus ditulis dengan bahasa C# dan ASP.NET. layanan windows mereka dapat diproses dalam sebuah web aplication. layanan ini awalnya ditulis 3 tahun lalu dengan sekitar 11rb kode C++ yang begitu kompleks.
PengInputan web aplikasi sebagian ada yang tidak penting,karena tidak menawarkan dari sisi antar muka oleh admin dari jarak jauh. Aplikasi ini  juga menggunakan kontrol activeX kecil yg di tulis dalam c++.
Backlog (umumnya mengacu dari akumulasi dari waktu ke waktu ) produk yang kita kumpulkan dari 45 carita dari si pengguna, 21 di antaranya adalah  menceritakan tentang prioritas yang tinggi, 10 pengguna menceritakan tentang prioritas yang normal dan 14 adalah prioritas yang rendah. Selama fase perencanaan, 10 cerita pengguna dipilih dalam langkah cepat, 3 prioritas dengan prioritas tinggi, 3 prioritas lagi menengah, dan 4 ( sisanya ) adalah prioritas rendah

Pada sesi ini, tim telah menambahkan teknologi untuk masing" persyaratan untuk pembuatan SDL. produk yang digunakan untuk manajemen dan menggunakan modul asli, tim juga bekerja dalam me-managed code dalam sesi ini, sehingga tugas untuk  mengambil langkah cepat untuk layanan online berhasil di tambahkan.

Karena ini sebagai bantu loncatan pertama dimana tim menggunakan proses SDL - Angile, cerita dari prioritas si pengguna juga ditambahakan  untuk melengkapi beberapa persyaratan ( misal pelacakan dalam mendaftarkan proyek dalam sistem keamanan, untuk menciptakan sebuah bentuk privasi ( khusus ), dan juga untuk mengidentifikasi suatu  privasi respn orang, dan program keamanan.satu dari prioritas yang tinggi juga  di tambahkan untuk mengubah dalam membangun proses sebuah integrasi dalam permintaan SDL, dalam setiap pembangunan yang di minta ( menggunakan SDL yang diminta, disusun dan penanda yang bnyk, dan integrasi oleh peraturan keamanan FxCop ).

akhirnya, tim juga menambahkan dalam prioritas tinggi untuk tugas yang kosong ( PR ) untuk penyelesaian dalam langkah yang cepat. dalam langkah cepat ini tim memilih untuk menambahkan tugas dan juga menjalankan rencana untuk sebuah anaslisa  serangan antarmuka.

langkah cepat ini akhirnya dimulai, dan dua orang tim mengambil tugas membangun model ancaman untuk fitur yang akan di kembangkan ini. Masalah ini memiliki banyak masalah yaitu bahwa tidak ada yang tahu bagaimana pembangunan sebuah model, jadi 2 tim ini melihat dan membaca bab pemodelan ancaman di SDL buku ke 2 dan juga tentang seri Adam stack tentang posting pemodelan ancaman. dalam informasi tersebut mereka mendapatkan modal yang cukup untuk melakukan tugas pemodelan ancaman. setelah model ancaman dibangun tim mengungkapkan kerentanan kritis database
berisi data yang sensitir ( nama pengguna,informasi komputer, informasi pencari dan alamat IP) dan teryata bahwa data tersebut tidak lepas dari ancaman. karena data yang sensitif, dan bahwa  si penyerang ( hacker ) atau orang yang tidak berkepentingan bisa mengakses melalui potensi kerentanan SQL injection.


Security Development lifecycle untuk perkembangan Agile
Analisis
Mengaplikasikan kerja SDL, sebagai batu loncatan
seperti slide sebelumnya memfokuskan sesi permintaan / persyaratan khusus untuk SDL-Agile, di sesi ini kita berfokus pada lembar kerja yg terkait dengan SDL, dan bagaimana diterapkan dalam bagian Agile / kerangka sistem

Keamanan dalam pendidikan
di dalam anggota atau tim setidaknya harus menyelesaikan satu pelatihan khusus dalam keamanana setiap tahun. jika dalam presentase proyek hanya mencapai 20% dari anggota / tim yang tidak mencapai / diluar sesuai persyaratan yang tidak di negosiasi ( di tawar ), maka dinyatakan gagal  ( karena konsukensi gagal, maka produk tidak dapat di relasasikan ).sebaiknya konsultasikan pemimpin anda untuk memilih daftar anggota khusus yang dapat memenuhi syarat sebagai pelatihan SDL. Anda juga dapat berkonsultasi terhadap jaringan SDL untuk pelatihan khursus agar dapat direkomendasikan.
selain itu, dalam berbagai hal yang telah dijelaskan, sebagai penguji harus melakukan tugas yang berhubungan dengan keamanan atau sistem SDL, yang seharusnya memperoleh pengetahuan yang relevan sebelum melakukan tugas  pada kegiatan yang rumit. dalal hal ini, relevan yang dimaksud sebagai konsep yang berhubungan dengan fitur yang telah dikembangkan seperti :
Aplikasi yang berbasis Web
                kemudahan dalam Cross-Site scripting (XSS)
                kemudahan dalam SQL Injection
Aplikasi Database :
                kemudahan SQL injection
Aplikasi C dan C++
                Buffer overflows
                Integer overflows

Dapat mengerti Semua Bahasa Pemrograman
                Input Validation ( Memasukan Validasi )
                Bahasa yang sering / khsus ( PHP,Java,C# )


LOGICAL DESIGN
Alat dan Otomatisasi
Alat untuk mengotomatisasi kerja dalam keamanan sangatlah penting sebagai tujuan keberhasilan untuk proses security karena semakin anda dapat mengotomatisasi pekerjaan  yang diperlukan untuk dapat memenuhi persyaratan, maka kemanan juga menjadi lebih muga, dan jika dibantu dengan Tools yang daat mengurangi upaya untuk berkembangnya usaha dari  permintaan pembangunan yang berlebihan. ketika dalam keamanan ikut terlibat, bukan tidak lagi Tools yang sebagai pengganti manusia akan dapat memindai suatu keamanan dengan banyaknya kode tanpa kenal lelah. tapi yang perlu di ingat adalah bahwa Tools hanya menjalankan, bukan untuk membuat software produk yang dapat menjamin keamananya dengan penuh.

Di dalam SDL-Agile juga perlu memerlukan sebuah Tools, berikut untuk dapat dijalankan seminimal mungkin dan merekomendasikan bahwa sistem ini akan beroperasi setiap hari dalam pembangunanya dan juga pemrosesan, diantaranya adalah :
NET.Code :
                CAT.NET ( berlaku untuk aplikasi ASP.NET saja )
                FxCop versi 1.35 atau lainya ( ini adalah peraturan standar dalam keamanan )
Native Code :
                PREFast ( menganalisis di dalam Microsoft Visual Studio )


Model Ancaman : Landasan dari SDL

Pada point tertentu, SDL memiliki berbagai model ancaman yang harus digunakan sebagai dasar untuk produk. apakah ini merupakan produk baru atau sudah dalam pengembangan, model ancaman harus dibangun sebagai bagian dari pekerjaan desain dalam pembuatan yang cepat. proses pemodelan seharusnya dapat timeboxnya dan  terbatas hanya bagian dari produk yang saat ini sedang dalam pengembangan.

Model ancaman merupakan bagian yang penting dalam mengamankan produk karena model
ancaman baik membantu / menganalisa untuk :
Menentukan masalah desain keamanan potensial.
Analisis dalam serangan Drive dan komponen" yang paling beresiko
Pemrosesan dalam pengujian Drive

Dalam setiap langkah, model ancaman harus diperbarui untuk melakukan fitur terbaru atau penambahan' tertentu saja. model ancaman juga harus memperbarui sebuah perubahan desain yang signifikan, bahkan jika fungsi tersebut tetap sama.

Ancaman Pemodelan Perangkat SDL

Meskipun tidak secara resmi diperlukan sebagai bagian SDL ( baik Agile atau SDL classic ) banyak tim internal microsoft menggunakan SDL perangkat ancaman pemodelan dengan sukses besar. Perangkat Ancaman Pemodelan dirancang khusus sebagai pengembang dan arsitek yang  belum tentu memiliki keahlian keamanan.

Memulai Model ancaman untuk proyek yang ada
Jika tim Agile mengadopsi SDL-Agile seperti yang dijelaskan pada dokumen ini, sementara produk sedang dalam pembangunan /proses, makan model ancaman perlu dibangun untuk produk saat ini,tapi sebagai tim yang praktis. minimalis, tapi berguna, model ini dibangun dengan menganalisis titik masuk yang beresiko tinggi dan juga data didalam sistem. hal berikut ini harus diidentifikasi dan model ancaman yang dibangun disekitar titik masuk di dalam data :  mendeteksi akhir dari jaringan yg digunakan dikonfirmasi dari titik akhir lokal untuk proses yang lebih tinggi  Sensitif, data rahasia, atau pribadi yang diadakan di layanan data yang digunakan di dalam aplikasi






Menggunakan sistem yang akurat untuk menganalisis dan mengukur kode yang tidak menjamin adanya resiko di dalam bug

indikator penting dalam keamanan yang dapat dilihat banyaknya bug adalah di dalam factor usia keamanan. berdasarkan pengalaman atau pengembangan, semakin tua sistem ( jika tidak up to date ), semakin tinggi jumlah bug yang  menggangu didalamnya. jika proyek anda memiliki sejumlah bug, anda harus mencari ke mudahan dalam sistem yang memungkinkan. hal ini adalah sebuah tujuan dalam keamanan. tujuan dari dorongan keamanan microsoft adalah untuk membawa sistem yang up to date dalam waktu yang relatif terhadap lamanya sebuah proyek.

Perhatikan bahwa kemananan disini untuk memperbaiki seberapa buruk bug yang ada di dalam sistem anda banyak bug keamanan yang ditemukan dalam sistem dengan koneksi atau dalam kode yang menangani data  yang sensitif, bug ini tidak hanya harus segera diperbaiki, tapi juga lonjakan untuk dapat menyisir kode agar lebih teliti dalam menganalisa keamanan dalam menganalisis sebuah bug.
Untuk contoh analisis yang dilakukan selama pemasukan dari lonjakan meliputi :
  All Code : Cari kegagalan validasi yang mengarah lamanya dalam pencarian password dan penanganan key yang mengacu dalam lemahnya algoritma kriptografi.
 Web Code :  mencari kerentanan yang disebabkan oleh pengguna masukan, seperti CSS
 Kode Database : mencari kerentanan SQL injection
 Aman jika untuk Scripting kontrol ActiveX : Tinjau lagi untuk C/C++ jika terjadi kebocoran informasi dan   operasi yang berbahaya.


Tinjauan akhir terhadap keamanan

Akhir dari tinjauan keamanan dilakukan dengan metode waterfall SDL yang diperlukan sebagau akhir dari setiap proses cepat agile. namun, SDL agile dibatasi dalam ruang lingkup - penasihat kamanan  hanya perlu meninjau antara lain :
-          Semua permintaan yang begitu cepat haruslah segera diselesaikan, atau pengecualian persyaratan yang telah diberikan.
-          Setidaknya satu permintaan yang kosong memiliki kategori yang lengkap ( jika pengecualian tela diberikan )
-          Tidak ada persyaratan yang melebihi batas waktu ( atau pengecualian yang ditetapkan )
-          Tidak ada keamanan bug yang terbuka dan jatuh diambang keparahan.

Beberapa tugas yang mungkin memerlukan upaya manual sebagai penasihat keamanan untuk
memastikan bahwa mereka telah selesai ( misal, model yang telah ditinjau), tetapi secara
umum, SDL-Agile jauh lebih ringan dari pada SDL - Clasic,

 

Tidak ada komentar:

Posting Komentar