Bagikan melalui


Bilah Bug Keamanan SDL (Sampel)

Catatan: Dokumen sampel ini hanya untuk tujuan ilustrasi. Konten yang disajikan di bawah ini menguraikan kriteria dasar yang perlu dipertimbangkan saat membuat proses keamanan. Ini bukan daftar lengkap aktivitas atau kriteria dan tidak boleh diperlakukan seperti itu.

Silakan lihat definisi istilah di bagian ini.

Server

Silakan merujuk ke Matriks Penolakan Layanan untuk matriks lengkap skenario DoS server.

Bilah server biasanya tidak cocok ketika interaksi pengguna adalah bagian dari proses eksploitasi. Jika kerentanan Kritis hanya ada pada produk server, dan dieksploitasi dengan cara yang memerlukan interaksi pengguna serta mengakibatkan kompromi server, tingkat keparahan dapat dikurangi dari Kritis menjadi Penting sesuai dengan definisi NEAT/data tentang interaksi pengguna yang luas yang disajikan pada awal penilaian tingkat keparahan klien.

Peladen

Kritis

Ringkasan server: Cacing jaringan atau kasus yang tidak dapat dihindari di mana server "dimiliki."

  • Peningkatan hak istimewa: Kemampuan untuk menjalankan kode arbitrer atau mendapatkan hak istimewa lebih dari yang diotorisasi

    • Pengguna anonim jarak jauh

      • Contoh:

        • Akses sistem file tidak sah: penulisan sewenang-wenang ke sistem file

        • Eksekusi kode arbitrer

        • Injeksi SQL (yang memungkinkan eksekusi kode)

    • Semua pelanggaran akses tulis (AV), pelanggaran akses baca (AV) yang dapat dieksploitasi, atau luapan bilangan bulat dalam kode jarak jauh yang dapat dipanggil secara anonim

Penting

