Semakin berkembang sebuah sistem, semakin banyak pula komponen yang saling terhubung. Aplikasi modern tidak lagi hanya terdiri dari satu server dan satu basis data, tetapi juga melibatkan API, layanan cloud, microservices, aplikasi seluler, container, hingga integrasi dengan berbagai layanan pihak ketiga. Setiap komponen yang dapat diakses atau berinteraksi dengan sistem berpotensi menjadi jalan masuk bagi penyerang.

Kumpulan seluruh titik yang dapat menjadi sasaran serangan dikenal sebagai attack surface atau permukaan serangan. Semakin luas attack surface, semakin besar pula peluang penyerang menemukan celah untuk memperoleh akses ke sistem. Oleh karena itu, salah satu tujuan utama threat modelling adalah membantu organisasi mengenali attack surface sejak tahap perancangan agar risiko dapat dikurangi sebelum sistem digunakan.

Dengan memahami attack surface, tim pengembang dan tim keamanan dapat menentukan komponen mana yang paling membutuhkan perlindungan, mengurangi layanan yang tidak diperlukan, serta menerapkan kontrol keamanan pada area yang memiliki tingkat risiko tertinggi.

1. Apa Itu Attack Surface?

Attack surface adalah seluruh titik pada sebuah sistem yang berpotensi dimanfaatkan oleh penyerang untuk memperoleh akses atau melakukan tindakan yang merugikan.

Attack surface tidak hanya mencakup aplikasi, tetapi juga berbagai komponen pendukung yang terhubung dengan sistem.

Contohnya meliputi:

  • halaman web;
  • API;
  • aplikasi seluler;
  • layanan cloud;
  • basis data;
  • layanan jaringan;
  • akun pengguna;
  • perangkat Internet of Things (IoT);
  • integrasi dengan layanan pihak ketiga.

Semakin banyak komponen yang dapat diakses, semakin luas pula attack surface yang harus diamankan.

2. Mengapa Attack Surface Penting dalam Threat Modelling?

Threat modelling bertujuan menemukan ancaman sebelum terjadi insiden keamanan.

Agar proses tersebut efektif, organisasi perlu mengetahui seluruh bagian sistem yang berpotensi menjadi sasaran serangan.

Dengan mengidentifikasi attack surface, organisasi dapat:

  • memahami seluruh jalur yang dapat dimanfaatkan penyerang;
  • memprioritaskan area yang memiliki risiko tertinggi;
  • mengurangi layanan yang tidak diperlukan;
  • meningkatkan efektivitas pengamanan sistem;
  • mendukung proses analisis ancaman secara menyeluruh.

Pendekatan ini membantu tim keamanan memusatkan perhatian pada area yang benar-benar membutuhkan perlindungan.

3. Jenis-Jenis Attack Surface

Attack Surface Digital

Merupakan seluruh komponen digital yang dapat diakses melalui jaringan.

Contohnya:

  • situs web;
  • API;
  • layanan cloud;
  • server;
  • basis data;
  • layanan autentikasi.

Attack Surface Fisik

Mencakup perangkat keras yang dapat diakses secara langsung, seperti:

  • server;
  • komputer pengguna;
  • perangkat jaringan;
  • perangkat IoT.

Attack Surface Manusia

Faktor manusia juga merupakan bagian dari attack surface.

Contohnya:

  • pengguna yang kurang memahami keamanan;
  • administrator dengan hak akses tinggi;
  • karyawan yang menjadi target rekayasa sosial;
  • mitra kerja yang memiliki akses ke sistem.

Pendekatan keamanan yang baik perlu mempertimbangkan ketiga jenis attack surface tersebut.

4. Cara Mengidentifikasi Attack Surface dengan Threat Modelling

Memahami Arsitektur Sistem

Langkah pertama adalah mempelajari seluruh komponen yang membentuk sistem.

Analisis dilakukan terhadap aplikasi, server, jaringan, layanan cloud, dan integrasi eksternal.

Membuat Data Flow Diagram

Data Flow Diagram membantu memperlihatkan bagaimana data bergerak di dalam sistem.

