Side-channel Attack ความเสี่ยงของ Trezor คืออะไร แก้ยังไง

Side-channel Attack ความเสี่ยงของ Trezor คืออะไร แก้ยังไง

 


ช่วงต้นปี 2022 มีวิดีโออันนึงที่ทำโดย
Ledger ซึ่งเป็นคู่แข่งกับ Trezor เป็นคนทำวิดีโอเกี่ยวกับ Side-channel Attack เป็นวิธีการดึงเอา PIN ออกมา ถ้าเข้าถึง Hardware Wallet ของ Trezor ได้ มี PIN ก็จบ ถึงแม้ว่าในวิดีโอไม่ได้บอกว่าเป็นวิธีการโจมตี Hardware Wallet ยี่ห้อไหนแต่ถ้าใครลองเข้าไปดูในวิดีโอก็รู้ว่า Ledger ทำวิดีโอนี้ขึ้นมาเพื่อที่จะโจมตีจุดอ่อนของ Trezor เพราะโลโก้ของ Trezor ขึ้นหลาในวิดีโอเลย ที่สำคัญในบทความ Side-channel Attacks ของ Ledger ระบุชัดเจนว่าการโจมตีนี้ใช้กับ Ledger ไม่ได้



Side-channel Attack คืออะไร

วิธีการโจมตีแบบ Side-channel Attack  ก็ค่อนข้างเรียบง่ายเค้าจะใช้วิธีการเฝ้าสังเกตเรื่องของการใช้พลังงานแล้วก็เวลาในไมโครโปรเซสเซอร์หรืออุปกรณ์ไมโครอิเล็กทรอนิกส์ต่าง ๆ ว่า  ถ้ามันถูกใช้ให้ทำงานในลักษณะแบบนี้แล้วมันจะแสดงออกมายังไง ซึ่งผลของลักษณะของสัญญาณมันสามารถที่จะถอดเอาความลับออกมาได้ว่าข้อมูลที่เราต้องการคืออะไร


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


Hack PIN Hardware Wallet ง่ายกว่า

ในมุมมองของแฮ็คเกอร์นั้นเค้าต้องพยายามหาข้อมูลจากการสังเกตพฤติกรรมของอุปกรณ์อิเล็กทรอนิกส์และสิ่งที่ง่ายที่สุดหากเขาสามารถเข้าถึง Hardware Wallet อย่าง Trezor ได้แล้วถ้าเค้ามี PIN เค้าก็จะสามารถเข้าถึงควบควมได้ทุกอย่าง การ Hack PIN เป็นสิ่งที่ง่ายที่สุดและสามารถสังเกตได้จากพฤติกรรมการใช้พลังงานดังนั้น Ledger จึงใช้เรื่องนี้โจมตี Trezor


ตามที่อธิบายหลักการมาข้างต้น Hacker สามารถที่จะเฝ้าสังเกตลักษณะของการใช้พลังงานอย่างเช่นตอนใส่ PIN ว่าความต่างระหว่างการกดเลข 1 กับความต่างระหว่างการกดเลข 9 แล้วเปรียบเทียบการใช้พลังงานว่ามันต่างกันยังไง เหมือนในหนังที่พวกหัวขโมยใช้ stethoscope(หูฟังทางการแพทย์) ฟังเสียงเวลาหมุนตัวล็อกตู้เซพเค้าก็จะฟังแล้วก็เปรียบเทียบเสียงเพื่อที่จะเฝ้าสังเกตว่าตกลงมันเป็นเลขอะไร หลักการเดียวกันเลย


Setup การ Hack Trezor

วิธีการนี้ถ้าคุณเข้าใจก็ดูไม่น่าจะยากนะ ถ้าดูจากในวิดีโอก็คือเค้าจะเปิดเคสออกมาก่อนแล้วเชื่อมอุปกรณ์ที่จะใช้วัดการใช้ไฟฟ้าเข้าไป โดยในแผงวงจรนี้จะต้องหาตัวที่เป็นไมโครคอนโทรลเลอร์ซึ่งมันคือหัวใจของ Hardware Wallet เลย อันนี้แหละจะเป็นจุดที่เขาใช้โจมตีแล้วก็เค้าก็วัดการใช้พลังงานของแผงวรจรด้วยอุปกรณ์ oscilloscope( เครื่องมือวัดสัญญาณไฟฟ้า) เปิดเพื่อดูสถาะปกติก่อน หลังจากนั้นก็จะสุ่มกด PIN แล้วก็บันทึกค่าไว้ ซึ่ง Hacker จะค่อยๆ ได้ฐานข้อมูลของการใช้พลังงานกว้างขึ้นเรื่อยๆ ว่ากลุ่มไหนใช้พลังงานน้อย กลุ่มไหนใช้พลังงานมาก


กระบวนการสุดท้าย Hacker จะเขียน Script ในการช่วยคำนวนทางสถิติทำให้สุ่มเลขได้เร็วขึ้นอย่างในกรณี VDO เดา PIN ได้ 1-3-3-7 บูม! เรียบร้อย Bitcoin ตกเป็นของ Hacker

Trezor ว่ายังไงกับเรื่อง Side-channel Attack

Trezor ระบุใน Trezor Common Security Threats ว่า Side-channel Attack  ได้ถูกดำเนินการแก้ไขเรียบร้อยแล้ว โดย Jochen Hoenicke ช่วยทำให้เกือบทุกอย่างทั้งทางด้านที่เกี่ยวข้องกับความปลอดภัยและที่ไม่ได้เกี่ยวข้องกับด้านความปลอดภัย เค้าแทบจะเขียน Cryptographic Function ให้ Trezor ใหม่หมด ใครสนใจลองไปอ่านบทความที่ Jochen เขียนได้ครับ Extracting the Private Key from a Trezor ในบทความบอกว่าใช้เงิน $70 ซื้อ Oscilloscope ในการสังเกตเสียงก็สามารถ Hack ได้ แบบไม่ได้ยากมาก บทความนี้เขียนตั้งแต่ ปี 2015 และ Trezor ได้แก้ไขใน Firmware 1.3.3 แล้วตามคำแนะนำของ Jochen 


Passphrase ออกมาเพื่อลดความเสี่ยงเรื่องนี้

บนสรุปในบทความของ Jochen ในตอนท้ายว่าไม่มีการป้องกันแบบไหนที่ป้องกันได้ 100% ถ้า Trezor ถูกเข้าถึงได้ หมายถึง Hacker มี Trezor อยู่ในมือ ถ้าไม่มี Passphrase แล้วบอกได้เลยหมูมาก ๆ ถ้า Passphrase อ่อนก็เดาได้ง่าย ถ้ารู้ตัวว่าหายหรือถูกขโมย รีบเอา Seed ไป Restore แล้วโอนออกมาให้หมดจะดีกว่า ยังมีวิธีการโจมตีอีกหลายอย่างที่จะเข้าถึงข้อมูลสำคัญเช่น Fault injection ที่ใช้พื้นฐานที่ว่าไมโครโพรเซสเซอร์ จะทำอะไรบางอย่างหากมันเจอเหตุการณ์ที่ไม่คาดคิดเช่น กระแสไฟหรือสัญญาณนาฬิกาดับ ถึงแม้ว่ามันจะยากในการดำเนินการ แต่มันก็มีโอกาสทำได้เพราะมันถูกกว่าการใช้ Electron Microscope อ่าน Seed จาก Chip หรืออาจใช้ช่องโหว่ของไมโครโพรเซสเซอร์อ่านค่าพวกนี้ได้


Ledger ขยี้เรื่อง Secure Element Chip ตลอด

Secure Element Chip เป็นเทคโนโลยีเดียวกันกับที่ใช้ในบัตรเครดิต Passport หรือว่า SIM Card ซึ่งเอาไว้สำหรับปกป้องข้อมูลที่สำคัญมากๆ ไม่ให้ผู้ที่ไม่ประสงค์ดีเข้าถึงข้อมูลพวกนี้ได้  Ledger เคลมเรื่องนี้ว่าเค้าออกแบบมาโดยใส่สิ่งนี้เข้าไปเพื่อเพิ่มระดับความปลอดภัยขึ้นมาอีกชั้น ถ้าหากว่าไม่มี Secure Element Chip นี้แล้ว Hacker สามารถที่จะทะลุทะลวงการป้องกันและเข้าถึงข้อมูลที่สำคัญมาก ๆ ได้โดยง่าย ซึ่งจะทำให้เขาสามารถควบคุมทุกอย่างใน Hardware Wallet เราได้ 


ความย้อนแย้งของ Ledger กับ Secure Element Chip กับ Ledger Recovery

Ledger ออกบริการอันนึงชื่อ Ledger Recovery ท่ามกลางความงุนงงของผู้ใช้หลายๆ คนว่า “What the heck are you doing?” ไหนว่าปลอดภัย ทำไมดึงเอา Master Private Key(Seed Phrase) ออกมาได้ แต่ Ledger บอกว่าไม่เป็นไรเราจะแบ่งสิ่งนี้ออกเป็นสามส่วนแล้วก็แจกจ่ายกันเก็บ Ledger ไม่ได้เก็บคนเดียวปลอดภัยแน่นอน เวลาที่เราต้องเชื่อมั่นในคนอื่น ในขณะที่ต้นทุนของการเชื่อมั่นในตัวเองต่ำกว่ามาก เราจะไปเชื่อเขาทำไม ประเด็นสำคัญมาก ๆ คือ แปลว่า Ledger เข้าถึงข้อมูลพวกนี้ได้เหรอ เข้าได้ตอนไหน แล้ว Hacker จะรู้แบบที่ Ledger รู้ไหม นี่เป็นความกังลงที่หลาย ๆ คนมี จึงเรียกร้องให้ Ledger เปิดเผย Opensource ซึ่งแต่ก่อนผมก็ไม่ค่อยเข้าใจมากว่าทำไมต้อง Open Source ฟังอาจารย์พิริยะซึ่งเป็นคนที่มีความเชี่ยวชาญทางด้าน Bitcoin พูดมานานเพิ่งจะเข้าใจก็ตอนที่เกิดกรณีแบบนี้แหละ โลกของความปลอดภัยต้องอาศัยความเข้าใจ ไม่ใช่ความเชื่อใจ การ Open Source ทำให้เราเห็นความตั้งใจในการเขียนโค้ดของเขา ทำให้คนทั่วไปเห็นจุดอ่อนจุดแข็ง และเอาไปต่อยอดได้

Open Source ทำให้เราเห็นความคิดที่อยู่ก้นบึ้งของคนทำ

Open Source ไม่เพียงแต่ทำให้เราเห็น Code อย่างเดียว มันทำให้เราเข้าใจรากเง้าความคิดของคนทำด้วย ไม่ว่าจะเป็นตั้งใจเขียนตรงนี้เพื่ออะไร หรือแม้แต่กระทั่งการยอมเปิดเผยนั้นแสดงความจริงใจขนาดไหน ดูอย่างกรณีที่ Jochen เขียนบทความเรื่อง Side-channel Attack เป็นกรณีศึกษาที่ดีเลยว่า Jochen ไม่ได้เป็นพนักงาน Trezor หรือคู่ของของ Trezor เค้ามีอิสระที่ชี้ให้เห็นจุดอ่อนของ Trezor เพียงเพราะเค้ามี Trezor One อยู่สองตัว Open Source บ่งบอกถึงว่าคนทำรู้ว่าการที่ตัวเองยืนอยู่ในที่แจ้งแล้วให้คนที่พร้อมจะช่วยคุณหาช่องโหว่ เป็นวิธีการที่ดีที่สุดที่จะทำให้คุณปลอดภัยที่สุด ที่กว่าการที่คุณซ่อนช่องโหว่ไว้ไม่ให้ใครเห็น


บทสรุป

เนื้อหาในบทความนี้ต้องบอกว่าผมยังมองว่าการที่เรามี Hardware Wallet ยังเป็นวิธีที่ทำให้เราปลอดภัยมาก ๆ ในโลกของ Bitcoin และ Cyrptocurrency เพียงแต่เราควรจะเข้าใจ เรื่องข้อจำกัดของเครื่องมือแต่ละอย่างของเราและคิดให้ออกว่าเราจะทำยังไงเพื่อให้ความเสี่ยงตรงนั้นหมดไป ไม่ว่าคุณจะใช้ตัวไหน ถ้าคุณเข้าใจข้อจำกัดของมัน คุณมีวิธีลดความเสี่ยงมัน อย่างกรณี Side-channel Attack Hacker ต้องสามารถเข้าถึง Hardware Wallet ของคุณได้ ถ้าเค้าเข้าถึงไม่ได้ ก็ไม่สามารถใช้ เทคนิคนี้ได้ 


ปัจจุบัน Trezor ได้ออก Hardware Wallet รุ่นใหม่ล่าสุดที่มา พร้อมกับ Secure Element Chip เรียบร้อยแล้ว ชื่อว่า Trezor Safe 3 ทำให้ระดับความปลอดภัยของ Trezor มากยิ่งขึ้น ยังมีอีกรุ่นที่เทียบเท่ากับ Trezor Safe 3 คือ OneKey Mini โดย Spec เท่ากันเลย ไม่มี Battery กับ Bluetooth เหมือนรุ่นพี่อย่าง OneKey Classic เทียบ Spec แล้ว OneKey Mini จะพอกันกับ Trezor Safe 3 (ถ้าใครอยากใช้กับมือถือต้องเป็น OneKey Classic นะครับ) โดย OneKey เอา Code ของ Trezor มาพัฒนาต่ออีกที ซึ่ง OneKey ผมเป็นตัวแทนจำหน่ายอย่างเป็นทางการนะครับ ใครสนใจดูสินค้าในร้านได้

สุดท้ายนี้ผมอยากให้ทุกคนคิดไว้เสมอว่า เราไม่สามารถทำให้ความเสี่ยงไม่มีวันหมด เราแค่ลดมันให้ต่ำที่สุดเท่านั้นเอง



Ref:
https://seguranca-informatica.pt/what-is-a-side-channel-attack/
https://www.ledger.com/academy/series/enter-the-donjon/episode-2-side-channel-attacks
https://trezor.io/learn/a/common-security-threats
https://jochen-hoenicke.de/crypto/trezor-power-analysis/

กลับไปยังบล็อก

แสดงความคิดเห็น

โปรดทราบว่าความคิดเห็นจะต้องได้รับการอนุมัติก่อนที่จะได้รับการเผยแพร่