นักวิจัยได้ค้นพบการโจมตีแบบ cache side-channel ประเภทใหม่ที่สามารถขโมยข้อมูลส่วนตัวจากโครงข่ายประสาทเทียมเชิงลึก (deep neural networks) ในขณะที่กำลังทำงานอยู่ การโจมตีเหล่านี้จะอ่านกิจกรรมของ hardware-cache และใช้การวิเคราะห์ด้านเวลา (timing analysis) เพื่อสร้างข้อมูลนำเข้าหรือพารามิเตอร์ที่ละเอียดอ่อนของโมเดลขึ้นมาใหม่ ซึ่งเป็นภัยคุกคามต่อบริการใดก็ตามที่พึ่งพาการประมวลผลแบบ on-device inference
ทำไมฮาร์ดแวร์จึงมีความสำคัญ
โครงข่ายประสาทเทียมเชิงลึก (DNNs) ใช้เวลาส่วนใหญ่ในการประมวลผลไปกับการเคลื่อนย้ายข้อมูลระหว่าง CPU, ลำดับชั้นของ cache (cache hierarchy) และหน่วยความจำ (memory) โดย cache คือพื้นที่จัดเก็บข้อมูลขนาดเล็กที่มีความเร็วสูง ซึ่งจะเก็บข้อมูลที่เพิ่งใช้งานล่าสุดเพื่อเพิ่มความเร็วในการเข้าถึงครั้งต่อไป เมื่อโมเดลประมวลผลข้อมูลนำเข้า รูปแบบการอ่านและเขียน cache จะเปิดเผยข้อมูลเกี่ยวกับข้อมูลนำเข้านั้น ผู้โจมตีที่เฝ้าติดตามรูปแบบเหล่านี้—โดยการรันกระบวนการที่เป็นอันตรายบนเครื่องเดียวกันหรือโดยการใช้ประโยชน์จากโครงสร้างพื้นฐานคลาวด์ที่ใช้ร่วมกัน—สามารถอนุมานข้อมูลที่กำลังถูกประมวลผลได้โดยไม่ต้องแตะต้องรหัส (code) หรือค่าน้ำหนัก (weights) ของโมเดลเลย
สิ่งที่การศึกษานี้แสดงให้เห็น
- การรั่วไหลของ cache เกิดขึ้นจริง โดยการวัดระยะเวลาที่การดำเนินการบางอย่างใช้ นักวิจัยแสดงให้เห็นว่าผู้ไม่หวังดีสามารถแยกแยะความแตกต่างระหว่างข้อมูลนำเข้าที่ต่างกัน และแม้กระทั่งกู้คืนส่วนหนึ่งของค่าน้ำหนัก (weights) ที่โมเดลเรียนรู้มาได้
- การแก้ไขด้วยซอฟต์แวร์ยังไม่เพียงพอ การป้องกันแบบดั้งเดิม เช่น การทำ input sanitization, อัลกอริทึมแบบ constant-time หรือการเข้ารหัสโมเดล ไม่สามารถซ่อนการรับส่งข้อมูลในระดับหน่วยความจำต่ำ (low-level memory traffic) ที่ cache เปิดเผยออกมาได้
- จำเป็นต้องมีการป้องกันในระดับฮาร์ดแวร์ การบรรเทาผลกระทบต้องถูกสร้างขึ้นในตัวประมวลผลหรือสถาปัตยกรรมระบบ ตัวอย่างเช่น การแบ่งส่วน cache (partitioning caches), การสุ่มรูปแบบการเข้าถึง (randomizing access patterns) หรือการเพิ่มสัญญาณรบกวน (noise) ในการวัดเวลา
ใครได้ประโยชน์ ใครเสียประโยชน์
เจ้าของโมเดลและนักพัฒนาเสี่ยงที่จะสูญเสียทรัพย์สินทางปัญญาที่เป็นความลับ และที่ร้ายแรงกว่านั้นคือความเป็นส่วนตัวของผู้ใช้ หากผู้โจมตีสามารถดึงข้อมูลที่ละเอียดอ่อนออกมาได้ (เช่น ภาพทางการแพทย์หรือข้อมูลระบุตัวตนส่วนบุคคล) ผู้ให้บริการคลาวด์เสี่ยงที่จะสร้างความรู้สึกปลอดภัยที่ผิดพลาดให้กับผู้เช่าที่ใช้ฮาร์ดแวร์ร่วมกัน ส่วนผู้โจมตี—ซึ่งเป็นฝ่ายใดก็ตามที่สามารถวางรหัสลงบนชิปเดียวกันได้—จะได้ช่องทางที่ราคาถูกและแนบเนียนในการเก็บเกี่ยวข้อมูล
ต้นทุนที่ซ่อนอยู่ของการละเลยฮาร์ดแวร์
การพึ่งพาเพียงแค่การแก้ไขด้วยซอฟต์แวร์ (software patches) บังคับให้นักพัฒนาต้องอัปเดตโค้ดอย่างต่อเนื่อง ทดสอบการถดถอย (regressions) และยังคงปล่อยให้ช่องทางด้านกายภาพ (physical side channel) เปิดทิ้งไว้ การใช้การป้องกันระดับฮาร์ดแวร์อาจต้องมีการออกแบบซิลิคอนใหม่หรือการอัปเดตเฟิร์มแวร์ ซึ่งมีต้นทุนเริ่มต้นที่สูงกว่า แต่จะช่วยปิดการรั่วไหลที่ต้นเหตุ องค์กรที่ไม่สามารถแบกรับต้นทุนในการออกแบบฮาร์ดแวร์ใหม่ได้ สามารถใช้ชิปสำหรับการประมวลผล (inference chips) โดยเฉพาะที่มีการแยก cache (cache isolation) ในตัวเพื่อเป็นมาตรการแก้ไขชั่วคราวที่ใช้งานได้จริง
ข้อโต้แย้ง
บางฝ่ายโต้แย้งว่าการเปลี่ยนแปลงฮาร์ดแวร์นั้นล่าช้าและมีค่าใช้จ่ายสูง และภาระงานการประมวลผล (inference workloads) ส่วนใหญ่ทำงานในจุดที่ผู้โจมตีขาดความใกล้ชิดที่จำเป็นสำหรับการเฝ้าติดตาม cache งานวิจัยนี้โต้แย้งว่าอินสแตนซ์คลาวด์ที่ใช้ทรัพยากรร่วมกัน (shared-resource cloud instances) และอุปกรณ์ปลายทาง (edge devices)—ที่ซึ่งแอปพลิเคชันหลายตัวทำงานร่วมกันบนตัวประมวลผลเดียวกัน—คือสภาพแวดล้อมที่ภัยคุกคามนี้มีความเป็นไปได้มากที่สุด
สิ่งที่ต้องจับตามองต่อไป
- การนำฟีเจอร์การแบ่งส่วน cache (cache-partitioning) มาใช้ใน CPU รุ่นใหม่ๆ
- การพัฒนาเครื่องมือคอมไพเลอร์ (compiler tools) ที่สุ่มรูปแบบการเข้าถึงหน่วยความจำสำหรับการประมวลผล DNN โดยอัตโนมัติ
- แนวทางปฏิบัติในอุตสาหกรรมที่จัดให้ cache side-channels เป็นข้อพิจารณาด้านความปลอดภัยที่จำเป็นสำหรับภาระงาน AI
สรุปใจความสำคัญ: หากคุณไว้วางใจให้โครงข่ายประสาทเทียมเชิงลึกจัดการกับข้อมูลที่ละเอียดอ่อน การรักษาความปลอดภัยของโมเดลในระดับซอฟต์แวร์เพียงอย่างเดียวนั้นไม่เพียงพออีกต่อไป ฮาร์ดแวร์ที่รันโมเดลจะต้องได้รับการเสริมความแข็งแกร่ง มิฉะนั้น ความเร็วที่เพิ่มขึ้นซึ่งทำให้ AI ใช้งานได้จริงจะกลายเป็นช่องทางสำหรับการขโมยข้อมูลแทน
