"CVAX - عندما تحصل على سرقة حقيقية أفضل".النقش الذي تركه المهندسون الأمريكيون لزملائهم السوفييت في طوبولوجيا المعالجات الدقيقة.
الهندسة العكسية للرقائق هي صداع للمصنعين منذ السنوات الأولى لوجود الإلكترونيات الدقيقة. تم بناء جميع الإلكترونيات السوفيتية في مرحلة ما ، والآن يفعلون نفس الشيء في الإمبراطورية السماوية ، وليس فقط في ذلك ، على نطاق أوسع بكثير. في الواقع ، الهندسة العكسية قانونية تمامًا في الولايات المتحدة الأمريكية والاتحاد الأوروبي والعديد من الأماكن الأخرى ، بهدف (أقتبس القانون الأمريكي) من "تدريس أو تحليل أو تقييم المفاهيم أو التقنيات المطبقة في عمل القناع أو الدوائر".
الاستخدامات القانونية الأكثر شيوعًا للهندسة العكسية هي براءات الاختراع والمحاكم المرخصة. التجسس الصناعي شائع أيضًا ، خاصة وأن الدوائر الكهربائية (خاصة الدوائر التناظرية) غالبًا ما تكون من حقوق الملكية الفكرية الرئيسية ونادراً ما تحصل على براءة اختراع - فقط لتجنب الكشف عن الملكية الفكرية والمشاركة في محاكم براءات الاختراع كمتهم. بالطبع ، في موقف تحتاج فيه إلى حماية حقوق الملكية الفكرية الخاصة بك دون الحصول على براءة اختراع ، يحاول المطورون والمصنعون التوصل إلى طرق لمنع نسخ تطوراتهم.
مجال آخر لا يقل أهمية (أو حتى أكثر) لحماية الرقاقات من الهندسة العكسية هو ضمان أمن المعلومات المخزنة في الذاكرة. يمكن أن تكون هذه المعلومات كلاً من البرامج الثابتة FPGA (أي ، مرة أخرى ، الملكية الفكرية للمطور) ، على سبيل المثال ، رمز PIN من بطاقة بنكية أو مفتاح تشفير لمحرك أقراص فلاش آمن. كلما زادت قيمة المعلومات التي نثق بها حول العالم من حولنا ، كلما زادت أهمية حماية هذه المعلومات على جميع مستويات أنظمة المعالجة ، ومستوى الجهاز ليس استثناءً.
أول الأشياء أولاً: شيء مهم لفهمه. عند الحديث عن الهندسة العكسية والحماية من نسخ البيانات ، يجب فهم أن طرق الحماية الثابتة تمامًا غير موجودة ، وكل ما هو حقيقي هو جعل العملية طويلة و / أو باهظة الثمن بحيث تصبح غير مكلفة اقتصاديًا.قبل سنوات عديدة ، كان عمل مهندس عكسي أو قرصنة إلكترونية صغرى أسهل بكثير من الآن. انظر ، على سبيل المثال ، إلى هذه الصورة (بفضل
BarsMonster على طفولتنا السعيدة والصور الجيدة): مع الفهم الأساسي للتكنولوجيا ، فإن استعادة الدائرة الكهربائية منها مسألة عدة ساعات.
الشكل 2. لقطة من طوبولوجيا OPA134PA المرجع أمبير. المصدر - zeptobars.comهنا ، بالمناسبة ، هناك مثال على الهندسة العكسية لرقاقة TL431 التي صنعها كين شيريف من صور BarsMonster. وهنا الترجمة الروسية. تحتوي مدونة Ken على الكثير من الأشياء الرائعة إذا كنت مهتمًا بموضوع الهندسة العكسية للهواة.وهنا (بعناية ، حركة المرور!) هو تقرير من الهندسة العكسية لرقاقة Zilog Z80-CTC ، التي تم تصنيعها في عام 1979 ، على الفور تقريبًا بعد إصدار الشريحة. الآن هذه وثيقة تاريخية فريدة من نوعها ، ومن ثم كانت المعلومات ذات القيمة التجارية الهائلة والتي تم الحصول عليها (إذا حكمنا من خلال عدة إشارات إلى المعايير العسكرية) ، وربما في عملية التصديق على الدائرة الكهربائية الدقيقة للتطبيقات الخاصة.لكننا نعيش في عام 2019 ، وليس في عام 1979 ، ونعكس الآن المخطط الكامل لمعالج إنتل المصغّر الجديد مسألة عدة أشهر أو سنوات ، حتى مع وجود مستوى جيد من أتمتة العملية (ناهيك عن حقيقة أنه حتى إزالة الهيكلية مع معايير التصميم في دقة مقبولة 14 -10-7 نانومتر هي مهمة صعبة للغاية). ما هي إنتل؟ قارن بين كمية العمل في الهندسة العكسية أو تحليل مكبر الصوت من الصورة أعلاه ومعالج Baikal-T1 ، الذي يتم تنفيذه وفقًا لعملية التصنيع البالغة 28 نانومتر الشائعة جدًا وبأسعار معقولة نسبيًا. الهندسة العكسية الكاملة لهذه المنتجات الكبيرة نادرة للغاية ، وغالبًا ما يكون من المثير للاهتمام أن ننظر إلى بعض الكتل المحددة والصغيرة نسبيًا. على سبيل المثال ، لمعرفة ما إذا كانت تنتهك براءة الاختراع الخاصة بك ، أو لمقارنة قرارك بمنتجات المنافسين ومحاولة فهم سبب كونه أفضل أو أسوأ. أو ، لمعرفة ذلك ، قام مطورو الرقائق أنفسهم بتنفيذ هذه الوظيفة أو تلك ، أو استعارة كتلة IP الخاصة بك.
الشكل 3. لقطة من طوبولوجيا المعالج Baikal-T1. المصدر - zeptobars.comننتقل هنا إلى الجزء المهم التالي في تاريخ الهندسة العكسية. في العصور القديمة ، تم تطوير الشريحة بأكملها من البداية إلى النهاية داخل شركة واحدة ، وأحيانًا حتى بواسطة قوى فريق صغير جدًا أو وحيد وحيد مثل Bob Widlar. الدوائر الصغيرة الحديثة مليئة بكتل بروتوكول الإنترنت IP ، التي يعد بيعها وشرائها سوقًا ضخمًا ، والذي له بالطبع أيضًا حقوق النشر والتجسس الصناعي والقرصنة. لذلك ، من الممكن والضروري النظر في مشكلة الحماية ضد النسخ غير المصرح به ، ليس فقط من وجهة نظر مطور المنتج النهائي ، ولكن أيضًا من وجهة نظر مطور IP ، الذي يمكن لمطور المنتج أن يكون أيضًا قرصنة له.
في حالة القرصنة ، عادة ما يكون الهيكل الداخلي للمتطفل غير مهتم بتلقي البيانات ، ويتم إجراء الهندسة العكسية الجزئية (إن وجدت) من أجل العثور على نقاط الضعف واستغلال هذه الثغرات الأمنية ، إما باستخدام اتصال مباشر أو باستخدام طرق أخرى. تتمثل مهمة المطور في مكافحة القرصنة في منع استخدام نقاط ضعف محتملة ، وإذا لزم الأمر ، لتدمير البيانات الحساسة عند محاولة الاختراق.
شخص يتصرف
للبدء ، دعونا نتعرف على من يمكنه حماية تصميم الشريحة من ذلك. تشارك الكيانات التالية في السلسلة من الفكرة إلى التطبيق ، مع وجود أنواع مختلفة من الوصول إلى المعلومات حول محتويات الدائرة الصغيرة.
- المطور كتلة IP. إنه يحتوي على جميع المعلومات ، وجميع الملفات اللازمة ، وطرق القياس ، إلخ. الخ
- المطور رقاقة. في حالة Soft IP ، يحتوي Verilog / VHDL على رمز كتلة ، وفي حالة Hard IP ، يمكن أن يحتوي على طوبولوجيا أو صندوق أسود. إذا كان هناك أي أجزاء قابلة للبرمجة أو البرامج في الوحدة ، فيمكنها أيضًا الوصول إليها.
- المصنع لديه حق الوصول إلى ملفات طوبولوجيا GDSII ، لكن لا يمكنه الوصول إلى الجزء المعتمد على البرنامج من الشريحة (على سبيل المثال ، إلى PROM الثابتة).
- التعبئة واختبار الإنتاج. يمكنه الوصول إلى الشريحة ، وكذلك لاختبار طرق وبطاقات البرامج الثابتة للذاكرة القابلة للبرمجة لمرة واحدة. نادراً ما يدافع أي شخص عن قصد عنهم ، لكن يجب أن يكونوا مدرجين في القائمة ، لأن بعض الطرق المناسبة للحماية من المصنع لا تعمل ضدهم.
- منافس / تكسير. لديه حق الوصول فقط إلى المنتج النهائي ووثائق المستخدم.
في أبسط الحالات ، يريد مصمم الشرائح (2) حماية نفسه من النسخ بواسطة منافس (5) أو إنشاء شريحة بذاكرة محمية من القراءة غير المصرح بها. في وضع أكثر تعقيدًا بقليل ، يريد مطور IP (1) التأكد من أن المطور يتوافق مع الشريحة (2) من اتفاقية الترخيص. يحدث أيضًا أن مطور الرقاقة (2) لا يثق في المصنع (3) ويشتبه في أنه قد يؤدي إلى حدوث تزوير في وردية الليل.
كتبت بالتفصيل حول عنوان IP الموجود في الدوائر المتكاملة منذ فترة ، لذا لن أكرر هذا المقال. هناك أيضًا القليل حول كيفية حماية مطوري IP للملكية الفكرية الخاصة بهم. باختصار ، من أجل حماية الطوبولوجيا ، يشارك المصنع عادة كطرف ثالث ، ولا يتلقى المشتري طوبولوجيا مناسبة ، وتستخدم تقنيات التشويش المشابهة للتعتيم على أي كود آخر لحماية كود فيريلوج.أدوات
ما هي أدوات تحليل رقاقة موجودة؟ المستوى الأول هو القليل من الحمض الذي يفتح أولاً علبة الدائرة الدقيقة ، ثم يزيل الطبقات الواحدة تلو الأخرى ، والمجهر الضوئي العادي مع الكاميرا. إنه غير مكلف ، ومن السهل التعامل معهم ، ومن أجل تحليل الدوائر البسيطة المصممة باستخدام أحدث التقنيات ، فهذا يكفي.
بالنسبة للمخططات الأكبر ، هناك أنظمة CAD خاصة تسمح بطريقة أو بأخرى بأتمتة استعادة البيانات من الهيكل - لتزويد المهندس العكسي بواجهة أكثر ملاءمة للعمل من مجرد رسم الخطوط في محرر رسومي. يتم تبسيط الأتمتة أيضًا من خلال حقيقة أن جميع الدوائر الرقمية الحديثة مبنية من المكتبات ، وبعد عناصر المكتبة الهندسية العكسية لتجميع الدائرة هي مسألة وقت (أو قوة المعالجة المتاحة).
المستوى التالي ، الذي يتعذر على الهواة الوصول إليه ، ولكنه موجود في المختبرات المتخصصة هو مجهر مسح إلكتروني (SEM). ويستخدم شعاع الإلكترون المركزة بدلاً من شعاع الضوء. يمكن أن تصل دقة SEM إلى 1 نانومتر وحتى أقل قليلاً ، وهو ما يكفي لتحليل أي دوائر متكاملة حديثة.
FIB هو نظير لـ SEM ، يستخدم فقط حزمة من الأيونات الأثقل بدلاً من حزمة الإلكترون. في الواقع ، FIB هو التركيز Ion Beam. الفرق الرئيسي بين FIB و SEM هو أنه لا يمكنك فقط بمساعدتها تحليل الدائرة الدقيقة ، بل يمكنك أيضًا تعديلها ، على سبيل المثال ، إجراء تخفيضات (من أجل رؤية المقطع العرضي للدائرة الصغيرة أو إزالة قطعة) أو مواد الرش (من أجل إنشاء اتصال هناك حيث لا). يتم استخدام FIBs على نطاق واسع من قبل المطورين والشركات المصنعة للدارات الصغيرة للعمل مع عينات الاختبار ، لأنه يستغرق الكثير من الوقت لتصحيح الخطأ باستخدامه ، لكنه لا يزال أسرع بكثير وأرخص من إعادة تشغيل مجموعة تجريبية. بالنسبة للمهندس العكسي ، تعد هذه أيضًا طريقة فريدة للوصول إلى تلك الأجزاء من الكريستال التي ، وفقًا لقصد المطور ، يجب ألا تكون متوفرة. وعند تصميم شريحة محمية من القرصنة ، يجب وضع ذلك في الاعتبار أيضًا.
الشكل 4 الشكل 4. المقطع العرضي للدائرة الصغيرة المصنوعة باستخدام FIB. المصدر - SERESSA-2015 (بعناية ، الكثير من حركة المرور في قوات الدفاع الشعبي من الرابط).
الشكل 5. مصنوعة من تعديل FIB للرقاقة ، وتغيير العديد من الاتصالات.أداة أخرى لا غنى عنها للمهندس العكسي هي مجموعة من الليزر. يمكن للمراوح استخدام أشعة الليزر القوية التي يمكنهم من خلالها فتح الدوائر الدقيقة في العلب البلاستيكية والوصول إلى البلورة. بالنسبة لأشعة الليزر الاحترافية ، وفقًا لطول الموجة ، قد تكون بعض أجزاء تصميم الدائرة الصغيرة شفافة وبعضها الآخر غير شفاف. يتيح لك هذا استخدام الليزر ، على سبيل المثال ، لفتح التخميل والعزل بدقة ، بحيث يمكنك في وقت لاحق الانضمام بسهولة إلى الخط المعدني دون المخاطرة بتقصيره مع جيرانه. سوف تسمح لك المعلمات الأخرى بقطع المعدن أو حرق الترانزستورات الفردية. والثالث هو حث التيار في الترانزستورات عن طريق تبديل خلايا ذاكرة التخزين المؤقت أو نوع من الخطوط المنطقية. يستخدم الخيار الأخير عالمياً كمحاكاة غير مكلفة لآثار الجسيمات المشحونة الثقيلة ، ولكن من حيث المبدأ ، يمكن أن تكون الأعطال في الدائرة الدقيقة العاملة مفيدة أيضًا في التضحية بالمعلومات الواردة فيه. على سبيل المثال ، قد يكون من المثير للاهتمام إعادة كتابة بعض العلامات في ملف السجل أو تصحيح عملية مولد الأرقام العشوائية قليلاً.
الشكل 6. الشكل الليزر لدراسة تأثير فشل واحد على الدوائر الصغيرة. المصدر - سيريسا 2015.
الشكل 7. مثال على حساسية جزء من الدائرة الدقيقة لخطأ واحد والفشل الناتج عن استخدام بطاقة الليزر. المصدر - سيريسا 2015.في مختبرات الهندسة العكسية المتقدمة ، يمكنك العثور على العديد من الأدوات الأخرى المثيرة للاهتمام ؛ على سبيل المثال ، يمكن رصد إشارة رقمية تصل إلى عدة عشرات من ميغاهيرتز في الوقت الحقيقي عن طريق وضع قطعة صغيرة من الليثيوم نيوبات على الخط المقابل وإلقاء الضوء عليها مرة أخرى باستخدام الليزر.
الحالة 1: مصنع غير موثوق بها
ماذا يمكن أن يكون السبب لعدم الوثوق بالمصنع حيث تصنع بلوراتك؟ في عالم مثالي ، بالطبع ، لن تشارك في مصنع لا تثق به ، ولكن في بعض الأحيان تجبرك الاعتبارات التجارية على المجازفة. يمكن تقليله بطريقتين رئيسيتين:
- ما يسمى تلفيق الانقسام أو ، بطريقة بسيطة ، والإنتاج في اثنين من المصانع. لكن ليس بالتوازي (كما يحدث عادة لتقليل مخاطر النقص في حالة حدوث حالات تأخير غير متوقعة في الإنتاج) ، ولكن جزءًا من العمليات في مصنع وجزء في مصنع آخر. هذا غير مريح إلى حد ما لجميع المشاركين في العملية (وبالتأكيد لن يوافق كل مصنع على ذلك) ، لكن هذا سيجبر المصنع غير الموثوق على عكس بقية تصميم الرقاقة على الأقل وجعل الأقنعة المفقودة من تلقاء نفسه. (والتي ، من الناحية المثالية ، ينبغي أن تجعل اللعبة لا تستحق كل هذا العناء). العيب الرئيسي لهذا النهج هو أن الطبقات العليا من الشريحة هي المعدن ، والتي الهندسة العكسية بسيطة للغاية. ومع ذلك ، يمكن أن يكون تصنيع الانقسام فعالًا فعليًا مع بعض الدراية التكنولوجية في المعادن ، والتي لا يمكن لمصنع غير موثوق به إنتاجها. على سبيل المثال ، إذا كان المصنع الثاني الذي تختاره قادرًا على صنع ذاكرة غير متطايرة (MRAM أو memristors أو شيء من هذا القبيل) في طبقة المعدنة العليا ، والتي بدونها يفقد التصميم بأكمله معناه.
- إذا لم يكن لديك أي خبرة تقنية ، فالطريقة البسيطة والموثوقة هي جعل الرقاقة بلا معنى دون مزيد من البرمجة. يمكن إنشاء الكتل القابلة للبرمجة بشكل مستقل باستخدام ذاكرة التكوين ، أو في شكل كتلة تستند إلى FPGA مضمن (توجد مثل هذه IPs في السوق). تتيح لك ذاكرة التهيئة كوسيلة للحماية أن تتأكد من أن المصنع لا يمكنه فقط إنتاج الرقاقة الخاصة بك وتجاوزها. ولكن يمكنك قراءة ذاكرة التكوين ، أليس كذلك؟ نعم ، لكن وجود ذاكرة التهيئة يفرض على مصنع غير موثوق ، بدلاً من طريقة بسيطة لزيادة أحجام الإنتاج ، القيام بنفس الهندسة العكسية مثل جميع المهاجمين الآخرين.
بشكل منفصل ، لاحظت أن كلتا الطريقتين الموضحتين للحماية من مصنع غير موثوق به تساعد على النسخ غير المصرح به ، لكنها لا توفر من "الإشارات المرجعية" الشائعة في الدوائر الضيقة. علاوة على ذلك ، سوف أتحدث قليلاً عن كيفية وضع إشارة مرجعية للطبولوجيا.
الحالة 2: حماية الذاكرة
يعد وجود الكتل القابلة للبرمجة وذاكرة التكوين في الشريحة سمة لا غنى عنها تقريبًا لأي تصميم حديث ، رقمي وتناظري. مع انخفاض معايير التصميم ، يزداد انتشار المعلمات من الشريحة إلى الشريحة ، والموالفة الرقمية هي الطريقة الأسهل والأكثر موثوقية للتغلب عليها. عادة ما تخزن الدوائر الرقمية (على سبيل المثال ميكروكنترولر) البيانات مباشرة على الشريحة ويمكن أن يكون لها هيكل ذاكرة متعدد المستويات ، تحتوي أجزاء مختلفة منها على مستويات مختلفة من الوصول والحماية. لذلك ، يبدو من المنطقي أولاً استخدام الأداة التي لدينا بالفعل لزيادة الأمان ومقاومة التشقق ، وثانياً ، فكرة التفكير بعناية في نوع الذاكرة التي يجب استخدامها.
البرامج الثابتة مع وصلات معدنية (قناع ROM). عادة ما يشبه وجود أو عدم وجود اتصال بين اثنين من خطوط معدنية ، في كثير من الأحيان أقل قليلا - مثل وجود أو عدم وجود الترانزستور بينهما. يتم استخدام معظم البلوط في بلورات المصفوفة الأساسية (BMC) - ليس فقط في صناعة الدفاع القديمة ، كما قد تعتقد ، ولكن أيضًا في الحلول الحديثة تمامًا ، على سبيل المثال ، في الرقائق المساعدة داخل معالجات Xeon. بالإضافة إلى ذلك ، باستخدام مثل هذه الذاكرة ، يتم تصنيع مجموعات من الدوائر الدقيقة (أساسًا ميكروكنترولر) ، لأن وميض الذاكرة في المصنع عن طريق تغيير قناع واحد أرخص من البرامج الثابتة العالمية لكل بلورة يتم إنتاجها على لوحة أو في علبة. قناع ROM يقرأ بسهولة جدا مع المجهر والحفر دقيقة. في المنزل ، يمكنك التعامل معها.
الشكل 8. البرامج الثابتة ROM مع التوصيلات المعدنية على رقاقة FTDI FT232RL وهمية. المصدر - zeptobars.com
تجدر الإشارة هنا أيضًا إلى أنه من الممكن وميض الذاكرة ليس فقط بطبقة من الاتصالات بين المعادن ، ولكن أيضًا مع وجود وغياب المعدن (سهل القراءة بصريًا) ، أو وجود أو عدم وجود المنشطات (من السهل قراءتها بصريًا) ، أو ، على سبيل المثال ، الجهد الكهربي لترانزستور يتحكم فيه مستوى المنشطات (ضعيف) قراءة بصريا). لذلك ، من حيث المبدأ ، قناع ROM لا يضيع كل شيء إذا كنت تريد حقًا إخفاء محتوياته.
الذاكرة على لاعبا المحترقة (فيوز مدمج). يسمح بتسجيل واحد (بما في ذلك التسجيل من قبل المستخدم على الجهاز النهائي) وعدد غير محدود من القراءات ، وهو بسيط للغاية للتصنيع والبرامج ، وبالتالي فهو شائع لجميع أنواع ذاكرة التكوين والبرامج الثابتة.
الشكل 9. دولتين من الصمامات ROM. المصدر - semiengineering.comكما ترون ، من السهل جدًا رؤية حالة الطائر العادي القابل للانصهار (Fuse) من خلال المجهر ، أي أنه من المستحيل ببساطة حماية نفسك من فتح بلورة بها. حسنًا ، وإلى جانب أي شيء آخر ، فإن العبور الكلاسيكي المحترق كبير جدًا (عدة ميكرونات مربعة) ، وبالتالي فهو غير مناسب لكميات كبيرة من الذاكرة.
ذاكرة فلاش وخيارات EPROM و EEPROM الأخرى بناءً على ترانزستورات البوابة العائمة.
الرقم 10. مخطط تسجيل فلاش. المصدر - techreport.comمبدأ تشغيل هذا النوع من الذاكرة بسيط للغاية: توجد بوابة "عائمة" في طبقة سميكة من عازل. يمكن وضع شحنة كهربائية في هذا المصراع عن طريق الأنفاق ، وذلك باستخدام جهد عالي عليه. وبعد ذلك ، إذا لم تقم بتطبيق الجهد العالي ، يمكن تخزين الشحنة في المصراع "العائم" لفترة طويلة جدًا.
ماذا عن الأمن؟
والخبر السار هو أنه لا يمكن رؤية حالة EEPROM باستخدام المجهر. سيء؟ هناك العديد منهم في وقت واحد., EEPROM , ( ). , , , , , . : EEPROM, . , - , . , ( ), . , , , , . , , , , , , .
/ , , .
— , . , , , , , .
MRAM , , , . , , . MRAM, , , , , . ? . , MRAM — , - fabless- .
-
antifuse ROM . , , . ? . , , FIB, , . , , , . , — .
11. antifuse . . ., , . — FIB , , , . , , . ? , , . , Cypress:
It is possible to configure the nvSRAM to provide password protected access. In this configuration, instead of performing the normal power up recall sequence on power up, the part waits for the user to enter a 5-byte password followed by an End Password Entry soft sequence. The End Password Entry soft sequence is a specific seven-address read sequence. If you enter the correct password, the part completes the boot up sequence and is ready for the normal nvSRAM operations. If you enter the incorrect password three times or you do not enter the right password within a specified period of time, the part locks up or fills the SRAM memory with random data, as the application requirement may be. The part can be configured to additionally destroy the functionality and cause physical damage to the chip.: , . , , , ( ), , , , ( ). , , .
, , ( ) (, , ). , , , FIB . , , , , .
, . , X, 100*X, :
0 — 800*X
1,2,4, …, 64, 128 — 701*X
3, 6, 7, …, 160, 192 — 602*X
….
255 — 8*X
إجمالاً ، إذا لم نلمس الذاكرة ، فسنحتاج إلى 256 محاولة لتحديد كلمة المرور الموجودة فيها. وإذا علمنا أن الاستهلاك في وضع القراءة هو 701 * X ، فهناك ثمانية فقط. مريحة ، أليس كذلك؟ أسهل طريقة لفعل شيء مع هذه المشكلة هي تخزين البيانات في شكل قيمة وانعكاسها في خلية مجاورة ؛ ثم استهلاك أي مقدار من الذاكرة في وضع القراءة لن يعتمد على المعلومات المخزنة. صحيح ، إنها تتطلب ضعف الذاكرة ، لكن الأمن مهم بالنسبة لنا ، أليس كذلك؟الحالة 3: بدون ذاكرة
ولكن ماذا لو لم تحتوي الرقاقة على ذاكرة تهيئة أو تحتوي فقط على عدد قليل من وحدات البت ، والتي لا يمكن إخفاءها. لماذا؟ لذا ، فهي أرخص بكثير (ليس عن طريق تقليل تكلفة الأقنعة للطباعة الحجرية ، ولكن من خلال عملية أبسط للتعبئة والاختبار) ، وبالنسبة لمعظم الرقائق البسيطة ، يعتبر السعر ميزة تنافسية خطيرة.
الحديث عن الاختبار. غالبًا ما يتم الاستعانة بمصادر خارجية في عملية رفض البلورات على الرقاقات وذاكرة التهيئة الوامضة ، خاصة من قبل الشركات الصغيرة ، لأن المعدات المناسبة عادةً لا تكون في متناول الشركات الناشئة ، ويجب ضمان الجودة. لذلك ، إذا كان إنتاج الجهات الخارجية محدّثًا بطرق الاختبار الخاصة بك وكان يحتوي على برامج ذاكرة ذاكرة ثابتة ، فمن الأفضل لك أن تثق بهؤلاء الأشخاص تمامًا. أو لديك طرق حماية إضافية ضد الهندسة العكسية غير المرتبطة بذاكرة التهيئة.
فما العمل إذا كانت ذاكرة التهيئة ليست خيارًا للحماية ، أو إذا لم تكن كافية؟
العيب الرئيسي لكل من المجهر الضوئي و SEM هو أنه من الصعب للغاية التمييز بين أنواع المنشطات من السيليكون. وهذا هو ، وجود صناعة السبائك مرئية ، ولكن النوع ليس كذلك. لذلك ، عند تحليل طوبولوجيا واستخراج الدائرة ، تتم استعادة نوع المنشطات من السياق والمنطق الضمني للدائرة (يتم توصيل الترانزستورات n- قناة إلى الأرض ، وترتبط الترانزستورات p- قناة إلى السلطة ، وما إلى ذلك). بعد رسم طوبولوجيا الدائرة المصغرة الخاصة بك بحيث لا يتزامن مع الخيار الأكثر احتمالا على الأرجح ، يمكنك أن تفسد دم المهندس العكسي. خاصة إذا كنت تستخدم عدة مخططات مختلفة متنكرا في زي نفسه. مع بعض البراعة ، لا يمكنك فقط تعقيد تحليل دائرتك ، ولكن أيضًا تجعل الجهاز (أو على الأقل مصممًا ، ولكن أكثر متعة إذا تم إنتاجه) باستخدام الطوبولوجيا المستعادة يقوم بشيء محدد ، من قصر الأرض إلى القدرة على إصدار كلمات فاحشة لجميع المخرجات. بالمناسبة ، قد يكون السلوك الحاسم للتصميم المسروق بشكل غير صحيح مفيدًا ليس فقط لحرق الذبذبات على القراصنة ، ولكن أيضًا لضمان أنه عندما تستقبل لاحقًا مستخدمين بخيبة أمل من رقائقك ، يمكنك أن تثبت لهم بوضوح أنهم اشتروا وهمية.
الرقم 12. قسم من ثلاثة هياكل لا يمكن تمييزه بواسطة المجهر. واحد اليسار هو pMOSFET ، واحد الأوسط هو ماس كهربائى ، واحد الأيمن هو الصمام الثنائي المنحاز عكسي (الفجوة).
الشكل 13. طوبولوجيا ثلاث خلايا مكتبة رقمية لا يمكن تمييزه بواسطة المجهر. واحد اليسار هو العاكس ، الأوسط هو اتصال مباشر من المدخلات والمخرجات ، واحد الأيمن هو وحدة منطقية الإخراج.تشبه كل خلية من الخلايا الموجودة في الشكل أعلاه العاكس الأكثر شيوعًا تقريبًا ، ولكن يمكن أن يكون بالفعل عاكسًا أو مكررًا أو مولدًا لوحدة منطقية صفرية أو منطقية. جهات الاتصال الخاصة بنا لنشرها من المدخلات والمخرجات فقط هي التي تقدم لنا "العاكس". ومع ذلك ، عند التخلي عنهم ، سنحصل على تمييز لا يمكن تمييزه تمامًا عن الدائرة القياسية في مقابل عدم القدرة على تنفيذ اتصال المدخلات والمخرجات (ولكن يمكننا استخدام محوّلين لهذا الغرض). ومع ذلك ، مع القدرة على قلب أو عدم قلب إشارة باستخدام نفس الخلية ، فإن القتال ضد المهاجم أكثر إثارة للاهتمام ، لأنه لا يوجد شيء يعقد محاولات للتعامل مع مشاكل التصميم غير المألوف مثل العاكس الإضافي في مكان ما على مدار الساعة أو داخل / خارج الدائرة.
على الرغم من لا ، هذا يحدث. طوبولوجيا اليد جيدة البناء عادة ما تكون قراءة جيدة.
مثال رائع في مدونة كين شيريف التي سبق ذكرها.
الشكل 14. وحدة المنطق الحسابي (ALU) لرقاقة Intel 8008. يتم عرض أرقام منفصلة.في طوبولوجيا ALU Intel 8008 ، هناك ثماني دوائر متطابقة مرئية تمامًا - بعدد البتات. مع العلم أن هذا هو ALU ، يمكنك بسهولة استعادة مخطط الهيكل. إذا كانت بعض العناصر الموجودة فيه خاطئة ، فسيؤدي ذلك إلى تعقيد عملك إلى حد ما ، لكن ليس أكثر. وكل ذلك لأن الطوبولوجيا مناسبة تمامًا للفكرة الأساسية للواجهات بين الأجزاء المكونة. من أجل الخلط بين المهاجم لدرجة أنه يتخلى عن محاولات الهندسة العكسية ، من الضروري جعل الهيكل غير قابل للتنبؤ وعدم التكرار. أسهل طريقة هي عدم إنشاء أي كتل يدويًا ، ولكن لإنشاء قائمة net كاملة للرقاقة باستخدام CAD. تتبع السيارات ، على الرغم من التوفير الهائل من الوقت لإنشاء طوبولوجيا (مقارنة مع العمل اليدوي) ، تقوم بعمل ممتاز لإنشاء ترتيب غير بديهي للعناصر وفي بعض الأحيان اتصالات مجنونة تماما. وكلما كبر التصميم ، الذي تم تصنيعه في طوبولوجيا ككل ، كان من الصعب عكس الهندسة.
ولكن هذه هي أسهل طريقة. هناك خيارات أكثر إثارة للاهتمام. على سبيل المثال ، استخدم مجموعة من خلايا الحرباء كمجموعة من مولدات الأصفار المنطقية والخلايا لمدخلات المضاعف ، مع تحقيق وظيفة منطقية تعسفية. في الواقع ، هذه هي الطريقة التي يتم بها ترتيب عناصر FPGA ، LUT (جدول البحث).
الشكل 15. تنفيذ طرفية ثلاثة مدخلات. المصدرمن خلال وضع العديد من هذه LUTs في أماكن مختلفة من الدائرة وجلب بعض الإشارات إلى مدخلات "خلايا الذاكرة" ، فإننا سوف نحل العديد من المشاكل في وقت واحد:
- إذا بقيت مناورةنا دون حل ، فسنكون قادرين على تحديد كيفية سلوك الدوائر العكسية بالضبط. خيارات - أي ، محدودة فقط من خيالك.
- إن استخدام إشارات تعسفية من كتل أخرى "كمدخلات" للخلايا التي تولِّد الصفر المنطقي ، وستعقِّد إحداها عملية الفصل البصري للتصميم إلى كتل.
- حتى إذا أدرك المهندس العكسي أننا نستخدم طرفية LUTs المحمية ، فسيتعين عليه الفرز من خلال العديد من الخيارات لاستعادة وظائف الدائرة وفقًا لطوبولوجيا ، حتى أن عددًا صغيرًا نسبيًا من الخلايا المحمية يمكن أن يجعل الهندسة العكسية تستغرق وقتًا غير ضروري. المفضل لدي هو تجميع جهاز دولة على هذه LUTs التي تتحكم في انتقالات الدائرة الصغيرة من وضع التشغيل إلى آخر.
DIAGRAMS اختبار
المهندسون الجيدون مغرمون جداً باختبار رقائقهم بشكل شامل. وبعبارة "شاملة" أعني - بنفس الطريقة تقريبًا كما في محول TI DC / DC في الشكل أدناه. عشرات من منصات الاتصال الصغيرة ، والتي يمكنك الاتصال بها قبل تقطيع اللوحة إلى بلورات منفصلة ، للتحقق من جميع المعلمات اللازمة ، وحالة الخطوط الداخلية الهامة ، حدد ما إذا كانت الشريحة مناسبة أم لا ، وإذا لزم الأمر ، اكتشف سبب المشكلة.
الشكل 16. طوبولوجيا تكساس إنسترومنتس 62321. المصدر - zeptobars.comتكتسي التغطية الجيدة بألواح الاختبار لإطلاقات الاختبار والنماذج الأولية أهمية خاصة ، ولكن بالنسبة للإنتاج التسلسلي ، يتم غلقها في الغالب (بتصحيح واحد أو اثنين من الأقنعة أو الوثب القابل للنسخ) لتقليل التأثير على سلوك المنتج. لذا ، ما الذي أتحدث عنه؟ تُعد وسادات الاتصال التي تم اختبارها بمثابة مساعدة كبيرة للمهاجمين ، لأنك لا تشير فقط إلى النقاط المهمة في التصميم بنفسك ، ولكن أيضًا تتيح الوصول إليها بسهولة. يتم استعادة الطائر المحروق بسهولة على FIB ، وفويلا! من الناحية المثالية ، يتطلب الأمن الإزالة الكاملة لمنصات الاختبار من الشريحة التسلسلية. إذا كان هذا الخيار غير عقلاني (على سبيل المثال ، تحتاج أيضًا إلى اختبار على اللوحة في الإنتاج التسلسلي) ، فتأكد على الأقل من أن آلية فصل مواقع الاختبار غير قابلة للاسترداد ، على سبيل المثال ، تقع مباشرة أسفل النظام الأساسي وتم رسمها بحيث تسد الفجوة لا يمكن أن تكون مرتبطة بشكل مريح.
لا أريد حتى البدء في حقيقة أن جميع التصميمات الرقمية الحديثة تحتوي على JTAG مضمن للاختبار ، مما يتيح لك رؤية حالة أي مشغل على شريحة مباشرة. تعد ملاءمة الاختبار إحدى الخصائص الرئيسية لأي تصميم ، وهذه هي الحقيقة التي تجعل من المهم للغاية تعطيل جميع واجهات الاختبار بأمان وبشكل دائم قبل أن تترك الرقاقة جدران الشركة المصنعة.
لا يزال المهندسون الجيدين يرغبون في وضع دوائر اختبار على هامش الشريحة للمراجعات التالية. عادة ما تكون هذه مخططات مهمة جدًا ، وإلا فلماذا نضيع الوقت والجهد في تنظيم اختباراتهما؟ "هل الدوائر المهمة التي تشكل ملكيتك الفكرية وهي حاسمة في أداء الرقاقة؟" وضعت بعناية بصرف النظر عن التصميم كله؟ شكرا جزيلا لك! - سوف يخبرك المهندس العكسي بمثل هذه الهدية الملكية. إذا كنت لا تريد أن تساعد تلك الاختبارات أحد المهاجمين في دراسة التصميم الخاص بك ونسخه ، فتأكد من عدم دخولهم إلى بلورات للإنتاج بالجملة أو إتلافهم بعد الاختبار على ألواح أثناء عملية قطع اللوحة إلى بلورات.
ممارسة صغيرة
من أجل إظهار كيف يعمل هذا مرة أخرى ، تم وصف
مثال فتح متحكم PIC12C508A في أطروحة سيرجي Skorobogatov ، التي دافع عنها في عام 2004 في كامبريدج. الترجمة قصيرة ومجانية إلى حد ما:
من الضروري أن تفتح العلبة وتجد على الرقاقة ذاكرة واقية تمحى بواسطة الأشعة فوق البنفسجية. يتم ذلك بسهولة تامة عن طريق عرض الخطوط التي تذهب إلى دبوس برمجة الشريحة. ثم تقوم بتغطية الذاكرة الرئيسية بمادة غير شفافة للأشعة فوق البنفسجية ، وبعد خمسة إلى عشر دقائق من التعرض ، يمكنك اعتبار الذاكرة مبرمجًا منتظمًا. هناك خيار آخر - بعد العثور على ذاكرة حماية النسخ ، ما عليك سوى قطع المسار المعدني المؤدي إليها ، والذي يوجد على هذه الشريحة لسبب ما بعيد عن الخطوط الأخرى - حتى الآن يمكنك قصه ليس فقط باستخدام FIB ، ولكن فقط باستخدام إبرة.
الشكل 17. وهنا هو الخط المؤسف للغاية. في الواقع ، إنه يقع في وسط مساحة فارغة ، غير محمي بأي شكل من الأشكال ، ويمكن قطعه.خاتمة
بطبيعة الحال ، من المستحيل فهم الضخامة ، لأن التكنولوجيا والهندسة العكسية للدوائر الصغرية ، والحماية ضدها ، لا تزال صامدة ويتم تحسينها باستمرار. يعد موضوع أمان المعلومات أحد العناصر الرئيسية في تصميم إنترنت الأشياء ، لذلك يهتم المطورون به كثيرًا ، ولا يمكن للمهندسين العكسيين أن يتوقعوا عملية استخراج سهلة مثل خمسة عشر أو عشرين عامًا. ومع ذلك ، يجب على المرء أن يتذكر دائمًا أن نظامًا سيئًا محميًا يعني خسائر محتملة أو خسائر فادحة أو حتى أرواح الناس ، ويجب أن تكون الحماية من الوصول غير المصرح به والهندسة العكسية جزءًا من النظام على جميع مستويات التشغيل ، دون استثناء "الحديد" .