‹

5 · การป้องกันที่มีหลักฐาน

5 · ​การป้องกัน​ที่​มี​หลักฐาน

​ภาค​นี้​ถาม​คำถาม​เดียว​กับ​การป้องกัน​ทุก​แบบ ​วัด​แล้ว​ได้​เท่าไร ​คำถาม​สั้น​แค่นี้​ตอบ​ยาก​กว่า​ที่​ควรจะเป็น ​เพราะ​การป้องกัน​จำนวนมาก​ที่​องค์กร​จ่าย​เงิน​ซื้อ​อยู่​ทุกปี ​ไม่​เคย​มี​ใคร​เอา​ตัวเลข​ก่อน​กับ​ตัวเลข​หลัง​มา​วาง​ไว้​ข้าง​กัน ​มี​แต่​คำชม​และ​อัตรา​ที่​ผู้ขาย​พิมพ์​ให้​ดู​เอง ​การป้องกัน​ที่​มี​ตัวเลข​ก่อน​และ​หลัง​ตีพิมพ์​ไว้ ​จึง​อยู่​เหนือ​การป้องกัน​ที่​ทุกคน​ชม ​เหตุผล​อยู่​ที่​สัน​ของ​เล่ม — ​ธรรมชาติ​ไม่​ปรับตัว ​ศัตรู​ปรับตัว ​การป้องกัน​ที่​ไม่​เคย​ถูก​วัด​กับ​ผู้​โจมตี​จริง ​อาจ​กำลัง​กัน​สิ่ง​ที่​ผู้​โจมตี​เลิก​ทำ​ไป​แล้ว ​และ​ไม่​มีทาง​รู้​จนกว่า​จะ​มี​คน​นับ

​กฎ​รหัสผ่าน​ที่​ผิด​มา​สามสิบ​ปี · 2017–2025

​กฎ​รหัสผ่าน​ที่​คน​ทำงาน​ทั้ง​รุ่น​ท่อง​ได้​ขึ้นใจ​มี​อยู่​สอง​ข้อ ​ต้อง​ผสม​ตัวพิมพ์​ใหญ่ ​ตัวเลข​และ​สัญลักษณ์ ​และ​ต้อง​เปลี่ยน​ใหม่​ตาม​รอบ​เวลา ​ทั้งสอง​ข้อ​ไม่​ได้มา​จาก​การนับ​รหัสผ่าน​ที่​ถูก​เจาะ​จริง ​มัน​มาจาก​แบบจำลอง​ความสุ่ม​ที่​คำนวณ​บน​กระดาษ ​แล้ว​มัน​อยู่​ใน​นโยบาย​ของ​องค์กร​ทั่วโลก​มา​สามสิบ​ปี

​เดือน​มิถุนายน 2017 NIST ​ตีพิมพ์ SP 800-63B ​และ​ลด​กฎ​บังคับ​ผสม​ตัวอักษร​ใน​รหัสผ่าน​ลง​เหลือ​คำ​ว่า SHOULD NOT — ​ไม่​ใช่​ห้าม ​แต่​เป็น​คำแนะนำ​ว่า​ไม่​ควร​ทำ ​พร้อม​กำหนด​ความยาว​ขั้นต่ำ 8 ​ตัวอักษร

​ข้อความ​จริง​ใน​มาตรา 5.1.1.2 ​ระบุ​ว่า​ผู้ตรวจสอบ SHOULD NOT ​บังคับ​กฎ​ผสม​ตัวอักษร ​และ SHOULD NOT ​บังคับ​เปลี่ยน​รหัสผ่าน​ตาม​รอบ​เวลา ​แต่ SHALL ​บังคับ​เปลี่ยน​เมื่อ​มี​หลักฐาน​ว่า​รหัสผ่าน​รั่ว ​สิ่ง​ที่​ใส่​เข้ามา​แทน​บอก​ทิศทาง​ได้​ชัด​กว่า​สิ่ง​ที่​ถอด​ออก ​คือ​ความยาว blocklist ​ของ​รหัสผ่าน​ที่​เคย​รั่ว​แล้ว ​จำกัด​จำนวน​ครั้ง​ที่​ลอง​ผิด ​และ​ต้อง​ยอมให้​วาง (paste) ​ได้​เพื่อให้ password manager ​ทำงาน ​ห้าม truncate ​รหัสผ่าน ​และ​ควร​รับได้​ถึง 64 ​ตัวอักษร ​ของเก่า​คุม​สิ่ง​ที่​ผู้ใช้​พิมพ์ ​ของ​ใหม่​คุม​สิ่ง​ที่​ผู้​โจมตี​ลอง​ได้

​เหตุผล​ที่ NIST ​ให้​อยู่​ใน​ภาคผนวก A ​และ​เป็น​เหตุผล​ทาง​พฤติกรรม ​ไม่​ใช่​คณิตศาสตร์ ​ผู้ใช้​ตอบสนอง​ต่อ​กฎ​ผสม​ตัวอักษร​ใน​แบบ​ที่​คาดเดา​ได้ ​ความสุ่ม (entropy) ​ที่​กฎ​ดูเหมือน​จะ​ซื้อ​มา ​จึง​ไม่​ใช่​ความสุ่ม​ที่​ผู้​โจมตี​เจอ​จริง ​กฎ​เดิม​เผื่อ​ความปลอดภัย​ไว้​บน​แกน​ที่​ผู้​โจมตี​ไม่​ได้​เดิน ​เพราะ​ผู้ใช้​ปรับตัว​เข้าหา​กฎ ​และ​ผู้​โจมตี​ปรับตัว​เข้าหา​ผู้ใช้ NIST ​จึง​ย้าย​ไป​ใช้​แบบจำลอง​ที่วัด​จาก​รหัสผ่าน​ที่​รั่ว​แล้ว ​ประโยค​ที่​มัก​ถูก​ยก​มา​อ้าง​จาก​ภาคผนวก​นั้น​ตรวจ​กับ​ต้นฉบับ​โดยตรง​ไม่​ได้​ใน​การค้นคว้า​ครั้งนี้ ​เล่ม​นี้​จึง​อ้าง​เฉพาะ​มาตรา 5.1.1 ​ที่​อ่าน​จาก​ต้นฉบับ

​สอง​ความเชื่อ​ที่​แพร่​อยู่​ตาย​ใน​การค้นคว้า ​ข้อ​แรก "NIST ​ห้าม​กฎ​รหัสผ่าน​ซับซ้อน​ตั้งแต่ 2017" — ​ไม่​จริง ​ปี 2017 ​เป็น​แค่ SHOULD NOT ​คำ​ว่า SHALL NOT ​มาถึง​ใน​ฉบับ​แก้ไข​ครั้ง​ที่ 4 ​ที่ประกาศ​ใช้​จริง​วันที่ 31 ​กรกฎาคม 2025 ​ข้อ​สอง "​ฉบับ​แก้ไข​ครั้ง​ที่ 4 ​ออก​ใน​ปี 2024" — ​ไม่​จริง​เช่นกัน ​ร่าง​สาธารณะ​ฉบับ​แรก​ออก 16 ​ธันวาคม 2022 ​ร่าง​ที่สอง 21 ​สิงหาคม 2024 ​ฉบับ​จริง 31 ​กรกฎาคม 2025 ​ผู้ขาย​ซอฟต์แวร์​ที่​อ้างว่า​ทำตาม​มาตรฐาน​ปี 2024 ​กำลัง​อ้าง​ร่าง

