Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Trustworthy Computing adalah inisiatif Microsoft untuk memastikan produksi kode aman. Elemen kunci dari inisiatif Komputasi Tepercaya adalah Siklus Hidup Pengembangan Keamanan Microsoft (SDL). SDL adalah praktik teknik yang digunakan bersama dengan proses rekayasa standar untuk memfasilitasi pengiriman kode aman. SDL terdiri dari sepuluh fase yang menggabungkan praktik terbaik dengan formalisasi, ukurabilitas, dan struktur tambahan, termasuk:
Analisis desain keamanan
Pemeriksaan kualitas berbasis alat
Uji penetrasi
Tinjauan keamanan akhir
Manajemen keamanan produk pasca rilis
Spesifikasi WPF
Tim teknik WPF menerapkan dan memperluas SDL, kombinasi yang mencakup aspek-aspek utama berikut:
Analisis Keamanan dan Alat Pengeditan
Pemodelan Ancaman
Pemodelan ancaman adalah komponen inti SDL, dan digunakan untuk membuat profil sistem untuk menentukan potensi kerentanan keamanan. Setelah kerentanan diidentifikasi, pemodelan ancaman juga memastikan bahwa mitigasi yang sesuai ada.
Pada tingkat tinggi, pemodelan ancaman melibatkan langkah-langkah utama berikut dengan menggunakan toko kelontong sebagai contoh:
Mengidentifikasi Aset. Aset toko kelontong mungkin mencakup karyawan, brankas, mesin kasir, dan inventaris.
Menghitung Titik Masuk. Titik masuk toko kelontong mungkin mencakup pintu depan dan belakang, jendela, dermaga pemuatan, dan unit AC.
Menyelidiki Serangan terhadap Aset menggunakan Titik Masuk. Satu kemungkinan serangan dapat menargetkan aset brankas toko kelontong melalui titik masuk AC; unit AC dapat dibongkar untuk memungkinkan brankas ditarik ke atas melalui celah tersebut dan keluar dari toko.
Pemodelan ancaman diterapkan di seluruh WPF dan mencakup hal-hal berikut:
Bagaimana pengurai XAML membaca file, memetakan teks ke kelas model objek yang sesuai, dan membuat kode aktual.
Bagaimana pegangan jendela (hWnd) dibuat, mengirim pesan, dan digunakan untuk melakukan render isi jendela.
Cara pengikatan data mendapatkan sumber daya dan berinteraksi dengan sistem.
Model ancaman ini penting untuk mengidentifikasi persyaratan desain keamanan dan mitigasi ancaman selama proses pengembangan.
Analisis Sumber dan Alat Pengeditan
Selain elemen peninjauan kode keamanan manual SDL, tim WPF menggunakan beberapa alat untuk analisis sumber dan pengeditan terkait untuk mengurangi kerentanan keamanan. Berbagai alat sumber digunakan, dan mencakup yang berikut ini:
Peringatan
Keamanan Akses Kode (CAS) tidak didukung oleh .NET modern, ini adalah konsep .NET Framework-only. Semua fungsi terkait CAS diperlakukan dengan asumsi kepercayaan penuh. Untuk informasi selengkapnya, lihat Perbedaan dengan WPF .NET - Keamanan Akses Kode.
FXCop: Menemukan masalah keamanan umum dalam kode terkelola mulai dari aturan pewarisan hingga penggunaan keamanan akses kode hingga cara mengoperasikan dengan aman dengan kode yang tidak dikelola. Lihat FXCop.
Prefiks/Prefast: Menemukan kerentanan keamanan dan masalah keamanan umum dalam kode yang tidak dikelola seperti overrun buffer, masalah penataan string, dan pemeriksaan kesalahan.
API yang Dilarang: Mencari kode sumber untuk mengidentifikasi penggunaan fungsi yang tidak disengaja yang terkenal karena menyebabkan masalah keamanan, seperti
strcpy. Setelah diidentifikasi, fungsi-fungsi ini diganti dengan alternatif yang lebih aman.
Teknik Pengujian
WPF menggunakan berbagai teknik pengujian keamanan yang meliputi:
Pengujian Kotak Putih: Penguji melihat kode sumber, lalu membuat pengujian eksploitasi.
Pengujian Blackbox: Penguji mencoba menemukan eksploitasi keamanan dengan memeriksa API dan fitur, lalu mencoba menyerang produk.
Pengujian Masalah Keamanan dari Produk Lain: Ketika relevan, masalah keamanan dari produk terkait akan diuji. Misalnya, varian yang sesuai dari sekitar enam puluh masalah keamanan untuk Internet Explorer telah diidentifikasi dan mencoba penerapannya ke WPF.
Tools-Based Pengujian Penetrasi melalui File Fuzzing: File fuzzing adalah eksploitasi dari rentang input pembaca berkas melalui berbagai masukan. Salah satu contoh di WPF tempat teknik ini digunakan adalah untuk memeriksa kegagalan pada proses decoding kode gambar.
Manajemen Kode Kritis
Untuk aplikasi browser XAML (XBAP), WPF membangun sandbox keamanan dengan menggunakan dukungan .NET Framework untuk menandai dan melacak kode penting keamanan yang meningkatkan hak istimewa (lihat metodologiSecurity-Critical dalam Strategi Keamanan WPF - Keamanan Platform). Mengingat persyaratan kualitas keamanan yang tinggi pada kode penting keamanan, kode tersebut menerima tingkat kontrol manajemen sumber tambahan dan audit keamanan. Sekitar 5% hingga 10% WPF terdiri dari kode kritis keamanan, yang ditinjau oleh tim peninjau khusus. Kode sumber dan proses check-in dikelola dengan melacak kode kritikal keamanan dan memetakan setiap entitas kritikal (yaitu metode yang berisi kode kritikal) ke status persetujuannya. Status sign off mencakup nama satu atau beberapa peninjau. Setiap build harian WPF membandingkan kode penting dengan yang ada di build sebelumnya untuk memeriksa perubahan yang tidak disetujui. Jika teknisi memodifikasi kode penting tanpa persetujuan dari tim peninjau, kode tersebut akan segera diidentifikasi dan diperbaiki. Proses ini memungkinkan penerapan dan pemeliharaan tingkat pengawasan yang sangat tinggi atas kode kotak pasir WPF.
Peringatan
XBAP memerlukan browser warisan untuk beroperasi, seperti Internet Explorer dan firefox versi lama. Browser lama ini biasanya tidak didukung pada Windows 10 dan Windows 11. Browser modern tidak lagi mendukung teknologi yang diperlukan untuk aplikasi XBAP karena risiko keamanan. Plugin yang mengaktifkan XBAP tidak lagi didukung. Untuk informasi selengkapnya, lihat Tanya jawab umum tentang aplikasi yang dihosting browser WPF (XBAP).
Lihat juga
- Keamanan
- Keamanan Kepercayaan Parsial WPF
- Strategi Keamanan WPF - Keamanan Platform
- Keamanan di .NET
.NET Desktop feedback