Melalui diagram ini, tim dapat menemukan berbagai jalur komunikasi yang menjadi bagian dari attack surface.

Mengidentifikasi Entry Point

Seluruh titik masuk ke sistem perlu dicatat.

Misalnya:

  • halaman login;
  • API;
  • formulir unggah berkas;
  • layanan administrasi;
  • koneksi jaringan.

Setiap entry point merupakan bagian dari attack surface.

Menentukan Trust Boundary

Perhatikan setiap perpindahan data yang melewati batas kepercayaan.

Bagian ini sering menjadi target utama penyerang karena melibatkan komunikasi antara lingkungan dengan tingkat kepercayaan yang berbeda.

Mengevaluasi Ancaman

Setelah seluruh attack surface berhasil dipetakan, tim mulai mengidentifikasi ancaman yang mungkin terjadi pada setiap komponen.

Tahap ini dapat menggunakan metode seperti STRIDE, Attack Tree, maupun MITRE ATT&CK.

5. Strategi Mengurangi Attack Surface

Beberapa langkah yang dapat dilakukan untuk memperkecil attack surface antara lain:

  • menonaktifkan layanan yang tidak digunakan;
  • membatasi akses ke sistem;
  • menerapkan autentikasi multifaktor;
  • memperkuat kontrol akses;
  • melakukan pembaruan perangkat lunak secara rutin;
  • menghapus akun yang tidak lagi digunakan;
  • memantau aktivitas sistem secara berkala.

Semakin sedikit titik yang dapat dimanfaatkan penyerang, semakin kecil pula peluang terjadinya serangan.

6. Contoh Penerapan

Sebuah perusahaan mengembangkan platform e-commerce yang terdiri atas aplikasi web, aplikasi seluler, API publik, layanan pembayaran, dan beberapa layanan microservices.

Dalam proses threat modelling, tim memetakan seluruh attack surface menggunakan Data Flow Diagram dan inventaris aset.

Hasil analisis menunjukkan bahwa terdapat beberapa API yang tidak lagi digunakan tetapi masih dapat diakses dari internet. Selain itu, ditemukan panel administrasi yang belum dibatasi aksesnya berdasarkan alamat IP.

Perusahaan kemudian menonaktifkan API yang sudah tidak digunakan, memperkuat autentikasi administrator, menerapkan pembatasan akses pada panel administrasi, dan meningkatkan pemantauan terhadap aktivitas API yang masih aktif.

Langkah tersebut berhasil mengurangi attack surface sekaligus meningkatkan keamanan aplikasi secara keseluruhan.

7. Attack Surface Harus Dievaluasi Secara Berkelanjutan

Attack surface bukan sesuatu yang bersifat tetap.

Setiap penambahan fitur, integrasi layanan baru, migrasi ke cloud, atau perubahan arsitektur dapat menciptakan titik serangan baru.

Oleh karena itu, organisasi perlu melakukan evaluasi attack surface secara berkala sebagai bagian dari proses threat modelling dan pengembangan perangkat lunak.

Pendekatan ini membantu memastikan bahwa sistem tetap memiliki tingkat keamanan yang sesuai meskipun terus berkembang.

Penutup

Attack surface menggambarkan seluruh titik yang dapat dimanfaatkan penyerang untuk berinteraksi dengan sebuah sistem. Semakin luas permukaan serangan, semakin besar pula peluang munculnya ancaman yang dapat memengaruhi keamanan aplikasi maupun infrastruktur. Oleh sebab itu, memahami attack surface merupakan langkah penting dalam proses threat modelling.

Dengan memetakan seluruh komponen, jalur komunikasi, entry point, dan trust boundary, organisasi dapat mengenali area yang paling berisiko serta menerapkan perlindungan yang lebih tepat sasaran. Ketika dilakukan secara berkala, analisis attack surface tidak hanya membantu mengurangi peluang serangan, tetapi juga mendukung pembangunan sistem yang lebih aman, tangguh, dan siap menghadapi perubahan teknologi maupun ancaman siber yang terus berkembang.