ข้อกำหนดด้านความปลอดภัยของข้อมูลต่อไปนี้สอดคล้องกับการประเมินการคุ้มครองข้อมูลปี 2023
คุณสามารถดูเวอร์ชั่นของการประเมินที่ได้รับหลังเดือนกุมภาพันธ์ปี 2024 ได้ที่หน้านี้
แอพที่มีสิทธิ์การเข้าถึงข้อมูลแพลตฟอร์มบางประเภทจาก Meta จะต้องดำเนินการประเมินการคุ้มครองข้อมูล (DPA) รายปีให้เสร็จสมบูรณ์ DPA ได้รับการออกแบบมาเพื่อพิจารณาว่าผู้พัฒนาปฏิบัติตามข้อกำหนดแพลตฟอร์มของ Metaหรือไม่ โดยเกี่ยวข้องกับการใช้ การแชร์ และการคุ้มครองข้อมูลแพลตฟอร์ม แบบสอบถามชุดย่อยของ DPA จะมุ่งเน้นที่ข้อกำหนดแพลตฟอร์มส่วนที่ 6 ซึ่งระบุถึงข้อกำหนดเกี่ยวกับการรักษาความปลอดภัยของข้อมูล เราขอแนะนำให้คุณใช้เอกสารนี้เพื่อทำความเข้าใจเกี่ยวกับความคาดหวัง ข้อกำหนด และหลักฐานที่เกี่ยวข้อง ซึ่งเกี่ยวเนื่องกับการใช้และการประมวลผลการรักษาความปลอดภัยของข้อมูลตามที่ระบุไว้ในข้อกำหนดแพลตฟอร์มของ Meta
โปรดทราบว่าที่ท้ายเอกสารฉบับนี้มีอภิธานศัพท์พร้อมคำสำคัญและคำจำกัดความอยู่
ดูแหล่งข้อมูลที่เป็นวิดีโอเพิ่มเติมจากโปรโตคอลข้อมูล
ในเอกสารนี้มีการใช้วลีฝั่งเซิร์ฟเวอร์เป็นคำย่อสำหรับสภาพแวดล้อมแบ็กเอนด์ที่องค์กรใช้ประมวลผลข้อมูลแพลตฟอร์ม ไม่ว่าจะดำเนินการบนโฮสต์ระบบคลาวด์อย่าง Amazon Web Services (AWS), โฮสต์โดยผู้พัฒนาในศูนย์ข้อมูลที่ใช้ร่วมกันหรือศูนย์ข้อมูลส่วนบุคคล หรือแบบผสมผสาน (การใช้ตัวเลือกเหล่านี้รวมกัน)
ข้อกำหนดฝั่งไคลเอ็นต์หมายถึงการประมวลผลข้อมูลแพลตฟอร์มภายในเบราว์เซอร์ อุปกรณ์มือถือ ภายในแอพบนคอมพิวเตอร์เดสก์ท็อปและแล็ปท็อป และอุปกรณ์ประเภทอื่นๆ ที่ผู้คนใช้
สร้าง (หรืออัพเดต หากจำเป็น) แผนผังเส้นทางของข้อมูลหรือคำอธิบายที่แสดงให้เห็นว่าแอพหรือระบบประมวลผลข้อมูลแพลตฟอร์มอย่างไร
ในท้ายที่สุด แผนผังเส้นทางของข้อมูลหรือคำอธิบายควรประกอบไปด้วยสิ่งต่อไปนี้
คุณอาจจำเป็นต้องส่งหลักฐานเพื่อสนับสนุนคำตอบที่เกี่ยวข้องกับมาตรการคุ้มครองการรักษาความปลอดภัยข้อมูลที่คุณดำเนินการ เราขอแนะนำให้คุณอ่านคำแนะนำเกี่ยวกับหลักฐานในเอกสารนี้เพื่อดูตัวอย่างหลักฐานที่ยอมรับได้และเตรียมหลักฐานให้สอดคล้องตามคำแนะนำ เรายอมรับประเภทไฟล์เอกสารทั่วไปพร้อมกับภาพหน้าจอและการบันทึกภาพหน้าจอ โปรดตรวจสอบให้แน่ใจว่าไฟล์ไม่ได้มีการป้องกันด้วยรหัสผ่าน คุณสามารถอัพโหลดไฟล์ได้หลายไฟล์ แต่ละไฟล์ไม่เกิน 2 GB โดยเรายอมรับไฟล์ .xls, .xlsx, .csv, .doc, .docx, .pdf, .txt, .jpeg, .jpg, .png, .ppt, .pptx, .mov, .mp4, .zip และ .zipx
โปรดตรวจสอบให้แน่ใจว่าคุณได้ตัด (ลบ) ข้อมูลที่มีความละเอียดอ่อนออกจากหลักฐานก่อนส่ง
สำหรับแอพที่ถูกขอให้อัปโหลดหลักฐานที่เกี่ยวข้องกับมาตรการคุ้มครองการรักษาความปลอดภัยข้อมูล Meta กำหนดให้ต้องใช้เอกสารประกอบสองประเภทที่แตกต่างกัน ดังนี้
หลักฐานด้านนโยบายหรือขั้นตอน ซึ่งบางครั้งเรียกว่าการควบคุมเชิงบริหารจัดการ คือเอกสารที่เป็นลายลักษณ์อักษรที่อธิบายแนวทางสำหรับมาตรการคุ้มครองการรักษาความปลอดภัยข้อมูลโดยเฉพาะเจาะจง รูปแบบของหลักฐานนี้อาจแตกต่างกันออกไป โดยอาจเป็นข้อความที่ตัดตอนมาจากชุดนโยบายภายใน, หน้าวิกิภายในบางส่วนหรือทั้งหมด หรือเอกสารที่สร้างขึ้นใหม่ที่คุณใช้เพื่ออธิบายแนวทาง หากคุณไม่ได้มีเอกสารประกอบใดๆ ที่มีอยู่ก่อนแล้ว ไม่ว่าในกรณีใด หลักฐานด้านนโยบายหรือขั้นตอนที่คุณอัพโหลดจะต้องอธิบายอย่างชัดเจนว่าแนวทางสำหรับมาตรการคุ้มครองที่ระบุไว้นั้นเกี่ยวข้องกับข้อกำหนดของ Meta อย่างไร โปรดระบุเฉพาะนโยบายหรือภาษาที่เกี่ยวข้องและจำเป็นสำหรับการตรวจสอบการรักษาความปลอดภัยของ Meta เท่านั้น หรือใช้กล่องข้อความอิสระที่เกี่ยวข้องกับคำถามนั้นๆ เพื่อนำผู้ตรวจสอบของเราไปยังส่วนที่เกี่ยวข้อง
หลักฐานด้านการดำเนินการจะแสดงให้เห็นว่าคุณได้ดำเนินการใช้นโยบายหรือขั้นตอนในทางปฏิบัติอย่างไรโดยตรงผ่านภาพหน้าจอหรือการบันทึกภาพหน้าจอ เนื่องจากผู้พัฒนาแต่ละคนมีการกำหนดค่าที่แตกต่างกัน เราจึงไม่สามารถให้ตัวอย่างสำหรับทุกสถานการณ์ได้ กล่าวคือ หลักฐานด้านการดำเนินการควรจะแสดงให้เห็นรายละเอียดในระดับเดียวกับตัวอย่างที่เราได้ให้ไว้ในขอบเขตที่เป็นไปได้
เราเข้าใจดีว่าการจัดเตรียมหลักฐานด้านการดำเนินการที่จะแสดงให้เห็นอย่างครอบคลุมถึงการดำเนินการเกี่ยวกับมาตรการคุ้มครองการรักษาความปลอดภัยข้อมูลที่ระบุไว้ อาจจะเป็นภาระที่หนักเกินควร เมื่อคำนึงถึงเรื่องนี้ คุณควรที่จะส่งหลักฐานตามคำแนะนำที่ระบุไว้ดังนี้ โดยจัดการตัดข้อมูลที่มีความละเอียดอ่อนออกจากหลักฐานก่อนส่ง
อย่าส่งหลักฐานที่มีข้อมูลที่มีค่าใดๆ เหล่านี้ในรูปแบบที่อ่านได้ (ไม่ได้ตัดออก) หากคุณใช้โปรแกรมแก้ไขรูปภาพสำหรับภาพหน้าจอ ให้วางกล่องดำทับข้อมูลที่มีค่านั้นๆ หากคุณใช้โปรแกรมแก้ไข PDF ให้ตรวจสอบให้แน่ใจว่าคุณตัดข้อความออกโดยใช้เครื่องมือที่ลบค่านั้นออกจริงๆ ไม่ใช่เพียงเพิ่มเลเยอร์แล้วเก็บข้อความไว้อยู่ (เช่น เครื่องมือลบข้อความในแอพ Preview ของ Apple)
คำถาม: คุณเข้ารหัสข้อมูลแพลตฟอร์มทั้งหมดที่จัดเก็บในสภาพแวดล้อมระบบคลาวด์ เซิร์ฟเวอร์ หรือศูนย์ข้อมูลหรือไม่
การเข้ารหัสข้อมูลที่จัดเก็บช่วยปกป้องข้อมูลแพลตฟอร์มโดยการทำให้ข้อมูลดังกล่าวอยู่ในรูปแบบที่ไม่สามารถถอดรหัสได้หากไม่มีคีย์ถอดรหัสแยกต่างหาก ซึ่งจะช่วยป้องกันการเข้าถึงเพื่ออ่านโดยไม่ได้รับอนุญาตเพิ่มเติมอีกชั้นหนึ่ง
หากคุณจัดเก็บข้อมูลแพลตฟอร์มบนฝั่งเซิร์ฟเวอร์ ให้ใช้ข้อกำหนดเหล่านี้
หากผู้พัฒนาไม่ได้จัดเก็บข้อมูลแพลตฟอร์มบนฝั่งเซิร์ฟเวอร์ ข้อกำหนดนี้จะไม่บังคับใช้
หากคุณจัดเก็บข้อมูลแพลตฟอร์มโดยใช้การโฮสต์ IaaS (เช่น AWS EC2, Microsoft Azure IaaS และ Google Compute Engine), การโฮสต์ด้วยตนเอง หรือการโฮสต์แบบผสมผสาน คำถามนี้ถือว่าเกี่ยวข้องกับคุณ
อย่างไรก็ตาม ยังมีโมเดลโฮสติ้งฝั่งแบ็คเอนด์อื่นๆ ที่เป็นกรณีพิเศษ ได้แก่
หากคุณจัดเก็บข้อมูลแพลตฟอร์มผ่านผลิตภัณฑ์เหล่านี้ (และไม่ใช้ IaaS, การโฮสต์ด้วยตนเอง หรือการโฮสต์แบบผสมผสาน) คำถามนี้ถือว่าไม่เกี่ยวข้องกับคุณ คุณควรอธิบายความสัมพันธ์นี้ในส่วนผู้ให้บริการใน DPA แทน
หากคุณจัดเก็บข้อมูลแพลตฟอร์มผ่าน API ของ Meta เท่านั้น ยกตัวอย่างเช่น โดยใช้ player.setDataAsync()
ใน SDK เกมทันใจ คำถามนี้ถือว่าไม่เกี่ยวข้องกับคุณ
หากมีการขอให้คุณส่งหลักฐานสำหรับการปกป้องข้อมูล ให้ปฏิบัติตามคำสั่งในส่วนการเตรียมหลักฐาน เพื่อเตรียมหลักฐานเกี่ยวกับนโยบาย/ขั้นตอนและการนำไปปฏิบัติ
AWS RDS - การเข้ารหัสข้อมูลที่จัดเก็บสามารถกำหนดค่าได้ใน AWS RDS ดังนั้นผู้พัฒนาจึงต้องตรวจสอบให้แน่ใจว่าได้ตั้งค่าตัวเลือกการกำหนดค่าให้ใช้การปกป้องนี้
สำหรับอินสแตนซ์ RDS ตัวแทนที่มีข้อมูลแพลตฟอร์ม ให้ใช้เครื่องมือ AWS CLI เพื่อเรียกดูการกำหนดค่า StorageEncrypted ของอินสแตนซ์นั้นๆ
# 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 จะมีการเข้ารหัสข้อมูลที่จัดเก็บเป็นค่าเริ่มต้น คุณสามารถเรียกดูการกำหนดค่าการเข้ารหัสข้อมูลที่จัดเก็บสำหรับตารางโดยใช้คำสั่งเหล่านี้
$ aws dynamodb list-tables --output table -------------- | ListTables | +------------+ ||TableNames|| |+----------+| || Users || |+----------+| $ aws dynamodb describe-table \ --table-name Users \ --query "Table.SSEDescription.Status" "ENABLED"
AWS DocumentDB จะต้องกำหนดค่าจึงจะสามารถเข้ารหัสข้อมูลที่จัดเก็บได้ สำหรับคลัสเตอร์ตัวแทนที่มีข้อมูลแพลตฟอร์ม ให้ใช้คำสั่งเหล่านี้เพื่อเรียกดูการกำหนดค่า 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 ]
บักเก็ตของ AWS S3 อาจกำหนดค่าให้เข้ารหัสอ็อบเจ็กต์ที่จัดเก็บทั้งหมดซึ่งสร้างขึ้นภายในบักเก็ตนั้นได้ ใช้คำสั่งเหล่านี้เพื่อแสดงรายการบักเก็ตและเรียกดูการกำหนดค่าสำหรับการเข้ารหัสบักเก็ตตามค่าเริ่มต้น
$ 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 | +-------------------+
ดูเอกสารประกอบการเข้ารหัสข้อมูลที่จัดเก็บใน Azure ของ Microsoft ที่เกี่ยวข้องกับการใช้บริการขององค์กร
ดูเอกสารประกอบการเข้ารหัสข้อมูลที่จัดเก็บบน Google Cloud Platform ของ Google
หากคุณไม่ได้ดำเนินการเข้ารหัสข้อมูลที่จัดเก็บในสภาพแวดล้อมบนฝั่งเซิร์ฟเวอร์ คุณอาจต้องปกป้องข้อมูลแพลตฟอร์มด้วยวิธีอื่นที่ยังเป็นที่ยอมรับได้ ในกรณีดังกล่าว คุณควรอธิบายประเด็นต่อไปนี้
คำถาม: เกี่ยวกับข้อมูลที่จัดเก็บไว้บนอุปกรณ์ขององค์กรและอุปกรณ์ส่วนตัวโดยเฉพาะ: คุณใช้การเข้ารหัสข้อมูลที่จัดเก็บหรือมีนโยบายและกฎเพื่อลดความเสี่ยงที่ข้อมูลจะสูญหายสำหรับข้อมูลแพลตฟอร์มทั้งหมดที่จัดเก็บไว้บนอุปกรณ์เหล่านี้
หากผู้พัฒนาอนุญาตให้มีการจัดเก็บข้อมูลแพลตฟอร์มบนอุปกรณ์ต่างๆ เช่น แล็ปท็อปของพนักงานหรือพื้นที่จัดเก็บข้อมูลแบบเคลื่อนย้ายได้ (เช่น ไดรฟ์ USB) ข้อมูลดังกล่าวจะมีความเสี่ยงสูงต่อการเข้าถึงโดยไม่ได้รับอนุญาตหากอุปกรณ์สูญหายหรือถูกขโมย ผู้พัฒนาควรดำเนินการตามขั้นตอนเพื่อจำกัดความเสี่ยงนี้
ในการลดความเสี่ยงต่อการเข้าถึงข้อมูลแพลตฟอร์มโดยไม่ได้รับอนุญาต ผู้พัฒนาต้องมีการควบคุมทางเทคนิค (วิธีที่แนะนำ) หรือการควบคุมด้านการบริหารจัดการ (ไม่แนะนำ แต่เป็นวิธีที่ยอมรับได้) สำหรับข้อมูลแพลตฟอร์มบนอุปกรณ์ขององค์กร (เช่น แล็ปท็อป) และอุปกรณ์เก็บข้อมูลแบบเคลื่อนย้ายได้
ข้อกำหนดนี้มีผลบังคับใช้ไม่ว่าคุณจะประมวลผลข้อมูลแพลตฟอร์มฝั่งเซิร์ฟเวอร์หรือไม่
หากมีการขอให้คุณส่งหลักฐานสำหรับการปกป้องข้อมูล ให้ปฏิบัติตามคำสั่งในส่วนการเตรียมหลักฐาน เพื่อเตรียมหลักฐานเกี่ยวกับนโยบาย/ขั้นตอนและการนำไปปฏิบัติ
คุณสามารถใช้วิธีใดวิธีหนึ่งหรือทั้งสองวิธีต่อไปนี้ ได้แก่ a) การควบคุมทางเทคนิค (เช่น การเข้ารหัสดิสก์) หรือ b) กฎ/นโยบายเพื่อลดความเสี่ยงที่ข้อมูลจะสูญหายสำหรับข้อมูลแพลตฟอร์มที่จัดเก็บไว้บนอุปกรณ์ขององค์กร เช่น แล็ปท็อปและโทรศัพท์มือถือ
การควบคุมทางเทคนิคอาจรวมถึงการดำเนินการต่อไปนี้
กฎ/นโยบายอาจรวมถึงรายการต่อไปนี้
องค์กรจัดประเภทข้อมูลแพลตฟอร์มจาก Meta เป็น “ข้อมูลส่วนตัว” ตามมาตรฐานการจัดประเภทข้อมูลของตน องค์กรได้จัดทำแนวทางในการจัดการข้อมูลและกำหนดให้บุคลากรทุกคนทำความเข้าใจและปฏิบัติตามนโยบายเหล่านี้
คำถาม: คุณเปิดใช้งานโปรโตคอลการรักษาความปลอดภัย TLS 1.2 ขึ้นไปสำหรับการเชื่อมต่อเครือข่ายทั้งหมดที่ผ่าน เชื่อมต่อกับ หรือข้ามเครือข่ายสาธารณะที่มีการส่งผ่านข้อมูลแพลตฟอร์มหรือไม่ นอกจากนี้แล้ว คุณรับประกันหรือไม่ว่าไม่เคยมีการส่งข้อมูลแพลตฟอร์มผ่านทางเครือข่ายสาธารณะด้วยรูปแบบที่ไม่ได้เข้ารหัส (เช่น HTTP หรือ FTP) และไม่เคยมีการใช้โปรโตคอลการรักษาความปลอดภัย SSL เวอร์ชั่น 2 และ SSL เวอร์ชั่น 3
ทุกคนที่สามารถดูปริมาณการใช้ข้อมูลเครือข่ายได้จะสามารถเข้าถึงข้อมูลแพลตฟอร์มที่ส่งผ่านอินเทอร์เน็ตได้ ดังนั้นจึงต้องปกป้องข้อมูลแพลตฟอร์มด้วยการเข้ารหัส เพื่อป้องกันไม่ให้บุคคลที่ไม่ได้รับอนุญาตสามารถอ่านข้อมูลดังกล่าวได้
ไม่ว่าคุณจะประมวลข้อมูลแพลตฟอร์มบนฝั่งเซิร์ฟเวอร์หรือไม่
ตารางด้านล่างสรุปนโยบายเกี่ยวกับการเข้ารหัสข้อมูลที่อยู่ระหว่างการถ่ายโอนสำหรับประเภทการส่งผ่านข้อมูลที่แตกต่างกัน
ประเภทการส่งผ่านข้อมูล | นโยบายเกี่ยวกับการเข้ารหัสข้อมูลที่อยู่ระหว่างการถ่ายโอน |
---|---|
ส่งไปมาระหว่างอุปกรณ์ผู้ใช้ปลายทาง (โทรศัพท์มือถือ พีซี แท็บเล็ต ฯลฯ) กับเซิร์ฟเวอร์หรือโครงสร้างระบบคลาวด์ |
|
ส่งไปมาระหว่างเซิร์ฟเวอร์หรือโครงสร้างระบบคลาวด์ กับเซิร์ฟเวอร์ระยะไกล โครงสร้างระบบคลาวด์ หรือบริการของบุคคลที่สี่ใดๆ | ต้องใช้ TLS 1.2 หรือสูงกว่า |
ส่งไปมาระหว่างส่วนประกอบที่อยู่ภายในศูนย์ข้อมูล เซิร์ฟเวอร์ หรือโครงสร้างระบบคลาวด์ส่วนตัวทั้งหมด | ขอแนะนำให้ใช้การเข้ารหัส TLS สำหรับการถ่ายโอนข้อมูลแพลตฟอร์มที่อยู่ภายในเครือข่ายระบบคลาวด์ส่วนตัวทั้งหมด แต่ไม่ได้เป็นข้อบังคับ |
ส่งไปมาระหว่าง Meta กับอุปกรณ์ เซิร์ฟเวอร์ หรือโครงสร้างระบบคลาวด์ใดๆ | อยู่นอกขอบเขตของการประเมินการคุ้มครองข้อมูล - Meta ควบคุมนโยบาย TLS สำหรับการถ่ายโอนเหล่านี้ |
หากมีการขอให้คุณส่งหลักฐานสำหรับการปกป้องข้อมูล ให้ปฏิบัติตามคำสั่งในส่วนการเตรียมหลักฐาน เพื่อเตรียมหลักฐานเกี่ยวกับนโยบาย/ขั้นตอนและการนำไปปฏิบัติ วิธีการง่ายๆ ในการสร้างหลักฐานด้านการดำเนินการที่แสดงถึงการกำหนดค่าหนึ่งในตัวดักฟังเว็บก็คือการใช้เครื่องมือทดสอบเซิร์ฟเวอร์ Qualys SSL
นี่คือเอาต์พุตตัวอย่างจากเครื่องมือทดสอบเซิร์ฟเวอร์ Qualys SSL โปรดสังเกตคำอธิบายประกอบสีแดงในส่วน “การกำหนดค่า” ซึ่งสรุปว่า SSL/TLS เวอร์ชั่นใดบ้างที่รองรับ หมายเหตุ: ตัวอย่างนี้มีเพียงสองหน้าแรกเท่านั้น แต่คุณควรใส่เอาต์พุตทดสอบเต็มรูปแบบ
คุณสามารถปกป้องข้อมูลแพลตฟอร์มที่อยู่ระหว่างการถ่ายโอนได้โดยใช้การเข้ารหัสข้อมูลประเภทอื่นนอกเหนือจาก TLS การดำเนินการนี้อาจเป็นที่ยอมรับได้หากวิธีการดังกล่าวมอบการปกป้องที่เทียบเท่ากัน ในกรณีนี้ คุณควรส่งรายละเอียดเกี่ยวกับการเข้ารหัสข้อมูลที่ใช้สำหรับ Meta เพื่อตรวจสอบข้อมูลต่อไปนี้
คำถาม: คุณทดสอบแอพและระบบเพื่อตรวจหาช่องโหว่และปัญหาด้านการรักษาความปลอดภัยอย่างน้อยทุกๆ 12 เดือนหรือไม่ (ยกตัวอย่างเช่น คุณทำการทดสอบการเจาะระบบด้วยตนเองหรือไม่)
ผู้พัฒนาต้องทดสอบเพื่อตรวจหาช่องโหว่และปัญหาด้านการรักษาความปลอดภัยด้วยวิธีการเชิงรุก เพื่อยับยั้งเหตุการณ์ด้านการรักษาความปลอดภัยไม่ให้เกิดขึ้นหากเป็นไปได้
บังคับใช้กับผู้พัฒนาทุกคน:
ข้อกำหนดเพิ่มเติมสำหรับผู้พัฒนาที่ประมวลผลข้อมูลแพลตฟอร์มฝั่งเซิร์ฟเวอร์มีดังนี้
หากองค์กรกำลังพิจารณาที่จะเพิ่ม SAST ไปยังกระบวนการพัฒนา NIST มีรายการเครื่องมือแบบโอเพนซอร์สและแบบเชิงพาณิชย์ที่คุณอาจพบว่าเป็นตัวเลือกเริ่มต้นที่เป็นประโยชน์เมื่อต้องเลือกเครื่องมือ
หากมีการขอให้คุณส่งหลักฐานสำหรับการปกป้องข้อมูล ให้ปฏิบัติตามคำสั่งในส่วนการเตรียมหลักฐาน เพื่อเตรียมหลักฐานเกี่ยวกับนโยบาย/ขั้นตอนและการนำไปปฏิบัติ
หากองค์กรประมวลผลข้อมูลแพลตฟอร์มในสภาพแวดล้อมระบบคลาวด์/เซิร์ฟเวอร์ ให้ทำสิ่งต่อไปนี้
ซอฟต์แวร์ระบบคลาวด์หรือเซิร์ฟเวอร์ที่เข้าถึงอินเทอร์เน็ตได้ที่คุณใช้ประมวลผลข้อมูลแพลตฟอร์ม (เช่น REST API ที่ใช้โดยไคลเอ็นต์สำหรับเว็บและมือถือ) ต้องอยู่ในขอบเขตของการทดสอบนี้จึงจะยอมรับได้
หากองค์กรไม่ประมวลผลข้อมูลแพลตฟอร์มในสภาพแวดล้อมระบบคลาวด์หรือเซิร์ฟเวอร์ ให้ทำสิ่งต่อไปนี้
การทดสอบการเจาะระบบ - องค์กรมอบหมายให้มีการทดสอบการเจาะระบบซอฟต์แวร์ที่ทำงานอยู่ฝั่งเซิร์ฟเวอร์ซึ่งมีการผสานการทำงานกับ Meta API และประมวลผลข้อมูลแพลตฟอร์ม บริษัททดสอบทำการทดสอบจนเสร็จสมบูรณ์และสร้างจดหมายข้อมูลสรุปดังตัวอย่างด้านล่าง สังเกตที่คำอธิบายประกอบสีแดง ซึ่งเน้นว่ามีการระบุวันที่ทำการทดสอบเอาไว้ (ต้องอยู่ภายใน 12 เดือนที่ผ่านมา) และมีสรุปผลการค้นพบที่มีความรุนแรงระดับร้ายแรง/ระดับสูงที่ยังไม่ได้แก้ไขเมื่อสิ้นสุดการทดสอบ (หรือการทดสอบซ้ำ หากมี) โปรดตัดข้อมูลที่ละเอียดอ่อนออกจากรายงาน (โดยเฉพาะอย่างยิ่ง ขั้นตอนการถอดแบบช่องโหว่โดยละเอียด) ก่อนทำการส่ง
การวิเคราะห์แบบคงที่ - หากใช้แนวทางอื่น เช่น เครื่องมือ SAST ให้ส่งออกผลลัพธ์ไปยังเอกสารที่มีวันที่เรียกใช้งาน SAST และรายการของสิ่งที่ค้นพบที่มีประเภทของสิ่งที่ค้นพบแต่ละรายการและระดับความรุนแรง/ความวิกฤต
การตรวจสอบการกำหนดค่าระบบคลาวด์
ผู้พัฒนาใช้ NCC Scout Suite โดยใช้ชุดกฎเริ่มต้นสำหรับผู้ให้บริการระบบคลาวด์ของตน (ในกรณีนี้คือ AWS) เพื่อตรวจสอบการกำหนดค่าระบบคลาวด์เพื่อหาช่องโหว่และปัญหาด้านการรักษาความปลอดภัย เครื่องมือจะแสดงผลไฟล์ JSON ที่มีผลลัพธ์ที่ได้อย่างละเอียด ในตัวอย่างนี้ มีการรายงานความรุนแรงของปัญหาจำนวนหนึ่งว่า "อันตราย" ซึ่งผู้พัฒนาจำเป็นต้องตรวจสอบและแก้ไข
ไฟล์ JSON ต้นฉบับของ NCC Scout Suite มีรายละเอียดเกี่ยวกับสภาพแวดล้อมระบบคลาวด์ที่คุณไม่ควรอัพโหลด แต่ให้กรองการตอบกลับเพื่อแสดงจำนวนผลลัพธ์ตามความรุนแรงแทน
$ 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" } }
อีกแนวทางหนึ่งในการดำเนินการตรวจสอบการกำหนดค่าระบบคลาวด์สำหรับผู้พัฒนาโดยใช้ชุดกฎของ 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"}]}' []
หากคุณกำลังดำเนินโปรแกรมเปิดเผยช่องโหว่ (VDP) ที่ใช้งานได้ เช่น การใช้แพลตฟอร์ม BugCrowd หรือ HackerOne คุณสามารถนำเสนอวิธีนี้เป็นการปกป้องอื่นแทนการทดสอบการเจาะระบบหรือการสแกนหาช่องโหว่ ในการนำเสนอ คุณต้องส่งหลักฐานที่ยืนยันเงื่อนไขต่อไปนี้
ในกรณีนี้ หลักฐานควรมีเอกสารต่อไปนี้
คำถาม: โทเค็นการเข้าถึง API ของ Meta และข้อมูลลับของแอพได้รับการปกป้องในทั้งสองวิธีต่อไปนี้หรือไม่
ข้อมูลลับของแอพและโทเค็นการเข้าถึงเป็นพื้นฐานในการรักษาความปลอดภัยว่า API ของ Meta จะตัดสินใจเกี่ยวกับการดำเนินการที่จะอนุญาตอย่างไร หากบุคคลที่ไม่ได้รับอนุญาตสามารถเข้าถึงข้อมูลประจำตัวเหล่านี้ บุคคลดังกล่าวอาจเรียกใช้ API ของ Meta โดยแอบอ้างตนเป็นผู้พัฒนาตัวจริง แล้วดำเนินการใดๆ ที่เราได้ให้สิทธิ์แก่แอพดังกล่าวไว้ (เช่น การอ่านข้อมูลเกี่ยวกับผู้ใช้ของแอพจาก API ของ Meta)
โทเค็นการเข้าถึง
ข้อมูลลับของแอพ - เงื่อนไขหนึ่งในสองอย่างต่อไปนี้ต้องเป็นจริง
หากมีการขอให้คุณส่งหลักฐานสำหรับการปกป้องข้อมูล ให้ปฏิบัติตามคำสั่งในส่วนการเตรียมหลักฐาน เพื่อเตรียมหลักฐานเกี่ยวกับนโยบาย/ขั้นตอนและการนำไปปฏิบัติ
รวมเอกสารเกี่ยวกับนโยบายในการปกป้องโทเค็นการเข้าถึง API ของ Meta และข้อมูลลับของแอพ หากแอพประมวลผลโทเค็นการเข้าถึงของ Meta บนฝั่งเซิร์ฟเวอร์ ให้รวมหลักฐานที่แสดงให้เห็นถึงการปกป้องที่คุณใช้ (เช่น การใช้ Data Vault, การแสดงให้เห็นว่าค่าได้รับการจัดเก็บไว้ในรูปแบบที่มีการเข้ารหัส, การกำหนดค่าของแอพที่กำหนดให้ต้องพิสูจน์ข้อมูลลับของแอพ)
ตรวจสอบให้แน่ใจว่าคุณไม่ได้รวม (กล่าวคือ ได้ลบ) ค่าที่เป็นข้อความธรรมดาของข้อมูลลับหรือโทเค็นการเข้าถึงใดๆ ในหลักฐานที่คุณส่ง
องค์กรใช้ AWS Secrets Manager เพื่อรักษาความปลอดภัยของการจัดเก็บข้อมูลที่มีความละเอียดอ่อน ซึ่งรวมถึงข้อมูลลับของแอพ Meta
องค์กรได้กำหนดค่าแอพ Meta ของตนให้จำเป็นต้องมีการพิสูจน์ข้อมูลลับของแอพสำหรับการเรียกใช้ API
คำถาม: คุณทดสอบระบบและกระบวนการที่คุณจะใช้รับมือกับเหตุการณ์เกี่ยวกับการรักษาความปลอดภัย (เช่น การละเมิดข้อมูลหรือการโจมตีทางไซเบอร์) ทุก 12 เดือนเป็นอย่างน้อยหรือไม่
ไม่ว่าอย่างไร เหตุการณ์ด้านการรักษาความปลอดภัยก็จะเกิดขึ้นกับทุกบริษัท ดังนั้นองค์กรต่างๆ จึงควรวางแผนล่วงหน้าว่าใครต้องทำอะไรเพื่อควบคุมเหตุการณ์ สื่อสารกับผู้มีส่วนเกี่ยวข้อง ฟื้นฟูสถานการณ์ และเรียนรู้จากสิ่งที่เกิดขึ้น
ผู้พัฒนาจะต้องมีดังนี้
ข้อกำหนดนี้มีผลบังคับใช้ไม่ว่าคุณจะประมวลผลข้อมูลแพลตฟอร์มฝั่งเซิร์ฟเวอร์หรือไม่
ปฏิบัติตามคำแนะนำในส่วนการเตรียมหลักฐาน เพื่อเตรียมหลักฐานเกี่ยวกับนโยบาย/ขั้นตอน และการนำไปปฏิบัติ
ผู้พัฒนาได้สร้างแผนรับมือกับเหตุการณ์ที่ครอบคลุมตามเทมเพลตนี้ รูปเหล่านี้แสดงเพียงสารบัญเนื้อหา โดยมีลิงก์ไปยังเทมเพลตรูปแบบเต็มที่ด้านล่างด้วย
ดูเทมเพลตแผนรับมือกับเหตุการณ์ของส่วนการโต้ตอบ (รูปแบบไฟล์ docx)
ผู้พัฒนาได้ทดสอบแผนรับมือกับเหตุการณ์โดยการฝึกซ้อมแบบปากเปล่า และบันทึกผลลัพธ์ตามเทมเพลตนี้
โดยเอกสารที่แสดงที่นี่เป็นเพียงเอกสาร 2 หน้าแรกเท่านั้น แต่คุณควรส่งเอกสารทั้งฉบับ
คำถาม: คุณกำหนดให้ต้องมีการยืนยันตัวตนแบบหลายชั้นสำหรับการเข้าถึงจากระยะไกลกับทุกบัญชีที่สามารถเชื่อมต่อไปยังสภาพแวดล้อมระบบคลาวด์หรือเซิร์ฟเวอร์ และ/หรือที่สามารถเข้าถึงบริการที่คุณใช้เพื่อปรับใช้ ดูแลจัดการ เฝ้าสังเกต และดำเนินงานสำหรับระบบที่คุณจัดเก็บข้อมูลแพลตฟอร์มจาก Meta หรือไม่
เทคนิคทั่วไปที่ผู้ไม่ประสงค์ดีมักใช้กันเพื่อเข้าถึงข้อมูลลับเริ่มต้นด้วยการดำเนินการให้ได้มาซึ่งสิทธิ์เข้าถึงเครื่องมือที่ผู้พัฒนาใช้ในการสร้างหรือดำเนินงานสำหรับแอพ/ระบบของตน โดยจะมีการใช้เครื่องมือที่ซับซ้อนสำหรับแฮ็กเข้าบัญชีที่มีการปกป้องด้วยรหัสผ่านเพียงอย่างเดียว ดังนั้นการยืนยันตัวตนแบบหลายชั้นจึงช่วยป้องกันความเสี่ยงในลักษณะนี้เพิ่มเติมอีกชั้นหนึ่ง
เมื่อเป็นเรื่องของการประมวลผลข้อมูลแพลตฟอร์มขององค์กร การเข้าถึงเครื่องมือเหล่านี้จากระยะไกลจะต้องได้รับการปกป้องด้วยการยืนยันตัวตนแบบหลายชั้น (กล่าวคือ ไม่ได้ใช้รหัสผ่านเพียงอย่างเดียว)
หากกล่าวถึงโดยเจาะจงแล้ว เครื่องมือต่อไปนี้จำเป็นต้องได้รับการปกป้องด้วย MFA หรือการปกป้องแบบอื่นที่ยอมรับได้
สำหรับการนำ MFA ไปใช้ ให้ปฏิบัติดังนี้
หากมีการขอให้คุณส่งหลักฐานสำหรับการปกป้องข้อมูล ให้ปฏิบัติตามคำสั่งในส่วนการเตรียมหลักฐาน เพื่อเตรียมหลักฐานเกี่ยวกับนโยบาย/ขั้นตอนและการนำไปปฏิบัติ
องค์กรใช้ AzureAD เป็นโซลูชันการลงชื่อเข้าใช้ครั้งเดียว นโยบายนี้กำหนดให้ต้องมีการยืนยันตัวตนแบบหลายชั้น
จากนั้นนโยบายจะได้รับการจับคู่เข้ากับแอพระบบคลาวด์ที่บังคับใช้นโยบาย ด้วยการใช้แนวทางนี้ หลักฐานควรแสดงให้เห็นถึงส่วนรายการที่เลือกทั้งหมดเพื่อแสดงให้อย่างชัดเจนว่าแอพระบบคลาวด์ใดที่กำหนดให้ใช้ MFA
กฎข้อนี้กำหนดให้ต้องมี MFA สำหรับการเข้าสู่ระบบทั้งหมด
นี่คือตัวอย่างของนโยบาย AWS IAM ที่อนุญาตให้มีการกำหนดค่า MFA แต่สั่งห้ามการดำเนินการอื่นๆ หากไม่มี MFA
องค์กรได้กำหนดค่าการยืนยันตัวตน GitHub เพื่อกำหนดให้ใช้ MFA สำหรับทุกคนในองค์กร
คำถาม: คุณมีระบบสำหรับการดูแลจัดการบัญชี (การกำหนด การเพิกถอน และการตรวจสอบสิทธิ์เข้าถึงและสิทธิ์การใช้งาน) หรือไม่
การมีลักษณะการจัดการบัญชีที่ดีเป็นส่วนสำคัญในการป้องกันการใช้บัญชีโดยไม่ได้รับอนุญาตเพื่อให้ได้สิทธิ์เข้าถึงข้อมูลแพลตฟอร์ม โดยเฉพาะอย่างยิ่ง ผู้พัฒนาจะต้องตรวจสอบให้แน่ใจว่ามีการเพิกถอนสิทธิ์เข้าถึงทรัพยากรหรือระบบต่างๆ เมื่อไม่จำเป็นต้องใช้แล้ว
ข้อกำหนดนี้มีผลบังคับใช้ไม่ว่าคุณจะประมวลผลข้อมูลแพลตฟอร์มฝั่งเซิร์ฟเวอร์หรือไม่
ปฏิบัติตามคำแนะนำในส่วนการเตรียมหลักฐาน เพื่อเตรียมหลักฐานเกี่ยวกับนโยบาย/ขั้นตอน และการนำไปปฏิบัติ
นโยบาย/ขั้นตอน - ผู้พัฒนาได้สร้างมาตรฐานการจัดการวงจรสิทธิ์เข้าถึงที่รวมถึงขั้นตอนสำหรับการมอบ การตรวจสอบ และการเพิกถอนสิทธิ์เข้าถึง
ผู้พัฒนาใช้ Workday เป็นแหล่งที่มาที่เชื่อถือได้สำหรับข้อมูลทรัพยากรมนุษย์ (HR) รวมถึงสถานะการจ้างงานปัจจุบัน ผู้พัฒนาคนนี้ใช้ Google Cloud Identity เป็นผู้ให้บริการข้อมูลระบุตัวตน (IdP) ของตนสำหรับการจัดการบัญชีผู้ใช้และการมอบสิทธิ์เข้าถึงระบบข้อมูลและเครื่องมือ
ผู้พัฒนาส่งหลักฐานว่าได้เพิกถอนสิทธิ์เข้าถึงสำหรับบุคลากรที่ลาออกไปแล้วโดยการส่งรายงานที่แสดงให้เห็นว่ามีการเรียกใช้รายงานการกระทบยอดล่าสุด (เช่น ภายใน 12 เดือนที่ผ่านมา) ซึ่งแสดงให้เห็นว่าไม่มีบัญชีผู้ใช้ที่ใช้งานอยู่ใน Google Cloud Identity สำหรับผู้ที่ไม่ใช่พนักงานที่ทำงานอยู่ตามรายงาน Workday ของพนักงานปัจจุบัน
ผู้พัฒนาใช้ Google Cloud Identity เป็นผู้ให้บริการข้อมูลระบุตัวตน (IdP) ของตนสำหรับการจัดการบัญชีผู้ใช้และการมอบสิทธิ์เข้าถึงระบบข้อมูลและเครื่องมือ
ผู้พัฒนาส่งหลักฐานว่าได้เพิกถอนสิทธิ์เข้าถึงเมื่อไม่ใช้งานอีกต่อไป (เช่น ไม่มีการเข้าสู่ระบบในช่วง 6 เดือนที่ผ่านมา) โดยการส่งหลักฐานที่เป็นไดเรกทอรีผู้ใช้ของตนที่เรียงลำดับตามการลงชื่อเข้าใช้ล่าสุดเพื่อแสดงให้เห็นว่าไม่มีบัญชีผู้ใช้ที่ใช้งานอยู่ที่มีการลงชื่อเข้าใช้ครั้งล่าสุดที่เก่ากว่านี้
ผู้พัฒนาใช้เครื่องมือ Single Sign On (SSO) สำหรับการจัดการข้อมูลระบุตัวตนและการมอบสิทธิ์เข้าถึงระบบข้อมูลและเครื่องมือ ผู้พัฒนาได้กำหนดค่า GitHub เพื่อกำหนดให้มีการยืนยันตัวตน SSO
คำถาม: คุณมีระบบสำหรับการอัพเดตโค้ดและสภาพแวดล้อมของระบบ รวมถึงเซิร์ฟเวอร์ แมชชีนเสมือน การกระจายข้อมูล ไลบรารี แพ็คเกจ และซอฟต์แวร์ป้องกันไวรัสหรือไม่
องค์ประกอบของซอฟต์แวร์จะต้องได้รับการอัพเดตหรือแพตช์เป็นประจำเพื่อแก้ไขช่องโหว่ด้านการรักษาความปลอดภัย โดยที่องค์ประกอบเหล่านี้จะสิ้นสุดอายุการใช้งานในท้ายที่สุดเมื่อระบบไม่รองรับอีกต่อไป ผู้พัฒนาที่รวมองค์ประกอบเป็นแพ็คเกจหรือใช้องค์ประกอบเหล่านี้จะต้องดำเนินการอัพเดตอยู่เสมอเพื่อป้องกันไม่ให้เกิดการเรียกใช้ซอฟต์แวร์ที่มีช่องโหว่
คุณต้องมีวิธีที่ชัดเจนและสามารถทำซ้ำได้ในการระบุแพตช์ที่พร้อมใช้งานซึ่งแก้ไขช่องโหว่ด้านการรักษาความปลอดภัย วิธีการจัดลำดับความสำคัญตามความเสี่ยง และวิธีการนำแพตช์ไปใช้โดยดำเนินการอย่างต่อเนื่องสำหรับองค์ประกอบซอฟต์แวร์ต่อไปนี้ตามความเหมาะสม
Meta ไม่ได้กำหนดให้ต้องใช้เครื่องมือใดโดยเฉพาะสำหรับกิจกรรมเหล่านี้ โดยทั่วไปแล้ว องค์กรจะใช้แนวทางที่แตกต่างกันไปในการอัพเดตซอฟต์แวร์ประเภทต่างๆ ให้เป็นเวอร์ชั่นล่าสุด (เช่น ไลบรารีที่รวมกับแอพเป็นแพ็คเกจ เทียบกับการอัพเดตระบบปฏิบัติการสำหรับแล็ปท็อปของพนักงาน)
ข้อกำหนดนี้มีผลบังคับใช้ในทุกกรณี ไม่ว่าจะใช้แนวทางการโฮสต์แบบใด (เช่น BaaS, PaaS, IaaS, แนวทางที่โฮสต์ด้วยตนเอง หรือแนวทางแบบผสมผสาน) แม้ว่าชุดองค์ประกอบที่คุณต้องรับผิดชอบในการอัพเดตจะแตกต่างกันไป
แผนผังด้านล่างแสดงให้เห็นตำแหน่งที่อาจจำเป็นต้องดำเนินการแพตช์สำหรับสถาปัตยกรรมประเภทต่างๆ
หากมีการขอให้คุณส่งหลักฐานสำหรับการปกป้องข้อมูล ให้ปฏิบัติตามคำสั่งในส่วนการเตรียมหลักฐาน เพื่อเตรียมหลักฐานเกี่ยวกับนโยบาย/ขั้นตอนและการนำไปปฏิบัติ
เริ่มต้นโดยการระบุประเภทซอฟต์แวร์ในสภาพแวดล้อมที่อยู่ในขอบเขต เช่น ไลบรารี, SDK, แพ็คเกจ, อิมเมจของแมชชีนเสมือน, คอนเทนเนอร์แอพ รวมถึงระบบปฏิบัติการ เบราว์เซอร์ และแอพพลิเคชั่นอื่นๆ ที่พนักงาน/ผู้มีส่วนร่วมใช้
คุณอาจมีเครื่องมืออย่างน้อยหนึ่งรายการที่คุณใช้ดำเนินกิจกรรมต่อไปนี้
Snyk สำหรับแอพ NodeJS - ผู้พัฒนาใช้อินเทอร์เฟซบรรทัดคำสั่ง (CLI) ของ Synk ในการระบุการขึ้นต่อกันแบบแพ็คเกจของบุคคลที่สามซึ่งมีช่องโหว่ด้านการรักษาความปลอดภัยที่ทราบและในการจัดลำดับความสำคัญตามความรุนแรงของช่องโหว่ดังกล่าว
ผู้พัฒนาใช้การตรวจสอบ NPM เพื่อหาช่องโหว่ในการขึ้นต่อกันที่ใช้งานในแอพพลิเคชั่นโหนด รูปภาพตัวอย่างด้านล่างแสดงให้เห็นถึงช่องโหว่ที่มีระดับความรุนแรงสูงที่จำเป็นต้องดำเนินการแพตช์
ผู้พัฒนาใช้ Trivy เพื่อหาช่องโหว่ในอิมเมจของแมชชีน รูปภาพตัวอย่างด้านล่างแสดงให้เห็นถึงช่องโหว่ที่มีระดับความรุนแรงสูงในไลบรารีที่รวมอยู่ในอิมเมจนี้ ซึ่งจำเป็นต้องดำเนินการแพตช์
ผู้พัฒนาใช้บริการอัพเดตเซิร์ฟเวอร์ Windows (WSUS) เพื่อจัดการกลุ่มเซิร์ฟเวอร์และพีซี/แล็ปท็อปของตน รูปภาพตัวอย่างด้านล่างแสดงให้เห็นถึงมุมมองผู้ดูแลในเครื่องมือ WSUS ซึ่งช่วยให้สามารถตรวจสอบ อนุมัติ และปรับใช้การอัพเดต Windows ได้
หากไม่มีไฟล์บันทึกที่เชื่อถือได้ ผู้พัฒนาจะตรวจจับการเข้าถึงข้อมูลแพลตฟอร์มโดยไม่ได้รับอนุญาตได้ยาก
หากคุณประมวลผลข้อมูลแพลตฟอร์มฝั่งเซิร์ฟเวอร์ ภายในสภาพแวดล้อมนั้น คุณควรปฏิบัติดังนี้
หากคุณถูกขอให้อัพโหลดหลักฐาน หลักฐานดังกล่าวควรแสดงให้เห็นสิ่งต่อไปนี้
การทำความเข้าใจว่าข้อมูลแพลตฟอร์มควรมีการประมวลผลอย่างไร แล้วจึงตรวจสอบการประมวลที่เกิดขึ้นจริง ถือเป็นวิธีการสำคัญสำหรับองค์กรที่จะทำให้แน่ใจได้ว่าข้อมูลแพลตฟอร์มจะได้รับการใช้ตามวัตถุประสงค์ที่กำหนดไว้เท่านั้น
หากคุณประมวลผลข้อมูลแพลตฟอร์มฝั่งเซิร์ฟเวอร์ คุณควรดำเนินการดังนี้ภายในสภาพแวดล้อมแบบเซิร์ฟเวอร์ดังกล่าว
หากมีการขอให้คุณส่งหลักฐานสำหรับการปกป้องข้อมูล ให้ปฏิบัติตามคำสั่งในส่วนการเตรียมหลักฐาน เพื่อเตรียมหลักฐานเกี่ยวกับนโยบาย/ขั้นตอนและการนำไปปฏิบัติ
คุณจะต้องให้หลักฐานเพื่อยืนยันในเรื่องต่อไปนี้
การอาศัยให้มนุษย์ดำเนินการตรวจสอบและระบุพฤติกรรมที่ไม่คาดคิดในระบบซึ่งสามารถเข้าถึงได้ด้วยอินเทอร์เน็ตในสมัยใหม่ถือเป็นเรื่องที่เกินจริง แต่สามารถใช้เครื่องมือที่มีอยู่ได้แทน ซึ่งสามารถนำเข้าไฟล์บันทึกและสัญญาณอื่นๆ เพื่อดำเนินการเตือนเกี่ยวกับการตรวจสอบเพิ่มเติมที่จำเป็นต้องให้มนุษย์ดำเนินการ
หากคุณประมวลผลข้อมูลแพลตฟอร์มฝั่งเซิร์ฟเวอร์ คุณควรดำเนินการดังนี้ภายในสภาพแวดล้อมแบบเซิร์ฟเวอร์ดังกล่าว
โดยปกติแล้ว ผู้พัฒนาจะใช้เครื่องมือข้อมูลด้านการรักษาความปลอดภัยและการจัดการกิจกรรม (SIEM) สำหรับวัตถุประสงค์นี้ ตัวอย่างเช่น
คุณควรมอบหลักฐานที่แสดงให้เห็นว่ามีการกำหนดเส้นทางทรัพยากรสัญญาณที่เกี่ยวข้องไปยังเครื่องมือตามที่เลือก หลักฐานว่ามีการกำหนดค่าตัวกระตุ้นหรือการเตือนแล้ว หลักฐานว่ามีการกำหนดเส้นทางการแจ้งเตือนถึงบุคลากรที่รับผิดชอบในการติดตามผล และหลักฐานว่ามีกระบวนการในการปรับการเตือนอยู่เป็นระยะๆ (เช่น ผ่านการตรวจสอบรายเดือนและวงจรการอัพเดต)
บุคคลที่สาม - ในศัพท์เฉพาะทางด้านการจัดการความเสี่ยง บุคคลที่สามหมายถึงผู้พัฒนาบนแพลตฟอร์มของ Meta (บุคคลที่หนึ่งคือ Meta, บุคคลที่สองคือผู้คนที่ใช้ผลิตภัณฑ์ของ Meta)
บุคคลที่สี่ - ในศัพท์เฉพาะทางด้านการจัดการความเสี่ยง บุคคลที่สี่หมายถึงบริษัทที่ผู้พัฒนาพึ่งพาในการให้บริการต่อตน ซึ่งเป็นบริการที่ช่วยให้สามารถดำเนินธุรกิจของตนได้ (บุคคลที่หนึ่งคือ Meta, บุคคลที่สองคือผู้ใช้ของ Meta และบุคคลที่สามคือผู้พัฒนาบนแพลตฟอร์มของ Meta) โทเค็นการเข้าถึง - ข้อมูลประจำตัว เช่น รหัสผ่านที่ช่วยให้ซอฟต์แวร์สามารถเรียกใช้ API ในการดำเนินการบางอย่าง (เช่น การอ่านข้อมูลจากโปรไฟล์ของผู้ใช้)
Amazon Web Services (AWS) - ชุดบริการประมวลผลระบบคลาวด์ของ Amazon
ID ในแอพ (ASID) - ตัวระบุแบบไม่ซ้ำกันที่ Meta สร้างขึ้นเมื่อบุคคลเลือกที่จะใช้แอพ โดย ASID จะช่วยเพิ่มความเป็นส่วนตัวให้กับผู้ใช้ด้วยการทำให้ชุดข้อมูลเชื่อมโยงผู้ใช้ในแอพต่างๆ เข้าด้วยกันได้ยากยิ่งขึ้น เนื่องจากผู้ใช้หนึ่งรายที่ใช้แอพสองแอพจะมี ASID ที่ไม่เหมือนกันในแต่ละแอพ
ข้อมูลลับของแอพ - ข้อมูลลับของแอพที่รับทราบร่วมกันซึ่ง Meta เผยแพร่ให้ผู้พัฒนาสามารถเข้าถึงได้ผ่านแดชบอร์ดของแอพ การครอบครองข้อมูลลับของแอพอนุญาตให้ซอฟต์แวร์ดำเนินการบางอย่างผ่าน API กราฟได้ ผู้พัฒนาจึงจำเป็นต้องตรวจสอบให้แน่ใจว่าบุคคลที่ไม่ได้รับอนุญาตจะไม่สามารถเข้าถึงข้อมูลลับของแอพได้
การบุกรุกแอพ - หากผู้ไม่ประสงค์ดีสามารถเข้าถึงเครือข่ายภายในขององค์กรได้โดยที่ไม่ได้รับอนุญาตผ่านการกำหนดค่าที่ผิดพลาดหรือช่องโหว่ในแอพขององค์กร (เช่น ช่องโหว่ของซอฟต์แวร์ในเว็บแอพ) เหตุการณ์นี้เรียกว่า การบุกรุกแอพ โดยสามารถป้องกันการบุกรุกแอพได้ด้วยการทดสอบเจาะระบบของแอพ โปรดดู “การบุกรุกเครือข่าย”
คอนเทนเนอร์ของแอพพลิเคชั่น - คอนเทนเนอร์จะรวมโค้ดของซอฟต์แวร์และการขึ้นต่อกันที่เกี่ยวข้องไว้เป็นแพ็คเกจ เพื่อให้แอพสามารถทำงานบนเซิร์ฟเวอร์ประเภทต่างๆ ได้ (เช่น เซิร์ฟเวอร์ที่ใช้ระบบปฏิบัติการที่แตกต่างกันอย่างเซิร์ฟเวอร์ Linux หรือ Windows) ผู้พัฒนาจะสร้างอิมเมจของคอนเทนเนอร์ที่รวมแอพของตนไว้เป็นแพ็คเกจ เอนจินหรือรันไทม์ของคอนเทนเนอร์สำหรับแอพพลิเคชั่นจะโฮสต์ (เรียกใช้) อิมเมจของคอนเทนเนอร์
การเข้ารหัสของแอพพลิเคชั่น - วิธีการปกป้องข้อมูลที่ซอฟต์แวร์ของแอพพลิเคชั่นดำเนินการเข้ารหัสและถอดรหัสเอง ในทางตรงกันข้าม การรักษาความปลอดภัยในระดับการขนส่ง (TLS) จะเข้ารหัสข้อมูลที่อยู่ระหว่างการโอนย้ายได้อย่างลื่นไหลเมื่อแอพพลิเคชั่นสร้างการเชื่อมต่อที่ปลอดภัยถึงเซิร์ฟเวอร์ระยะไกล (เช่น การใช้ HTTPS) และผู้ให้บริการระบบคลาวด์เสนอบริการในการเข้ารหัสข้อมูลที่จัดเก็บอย่างโปร่งใส
ส่วนต่อประสานโปรแกรมประยุกต์ (API) - ช่วยให้คอมพิวเตอร์สองเครื่องสามารถสื่อสารกันได้บนเครือข่าย ตัวอย่างเช่น แอพมือถือดึงข้อมูลสภาพอากาศประจำวันสำหรับตำแหน่งที่ตั้งหนึ่งจากระบบพยากรณ์อากาศศูนย์กลาง
การพิสูจน์ข้อมูลลับของแอพ - การรักษาความปลอดภัยในอีกระดับสำหรับการเรียกใช้ API ไปยัง Meta โดยที่ผู้พัฒนาจะสร้างพารามิเตอร์ (การพิสูจน์ข้อมูลลับของแอพ) ที่แสดงให้เห็นว่าตนครอบครองข้อมูลลับของแอพ การพิสูจน์ข้อมูลลับของแอพเป็นผลลัพธ์จากฟังก์ชั่นการแฮช (หรือเรียกอีกอย่างว่าฟังก์ชั่นทางเดียว) ที่ใช้ข้อมูลลับของแอพและโทเค็นการเข้าถึง การกำหนดค่าแอพให้ต้องใช้การพิสูจน์ข้อมูลลับของแอพในระหว่างการเรียกใช้ API กราฟจะลดอันตรายที่อาจเกิดขึ้นจากการละเมิดโทเค็นการเข้าถึงของผู้ใช้ เนื่องจากโทเค็นการเข้าถึงเหล่านี้จะไม่สามารถใช้งานได้หากไม่มีพารามิเตอร์การพิสูจน์ข้อมูลลับของแอพเพิ่มเติม
การให้บริการแบ็คเอนด์ (BaaS) - รูปแบบการประมวลผลระบบคลาวด์ที่ให้บริการชุดความสามารถฝั่งเซิร์ฟเวอร์แก่ผู้พัฒนาแอพ เพื่อให้ผู้พัฒนาสามารถมุ่งสร้างฟรอนต์เอนด์ได้ (กล่าวคือ ส่วนของแอพที่ผู้ใช้โต้ตอบด้วย) โซลูชั่น BaaS คล้ายคลึงกันกับ PaaS อีกทั้งยังเพิ่มบริการต่างๆ อย่างการยืนยันตัวตนของผู้ใช้และการแจ้งเตือนแบบพุชบนมือถือ ตัวอย่างของผลิตภัณฑ์ BaaS ยอดนิยมบางส่วน ได้แก่ AWS Amplify, Azure Mobile Apps, Firebase และ MongoDB Switch
ข้อความรหัส - คำที่มีความหมายพ้องกับ “ข้อมูลที่เข้ารหัส” โดยที่ข้อความรหัสเป็นชื่อสำหรับข้อมูลที่ผ่านการทำให้ไม่สามารถอ่านได้ผ่านอัลกอริธึมการเข้ารหัส ข้อความที่มีลักษณะตรงข้ามกับข้อความรหัสคือข้อความธรรมดา
ฝั่งไคลเอ็นต์ - โดยปกติแล้ว ผู้คนจะใช้บริการที่สามารถเข้าถึงได้ด้วยอินเทอร์เน็ตโดยการเปิดเว็บไซต์ในเบราว์เซอร์ หรือโดยการใช้แอพมือถือในโทรศัพท์หรือแท็บเล็ต โดยจะเรียกเบราว์เซอร์หรือแอพมือถือว่าไคลเอ็นต์เฉพาะที่หรือฝั่งไคลเอ็นต์ ไคลเอ็นต์จะส่งคำขอจากคอมพิวเตอร์จากระยะไกล (เซิร์ฟเวอร์) ผ่านอินเทอร์เน็ต
การประมวลผลระบบคลาวด์ - หมายถึงรูปแบบการจัดการคอมพิวเตอร์ เครือข่าย และพื้นที่จัดเก็บข้อมูลของเซิร์ฟเวอร์ เพื่อให้องค์กรไม่ต้องกังวลเกี่ยวกับสภาพแวดล้อมทางกายภาพ (เช่น ศูนย์ข้อมูลที่เต็มไปด้วยชั้นวางเซิร์ฟเวอร์และสายเครือข่าย) องค์กรสามารถจัดหาสินทรัพย์เหล่านี้ตามความต้องการและชำระค่าบริการตามการใช้งานได้แทน
การกำหนดค่าระบบคลาวด์ - ชุดตัวเลือกการประมวลผลระบบคลาวด์ที่องค์กรกำหนดไว้เกี่ยวกับการใช้งานผู้ให้บริการระบบคลาวด์ที่ดำเนินงานซอฟต์แวร์บางรายการ ตัวอย่างการกำหนดค่าระบบคลาวด์รวมถึงประเภทการเชื่อมต่อของเครือข่ายที่ได้รับการอนุญาตหรือถูกบล็อก ตำแหน่งที่มีการเขียนไฟล์บันทึกและระยะเวลาในการเก็บ ตลอดจนกลุ่มผู้ใช้ที่ได้รับอนุญาตให้สามารถเปลี่ยนแปลงการกำหนดค่าระบบคลาวด์ได้
การควบคุมเพื่อชดเชย - การควบคุมด้านการรักษาความปลอดภัยที่แตกต่างจากชุดข้อกำหนดพื้นฐานบางประการแต่มีวัตถุประสงค์เพื่อให้การป้องกันความเสี่ยงในระดับที่เทียบเท่ากัน
ฐานข้อมูล - ซอฟต์แวร์ที่ช่วยให้สามารถจัดเก็บ อ่าน อัพเดต และลบข้อมูลใดๆ ก็ตามได้ ฐานข้อมูลสามารถทำงานบนไคลเอ็นต์และบนเซิร์ฟเวอร์ องค์กรที่ผสานการทำงานกับแพลตฟอร์มของ Meta มักจะจัดเก็บข้อมูลที่ตนดึงจาก API กราฟไว้ในฐานข้อมูลที่ทำงานบนฝั่งเซิร์ฟเวอร์
การถอดรหัส - กระบวนการแปลงข้อมูลที่เข้ารหัสให้กลับสู่รูปแบบต้นฉบับ กล่าวคือ การถอดรหัสจะเปลี่ยนข้อความรหัสเป็นข้อความธรรมดา
การเข้ารหัส - กระบวนการแปลงข้อมูลให้อยู่ในรูปแบบที่ไม่สามารถใช้งานได้โดยผู้ใดก็ตามที่ไม่สามารถถอดรหัสข้อมูล กล่าวคือ การเข้ารหัสจะเปลี่ยนข้อความธรรมดาเป็นข้อความรหัส
การเข้ารหัสข้อมูลที่จัดเก็บ - ข้อมูลที่มีการป้องกันด้วยการเข้ารหัสเมื่อมีการเขียนไปยังพื้นที่จัดเก็บข้อมูลถาวร (เช่น ดิสก์ไดรฟ์) การเข้ารหัสข้อมูลที่จัดเก็บจะให้การป้องกันในอีกระดับจากการเข้าถึงที่ไม่ได้รับอนุญาต เนื่องจากบุคคลที่สามารถอ่านไฟล์ดิบบนอุปกรณ์จัดเก็บข้อมูลจะเห็นข้อความรหัสและจะไม่สามารถถอดรหัสข้อความได้ เว้นแต่ว่าบุคคลดังกล่าวจะสามารถเข้าถึงคีย์ถอดรหัสได้ด้วย
การเข้ารหัสข้อมูลที่อยู่ระหว่างการถ่ายโอน - ข้อมูลที่มีการป้องกันด้วยการเข้ารหัสเมื่อมีการส่งข้ามเครือข่าย การเข้ารหัสข้อมูลที่อยู่ระหว่างการถ่ายโอนจะป้องกันการสอดแนมข้อมูลตามเส้นทางของเครือข่าย เนื่องจากบุคคลที่สามารถอ่านแพ็คเก็ตของเครือข่ายจะเห็นข้อความรหัสและจะไม่สามารถถอดรหัสข้อความได้ เว้นแต่ว่าบุคคลดังกล่าวจะสามารถเข้าถึงคีย์ถอดรหัสได้ด้วย
ซอฟต์แวร์ช่วงระยะสุดท้าย (EOL) - เมื่อองค์กรเลือกที่จะยุติการสนับสนุน (เช่น สร้างแพตช์เพื่อแก้ไขช่องโหว่ด้านการรักษาความปลอดภัย) สำหรับผลิตภัณฑ์ซอฟต์แวร์ ซอฟต์แวร์ดังกล่าวจะถือว่ามีสถานะ EOL เนื่องจากไม่มีการดูแลรักษาซอฟต์แวร์นี้อีกต่อไป การใช้งานซอฟต์แวร์ EOL จึงมีความเสี่ยงอย่างยิ่ง
Google Cloud Platform (GCP) - ชุดบริการประมวลผลระบบคลาวด์ของ Google API กราฟ - วิธีหลักที่แอพใช้อ่านและเขียนไปยังกราฟสังคมของ Meta โดยที่ SDK และผลิตภัณฑ์ในเครือ Meta ทั้งหมดจะโต้ตอบกับ API ในทางใดทางหนึ่ง
ฟังก์ชั่นการแฮช - ฟังก์ชั่นการเข้ารหัสลับที่รับข้อมูลใดๆ ก็ตามมาในรูปแบบของอินพุต แล้วจึงส่งออกรหัสสั้นๆ ที่ไม่สามารถแปลงกลับเป็นอินพุตต้นฉบับได้ การเข้ารหัสลับมีการใช้ฟังก์ชั่นการแฮชเพื่อปกป้องข้อมูล เช่น รหัสผ่าน ซึ่งจะแปลงรหัสผ่านด้วยฟังก์ชั่นการแฮชก่อนแล้วจึงค่อยจัดเก็บ แทนที่จะจัดเก็บรหัสผ่านของผู้ใช้ในรูปแบบของข้อความธรรมที่อาจถูกขโมยได้ จากนั้น ระบบจะใช้ฟังก์ชั่นแฮชเดียวกันเพื่อแปลงอินพุตและเทียบแฮชที่ได้กับค่าที่จัดเก็บไว้ เพื่อยืนยันว่าผู้ใช้ได้ป้อนรหัสผ่านที่ถูกต้อง หรือเรียกอีกอย่างว่าฟังก์ชั่นทางเดียว เนื่องจากไม่สามารถแปลงแฮชของเอาต์พุตกลับสู่เอาต์พุตต้นฉบับได้
สภาพแวดล้อมแบบโฮสต์ - หมายถึงชุดเซิร์ฟเวอร์ทางไกล เครือข่าย และอุปกรณ์จัดเก็บข้อมูลที่องค์กรดำเนินการในศูนย์ข้อมูลของตนเองหรือภายในศูนย์ข้อมูลที่ตั้งอยู่ร่วมกัน (หรือเรียกว่า “Colo”) กับลูกค้ารายอื่น การจัดการเช่นนี้ค่อนข้างพบได้น้อยในยุคปัจจุบันเนื่องจากการประมวลผลระบบคลาวด์ได้รับความนิยมมากขึ้น
ผู้ให้บริการข้อมูลระบุตัวตน (IdP) - บริการระบบคลาวด์ที่ใช้เพื่อรวมศูนย์การจัดการข้อมูลระบุตัวตนทางดิจิทัลและเพื่อยืนยันตัวตนผู้ใช้ องค์กรที่ใช้ IdP มักจะกำหนดค่าแอพบนระบบคลาวด์ให้ใช้ IdP ในการยืนยันตัวตนผู้ใช้ จากนั้น องค์กรจะสามารถจัดการผู้ใช้ได้โดยการสร้างสิทธิ์การเข้าถึง การมอบสิทธิ์การเข้าถึงให้แก่แอพที่เลือก และการปิดใช้งานบัญชีผู้ใช้จากส่วนกลางภายใน IdP แทนที่จะต้องดำเนินการนี้ซ้ำๆ ในแอพบนระบบคลาวด์แต่ละแอพ
การจัดการข้อมูลระบุตัวตนและสิทธิ์การเข้าถึง (IAM) - หมายถึงหมวดหมู่ของเครื่องมือและกระบวนการที่ใช้ในการจัดการบัญชีและให้สิทธิ์การเข้าถึงระบบ
การให้บริการโครงสร้างพื้นฐาน (IaaS) - การประมวลผลระบบคลาวด์ที่ช่วยให้ลูกค้าสามารถกำหนดค่าการประมวลผล พื้นที่จัดเก็บข้อมูล และบริการระบบเครือข่าย โดยที่ไม่ต้องรับผิดต่อสินทรัพย์ทางกายภาพด้วยตนเอง (เช่น การจัดการศูนย์ข้อมูลที่เต็มไปด้วยเซิร์ฟเวอร์ อุปกรณ์เครือข่าย และอาร์เรย์จัดเก็บข้อมูล) Iaas ช่วยให้องค์กรสามารถควบคุมการกำหนดค่าสินทรัพย์ระบบคลาวด์ของตนได้มากกว่าเมื่อเทียบกับ Paas แต่การจัดการสินทรัพย์ดังกล่าวจะมีความซับซ้อนมากกว่า ตัวอย่างของผลิตภัณฑ์ IaaS ยอดนิยมบางส่วน ได้แก่ AWS EC2, Microsoft Azure IaaS และ Google Compute Engine
ไลบรารี - องค์ประกอบพื้นฐานที่มีอยู่แล้วสำหรับซอฟต์แวร์ ซึ่งปกติแล้วจะมาจากบริษัทหรือผู้พัฒนาภายนอก โดยมีการใช้งานเพื่อจัดการงานบางงานภายในแอพหรือระบบของผู้พัฒนารายอื่น ไลบรารีจะลดความซับซ้อนในการพัฒนาแอพ เนื่องจากผู้พัฒนาไม่จำเป็นต้องเสียเวลาสร้างองค์ประกอบที่มีอยู่แล้วเมื่อมีไลบรารีอยู่เพื่อวัตถุประสงค์ดังกล่าว อย่างไรก็ตาม ไลบรารีอาจมีช่องโหว่ด้านการรักษาความปลอดภัย หรืออาจประกอบไปด้วยไลบรารีอื่นที่มีช่องโหว่ดังกล่าว ผู้พัฒนาที่ใช้ไลบรารีเป็นส่วนหนึ่งของแอพของตนจึงจำเป็นต้องทราบว่ากำลังใช้ไลบรารีใดอยู่และอัพเดตไลบรารีให้เป็นเวอร์ชั่นล่าสุดอยู่เป็นระยะๆ เมื่อเวลาผ่านไป
ไคลเอ็นต์สำหรับมือถือหรือแอพมือถือ - แอพที่บุคคลติดตั้งลงบนโทรศัพท์หรือแท็บเล็ตจาก App Store บนมือถือ (เช่น App Store ของ iOS หรือ Google Play Store) การที่ไคลเอ็นต์สำหรับมือถือจะสื่อสารกับ REST API ขององค์กรบนอินเทอร์เน็ตถือเป็นเรื่องปกติ อีกทั้งยังอาจสื่อสารกับฝ่ายอื่นๆ ด้วย (เช่น สื่อสารไปยัง API กราฟ ผ่าน Facebook SDK สำหรับ Android)
การยืนยันตัวตนแบบหลายชั้น (MFA) - แนวทางการยืนยันตัวตนที่กำหนดให้ใช้ปัจจัยมากกว่าหนึ่งปัจจัยในการเข้าถึงแอพหรือระบบ เมื่อเทียบกับการยืนยันตัวตนแบบปัจจัยเดียวที่ใช้เพียงรหัสผ่านในการยืนยันตัวตนของผู้ใช้ โดยปกติแล้ว MFA จะกำหนดให้ใช้รหัสผ่านร่วมกับอย่างใดอย่างหนึ่งดังต่อไปนี้ ได้แก่ รหัสที่ส่งจากอีเมลหรือ SMS, รหัสจากแอพยืนยันตัวตน, การสแกนไบโอเมตริก หรือคีย์รักษาความปลอดภัย โดย MFA จะป้องกันการเข้ายึดบัญชีด้วยการทำให้บุคคลที่ไม่ได้รับอนุญาตเจาะเข้าสู่บัญชีได้ยากยิ่งขึ้น เช่น การพยายามเข้าสู่ระบบด้วยอีเมลที่รู้จักและรหัสผ่านทั่วไปเรื่อยๆ จนสำเร็จ
ซอฟต์แวร์เนทีฟ - แอพที่มีการดาวน์โหลดและติดตั้งลงบนแล็ปท็อปหรืออุปกรณ์มือถือนั้นเรียกว่า ซอฟต์แวร์เนทีฟ (เช่น แอพ Facebook สำหรับ iOS) ในทางตรงกันข้าม แอพที่ทำงานในเบราว์เซอร์จะเรียกว่า เว็บแอพ (เช่น การเปิด Facebook โดยใช้เบราว์เซอร์ Chrome)
การบุกรุกเครือข่าย - หากผู้ไม่ประสงค์ดีสามารถเข้าถึงเครือข่ายภายในขององค์กรได้โดยที่ไม่ได้รับอนุญาตผ่านการกำหนดค่าที่ผิดพลาดหรือช่องโหว่ในเครือข่าย เหตุการณ์เช่นนี้เรียกว่าการบุกรุกเครือข่าย โดยสามารถป้องกันการบุกรุกเครือข่ายได้ด้วยการสแกนเครือข่ายเพื่อหาการกำหนดค่าที่ผิดพลาดและช่องโหว่ในเครือข่ายที่เชื่อมต่อกับอินเทอร์เน็ต โปรดดู “การบุกรุกแอพพลิเคชั่น”
การสแกนเครือข่าย - กระบวนการจัดการความเสี่ยงที่ใช้ซอฟต์แวร์เพื่อดำเนินการต่อไปนี้ ได้แก่ (1) ระบุเซิร์ฟเวอร์ที่กำลังใช้งานบนเครือข่ายที่จะตอบสนองต่อการสื่อสารระยะไกล จากนั้น (2) ตรวจสอบว่าเซิร์ฟเวอร์เหล่านั้นกำลังใช้งานซอฟต์แวร์รุ่นเก่าอันเป็นที่ทราบดีว่ามีความเสี่ยงต่ออันตรายด้านการรักษาความปลอดภัยอย่างน้อยหนึ่งจุดหรือไม่ ตัวอย่างเช่น องค์กรอาจสแกนเครือข่ายเป็นระยะๆ เพื่อให้แน่ใจว่าไม่มีพอร์ตที่เปิดอยู่โดยไม่คาดคิดในขอบเขตเครือข่ายของตน
ตัวจัดการแพ็คเกจโหนด (NPM) - เครื่องมือที่ผู้พัฒนา JavaScript ใช้เพื่อเร่งกระบวนการพัฒนาโดยการอนุญาตให้สามารถรวมแพ็คเกจที่สร้างไว้ล่วงหน้าในแอพหรือระบบของผู้พัฒนา โดย NPM ประกอบไปด้วยฟีเจอร์ในการตรวจสอบชุดแพ็คเกจที่แอพใช้งานและในการระบุแพ็คเกจที่มีช่องโหว่ด้านการรักษาความปลอดภัยที่ทราบ
บักเก็ตจัดเก็บข้อมูลอ็อบเจ็กต์ - พื้นที่จัดเก็บข้อมูลถาวรประเภทหนึ่งในระบบคลาวด์ที่ช่วยให้องค์กรสามารถจัดเก็บไฟล์ในพื้นที่จัดเก็บข้อมูลถาวรได้ง่ายๆ ซึ่งรวมถึงไฟล์ขนาดใหญ่มาก โดยที่ไม่ต้องกังวลเกี่ยวกับการขยายขนาดสินทรัพย์ทางกายภาพ เช่น อาร์เรย์จัดเก็บข้อมูล หรือวิธีสำรองไฟล์เพื่อให้แน่ใจว่าไฟล์จะไม่สูญหายในกรณีที่เกิดภัยพิบัติ เช่น ไฟไหม้หรือน้ำท่วม
ระบบปฏิบัติการ - ซอฟต์แวร์ที่ทำงานบนคอมพิวเตอร์หรืออุปกรณ์มือถือที่ช่วยให้แอพพลิเคชั่นสามารถทำงานและใช้หน่วยประมวลผล หน่วยความจำ พื้นที่จัดเก็บข้อมูล และทรัพยากรเครือข่ายของคอมพิวเตอร์เครื่องดังกล่าวได้ ตัวอย่างเช่น Windows ของ Microsoft, macOS หรือ iOS ของ Apple และ Linux
สมาชิกขององค์กร - บุคคลที่มีบทบาทและความรับผิดชอบภายในองค์กร เช่น พนักงาน ผู้รับเหมา พนักงานชั่วคราว พนักงานฝึกหัด และอาสาสมัคร
อุปกรณ์ขององค์กร - คอมพิวเตอร์หรืออุปกรณ์มือถือที่สมาชิกขององค์กรใช้ในบริบทของการทำงานให้กับองค์กร
ข้อกำหนดแพลตฟอร์ม 6.a.i - หมายถึงข้อกำหนดแพลตฟอร์มของ Meta ส่วนที่ (6) หัวข้อ (a) ย่อหน้า (i) ซึ่งอธิบายเกี่ยวกับข้อผูกพันของผู้พัฒนาแพลตฟอร์มที่เกี่ยวข้องกับการรักษาความปลอดภัยของข้อมูล
แพ็คเกจ - คำที่มีความหมายพ้องกับคำว่า “ไลบรารี”
แพตช์ - การอัพเดตซอฟต์แวร์ที่แก้ไขช่องโหว่ด้านการรักษาความปลอดภัย แก้ไขจุดบกพร่อง และเพิ่มฟังก์ชั่นการทำงานใหม่ ซอฟต์แวร์ทุกประเภทล้วนต้องดำเนินการแพตช์ ซึ่งรวมถึงระบบปฏิบัติการ คอนเทนเนอร์ ไลบรารี และ SDK
การทดสอบเจาะระบบ - การจำลองการโจมตีแอพหรือระบบที่ผู้ทดสอบพยายามค้นหาช่องโหว่ในโค้ดหรือการกำหนดค่า ซึ่งบุคคลที่ไม่ได้รับอนุญาตอาจใช้เพื่อแสวงหาประโยชน์ ผู้ทดสอบเจาะระบบจะใช้เครื่องมือที่คล้ายกันกับเครื่องมือของอาชญากรไซเบอร์ในการสำรวจ สแกนหาจุดอ่อนที่เป็นไปได้ และทดสอบช่องโหว่ที่อาจถูกใช้เพื่อเข้าถึงระบบโดยไม่ได้รับอนุญาต ในขั้นตอนสุดท้ายของการทดสอบเจาะระบบ ผู้ทดสอบจะจัดทำรายงานที่อธิบายข้อมูลที่ค้นพบ รวมถึงความรุนแรงของแต่ละรายการ และองค์กรที่ดำเนินการบำรุงรักษาซอฟต์แวร์ดังกล่าวจะมีหน้าที่รับผิดชอบในการสร้างวิธีแก้ไขเพื่ออุดช่องโหว่
ข้อความธรรมดา - คำที่มีความหมายพ้องกับ “ข้อมูลที่ไม่มีการเข้ารหัส” โดยที่ข้อความธรรมดาเป็นชื่อสำหรับข้อมูลที่ไม่มีการป้องกันด้วยการเข้ารหัส การให้บริการแพลตฟอร์ม (PaaS) - แนวทางการประมวลผลระบบคลาวด์ โดยที่ลูกค้านำแอพพลิเคชั่นไปใช้ในแพลตฟอร์มที่มีการจัดการโดยผู้ให้บริการระบบคลาวด์ ลูกค้าสามารถจัดการ PaaS ได้ง่ายกว่าเมื่อเทียบกับ IaaS เนื่องจากผู้โฮสต์ระบบคลาวด์ไม่เพียงจัดการสินทรัพย์ทางกายภาพ (เช่น เซิร์ฟเวอร์ อุปกรณ์พื้นที่จัดเก็บข้อมูล และอุปกรณ์เครือข่าย) เพียงเท่านั้น แต่ยังจัดการระบบปฏิบัติการและคอนเทนเนอร์ของแอพพลิเคชั่นที่แอพของลูกค้าใช้งานอีกด้วย ตัวอย่างของผลิตภัณฑ์ PaaS ยอดนิยมบางส่วน ได้แก่ AWS Elastic Beanstalk, Google App Engine, Force.com
พอร์ต - เมื่อไคลเอ็นต์เชื่อมต่อไปยังเซิร์ฟเวอร์ผ่านอินเทอร์เน็ต ที่อยู่ปลายทางจะมีสองส่วน ได้แก่ (1) ที่อยู่อินเทอร์เน็ตโปรโตคอล (IP) สำหรับเซิร์ฟเวอร์และ (2) หมายเลขพอร์ตที่อยู่บนเซิร์ฟเวอร์ดังกล่าวที่แอพหนึ่งๆ จะตอบสนอง โปรโตคอลทั่วไปจะใช้พอร์ตที่สงวนไว้ (เช่น HTTPS ใช้ 443) แต่ผู้พัฒนาสามารถใช้พอร์ตที่กำหนดเองสำหรับการสื่อสารของเครือข่ายได้ หากต้องการ
REST API - รูปแบบที่มีการใช้งานอย่างแพร่หลายในการสร้างบริการที่สามารถเข้าถึงได้ด้วยเว็บ โดยที่ไคลเอนต์และเซิร์ฟเวอร์จะสื่อสารกันโดยใช้โปรโตคอล HTTP ผู้พัฒนาบนแพลตฟอร์มของ Meta อาจโฮสต์ REST API บนโดเมนย่อย เช่น api.example.com โดยที่แอพมือถือของผู้พัฒนาจะส่งและรับข้อมูลแพลตฟอร์มถึง/จากโดเมนย่อยดังกล่าว
Secure Shell (SSH) - ระบบการสื่อสารที่ช่วยให้ผู้ดูแลสามารถเข้าสู่ระบบของเซิร์ฟเวอร์และเรียกใช้โปรแกรมบนเซิร์ฟเวอร์ดังกล่าวจากทางไกลได้ โดยถือว่ามีความปลอดภัยเนื่องจากมีการปกป้องการสื่อสารระหว่างไคลเอ็นต์และเซิร์ฟเวอร์จากการสอดแนม ซึ่งต่างจากโปรโตคอลก่อนหน้าอย่าง Telnet ทั้งนี้มีอีกชื่อว่า Secure Socket Shell
Secure Sockets Layer (SSL) - การเข้ารหัสข้อมูลที่อยู่ระหว่างการถ่ายโอนเวอร์ชั่นล้าสมัยและไม่ปลอดภัย เวอร์ชั่นใหม่ที่ปลอดภัยเรียกว่า การรักษาความปลอดภัยในระดับการขนส่ง (TLS)
เซิร์ฟเวอร์ - คอมพิวเตอร์ที่ให้บริการจากทางไกลผ่านเครือข่าย เบราว์เซอร์และแอพมือถือจะเชื่อมต่อไปยังเซิร์ฟเวอร์ผ่านอินเทอร์เน็ต
การประมวลผลแบบไร้เซิร์ฟเวอร์ - รูปแบบการประมวลผลระบบคลาวด์ที่ผู้โฮสต์ระบบคลาวด์เป็นผู้จัดการโครงสร้างพื้นฐานทางกายภาพ ระบบปฏิบัติการของเซิร์ฟเวอร์ และคอนเทนเนอร์ ผู้พัฒนาเพียงต้องรับผิดชอบเกี่ยวกับโค้ดที่กำหนดเองและไลบรารีที่เกี่ยวข้อง ตลอดจนการกำหนดค่าระบบคลาวด์
ฝั่งเซิร์ฟเวอร์ - ข้อมูลหรือการประมวลผลที่อยู่อีกฝั่งหนึ่งของการเชื่อมต่อเครือข่าย (กล่าวคือ บนเซิร์ฟเวอร์) จะเรียกว่าฝั่งเซิร์ฟเวอร์ ในทางตรงกันข้าม ข้อมูลหรือการประมวลผลบนอุปกรณ์เฉพาะที่อย่างแล็ปท็อปหรืออุปกรณ์มือถือจะเรียกว่าฝั่งไคลเอ็นต์
การลงชื่อเข้าใช้แบบครั้งเดียว (SSO) - การจัดการที่แอพใช้ไดเรกทอรีผู้ใช้ส่วนกลาง (กล่าวคือ IdP) ในการยืนยันตัวตนผู้ใช้ นอกเหนือจากการรวมศูนย์บัญชีผู้ใช้และการบริหารจัดการสิทธิ์การเข้าถึงแอพสำหรับองค์กรแล้ว ผู้ใช้ยังได้รับประโยชน์โดยการมีข้อมูลประจำตัวเพียงชุดเดียว แทนที่จะกำหนดให้ผู้ใช้ต้องเก็บรักษาข้อมูลประจำตัวหลายๆ ชุดที่แตกต่างกันไป (เช่น ชื่อผู้ใช้และรหัสผ่าน) สำหรับแต่ละแอพ
ชุดพัฒนาซอฟต์แวร์ (SDK) - องค์ประกอบพื้นฐานของโค้ดที่ผู้พัฒนาสามารถใช้เพื่อลดความซับซ้อนของกระบวนการพัฒนาได้ตามที่ต้องการ ตัวอย่างเช่น Meta สร้างและบำรุงรักษา SDK ที่ช่วยลดความซับซ้อนของการทำงานกับ API กราฟสำหรับผู้พัฒนา iOS และ Android ซึ่งคล้ายกับไลบรารีในแง่ที่ผู้พัฒนาที่ใช้ SDK ในแอพของตนจำเป็นต้องอัพเดต SDK ให้เป็นเวอร์ชั่นล่าสุดอยู่เสมอเมื่อเวลาผ่านไป
การให้บริการซอฟต์แวร์ (SaaS) - ช่วยให้ลูกค้าสามารถใช้แอพระบบคลาวด์ผ่านทางอินเทอร์เน็ตได้ โดยต่างจาก PaaS หรือ IaaS ในแง่ที่ลูกค้าของแอพ SaaS ไม่ได้นำโค้ดที่กำหนดเองไปใช้หรือมีความรับผิดชอบในการกำหนดค่า อัพเกรด หรือแพตช์แอพ SaaS เนื่องจากการดำเนินการเหล่านี้ทั้งหมดเป็นความรับผิดชอบของผู้ให้บริการซอฟต์แวร์ SaaS ตัวอย่างของผลิตภัณฑ์ SaaS ยอดนิยมบางส่วน ได้แก่ Dopbox, MailChip, Salesforce, Slack
การวิเคราะห์เชิงสถิต - โปรดดู “การทดสอบการรักษาความปลอดภัยของแอพพลิเคชั่นเชิงสถิต”
การทดสอบการรักษาความปลอดภัยของแอพพลิเคชั่นเชิงสถิต (SAST) - แนวทางในการค้นหาช่องโหว่ในซอฟต์แวร์โดยการใช้เครื่องมือเฉพาะทางกับซอร์สโค้ด เครื่องมือ SAST จะระบุช่องโหว่ที่เป็นไปได้ เช่น ช่องโหว่ต่างๆ ที่ระบุอยู่ในรายการของโปรเจ็กต์ OWASP Top 10 จากนั้นผู้พัฒนาจะมีหน้าที่รับผิดชอบในการตรวจสอบผลลัพธ์ที่ค้นพบ แยกผลลัพธ์ที่เป็นช่องโหว่จริงออกจากผลลัพธ์ที่ไม่ใช่ช่องโหว่ และดำเนินการแก้ไขช่องโหว่ในซอฟต์แวร์ โดย SAST เป็นเครื่องมือที่มีประโยชน์เนื่องจากสามารถช่วยให้ผู้พัฒนาค้นหาช่องโหว่ได้ก่อนการนำไปใช้จริง แต่จะมีความแตกต่างจากการทดสอบเจาะระบบเพราะเครื่องมือ SAST จะไม่สามารถค้นหาช่องโหว่ที่เกี่ยวข้องกับการกำหนดค่าการผลิตของแอพได้
การเข้ารหัสข้อมูลที่โปร่งใส - การเข้ารหัสข้อมูลที่จัดเก็บประเภทหนึ่ง ซึ่งโดยปกติแล้วจะมีการใช้งานกับพื้นที่จัดเก็บฐานข้อมูล (เช่น เนื้อหาในฐานข้อมูลและไฟล์บันทึก) ในการจัดการเช่นนี้ ซอฟต์แวร์ฐานข้อมูลจะจัดการคีย์การเข้ารหัสและจะดำเนินการเข้ารหัส (เมื่อมีการเขียน) และถอดรหัส (เมื่อมีการอ่าน) อย่างโปร่งใส
การรักษาความปลอดภัยในระดับการขนส่ง (TLS) - ระบบการเข้ารหัสข้อมูลที่อยู่ระหว่างการโอนย้าย ซึ่งใช้การเข้ารหัสเพื่อปกป้องข้อมูลที่ส่งผ่านเครือข่ายจากการสอดแนมตามเส้นทางของเครือข่าย โดย TLS เป็นเวอร์ชั่นใหม่ที่ปลอดภัยของเทคโนโลยีก่อนหน้าซึ่งล้าสมัยไปแล้วที่เรียกว่า SSL
การยืนยันตัวตนแบบสองชั้น (2Fac) - คำที่มีความหมายพ้องกับ “การยืนยันตัวตนแบบหลายชั้น” ห้องนิรภัย - ระบบการจัดการลับสำหรับข้อมูลที่มีความละเอียดอ่อน เช่น คีย์การเข้ารหัส โทเค็นการเข้าถึง และข้อมูลประจำตัวอื่นๆ ห้องนิรภัยช่วยให้สามารถควบคุมได้อย่างเข้มงวดว่าใครสามารถเข้าถึงข้อมูลลับในห้องได้บ้าง รวมทั้งนำเสนอบริการเพิ่มเติม เช่น การเก็บบันทึกการตรวจสอบ
แมชชีนเสมือน (VM) - คล้ายคลึงกับคอนเทนเนอร์ของแอพพลิเคชั่นอย่างยิ่ง โดย VM จะทำงานในโฮสต์ที่เรียกว่า “ไฮเปอร์ไวเซอร์” ในขณะที่คอนเทนเนอร์ของแอพพลิเคชั่นจะทำงานอยู่ในเอนจินของคอนเทนเนอร์ ข้อแตกต่างหลักๆ คือ อิมเมจของ VM ประกอบไปด้วยระบบปฏิบัติการ ในขณะที่คอนเทนเนอร์ของแอพพลิเคชั่นไม่มี ทั้ง VM และคอนเทนเนอร์ของแอพพลิเคชั่นจะมีแอพพลิเคชั่นและการขึ้นต่อกัน เช่น ไลบรารี
Virtual Private Cloud (VPC) - คำศัพท์ที่ AWS ใช้เพื่อกล่าวถึงชุดทรัพยากรระบบคลาวด์ที่มีความคล้ายคลึงกับเครือข่ายแบบดั้งเดิมในศูนย์ข้อมูลในยุคก่อนที่จะมีระบบคลาวด์
ช่องโหว่ - จุดบกพร่องในระบบหรือแอพที่อาจถูกนำไปใช้เพื่อแสวงหาประโยชน์ได้ เช่น เพื่ออ่านข้อมูลที่บุคคลหนึ่งๆ ไม่มีสิทธิ์อ่าน
โปรแกรมการเปิดเผยข้อมูลเกี่ยวกับช่องโหว่ (VDP) - แนวทางที่องค์กรใช้ในการร้องขอรายงานเกี่ยวกับช่องโหว่ด้านการรักษาความปลอดภัยจากนักวิจัย (บางครั้งเรียกว่า แฮ็กเกอร์ที่มีจริยธรรม) เพื่อให้สามารถค้นพบช่องโหว่และดำเนินการแก้ไขได้ก่อนที่ผู้ไม่ประสงค์ดีจะทำการโจมตี โดย VDP ที่มีประสิทธิภาพนั้นจำเป็นต้องพึ่งพากลุ่มนักวิจัยที่คอยตรวจสอบหาช่องโหว่ในเชิงรุก นักวิเคราะห์ภายในองค์กรที่ตรวจสอบและจัดระดับความรุนแรงของข้อมูลที่ได้รับเข้ามา และวิศวกรที่มีความชำนาญเกี่ยวกับการรักษาความปลอดภัยทางไซเบอร์ที่สามารถสร้างและนำวิธีการแก้ไขไปใช้อุดช่องโหว่ได้
การสแกนช่องโหว่ - แนวทางที่ใช้ซอฟต์แวร์เพื่อค้นหาช่องโหว่ในเซิร์ฟเวอร์ เครือข่าย และแอพ เมื่อเทียบกับการทดสอบเจาะระบบ การสแกนช่องโหว่จะมีค่าใช้จ่ายที่ถูกกว่าในการดำเนินงาน ดังนั้นจึงสามารถดำเนินการซ้ำๆ ได้ (เช่น รายเดือน หรือรายไตรมาส) แต่ก็ย่อมเป็นเรื่องปกติที่การทดสอบเจาะระบบจะตรวจพบช่องโหว่ที่การสแกนช่องโหว่ตรวจไม่พบ เนื่องจากผู้ทดสอบเจาะระบบจะมีทักษะในการวิเคราะห์และสัญชาตญาณที่แนวทางซึ่งใช้เพียงระบบอัตโนมัติเลียนแบบได้ยาก โปรดดู “การสแกนเครือข่าย”
เว็บแอพ - เว็บแอพเป็นโปรแกรมที่ทำงานในเบราว์เซอร์และประกอบไปด้วยทรัพยากรต่างๆ เช่น เอกสาร HTML, โค้ด JavaScript, วิดีโอและสื่ออื่นๆ รวมถึง CSS สำหรับการออกแบบ เมื่อเทียบกับแอพมือถือที่บุคคลติดตั้งลงบนโทรศัพท์มือถือจาก App Store ผู้คนเพียงเรียกใช้เว็บแอพจากเซิร์ฟเวอร์ทางไกลโดยใช้เบราว์เซอร์ของตน (เช่น www.facebook.com) โดยที่ไม่จำเป็นต้องมีการติดตั้ง