VMware Carbon Black Enterprise EDR

Versi integrasi: 6.0

Kasus Penggunaan Produk

  1. Lakukan tindakan investigasi - dapatkan data dari CB Enterprise EDR sebagai bagian dari analisis pemberitahuan di Google Security Operations.
  2. Melakukan tindakan konfigurasi - mengonfigurasi feed/daftar pantauan CB Enterprise EDR dari Google SecOps.

Izin Produk

Konsep yang diperlukan untuk mengakses API Carbon Black Enterprise EDR (ThreatHunter):

  1. Nama Host Layanan
  2. Kunci API
  3. RBAC
  4. Kunci Organisasi

Nama Host Layanan

Ada dua nama host Carbon Black Cloud:

  • https://defense-<environment>.conferdeploy.net/
  • https://api-<environment>.conferdeploy.net/

Selain itu, kami memiliki beberapa lingkungan seperti (bukan daftar lengkap):

  • prod02
  • prod04
  • prod05

Untuk Carbon Black Enterprise EDR (ThreatHunter) API, nama host berikut akan digunakan: https://defense-<environment>.conferdeploy.net/

Kunci API

API dan Layanan Carbon Black Enterprise EDR (ThreatHunter) diautentikasi melalui Kunci API. Pengguna dapat melihat setelan Kunci API dalam Konsol Carbon Black Cloud di bagian Settings > API Keys.

Kunci API mencakup dua bagian:

  • Kunci Rahasia API (sebelumnya Kunci API).
  • ID API (sebelumnya ID Konektor).

Autentikasi diteruskan ke API melalui header HTTP X-Auth-Token.

  1. Untuk membuat header yang sesuai, gabungkan Kunci Rahasia API dengan ID API dengan garis miring di antaranya.
  2. Misalnya, jika Kunci Rahasia API adalah ABCD dan ID API adalah 1234, header HTTP X-Auth-Token yang sesuai adalah: X-Auth-Token: ABCD/1234

Semua permintaan API harus diautentikasi menggunakan Kunci Rahasia API dan ID API. Permintaan yang tidak diautentikasi akan menampilkan error HTTP 401.

Cara mendapatkan Kunci Rahasia API dan ID API

  1. Login ke Organisasi Carbon Black Cloud Anda.
  2. Buka Settings > API Keys.
  3. Klik "Tambahkan Kunci API".
  4. Konfigurasi Nama, Tingkat Akses, dll.
  5. Dapatkan pasangan Kunci Rahasia API dan ID API Anda.

Hal ini memungkinkan administrator organisasi menentukan Kunci API dan mendapatkan akses ke Kunci Rahasia API dan ID API yang akan diperlukan untuk mengautentikasi permintaan API. Selain itu, administrator dapat membatasi penggunaan kunci API ini ke serangkaian alamat IP tertentu karena alasan keamanan.

Tingkat Akses Kunci API

Saat ini ada empat tingkat akses utama untuk Kunci API yang tersedia di halaman Kunci API. Setiap tingkat akses memberikan tingkat akses yang berbeda ke rute API:

  1. Tingkat Akses Kunci Kustom: menyediakan otorisasi yang dapat disesuaikan.

    • Kunci API Kustom adalah hasil dari upaya kontrol akses berbasis peran (RBAC) kami.
    • Memungkinkan pelanggan menerapkan kontrol akses dan membuat kunci API dengan hak istimewa terendah.
    • Kunci API Kustom dapat ditetapkan Peran Pengguna atau Tingkat Akses.
  2. Tingkat Akses Kunci API: memberikan akses ke semua API kecuali Notifications API dan Live Response API.

  3. Tingkat Akses Kunci SIEM: memberikan akses ke Notifications API.

  4. Tingkat Akses Kunci Respons Langsung: memberikan akses ke semua API yang tersedia untuk (1) di atas ditambah Live Response API.

Layanan Carbon Black Enterprise EDR (ThreatHunter) ke Tingkat Akses API Korelasi Platform API dicetak tebal