Ringkasan server: Skenario atau kasus kritis non-default di mana ada mitigasi yang dapat membantu mencegah skenario kritis.

  • Penolakan layanan: Harus "mudah dieksploitasi" dengan mengirim sejumlah kecil data atau diinduksi dengan cepat

    • Anonim

      • Serangan DoS Berkelanjutan

        • Contoh:

          • Mengirim satu paket TCP berbahaya menghasilkan Blue Screen of Death (BSoD)

          • Mengirim sejumlah kecil paket yang menyebabkan kegagalan layanan

      • DoS Sementara dengan amplifikasi

        • Contoh:

          • Mengirim sejumlah kecil paket yang menyebabkan sistem tidak dapat digunakan untuk jangka waktu tertentu

          • Server web (seperti IIS) tidak berfungsi selama satu menit atau lebih

          • Satu klien jarak jauh yang menggunakan semua sumber daya yang tersedia (sesi, memori) di server dengan membuat sesi dan membuatnya tetap terbuka

    • Terverifikasi

      • DoS Persisten terhadap aset bernilai tinggi

        • Contoh:

          • Mengirim sejumlah kecil paket yang menyebabkan kegagalan layanan untuk aset bernilai tinggi dalam peran server (server sertifikat, server Kerberos, pengendali domain), seperti ketika pengguna yang diautentikasi domain dapat melakukan DoS pada pengendali domain

  • Peningkatan hak akses: Kemampuan untuk menjalankan kode sewenang-wenang atau mendapatkan lebih banyak hak istimewa daripada yang dimaksudkan

    • Pengguna terautentikasi jarak jauh

    • Pengguna terautentikasi lokal (Server Terminal)

      • Contoh:

        • Akses sistem file tidak sah: penulisan sewenang-wenang ke sistem file

        • Eksekusi kode arbitrer

    • Semua AV tulis, AV baca yang dapat dieksploitasi, atau luapan bilangan bulat dalam kode yang dapat diakses oleh pengguna terautentikasi jarak jauh atau lokal yang bukan administrator (Skenario administrator tidak memiliki masalah keamanan berdasarkan definisi, tetapi masih masalah keandalan.)

  • Pengungkapan informasi (ditargetkan)

    • Kasus di mana penyerang dapat menemukan dan membaca informasi dari mana saja di sistem, termasuk informasi sistem yang tidak dimaksudkan atau dirancang untuk diekspos

      • Contoh:

        • Pengungkapan informasi pengidentifikasi pribadi (PII)

          • Pengungkapan PII (alamat email, nomor telepon, informasi kartu kredit)

          • Penyerang dapat mengumpulkan PII tanpa persetujuan pengguna atau secara terselubung

  • Pemalsuan

    • Entitas (komputer, server, pengguna, proses) dapat berpura-pura sebagai entitas spesifik (pengguna atau komputer) pilihannya sendiri.

      • Contoh:

        • Server web menggunakan autentikasi sertifikat klien (SSL) secara tidak benar untuk memungkinkan penyerang diidentifikasi sebagai pengguna pilihannya

        • Protokol baru dirancang untuk memberikan autentikasi klien jarak jauh, tetapi ada kelemahan dalam protokol yang memungkinkan pengguna jarak jauh berbahaya untuk dilihat sebagai pengguna yang berbeda dari pilihannya

  • Perusakan

    • Modifikasi data "aset bernilai tinggi" dalam skenario umum atau default di mana modifikasi berlanjut setelah memulai ulang perangkat lunak yang terpengaruh

    • Modifikasi permanen atau persisten dari data pengguna atau sistem apa pun yang digunakan dalam skenario umum atau default

      • Contoh:

        • Modifikasi file data aplikasi atau database dalam skenario umum atau default, seperti injeksi SQL terautentikasi

        • Keracunan cache proksi pada skenario umum atau baku

        • Modifikasi pengaturan OS atau aplikasi tanpa persetujuan pengguna dalam skenario umum atau default

  • Fitur keamanan: Melanggar atau melewati fitur keamanan apa pun yang disediakan.
    Perhatikan bahwa kerentanan dalam fitur keamanan dinilai "Penting" secara default, tetapi peringkat dapat disesuaikan berdasarkan pertimbangan lain seperti yang didokumenkan di bilah bug SDL.

    • Contoh:

      • Menonaktifkan atau melewati firewall tanpa memberi tahu pengguna atau mendapatkan persetujuan

      • Mengonfigurasi ulang firewall dan mengizinkan koneksi ke proses lain

Sedang
  • Penolakan layanan

    • Anonim

      • DoS Sementara tanpa amplifikasi dalam penginstalan default/umum.

        • Contoh:

          • Beberapa klien jarak jauh menggunakan semua sumber daya yang tersedia (sesi, memori) di server dengan membuat sesi dan membuatnya tetap terbuka

    • Terverifikasi

      • Serangan DoS yang Persisten

        • Contoh:

          • Pengguna Exchange yang masuk dapat mengirim pesan email tertentu dan menyebabkan Server Exchange crash, dan crash tersebut bukan karena AV tulis, AV baca yang dapat dieksploitasi, atau luapan bilangan bulat.

      • DoS sementara dengan amplifikasi dalam penginstalan default/umum

        • Contoh:

          • Pengguna SQL Server biasa menjalankan prosedur tersimpan yang diinstal oleh beberapa produk dan mengonsumsi 100% CPU selama beberapa menit

  • Pengungkapan informasi (ditargetkan)

    • Kasus di mana penyerang dapat dengan mudah membaca informasi tentang sistem dari lokasi tertentu, termasuk informasi sistem, yang tidak dimaksudkan/ dirancang untuk diekspos.

      • Contoh:

        • Pengungkapan data anonim yang ditargetkan

        • Pengungkapan terarah tentang keberadaan file

        • Pengungkapan yang ditargetkan dari nomor versi file

  • Pemalsuan

    • Entitas (komputer, server, pengguna, proses) dapat menyamar sebagai entitas lain yang acak dan berbeda, yang tidak bisa dipilih secara spesifik.

      • Contoh:

        • Klien mengautentikasi ke server dengan benar, tetapi server menyerahkan kembali sesi dari pengguna acak lain yang kebetulan terhubung ke server secara bersamaan

  • Pengubahan tidak sah

    • Modifikasi permanen atau persisten dari data pengguna atau sistem apa pun dalam skenario tertentu

      • Contoh:

        • Modifikasi file data aplikasi atau database dalam skenario tertentu

        • Keracunan cache proksi pada skenario tertentu

        • Modifikasi pengaturan OS/aplikasi tanpa persetujuan pengguna dalam skenario tertentu

    • Modifikasi sementara data dalam skenario umum atau default yang tidak bertahan setelah memulai ulang OS/aplikasi-/sesi

  • Jaminan keamanan:

    • Jaminan keamanan adalah fitur keamanan atau fitur/fungsi produk lain yang diharapkan pelanggan untuk menawarkan perlindungan keamanan. Komunikasi telah mengirim pesan (secara eksplisit atau implisit) bahwa pelanggan dapat mengandalkan integritas fitur, dan itulah yang menjadikannya jaminan keamanan. Buletin keamanan akan dirilis untuk kekurangan dalam jaminan keamanan yang merusak keandalan atau kepercayaan pelanggan.

      • Contoh:

        • Proses yang berjalan dengan hak istimewa "pengguna" normal tidak dapat memperoleh hak istimewa "admin" kecuali kata sandi/kredensial admin telah disediakan melalui metode yang diotorisasi dengan sengaja.

        • JavaScript berbasis Internet yang berjalan di Internet Explorer tidak dapat mengontrol apa pun sistem operasi host kecuali pengguna telah secara eksplisit mengubah pengaturan keamanan default.

