Permukaan serangan adalah total kumpulan titik tempat pengguna tidak berwenang dapat mencoba masuk ke sistem, mengekstrak data darinya, atau menyebabkan kerugian.
Permukaan serangan sering digunakan sebagai indikator kasar tentang tingkat eksposur suatu sistem. Permukaan serangan yang lebih kecil berarti lebih sedikit cara bagi penyerang untuk masuk, sehingga menguranginya merupakan prinsip inti dalam desain yang aman. Namun, perlu dicatat bahwa permukaan serangan yang lebih kecil tidak mengurangi kerusakan yang dapat dilakukan penyerang setelah mereka berhasil membobol sistem. Hal ini hanya menurunkan jumlah cara yang mungkin mereka gunakan untuk masuk.
Untuk menemukan cara masuk, penyerang sering kali hanya membutuhkan satu titik yang rentan. Dalam upaya yang lebih canggih, mereka dapat terlebih dahulu memetakan sistem, mencantumkan perangkat dan koneksinya, lalu mencari kelemahan pada setiap node sebelum memilih tempat untuk menyerang.
Mengurangi permukaan serangan adalah cara umum untuk membangun sistem yang lebih aman. Beberapa langkah dasar yang dapat membantu meliputi:
Menjalankan lebih sedikit kode: lebih sedikit baris kode umumnya berarti lebih sedikit vektor serangan potensial.
Membatasi titik masuk: lebih sedikit cara untuk mengakses sistem cenderung menyisakan lebih sedikit celah bagi pengguna tidak berwenang.
Menonaktifkan fitur yang tidak diperlukan: menonaktifkan layanan yang hanya digunakan oleh sejumlah kecil pengguna menghapus fungsionalitas yang sebaliknya dapat menjadi sasaran penyerang.
Jika diterapkan bersama, praktik ini membantu menjaga sistem tetap lebih ringkas dan biasanya lebih tahan terhadap kompromi, meskipun tidak ada pendekatan yang dapat menghilangkan risiko sepenuhnya.