​ฉบับ​ที่ 4 ​ยก​คำแนะนำ​เดิม​ขึ้น​เป็น​ข้อบังคับ ​ห้าม​กฎ​ผสม​ตัวอักษร ​ห้าม​บังคับ​เปลี่ยน​ตาม​รอบ ​และ​ยก​ความยาว​ขั้นต่ำ​เป็น 15 ​ตัวอักษร​สำหรับ​รหัสผ่าน​ที่​ใช้​เป็น​ปัจจัย​เดียว 8 ​ตัว​ใช้ได้​เฉพาะ​เมื่อ​รหัสผ่าน​เป็นหนึ่ง​ใน​หลาย​ปัจจัย ​พร้อม​ข้อสังเกต​ใหม่​ว่า blocklist ​ที่​ใหญ่​เกินไป​ได้ประโยชน์​เพิ่ม​น้อย ​เพราะ​มัน​กัน​การโจมตี​แบบ online ​ที่​การจำกัด​จำนวน​ครั้ง​กัน​อยู่แล้ว

​รูปร่าง​ของ​เรื่อง​นี้​สำคัญ​กว่า​ตัว​กฎ ​สอง​ใน​สาม​กฎ​ที่​โด่งดัง​ของ​ปี 2017 ​ไม่​ได้​มี​หลักฐาน​ใหม่​ใน​ปี 2025 ​มัน​คือ​หลักฐาน​ชุด​เดิม​ที่​ถูก​เลื่อน​จาก​คำแนะนำ​เป็น​ข้อบังคับ​หลัง​ใช้งาน​จริง​แปด​ปี ​แปด​ปี​นั้น​ไม่​ได้​ใช้​หา​หลักฐาน ​แต่​ใช้​รอ​ให้​หลักฐาน​ชุด​เดิม​หนัก​พอ​จะ​เขียน​เป็น​คำสั่ง

​สิ่ง​ที่​กรณี​นี้​สอน: ​ก่อน​บังคับ​กฎ​กับ​ผู้ใช้ ​ถาม​ว่า​กฎ​นั้น​ถูก​วัด​กับ​รหัสผ่าน​ที่​รั่ว​จริง ​หรือ​กับ​แบบจำลอง​ความสุ่ม​บน​กระดาษ

​กุญแจ​ฮาร์ดแวร์​กับ MFA

​ตัวเลข​ที่​ใช้​ขาย MFA ​และ​กุญแจ​ฮาร์ดแวร์​มา​เกือบ​สิบ​ปี​มี​อยู่​สาม​ตัว ​เรียง​กัน​ใน​สไลด์​เดียว​จน​ฟัง​ดูเหมือน​งานวิจัย​สาม​ชิ้น ​พอ​ไล่​กลับ​ไปหา​ต้นทาง ​ตัว​แรก​เป็น​คำ​ให้​สัมภาษณ์ ​ตัว​ที่สอง​เป็น​สถิติ​ภายใน​ที่​ไม่​ได้​ตีพิมพ์ ​ตัว​ที่สาม​ไม่​มี​อยู่​ใน​เอกสาร​ของ​หน่วยงาน​ที่​ถูก​อ้าง​ชื่อ ​ไม่​ได้​แปล​ว่า MFA ​ไม่​ได้ผล — ​ตัวเลข​ที่วัด​จริง​ออกมา​สูง ​แต่​ช้า​กว่า​คำขวัญ​สี่​ปี

​วันที่ 23 ​กรกฎาคม 2018 ​โฆษก​ของ Google ​บอก​นักข่าว Brian Krebs ​ว่า​พนักงาน​กว่า 85,000 ​คน​ไม่​มี​ใคร​ถูก phishing ​ยึด​บัญชี​ได้​เลย ​นับตั้งแต่​บริษัท​บังคับใช้​กุญแจ​ฮาร์ดแวร์​ต้นปี 2017 ​และ​มัน​คือ​คำ​ให้​สัมภาษณ์ ​ไม่​ใช่​งานวิจัย ​แหล่ง​หลัก​อีก​แหล่ง​เป็น​ประโยค​เดียว​ใน​บล็อก​สินค้า​ของ Google Cloud ​วันที่ 30 ​สิงหาคม 2018 ​ตอน​เปิดตัว​กุญแจ Titan: ​ไม่​มี​รายงาน​หรือ​การยืนยัน​ว่า​บัญชี​ถูก​ยึด "​จาก password phishing" ​นับตั้งแต่​บังคับใช้​กุญแจ​กับ​พนักงาน ​ไม่​มี​วิธีวัด ​ไม่​มี​ตัวหาร ​ไม่​มี​ผู้ตรวจสอบ​อิสระ ​และ​ขอบเขต​ถูกจำ​กัด​ไว้​ที่ password phishing ​เท่านั้น ​งานวิจัย​จริง​ของ Google ​มี​ฉบับ​เดียว ​คือ Lang ​และ​คณะ​ใน​การประชุม Financial Cryptography and Data Security ​ปี 2016 — ​มัก​ถูก​อ้าง​ผิด​ว่า​เป็น USENIX — ​รายงาน​การใช้งาน​สอง​ปี​ภายใน​บริษัท ​เรื่อง​เวลา​ที่​ใช้​ยืนยัน​ตัว​และ​ภาระ​ฝ่ายสนับสนุน ​ไม่​ได้​อ้างว่า phishing ​เป็น​ศูนย์ ​ตัวเลข​ภายใน​ของ​งาน​นั้น​อ่าน​ได้​จาก​บทคัดย่อ​เท่านั้น​ใน​การค้นคว้า​ครั้งนี้ ​เล่ม​นี้​จึง​ไม่​พิมพ์

​ตัวเลข​ที่สอง​คือ 99.9% ​ของ Microsoft ​ที่มา​คือ​บล็อก​ของ Alex Weinert ​วันที่ 20 ​สิงหาคม 2019: ​บัญชี​ที่​เปิด MFA ​มีโอกาส​ถูก​ยึด "​น้อยลง​กว่า 99.9%" ​คำนวณ​จาก​ข้อมูล​ภายใน​ที่​เห็น​ความพยายาม​ล็อกอิน​ปลอม​ราว 300 ​ล้าน​ครั้ง​ต่อ​วัน ​ใน​ปี 2019 ​และ​ไม่​เคย​ตีพิมพ์ ​สี่​ปี​ต่อมา​จึง​มี​คน​วัด​จริง Meyer ​และ​คณะ​จาก Microsoft Research (arXiv 2305.00945, 1 ​พฤษภาคม 2023) ​ตรวจ​บัญชี Azure AD ​ที่​มี​พฤติกรรม​น่าสงสัย ​ด้วย​วิธี benchmark-multiplier ​ร่วมกับ​ตรวจ​บัญชี​ด้วยมือ ​ได้ผล​ว่า MFA ​ลด​ความเสี่ยง​ถูก​ยึด​บัญชี 99.22% ​ทั้ง​ประชากร ​และ 98.56% ​ใน​บัญชี​ที่​รหัสผ่าน​รั่ว​ไป​แล้ว ​บัญชี​ที่​เปิด MFA ​มากกว่า 99.99% ​ไม่​ถูก​ยึด​ตลอด​ช่วง​ศึกษา ​แอป​ยืนยัน​ตัวดี​กว่า SMS ​และ​ทั้งสอง​ดีกว่า​ไม่​มี MFA ​คำขวัญ​ได้​ออก​วิ่ง​ไป​ก่อน​สี่​ปี ​โดย​ไม่ต้อง​รอ​ให้​ใคร​อนุมัติ​วิธีวัด​ให้​มัน

​ตัวเลข​ที่สาม​ตาย​ใน​การค้นคว้า "CISA ​บอก​ว่า MFA ​กัน 99% ​ของ​การโจมตี" ​เอกสาร MFA ​ของ CISA ​ที่​อ่าน​ใน​การค้นคว้า​ครั้งนี้ — ​แผ่น​ข้อมูล​เดือน​มกราคม 2022 ​และ​แนวทาง​วันที่ 31 ​ตุลาคม 2022 — ​ไม่​มี​ตัวเลข 99% ​อยู่เลย ​ตัวเลข​นั้น​เป็น​ของ Microsoft ​ที่​ถูก​ย้าย​ชื่อ​เจ้าของ ​การย้าย​ชื่อ​ทำให้​สถิติ​ภายใน​ของ​บริษัท​หนึ่ง ​กลายเป็น​คำแนะนำ​ของ​หน่วยงานรัฐ​โดย​ไม่​มี​ใคร​วัด​อะไร​เพิ่ม ​สิ่ง​ที่ CISA ​พูด​จริง​คือ​ให้​ใช้ MFA ​แบบ​ทน phishing ​ได้ (FIDO/WebAuthn, PKI) ​และ​เตือน​ว่า MFA ​แบบ​กด​ยืนยัน​บน​มือถือ​กับ​แบบ SMS ​ถูก​หลอก​ผ่าน​ได้

