חומרה בטוחה – להקדים תרופה למכה

אחרי שנים שבהם עסקה בתורת הקודים עברה ד"ר אסנת קרן לתחום החומרה הבטוחה, והיא מובילה שתי קבוצות מחקר שמנסות לתת מענה, מזוויות שונות, לנושא של סייבר טרור

את דרכה בעולם החומרה הבטוחה התחילה ד"ר אסנת קרן בתחום הקודים. היא למדה הנדסת חשמל לתואר ראשון ושני בטכניון, המשיכה לדוקטורט בתחום של תורת הקודים באוניברסיטת תל אביב ועבדה בתעשייה כמפתחת ואשת אלגוריתמים. לפני כ-12 שנים שבה לאקדמיה, ועסקה בחקר שיטות ספקטרליות לתכן לוגי של מערכות. אחר כך עברה לתחום של חומרה בטוחה. "עברתי לתחום הזה בעקבות צורך עולה במתן פתרון לבעיות שבהן תקלות במערכות ושגיאות במידע קורות במזיד, ולא בצורה טבעית," היא מספרת. "מסתבר שכל האמצעים שבהן נקטו עד היום כדי להגן על מערכות סיפקו להן אמינות אבל לא נתנו להן בטיחות. התחלתי לחפש קודים שיגלו שהמערכת נתונה להתקפה שמשנה את התנהגותה או מנסה לדלות ממנה מידע – כלומר קודים שיזהו שהיא מותקפת ע"י אויב חזק, אפילו כזה שתכנן את המערכת מלכתחילה, ועכשיו החליף צד ויוצא נגדה."

לפני מספר שנים חברה לפרופ' אלכס פיש מהמסלול לננו אלקטרוניקה בפקולטה להנדסה, והשניים החלו לעבוד ביחד על פיתוח שיטות הגנה למערכות חומרה מפני התקפות צד פסיביות, דוגמת התקפה שדולה אינפורמציה מההספק שצורך המעגל בזמן שהוא מבצע חישובים. "התקפה כזו מאפשרת למצוא את המפתח הסודי באלגוריתם ההצפנה תוך מספר קטן של ניסיונות," מסבירה קרן. עבודתם המשותפת הניבה גישה ייחודית למניעת זליגת אינפורמציה דרך פרופיל הזרם של מערכת. "הייחוד בשיטה הזו הוא שהיא נעשית ברמת המעגל עצמו, ולא ברמות אבסטרקציה גבוהות יותר כגון רמת הארכיטקטורה, רמת האלגוריתם וכו'. מפה נובע היתרון של השיטה: אם מישהו ינסה לנטרל את מנגנוני ההגנה הרכיב – הצ'יפ - יפסיק לתפקד, וזה יעקר את ההתקפה." קבוצת המחקר שלהם, הכוללת מהנדס מעבדה ומספר דוקטורנטים ומאסטרנטים, נעשית במסגרת מרכז אימפקט (בהקמה) - "מעבדות אניקס". המרכז, אשר מאגד מספר חברי סגל מהפקולטה להנדסה, עוסק במחקרים בתחום שבבים ננומטריים ומוביל עשרות פרוייקטים בשיתוף פעולה עם התעשייה וקבוצות מחקר מכל העולם.

קבוצת מחקר אחרת שבראשה היא עומדת, הכוללת שתי מאסטרנטיות ודוקטורנטית אחת, השיגה לאחרונה הישג משמעותי, בכל הנוגע לגילוי תוקף חיצוני בעזרת קודים. "קודים לינאריים נמצאים בשימוש נרחב ביותר בתעשייה בזכות המבנה ופשטות המימוש שלהם, אולם מבחינת התוקף הם קודים אידיאליים לתקיפה, כי זה אומר שהוא יכול להזריק שגיאה לתוך המערכת, למשל על ידי שימוש בלייזר, שינוי של המתח או קצב השעון מבלי להתגלות מפני שהמערכת תעבור ממצב חוקי אחד למשנהו," היא מסבירה. "דרך אחת להתמודד עם זה היא באמצעות קודים לא לינאריים - אבל גם בהם אפשר למצוא איזה וקטור, לפעמים אפילו מספר וקטורי שגיאה, שאם הם יוזרקו התוקף עדיין לא יתגלה. לכן, המטרה שלנו הייתה למצוא דרך לבנות קוד לא לינארי שהוא רובסטי, כזה שיגלה כל התקפה בהסתברות גדולה מאפס. במסגרת המחקר שלנו מצאנו משפחה של קודים שהם אופטימליים, או קרובים לאופטימליים. זה אומר, שבהינתן אילוץ על מספר מילות הקוד ואורכן - הקוד שבנינו הוא בעל הביצועים הטובים ביותר האפשריים, הוא מפספס שגיאה בהסתברות קרובה לנמוכה ביותר האפשרית."

"יתרה מזאת: עד היום לא היו קודים רובסטיים שידעו גם לתקן שגיאות. הם ידעו לזהות התקפה, אבל לא ידעו להתמודד עם מצב שבו השגיאות טבעיות ולתקן שיבושים שלא הוכנסו במזיד: ברגע שהם היו מזהים שגיאה הם היו משביתים את המערכת. פריצת הדרך שלנו היא שמצאנו סכימת קידוד המאפשרת לזהות שגיאות זדוניות ובמקביל לתקן שגיאות טבעיות (שגיאות בריבוי נמוך - שפוגעות במספר קטן של סימבולים במילה). באמצעותה אנו יכולים לאפשר לרכיב לעבוד נכון כאשר הוא לא תחת מתקפה, ואם הוא מגיע לידיים לא טובות ומישהו מנסה לטפל בו, אנחנו מזהים את זה בהסתברות גבוהה  ומאפשרים לשכבה מעל להחליט האם לשרוף את הרכיב – או לעשות מניפולציה על מי שמנסה להתקיפו. אבל זה כבר נושא מתחום אחר."