Wednesday, October 19, 2016

Design for Security

Design for Security melibatkan rancangan arsitektur sistem yang aman, praktek yang baik untuk desain sistem yang aman, dan termasuk fungsi untuk meminimalkan kemungkinan memberikan kerentanan ketika sistem dikerahkan.

Architectural Design

Untuk sistem patient record, sangat baik untuk menggunakan arsitektur database terpusat.
Untuk memberikan perlindungan, gunakan arsitektur berlapis dengan kritis dan lindungi
aset pada tingkat terendah dalam sistem, dengan berbagai lapisan perlindungan
di sekitar.
Untuk mengakses dan memodifikasi patient record, penyerang harus menembus tiga lapisan sistem:
  1. Platform-level protection, Tingkat kontrol teratas akses ke platform yang sistem patient recordnya berjalan. Hal ini biasanya melibatkan pengguna mengetes kesebuah komputer tertentu. Platform ini juga biasanya termasuk dukungan untuk mempertahankan integritas file pada sistem, backup, dll
  2. Application-level protection, Tingkat perlindungan berikutnya dibangun ke dalam aplikasi sendiri. Ini melibatkan pengguna dalam mengakses aplikasi, yang dikonfirmasi, dan mendapatkan otorisasi untuk mengambil tindakan seperti melihat atau memodifikasi data. dukungan manajemen integritas aplikasi-spesifik mungkin tersedia.
  3. Record-level protection, Tingkat ini dipanggil ketika akses ke catatan khusus diperlukan, dan dilibatkan dalam memeriksa bahwa pengguna berwenang untuk melaksanakan operasi yang diminta pada catatan itu.

Design Guidelines

Tidak ada aturan keras dan cepat tentang bagaimana untuk mencapai keamanan sistem. Jenis sistem yang berbeda memerlukan langkah-langkah teknis yang berbeda untuk mencapai tingkat keamanan yang dapat diterima oleh pemilik sistem. Sikap dan persyaratan yang berbeda dari kelompok pengguna sangat mempengaruhi apa yang bisa dan tidak dapat diterima.  Ada pedoman umum yang memiliki penerapan yang luas saat merancang solusi keamanan sistem, yang merangkum praktek desain yang baik untuk aman  rekayasa sistem. pedoman desain umum untuk keamanan, seperti yang dibahas, bawah, memiliki dua kegunaan utama:
  • Mereka membantu meningkatkan kesadaran tentang isu-isu keamanan dalam tim rekayasa perangkat lunak. Software insinyur sering fokus pada tujuan jangka pendek untuk mendapatkan perangkat lunak bekerja dan dikirim ke pelanggan. Sangat mudah bagi mereka untuk mengabaikan keamanan masalah. Pengetahuan tentang pedoman ini dapat berarti bahwa masalah keamanan dianggap ketika keputusan desain software yang dibuat.
  • Mereka dapat digunakan sebagai checklist review yang dapat digunakan dalam sistem validasi proses.
Ada 10 pedoman desain yang telah diturunkan dari berbagai sumber yang berbeda (Schneier, 2000; Viega dan McGraw, 2002; Wheeler,
2003), yaitu :
1. keputusan keamanan Berdasarkan kebijakan keamanan eksplisit
2. Hindari satu titik kegagalan
3. Gagal aman
4. keamanan Balance dan kegunaan
5. tindakan pengguna Log
6. Gunakan redundansi dan keragaman untuk mengurangi risiko
7. Validasi semua input
8. Pilah aset Anda
9. Desain untuk penyebaran
10. Desain untuk pemulihan

Design for Deployment


Penyebaran sistem melibatkan mengkonfigurasi perangkat lunak untuk beroperasi dalam operasional lingkungan, menginstal sistem pada komputer dalam lingkungan tersebut, dan kemudian mengkonfigurasi sistem yang diinstal dalam komputer.
Ada empat cara yang direkomendasikan untuk memasukkan dukungan penyebaran dalam suatu sistemm yaitu :
1. Masukkan dukungan untuk melihat dan menganalisis konfigurasi
2. Meminimalkan hak bawaan
3. Melokalisasi pengaturan konfigurasi
4. Menyediakan cara mudah untuk memperbaiki kerentanan keamanan


EmoticonEmoticon