Kurang Penting
  • Pengungkapan informasi (tidak ditargetkan)

    • Informasi saat eksekusi

      • Contoh:

        • Kebocoran memori heap secara acak

  • Manipulasi

    • Modifikasi sementara data dalam skenario tertentu yang tidak bertahan setelah memulai ulang OS/aplikasi

Klien

Tindakan pengguna yang luas didefinisikan sebagai:

  • "Interaksi pengguna" hanya dapat terjadi dalam skenario berbasis klien.

  • Tindakan pengguna normal dan sederhana, seperti mempratinjau email, melihat folder lokal, atau berbagi file, bukan interaksi pengguna yang luas.

  • "Ekstensif" mencakup pengguna yang menavigasi secara manual ke situs web tertentu (misalnya, mengetik di URL) atau dengan mengklik keputusan ya/tidak.

  • "Tidak luas" mencakup pengguna yang mengklik tautan email.

  • Kualifikasi NEAT (hanya berlaku untuk peringatan). Secara ditunjukkan, UX adalah:

    • Necessary (Apakah pengguna benar-benar perlu menghadapi keputusan?)

    • Explained (Apakah UX menyajikan semua informasi yang dibutuhkan pengguna untuk membuat keputusan ini?)

    • Dapat Ditindaklanjuti (Apakah ada serangkaian langkah yang dapat diambil pengguna untuk membuat keputusan yang baik dalam skenario jinak dan berbahaya?)

    • Telah diuji (Apakah peringatan telah ditinjau oleh beberapa orang, untuk memastikan orang memahami cara menanggapi peringatan?)

  • Klarifikasi: Perhatikan bahwa efek dari interaksi pengguna ekstensif bukan merupakan satu tingkat pengurangan keparahan, tetapi telah menjadi pengurangan keparahan dalam keadaan tertentu di mana frasa "interaksi pengguna ekstensif" muncul di bilah kesalahan. Tujuannya adalah untuk membantu pengguna membedakan serangan yang cepat menyebar dan dapat menyebar seperti cacing dari serangan yang melambat karena interaksi pengguna. Bilah bug ini tidak memungkinkan Anda mengurangi Elevasi Hak Istimewa di bawah Tingkat Penting karena interaksi pengguna.

Klien

Kritis

