Widget HTML Atas


ZAP untuk Semua

Ringkasan Presentasi ZapCon 2022 oleh Tim Goldman Sachs



Pembicara

1. Venkat - Insinyur Keamanan dan Rekanan di Goldman Sachs

   - Latar belakang profesional: Memulai sebagai spesialis keamanan, bekerja terutama pada model statistik di bidang pembelajaran mesin industri perawatan kesehatan.

   - Keterlibatan: Menguji alat dasbor Sara selama 3-4 tahun terakhir.

   - Minat pribadi: Atlet triatlon pemula dan pianis yang penuh harapan.

  

2. Ved - Pemimpin Tim Dash Global di Goldman Sachs

   - Perjalanan profesional: Dimulai sebagai pengembang Android, beralih ke keamanan yang berfokus pada pengujian pena untuk berbagai platform, tinjauan desain, tinjauan arsitektur keamanan, dan akhirnya ke ruang DevSecOps.

   - Minat pribadi: Pelukis, pengelana, dan petualang.


Poin Penting

1. Tujuan Sesi:

   - Untuk berbagi masalah yang mendorong Goldman Sachs mengembangkan aplikasi/proyek tertentu.

   - Diskusikan solusi, implementasi dan arsitektur, inisiatif pengguna akhir, dan proyek masa depan.


2. Mengapa Menggunakan ZAP di Goldman Sachs:

   - Alat yang ada tidak menawarkan penyesuaian yang diinginkan.

   - Goldman Sachs bertujuan menyempurnakan pemindai untuk mendeteksi kerentanan khusus pada aplikasi mereka.

   - Memerlukan solusi terukur untuk memperluas kemampuan pemindaian mereka (dari 700 menjadi 1000 aplikasi potensial dalam waktu dekat).

   - Keinginan untuk berintegrasi dengan solusi hilir seperti layanan tiket dan data lake. ZAP diidentifikasi sebagai dapat disesuaikan untuk integrasi tersebut.

   - Metode pemindaian saat ini di Goldman Sachs mencakup pemindaian terjadwal, pemindaian ad hoc, dan pemindaian berbasis peristiwa.


3. Ikhtisar Arsitektur:

   - Mengabaikan GUI untuk otomatisasi lengkap; lebih menyukai pendekatan baris perintah yang lebih cepat.

   - Memanfaatkan pekerjaan GitLab dengan file konfigurasi (application list.json) yang merinci kriteria pemindaian, seperti URL titik akhir, kredensial autentikasi, jenis pemindaian, dan informasi daftar putih potensial.

   - Disebutkan pemindaian terkontrol menggunakan pengaturan file tertentu.


Presentasi tersebut tampaknya memberikan wawasan tentang alasan Goldman Sachs memilih ZAP, persyaratan spesifiknya, dan gambaran sekilas arsitektur penerapannya.


4. Arsitektur & Penerapan:

- File List.json Aplikasi: Berfungsi sebagai file konfigurasi dengan informasi tentang URL titik akhir, detail autentikasi, jenis pemindaian, dan informasi daftar putih potensial.

- GitLab Runner: Menggunakan Application List.json untuk menerapkan konfigurasi ke setiap pod Kubernetes.

- Pod Kubernetes: Setiap pod berfungsi sebagai pemindai terpisah. Jumlah mereka dapat disesuaikan berdasarkan kebutuhan organisasi.

- File Docker: Berisi aturan khusus dan konfigurasi ZAP.

- Conduit: Kerangka/bahasa penerapan internal di Goldman Sachs. Dibutuhkan file Docker dan menyebarkannya ke setiap pod Kubernetes.

- Pemindaian: Setelah pemindaian selesai, temuan dikirim ke data lake atau database yang mendasarinya (Findings DB).

- Credential Vault (Manajer Rahasia): Memastikan rahasia aplikasi disimpan dengan aman. Ini hanya diakses oleh pod yang diotorisasi selama pemindaian yang diautentikasi.


5. Penjelasan Proyek Aries:

- Aries: Proyek internal di Goldman Sachs yang mengintegrasikan berbagai alat dan layanan dengan ZAP. ZAP adalah salah satu bagian dari ekosistem yang lebih besar ini. Aries berkomunikasi dengan banyak alat dan layanan lain untuk cakupan keamanan holistik.


6. Otomasi & Skalabilitas:

1. Orientasi GitLab:

   - Pengembang aplikasi baru dapat melakukan onboarding aplikasi mereka untuk pemindaian keamanan.

   - Mereka memperbarui file konfigurasi json dengan API yang diperlukan, mengikuti pedoman yang ditetapkan oleh Goldman Sachs.

   - Pengembang mengajukan permintaan penggabungan di GitLab.

   - Jalur validasi memeriksa kepatuhan terhadap standar.

   - Conduit memfasilitasi penerapan ke pod Kubernetes.

   - Jika penerapan berhasil, pemindaian akan dijalankan, dan hasilnya akan dikirim ke layanan tiket, tim pengembangan, dan layanan hilir lainnya. Model Pembelajaran Mesin juga dapat dipicu.

   - Jika build gagal, proses harus dimulai ulang.


2. Memasukkan Alat Dash Baru:

   - Proses memfasilitasi penambahan aturan baru ke dalam sistem pemindaian.

   - Peneliti keamanan di Goldman Sachs terkadang mengembangkan aturan khusus perusahaan selain aturan standar yang disediakan oleh ZAP.

   - Mirip dengan proses orientasi aplikasi, aturan dikirimkan melalui tiket Jira. Model saat ini menerima aturan yang ditulis dalam Jython, memanfaatkan kemampuan Java dan Python.


Diskusi ini menekankan integrasi berbagai alat, otomatisasi, dan pentingnya skalabilitas bagi Goldman Sachs dalam proses penilaian keamanan mereka.


7. DAST dalam CI/CD:

- Goldman Sachs memulai perjalanannya dengan DAST (Dynamic Application Security Testing) di CI/CD sekitar tahun 2019.

- Tujuan mereka adalah untuk memulai pemindaian dari jalur pengembangan, tidak setiap kali ada dorongan, namun ketika ada perubahan signifikan di antara dorongan.

- Mereka mengelola proyek terpisah khusus untuk DAST di CI/CD yang membantu menyeimbangkan tugas-tugas ke pod Kubernetes.

- Pengembang menggunakan informasi ini untuk permintaan penggabungan mereka sebagai bukti sebelum mempromosikan kode ke produksi.

- Contoh file YAML disediakan yang digunakan pengembang:

  - send_url_to_scan adalah pekerjaan wajib.

  - `config.json` berisi berbagai parameter konfigurasi ZAP. Beberapa parameter dapat dipilih oleh pengembang, sementara beberapa lainnya dibatasi untuk standardisasi dan keamanan.

  - Parameter ini mungkin mencakup berbagai metode autentikasi, beberapa di antaranya menggunakan Selenium Web Drivers, sementara yang lain diteruskan menggunakan API Pengganti.


8. Tantangan & Solusi:

1. Tingkat Positif Palsu:

   - Dengan ribuan aplikasi dan puluhan ribu pemindaian, mengelola positif palsu menjadi sebuah tantangan besar.

   - Memvalidasi temuan sebanyak itu secara manual tidaklah mungkin dilakukan.

   

2. Integrasi Dasbor & Tiket:

   - Tantangannya bukan secara spesifik pada ZAP namun mengintegrasikan hasil ZAP dengan layanan hilir lainnya.

   - Tujuannya adalah untuk memiliki sistem yang dapat berkomunikasi dengan berbagai alat dan layanan lain, yang dapat disediakan oleh ZAP.


3. Masalah Kelelahan:

   - Tantangan umum dalam industri keamanan di mana temuan dan peringatan terus-menerus masuk, yang dapat menyebabkan analis menjadi tidak peka atau kewalahan.

   - Dengan hampir 1,5 juta temuan, hampir mustahil untuk memvalidasi setiap temuan satu per satu.


9. Solusi melalui Pembelajaran Mesin:

- Untuk mengatasi tantangan positif palsu dan mengatasi kelelahan, tim di Goldman Sachs beralih ke pembelajaran mesin.

- Dengan menggunakan ML, mereka bertujuan untuk membangun model yang dapat membantu dalam:

  - Memprediksi kemungkinan suatu temuan menjadi positif palsu.

  - Memprioritaskan temuan berdasarkan tingkat keparahan dan potensi dampaknya.

  - Mengurangi jumlah temuan yang memerlukan validasi manual.


Presentasi ini menunjukkan pentingnya otomatisasi dan penggunaan solusi mutakhir seperti ML dalam menangani data dalam jumlah besar dan memastikan keamanan tetap gesit dan efisien dalam lingkungan berskala besar.


10. Integrasi ML:

- Tim mengintegrasikan Machine Learning (ML) ke dalam sistem mereka untuk mengatasi kesalahan positif, yang merupakan tantangan berulang dalam komunitas keamanan.

- Sistem, pasca-pemindaian, mengklasifikasikan temuan ke dalam berbagai kategori, seperti positif benar, positif palsu, memerlukan analisis lebih lanjut, dll.

- Tujuannya adalah agar model ML melakukan 70-80% tugas klasifikasi, sehingga mengurangi intervensi manual.


11. Akurasi Pemindai:

- Data sekitar 2-3 tahun lalu menunjukkan berbagai kerentanan, termasuk kesalahan konfigurasi lintas domain. Tujuannya adalah untuk meningkatkan tingkat positif sebenarnya.

- Meskipun pendekatan berbasis aturan dipertimbangkan, ML memberikan hasil yang lebih baik dalam mengurangi positif palsu.


12. Tujuan dengan ML:

1. Mengurangi Positif Palsu: Tujuan utamanya adalah menurunkan tingkat positif palsu tanpa memodifikasi alat dasar secara ekstensif.

2. Keyakinan Positif Sejati: Buat metrik atau skor berdasarkan temuan yang dikirim langsung ke pengembang untuk remediasi. Misalnya, jika tingkat kepercayaannya di atas 95%, maka data tersebut dikirim langsung ke pengembang; jika di bawah, analis mungkin akan meninjaunya. Kerentanan yang berbeda dapat memiliki batas kepercayaan yang berbeda pula.

3. Integrasi Cepat Aturan Baru: Saat aturan keamanan baru dikembangkan, sistem perlu memvalidasi aturan tersebut dengan cepat. Mereka mengamati bahwa dengan model ML yang kaya konteks, bahkan aturan baru pun dapat divalidasi dengan cepat dan akurat.


13. Bidang Data di ML:

- Meskipun ada kolom reguler seperti nama, kerentanan, tingkat keparahan, dan URL instans, tim menambahkan kolom tambahan untuk konteks yang lebih baik:

  - Unit Bisnis: Memahami departemen atau segmen perusahaan mana yang memiliki aplikasi.

  - Nama Aplikasi: Nama aplikasi spesifik.

  - ID Aturan Khusus: Mereka telah mengembangkan banyak aturan khusus, dan masing-masing aturan memiliki pengenal uniknya sendiri.


Presentasi tersebut menekankan pentingnya mengintegrasikan pembelajaran mesin ke dalam alur kerja keamanan mereka. Dengan melakukan hal ini, mereka telah mencapai kemajuan yang signifikan dalam mengatasi tantangan positif palsu, meningkatkan efisiensi alur kerja, dan dengan cepat memvalidasi aturan keamanan baru.


Integrasi dan Skalabilitas ML:


14. Pembelajaran Mesin Berbasis Konteks:

- Bidang tambahan seperti Unit Bisnis, Nama Aplikasi, dan ID Aturan Kustom ditambahkan untuk meningkatkan konteks dalam klasifikasi ML.

- Dengan mempertimbangkan bidang-bidang ini, tim dapat mengukur dengan lebih baik kemungkinan suatu peringatan benar atau salah.


15. Metrik dan Hasil Evaluasi:

- Tim menggunakan kumpulan data lebih dari 7 lakh (700.000) catatan, dengan 25% di antaranya merupakan data pengujian.

- Sistem ML mereka mencapai tingkat akurasi seimbang sekitar 94% (terkadang berkisar antara 89% hingga 99%).


16. Integrasi dengan Kubernetes:

- Goldman Sachs mengintegrasikan metrik dari ZAP ke dalam infrastruktur Kubernetes mereka.

- Ini menyediakan dasbor langsung yang menampilkan kemajuan pemindaian dan gambaran jelas tentang postur keamanan siber perusahaan.


17. Skalabilitas:

- Infrastruktur dirancang untuk skalabilitas cepat, berkisar dari beberapa ribu hingga puluhan ribu pemindaian dalam hitungan hari.

- Mereka menyoroti kemampuan untuk berpotensi menskalakan hingga 15.000 hingga 20.000 pemindaian tanpa mengorbankan infrastruktur atau konfigurasi pemindai.


19. Rencana masa depan:

- Tim mempunyai rencana untuk:

  1. Kontribusikan lebih banyak kumpulan aturan.

  2. Kembangkan laporan yang dapat disesuaikan.

  3. Mencapai skalabilitas lebih lanjut tanpa mengorbankan integritas infrastruktur.


20. Terlibat dengan Komunitas ZAP:

- Goldman Sachs mengucapkan terima kasih kepada komunitas ZAP yang telah memfasilitasi perjalanan mereka dengan ide dan inovasi.

- Mereka menyoroti potensi open-sourcing beberapa alat dan penyempurnaan yang mereka kembangkan selain ZAP.


Kata penutup:

- Tim mengisyaratkan kemungkinan membuka layanan ZAP yang ditingkatkan untuk pengguna eksternal di masa depan.

- Tujuan mereka adalah skalabilitas dan fleksibilitas untuk memenuhi kebutuhan internal, dan mereka mencari cara agar manfaat ini dapat diakses oleh khalayak yang lebih luas.

- Mereka mengakhiri presentasinya dengan mengundang pertanyaan terkait implementasi dan konfigurasi ZAP dalam skala besar.

-  Menggunakan ZAP API akan sangat tidak efisien. Jadi yang kami lakukan adalah memindahkan tanda positif palsu ke lapisan data lake kami. Begitu hasil pemindaian masuk, hasil tersebut diserap ke dalam sistem data lake kami. Di dalamnya, kami telah membangun lapisan di mana pengembang atau analis keamanan kami dapat masuk dan menandai peringatan tertentu sebagai positif palsu.
- Saat mereka menandainya di sana, kami menggunakan penandaan itu dan menggunakan informasi tersebut untuk memberi umpan balik ke model pembelajaran mesin kami. Jika nanti peringatan serupa muncul dari konteks serupa, model ML kami telah mempelajarinya dan dapat menandainya sebagai positif palsu.
- P
endekatan ini, meskipun tampaknya merupakan satu langkah yang dihapus dari ZAP, pendekatan ini memungkinkan kami menangani skala dengan lebih baik. Hal ini juga memastikan bahwa pengguna kami, ketika mereka melihat laporan dan dasbor di data lake, memiliki pandangan terkini tentang apa yang benar-benar positif dan apa yang salah.
Dan seiring kami terus melatih model ML kami dengan masukan ini, keakuratan deteksi positif palsu kami menjadi jauh lebih baik. Jadi seiring berjalannya waktu, kebutuhan untuk menandai peringatan secara manual sebagai positif palsu berkurang, karena model kami menjadi lebih baik dalam mengidentifikasinya. Maksudnya, file sesi rusak, ya, itu sudah terjadi. Dan ada beberapa contoh di mana kami mengalami masalah karena file sesi menjadi rusak atau tidak dapat dibaca. Biasanya, ketika hal ini terjadi, pendekatan kami adalah membuat ulang sesi tersebut. Ini karena otomatisasi kami dalam membuat sesi cukup kuat. Jadi, jika kami melihat file sesi rusak, sistem kami secara otomatis mencoba membuat ulang sesi tersebut.

- Sehubungan dengan NFS, salah satu hal yang kami pelajari adalah melakukan backup dan snapshot secara teratur. Jadi kami memiliki mekanisme cadangan yang mengambil snapshot reguler dari file sesi kami. Jadi dalam skenario terburuk, jika terjadi kesalahan, kami selalu memiliki opsi untuk memutar kembali ke snapshot terbaru yang bagus.

Dari segi biaya, memang tidak murah, apalagi jika dijalankan dalam skala sebesar ini. Namun ketika kami melihat nilai yang diberikannya kepada organisasi, jaminan telah memindai semua aplikasi kami, dan kemampuan untuk mengukur dan menangani permintaan, ini adalah biaya yang bersedia kami tanggung. Selain itu, seiring berjalannya waktu, seiring kami mengoptimalkan dan seiring Kubernetes serta layanan cloud menawarkan solusi yang lebih hemat biaya, kami juga berhasil mengoptimalkan biaya.
Perlu diingat juga bahwa kerugian jika tidak melakukan hal ini, potensi risiko dan kerentanan yang dapat dieksploitasi, akan jauh lebih mahal dalam jangka panjang, baik secara finansial maupun reputasi. Jadi, ini adalah investasi yang layak dilakukan.
- S
esi kami dengan Venkat dan Ved. Selanjutnya, kami memiliki pembicaraan menarik lainnya untuk Anda. Pantau terus dan teruskan pertanyaan-pertanyaan itu di Discord. Sekali lagi, kami ucapkan terima kasih yang sebesar-besarnya kepada para pembicara yang telah berbagi keahlian dan wawasan mereka dengan kami. Selamat ZapCon untuk semuanya, dan kami akan segera kembali dengan konten yang lebih menarik.
Pantau terus!