คิดถึงแฮกเกอร์ คุณอาจจินตนาการผู้เชี่ยวชาญฮอลลีวูดที่พยายามเจาะป้องกันคอมพิวเตอร์ แต่ Side-channel attack (การโจมตีทางด้านข้าง) ให้แฮกเกอร์ดึงข้อมูลจากอุปกรณ์ได้โดยไม่ต้องเจาะระบบความปลอดภัยโดยตรง
มาดูว่า Side-channel attack คืออะไร และหมายถึงอะไรต่อคุณ
Side-Channel Attack คืออะไร?
สมมติคุณอยู่กับเพื่อนร่วมห้อง ที่โทรหาคนบ่อยๆ ใช้โทรศัพท์บ้านมีปุ่มกดจริง เพื่อนร่วมห้องเก็บความลับเรื่องว่าโทรหาใคร แตคุณอยากรู้
คุณอาจดูพวกเขากดหมายเลข แต่ถ้าคุณไม่ต้องทำนั้น? ถ้าคุณได้หมายเลขจากการติดตามสัญญาณที่ไม่ใช่ภาพ (non-visual signals) จะทำอย่างไร?
วิธีหนึ่ง: ฟังเสียง dial tone ทุกครั้งที่เพื่อนกดปุ่ม แต่ละปุ่มมีเสียงต่างกัน คุณจึง reverse-engineer เสียงเพื่อรู้ว่ากดปุ่มไหน
คุณอาจวัดเวลาที่เพื่อนเคลื่อนมือจากปุ่มหนึ่งไปอีกปุ่มหนึ่ง ตอนพวกเขากดหมายเลข คุณวัดช่วงเวลาระหว่างการกดแต่ละครั้ง
ถ้าช่วงเวลาเท่ากับที่วัดไว้ หมายเลขที่เพิ่งกดอยู่ติดกับตัวก่อนหน้า ช่วงเวลานานกว่า = หมายเลขถัดไปไม่ได้ติดกัน สองครั้งเร็วๆ = กดหมายเลขเดิมสองครั้ง ต่อคุณคำนวณหมายเลขที่เป็นไปได้ทั้งหมดที่ตรงกับรูปแบบเวลา และใช้ข้อมูลนั้นคิดว่าเป็นหมายเลขไหน
คุณอาจเรียนรู้เสียงแต่ละปุ่ม ตัวอย่าง ปุ่ม 3 มีเสียง "คลั่น" หนัก ปุ่ม 9 มีเสียง "สวี๊ก" เล็กน้อย ตอนเพื่อนกดหมายเลข คุณฟังเสียงและคิดว่ากดอะไร
วิธีเหล่านี้กำหนดว่า "Side-channel attack" คืออะไร: วิธีดึงข้อมูลโดยไม่เจาะอุปกรณ์โดยตรง อาจดูสุดขีด แต่ Side-channel attack ของคอมพิวเตอร์ลึกกว่าการฟังเสียงปุ่มมาก!
ประเภทต่างๆ ของ Side-Channel Attacks
ตอนนี้รู้จักการทำงานแล้ว มาดูหมวดหมู่โจมตีที่แฮกเกอร์ใช้
Timing Attacks: เปิดเผยอัลกอริทึมด้วยการวัดเวลา
Timing attacks วิเคราะห์เวลาที่กระบวนการใช้ในการเสร็จสิ้น คล้ายการนับเวลากดหมายเลขของเพื่อนและเปรียบเทียบกับที่คุณรู้
แฮกเกอร์ป้อนอินพุตต่างๆ ให้อัลกอริทึม และสังเกตเวลาที่ใช้ในการประมวลผล จากข้อมูลนี้ พวกเขาประกอบอัลกอริทึมที่เป็นไปได้ที่ตรงกับข้อมูลเวลา และหาคำตอบ
ในวิดีโอ Joe Grand สร้างอุปกรณ์ล็อก 4 ปุ่ม หลังป้อนรหัส อุปกรณ์เปรียบเทียบส่วนแรกของอินพุตกับรหัสจริง ถ้าถูก จะเปรียบเทียบปุ่มที่สอง และต่อไป หากผิด อุปกรณ์หยุดประมวลผลทันที
ผลคือ หากทดสอบ 4 ปุ่มเป็นอินพุตแรก ปุ่มที่ถูกจะใช้เวลาประมวลผลนานกว่าเล็กน้อย อินพุตผิดทำให้เกิดการเปรียบเทียบครั้งเดียว (หยุดทันที) แต่อินพุตถูกทำให้ไปต่อปุ่มที่สอง ใช้เวลานานกว่า
เมื่อรู้ปุ่มแรกแล้ว คุณลองรวมกับปุ่มที่สองที่เป็นไปได้ทั้งหมด แล้วปุ่มที่สาม ฯลฯ ตราบใดที่คุณเก็บรายการที่ใช้เวลานานที่สุด คุณจะพบรหัสสุดท้าย
Timing attacks เป็นส่วนสำคัญของ Meltdown exploit วิเคราะห์ความเร็วในการอ่านแคช และใช้ผลลัพธ์อ่านข้อมูลเอง
Power Analysis: ตรวจสอบการใช้งานโปรเซสเซอร์ผ่านการใช้พลังงาน
แฮกเกอร์อาจติดตามการใช้พลังงานของคอมโพเนนต์เพื่อดูว่ามันทำอะไรอยู่ หากคอมโพเนนต์ใช้พลังงานมากกว่าปกติ มันอาจคำนวณสิ่งสำคัญอยู่ ใช้พลังงานน้อยกว่า = กำลังย้ายไปขั้นตอนคำนวณถัดไป
แฮกเกอร์อาจใช้ power signatures ดูข้อมูลที่ส่ง ตัวอย่างบน AnySilicon แสดงแผนภูมิพลังงานที่เปิดเผยคอมโพเนนต์ส่งข้อมูลไบนารี กระทูนพลังงานเล็ก = 0 กระทูนสูง = 1
Acoustic Analysis: ฟัง सुराग (clues) จากเสียง
Acoustic analysis คือแฮกเกอร์ฟังรูปแบบเสียงจากอุปกรณ์ และใช้ผลลัพธ์ประกอบข้อมูล ในตัวอย่างโทรศัพท์ การฟัง dial tone หรือเสียงกดปุ่ม คือ acoustic attack
มีศึกษาความเป็นไปได้ของ acoustic attack หลายชิ้น หนึ่งฟังเสียงพิมพ์เพื่อคาดเดาว่าพิมพ์อะไร ได้ความแม่นยำ 72% เพิ่มเป็น 95% หากโจมตีรู้ประมาณว่าเอกสารเกี่ยวกับอะไร
อีกการศึกษา SonarSnoop ทำให้โทรศัพท์กลายเป็นโซนาร์ ส่งเสียงไม่ได้ยินผ่านสปีกเกอร์ บันทึกสะท้อนผ่านไมโครโฟน สะท้อนโซนาร์บอกตำแหน่งนิ้วบนหน้าจอขณะวาดรูปล็อก — เปิดเผยวิธีปลดล็อก
Electromagnetic Analysis: ติดตามคลื่นพื้นหลัง
Electromagnetic (EM) analysis ติดตามคลื่นที่อุปกรณ์ปล่อยออกมา จากข้อมูลนี้ โจมตีสามารถถอดรหัสว่าอุปกรณ์ทำอะไรอยู่ อย่างน้อยบอกได้ว่ามีอุปกรณ์อยู่ใกล้ๆ เช่น ใช้โทรศัพท์หากล้องวงจรปิดโดยหา EM waves
มีการศึกษา IoT devices และ EM emissions ทฤษฎีคือ ทีมฟอเรนซิกติดตามอุปกรณ์น่าสงสัยโดยไม่ต้องแฮกเข้าไป สำคัญ เพราะให้執法機關 ติดตามกิจกรรมน่าสงสัยโดยไม่ทิ้งร่องรอย
วิธีป้องกันตัวเองจาก Side-Channel Attacks
น่าเสียดาย ไม่มีวิธีง่ายทำให้ PC ไม่เสียดายต่อ Side-channel attacks ตราบใดที่มันใช้พลังงาน ปล่อยรังสี และสร้างเสียงขณะทำงาน มันก็เปราะบางต่อการวิเคราะห์ของแฮกเกอร์
อย่างไรก็ตาม สิ่งที่คุณทำได้คือ ป้องกันไม่ให้แฮกเกอร์ทำโจมตีได้ ตัวอย่าง SonarSnoop ที่ตรวจจับรูปแบบปลดล็อกบนโทรศัพท์ หากโปรแกรมนี้อยู่ในธรรมชาติ มันจะใช้ช่องทางการเผยแพร่เหมือนมัลแวร์ทั่วไป จะซ่อนอยู่ในแอป/โปรแกรมอันตราย รอให้ใครดาวน์โหลด
ดังนั้น แม้คุณไม่สามารถป้องกันอุปกรณ์ไม่ปล่อยสัญญาณบ่งบอกได้ คุณก็สามารถป้องกันการติดตั้งซอฟต์แวร์ที่เขียนมาเพื่อติดตามสัญญาณเหล่านั้น อัปเดตเครื่องมือแอนตี้ไวรัส และปฏิบัติ cybersecurity hygiene ที่ดี คุณจะปลอดภัย
รักษาความปลอดภัยฮาร์ดแวร์ของคุณ
Side-channel attacks น่ากลัว เพราะพิสูจน์ว่าโจมตีเกิดได้โดยคุณไม่รู้ แต่คุณทำส่วนของคุณได้ เพื่อป้องกันไม่ให้แฮกเกอร์ได้โฟลด์บนระบบและติดตามข้อมูลส่วนตัว
หากต้องการขั้นตอนเพิ่มเติมรักษาความปลอดภัยฮาร์ดแวร์ ทำไมไม่รักษาความปลอดภัยคอมพิวเตอร์ให้ปลอดภัยจากการขโมย?