Ringkasan klien:

  • Cacing Jaringan atau skenario penjelajahan/penggunaan umum yang tak terhindarkan di mana klien "terkendali" tanpa adanya peringatan atau notifikasi.

  • Peningkatan hak istimewa (jarak jauh): Kemampuan untuk menjalankan kode sembarang atau untuk mendapatkan lebih banyak hak istimewa daripada yang dimaksudkan

    • Contoh:

      • Akses sistem file yang tidak sah: menulis ke sistem file

      • Eksekusi kode arbitrer tanpa tindakan pengguna yang luas

      • Semua AV tulis, AV baca yang dapat dieksploitasi, kelebihan beban tumpukan, atau kelebihan bilangan bulat dalam kode yang dapat dipanggil dari jarak jauh (tanpa tindakan pengguna yang luas)

Penting

Ringkasan klien:

  • Skenario penjelajahan/penggunaan umum di mana klien "dikendalikan" dengan peringatan atau notifikasi, atau melalui tindakan ekstensif tanpa notifikasi. Perhatikan bahwa ini tidak membedakan kualitas/kegunaan tampilan dan kemungkinan pengguna mungkin mengklik tampilan tersebut, tetapi hanya bahwa prompt dalam bentuk tertentu ada.

  • Peningkatan hak istimewa (jarak jauh)

    • Eksekusi kode sewenang-wenang dengan serangkaian tindakan pengguna

      • Semua AV tulis, AV baca yang dapat dieksploitasi, atau kelebihan bilangan bulat dalam kode yang dapat dipanggil jarak jauh (dengan tindakan pengguna yang signifikan)

  • Peningkatan hak istimewa (lokal)

    • Pengguna hak istimewa rendah lokal dapat meningkatkan diri mereka ke pengguna, administrator, atau sistem lokal lain.

      • Semua AV tulis, AV baca yang dapat dieksploitasi, atau luapan bilangan bulat dalam kode lokal yang dapat dipanggil

  • Pengungkapan informasi (ditargetkan)

    • Kasus di mana penyerang dapat menemukan dan membaca informasi tentang sistem, termasuk informasi sistem yang tidak dimaksudkan atau dirancang untuk diekspos.

    • Contoh:

      • Akses sistem file yang tidak sah: membaca dari sistem file

      • Pengungkapan PII

        • Pengungkapan PII (alamat email, nomor telepon)

      • Skenario rumah telepon

  • Penolakan layanan

    • Kerusakan sistem DoS memerlukan penginstalan ulang sistem dan/atau komponen.

      • Contoh:

        • Mengunjungi halaman web menyebabkan kerusakan registri yang membuat komputer tidak dapat diboota

    • Drive-by DoS

      • Kriteria:

        • Sistem DoS Tidak Diautentikasi

        • Eksposur default

        • Tidak ada fitur keamanan default atau mitigasi batas (firewall)

        • Tidak ada interaksi pengguna

        • Tidak ada audit dan proses hukuman

        • Contoh:

          • Serangan drive-by Bluetooth, sistem penolakan layanan (DoS) atau SMS di ponsel

  • Penyamaran

    • Kemampuan penyerang untuk menyajikan UI yang berbeda namun secara visual identik dengan UI yang harus diandalkan pengguna untuk membuat keputusan kepercayaan yang valid dalam skenario default/umum. Keputusan kepercayaan didefinisikan sewaktu-waktu pengguna mengambil tindakan yang mempercayai beberapa informasi sedang disajikan oleh entitas tertentu—baik sistem atau beberapa sumber lokal atau jarak jauh tertentu.

      • Contoh:

        • Menampilkan URL yang berbeda di bilah alamat browser dari URL situs yang sebenarnya ditampilkan browser dalam skenario default/umum

        • Menampilkan jendela di atas bilah alamat browser yang terlihat identik dengan bilah alamat tetapi menampilkan data palsu dalam skenario default/umum

        • Menampilkan nama file lain dalam "Ingin menjalankan program ini?" kotak dialog yang lebih besar dari file yang benar-benar akan dimuat dalam skenario default/umum

        • Menampilkan permintaan masuk "palsu" untuk mengumpulkan kredensial pengguna atau akun

  • Perusakan

    • Modifikasi permanen data pengguna atau data lain yang digunakan untuk membuat keputusan kepercayaan dalam skenario umum atau default yang tetap ada setelah OS/aplikasi dimulai ulang.

      • Contoh:

        • Keracunan cache browser web

        • Modifikasi pengaturan OS/aplikasi yang signifikan tanpa persetujuan pengguna

        • Modifikasi data pengguna

  • Fitur keamanan: Melanggar atau melewati fitur keamanan apa pun yang disediakan

    • Contoh:

      • Menonaktifkan atau melewati firewall dengan memberi tahu pengguna atau mendapatkan persetujuan

      • Mengonfigurasi ulang firewall dan mengizinkan koneksi ke proses lain

      • Menggunakan enkripsi lemah atau menyimpan kunci yang disimpan dalam teks biasa

      • Bypass AccessCheck

      • Bypass Bitlocker; misalnya tidak mengenkripsi sebagian drive

      • Bypass Syskey, cara untuk mendekode syskey tanpa kata sandi

