Sebelum sebuah organisasi dapat mengidentifikasi ancaman keamanan secara menyeluruh, mereka harus memahami bagaimana sistem bekerja. Banyak kerentanan muncul bukan karena kelemahan pada satu komponen, melainkan akibat hubungan antar komponen yang tidak dipahami dengan baik. Oleh karena itu, proses threat modelling umumnya diawali dengan membuat Data Flow Diagram (DFD) untuk memetakan perjalanan data di dalam sistem.

Data Flow Diagram membantu tim pengembang, arsitek sistem, dan praktisi keamanan melihat bagaimana informasi bergerak dari satu komponen ke komponen lainnya. Diagram ini tidak hanya menunjukkan aliran data, tetapi juga memperlihatkan proses yang mengolah data, lokasi penyimpanan, serta pihak yang berinteraksi dengan sistem. Dengan gambaran tersebut, tim dapat lebih mudah menemukan titik yang berpotensi menjadi sasaran serangan.

Pembuatan DFD bukan sekadar dokumentasi teknis, melainkan bagian penting dari proses analisis ancaman. Diagram yang baik akan mempermudah identifikasi trust boundary, jalur komunikasi, serta komponen yang memerlukan perlindungan tambahan sebelum sistem diimplementasikan.

1. Apa Tujuan Membuat Data Flow Diagram?

Data Flow Diagram digunakan untuk memberikan gambaran mengenai bagaimana data bergerak di dalam sistem.

Melalui diagram ini, tim dapat memahami:

  • asal data;
  • proses yang mengolah data;
  • lokasi penyimpanan data;
  • tujuan pengiriman data;
  • hubungan antar komponen.

Informasi tersebut menjadi dasar dalam proses identifikasi ancaman.

2. Persiapan Sebelum Membuat DFD

Sebelum mulai menggambar diagram, kumpulkan informasi mengenai sistem yang akan dianalisis.

Beberapa hal yang perlu dipahami meliputi:

  • tujuan sistem;
  • arsitektur aplikasi;
  • komponen utama;
  • layanan yang digunakan;
  • integrasi dengan sistem lain;
  • alur proses bisnis.

Persiapan yang baik akan menghasilkan diagram yang lebih akurat.

3. Langkah-Langkah Membuat Data Flow Diagram

Langkah 1 – Identifikasi Entitas Eksternal

Mulailah dengan menentukan siapa atau apa yang berinteraksi dengan sistem.

Contohnya:

  • pengguna;
  • administrator;
  • aplikasi seluler;
  • layanan pihak ketiga;
  • sistem pembayaran;
  • penyedia layanan cloud.

Entitas ini menjadi sumber atau tujuan data.

Langkah 2 – Tentukan Proses Utama

Selanjutnya, identifikasi proses yang mengolah data di dalam sistem.

Misalnya:

  • login pengguna;
  • validasi transaksi;
  • pemrosesan pembayaran;
  • pengelolaan data pelanggan;
  • pengiriman notifikasi.

Setiap proses digambarkan sebagai komponen yang menerima dan menghasilkan aliran data.

Langkah 3 – Tentukan Data Store

Identifikasi seluruh tempat penyimpanan data.

Contohnya:

  • basis data pelanggan;
  • penyimpanan dokumen;
  • penyimpanan cloud;
  • cache aplikasi;
  • sistem arsip.

Data store menunjukkan lokasi informasi disimpan sebelum atau sesudah diproses.

Langkah 4 – Gambar Aliran Data

Hubungkan seluruh komponen menggunakan panah yang menunjukkan arah perpindahan data.

Pastikan setiap aliran diberi nama yang jelas agar mudah dipahami, misalnya:

  • permintaan login;
  • data transaksi;
  • token autentikasi;
  • informasi pelanggan;
  • hasil pembayaran.

Aliran data harus mencerminkan kondisi sistem yang sebenarnya.

Langkah 5 – Tandai Trust Boundary

Setelah seluruh alur selesai digambar, identifikasi bagian yang memisahkan lingkungan dengan tingkat kepercayaan berbeda.

Sebagai contoh:

  • pengguna ke aplikasi;
  • internet ke server internal;
  • aplikasi ke layanan cloud;
  • komunikasi dengan sistem pihak ketiga.

Trust boundary merupakan salah satu titik utama dalam analisis ancaman.

4. Menggunakan DFD untuk Analisis Ancaman

Setelah Data Flow Diagram selesai dibuat, proses threat modelling dapat dimulai.

Tim keamanan dapat mengevaluasi setiap komponen dengan mengajukan pertanyaan seperti:

  • Apakah data telah dienkripsi?
  • Apakah pengguna telah diautentikasi?
  • Apakah input telah divalidasi?
  • Apakah kontrol akses sudah diterapkan?
  • Apakah komunikasi antar layanan menggunakan protokol yang aman?

Pertanyaan-pertanyaan tersebut membantu menemukan kelemahan sebelum sistem digunakan.

5. Kesalahan yang Sering Terjadi Saat Membuat DFD

Beberapa kesalahan yang sering ditemukan antara lain:

  • menggambar diagram yang terlalu rumit;
  • mengabaikan layanan pihak ketiga;
  • tidak menampilkan seluruh aliran data;
  • lupa menandai trust boundary;
  • tidak memperbarui diagram setelah sistem berubah.

Kesalahan tersebut dapat menyebabkan ancaman penting tidak teridentifikasi selama proses threat modelling.

6. Contoh Penerapan

Sebuah perusahaan mengembangkan aplikasi e-commerce yang terdiri atas aplikasi web, layanan autentikasi, API pembayaran, dan basis data pelanggan.

Tim membuat Data Flow Diagram dengan menggambarkan hubungan antara pelanggan, aplikasi web, layanan backend, sistem pembayaran, dan penyimpanan data.

Melalui diagram tersebut, mereka menemukan bahwa komunikasi antara aplikasi dan API pembayaran melewati trust boundary sehingga memerlukan autentikasi yang lebih kuat serta enkripsi data selama proses pertukaran informasi.

Selain itu, DFD juga membantu tim menemukan bahwa beberapa permintaan pengguna belum melalui proses validasi yang memadai. Temuan tersebut kemudian digunakan sebagai dasar untuk memperbaiki desain keamanan aplikasi sebelum layanan dioperasikan.

7. Data Flow Diagram Harus Menjadi Dokumen yang Selalu Diperbarui

Data Flow Diagram bukan dokumen yang dibuat sekali lalu disimpan.

Setiap perubahan pada arsitektur aplikasi, penambahan fitur, migrasi ke cloud, atau integrasi dengan layanan baru dapat mengubah alur data di dalam sistem.

Oleh karena itu, DFD perlu diperbarui secara berkala agar tetap mencerminkan kondisi sistem yang sebenarnya dan dapat digunakan sebagai dasar analisis ancaman yang akurat.

Penutup

Membuat Data Flow Diagram merupakan salah satu langkah paling penting dalam proses threat modelling. Dengan memetakan bagaimana data mengalir, diproses, dan disimpan, organisasi memperoleh pemahaman yang lebih baik mengenai cara kerja sistem serta titik-titik yang berpotensi menjadi sasaran serangan.

Selain membantu mengidentifikasi ancaman, DFD juga mempermudah komunikasi antara pengembang, arsitek sistem, dan tim keamanan karena seluruh pihak memiliki gambaran yang sama mengenai aliran data dalam aplikasi. Ketika disusun dengan baik dan diperbarui secara berkala, Data Flow Diagram menjadi fondasi yang kuat untuk membangun sistem yang lebih aman, andal, dan siap menghadapi perkembangan ancaman siber.