​คำเตือน​ข้อ​หลัง​นั้น​คือ​สัน​ของ​เล่ม​ใน​รูป​ย่อ ​ผู้​โจมตี​ปรับตัว​เข้าหา SMS ​และ​ปุ่มกด​ยืนยัน​ไป​แล้ว ​กุญแจ​ฮาร์ดแวร์​คือ​แบบ​ที่​ออกแบบ​ไว้​รับ​การปรับตัว​นั้น ​ส่วนตัว​เลข​ของ Google ​ยัง​ไม่​มี​งานวิจัย​รองรับ​จนถึง​วันนี้ — ​ของ​ที่​ใช้ได้​จริง ​กับ​ของ​ที่​พิสูจน์​แล้ว ​ไม่​ใช่​ของ​สิ่ง​เดียวกัน

​สิ่ง​ที่​กรณี​นี้​สอน: ​เมื่อ​ได้ยิน​ตัวเลข​ผล​ของ​การป้องกัน ​ให้​ถามหา​เอกสาร​ที่​มี​ตัวหาร​และ​วิธีวัด — ​คำพูด​โฆษก​ไม่​มี​ทั้งสอง​อย่าง

HTTPS ​ทั้ง​เว็บ · 2015–

​ปี 2015 ​ใครก็ตาม​ที่นั่ง​อยู่​บน​เส้นทาง​ระหว่าง​เบราว์เซอร์​กับ​เซิร์ฟเวอร์ ​ยัง​อ่าน​หน้า​เว็บ​ส่วนใหญ่​ที่​วิ่ง​ผ่านหน้า​เขา​ได้​ตามสบาย ​หน้า​เว็บ​ที่ Firefox ​โหลด​ผ่าน HTTPS ​ใน​ช่วง​นั้น​ยัง​ต่ำกว่า 30% ​ของ​ทั้งหมด ​สิ่ง​ที่​ทำให้​กรณี​นี้​อยู่​ใน​ภาค​นี้​ไม่​ใช่​ว่า​ตัวเลข​นั้น​ขยับ​ไป​ได้​เท่าไร ​แต่​เป็น​ว่า​มี​คน​วัด​เส้น​นั้น​ทุกวัน​ตลอด​สิบ​ปี ​ด้วย​เครื่องมือ​ที่​ระบุชื่อ​ได้

​วันที่ 14 ​กันยายน 2015 Let's Encrypt ​ออก​ใบรับรอง​ที่​เบราว์เซอร์​เชื่อถือ​ใบ​แรก​ให้ helloworld.letsencrypt.org ​โครงการ​ประกาศตัว​ก่อนหน้า​นั้น​วันที่ 18 ​พฤศจิกายน 2014 ​ผู้สนับสนุน​ก่อตั้ง​คือ Mozilla, EFF, Cisco, Akamai ​และ IdenTrust ​ลายเซ็น​ไขว้​ของ IdenTrust ​คือ​สิ่ง​ที่​ทำให้​ใบรับรอง​ใบ​แรก​ได้รับ​ความเชื่อถือ ​เพราะ​ใบรับรอง​ที่​ไม่​มี​ใคร​ที่​เบราว์เซอร์​รู้จัก​อยู่แล้ว​รับรอง​ให้ ​ก็​เป็น​แค่​ไฟล์ ​จากนั้น​เปิด​เบต้า​สาธารณะ 3 ​ธันวาคม 2015 ​ใบ​ที่หนึ่ง​ล้าน​ออกเดือน​มีนาคม 2016 ​ใบ​ที่หนึ่ง​ร้อย​ล้าน​เดือน​มิถุนายน 2017 ​ถึง​หนึ่ง​ล้าน​ใบ​ต่อ​วัน​เดือน​กันยายน 2018 ​ใบ​ที่หนึ่ง​พัน​ล้าน​เดือน​กุมภาพันธ์ 2020 ​และ​ปลายเดือน​กันยายน 2025 ​ออก​ได้​สิบ​ล้าน​ใบ​ใน​วัน​เดียว

​แต่​จำนวน​ใบ​ไม่​ใช่​เป้าหมาย ISRG ​ผู้​ดำเนิน​โครงการ​เขียน​ไว้​เอง​ใน​บทความ​ครบ​สิบ​ปี​วันที่ 9 ​ธันวาคม 2025 ​ว่า​สิ่ง​ที่วัด​คือ​สัดส่วน​หน้า​เว็บ​ที่​โหลด​ผ่าน HTTPS ​จาก Firefox Telemetry ​ค่าเฉลี่ย​เคลื่อนที่ 14 ​วัน ​ตัวเลข​ใน​คำของ Josh Aas: ​ใช้เวลา​ราว​ห้า​ปี​ดัน​สัดส่วน​ทั่วโลก​จาก​ต่ำกว่า 30% ​ไป​ถึง​ราว 80% ​แล้ว​นิ่ง​อยู่​ตรงนั้น​ตั้งแต่นั้นมา ​ใน​สหรัฐ​อยู่​ใกล้ 95% ​มา​ระยะ​หนึ่ง​แล้ว ​ตัวเลข​รายปี​พร้อม​วันที่​ไม่​ได้มา​จาก​แหล่ง​ต้นทาง​ใน​การค้นคว้า​ครั้งนี้ ​หน้า​สถิติ​ของ Let's Encrypt ​วาด​กราฟ​ด้วย JavaScript ​และ​รายงาน​ของ Google ​หยุด​ที่​ข้อมูล​เดือน​กรกฎาคม 2022 ​เล่ม​นี้​จึง​พิมพ์​เฉพาะตัว​เลขที่ ISRG ​เขียน​เอง

​ต้อง​พูด​ให้​ชัด​ว่า​เส้น​กราฟ​เส้น​นี้​วัด​อะไร HTTPS ​เป็นการ​ป้องกัน​ที่วัด​การใช้ ​ไม่​ได้​วัด​การโจมตี​ที่​ถูกกัน ​สัดส่วน 80% ​บอก​ว่า​สายส่ง​ถูก​เข้ารหัส​ไป​แค่​ไหน ​มัน​ไม่​ได้​บอก​ว่า​ผู้​ดักฟัง​ที่​เคย​อ่าน​สายส่ง​ย้าย​ไป​ทำ​อะไร​ต่อ ​ข้อดี​ของ​มัน​อยู่​ที่​อย่าง​อื่น ​คือ​มัน​เป็นการ​ป้องกัน​ที่​มี​เส้น​กราฟ​ก่อน-​หลังยาว​สิบ​ปี ​จาก​เครื่องวัด​ที่​ระบุชื่อ​ได้ ​ซึ่ง​เป็น​ของ​ที่​การป้องกัน​ส่วนใหญ่​ใน​ภาค​นี้​ไม่​มี

​และ​ของ​ที่​หา​ยาก​กว่า​พื้น​คือ​เพดาน 20% ​สุดท้าย​ไม่​ขยับ​มา​ห้า​ปี ISRG ​บอก​ตรงๆ ​ว่า​ไม่​รู้​ว่า​มัน​คือ​อะไร ​เดา​ว่า​เป็น​เครือข่าย​ภายใน​องค์กร​และ​เว็บ​ส่วนตัว ​แล้ว​เรียก​มัน​ว่า​คำถาม​วิจัย​ที่​ยัง​เปิด​อยู่ ​องค์กร​ที่​ดัน​ตัวเลข​ของ​ตัวเอง​ขึ้นไป​ได้​ห้าสิบ​จุด​แล้ว​เขียน​ว่า​ไม่​รู้​ว่า​อะไร​ขวาง​อยู่ ​กำลัง​ทำ​สิ่ง​ที่​คนขายของ​ไม่​ทำ ​การป้องกัน​ที่​ผู้ดำเนินการ​วัด​เพดาน​ของ​ตัวเอง​แล้ว​พิมพ์​ออกมา ​มีค่า​กว่า​การป้องกัน​ที่วัด​ได้​แค่​พื้น

​สิ่ง​ที่​กรณี​นี้​สอน: ​ถาม​ว่า​ตัว​ชี้​วัด​ของ​การป้องกัน​วัด​การใช้​หรือ​วัดผล ​แล้ว​ถาม​ต่อว่า​เพดาน​ของ​มัน​อยู่​ตรงไหน ​และ​ใคร​รู้​ว่า​ทำไม

​ภาษา​ที่​ปลอดภัย​กับ​หน่วยความจำ · 2019–2024

​ช่องโหว่​ประเภท memory safety ​ถูก​ปฏิบัติ​มา​ตลอด​เหมือน​สภาพอากาศ ​คือ​เรื่อง​ที่​ต้อง​วางแผน​อยู่​กับ​มัน ​ไม่​ใช่​เรื่อง​ที่จะ​ทำให้​หมด​ไป ​ทุกคน​รู้​ว่า​มัน​คือ​สัดส่วน​ใหญ่​ที่สุด​ของ​บั๊ก​ด้าน​ความปลอดภัย ​ทุกคน​รู้​วิธี​ลด​มัน​ทีละ​ตัว ​และ​ไม่​มี​ใคร​มี​กราฟ​ที่​แสดงว่า​มัน​เล็ก​ลง​ทั้ง​ประเภท

​วันที่ 25 ​กันยายน 2024 Google ​รายงาน​จาก​ข้อมูล security bulletin ​ของ​ตัวเอง​ว่า​ช่องโหว่​ประเภท memory safety ​เคย​เป็น 76% ​ของ​ช่องโหว่​ทั้งหมด​ใน Android ​ปี 2019 ​และ​ใน​ปี 2024 ​เหลือ 24% ​ต่ำกว่า​ค่ากลาง​ของ​อุตสาหกรรม​ที่ 70% ​และ​ยัง​ลด​ต่อ ​สิ่ง​ที่​หา​ยาก​ใน​เรื่อง​นี้​ไม่​ใช่​ตัวเลข ​แต่​เป็น​รูปร่าง​ของ​มัน — ​บั๊ก​ทั้ง​ประเภท​หนึ่ง​ค่อยๆ ​ตาย​ลง​บน​กราฟ ​ใน​สาขา​ที่​คุ้น​กับ​การเห็น​เส้น​แบน​มา​ตลอด

​ส่วน​ที่​ขัด​กับ​สามัญสำนึก​คือ Android ​ไม่​ได้​เขียน​โค้ด C/C++ ​เก่า​ใหม่ ​ตั้งแต่​ราว​ปี 2019 ​งาน​พัฒนา​ใหม่​ย้าย​ไป​ภาษา​ที่​ปลอดภัย​กับ​หน่วยความจำ ​โค้ด​เก่า​ถูก​ปล่อย​ไว้ ​แก้​เฉพาะตอน​มี​บั๊ก ​และ​จำนวนจริง​ลด​ด้วย ​ไม่​ใช่​แค่​สัดส่วน ​ปี 2024 ​ประมาณการ​ไว้​ที่ 36 CVE ​ประเภท​นี้​ทั้งปี ​นับ​ได้ 27 ​ถึง bulletin ​เดือน​กันยายน

​กลไก​ที่ Google ​เสนอ​อธิบาย​ว่า​ทำไม​การไม่​แตะ​โค้ด​เก่า​ถึง​ได้ผล ​ช่องโหว่​สลายตัว​ตาม​อายุ​โค้ด ​โค้ด​อายุ​ห้า​ปี​มี​ความหนาแน่น​ของ​ช่องโหว่​ต่ำกว่า​โค้ด​ใหม่ 3.4 ​เท่า (​จาก​งาน​ภายนอก) ​ถึง 7.4 ​เท่า (​จาก​ที่​สังเกต​ใน Android ​และ Chromium) ​หลักฐาน​ที่​อ้าง​คือ Alexopoulos ​และ​คณะ USENIX Security 2022 ​เรื่อง​อายุขัย​ของ​ช่องโหว่​ใน​โค้ด ​เมื่อ​ของ​ใหม่​ไม่​ไหล​เข้า ​สต็อก​เก่า​ก็​เสื่อม​ไป​เอง ​หยุด​กระแส​เข้า​จึง​ชนะ​การล้าง​สต็อก ​และ​มัน​ชนะ​โดย​ไม่ต้อง​ขอ budget ​ไป​เขียน​ของ​ที่​ใช้งาน​ได้​อยู่แล้ว​ใหม่​ทั้ง​กอง ​ตัวเลข​ข้างเคียง​สอง​ตัว: ​อัตรา rollback ​ของ​การเปลี่ยนแปลง​ที่​เขียน​ด้วย Rust ​ต่ำกว่า​ของ C++ ​ไม่​ถึง​ครึ่ง ​และ​ตัว​สร้าง QR ​ของ Chromium ​ที่​เขียน​ด้วย Rust ​เร็ว​ขึ้น 20 ​เท่า​เมื่อ​ถอด sandbox ​ที่​ไม่​จำเป็น​แล้ว​ออก ​ความปลอดภัย​ซื้อ​ประสิทธิภาพ​ที่มาตร​การรุ่น​ก่อน​เคย​กิน​ไป​คืน​มา

​ค่า 70% ​ของ​อุตสาหกรรม​ต้อง​ติด​ดาว​ไว้ ​มัน​มาจาก Matt Miller ​แห่ง MSRC ​ใน​งาน BlueHat IL ​เดือน​กุมภาพันธ์ 2019: ​ราว 70% ​ของ CVE ​ที่ Microsoft ​แก้​ใน​แต่ละ​ปี ​ตลอด​ราว​สิบสอง​ปีก่อน​หน้า ​เป็นปัญหา memory safety ​ตัวเลข​นี้​กับ​ค่ากลาง​ที่ Google ​อ้าง​ไม่​ใช่​สอง​แหล่ง​อิสระ ​มัน​คือ​สมอ​ตัว​เดียวกัน ​วันที่ 6 ​ธันวาคม 2023 CISA, NSA, FBI ​และ​หน่วยงาน​พันธมิตร​ตีพิมพ์ The Case for Memory Safe Roadmaps ​ภายใต้​โครงการ Secure by Design

​ความเชื่อ​ที่​ตาย​ใน​การค้นคว้า: "Android ​แก้ memory safety ​ด้วย​การเขียน C++ ​ใหม่​เป็น Rust" Google ​เขียน​ไว้​ตรงข้าม ​โค้ด​เก่า​แทบ​ไม่​ถูก​แตะ ​ที่​ย้าย​คือ​โค้ด​ใหม่​เท่านั้น ​ในแง่​สัน​ของ​เล่ม ​นี่​คือ​การป้องกัน​ที่​ไม่​ได้​เพิ่ม​ด่าน​ให้​ผู้​โจมตี​เดิน​อ้อม ​แต่​เอา​ชั้น​ของ​บั๊ก​ออกจาก​โค้ด​ที่​เขียน​หลังจากนั้น ​ผู้​โจมตี​ปรับตัว​หา​ช่องโหว่​ที่​ไม่​มี​อยู่​ไม่​ได้

​สิ่ง​ที่​กรณี​นี้​สอน: ​ปิดทาง​เข้า​ของ​บั๊ก​ประเภท​หนึ่ง​ใน​โค้ด​ใหม่​ก่อน​คิด​เขียน​โค้ด​เก่า​ใหม่ ​แล้ว​วัด​ด้วย​สัดส่วน​ของ​ช่องโหว่​รายปี ​ไม่​ใช่​จำนวน​บรรทัด​ที่​ย้าย

​หลัก​แปด​ข้อ​ของ Saltzer ​และ Schroeder · 1975

​หลัก​ออกแบบ​ความปลอดภัย​แปด​ข้อ​ที่​หลักสูตร​ทุก​หลักสูตร​สอน ​และ​ที่​องค์กร​เขียน​ไว้​ใน​นโยบาย​ว่า​ยึดถือ ​มาจาก​บทความ​เดียว​เมื่อ​ห้าสิบ​ปีก่อน ​เดือน​กันยายน 1975 J. H. Saltzer ​และ M. D. Schroeder ​ตีพิมพ์​มัน​ใน Proceedings of the IEEE ​ฉบับ​ที่ 63 ​เล่ม​ที่ 9 ​ด้วย​ประโยค​เปิด​ว่า​ไม่​มี​ใคร​รู้​วิธี​สร้าง​ระบบ​ที่​ไม่​มีข้อบกพร่อง ​ทางเลือก​จึง​เป็นหลัก​ที่​ทำให้​ข้อบกพร่อง​น้อยลง​และ​เบา​ลง ​ห้าสิบ​ปี​ต่อมา ​คำถาม​ที่​ตอบ​ได้​คือ​ข้อ​ไหน​ถูก​สร้าง​จริง ​และ​คำตอบ​มี​รูปร่าง​ชัดเจน​มาก ​ข้อ​ที่​ถูก​ใช้​คือ​ข้อ​ที่​เพิ่ม​การควบคุม ​ข้อ​ที่​ถูก​ทิ้ง​คือ​ข้อ​ที่บังคับ​ให้​สละ​บางอย่าง

​แปด​ข้อ​ใน​คำของ​พวกเขา​เอง: economy of mechanism — ​ออกแบบ​ให้​เล็ก​และ​ง่าย​ที่สุด fail-safe defaults — ​ตัดสิน​สิทธิ์​จาก​การอนุญาต ​ไม่​ใช่​จาก​การยกเว้น complete mediation — ​ทุก​การเข้าถึง​ทุก​วัตถุ​ต้อง​ถูก​ตรวจ​สิทธิ์ open design — ​แบบ​ต้อง​ไม่​เป็นความลับ separation of privilege — ​กลไก​ที่​ต้อง​ใช้​สอง​กุญแจ​แข็งแรง​กว่า​กุญแจ​เดียว least privilege — ​ทุก​โปรแกรม​และ​ทุก​ผู้ใช้​ทำงาน​ด้วย​สิทธิ์​น้อยที่สุด​ที่​งาน​ต้องการ least common mechanism — ​ลด​กลไก​ที่​ผู้ใช้​หลาย​คนใช้​ร่วมกัน ​และ psychological acceptability — ​ส่วน​ติดต่อ​ผู้ใช้​ต้อง​ง่าย​พอให้​คนใช้​การป้องกัน​ถูกต้อง​โดยอัตโนมัติ

​สิ่ง​ที่​มัก​หาย​ไป​ตอน​ถูก​อ้าง​คือ​อีก​สอง​ข้อ​ที่​ผู้เขียน​ระบุ​เอง​ว่า​ใช้กับ​คอมพิวเตอร์​ได้​ไม่​เต็มที่ ​ข้อ​แรก work factor — ​เทียบ​ต้นทุน​ที่​ต้อง​ใช้​เจาะ​กลไก​กับ​ทรัพยากร​ของ​ผู้​โจมตี ​ข้อโต้แย้ง​ของ​พวกเขา​เอง: ​กลไก​ป้องกัน​ใน​คอมพิวเตอร์​ส่วนใหญ่​คำนวณ work factor ​ตรงๆ ​ไม่​ได้ ​เพราะ​มัน​ถูก​เจาะ​ด้วย​ทางอ้อม ​รอ​ฮาร์ดแวร์​เสีย ​หรือ​หา​ข้อผิดพลาด​ใน​โค้ด ​และ​ไม่​มี​ใคร​ประมาณ​เวลา​ของ​ทางอ้อม​ได้ ​นี่​คือ​ประโยค​ปี 1975 ​จาก​คนเขียน​หลักการ​เอง ​ว่าความ​มั่นคง​ปลอดภัย​ของ​ระบบ​วัด​แบบ cryptanalysis ​ไม่​ได้ — ​เขียน​ไว้​ก่อน​อุตสาหกรรม​ที่​ขาย​คะแนน​ความเสี่ยง​เป็นตัว​เลข​เดียว​จะ​เกิดขึ้น​หลาย​สิบ​ปี ​ข้อ​สอง compromise recording — ​บันทึก​ให้ได้​ว่า​ถูก​เจาะ ​แทนที่จะ​กัน ​ข้อโต้แย้ง: ​ผู้​โจมตี​ที่​ฉลาด​พอลบ​บันทึก​นั้น​ได้​ด้วย ​อุตสาหกรรม audit log ​และ SIEM ​ยืน​อยู่​บน​หลัก​ที่​ผู้เขียน​ตัดออก

​ห้าสิบ​ปี​ผ่าน​ไป ​ข้อ​ไหน​ถูก​ใช้​จริง — ​ต่อไปนี้​เป็นการ​ประเมิน ​ไม่​ใช่​การวัด least privilege ​ถูก​ใช้​โดย​เรียกชื่อ​ตรงๆ ​ใน IAM, sandbox, container ​และ sudo fail-safe defaults ​กลายเป็น firewall ​แบบ​ปฏิเสธ​ก่อน open design ​ถูก​ใช้​ใน​วิทยาการ​เข้ารหัส​สาธารณะ complete mediation ​ถูก​ยอมรับ​ใน​หลักการ​และ​ถูก​ละเมิด​เพื่อ​ความเร็ว — cache ​ผล​ตรวจ​สิทธิ์​และ​บั๊ก TOCTOU ​คือ​รูป​ที่​ผู้เขียน​ทำนาย separation of privilege ​ได้​ครึ่ง​เดียว ​ใน​รูป MFA ​และ​กฎ​สอง​คน

​สอง​ข้อ​ถูก​ทิ้ง economy of mechanism — ​ระบบ​สมัยใหม่​คือ​ขั้ว​ตรงข้าม​ของ​เล็ก​และ​ง่าย ​และ least common mechanism — cloud ​ที่​ผู้เช่า​หลาย​ราย​ใช้​ร่วม kernel ​ร่วม cache ​ของ CPU ​ร่วม Spectre, Meltdown ​และ Rowhammer ​คือ​การละเมิด​ข้อ​นี้​โดย​มี​ซิลิคอน​รอง​อยู่​ข้างใต้ ​ทั้งสอง​ข้อ​ไม่​ได้​ถูก​ทิ้ง​เพราะ​ไม่​รู้ ​แต่​เพราะ​ราคา ​ข้อ​หนึ่ง​ขอให้​เลิก​ใส่​ฟีเจอร์ ​อีก​ข้อ​ขอให้​เลิก​แบ่ง​เครื่อง​กัน​ใช้ ​และ​ไม่​มี​ใคร​อยาก​จ่าย​ทั้งสอง​อย่าง

​สิ่ง​ที่​กรณี​นี้​สอน: ​ใน​รายการ​หลักการ​ที่​องค์กร​อ้างว่า​ยึดถือ ​ขีดเส้นใต้​ข้อ​ที่บังคับ​ให้​เลิก​ทำ​บางอย่าง — ​ข้อ​นั้น​คือ​ข้อ​ที่​ยัง​ไม่​ได้​ทำ

​การเปิดเผย​ช่องโหว่​แบบ​ประสานงาน

​คน​ที่​พบ​ช่องโหว่​กับ​คน​ที่​ต้อง​แก้​มัน​ไม่​เคย​อยู่​ภายใต้​เส้นตาย​เดียวกัน ​ผู้ขาย​เป็น​คน​กำหนด​ว่า​จะ​แก้​เมื่อไร ​ส่วน​คน​ที่​รายงาน​เข้าไป​มีทาง​เลือก​อยู่​สอง​ทาง ​คือ​รอ ​หรือ​เปิดเผย​เอง​แล้ว​รับ​ผล​ที่​ตามมา ​สิ่ง​ที่ CERT/CC ​ทำ​ใน​ปี 2000 ​คือ​เอา​นาฬิกา​มา​วาง​ไว้​ตรงกลาง

​วันที่ 9 ​ตุลาคม 2000 ​นโยบาย​ของ CERT/CC ​มีผลบังคับ: ​ช่องโหว่​ที่​รายงาน​เข้ามา​จะ​ถูก​เปิดเผย​ต่อ​สาธารณะ​หลัง 45 ​วัน​นับ​จาก​รายงาน​ครั้งแรก ​ไม่​ว่า​จะ​มี​แพตช์​หรือไม่ Shawn Hernan ​หัวหน้า​ทีม​จัดการ​ช่องโหว่​ของ CERT/CC ​ประกาศ​บน BugTraq ​วันที่ 4 ​ตุลาคม 2000 ​ข้อยกเว้น​มี​สาม​แบบ ​ถูก​โจมตี​จริงอยู่​แล้ว ​ภัย​ร้ายแรง​เป็นพิเศษ​หรือ​เบา​เป็นพิเศษ ​และ​ช่องโหว่​ที่​ต้อง​แก้​มาตรฐาน​ที่​ใช้​อยู่

​จุดสำคัญ​ของ​แบบนี้​คือ​นาฬิกา​ไม่​ขึ้นกับ​แพตช์ ​มัน​ไม่​ใช่​คำสัญญา​ต่อ​ผู้ขาย ​มัน​คือ​เส้นตาย​ที่บังคับ​ผู้ขาย ​และ​นั่น​คือ​สิ่ง​ที่​ทำให้​มัน​ใช้​ประสานงาน​ได้​จริง ​นาฬิกา 45 ​วัน​ยัง​เป็น​นโยบาย​ที่ CERT/CC ​พิมพ์​อยู่​จน​วันนี้ ​และ​เป็น​จุด​อ้างอิง​ที่​กรอบ​เวลา​อื่น​วัด​ตัวเอง​เทียบ — Project Zero ​ของ Google ​ใช้ 90 ​วัน ZDI ​ใช้ 120 ​วัน

​ขนาด​ของตลาด​ที่​ตามมา​วัด​ได้ HackerOne ​จ่าย​ค่าตอบแทน​สะสม​เกิน 300 ​ล้าน​ดอลลาร์ ณ ​เดือน​ตุลาคม 2023 ​ตาม​แถลง​ของ​บริษัท​เอง Google ​จ่าย​ผ่าน​โครงการ VRP 11.8 ​ล้าน​ดอลลาร์​ให้​ผู้วิจัย 660 ​คนใน​ปี 2024 ​ตัวเลข​นี้​อ่าน​จาก​รายงาน​ข่าว​ที่​อ้าง​บล็อก​ของ Google ​ไม่​ใช่​จาก​บล็อก​โดยตรง

​แล้ว​มัน​ลด​เหตุการณ์​ได้​ไหม ​คำตอบ​ตรง​คือ​ยัง​ไม่​มี​ใคร​แสดง ​สิ่ง​ที่​วรรณกรรม​วัด​คือ​อัตรา​การค้นพบ​และ​ต้นทุน​ต่อ​บั๊ก ​ซึ่ง​เป็น​คนละเรื่อง​กัน Finifter, Akhawe ​และ Wagner ​ใน USENIX Security 2013 ​คำนวณ​ว่า​โครงการ​ของ Chrome ​มี​ต้นทุน​ราว 485 ​ดอลลาร์​ต่อ​วัน ​ของ Mozilla ​ราว 658 ​ดอลลาร์​ต่อ​วัน ​และ​โครงการ​หนึ่ง​ได้​รายงาน​ที่​ใช้ได้​ราว 0.429 ​ฉบับ​ต่อ​วัน ​หรือ​ราว 156 ​ต่อ​ปี ​ข้อสรุป​ของ​พวกเขา​เป็นเรื่อง​เศรษฐศาสตร์​ล้วนๆ ​คือ​ถูก​กว่า​จ้าง​นักวิจัย​เต็มเวลา​จำนวน​เท่ากัน ​ไม่​ใช่​ข้อสรุป​เรื่อง​เหตุการณ์​ที่​เลี่ยง​ได้ Walshe ​และ Simpson ​จาก Oxford ​ปี 2020 ​ได้​ทิศทาง​เดียวกัน ​ต้นทุน​รายปี​ของ​โครงการ​ต่ำกว่า​จ้าง​วิศวกร​เพิ่ม​สอง​คน ​และ​ความสำเร็จ​ของ​โครงการ​สัมพันธ์​กับ​ค่าตอบแทน​เฉลี่ย​เพียง​อ่อนๆ ​ส่วน​งาน​ศึกษา Chromium ​และ Firefox ​ใน ACM Web Conference 2023 ​บอก​ว่า​ทำไม​มัน​ถึง​แทน​กัน​ไม่​ได้ ​บั๊ก​ที่​นัก​ล่า​ภายนอก​เจอ​ต่าง​จาก​ที่​ทีม​ภายใน​เจอ ​และ​ต่าง​จาก​ที่​ผู้​โจมตี​เจอ bug bounty ​จึง​เสริม​การตรวจ​ภายใน ​ไม่​ได้​แทน

​ข้อความ​ที่​ป้องกัน​ได้​จึง​เป็น​แบบนี้ bug bounty ​เป็น​ช่องทาง​ค้นพบ​ที่​ถูก​และ​วัด​ได้ดี ​ส่วน​ข้อความ​ว่า​มัน​ลด​การเจาะ​ระบบ ​ไม่​มีค่า​ประมาณ​เชิง​สาเหตุ​ตีพิมพ์​ใน​ทาง​ใด​ทาง​หนึ่ง ​มัน​เป็น​คำถาม​ที่​ยัง​เปิด ​ไม่​ใช่​คำตอบ​ว่า​ไม่ ​ในแง่​สัน​ของ​เล่ม ​นาฬิกา 45 ​วัน​คือ​การป้องกัน​ที่​ออกแบบ​จาก​ข้อเท็จจริง​ว่า​ผู้​โจมตี​ปรับตัว ​มัน​แข่ง​กับ​เขา ​ไม่​ได้​รอ​ผู้ขาย

​สิ่ง​ที่​กรณี​นี้​สอน: ​แยกตัว​เลขที่​วัด​การค้นพบ​ออกจาก​ตัวเลข​ที่วัด​เหตุการณ์ ​ก่อน​ใช้​ตัว​แรก​จ่าย​เงิน​ซื้อ​ตัว​หลัง

fuzzing · 2016–

​วิธี​หา​ช่องโหว่​ที่​ผู้​โจมตี​ใช้ได้​เสมอ​คือ​ยิง​อินพุต​สุ่ม​ใส่​โค้ด​จน​มัน​พัง fuzzing ​คือ​ฝ่าย​ป้องกัน​ทำ​สิ่ง​เดียวกัน​นั้น ​แต่​ทำ​ก่อน ​และ​ในกรณีนี้​ทำ​ฟรี​ให้​โครงการ​ที่​ไม่​มีเงิน​จ้าง​ใคร​มา​ทำ ​แรงจูงใจ​ที่ประกาศ​ไว้​คือ Heartbleed — ​บั๊ก​ใน​โค้ด​ที่​คนอื่น​ใช้​ต่อกัน​ทั้ง​อินเทอร์เน็ต ​และ​ไม่​มี​ใคร​เป็นเจ้าของ​งบประมาณ​สำหรับ​ตรวจ​มัน

​วันที่ 1 ​ธันวาคม 2016 Google ​เปิดตัว OSS-Fuzz ​และ​ถึง​เดือน​พฤษภาคม 2025 README ​ของ​โครงการ​นับ​ช่องโหว่​ที่​เจอ​ได้​เกิน 13,000 ​รายการ ​บั๊ก​รวม​เกิน 50,000 ​รายการ ​ใน​โครงการ​โอเพน​ซอร์ส 1,000 ​โครงการ ​โครงการ​เดิน​ร่วมกับ Core Infrastructure Initiative ​และ​ต่อมา OpenSSF ​เครื่องมือ​คือ libFuzzer, AFL++ ​และ Honggfuzz ​ทำงาน​คู่​กับ sanitizer ​และ ClusterFuzz ​ที่​กระจาย​งาน​ไป​หลาย​เครื่อง ​ภาษา​ที่​รับ​คือ C/C++, Rust, Go, Python, Java, JavaScript ​และ Lua

​เส้นทาง​ของ​ตัวเลข​บอก​อัตรา​การเติบโต ​เดือน​สิงหาคม 2023 ​บล็อก​ของ Google ​รายงาน​ช่องโหว่​เกิน 10,000 ​และ​บั๊ก​เกิน 36,000 ​ใน​ราว 1,000 ​โครงการ ​เดือน​พฤศจิกายน 2024 fuzz target ​ที่ AI ​สร้าง​เพิ่ม​โค้ด​ที่​ถูก​ทดสอบ​กว่า 370,000 ​บรรทัด​ใน 272 ​โครงการ C/C++ ​ปัจจุบัน OSS-Fuzz ​ทดสอบ​ให้​เกิน 1,300 ​โครงการ​โดย​ผู้ดูแล​ไม่ต้อง​จ่าย ​ตัวเลข "40,500 ​บั๊ก​ใน 650 ​โครงการ" ​จาก​เดือน​กรกฎาคม 2022 ​ที่​แพร่​อยู่ ​ขัด​กับ​ตัวเลข 36,000 ​ของ​ปี​ถัดมา ​วิธี​นับ​เปลี่ยน​ตรงไหน​ไม่​ทราบ ​เล่ม​นี้​ใช้​ตัวเลข​ใน README ​ที่ Google ​ยืนยัน​เอง​ใน​ปัจจุบัน

​น้ำหนัก​ถ่วง​มาจาก Google ​เอง ​และ​นี่​คือ​ส่วน​ที่​ทำให้​กรณี​นี้​ต่าง​จาก​การป้องกัน​อื่น ​บทความ​เรื่อง memory safety ​ของ Android ​วันที่ 25 ​กันยายน 2024 ​จัด fuzzing ​เป็นมาตร​การรุ่น​ที่สาม "​ค้นหา​ช่องโหว่​เชิงรุก" ​และ​เขียน​ว่า​วิธี​แบบนี้​แก้​อาการ​ของ memory unsafety ​ไม่​ใช่​ต้นเหตุ ​มัน​ต้อง​กดดัน​ทีม​ตลอดเวลา​ให้ fuzz ​คัด​กรอง ​และ​แก้​สิ่ง​ที่​เจอ ​ผล​ที่​ตามมา​คือ​ความครอบคลุม​ต่ำ ​และ​แม้​ทำ​อย่าง​ทั่วถึง fuzzing ​ก็​ไม่​ให้​ความมั่นใจ​สูง — ​หลักฐาน​คือ​ช่องโหว่​ที่​ยัง​เจอ​ใน​โค้ด​ที่​ถูก fuzz ​มา​แล้ว​มาก ​คาดการณ์​ของ Google ​คือ​จะ​พึ่ง fuzzing ​น้อยลง​เมื่อ​โค้ด​ที่​ปลอดภัย​กับ​หน่วยความจำ​แพร่​ออก​ไป ​และ​ได้ผล​สูง​ขึ้น​บน​พื้นผิว​ที่​เล็ก​ลง

​ตัวเลข 13,000 ​จึง​ต้อง​อ่าน​ให้​ถูก ​มัน​วัด​สิ่ง​ที่​เจอ ​ไม่​ได้​วัด​สิ่งที่เหลือ ​และ​คน​ที่​เตือน​เรื่อง​นี้​ดังที่​สุด​คือ​ผู้ดำเนินการ​เอง ​การป้องกัน​ที่​เจ้าของ​พิมพ์​เพดาน​ของ​ตัวเอง​ออกมา​เป็น​ของ​หา​ยาก​พอที่จะ​นับ​ได้

​สิ่ง​ที่​กรณี​นี้​สอน: ​อ่าน​หา​เพดาน​ที่​ผู้สร้าง​เครื่องมือ​ประกาศ​เอง ​ก่อน​อ่าน​จำนวน​บั๊ก​ที่​มัน​จับได้

​การป้องกัน​ที่​ไม่​มี​หลักฐาน​รองรับ

​ไม่​มี​ใคร​ซื้อ​การอบรม security awareness ​เพราะ​ความงมงาย ​คน​ที่​เซ็น​ใบสั่งซื้อ​มี​หลักฐาน​อยู่​ใน​มือ​จริงๆ ​สิ่ง​ที่​ผิด​จึง​ไม่​ใช่​การตัดสินใจ ​แต่​เป็นตัว​เลขที่​หลักฐาน​ชุด​นั้น​วัด

​ปี 2025 ​การทดลอง​แบบ​สุ่ม​ควบคุม​นาน 8 ​เดือน​กับ​พนักงาน​กว่า 19,500 ​คน​ของ UC San Diego Health ​พบ​ว่าการ​อบรม security awareness ​ประจำปี ​ไม่​มี​ความสัมพันธ์​กับ​โอกาส​ที่​พนักงาน​จะ​ตกเป็น​เหยื่อ phishing ​จำลอง Ho ​และ​คณะ​ตีพิมพ์​ใน IEEE Symposium on Security and Privacy 2025 ​ส่ง phishing ​จำลอง 10 ​รอบ ​และ​เป็นหนึ่ง​ใน​สอง​งาน​เท่านั้น​ที่​สุ่ม​จัดกลุ่ม​ว่า​ใคร​ได้​อบรม ​ผล​ข้อ​แรก ​คน​ที่​เพิ่ง​อบรม​เสร็จ​เมื่อวาน​กับ​คน​ที่​อบรม​มา​สิบเอ็ด​เดือนก่อน ​คลิก​พอกัน ​ผล​ข้อ​สอง ​บทเรียน​ที่​เด้ง​ขึ้น​ทันที​เมื่อ​คลิก​ผิด ​ลด​อัตรา​พลาด​ได้ 1.7% ​เทียบ​กับ​กลุ่ม​ควบคุม ​ผล​ข้อ​สาม ​เหยื่อ​ล่อ​ธรรมดา​ดึง​คน​ได้ 1–2% ​เหยื่อ​ล่อ​ที่​ทำดี​ดึง​ได้​เกิน 30% ​ตัวเลข 1.7% ​อ่าน​จาก​บทคัดย่อ​และ​แถลง​ของ UCSD ​ไม่​ใช่​จาก​ตัวบท​ความ

​ตัวเลข​ที่​ฆ่า​การป้องกัน​นี้​ไม่​ใช่ 1.7% ​แต่​เป็นอัตรา​ส่วน​ของ​สอง​ผล​หลัง ​ตัวแปร​ที่​ฝ่าย​ป้องกัน​คุม​ได้ — ​การอบรม — ​ขยับ​ผล​ราว 2 ​จุด ​ตัวแปร​ที่​ผู้​โจมตี​คุม​ได้ — ​คุณภาพ​เหยื่อ​ล่อ — ​ขยับ​ราว 29 ​จุด ​ศัตรู​ถือตัว​แปร​ที่​แรง​กว่า​ราว​สิบห้า​เท่า ​ต่อให้​ฝ่าย​ป้องกัน​ดัน​ตัวแปร​ของ​ตัวเอง​จน​สุด​ทาง ​อีก​ฝั่ง​ก็​ยัง​กว้าง​กว่า ETH Zurich ​ได้ผล​ทางเดียว​กัน​ก่อนหน้า​นั้น Lain ​และ​คณะ​ใน IEEE S&P 2022 ​ตาม​พนักงาน​กว่า 14,000 ​คน​นาน 15 ​เดือน ​พบ​ว่าการ​อบรม​แบบ​ฝังใน​เหตุการณ์​ไม่​ได้ผล ​และ​ใน​บาง​เงื่อนไข​ทำให้​แย่​ลง — ​คน​ที่​ได้​บทเรียน​หลัง​คลิก​พลาด ​คลิก​ใน​รอบ​ถัดไป​มากกว่า

​แล้ว​ข้อความ​ว่า "​การอบรม​ได้ผล" ​มาจาก​ไหน ​จาก​งาน​ทบทวน 69 ​การศึกษา​ใน Computers & Security ​ปี 2024 ​ที่​รายงาน​ผลรวม​แรง ​แต่​งาน​ส่วนใหญ่​ใน​นั้น​วัด​ความรู้​และ​ความตั้งใจ ​ไม่​ได้​วัด​การคลิก ​และ​บ่อยครั้ง​ไม่​มี​กลุ่ม​ควบคุม ​สอง​งานใหญ่​ที่​มี​กลุ่ม​ควบคุม​และ​วัด​พฤติกรรม ​ได้ผล​ใกล้​ศูนย์​ทั้งคู่ ​ส่วนตัว​เลข​ลด​คลิก​ได้​ถึง 86% ​ที่​ผู้ขาย​พิมพ์ ​เป็นตัว​เลข​ก่อน-​หลัง​ที่​ไม่​มี​กลุ่ม​ควบคุม ​จาก​คน​ที่​ขาย​การอบรม​เอง

​ของ​ชิ้น​ที่สอง​คือ antivirus ​แบบ​ลายเซ็น ​และ​มัน​ซ้ำ​รูป​เดิม ​การประเมิน AI ATAC 1 ​ของ Oak Ridge National Laboratory ​ที่​กองทัพเรือ​สหรัฐ​ให้ทุน (arXiv 2308.14835, ​สิงหาคม 2023) ​ทดสอบ​เครื่องมือ​ตรวจจับ​เชิงพาณิชย์​กับ​ไฟล์ 100,000 ​ไฟล์ ​ครึ่ง​ดี​ครึ่ง​ร้าย ​ใน​นั้น​มี​ไฟล์​รัน​ได้ที่​ไม่​เคย​มี​ใคร​เห็น (zero-day) ​ราว 1,000 ​ไฟล์ ​เครื่องมือ​แบบ​ลายเซ็น​จับ zero-day ​ได้​ราว 4% ​แบบ machine learning ​ได้​ราว 40% ​หนึ่ง​ใน​ยี่สิบ​ห้า​กับ​สอง​ใน​ห้า ​ไม่​มี​ตัว​ไหน​ใกล้​โฆษณา Botacin ​และ​คณะ​ใน Computers & Security ​ปี 2020 ​ส่ง​มัลแวร์​ที่​เพิ่ง​เก็บ​ใหม่ 28,875 ​ตัวอย่าง​ขึ้น VirusTotal ​ติดต่อกัน 30 ​วัน ​และ​พบ​ว่าการ​ประเมิน antivirus ​เกือบ​ทั้งหมด​ลดเหลือ​ตัวเลข​เดียว​คือ​อัตรา​ตรวจจับ ​ไม่​วัด​เวลา​กว่า​จะ​จับได้ ​ไม่​วัด​ตัวอย่าง​ที่​เคย​จับได้​แล้ว​กลับ​หลุด

​คน​ที่​ซื้อ​ของ​สอง​อย่างนี้​มีเหตุผล​รองรับ ​การอบรม​มี​งาน​ทบทวน 69 ​ชิ้น​หนุน antivirus ​มี​อัตรา​ตรวจจับ​ที่​ผู้ขาย​พิมพ์​ให้​ดู ​สิ่ง​ที่​ผิด​คือ​ตัวเลข​ที่วัด​ผิดตัว — ​วัด​ความตั้งใจ​แทน​การคลิก ​วัด​มัลแวร์​เก่า​แทน​มัลแวร์​ใหม่ ​ทั้งสอง​กรณี ​ตัว​ที่​ไม่​ได้​วัด​คือ​ตัว​ที่​ผู้​โจมตี​ถือ

​สิ่ง​ที่​กรณี​นี้​สอน: ​ก่อน​ต่ออายุ​การป้องกัน​ใดๆ ​ขอตัว​เลข​ก่อน-​หลัง​ที่​มี​กลุ่ม​ควบคุม ​จาก​คน​ที่​ไม่​ได้​ขาย​มัน ​แล้ว​ถาม​ว่า​ตัวเลข​นั้น​วัด​พฤติกรรม​หรือ​วัด​ความตั้งใจ

​ท่า​ที่​เอา​ไป​ใช้ได้: ​เขียน​รายการ​การป้องกัน​ที่​องค์กร​จ่าย​เงิน​ซื้อ​อยู่ ​แล้ว​ใส่​ตัวเลข​ก่อน-​หลัง​ที่​มี​กลุ่ม​ควบคุม​จาก​คน​ที่​ไม่​ได้​ขาย​มัน​ไว้​ข้าง​แต่ละ​รายการ ​ช่อง​ที่ว่าง​ไม่​ได้​แปล​ว่า​ใช้ไม่ได้ ​มัน​แปล​ว่า​ยัง​ไม่​มี​ใคร​วัด ​และ​งบ​ก้อน​ถัดไป​ควร​ไป​ที่​การวัด​ก่อน​ซื้อ​เพิ่ม

​จะ​พลิก​คำตัดสิน​ของ​ภาค​นี้​ได้​เมื่อ: ​มี​การทดลอง​แบบ​สุ่ม​ควบคุม​ขนาด​ใกล้เคียง 19,500 ​คน ​ที่​พบ​ว่า training ​ลด​อัตรา​คลิก​ได้มา​กก​ว่าที่​คุณภาพ​เหยื่อ​ล่อ​ขยับ ​หรือ​มี​การประเมิน​อิสระ​ขนาด 100,000 ​ไฟล์​ที่ signature detection ​จับ​ไฟล์​รัน​ได้ที่​ไม่​เคย​เห็น​มา​ก่อน​ได้​เกิน​ครึ่ง ​หรือ security bulletin ​ของ Android ​รายงาน​สัดส่วน memory safety ​กลับ​ขึ้น​เหนือ 50% ​โดย​วิธี​นับ​ไม่​เปลี่ยน

​แหล่ง​ของ​ภาค​นี้:

บทถัดไป · 7 / 86 · ยุคที่เครื่องมือของคุณเองอ่านคำสั่งจากคนอื่น
Size
Page
Font

How Much Margin Is Enough — A compendium of safety and security

❦
1ก่อนอ่าน21 · ส่วนเผื่อคืออะไร32 · เผื่อแล้วยังพัง43 · ศัตรูที่อ่านแบบแปลนของคุณ54 · เมื่อโครงสร้างเป็นซอฟต์แวร์65 · การป้องกันที่มีหลักฐาน76 · ยุคที่เครื่องมือของคุณเองอ่านคำสั่งจากคนอื่น8บทสรุปในหกบรรทัด