Virus is Coming – רעידת אדמה טכנולוגית שעשויה להשפיע על חיינו

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

| רן בר-זיק |

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

תוכנת גידרה – צילום מסך מהאתר הרשמי של התוכנה  [רן בר-זיק]

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

מהי "הנדסה הפוכה"?

הנדסה הפוכה היא שם כללי לטכניקה באמצעותה מהנדסים מצליחים לבנות מערכת בהתבסס על מערכת אחרת.

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

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

גם בעולם התוכנה יש לנו הנדסה הפוכה: אם נפתח את קבצי ההתקנה של תוכנה שכולנו מכירים, נניח "חלונות" (Windows), אז הרי שנראה מידע בינארי, קובץ מלא ב-0 ו-1 שרק המעבד של המחשב יכול להבין. עין אנושית לא תצליח לפענח מיליוני שורות כאלו.

כך נראית מערכת גידרה. מומחיות טכנית גבוהה נדרשת

ולכן, היעד הראשוני של הליך הנדסה הפוכה בתוכנה תהיה להמיר את אותו קובץ בינארי לקבצים בשפת התוכנה המקורית שבה התוכנה נכתבה – שפה שמהנדס אנושי יכול בקלות לקרוא (כמו ++Java, Python, C וכו'). כלומר, ברגע שאנו מבצעים הנדסה הפוכה מוצלחת לתוכנה מסוימת, נוכל לבחון היטב את דרך הפעולה שלה מבפנים ולגלות בדיוק מה היא עושה ואיך.

הרחבה: מדוע בכלל עושים הנדסה הפוכה?

מה תהיה סיבה לביצוע תהליך של הנדסה הפוכה בתוכנה? יכולות להיות כמה כאלה. הסיבה היותר פשוטה היא צורך לבצע תיקונים בתוכנה שקבצי המקור שלה אבדו. למשל בארגון שמשתמש בתוכנה שהוא עצמו פיתח אך הקבצים של המתכנת שכתב את הקוד אינם בנמצא.

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

כור גרעיני. יעד אפשרי לתקיפה באמצעות הנדסה הפוכה

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

איך זה ישפיע על החיים של כולנו?

ההשלכות של שחרור "גידרה" על חיינו גדולות – הן מהצד של האיומים והן מצד ההגנות:

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

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

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

הרחבה: רעידת אדמה בחסות ה-NSA

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

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

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

NSA. ה-8200 האמריקאית

רעידת האדמה המדוברת היא לא רק ביכולות של הכלי הספציפי (כפי שיוסבר פה בהמשך), אלא בעצם שחרור כלי של ה-NSA לקהילה. מה הסיבות של "8200-האמריקאית" לנקוט בצעד כזה?

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

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

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

קוד פתוח בממשלה הישראלית? גורנישט מיט גורנישט

בעוד שבעולם לא מעט ממשלות וארגונים משחררים תוכנות פנימיות אל הקוד הפתוח ועושות שימוש בעצמן בתוכנות קוד פתוח – בישראל הממשלה (שלא לדבר על הצבא) אינה עושה זאת.

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

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

יש ניצנים של שינוי כמובן, אבל יש לנו עוד דרך ארוכה.

***

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

שתפו את הכתבה
7 תגובות
  1. עודד
    עודד says:

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

    הגב
  2. אחד
    אחד says:

    עד רגע זה NSA לא שחררו את הקוד של התוכנה הזאת.. מה שכן שוחרר זה קוד מקומפל של התוכנה שיתכן שיש בו דלת אחורית לפעילות של ה NSA
    לא כל הזהב נוצץ

    הגב
  3. חגית
    חגית says:

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

    הגב
  4. בימין ארנון
    בימין ארנון says:

    האתר שלהם. כעט ב 403 לא ממהרים לשחרר. נראה מאוד. מפתה ומעניין. כל הכבוד על. התחקיר. שנעשה כאן

    הגב

השאירו תגובה

Want to join the discussion?
Feel free to contribute!

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *