การถอดรหัสชิปเรียกอีกอย่างว่าการถอดรหัสชิปตัวเดียว (การถอดรหัส IC) เนื่องจากชิปไมโครคอมพิวเตอร์ตัวเดียวในผลิตภัณฑ์อย่างเป็นทางการได้รับการเข้ารหัส โปรแกรมจึงไม่สามารถอ่านได้โดยตรงโดยใช้โปรแกรมเมอร์
เพื่อป้องกันการเข้าถึงหรือการคัดลอกโปรแกรมบนชิปของไมโครคอนโทรลเลอร์โดยไม่ได้รับอนุญาต ไมโครคอนโทรลเลอร์ส่วนใหญ่จึงเข้ารหัสบิตล็อคหรือไบต์ที่เข้ารหัสเพื่อปกป้องโปรแกรมบนชิป หากเปิดใช้งานบิตล็อคการเข้ารหัส (ล็อค) ในระหว่างการเขียนโปรแกรม โปรแกรมในไมโครคอนโทรลเลอร์จะไม่สามารถอ่านได้โดยตรงโดยโปรแกรมเมอร์ทั่วไป ซึ่งเรียกว่าการเข้ารหัสไมโครคอนโทรลเลอร์หรือการเข้ารหัสชิป ผู้โจมตี MCU ใช้อุปกรณ์พิเศษหรืออุปกรณ์ที่สร้างขึ้นเอง ใช้ประโยชน์จากช่องโหว่หรือข้อบกพร่องของซอฟต์แวร์ในการออกแบบชิป MCU และด้วยวิธีการทางเทคนิคต่างๆ พวกเขาสามารถดึงข้อมูลสำคัญจากชิปและรับโปรแกรมภายในของ MCU สิ่งนี้เรียกว่าการแคร็กชิป
วิธีการถอดรหัสชิป
1.การโจมตีด้วยซอฟต์แวร์
โดยทั่วไปเทคนิคนี้จะใช้อินเทอร์เฟซการสื่อสารของโปรเซสเซอร์และใช้ประโยชน์จากโปรโตคอล อัลกอริธึมการเข้ารหัส หรือช่องโหว่ด้านความปลอดภัยในอัลกอริธึมเหล่านี้เพื่อทำการโจมตี ตัวอย่างทั่วไปของการโจมตีด้วยซอฟต์แวร์ที่ประสบความสำเร็จคือการโจมตีไมโครคอนโทรลเลอร์ซีรีส์ ATMEL AT89C รุ่นแรกๆ ผู้โจมตีใช้ประโยชน์จากช่องโหว่ในการออกแบบลำดับการดำเนินการลบข้อมูลของไมโครคอมพิวเตอร์ชิปตัวเดียวซีรีส์นี้ หลังจากลบบิตล็อคการเข้ารหัส ผู้โจมตีหยุดการดำเนินการถัดไปของการลบข้อมูลในหน่วยความจำโปรแกรมบนชิป เพื่อให้ไมโครคอมพิวเตอร์ชิปตัวเดียวที่เข้ารหัสกลายเป็นไมโครคอมพิวเตอร์ชิปตัวเดียวที่ไม่ได้เข้ารหัส จากนั้นใช้โปรแกรมเมอร์เพื่ออ่านข้อมูลบน โปรแกรมชิป
บนพื้นฐานของวิธีการเข้ารหัสอื่นๆ อุปกรณ์บางอย่างสามารถพัฒนาเพื่อทำงานร่วมกับซอฟต์แวร์บางตัวเพื่อทำการโจมตีซอฟต์แวร์ได้
2. การโจมตีด้วยการตรวจจับทางอิเล็กทรอนิกส์
โดยทั่วไปเทคนิคนี้จะตรวจสอบคุณลักษณะแอนะล็อกของการเชื่อมต่อพลังงานและอินเทอร์เฟซทั้งหมดของโปรเซสเซอร์ระหว่างการทำงานปกติที่มีความละเอียดชั่วคราวสูง และใช้การโจมตีโดยการตรวจสอบคุณลักษณะการแผ่รังสีแม่เหล็กไฟฟ้า เนื่องจากไมโครคอนโทรลเลอร์เป็นอุปกรณ์อิเล็กทรอนิกส์แบบแอคทีฟ เมื่อดำเนินการตามคำสั่งที่แตกต่างกัน การใช้พลังงานที่เกี่ยวข้องจึงเปลี่ยนแปลงตามไปด้วย ด้วยวิธีนี้ การวิเคราะห์และตรวจจับการเปลี่ยนแปลงเหล่านี้โดยใช้เครื่องมือวัดอิเล็กทรอนิกส์แบบพิเศษและวิธีการทางสถิติทางคณิตศาสตร์ ทำให้สามารถรับข้อมูลสำคัญเฉพาะในไมโครคอนโทรลเลอร์ได้
3. เทคโนโลยีการสร้างข้อผิดพลาด
เทคนิคนี้ใช้สภาวะการทำงานที่ผิดปกติเพื่อสร้างข้อบกพร่องให้กับโปรเซสเซอร์ จากนั้นให้สิทธิ์การเข้าถึงเพิ่มเติมเพื่อทำการโจมตี การโจมตีที่สร้างข้อผิดพลาดที่ใช้กันอย่างแพร่หลาย ได้แก่ แรงดันไฟกระชากและสัญญาณนาฬิกากระชาก การโจมตีด้วยแรงดันไฟฟ้าต่ำและแรงดันไฟฟ้าสูงสามารถใช้เพื่อปิดวงจรป้องกันหรือบังคับให้โปรเซสเซอร์ดำเนินการผิดพลาดได้ ภาวะชั่วครู่ของนาฬิกาอาจรีเซ็ตวงจรป้องกันโดยไม่ทำลายข้อมูลที่ได้รับการป้องกัน ภาวะชั่วครู่ของกำลังและสัญญาณนาฬิกาอาจส่งผลต่อการถอดรหัสและการดำเนินการคำสั่งแต่ละคำสั่งในโปรเซสเซอร์บางตัว
4. เทคโนโลยีโพรบ
เทคโนโลยีนี้คือการเปิดเผยสายไฟภายในของชิปโดยตรง จากนั้นสังเกต จัดการ และรบกวนไมโครคอนโทรลเลอร์เพื่อให้บรรลุวัตถุประสงค์ของการโจมตี
เพื่อความสะดวก ผู้คนแบ่งเทคนิคการโจมตีทั้งสี่ข้างต้นออกเป็นสองประเภท ประเภทแรกคือการโจมตีที่รุกล้ำ (การโจมตีทางกายภาพ) การโจมตีประเภทนี้จำเป็นต้องทำลายบรรจุภัณฑ์ จากนั้นใช้อุปกรณ์ทดสอบเซมิคอนดักเตอร์ กล้องจุลทรรศน์ และไมโครโพสิชันเซอร์ใน ห้องปฏิบัติการเฉพาะทาง อาจใช้เวลาหลายชั่วโมงหรือหลายสัปดาห์จึงจะเสร็จสมบูรณ์ เทคนิคไมโครโพรบทั้งหมดเป็นการโจมตีแบบรุกราน อีกสามวิธีคือการโจมตีแบบไม่รุกราน และไมโครคอนโทรลเลอร์ที่ถูกโจมตีจะไม่ได้รับความเสียหายทางกายภาพ การโจมตีแบบไม่ก้าวก่ายเป็นอันตรายอย่างยิ่งในบางกรณี เนื่องจากอุปกรณ์ที่จำเป็นสำหรับการโจมตีแบบไม่ก้าวก่ายมักจะสร้างและอัพเกรดได้เอง จึงมีราคาถูกมาก
การโจมตีแบบไม่ก้าวก่ายส่วนใหญ่ต้องการให้ผู้โจมตีต้องมีความรู้ด้านโปรเซสเซอร์และความรู้ด้านซอฟต์แวร์ที่ดี ในทางตรงกันข้าม การโจมตีด้วยโพรบแบบรุกรานไม่จำเป็นต้องมีความรู้เบื้องต้นมากนัก และเทคนิคที่คล้ายคลึงกันชุดใหญ่สามารถนำไปใช้กับผลิตภัณฑ์ได้หลากหลาย ดังนั้น การโจมตีไมโครคอนโทรลเลอร์มักจะเริ่มต้นจากวิศวกรรมย้อนกลับที่ล่วงล้ำ และประสบการณ์ที่สั่งสมมาจะช่วยในการพัฒนาเทคนิคการโจมตีที่ไม่ล่วงล้ำที่ถูกกว่าและรวดเร็วยิ่งขึ้น