Persyaratan keamanan data berikut sesuai dengan Penilaian Perlindungan Data 2023.
Untuk versi penilaian yang diterima setelah Februari 2024, silakan lihat halaman ini.
Aplikasi dengan akses ke jenis Data Platform tertentu dari Meta diwajibkan untuk menyelesaikan Penilaian Perlindungan Data (DPA) tahunan. DPA dirancang untuk menentukan apakah developer memenuhi persyaratan Ketentuan Platform Meta sehubungan dengan penggunaan, pembagian, dan perlindungan Data Platform. Sebagian dari kuesioner DPA difokuskan pada Ketentuan Platform 6, yang menguraikan persyaratan keamanan data. Kami merekomendasikan pemanfaatan dokumen ini untuk memahami ekspektasi, persyaratan, dan bukti terkait sehubungan dengan penggunaan dan pemrosesan keamanan data sebagaimana didefinisikan dalam Ketentuan Platform Meta.
Harap perhatikan bahwa sebuah glosarium disertakan di akhir dokumen ini, yang berisi istilah utama dan definisi.
Temukan sumber video selengkapnya dari Protokol Data.
Di seluruh dokumen ini, frasa sisi server digunakan untuk menunjuk setiap lingkungan backend yang digunakan organisasi untuk memproses Data Platform, baik yang berjalan di host cloud seperti Amazon Web Services (AWS), dihosting oleh developer di pusat data bersama atau eksklusif, atau secara hibrida (kombinasi keduanya).
PersyaratanSisi klien mengacu pada pemrosesan Data Platform dalam browser, perangkat seluler, dalam aplikasi di komputer desktop dan laptop, dan jenis perangkat lain yang digunakan oleh orang-orang.
Buat (atau perbarui, jika diperlukan) diagram atau deskripsi aliran data yang menggambarkan bagaimana aplikasi atau sistem memproses Data Platform.
Pada akhirnya, diagram atau deskripsi aliran data harus menyertakan:
Anda mungkin diminta untuk mengirimkan bukti untuk mendukung jawaban terkait perlindungan keamanan data yang Anda terapkan. Kami menyarankan Anda membaca Panduan Bukti dalam dokumen ini untuk contoh bukti yang dapat diterima dan mempersiapkan bukti yang sesuai. Kami menerima jenis file dokumen umum bersama dengan tangkapan layar dan rekaman layar. Pastikan file tidak dilindungi kata sandi. Anda dapat mengunggah beberapa file sekaligus, masing-masing maksimum 2 GB. Kami menerima .xls, .xlsx, .csv, .doc, .docx, .pdf, .txt, .jpeg, .jpg, .png, .ppt, .pptx, .mov, .mp4, .zip, dan .zipx.
Pastikan bahwa Anda menghapus (menghapus) data sensitif dari bukti sebelum mengirimkannya.
Untuk aplikasi yang diminta mengunggah bukti terkait perlindungan keamanan data, Meta memerlukan dua jenis dokumentasi yang berbeda:
Bukti kebijakan atau prosedur, kadang-kadang disebut sebagai kontrol administratif, adalah dokumentasi tertulis yang menjelaskan pendekatan untuk perlindungan keamanan data tertentu. Bentuk bukti ini dapat bervariasi – dapat berupa kutipan dari serangkaian kebijakan internal, sebagian atau seluruh halaman wiki internal, atau dokumen yang baru dibuat yang Anda gunakan untuk menjelaskan pendekatan jika Anda tidak memiliki pra-dokumentasi yang ada. Bagaimanapun, bukti kebijakan atau prosedur yang Anda unggah harus dengan jelas menjelaskan bagaimana pendekatan untuk perlindungan yang diberikan terkait dengan persyaratan Meta. Berikan hanya kebijakan atau bahasa yang relevan dan diperlukan untuk tinjauan keamanan Meta, atau gunakan kotak teks bebas yang terkait dengan pertanyaan untuk mengarahkan peninjau kami ke bagian yang relevan.
Bukti penerapan menggambarkan bagaimana Anda telah menerapkan kebijakan atau prosedur dalam praktik secara langsung melalui tangkapan layar atau perekaman layar. Karena developer yang berbeda memiliki konfigurasi yang berbeda, kami tidak dapat memberikan contoh untuk setiap skenario. Karena itu, bukti penerapan harus menunjukkan tingkat detail yang sama dengan contoh yang kami berikan sejauh mungkin.
Kami memahami bahwa mungkin terlalu membebani untuk menyiapkan bukti penerapan yang secara komprehensif menunjukkan penerapan perlindungan keamanan data yang diberikan. Dengan mengingat hal itu, Anda harus mengirimkan bukti sesuai dengan panduan di sini, dengan berhati-hati untuk mengedit informasi sensitif dari bukti sebelum mengirimkannya:
Jangan mengirimkan bukti yang mengandung salah satu dari nilai-nilai ini dalam bentuk yang dapat dibaca (tidak diedit). Jika Anda menggunakan editor gambar untuk tangkapan layar, letakkan kotak hitam di atas nilainya. Jika Anda menggunakan editor PDF, pastikan Anda mengedit teks dengan menggunakan fitur yang benar-benar menghapus nilai daripada sekadar menambahkan lapisan sambil mempertahankan teks (mis., fitur redaksi di aplikasi Pratinjau Apple).
Pertanyaan: Apakah Anda menerapkan enkripsi saat istirahat untuk semua Data Platform yang disimpan di lingkungan cloud, server, atau pusat data?
Enkripsi saat istirahat melindungi Data Platform dengan membuat data tidak dapat diuraikan tanpa kunci dekripsi terpisah. Hal ini memberikan lapisan perlindungan tambahan terhadap akses baca yang belum disahkan.
Jika Anda menyimpan sisi server Data Platform:
Jika developer TIDAK menyimpan sisi server Data Platform, persyaratan ini tidak berlaku.
Jika Anda menyimpan Data Platform menggunakan hosting IaaS (mis., AWS EC2, Microsoft Azure IaaS, dan Google Compute Engine), hosting mandiri, atau pendekatan hybrid, maka pertanyaan ini berlaku.
Namun, ada model hosting backend lain yang merupakan kasus khusus:
Jika Anda menyimpan Data Platform hanya melalui salah satu dari ini (dan tidak menggunakan IaaS, Self Hosting, atau Hybrid Hosting), pertanyaan ini tidak berlaku. Sebaiknya Anda menjelaskan hubungan ini di bagian Penyedia Layanan di DPA.
Jika Anda menyimpan Data Platform hanya melalui Meta API, misalnya menggunakan player.setDataAsync()
, dalam SDK Instant Games, pertanyaan ini tidak berlaku.
Jika Anda diminta mengirimkan bukti untuk perlindungan ini, ikuti petunjuk di bagian Menyiapkan Bukti untuk mengetahui cara menyiapkan bukti kebijakan/prosedur dan penerapan.
AWS RDS - enkripsi saat istirahat dapat dikonfigurasi di AWS RDS, jadi developer harus memastikan bahwa opsi konfigurasi diatur untuk menerapkan perlindungan ini.
Untuk instance RDS representatif yang berisi Data Platform, gunakan fitur AWS CLI untuk mengambil konfigurasi StorageEncrypted-nya.
# List RDS instances in default region $ aws rds describe-db-instances \ --query 'DBInstances[*].DBInstanceIdentifier' [ "database-1", "database-2" ] # For each instance returned, retrieve the storage encrypted config $ aws rds describe-db-instances \ --db-instance-identifier database-1 \ --query 'DBInstances[*].StorageEncrypted' [ true ] $ aws rds describe-db-instances \ --db-instance-identifier database-2 \ --query 'DBInstances[*].StorageEncrypted' [ true ]
AWS DynamoDB dienkripsi saat istirahat secara default. Anda dapat mengambil konfigurasi enkripsi saat istirahat untuk tabel menggunakan perintah ini.
$ aws dynamodb list-tables --output table -------------- | ListTables | +------------+ ||TableNames|| |+----------+| || Users || |+----------+| $ aws dynamodb describe-table \ --table-name Users \ --query "Table.SSEDescription.Status" "ENABLED"
AWS DocumentDB harus dikonfigurasi untuk menerapkan enkripsi saat istirahat. Untuk cluster representatif yang berisi Data Platform, gunakan perintah ini untuk mengambil konfigurasi StorageEncrypted.
$ aws docdb describe-db-clusters --query 'DBClusters[*].DBClusterIdentifier' [ "docdb-users" ] $ aws docdb describe-db-clusters \ --db-cluster-identifier 'docdb-users' \ --query 'DBClusters[*].StorageEncrypted' [ true ]
Bucket AWS S3 dapat dikonfigurasi untuk menerapkan enkripsi saat istirahat ke semua objek yang dibuat dalam bucket. Gunakan perintah ini untuk membuat daftar bucket dan mengambil konfigurasi untuk enkripsi bucket default.
$ aws s3api list-buckets --output table --query "Buckets[*].Name" --------------------------------------------- | ListBuckets | +-------------------------------------------+ | platform.storage | +-------------------------------------------+ $ aws s3api get-bucket-encryption \ --bucket platform.storage \ --query "ServerSideEncryptionConfiguration.Rules[*].ApplyServerSideEncryptionByDefault" \ --output table --------------------- |GetBucketEncryption| +-------------------+ | SSEAlgorithm | +-------------------+ | AES256 | +-------------------+
Lihat dokumentasi Microsoft tentang enkripsi saat istirahat di Azure yang relevan dengan penggunaan layanan mereka oleh organisasi.
Lihat dokumentasi Google tentang enkripsi saat nonaktif di Platform Google Cloud.
Jika Anda tidak menerapkan enkripsi saat istirahat di lingkungan sisi server, Anda mungkin melindungi Data Platform dengan cara alternatif yang masih dapat diterima. Dalam hal ini, Anda harus menjelaskan hal-hal berikut:
Pertanyaan: Khususnya mengenai data yang disimpan di perangkat organisasi dan perangkat pribadi: Apakah Anda menerapkan enkripsi saat istirahat, atau apakah Anda memiliki kebijakan dan aturan untuk mengurangi risiko hilangnya data, untuk semua Data Platform yang disimpan di perangkat ini?
Jika developer mengizinkan Data Platform pada perangkat seperti laptop karyawan atau penyimpanan portabel (mis., drive USB), data tersebut berisiko tinggi untuk diakses tanpa izin jika perangkat hilang atau dicuri. Developer harus mengambil langkah untuk membatasi risiko ini.
Untuk mengurangi risiko akses Data Platform yang tidak sah, Pengembang harus memiliki kontrol teknis (lebih disukai) atau kontrol administratif (tidak lebih disukai, tetapi dapat diterima) yang relevan dengan Data Platform pada perangkat organisasi (mis., laptop) dan media portabel.
Persyaratan ini berlaku baik Anda memproses sisi server Data Platform ataupun tidak.
Jika Anda diminta mengirimkan bukti untuk perlindungan ini, ikuti petunjuk di bagian Menyiapkan Bukti untuk mengetahui cara menyiapkan bukti kebijakan/prosedur dan penerapan.
Anda mungkin menggunakan salah satu atau keduanya dari: a) kontrol teknis (mis., enkripsi disk), atau b) aturan/kebijakan untuk mengurangi risiko kehilangan data untuk Data Platform yang disimpan di perangkat organisasi seperti laptop dan ponsel.
Kontrol teknis dapat mencakup:
Aturan/kebijakan dapat mencakup:
Sebuah organisasi mengklasifikasikan Data Platform dari Meta sebagai “data pribadi” sesuai standar klasifikasi datanya. Organisasi telah membuat Pedoman Penanganan Data dan mewajibkan semua personel untuk memahami dan mematuhi kebijakan ini.
Pertanyaan: Apakah Anda mengaktifkan protokol keamanan TLS 1.2 atau versi terbaru untuk semua koneksi jaringan yang melewati, atau menghubungkan, atau jaringan publik silang ketika Data Platform dikirim? Selain itu, apakah Anda memastikan bahwa Data Platform tidak pernah dikirim melalui jaringan publik dalam bentuk yang tidak dienkripsi (mis., melalui HTTP atau FTP) dan protokol keamanan SSL v2 dan SSL v3 tidak pernah digunakan?
Platform Data yang dikirim melalui internet dapat diakses oleh siapa saja yang dapat mengamati traffic jaringan. Oleh karena itu, Data Platform harus dilindungi dengan enkripsi agar pihak yang tidak berwenang tidak dapat membaca data tersebut.
Baik apakah Anda memproses sisi server Data Platform atau tidak:
Tabel di bawah ini merangkum kebijakan enkripsi saat transit untuk berbagai jenis transmisi.
Jenis Transmisi | Kebijakan Enkripsi saat Transit |
---|---|
Ke dan dari perangkat pengguna akhir (telepon seluler, PC, tablet, dsb.) dan server atau infrastruktur cloud Anda |
|
Ke dan dari server atau infrastruktur cloud dan server jarak jauh apa pun, infrastruktur cloud, atau layanan pihak ke-4. | TLS 1.2 atau yang lebih tinggi harus diberlakukan |
Ke dan dari komponen sepenuhnya di dalam pusat data pribadi, server, atau infrastruktur cloud | Enkripsi TLS direkomendasikan tetapi tidak diperlukan untuk transfer Data Platform yang sepenuhnya berada dalam jaringan cloud pribadi |
Ke dan dari Meta dan perangkat, server, atau infrastruktur cloud apa pun | Di Luar Cakupan untuk Penilaian Perlindungan Data - Meta mengontrol kebijakan TLS untuk transfer ini |
Jika Anda diminta mengirimkan bukti untuk perlindungan ini, ikuti petunjuk di bagian Menyiapkan Bukti untuk mengetahui cara menyiapkan bukti kebijakan/prosedur dan penerapan. Cara langsung untuk menghasilkan bukti implementasi yang menunjukkan konfigurasi salah satu web listener web adalah dengan menggunakan alat Uji Server SSL Qualys.
Ini adalah contoh hasil dari alat Uji Server SSL Qualys. Perhatikan anotasi merah di bagian Konfigurasi, yang merangkum versi SSL/TLS mana yang didukung. Catatan: contoh ini hanya mencakup dua halaman pertama tetapi Anda harus menyertakan hasil pengujian lengkap.
Anda mungkin melindungi Data Platform saat transit menggunakan jenis enkripsi yang berbeda selain TLS; ini mungkin dapat diterima jika pendekatan tersebut memberikan perlindungan yang setara. Dalam hal ini, Anda harus mengirimkan detail tentang enkripsi yang digunakan untuk ditinjau oleh Meta:
Pertanyaan: Apakah Anda menguji aplikasi dan sistem untuk kerentanan dan masalah keamanan setidaknya setiap 12 bulan? (Misalnya, apakah Anda melakukan uji penetrasi manual?)
Developer harus menguji kerentanan dan masalah keamanan sehingga dapat ditemukan secara proaktif, yang idealnya mencegah insiden keamanan sebelum terjadi.
Berlaku untuk semua developer:
Persyaratan tambahan untuk developer yang memproses sisi server Data Platform:
Jika organisasi sedang mempertimbangkan untuk menambahkan SAST ke proses pengembangan, NIST akan mempertahankan daftar sumber terbuka dan fitur komersial yang mungkin Anda temukan sebagai titik awal yang berguna untuk memilih fitur.
Jika Anda diminta mengirimkan bukti untuk perlindungan ini, ikuti petunjuk di bagian Menyiapkan Bukti untuk mengetahui cara menyiapkan bukti kebijakan/prosedur dan penerapan.
Jika organisasi memproses Data Platform di lingkungan cloud atau server:
Perangkat lunak cloud atau server yang dapat diakses internet (misalnya, REST API yang digunakan oleh klien web dan seluler) yang Anda gunakan untuk memproses Data Platform harus berada dalam cakupan uji ini agar dapat diterima.
Jika organisasi TIDAK memproses Data Platform di lingkungan cloud atau server:
Uji Penetrasi - Sebuah organisasi menugaskan dilakukannya uji penetrasi terhadap perangkat lunak mereka yang menjalankan sisi server yang terintegrasi dengan Meta API dan memproses Data Platform. Perusahaan penguji menyelesaikan uji dan menghasilkan surat ringkasan seperti di bawah ini. Memberikan anotasi merah, yang menyoroti bahwa tanggal saat uji berlangsung dinyatakan (harus dalam 12 bulan terakhir) dan terdapat ringkasan temuan dengan severitas kritis/tinggi yang belum terselesaikan pada akhir uji (atau uji ulang, jika berlaku) . Harap edit informasi sensitif dari laporan (khususnya, langkah reproduksi kerentanan terperinci apa pun) sebelum mengirimkannya.
Analisis statis - Jika menggunakan pendekatan yang berbeda, misalnya fitur SAST, ekspor hasil ke dalam dokumen yang menyertakan tanggal dijalankannya SAST dan daftar temuan yang mencakup setiap jenis temuan dan tingkat severitas/kritisnya.
Peninjauan Konfigurasi Cloud
Developer memakai NCC Scout Suite yang menggunakan aturan default bagi penyedia cloud mereka (dalam hal ini, AWS) guna meninjau konfigurasi cloud mereka untuk mendeteksi kerentanan dan masalah keamanan. Alat ini menghasilkan file JSON yang berisi hasil run secara detail. Dalam contoh ini, terdapat sejumlah masalah yang ditandai sebagai severitas “Bahaya” yang perlu ditinjau dan diselesaikan oleh developer.
File JSON NCC Scout Suite mentah berisi detail tentang lingkungan cloud Anda yang tidak boleh Anda unggah. Sebagai gantinya, filter tanggapan untuk menunjukkan jumlah temuan berdasarkan tingkat severitas.
$ python3 scout.py aws –-no-browser 2022-08-22 11:39:38 localhost scout[76981] INFO Saving data to scoutsuite-report/scoutsuite-results/scoutsuite_results_aws-043954759379.js $ cd scoutsuite-report/scoutsuite-results $ tail -n +2 scoutsuite_results_aws-043954750000.js| jq '. | {last_run}' | pbcopy { "last_run": { "ruleset_about": "This ruleset consists of numerous rules that are considered standard by NCC Group. The rules enabled range from violations of well-known security best practices to gaps resulting from less-known security implications of provider-specific mechanisms. Additional rules exist, some of them requiring extra-parameters to be configured, and some of them being applicable to a limited number of users.", "ruleset_name": "default", "run_parameters": { "excluded_regions": [], "regions": [], "services": [], "skipped_services": [] }, "summary": { "acm": { "checked_items": 4, "flagged_items": 2, "max_level": "warning", "resources_count": 2, "rules_count": 2 }, "awslambda": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 0 }, "cloudformation": { "checked_items": 11, "flagged_items": 0, "max_level": "warning", "resources_count": 11, "rules_count": 1 }, "cloudfront": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 3 }, "cloudtrail": { "checked_items": 153, "flagged_items": 4, "max_level": "danger", "resources_count": 17, "rules_count": 9 }, "cloudwatch": { "checked_items": 2, "flagged_items": 0, "max_level": "warning", "resources_count": 2, "rules_count": 1 }, "codebuild": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 0 }, "config": { "checked_items": 17, "flagged_items": 0, "max_level": "warning", "resources_count": 1227, "rules_count": 1 }, "directconnect": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 0 }, "dynamodb": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 1, "rules_count": 0 }, "ec2": { "checked_items": 760, "flagged_items": 108, "max_level": "danger", "resources_count": 44, "rules_count": 28 }, "efs": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 0 }, "elasticache": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 0 }, "elb": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 3 }, "elbv2": { "checked_items": 42, "flagged_items": 4, "max_level": "danger", "resources_count": 0, "rules_count": 5 }, "emr": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 0 }, "iam": { "checked_items": 801, "flagged_items": 27, "max_level": "danger", "resources_count": 87, "rules_count": 37 }, "kms": { "checked_items": 15, "flagged_items": 0, "max_level": "warning", "resources_count": 15, "rules_count": 1 }, "rds": { "checked_items": 1, "flagged_items": 0, "max_level": "warning", "resources_count": 27, "rules_count": 9 }, "redshift": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 6 }, "route53": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 1, "rules_count": 3 }, "s3": { "checked_items": 121, "flagged_items": 34, "max_level": "warning", "resources_count": 7, "rules_count": 18 }, "secretsmanager": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 1, "rules_count": 0 }, "ses": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 4 }, "sns": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 7 }, "sqs": { "checked_items": 0, "flagged_items": 0, "max_level": "warning", "resources_count": 0, "rules_count": 8 }, "vpc": { "checked_items": 271, "flagged_items": 211, "max_level": "warning", "resources_count": 0, "rules_count": 9 } }, "time": "2022-08-22 11:42:25-0400", "version": "5.11.0" } }
Pendekatan lain untuk melakukan peninjauan konfigurasi cloud bagi developer yang menggunakan aturan Amazon Web Services.
# Show that AWS Foundational Security Best Practices are enabled $ aws securityhub get-enabled-standards { "StandardsSubscriptions": [ { "StandardsSubscriptionArn": "arn:aws:securityhub:us-west-1:043954759379:subscription/aws-foundational-security-best-practices/v/1.0.0", "StandardsArn": "arn:aws:securityhub:us-west-1::standards/aws-foundational-security-best-practices/v/1.0.0", "StandardsStatus": "READY" } ] } # Show that aggregator is configured for a representative region used to process Platform Data $ aws securityhub list-finding-aggregators $ aws securityhub get-finding-aggregator --finding-aggregator-arn '{REPLACE-WITH-FINDING-AGGREGATOR-ARN}' # Demonstrate that the ruleset is running by fetching active findings and counting the number of lines of output $ aws securityhub get-findings --query 'Findings[?RecordState==`ACTIVE`]' --filters '{"GeneratorId":[{"Value": "aws-foundational-security","Comparison":"PREFIX"}]}' --output text | wc -l 4876 # Demonstrate that there are no active critical severity findings $ aws securityhub get-findings --query 'Findings[?Severity.Label==`CRITICAL`] | [?RecordState==`ACTIVE`] | [*][Title, GeneratorId]' --filters '{"GeneratorId":[{"Value": "aws-foundational-security","Comparison":"PREFIX"}]}' []
Jika mengoperasikan Program Pengungkapan Kerentanan (Vulnerability Disclosure Program/VDP) yang berfungsi, misalnya, menggunakan platform BugCrowd atau HackerOne, Anda dapat menyajikan ini sebagai perlindungan alternatif, bukan uji penetrasi atau pemindaian kerentanan. Untuk menunjukkan ini, Anda harus mengirimkan bukti bahwa:
Dalam hal ini, bukti harus mencakup:
Pertanyaan: Apakah token akses Meta API dan rahasia aplikasi dilindungi dengan kedua cara berikut?
Rahasia aplikasi dan token akses sangat penting untuk keamanan cara Meta API membuat keputusan tentang tindakan yang diizinkan. Jika pihak yang tidak berwenang mendapatkan akses ke kredensial ini, mereka dapat memanggil Meta API - meniru developer sebenarnya - dan mengambil tindakan apa pun yang telah kami berikan kepada aplikasi (misalnya, membaca data dari Meta API tentang pengguna aplikasi).
Token Akses
Rahasia Aplikasi - salah satu dari dua hal ini harus benar:
Jika Anda diminta mengirimkan bukti untuk perlindungan ini, ikuti petunjuk di bagian Menyiapkan Bukti untuk mengetahui cara menyiapkan bukti kebijakan/prosedur dan penerapan.
Sertakan dokumentasi tentang kebijakan untuk melindungi token akses Meta API dan rahasia aplikasi Jika aplikasi memproses token akses Meta sisi server, sertakan bukti yang menunjukkan perlindungan yang Anda ambil (mis., penggunaan brankas, yang menunjukkan bahwa nilai disimpan dalam file terenkripsi format, konfigurasi aplikasi untuk meminta bukti rahasia aplikasi).
Pastikan Anda tidak menyertakan (yaitu, menghapus) nilai teks biasa dari rahasia atau token akses apa pun dalam bukti yang Anda kirimkan.
Organisasi menggunakan AWS Secrets Manager untuk menyimpan data sensitif secara aman, termasuk Rahasia Aplikasi Meta.
Organisasi telah mengonfigurasi aplikasi Metanya agar memerlukan bukti Rahasia Aplikasi untuk panggilan API.
Pertanyaan: Apakah Anda menguji sistem dan proses yang akan Anda gunakan untuk merespons insiden keamanan (mis., kebocoran data atau serangan siber) setidaknya setiap 12 bulan?
Insiden keamanan terjadi pada semua perusahaan cepat atau lambat, sehingga penting bagi organisasi merencanakan sebelumnya tentang siapa yang perlu melakukan tindakan untuk mengatasi insiden tersebut, berkomunikasi dengan pemangku kepentingan, memulihkan dan belajar dari pengalaman.
Developer harus memiliki:
Persyaratan ini berlaku baik Anda memproses sisi server Data Platform ataupun tidak.
Ikuti petunjuk di bagian Menyiapkan Bukti untuk mengetahui cara menyiapkan bukti kebijakan/prosedur dan penerapan.
Developer telah membuat rencana respons insiden komprehensif berdasarkan template ini. Gambar-gambar ini hanya menggambarkan daftar isi tetapi ada tautan di bawah ini ke template lengkap.
Lihat Template rencana respons insiden counteractive lengkap (format docx)
Developer telah melakukan pengujian rencana respons insiden mereka melalui latihan tabletop dan mendokumentasikan hasilnya berdasarkan template ini.
Hanya dua halaman pertama yang disertakan di sini, tetapi Anda harus mengirimkan seluruh dokumen.
Pertanyaan: Apakah Anda memerlukan autentikasi multi-faktor untuk akses jarak jauh ke setiap akun yang bisa terhubung ke lingkungan cloud atau server dan/atau untuk mengakses layanan yang Anda gunakan untuk melaksanakan, memelihara, memantau, dan mengoperasikan sistem tempat Anda menyimpan Data Platform dari Meta?
Teknik umum yang digunakan oleh musuh untuk mendapatkan akses ke data rahasia adalah memulai dengan mendapatkan akses ke fitur yang digunakan developer untuk membuat atau mengoperasikan aplikasi/sistem mereka. Fitur canggih tersedia untuk meretas akun yang hanya dilindungi oleh kata sandi; autentikasi multi-faktor memberikan lapisan keamanan tambahan untuk melindungi dari risiko ini.
Terkait dengan pemrosesan Data Platform organisasi, akses jarak jauh ke fitur ini harus dilindungi dengan autentikasi multi faktor (yaitu, bukan sekadar kata sandi):
Secara khusus, MFA atau perlindungan alternatif yang dapat diterima diperlukan untuk hal-hal berikut:
Tentang penerapan MFA:
Jika Anda diminta mengirimkan bukti untuk perlindungan ini, ikuti petunjuk di bagian Menyiapkan Bukti untuk mengetahui cara menyiapkan bukti kebijakan/prosedur dan penerapan.
Organisasi menggunakan AzureAD sebagai solusi Single Sign On mereka. Kebijakan ini memerlukan Autentikasi Multi Faktor.
Kebijakan tersebut kemudian dipetakan ke aplikasi cloud yang menerapkannya. Dengan menggunakan pendekatan ini, bukti harus menunjukkan seluruh bagian Item terpilih untuk memperjelas aplikasi cloud mana yang memerlukan MFA.
Aturan ini membutuhkan MFA untuk semua login.
Ini adalah contoh kebijakan AWS IAM yang mengizinkan konfigurasi MFA tetapi melarang tindakan lain jika MFA tidak ada.
Organisasi telah mengonfigurasi autentikasi GitHub untuk mewajibkan MFA bagi semua orang di organisasi.
Pertanyaan: Apakah Anda memiliki sistem untuk memelihara akun (menetapkan, mencabut, dan meninjau akses serta hak istimewa)?
Memiliki kebersihan manajemen akun yang baik adalah bagian penting untuk mencegah penggunaan akun yang tidak berwenang untuk mendapatkan akses ke Data Platform. Secara khusus, developer harus memastikan bahwa akses ke sumber daya atau sistem dicabut ketika tidak lagi diperlukan.
Persyaratan ini berlaku baik Anda memproses sisi server Data Platform ataupun tidak.
Ikuti petunjuk di bagian Menyiapkan Bukti untuk mengetahui cara menyiapkan bukti kebijakan/prosedur dan penerapan.
Kebijakan/prosedur - Developer telah membuat Standar Pengelolaan Siklus Masa Pakai Akses yang mencakup prosedur untuk memberikan, meninjau, dan mencabut akses.
Developer menggunakan Workday sebagai sumber otoritatif untuk data Sumber Daya Manusia (SDM), termasuk status pekerjaan saat ini. Developer tersebut menggunakan Google Cloud Identity sebagai Penyedia Identitas (IdP) mereka untuk mengelola akun pengguna dan memberikan akses ke sistem dan alat informasi.
Developer mengirimkan bukti bahwa akses untuk personel yang keluar telah dicabut dengan mengirimkan laporan yang menunjukkan bahwa laporan rekonsiliasi terbaru (yaitu, dalam 12 bulan terakhir) telah dijalankan yang menunjukkan bahwa tidak ada akun pengguna aktif di Google Cloud Identity untuk orang yang bukan merupakan karyawan aktif menurut laporan karyawan saat ini di Workday.
Developer menggunakan Google Cloud Identity sebagai Penyedia Identitas (IdP) mereka untuk mengelola akun pengguna dan memberikan akses ke sistem dan alat informasi.
Developer mengirimkan bukti bahwa akses dicabut ketika tidak lagi digunakan (misalnya, tidak ada aktivitas login dalam 6 bulan terakhir) dengan mengirimkan bukti direktori pengguna mereka yang diurutkan berdasarkan login terakhir guna menunjukkan bahwa tidak ada akun pengguna aktif di mana login terakhir di lebih lama dari waktu tersebut.
Developer menggunakan alat Single Sign On (SSO) untuk manajemen identitas dan pemberian akses ke sistem dan fitur informasi. Developer telah mengonfigurasi GitHub untuk mewajibkan autentikasi SSO.
Pertanyaan: Apakah Anda memiliki sistem untuk menjaga kode sistem dan lingkungan diperbarui, termasuk server, mesin virtual, distribusi, pustaka, paket, dan perangkat lunak antivirus?
Komponen perangkat lunak diperbarui atau dipatching secara rutin untuk mengatasi kerentanan keamanan, dan pada akhirnya komponen ini akan mencapai akhir masa pakainya saat tidak lagi didukung. Developer yang mengemas atau mengandalkan komponen ini harus selalu mengikuti perkembangan untuk menghindari menjalankan perangkat lunak dengan kerentanan yang diketahui.
Untuk komponen perangkat lunak berikut, sebagaimana berlaku, Anda harus memiliki cara yang pasti dan dapat diulang untuk mengidentifikasi patch yang tersedia yang mengatasi kerentanan keamanan, memprioritaskan berdasarkan risiko, dan menerapkan patch sebagai aktivitas yang berlangsung:
Meta tidak memerlukan penggunaan fitur tertentu untuk aktivitas ini. Sudah umum bahwa organisasi akan menggunakan beragam pendekatan agar versi berbagai jenis perangkat lunak yang digunakannya selalu yang terkini (misalnya, galeri yang dikemas dengan pembaruan aplikasi vs sistem operasi untuk laptop karyawan).
Persyaratan ini berlaku terlepas dari apa pun pendekatan hostingnya (mis., BaaS, PaaS, IaaS, self-host, atau hybrid), meskipun set komponen yang menjadi tanggung jawab Anda untuk tetap terkini akan berbeda-beda
Diagram di bawah ini mengilustrasikan di mana patching mungkin diperlukan untuk berbagai jenis arsitektur.
Jika Anda diminta mengirimkan bukti untuk perlindungan ini, ikuti petunjuk di bagian Menyiapkan Bukti untuk mengetahui cara menyiapkan bukti kebijakan/prosedur dan penerapan.
Mulai dengan mengidentifikasi jenis perangkat lunak dalam lingkup di lingkungannya, misalnya, Galeri, SDK, Paket, citra Mesin Virtual, penampung aplikasi, serta sistem operasi, Browser, sistem operasi, dan aplikasi lainnya yang digunakan oleh karyawan/kontributor.
Anda mungkin memiliki satu atau beberapa fitur yang Anda gunakan untuk aktivitas berikut:
Snyk untuk aplikasi NodeJS - Developer menggunakan Command Line Interface (CLI) Synk untuk mengidentifikasi dependensi pihak ketiga dalam paket yang telah mengetahui kerentanan keamanan dan memprioritaskan berdasarkan tingkat severitas kerentanan tersebut.
Developer menggunakan Audit NPM untuk menemukan kerentanan dalam dependensi yang digunakan dalam aplikasi Node. Contoh citra di bawah menunjukkan beberapa kerentanan severitas tinggi yang memerlukan patching.
Developer menggunakan Trivy untuk menemukan kerentanan dalam citra mesin. Contoh citra di bawah menunjukkan kerentanan tingkat severitas tinggi di galeri yang disertakan dalam citra ini yang memerlukan patching.
Developer menggunakan Windows Server Update Services (WSUS) untuk mengelola perangkat server dan PC/laptopnya. Contoh citra di bawah ini menunjukkan tampilan admin fitur WSUS, yang memungkinkan untuk meninjau, menyetujui, dan menerapkan pembaruan Windows.
Tanpa file log yang andal, sulit bagi developer untuk mendeteksi akses tidak sah ke Data Platform.
Jika Anda memproses sisi server Data Platform, maka dalam lingkungan itu:
Jika Anda diminta untuk mengunggah bukti, itu harus menunjukkan bahwa:
Memahami bagaimana Data Platform diharapkan diproses, lalu memantau pemrosesan aktual adalah cara penting bagi organisasi untuk memastikan bahwa Data Platform hanya digunakan untuk tujuan yang dimaksudkan
Jika Anda memproses sisi server Data Platform, di dalam lingkungan server tersebut Anda harus:
Jika Anda diminta mengirimkan bukti untuk perlindungan ini, ikuti petunjuk di bagian Menyiapkan Bukti untuk mengetahui cara menyiapkan bukti kebijakan/prosedur dan penerapan.
Anda harus memberikan bukti bahwa:
Tidak realistis jika hanya mengandalkan manusia untuk meninjau dan mengidentifikasi perilaku tak terduga dalam sistem modern yang dapat diakses internet. Karenanya, terdapat fitur yang dapat menyerap file log dan sinyal lain untuk membunyikan alarm yang memerlukan investigasi lebih lanjut oleh manusia.
Jika Anda memproses sisi server Data Platform, di dalam lingkungan server tersebut Anda harus:
Pengembang biasanya akan mengadopsi fitur Security Information and Event Management (SIEM) untuk tujuan ini, misalnya:
Anda harus memberikan bukti bahwa sumber sinyal yang relevan benar-benar diarahkan ke fitur pilihannya, bahwa pemicu atau alarm telah dikonfigurasi, bukti bahwa alarm diarahkan kepada orang yang bertanggung jawab untuk menindaklanjuti, dan terakhir bahwa ada proses ketika alarm diatur secara berkala (misalnya, melalui tinjauan bulanan dan siklus pembaruan).
Pihak ketiga - dalam terminologi manajemen risiko, pihak ketiga mengacu pada developer di platform Meta (pihak pertama adalah Meta sendiri; pihak kedua adalah orang yang menggunakan produk Meta)
Pihak keempat - dalam manajemen risiko, pihak keempat mengacu pada perusahaan yang diandalkan developer untuk menyediakan layanan yang menjalankan bisnis mereka (pihak pertama adalah Meta, pihak kedua adalah pengguna Meta, dan pihak ketiga adalah developer di platform Meta) Token akses - kredensial, seperti kata sandi, yang memungkinkan perangkat lunak memanggil API untuk mengambil tindakan (mis., membaca data dari profil pengguna).
Amazon Web Services (AWS) - Serangkaian layanan komputasi cloud Amazon
ID Lingkup aplikasi (ASID) - pengidentifikasi unik yang dibuat Meta saat seseorang memilih untuk menggunakan aplikasi. ASID membantu meningkatkan privasi bagi pengguna dengan mempersulit set data untuk menghubungkan pengguna di seluruh aplikasi, karena satu pengguna yang menggunakan dua aplikasi akan memiliki ASID yang berbeda di setiap aplikasi.
Rahasia aplikasi - rahasia bersama yang disediakan Meta untuk developer melalui dasbor aplikasi. Kepemilikan rahasia aplikasi mengotorisasi perangkat lunak untuk mengambil beberapa tindakan melalui Graph API, jadi developer perlu berhati-hati agar pihak tanpa otorisasi tidak dapat mengakses rahasia aplikasi.
Pembobolan aplikasi - jika aktor jahat dapat memperoleh akses tidak sah ke jaringan internal organisasi melalui kesalahan konfigurasi atau kerentanan di dalam aplikasi mereka (mis., kerentanan perangkat lunak di aplikasi web), itu disebut pembobolan aplikasi. Perlindungan terhadap pembobolan aplikasi adalah dengan melakukan uji penetrasi pada aplikasi. Lihat juga pembobolan jaringan.
Kontainer aplikasi - kontainer mengemas kode perangkat lunak dan dependensi terkait sehingga aplikasi akan berjalan di berbagai jenis server (mis., server yang menjalankan sistem operasi yang berbeda seperti Linux atau Windows Server). Developer akan membuat gambar kontainer yang mengemas aplikasi mereka. Mesin kontainer aplikasi atau runtime menghosting (menjalankan) gambar kontainer.
Enkripsi aplikasi - metode untuk melindungi data di mana perangkat lunak aplikasi itu sendiri melakukan operasi enkripsi dan dekripsi. Sebaliknya, Transport Layer Security (TLS) dengan lancar mengenkripsi data dalam transit saat aplikasi menciptakan koneksi yang aman ke server jarak jauh (mis., menggunakan HTTPS) dan penyedia cloud menawarkan layanan untuk mengenkripsi data saat istirahat secara transparan.
Antarmuka Pemrograman Aplikasi (API) - memungkinkan dua komputer berbicara dengan satu sama lain melalui jaringan, misalnya aplikasi seluler mengambil cuaca hari ini untuk lokasi tertentu dari sistem ramalan cuaca terpusat.
Bukti rahasia aplikasi - lapisan keamanan tambahan untuk panggilan API ke Meta di mana developer membuat parameter (bukti rahasia aplikasi) yang menunjukkan bahwa mereka memiliki rahasia aplikasi. Bukti rahasia aplikasi adalah produk hashing (juga disebut fungsi satu arah) berdasarkan rahasia aplikasi dan token akses. Mengonfigurasi aplikasi untuk mengharuskan bukti rahasia aplikasi saat pemanggilan Graph API mengurangi potensi bahaya dari pelanggaran token akses pengguna, karena token akses tersebut tidak dapat digunakan tanpa parameter bukti rahasia aplikasi tambahan.
Backend as a Service (BaaS) - gaya komputasi cloud yang menyediakan serangkaian kemampuan server-side untuk developer aplikasi agar developer dapat fokus pada menciptakan frontend (yaitu bagian aplikasi yang berinteraksi dengan pengguna). Solusi BaaS serupa dengan PaaS dan, selain itu, menambahkan layanan seperti autentikasi pengguna dan notifikasi otomatis seluler. Misalnya, ini adalah beberapa produk BaaS populer: AWS Amplify, Azure Mobile Apps, Firebase, dan MongoDB Switch.
Teks tersandi - sinonim untuk data terenkripsi, teks tersandi adalah nama yang diberikan pada data yang telah dibuat tidak dapat dibaca melalui beberapa algoritma enkripsi. Kebalikan dari teks tersandi adalah teks terang.
Client side - orang biasanya berinteraksi dengan layanan yang dapat diakses dengan internet dengan membuka situs web di browser atau menjalankan aplikasi seluler di ponsel atau tablet. Browser atau aplikasi seluler disebut sebagai klien lokal atau client side. Klien membuat permintaan dari komputer jarak jauh (server) melalui internet.
Komputasi cloud - mengacu pada gaya pengelolaan komputer, jaringan, dan penyimpanan server sehingga organisasi tidak perlu khawatir tentang lingkungan fisik (yaitu pusat data penuh dengan rak server dan kabel jaringan). Sebaliknya, organisasi dapat menyediakan aset ini sesuai permintaan dan membayar layanan yang mereka gunakan.
Konfigurasi cloud - set opsi komputasi cloud yang telah ditetapkan oleh organisasi sehubungan dengan penggunaan mereka atas penyedia cloud yang menjalankan beberapa perangkat lunak. Contoh konfigurasi cloud mencakup jenis koneksi jaringan apa yang diizinkan atau diblokir, di mana file log ditulis dan berapa lama disimpan, dan set pengguna yang diotorisasi untuk membuat perubahan pada konfigurasi cloud.
Kontrol kompensasi - kontrol keamanan yang berbeda dari beberapa set persyaratan dasar tetapi dimaksudkan untuk memberikan perlindungan yang sebanding terhadap risiko.
Database - perangkat lunak yang memungkinkan data arbitrer disimpan, dibaca, diperbarui, dan dihapus. Database dapat berjalan di klien dan di server. Organisasi yang berintegrasi dengan platform Meta biasanya akan menyimpan data yang mereka ambil dari Graph API dalam database yang menjalankan server side.
Dekripsi - proses di mana data terenkripsi diubah kembali ke format aslinya. Dengan kata lain, dekripsi mengubah teks tersandi menjadi teks terang.
Enkripsi - proses di mana data diubah ke format yang tidak dapat digunakan oleh siapa saja yang tidak dapat mendekripsinya. Dengan kata lain, enkripsi mengubah teks terang menjadi teks tersandi.
Enkripsi saat istirahat - data yang sudah dilindungi dengan enkripsi saat ditulis ke penyimpanan tetap (mis., disk drive). Enkripsi saat istirahat memberikan lapisan perlindungan tambahan terhadap akses tidak sah karena aktor yang dapat membaca file mentah di perangkat penyimpanan akan melihat teks tersandi dan tidak akan dapat mendekripsinya kecuali mereka juga dapat memperoleh akses ke kunci dekripsi.
Enkripsi dalam transit - data yang sudah dilindungi dengan enkripsi saat dikirim melalui jaringan. Enkripsi dalam transit memberikan perlindungan terhadap penyadapan di sepanjang jalur jaringan karena aktor yang dapat membaca paket jaringan akan melihat teks tersandi dan tidak akan dapat mendekripsinya kecuali mereka juga dapat memperoleh akses ke kunci dekripsi.
Perangkat lunak End of Life (EOL) - saat organisasi memilih menghentikan dukungan (mis., membuat patch untuk mengatasi kerentanan keamanan) untuk produk perangkat lunak, perangkat lunak tersebut dianggap EOL. Karena perangkat lunak ini tidak lagi dipelihara, sangat berisiko untuk menjalankan perangkat lunak EOL.
Google Cloud Platform (GCP) - serangkaian Graph API layanan komputasi cloud Google - cara utama bagi aplikasi untuk membaca dan menulis ke grafik sosial Meta. Semua SDK dan produk Meta berinteraksi dengan Graph API dalam beberapa cara.
Fungsi hashing - fungsi kriptografi yang mengambil data sebagai input dan menghasilkan kode pendek yang tidak dapat dibalik menjadi input asli. Dalam kriptografi, fungsi hashing digunakan untuk melindungi data seperti kata sandi, alih-alih menyimpan kata sandi pengguna sebagai teks terang yang dapat dicuri, kata sandi pertama-tama diubah dengan fungsi hash lalu disimpan. Kemudian, untuk mengonfirmasi bahwa pengguna memasukkan kata sandi yang benar, sistem akan menggunakan fungsi hash yang sama untuk mengubah input dan membandingkan hash yang dihasilkan dengan nilai yang disimpan. Disebut juga sebagai fungsi satu arah karena hash output tidak dapat dibalik menjadi input asli.
Lingkungan yang di-hosting - mengacu pada set server jarak jauh, jaringan, dan perangkat penyimpanan yang dijalankan organisasi di pusat data mereka sendiri atau dalam pusat data kolokasi (atau colo) dengan pelanggan lain. Pengaturan ini relatif jarang di era modern karena komputasi cloud menjadi lebih populer.
Penyedia identitas (IdP) - layanan cloud yang digunakan untuk memusatkan manajemen identitas digital dan mengautentikasi pengguna. Organisasi yang menggunakan IdP biasanya mengonfigurasi aplikasi cloud untuk mengandalkan IdP untuk autentikasi pengguna. Organisasi kemudian dapat mengelola pengguna dengan membuat, memberikan akses ke aplikasi yang dipilih, dan menonaktifkan akun pengguna secara terpusat dalam IdP, bukan melakukannya berulang kali di setiap aplikasi cloud.
Manajemen Identitas dan Akses (IAM) - mengacu pada kategori fitur dan proses yang digunakan untuk mengelola akun dan memberikan akses ke sistem.
Infrastructure as a Service (IaaS) - pendekatan komputasi cloud yang memungkinkan pelanggan mengonfigurasi layanan komputasi, penyimpanan, dan jaringan tanpa bertanggung jawab sendiri atas aset fisik (mis., mengelola pusat data yang penuh dengan server, perangkat jaringan, dan array penyimpanan). Dibandingkan Paas, IaaS memberi organisasi lebih banyak kontrol atas konfigurasi aset cloud mereka, tetapi dengan lebih banyak kompleksitas dalam mengelola aset tersebut. Misalnya, ini adalah beberapa produk IaaS populer: AWS EC2, Microsoft Azure IaaS, dan Google Compute Engine.
Pustaka - blok bangunan perangkat lunak yang sudah ada sebelumnya, biasanya dari perusahaan atau developer eksternal, yang digunakan untuk menangani tugas tertentu dalam aplikasi atau sistem developer lain. Pustaka menyederhanakan pengembangan aplikasi karena developer tidak perlu membuat kembali wheel ketika pustaka sudah ada untuk fungsi tertentu. Namun, pustaka dapat memiliki kerentanan keamanan, atau dapat menyertakan sendiri pustaka tambahan yang memilikinya, sehingga developer yang menggunakan pustaka sebagai bagian dari aplikasi mereka perlu mengetahui pustaka apa yang digunakan dan menjaganya tetap terbaru dari waktu ke waktu.
Klien seluler atau aplikasi seluler - aplikasi yang diinstal seseorang di ponsel atau tablet dari toko aplikasi seluler (mis., iOS App Store atau Google Play Store). Sudah umum bagi klien seluler untuk berkomunikasi melalui internet dengan REST API organisasi dan juga dapat berkomunikasi dengan pihak lain (mis., ke Graph API melalui Facebook SDK untuk Android).
Autentikasi Multi-Faktor (MFA) - pendekatan autentikasi yang memerlukan lebih dari satu faktor untuk memperoleh akses ke aplikasi atau sistem. MFA, berbeda dengan autentikasi satu faktor yang hanya mengandalkan kata sandi untuk mengautentikasi pengguna, biasanya akan memerlukan kata sandi ditambah satu atau beberapa hal ini: kode yang dikirim melalui email atau SMS, kode dari aplikasi autentikator, pemindaian biometrik, atau kode keamanan. MFA melindungi dari pengambilalihan akun dengan mempersulit aktor tanpa otorisasi memaksa masuk ke akun, mis., dengan berulang kali mencoba login ke akun menggunakan alamat email yang diketahui dan kata sandi umum hingga berhasil.
Perangkat lunak native - aplikasi yang diunduh dan diinstal ke laptop atau perangkat seluler disebut sebagai perangkat seluler native (mis., aplikasi Facebook untuk iOS). Sebaliknya, aplikasi yang berjalan dalam browser disebut sebagai aplikasi web (mis., membuka Facebook menggunakan browser Chrome).
Pembobolan jaringan - jika aktor jahat dapat memperoleh akses tidak sah ke jaringan internal organisasi melalui kesalahan konfigurasi atau kerentanan di dalam jaringan itu sendiri, itu disebut pembobolan jaringan. Perlindungan terhadap pembobolan jaringan adalah menjalankan pemindaian jaringan untuk mengidentifikasi kesalahan konfigurasi dan kerentanan di dalam jaringan yang dapat diakses dari internet. Lihat juga pembobolan aplikasi.
Pemindaian jaringan - proses manajemen risiko yang menggunakan perangkat lunak untuk: (1) mengidentifikasi server aktif di jaringan yang akan menanggapi komunikasi jarak jauh, lalu (2) melihat apakah salah satu server tersebut menjalankan perangkat lunak versi lama yang diketahui rentan terhadap satu atau beberapa eksploitasi keamanan. Organisasi dapat menggunakan pemindaian jaringan secara berkala untuk memastikan bahwa tidak ada port terbuka yang tidak terduga di perimeter jaringan mereka, misalnya.
Node Package Manager (NPM) - sebuah fitur yang digunakan oleh developer JavaScript untuk mempercepat pengembangan dengan memungkinkan paket yang dibuat sebelumnya disertakan di dalam aplikasi atau sistem developer. NPM menyertakan fitur untuk mengaudit set paket yang digunakan oleh aplikasi dan untuk mengidentifikasi paket yang memiliki kerentanan keamanan yang diketahui.
Bucket penyimpanan objek - jenis penyimpanan tetap di cloud yang memudahkan organisasi untuk menyimpan file ke penyimpanan tetap, termasuk file yang sangat besar, tanpa perlu khawatir tentang meningkatkan skala aset fisik seperti array penyimpanan atau cara mencadangkan file ini untuk memastikannya tidak hilang jika terjadi bencana seperti kebakaran atau banjir.
Sistem Operasi - perangkat lunak yang berjalan di komputer atau perangkat seluler yang memungkinkan aplikasi berjalan dan menggunakan prosesor, memori, penyimpanan, dan sumber daya jaringan komputer tersebut. Misalnya, Windows Microsoft, macOS atau iOS Apple, dan Linux.
Anggota organisasi - seseorang dengan peran dan tanggung jawab dalam organisasi, misalnya karyawan, kontraktor, pekerja kontingen, magang, atau relawan.
Perangkat organisasi - komputer atau perangkat seluler yang digunakan oleh anggota organisasi dalam konteks melakukan pekerjaan untuk organisasi.
Ketentuan Platform 6.a.i - Mengacu pada Ketentuan Platform Meta bagian (6) judul (a) paragraf (i), yang menjelaskan kewajiban developer platform terkait dengan keamanan data.
Paket - sinonim untuk pustaka
Patch - pembaruan perangkat lunak yang mengatasi kerentanan keamanan, memperbaiki bug, atau menambah fungsionalitas baru. Semua jenis perangkat lunak mendapatkan patch, termasuk Sistem Operasi, kontainer, pustaka, dan SDK.
Uji penetrasi - serangan simulasi terhadap aplikasi atau sistem di mana penguji mencoba menemukan kerentanan dalam kode atau konfigurasi yang dapat dieksploitasi oleh aktor tanpa otorisasi. Penguji penetrasi akan menggunakan fitur yang mirip dengan penjahat siber untuk melakukan pengintaian, memindai potensi kelemahan, dan menguji kerentanan yang dapat digunakan untuk mendapatkan akses tidak sah. Di akhir uji penetrasi, penguji akan membuat laporan yang menjelaskan temuan bersama dengan tingkat keseriusan masing-masing dan organisasi yang memelihara perangkat lunak bertanggung jawab untuk membuat perbaikan untuk mengatasi kerentanan.
Teks terang - sinonim untuk data yang tidak terenkripsi, teks terang adalah nama yang diberikan untuk data yang belum dilindungi oleh enkripsi. Platform as a Service (PaaS) - pendekatan komputasi cloud di mana pelanggan meluncurkan aplikasi ke dalam platform yang dikelola oleh penyedia cloud. Dibandingkan IaaS, PaaS lebih mudah dikelola oleh pelanggan karena tidak hanya aset fisik (yaitu, server, perangkat penyimpanan, dan perangkat jaringan) dikelola oleh host cloud, tetapi juga sistem operasi dan kontainer aplikasi tempat aplikasi pelanggan berjalan. Misalnya, ini adalah beberapa produk PaaS populer: AWS Elastic Beanstalk, Google App Engine, Force.com.
Port - ketika klien membuat koneksi ke server melalui internet, alamat destinasi memiliki dua bagian: (1) alamat Protokol Internet (IP) untuk server dan (2) nomor port di server itu yang akan ditanggapi oleh aplikasi tertentu. Protokol umum menggunakan port yang dicadangkan (misalnya, HTTPS menggunakan 443) tetapi developer dapat menggunakan port khusus untuk komunikasi jaringan jika diinginkan.
REST API - gaya yang diadopsi secara luas untuk membangun layanan yang dapat diakses web di mana klien dan server berkomunikasi menggunakan protokol HTTP. Developer di platform Meta mungkin menghosting REST API di subdomain seperti api.example.com di mana aplikasi seluler mereka mengirim dan menerima Data Platform ke/darinya.
Secure Shell (SSH) - skema komunikasi yang memungkinkan administrator untuk login dari jarak jauh ke server dan menjalankan program di server tersebut. Disebut aman karena komunikasi antara klien dan server dilindungi dari penyadapan, tidak seperti protokol sebelumnya seperti Telnet. Juga disebut sebagai Secure Socket Shell.
Secure Sockets Layer (SSL) - Versi enkripsi yang usang dan tidak aman dalam perjalanan. Versi aman yang modern disebut Transport Layer Security (TLS).
Server - komputer yang menyediakan layanan jarak jauh melalui jaringan. Browser dan aplikasi seluler terhubung ke server melalui internet.
Komputasi tanpa server - gaya komputasi cloud di mana host cloud mengelola infrastruktur fisik, sistem operasi server, dan kontainer. Developer hanya bertanggung jawab atas kode khusus dan pustaka terkait bersama dengan konfigurasi cloud.
Server side - data atau komputasi di sisi lain koneksi jaringan (yaitu, di server) disebut sebagai server side. Sebaliknya, data atau komputasi pada perangkat lokal seperti laptop atau perangkat seluler disebut sebagai client side.
Single Sign On (SSO) - pengaturan di mana aplikasi mengandalkan direktori pengguna terpusat (yaitu, IdP) untuk mengautentikasi pengguna. Selain memusatkan administrasi akun pengguna dan akses aplikasi untuk organisasi, pengguna diuntungkan dengan memiliki satu set kredensial alih-alih mengharuskan pengguna untuk menjaga kredensial yang berbeda (mis., nama pengguna dan kata sandi) untuk setiap aplikasi yang berbeda.
Kit Pengembangan Perangkat Lunak (SDK) - blok bangunan kode yang dapat digunakan developer untuk menyederhanakan proses pengembangan untuk kebutuhan tertentu. Misalnya, Meta membuat dan memelihara SDK yang menyederhanakan bekerja dengan Graph API untuk developer iOS dan Android. Serupa dengan pustaka, developer yang menggunakan SDK di aplikasi mereka harus selalu memperbaruinya dari waktu ke waktu.
Software as a Service (SaaS) - memungkinkan pelanggan untuk menggunakan aplikasi berbasis cloud melalui internet. Tidak seperti PaaS atau IaaS, pelanggan aplikasi SaaS tidak menerapkan kode khusus atau bertanggung jawab untuk mengonfigurasi, mengupgrade, atau melakukan patching aplikasi SaaS karena semua ini adalah tanggung jawab vendor perangkat lunak SaaS. Misalnya, ini adalah beberapa produk SaaS populer: Dopbox, MailChip, Salesforce, Slack.
Analisis statis - lihat Pengujian Keamanan Aplikasi Statis
Pengujian Keamanan Aplikasi Statis (SAST) - pendekatan untuk menemukan kerentanan dalam perangkat lunak dengan menjalankan fitur khusus pada kode sumber. Fitur SAST akan mengidentifikasi potensi kerentanan, seperti yang tercantum dalam proyek 10 Teratas OWASP, lalu developer bertanggung jawab untuk meninjau temuan, membedakan positif benar dari positif palsu, dan memperbaiki kerentanan dalam perangkat lunak. SAST dapat berguna karena memungkinkan developer menemukan kerentanan sebelum dimasukkan ke dalam produksi, tetapi tidak seperti uji penetrasi, fitur SAST tidak akan dapat menemukan kerentanan yang terkait dengan konfigurasi produksi aplikasi.
Enkripsi data transparan - jenis enkripsi saat istirahat yang biasanya berlaku untuk penyimpanan database (yaitu, isi database itu sendiri dan file lognya). Dalam pengaturan ini, perangkat lunak database mengelola kunci enkripsi dan secara transparan menangani operasi enkripsi (saat menulis) dan operasi dekripsi (saat membaca).
Transport Layer Security (TLS) - skema enkripsi dalam transit yang menggunakan enkripsi untuk melindungi data yang dikirimkan melalui jaringan dari penyadap di sepanjang jalur jaringan. TLS adalah versi aman dan modern dari teknologi lama yang disebut SSL.
Autentikasi Dua Faktor (2Fac) - sinonim untuk Autentikasi Multi-Faktor. Vault - sistem manajemen rahasia untuk data sensitif seperti kunci enkripsi, token akses, dan kredensial lainnya. Vault memungkinkan kontrol ketat atas siapa yang dapat mengakses rahasia di dalamnya dan menawarkan layanan tambahan seperti menyimpan log audit.
Mesin Virtual (VM) - sangat mirip dengan Kontainer Aplikasi – VM berjalan di host yang disebut hypervisor sedangkan Kontainer Aplikasi berjalan di mesin kontainer. Perbedaan utamanya adalah gambar VM berisi Sistem Operasi sedangkan Kontainer Aplikasi tidak. Baik VM maupun Kontainer Aplikasi berisi aplikasi dan dependensi seperti pustaka.
Virtual Private Cloud (VPC) - istilah yang digunakan oleh AWS untuk mengacu pada set sumber daya cloud yang menyerupai jaringan tradisional di pusat data di era sebelum cloud.
Kerentanan - cela dalam sistem atau aplikasi yang dapat dieksploitasi, misalnya, untuk membaca data yang tidak berhak dibaca oleh aktor
Program Pengungkapan Kerentanan (VDP) - pendekatan di mana organisasi meminta laporan kerentanan keamanan dari peneliti (kadang-kadang disebut peretas etis) sehingga kerentanan dapat ditemukan dan diperbaiki sebelum aktor jahat mengeksploitasinya. VDP yang efektif membutuhkan sekelompok peneliti yang secara aktif mencari kerentanan, analis dalam organisasi untuk meninjau dan melakukan triase pengungkapan yang masuk, dan engineer yang memiliki pengetahuan tentang keamanan siber yang mampu membuat dan menerapkan perbaikan untuk kerentanan.
Pemindaian kerentanan - pendekatan yang menggunakan perangkat lunak untuk mencari kerentanan di server, jaringan, dan aplikasi. Dibandingkan uji penetrasi, pemindaian kerentanan lebih murah untuk dijalankan dan karenanya dapat dijalankan berulang kali (mis., bulanan atau triwulanan) tetapi biasanya uji penetrasi akan menemukan kerentanan yang dilewatkan oleh pemindaian kerentanan karena penguji penetrasi yang terampil membawa keterampilan dan naluri analitis yang sulit ditiru dengan pendekatan yang sepenuhnya otomatis. Lihat juga pemindaian jaringan.
Aplikasi web - Aplikasi web adalah program yang berjalan di dalam browser dan terdiri dari sumber daya seperti dokumen HTML, kode JavaScript, video dan media lainnya, dan CSS untuk penataan gaya. Berbeda dengan aplikasi seluler yang diinstal seseorang ke ponsel dari toko aplikasi, orang cukup mengambil aplikasi web dari server jarak jauh menggunakan browser mereka (mis., www.facebook.com) tanpa memerlukan langkah penginstalan.