Sedang
  • Penolakan layanan

    • DoS permanen memerlukan reboot dingin atau menyebabkan Layar Biru/Pemeriksaan Kesalahan.

      • Contoh:

        • Membuka dokumen Word menyebabkan komputer mengalami Layar Biru/Pemeriksaan Bug.

  • Pengungkapan informasi (ditargetkan)

    • Kasus di mana penyerang dapat membaca informasi tentang sistem dari lokasi yang diketahui, termasuk informasi sistem yang tidak dimaksudkan atau dirancang untuk diekspos.

      • Contoh:

        • Keberadaan file yang ditargetkan

        • Nomor versi file yang ditargetkan

  • Pemalsuan

    • Kemampuan penyerang untuk menyajikan UI yang berbeda dari tetapi secara visual identik dengan UI yang terbiasa dipercaya oleh pengguna dalam skenario tertentu. "Terbiasa dengan kepercayaan" didefinisikan sebagai apa pun yang umumnya akrab dengan pengguna berdasarkan interaksi normal dengan sistem operasi atau aplikasi tetapi biasanya tidak dianggap sebagai "keputusan kepercayaan."

      • Contoh:

        • Keracunan cache web browser

        • Modifikasi pengaturan OS/aplikasi yang signifikan tanpa persetujuan pengguna

        • Modifikasi data pengguna

Kurang Penting
  • Penolakan layanan

    • DoS Sementara memerlukan mulai ulang aplikasi.

      • Contoh:

        • Membuka dokumen HTML menyebabkan Internet Explorer lumpuh

  • Pemalsuan

    • Kemampuan penyerang untuk menampilkan UI yang secara visual identik tetapi berbeda dari UI yang merupakan bagian kecil dari skenario serangan yang lebih besar.

      • Contoh:

        • Pengguna harus pergi ke situs web "berbahaya", mengklik tombol pada kotak dialog yang dipalsukan, dan kemudian rentan terhadap kerentanan karena bug pada peramban lain.

  • Perusakan

    • Modifikasi sementara data apa pun yang tidak bertahan setelah memulai ulang OS/aplikasi.

    • Pengungkapan informasi (tidak ditargetkan)

      • Contoh:

        • Kebocoran memori tumpuk acak

Definisi Ketentuan

Dikonfirmasi
Setiap serangan yang harus melibatkan autentikasi melalui jaringan. Ini menyiratkan bahwa pencatatan harus dapat dilakukan agar penyerang dapat diidentifikasi.

anonim
Serangan apa pun yang tidak memerlukan autentikasi untuk diselesaikan.

klien
Perangkat lunak yang berjalan secara lokal pada satu komputer atau perangkat lunak yang mengakses sumber daya bersama yang disediakan oleh server melalui jaringan.

default/umum
Fitur apa pun yang aktif secara default atau yang menjangkau lebih dari 10 persen pengguna.

skenario
Fitur apa pun yang memerlukan penyesuaian khusus atau kasus penggunaan untuk diaktifkan, menjangkau kurang dari 10 persen pengguna.

server
Komputer yang dikonfigurasi untuk menjalankan perangkat lunak yang menunggu dan memenuhi permintaan dari proses klien yang berjalan di komputer lain.

Kritis
Kerentanan keamanan yang akan dinilai memiliki potensi kerusakan tertinggi.

Penting
Kerentanan keamanan yang akan dinilai memiliki potensi kerusakan yang signifikan, tetapi kurang dari Kritis.

Sedang
Kerentanan keamanan yang akan dinilai memiliki potensi kerusakan sedang, tetapi kurang dari Penting.

 Rendah
Kerentanan keamanan yang akan dinilai memiliki potensi kerusakan yang rendah.

pengungkapan informasi yang ditargetkan
Kemampuan untuk dengan sengaja memilih (target) informasi yang diinginkan.

DoS sementara
DoS sementara adalah situasi di mana kriteria berikut terpenuhi:

  • Target tidak dapat melakukan operasi normal karena serangan.

  • Respons terhadap serangan kira-kira besarnya sama dengan ukuran serangan.

  • Target kembali ke tingkat fungsionalitas normal tak lama setelah serangan selesai. Definisi yang tepat dari "segera" harus dievaluasi untuk setiap produk.

Misalnya, server tidak responsif saat penyerang terus-menerus mengirim aliran paket di seluruh jaringan, dan server kembali normal beberapa detik setelah aliran paket berhenti.

DoS sementara dengan amplifikasi

DoS sementara dengan amplifikasi adalah situasi di mana kriteria berikut terpenuhi:

  • Target tidak dapat melakukan operasi normal karena serangan.

  • Tanggapan terhadap serangan jauh lebih besar dari ukuran serangan.

  • Target kembali ke tingkat fungsionalitas normal setelah serangan selesai, tetapi membutuhkan waktu (mungkin beberapa menit).

Misalnya, jika Anda dapat mengirim paket berbahaya sebesar 10 byte dan menyebabkan respons 2048k di jaringan, Anda melakukan serangan DoS pada bandwidth dengan menguatkan efek serangan.

DoS permanen

DoS permanen adalah salah satu yang mengharuskan administrator untuk memulai, memulai ulang, atau menginstal ulang semua atau bagian sistem. Kerentanan apa pun yang secara otomatis menghidupkan ulang sistem juga merupakan DoS permanen.

Matriks Serangan Penolakan Layanan (Server)

Serangan terautentikasi vs. Anonim Bawaan/Umum vs. Skenario DoS Sementara vs. Permanen Peringkat
Terverifikasi Default/Umum Permanen Sedang
Terverifikasi Bawaan/Umum DoS Sementara dengan amplifikasi Sedang
Terverifikasi Default/Umum DoS Sementara Kurang Penting
Terverifikasi Skenario Permanen Sedang
Terverifikasi Skenario DoS Sementara dengan amplifikasi Kurang Penting
Terverifikasi Skenario DoS Sementara Kurang Penting
Anonim Bawaan/Umum Permanen Penting
Anonim Default/Umum DoS Sementara dengan amplifikasi Penting
Anonim Default/Umum DoS Sementara Sedang
Anonim Skenario Permanen Penting
Anonim Skenario DoS Sementara dengan amplifikasi Penting
Anonim Skenario DoS Sementara Kurang Penting

Penafian Konten

Dokumentasi ini bukan referensi lengkap tentang praktik SDL di Microsoft. Pekerjaan jaminan tambahan dapat dilakukan oleh tim produk (tetapi tidak harus didokumenkan) atas kebijakan mereka. Akibatnya, contoh ini tidak boleh dianggap sebagai proses yang tepat yang diikuti Microsoft untuk mengamankan semua produk.

Dokumentasi ini disediakan "apa adanya." Informasi dan tampilan yang dinyatakan dalam dokumen ini, termasuk URL dan referensi situs web Internet lainnya, dapat berubah tanpa pemberitahuan. Anda menanggung risiko menggunakannya.

Dokumentasi ini tidak memberi Anda hak hukum apa pun atas kekayaan intelektual apa pun dalam produk Microsoft apa pun. Anda dapat menyalin dan menggunakan dokumen ini sebagai referensi internal.

© 2018 Microsoft Corporation. Semua hak dilindungi undang-undang.

Berlisensi di bawahCreative Commons Atribution-NonCommercial-ShareAlike 3.0 Unported