Kategori API/Layanan Tingkat Akses Kunci API yang Diizinkan
PSC /appservices/* Kustom (dengan izin yang sesuai)
CB-TH /threathunter/* API Kustom (dengan izin yang sesuai)
CB-LO /livequery/* Kustom (dengan izin yang sesuai)
CB-D /integrationServices/v3/notification/ SIEM
CB-D /integrationServices/* Respons APILive

Kunci Organisasi

Selain Kunci API, banyak API atau Layanan Carbon Black Cloud yang memerlukan org_key di jalur permintaan API. Hal ini untuk mendukung pelanggan yang mengelola beberapa organisasi.

Anda dapat menemukan org_key di Konsol Carbon Black Cloud di bagian Settings > API Keys.

Mengonfigurasi Akses API untuk integrasi Google SecOps Carbon Black Enterprise EDR (ThreatHunter)

Untuk mengonfigurasi Akses API untuk integrasi Google SecOps Carbon Black Enterprise EDR (ThreatHunter), langkah-langkah berikut harus dilakukan:

  1. Login ke Konsol Carbon Black Cloud, buka Settings > API Access.
  2. Di halaman Akses API, buka Tingkat Akses.
  3. Di halaman Tingkat Akses, klik + Tambahkan Tingkat Akses.
  4. Di jendela yang terbuka, berikan nama dan deskripsi untuk Tingkat Akses baru, lalu pilih izin seperti pada screenshot di bawah:

    Daftar izin yang diperlukan

  5. Kembali ke tab Akses API.

  6. Klik "+ Tambahkan Kunci API" untuk membuat kunci API baru.

  7. Di tab yang terbuka, isi kolom wajib diisi dan pilih Tingkat Akses yang Anda konfigurasi pada langkah 4:

    Mengedit setelan kunci API

  8. Setelah mengklik Simpan, Anda akan melihat ID API dan Kunci Rahasia API. Simpan nilai tersebut, karena hanya akan ditampilkan satu kali.

  9. Setelah ID API dan kunci Rahasia API disimpan, Akses API di Carbon Black Enterprise EDR (ThreatHunter) selesai.

Mengonfigurasi integrasi VMware Carbon Black Enterprise EDR (Threat Hunter) di Google SecOps

Untuk mendapatkan petunjuk mendetail terkait cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.

Parameter integrasi

Gunakan parameter berikut untuk mengonfigurasi integrasi:

Nama Tampilan Parameter Jenis Nilai Default Wajib Deskripsi
Nama Instance String T/A Tidak Nama Instance yang ingin Anda konfigurasi integrasinya.
Deskripsi String T/A Tidak Deskripsi Instance.
Root API String T/A Ya URL Root API VMware Carbon Black Cloud.
Kunci Organisasi String T/A Ya Kunci Organisasi Vmware Carbon Black Cloud.
ID API String T/A Ya ID VMware Carbon Black Cloud API (ID Kunci API Kustom).
Kunci Rahasia API String T/A Ya Kunci Rahasia API VMware Carbon Black Cloud (Kunci Rahasia API Kustom).
Menjalankan dari Jarak Jauh Kotak centang T/A Tidak Centang kolom untuk menjalankan integrasi yang dikonfigurasi dari jarak jauh. Setelah dicentang, opsi akan muncul untuk memilih pengguna jarak jauh (agen).

Tindakan

Ping

Deskripsi

Uji konektivitas ke VMware Carbon Black Enterprise EDR dengan parameter yang diberikan di halaman konfigurasi integrasi pada tab Google Security Operations Marketplace.

Parameter

T/A

Contoh Kasus Penggunaan Playbook

Tindakan ini digunakan untuk menguji konektivitas di halaman konfigurasi integrasi pada tab Google Security Operations Marketplace, dan dapat dijalankan sebagai tindakan manual, bukan digunakan dalam playbook.

Run On

Tindakan ini tidak berjalan pada entity, dan tidak memiliki parameter input wajib.

Hasil Tindakan

Hasil Skrip
Nama Hasil Skrip Opsi Nilai Contoh
is_success Benar/Salah is_success:False
Repositori Kasus
Jenis Hasil Nilai/Deskripsi Jenis
Pesan output*

Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • Jika berhasil: cetak "Successfully connected to the VMware Carbon Black Enterprise EDR server with the provided connection parameters!"

Tindakan akan gagal dan menghentikan eksekusi playbook:

  • Jika tidak berhasil: cetak "Failed to connect to the VMware Carbon Black Enterprise EDR server! Error adalah {0}".format(exception.stacktrace)
Umum

Deskripsi

Cari informasi tentang aktivitas proses di host dengan sensor CB berdasarkan parameter penelusuran yang diberikan. Tindakan ini menerima entitas Host Google SecOps.

Parameter

Nama Tampilan Parameter Jenis Nilai Default Wajib Deskripsi
Kueri String T/A Tidak Kueri yang akan dijalankan dalam penelusuran proses. Misalnya, process_name:svchost.exe - untuk menelusuri berdasarkan nama proses, process_hash:9520a99e77d6196d0d09833146424113 - untuk menelusuri berdasarkan hash proses.
Jangka Waktu Bilangan bulat 4 Tidak Tentukan jangka waktu dalam jam untuk mengambil pemberitahuan.
Batas rekaman Bilangan bulat 20 Ya Tentukan berapa banyak data yang dapat ditampilkan oleh tindakan.
Urutkan menurut String T/A Tidak Tentukan parameter untuk mengurutkan data.
Tata urutan DDL ASC Tidak Tata urutan.

Contoh Kasus Penggunaan Playbook

Cari peristiwa yang disebabkan oleh proses berdasarkan parameter penelusuran yang diberikan.

Selama analisis pemberitahuan, yang terkait dengan host tertentu yang dikelola oleh Platform CB, pengguna ingin menyelidiki host - menelusuri peristiwa tertentu yang disebabkan oleh proses yang berjalan berdasarkan parameter penelusuran yang diberikan. Pengguna dapat menjalankan tindakan ini untuk aktivitas perburuan ancaman - secara proaktif mencari apakah ada proses/peristiwa yang mencurigakan di host yang dimaksud.

Run On

Tindakan ini dijalankan pada entity Host.

Hasil Tindakan

Hasil Skrip
Nama Hasil Skrip Opsi Nilai Contoh
is_success Benar/Salah is_success:False
Hasil JSON
{
"results": [
    {
        "alert_id": [
            "null/WSD2CQMT"
        ],
        "backend_timestamp": "2020-03-04T21:42:45.080Z",
        "device_id": 3078944,
        "device_name": "qaam\\manticorewin864",
        "device_policy_id": 6525,
        "device_timestamp": "2020-03-04T21:39:33.180Z",
        "enriched": true,
        "enriched_event_type": "CREATE_PROCESS",
        "event_description": "The script \"<share><link hash=\"74fcbbb574bfd505cf0680575a1c025f6cead071fce78ee0cc2c7bac7dd24ce9\">C:\\programdata\\wmirepair.bat</link></share>\" invoked the application \"<share><link hash=\"7eadc73f8aa77148ca289d5ce5c2632f3a157d313079583454c0421bb97d5646\">C:\\windows\\syswow64\\regsvr32.exe</link></share>\". ",
        "event_id": "ecc6954f5e6011eaa0de89cc027330db",
        "event_type": "childproc",
        "ingress_time": 1583358118950,
        "legacy": true,
        "org_id": "7DESJ9GN",
        "parent_guid": "7DESJ9GN-002efb20-00001604-00000000-1d5f26cab1067fe",
        "parent_pid": 5636,
        "process_guid": "7DESJ9GN-002efb20-00000d58-00000000-1d5f26d6615c568",
        "process_hash": [
            "629ae017d28848b68485bd2aeede9129",
            "74fcbbb574bfd505cf0680575a1c025f6cead071fce78ee0cc2c7bac7dd24ce9"
        ],
        "process_name": "c:\\programdata\\wmirepair.bat",
        "process_pid": [
            3416
        ],
        "process_username": [
            "NT AUTHORITY\\SYSTEM"
        ]
    },
    ...
]  }
Repositori Kasus
Jenis Hasil Nilai / Deskripsi Jenis
Pesan output*

Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • Jika berhasil: cetak "Found process information for the following entities:\n {0}".format( entity.Identifiers list)
  • Jika is_success=False untuk semua entitas yang diberikan: print "No search results were returned."
  • Jika is_success=False untuk beberapa entitas yang diberikan karena tidak dapat menemukan hasil untuk parameter penelusuran yang ditentukan: print "Action was not able to find process information for the following entities:\n {0}".format(entity.Identifiers list)
  • Jika is_success=False untuk beberapa entitas yang diberikan karena terjadi error saat menjalankan penelusuran (misalnya, waktu tunggu habis): print "Failed to get results because of the errors running search for the following entities:/n {0}".format(entity.identifiers list)

Tindakan akan gagal dan menghentikan eksekusi playbook:

  • Jika terjadi error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau lainnya: cetak "Gagal menjalankan tindakan! Error adalah {0}".format(exception.stacktrace)
Keduanya
Tabel

Nama Tabel: Memproses hasil penelusuran untuk {entityIdentifier}

Kolom:

  • ID acara (event_id)
  • Jenis Peristiwa ("enriched_event_type")
  • Nama Proses (process_name)
  • GUID proses (process_guid)
  • PID Proses (process_pid)
  • GUID Induk Proses (parent_guid)
  • PID Induk Proses (parent_pid)
  • Hash File Proses (process_hash)
  • Jalankan Proses Sebagai ("process_username")
  • Waktu Dibuat ("device_timestamp")
  • Deskripsi Acara (event_description)
  • Alamat IPv4 lokal (event_network_local_ipv4)
  • Protokol Jaringan (event_network_protocol)
  • Alamat IPv4 Jarak Jauh (event_network_remote_ipv4)
  • Port Jarak Jauh (event_network_remote_port)
Entity

Mendapatkan Peristiwa yang Terkait dengan Proses berdasarkan GUID Proses

Deskripsi

Mendapatkan peristiwa yang terkait dengan proses tertentu berdasarkan informasi dari VMware Carbon Black Enterprise EDR. Tindakan ini dapat memberikan hasil yang lebih mendetail tentang aktivitas proses tertentu daripada tindakan "Penelusuran Proses". Perhatikan bahwa agar tindakan berfungsi, artefak yang diproses Google SecOps yang diteruskan ke tindakan harus berupa jenis GUID proses.

Parameter

Nama Tampilan Parameter Jenis Nilai Default Wajib Deskripsi
Kriteria penelusuran String T/A Tidak Tentukan kriteria penelusuran untuk permintaan. Saat ini, hanya nilai "event_type" yang diterima sebagai kriteria penelusuran, misalnya, netconn. Beberapa nilai diterima sebagai string yang dipisahkan koma.
Kueri Telusuri T/A Ya Kueri yang akan dijalankan dalam penelusuran proses.Misalnya, "netconn_action:ACTION_CONNECTION_CREATE OR netconn_action:ACTION_CONNECTION_ESTABLISHED"
Jangka Waktu Bilangan bulat 4 Tidak Tentukan jangka waktu dalam jam untuk mengambil pemberitahuan.
Batas rekaman Bilangan bulat 20 Tidak Tentukan berapa banyak data yang dapat ditampilkan oleh tindakan.
Urutkan menurut String T/A Tidak Tentukan parameter untuk mengurutkan data.
Tata urutan DDL ASC Tidak Tata urutan

Contoh Kasus Penggunaan Playbook

Menyelidiki aktivitas proses tertentu.

Selama analisis pemberitahuan, yang terkait dengan host tertentu yang dikelola oleh Platform CB, ditemukan bahwa host tersebut menjalankan proses yang mencurigakan. Pengguna Google SecOps memerlukan tindakan yang akan menggunakan fungsi CB Enterprise EDR untuk mendapatkan peristiwa, yang terkait dengan proses tertentu dari Google SecOps.

Run On

Tindakan ini tidak dijalankan di entity.

Hasil Tindakan

Hasil Skrip
Nama Hasil Skrip Opsi Nilai Contoh
is_success Benar/Salah is_success:False
Hasil JSON
{
    "results": [
        {
            "backend_timestamp": "2020-04-26T18:38:50.128Z",
            "created_timestamp": "2020-05-19T03:56:53.483Z",
            "event_guid": "ufzid3pPQs-yrRlPBe8-ww",
            "event_hash": "ce6a949bcd3879897c9eac258ec6a091",
            "event_timestamp": "2020-04-26T18:34:16.258Z",
            "event_type": "netconn",
            "legacy": false,
            "netconn_action": "ACTION_CONNECTION_CREATE",
            "netconn_inbound": true,
            "netconn_local_ipv6": "FF020000000000000000000000010003",
            "netconn_local_port": 5355,
            "netconn_protocol": "PROTO_UDP",
            "netconn_remote_ipv6": "FE800000000000000000000000000000",
            "netconn_remote_port": 58994,
            "process_guid": "7DESJ9GN-002efb20-000003ec-00000000-1d5fb6d63ba535c",
            "process_pid": 1004
        },
        ...
    ]
}
Repositori Kasus
Jenis Hasil Nilai / Deskripsi Jenis
Pesan output*

Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • Jika berhasil: cetak "Found events for the following process guids:\n {0}".format( process guid list)
  • Jika is_success=False untuk semua GUID proses yang diberikan: print "No search results were returned."
  • Jika is_success=False untuk beberapa entitas yang diberikan karena tidak dapat menemukan GUID proses yang ditentukan: cetak "Action was not able to find information for the following processes:\n {0}".format(process guids list).
  • Jika is_success=False untuk beberapa entitas yang diberikan karena terjadi error saat menjalankan penelusuran (misalnya, waktu tunggu): print "Failed to get results because of errors running search for the following process guids:/n {0}".format(entity.identifiers list)

Tindakan akan gagal dan menghentikan eksekusi playbook:

  • Jika terjadi error fatal, seperti kredensial salah, tidak ada koneksi ke server, atau lainnya: cetak "Gagal menjalankan tindakan! Error adalah {0}".format(exception.stacktrace)
Umum
Tabel

Nama Tabel: Menemukan peristiwa untuk proses {process artifact identifier}

Kolom: Harus dibuat secara otomatis berdasarkan hasil yang ditampilkan.

Entity

Hash yang Diperkaya

Deskripsi

Memperkaya entitas Hash file Google SecOps berdasarkan informasi dari VMware Carbon Black Enterprise EDR.

Contoh Kasus Penggunaan Playbook

Memperkaya entitas filehash Google SecOps dengan informasi dari CB Enterprise EDR.

Selama pemrosesan pemberitahuan kemungkinan infeksi malware yang terkait dengan host yang memiliki sensor Platform CB, pengguna harus memiliki data pengayaan dari CB Enterprise EDR (bagian dari platform) tentang filehash tertentu yang terkait dengan pemberitahuan yang dimaksud untuk alasan penyelidikan. Misalnya, sebagai bagian dari pengayaan, pengguna bisa mendapatkan metadata filehash terkait, saat filehash ini pertama kali terdeteksi di Organisasi, dan di host mana.

Run On

Tindakan ini dijalankan pada entity Filehash dalam format Sha256.

Hasil Tindakan

Pengayaan Entity
Nama Kolom Pengayaan Sumber (Kunci JSON) Logika - Kapan harus diterapkan
CB_ENT_EDR.sha256 sha256 selalu
CB_ENT_EDR.md5 md5 selalu
CB_ENT_EDR.architecture berbasis cloud selalu
CB_ENT_EDR.available_file_size available_file_size selalu
CB_ENT_EDR.charset_id charset_id selalu
CB_ENT_EDR.comments komentar Jika tidak null
CB_ENT_EDR.company_name company_name selalu
CB_ENT_EDR.copyright hak cipta selalu
CB_ENT_EDR.file_available file_available selalu
CB_ENT_EDR.file_description file_description selalu
CB_ENT_EDR.file_size file_size selalu
CB_ENT_EDR.file_version file_version selalu
CB_ENT_EDR.internal_name internal_name selalu
CB_ENT_EDR.lang_id lang_id Jika tidak null
CB_ENT_EDR.original_filename original_filename selalu
CB_ENT_EDR.os_type os_type selalu
CB_ENT_EDR.private_build private_build Jika tidak null
CB_ENT_EDR.product_description product_description Jika tidak null
CB_ENT_EDR.product_name product_name selalu
CB_ENT_EDR.product_version product_version selalu
CB_ENT_EDR.special_build special_build Jika tidak null
CB_ENT_EDR.trademark merek dagang Jika tidak null
CB_ENT_EDR.found_times num_devices selalu
CB_ENT_EDR.first_seen_device_timestamp first_seen_device_timestamp selalu
CB_ENT_EDR.first_seen_device_id first_seen_device_id selalu
CB_ENT_EDR.first_seen_device_name first_seen_device_name selalu
CB_ENT_EDR.last_seen_device_timestamp last_seen_device_timestamp selalu
CB_ENT_EDR.last_seen_device_id last_seen_device_id selalu
CB_ENT_EDR.last_seen_device_name last_seen_device_name selalu
Hasil Skrip
Nama Hasil Skrip Opsi Nilai Contoh
is_success Benar/Salah is_success:False
Hasil JSON
{
    "sha256": "e24dd278cec867486b68418c9066ffa9bd4f394dac3ba94125d58415f677f0f4",
    "architecture": [
        "amd64"
    ],
    "available_file_size": 207800,
    "charset_id": 1200,
    "comments": null,
    "company_name": "Example Organization",
    "copyright": "Copyright  © 2019",
    "file_available": true,
    "file_description": "OpenJDK Platform binary",
    "file_size": 207800,
    "file_version": "8.0.2320.9",
    "internal_name": "java",
    "lang_id": null,
    "md5": "afede6f64ed8878bc0cac57e1831a3bc",
    "original_filename": "java.exe",
    "os_type": "WINDOWS",
    "private_build": null,
    "product_description": null,
    "product_name": "OpenJDK Platform 8",
    "product_version": "8.0.2320.9",
    "special_build": null,
    "trademark": null
}
Repositori Kasus
Jenis Hasil Nilai / Deskripsi Jenis
Pesan output*

Tindakan tidak boleh gagal atau menghentikan eksekusi playbook:

  • Jika berhasil dan setidaknya salah satu entitas yang diberikan telah di-enrich: cetak "Successfully enriched entities: {0}".format([entity.Identifier]).
  • Jika gagal memperkaya semua entity yang diberikan: cetak "Tidak ada entity yang diperkaya".
  • Jika gagal menemukan data di VMware Carbon Black Enterprise EDR untuk memperkaya entitas tertentu: cetak "Action was not able to find VMware Carbon Black Enterprise EDR info to enrich the following entities: {0}".format([entity.identifier])
  • Jika gagal menjalankan salah satu kueri penambahan informasi, misalnya error 500 saat mendapatkan satu respons, tetapi respons lainnya tidak ada masalah - is_success harus False, tetapi tindakan harus menambahkan informasi dengan data yang didapat dari respons lain dan mencetak: "The following entities were partially enriched because of the errors getting entity data:/n {0}".format(entityIdentifier list)

Tindakan akan gagal dan menghentikan eksekusi playbook:

  • Jika error fatal, seperti kredensial salah, tidak ada koneksi ke server, lainnya: cetak "Failed to execute Enrich Entities action! Error adalah {0}".format(exception.stacktrace)
Umum