הפודקאסט עושים היסטוריה

[עושים היסטוריה] 178/177/176: Stuxnet, וירוס המחשב שהיכה בגרעין האיראני

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


הרשמה לפודקאסט: רשימת תפוצה במיילiTunes | אפליקציית 'עושים היסטוריה' לאנדרואיד | RSS Link | פייסבוק | טוויטר


(Note: This episode is also available in English. See: Stuxnet, the malware that struck Iran's nuclear program in the podcast 'Malicious Life')

– תודה לאנדרו גינטר (Andrew Ginter), סמנכ"ל Waterfall Solutions, שהתארח בתכנית.

בפרק סיפרתי על האפליקציות החינוכיות של נטליה סגל. אתם מוזמנים לבקר באתרה ולגלות אפליקציות נוספות: www.sphoonx.com.

האזנה נעימה,
רן.


Stuxnet, וירוס המחשב שהיכה בגרעין האיראני

כתב: רן לוי

 

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

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

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

“My name is Andrew Ginter, I’m Vice President of Industrial Security at Waterfall Security Solutions. I’ve got a long history of writing code, mostly for industrial control systems […] In a sense, I was part of the problem in the early days of connecting these system together. And then I got religion and now I’m trying to secure of these connections that we haphazardly connected together in the last 20 years.”

Advance Persistent Threat

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

“In about 06 or 07 the american dept. of Homeland Security started issuing warning, saying there’s a new class of attack out there, this ‘Advanced Persistent Threat’, where there are significant differences between that and threats people were used to.

שמו של האיום החדש היה, אם כן, Advanced Persistent Threat – או בקיצור APT. כדי להבין מהו APT ומה מיוחד בו, הבה נחזור צעד לאחור ונגדיר מהו וירוס, או 'תכנה זדונית'.

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

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

A lot of people followed this with some interest. Everybody likes to see things break, and here was a new way that people were describing how things can break. But nobody really believed they would really be the target of an Advanced Threat. All these Advanced Threat was happening on IT networks – business networks, you know: stealing credit cards, account information. There had not been a worm or a virus or anything before, specifically targeting control systems components in the wild. At least not that was reported, none that I was aware of. The kind of security incidents you saw before was stuff like insiders, using their own passwords to access systems and cause malfunctions. The classic one that everyone was talking about was Maroochy, in Australia.”

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

האירוע במרוצ'י

פלך מרוצ'י (Maroochy Shire) הוא אחד משכיות החמדה של אוסטרליה: אזור כפרי יפה ומוקד משיכה לתיירים חובבי-טבע. במרוצ'י קיימת מערכת ביוב מקומית, המטפלת בכשלושים וחמישה מיליון ליטרים של שפכים בכל יום בעזרת 142 משאבות ביוב הפזורות בכל רחבי הפלך.

מי שאחראי על תפעול רציף של מאות המשאבות הוא מחשב, כמובן – וליתר דיוק, מערכת מחשב מטיפוס המכונה 'SCADA', ראשי תיבות של -Supervisory Control and Data Acquisition – 'מערכת בקרה ואיסוף נתונים'. השם נשמע אולי מסובך, אבל העיקרון פשוט: המחשב אוסף נתונים מחיישנים שונים, למשל חיישנים המדווחים את גובה מי השפכים, ומפעיל או מכבה את משאבות הביוב בהתאם. אפשר לומר שהמזגן הביתי שלכם הוא מעין מערכת SCADA שכזו: חיישן זעיר בשלט מספר למחשב של המזגן מהי הטמפרטורה בתוך הבית, והמחשב מפעיל או מכבה את המדחס כדי לשמור על הטמפרטורה הרצויה.

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

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

ואז באחד הימים, מהנדס שעבד על מערכת הביוב בשעה 11 בלילה ושינה איזו קונפיגורציה במערכת הבקרה, הבחין שהשינוי אופס ובוטל כעבור חצי שעה. חשדו התעורר, והוא החליט לבדוק לעומק את תעבורת הנתונים בין המשאבות השונות. הוא הבחין שמשאבת ביוב מס' 14 היא זו ששלחה את הפקודות שביטלו את השינוי המקורי שלו. המהנדס נסע אל המשאבה, בדק אותה ואת המחשב שלה ומצא אותם תקינים לחלוטין. חשדו שיד אנושית נעלמה היא זו שזורעת כאוס במערכת הבקרה התעצם, והוא החליט לטמון מלכודת להאקר. הוא שינה את אות הזיהוי של המשאבה מ-14 ל-3: דהיינו, כל הפקודות הלגיטימות מהמחשב של תחנת שאיבה 14 יגיעו עכשיו תחת אות הזיהוי 3. הוא המתין לתקלה הבאה – ואז בדק את תעבורת הנתונים. כפי שחשד, הפקודות הזדוניות הגיעו עדיין תחת אות הזיהוי 14…במילים אחרות, מישהו פרץ לרשת התקשורת של המשאבות, התחזה למשאבה 14 וגרם לנזקים במערכת הבקרה. האסימון נפל, והחשד נפל על ויטק בודן. החוקרים העריכו שהוא חודר לרשת באמצעות הרשת האלחוטית, ומכאן שסביר להניח שבזמן הפריצה הוא יהיה חייב להיות בטווח של לכל היותר כמה עשרות קילומטרים מתחנות השאיבה.

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

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

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

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

And in 2010, when Stuxnet hit, it was in a sense the first very concrete example of an advanced attack, targeting industrial control systems. It was very big news.

גילויה של Stuxnet

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

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

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

“If I give you a new driver and say – ‘Here, install that on your machine’ and you try, the machine will say – ‘That’s funny. The driver is signed by this certificate that i’ve never seen before. The certificate claims to be from abc.com hardware manufacture. Do you trust this certificate?’ If you say Yes, there’s also a checkbox that says – in the future, don’t ask me this question. Just Go. If you click that, then the next time you see a piece of software signed by this vendor, you won’t be asked anymore: it would just install.’

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

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

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

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

בעשרה ביולי, 2010, שחררה VirusBlokAda הודעה לעיתונות באתר האינטרנט שלה ובה נכתב:

"אזהרה אודות תוכנה מזיקה המנצלת חולשה חדשה להתפשטות:
[…] מומחי VirusBlokAda גילו אותה ב-17 ביוני, 2010 […] ובבדיקה נסתבר שהווירוס מועבר באמצעות התקני איחסון USB. […] תוכנה מזיקה זו מסוכנת ביותר כיוון שהיא מסוגלת להדביק מחשבים רבים וליצור מגיפה חדשה."

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

כיוון שבאג חדש ובלתי מוכר שכזה הוא תקלה מסוכנת בעלת השלכות על מיליארדי מחשבים ברחבי העולם – אלו חדשות מעניינות הרבה יותר מסתם 'עוד וירוס נוסף' שנתגלה איפה שהוא. הדיווח של של VirusBlokAda נתקבל בעניין רב על ידי מספר בלוגרים מוכרים בתחום אבטחת המידע – ומהם עבר לכלי תקשורת אחרים. מיקרוסופט הזדרזה להודיע שמהנדסיה עובדים כעת מסביב לשעון כדי להוציא עדכון לWindows שיאטום את פרצת האבטחה, ומספר חברות אבטחה החלו בוחנות את התוכנה הזדונית לעומקה. ככל שהעמיקו המומחים 'לחפור' בקוד שלה, כך הבינו שאין מדובר ב'סתם עוד וירוס', כי אם באחד הווירוסים המתוחכמים ביותר בהיסטוריה. ולא רק זאת, אלא שמדובר בתוכנה זדונית המתוכננת לפגוע באופן בלעדי במערכות בקרה תעשיתיות. במילים אחרות, זהו אותו APT – Advanced Persistent Threat שעליו הזהירו רואי השחורות כבר מאז 2005. השם שניתן לתוכנה הזדונית החדשה היה Stuxnet, צירוף של שתי מילים אקראיות בקוד שלה.

People reacted almost immediately. There were entire sites that glued all of their USB ports shut on their control system network. Before hand, it was – ‘no one would ever come after us with a targeted attack. That’s for IT.’ Afterwards, it was ‘Oh no! now what?’ Certainly in the day, there was some panic. The Stuxnet worm spread on control systems networks when it was discovered. There was no Anti-Virus for it, there were no security updates to close the hole that is was using. There was no way to stop it. In the early days nobody knew what it was, what its objective was, what it’s consequences would be. All they knew was that here is something that is spreading on control system networks, and there was no way to stop it. One of the ways it spread was on USB sticks, so people took what measures they could. You know, it’s very bad new when something hits the industry, and you’re told – ‘take precautions, you’re in trouble!’. ‘What precautions should I take?’ ‘I don’t know…’ (laughing) that’s a very distressing thing to hear.’

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

כיצד Stuxnet מתפשטת

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

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

מה מחפשת Stuxnet ברשת המחשבים? מדוע היא מדלגת ממחשב למחשב? ובכן, יש לה מטרה ברורה. זכרו שהמדובר כאן במפעל תעשייתי כלשהו: אולי מפעל לייצור המבורגרים, ואולי תחנת כוח לייצור חשמל. המחשבים של המחסנאי ורואה החשבון שייכים לרשת המחשבים ה'עסקית' של הארגון ושם נמצאים, אולי, פרטי חשבון הבנק של החברה או מידע סודי על פטנטים חשובים… אבל אלו אינם מעניינים את Stuxnet. היא מחפשת משהו אחר לגמרי: את המחשבים השייכים ממערכת הבקרה התעשייתית של המפעל: המערכת השולטת על החום בתנורים או על מהירות הסיבוב של הטורבינות. Stuxnet בודקת אם על המחשב מותקנת תוכנה בשם Step7, מתוצרת החברה הגרמנית Siemens. זו תוכנה ייעודית לבקרה תעשייתית, ולכן אם היא מותקנת על המחשב,Stuxnet יכולה להניח שהמחשב עליו היא נמצאת הוא חלק מאותה מערכת בקרה תעשייתית. מערכת זו תהיה כמעט תמיד, מוגנת ומופרדת משאר הרשת המחשבים הארגונית בשורת אמצעי אבטחת מידע כמו תוכנות אנטי-וירוס או 'חומות אש' וירטואליות – אבל Stuxnet מתוחכמת מספיק כדי לפרוץ דרך אמצעי האבטחה האלה כאילו אינם קיימים כלל.

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

אחרי שפרצה ל-Step7 בודקת Stuxnet אם למחשב מחובר ציוד בקרה בשם PLC, ראשי תיבות Programmable Logic Controller. ה-PLC הוא מחשב קטן ופשוט, שמסוגל 'לתרגם' את הפקודות המתקבלות ממחשב ה-PC ולהעבירן לגנרטור, למסוע או לתנור שאנו מעוניינים לשלוט בו – ולהעביר מידע שמתקבל מחיישנים בכיוון ההפוך, מהמכונה אל המחשב. אפשר לדמות זאת למצב העניינים במשפחה טיפוסית: האישה בבית המנהלת את העניינים, רואה שהבעל יושב וקורא עיתון בסלון, בשקט. נח לו. זהו, כמובן, מצב בלתי מתקבל על הדעת ולכן היא מורה לילד הקטן – ה-PLC באנלוגיה שלנו – ללכת לאבא ולבקש ממנו לזרוק את הזבל, לגרוף את העלים בגינה או לצבוע את האבנים שבכניסה בסיד לבן. תפקידו של ה-PLC הוא לתרגם את המידע הזורם הלוך ושוב בין מחשב הבקרה והמכונה הנשלטת. אם מוצאת Stuxnet ציוד PLC שכזה, ואם מתמלאים מספר תנאים חיוניים נוספים שארחיב עליהם בהמשך, אזי התוכנה הזדונית יודעת שמצאה את מטרתה.

ומה קורה אז? ובכן, דמיינו את Stuxnet כטיל מונחה. לטיל שני חלקים: החלק הראשון הוא הרקטה שמביאה את הטיל למטרתו, והחלק השני הוא ראש הנפץ (Payload, בלעז) שגורם את הנזק האמיתי למטרה. כל המנגנון שתיארתי עד כה – ההדבקה באמצעות זכרון USB נייד, התפשטות בתוך הרשת האירגונית והפריצה לתוכנת Step7 – היה הרקטה, החלק ב- Stuxnet שמטרתו למצוא את הדרך אל רשת הבקרה התעשייתית ואל ה-PLC המחובר למכונות במפעל. עכשיו, כשמצאה התוכנה הזדונית את מטרתה – הגיעה השעה להפעיל את ראש הנפץ. החלק הזה ב-Stuxnet, ראש הנפץ שלה, הוא מה שהופך אותה לייחודית, חסרת תקדים ומפחידה כל כך – ועליו נדבר בחלקו השני של פרק זה. נשמע גם על הנזק שגרמה Stuxnet לתעשיית הגרעין האיראנית, ועל הרמזים המצביעים על מי ששלחו אותה. כל זאת ועוד ב- Stuxnet חלק ב'.

חלק ב'

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

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

בחלקו הקודם של הפרק הצגתי בפניכם את Stuxnet: תוכנה זדונית ששינתה את פני עולם אבטחת המידע לאחר שנתגלתה בשנת 2010. Stuxnet אינה וירוס במובן הרגיל של המונח, אלא סוג איום אחר וחדש: APT, ראשי תיבות של Advanced Persistent Threat. ייחודו של APT על פני וירוס 'רגיל' ניכר בכך שהוא איום ממוקד: מעין 'טיל מונחה' שנועד לפגוע במטרה אחת בלבד או בסוג מסוים של מטרות. תיארנו כיצד נתגלתה Stuxnet במקרה על ידי חברת אנטי-וירוס קטנה בביילרוס, ועל ההלם וחרדה שאחזו באנשי ענף הבקרה התעשייתית כשנחשפו ממדיו האמתיים של האיום. סיפרתי גם כיצד ניצלה Stuxnet פרצות אבטחה לא מוכרות במערכת ההפעלה Windows וסיסמה סודית בתוכנה של חברת Siemens הגרמנית כדי לחדור למערכות בקרה במפעלים תעשייתים.

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

העשרת אורניום

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

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

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

לאחר ש-Stuxnet משתלטת על מחשב המחובר ל-PLC, היא בודקת אלו רכיבים מחוברים אל ה-PLC. ספציפית, היא מחפשת שני שבבים שתפקידם לשלוט על מהירות סיבוב של מנועים. השבבים צריכים להיות מתוצרת שתי חברות ספציפיות: 'ואקון' (Vacon) מפינלנד, ו'פררו פאיה' (Fararo Paya) מאירן. אם שני השבבים האלה אינם קיימים, או אם מתוצרתן של חברות אחרות – Stuxnet מפסיקה את פעולתה ומוחקת את עצמה מהמחשב. אם נתגלו השבבים הרצויים, Stuxnet בודקת תדר שקשור במהירות סיבוב המנועים המחוברים אליהם. התדר אותו היא מחפשת הוא בין 807 ל-1210 הרץ. שוב, אם אין בנמצא מנועים כאלה, או מהירות הסיבוב שלהם אינה בטווח הרצוי – Stuxnet עוצרת ומוחקת את עצמה.

הבה נחזור על כל השרשרת הארוכה של תנאים ספציפיים ההכרחיים לפעולתה של Stuxnet: מחשב שעליו מותקנת תוכנה מסוימת של Siemens, המחובר ל-PLC של Siemens, המחובר בעצמו לשבבים מתוצרתן של שתי חברות סצפיפיות, השולטים על מנועים מסתובבים בטווח מהירויות מסוים מאד. סט מדוקדק כזה של תנאים שווה לדפדוף בספר הטלפונים ואיתור מישהו בשם ישראל ישראלי, שגר ברמת גן ברחוב ארלוזרוב מס' 38, בקומה רביעית. אם מצאת את ישראלי – סביר להניח שזה האדם שאתה באמת מחפש, שכן הסיכוי שיש שניים כאלה קלוש מאוד.

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

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

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

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

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

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

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

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

מנגנוני ההסוואה של Stuxnet

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

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

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

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

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

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

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

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

“This class of attack had been described as possible years early in security conferences – but has never been seen in the wild until Stuxnet. Stuxnet in a sense did not invent any kind of new attack. Stuxnet took the most powerful, the most effective and the most advanced of any technique that anyone had ever described – and put them all together, and made them work really well in one package, and this had never been seen before. This was the big thing.”

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

“I developed SW for 25 years. I wrote software, I managed teams that wrote software – I know how much it costs to produce software. This worm installed clean on every machine I tried it on. Everything from Windows NT up to the Windows OS of the day, all of the different variants – it installed clean and it ran clean on all of them. I know how hard it is to produce legitimate product that works on that wide a variety of equipment. My estimation is that there was at least millions of dollars spent of the worm. It might have been tens of millions.

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

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

“You know, you might ask – if the worm was that sophisticated, how did it ever get discovered? The people analyzing the worm have concluded they have discovered what they think is a bug. [LONG PAUSE] … And so this bug caused the worm to propagate. Instead of there being tens or hundreds of copies of the worm in the world, there grow to be at one point over a 100,000 copies.

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

This very sophisticated artifact was discovered because of a bug. To produce that much code that is that reliable is extremely costly. And to have that investment vanish because of one line of code – that’s really annoying…”

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

חלק ג'

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

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

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

www.mypremierfutbol.com
www.todaysfutbol.com

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

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

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

Zero Days

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

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

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

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

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

נזק בלתי מכוון

אני מניח שישנם מי שאולי יחגגו את הצלחתה של Stuxnet: אחרי הכל, איראן היא מדינת אויב, ומה שרע לאויב ודאי טוב לנו, לא? ובכן, לא בדיוק. השוותי קודם את Stuxnet לטיל מונחה מדויק שפוגע במטרה סצפיפית, ובמידה מסויימת זו אנלוגיה תקפה – אך לא מושלמת. זכרו שהאופן שבו 'נעה' Stuxnet במרחב הוירטואלי של האינטרנט עד שהיא מגיעה למטרתה באיראן אינו מסלול ישיר מנקודת השיגור ועד נקודת הפגיעה, כפי שקורה בטילים. Stuxnet מתפשטת באופן שמזכיר יותר מגיפה ויראלית: היא מדלגת ממחשב למחשב באמצעות זכרונות USB ניידים וניצול של פרצות אבטחה בתוך רשתות מחשב. על פי אומדנים שונים, Stuxnet הדביקה כמאה אלף מחשבים נוספים, שאינם קשורים למפעל בנתאנז' ואפילו אינם נמצאים באיראן. חלק קטן מהם קרס והפסיק לעבוד – אותה התופעה שבגללה, כזכור, הצליחו אנשי VirusBlokAda לגלות את Stuxnet מלכתחילה. אך כפי שיסביר לנו אנדרו גינטר, המומחה לאבטחת מערכות בקרה תעשייתיות, אפילו במקרים בהם Stuxnet אינה משפיעה כלל על פעילותו התקינה של המחשב – היא עדיין גורמת נזק. כשמדובר במערכות בקרה רגישות, אף אחד לא יכול להרשות לעצמו לתת לתוכנה 'זרה' ובלתי מוכרת – ועוד תוכנה שידוע שהיא תוכנה זדונית – להסתובב חופשי.

“The worm infected hundreds of thousands of other machines, and caused almost no damage. Now, it did cost a lot of money! Because if I have an infected machine staring me in the face, am I going to believe that that’s ok and leave the worm on there? No, I’m gonna clean it out. The process of shutting it down and cleaning it up costs enormously. If I have to shut down a refinery, because some the equipment has been infected, I’m losing millions of dollars a day. “

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

Duqu ו- Flame

אך נדמה שהפוטנציאל לנזקים משניים לא הפריע ליוצריה האלמונים של Stuxnet להמשיך בפעילותם.

בתחילת ספט' 2011, כשנה לאחר גילויה של Stuxnet, נתגלתה בהונגריה תוכנה זדונית חדשה ובלתי מוכרת שקיבלה את השם Duqu – בגלל שהאותיות D ו- Q מופיעות בחלק מהקבצים שלה. חוקרים מאוניברסיטת בודפשט לטכנולוגיה בחנו את Duqu, וזיהו נקודות דמיון רבות בינה ובין Stuxnet. שתי התוכנות היו כמו שתי אחיות שחולקות ביניהן מקטעי דנ"א זהים: היו ביניהן פיסות קוד משותפות שמהן ניתן להסיק שהאנשים שפיתחו את Duqu עבדו יחד עם האנשים שפיתחו את Stuxnet ונעזרו בעבודה המוצלחת שכבר עשו. הדמיון בין Stuxnet ו-Duqu כה גדול, עד שבבדיקה שערכה יצרנית האנטי-וירוס פינית F-Secure הסתבר שמערכות הזיהוי האוטומטיות של החברה גילו עותקים של Duqu עוד לפני ספט' 2011 – אבל זיהו אותן בטעות כעותקים של Stuxnet.

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

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

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

המאפיין הבולט ביותר של Flame הוא התחכום והמורכבות שלה. Stuxnet הכילה 150 אלף שורות קוד: נפח אדיר של פקודות, פי עשרה מהמקובל בעולם התוכנות הזדוניות. Flame גדולה פי עשרים מ-Stuxnet, ויש מי שרואים בה התוכנה הזדונית המתוחכמת ביותר שנתגלתה אי פעם. אנדרו גינטר לא מאמין שנראה ניתוח מושלם של Flame, כמו זה שנעשה ל-Stuxnet בזמנו, בעתיד הקרוב.

“I have never seen a complete analysis of Flame: I’m not sure anyone had ever done that. It’s just a lot of code to reverse-engineer. It took the Symantec team of, I think, four engineers, four or five months to reverse-engineer Stuxnet. Imagine how many people yo u need to do something ten times as big.”

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

I tried Stuxnet against a number of defense systems, and I drew conclusions, saying: ”this defence would work, that one would not. That means this defense is stronger than that one.” In hindsight, that was nonsense.

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

The stuxnet worm was written to attack one specific site in the world, and it was designed to evade the security measures in place at that target. And so, there was nothing in the worm to evade whitelisting, but there was stuff in the worm to evade AV. If the site had used whitelisting – the worm would have included measured to evade whitelisting. There were, apparently, hindsight, AV systems deployed at the site, and so the worm was designed to get around them. So the fact that some mechanisms worked against the worm and other didn’t, was more a reflection of what was deployed at the target site.”

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

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

If we have an adversary coming after us, and that adversary has detailed inside knowledge of how our systems are secured, in a sense – there’s nothing we can do. You are never completely secure. Which means no matter what we have deployed, we can always be hacked by an adversary that has enough time, enough money and enough Ph.Ds to throw at the problem. If you have an adversary that advanced, there’s nothing you can do. This was the nonsense. If we have that class of adversary coming after us, we don’t have a cyber security problem – we have an espionage problem, and we need to escalate [the problem] to our national security agencies.“

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

“This is one of the big pieces of confusion that I try to clarify. In theory, there’s nothing you can do, from the point of view of any one facility. In practice, if we’re talking about protecting an entire industry – there is absolutely stuff you could do. No adversary in the world has enough money to buy every citizen of the United States, and compromise all of its industries. That’s just ludicrous. And so what we can do to protect an industry is put enough security in place so that in order to compromise an industrial site, it has to be escalated to a level of espionage attack. And if you do that, nobody has the means to carry out that sophisticated against an entire industry. What we want to do is elevated the problem from something as easy as hacking into a power plant from the comfort of the planet from the other side of the planet, to something where I have to compromise feet on the street, in my target, and have them do my attack for me. that’s a much harder problem. It is absolutely possible to elevate our security posture to the point it takes a physical assault to breach the cyber security posture.”

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

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

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

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

Credits

https://soundcloud.com/zacharywill/times-ticking-suspense-film-score
https://www.youtube.com/watch?v=dt5dDGY0ZNM
https://soundcloud.com/myuu/damned-call-of-duty-black-ops-zombies-cover
https://soundcloud.com/zacharywill/revival-film-score

26 מחשבות על “[עושים היסטוריה] 178/177/176: Stuxnet, וירוס המחשב שהיכה בגרעין האיראני”

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

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

      הגב
  2. קודם כל כל הכבוד על שלושת הפרקים!!!!! ותודה רבה
    שנית
    האם ידוע לך באיזה שפות תיכנות השתמשו כדי לפתח את Stuxnet?

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

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

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

    תודה על ההשקעה והמחשבה שניכרים מאחורי כל פרק ופרק 🙂
    גל, 16.

    הגב
  4. היי רן והצוות,

    תודה על פרק מעולה נוסף, ובכלל הרבה כבוד על ה"סדרה" על Stuxnet, שהייתה מרתקת ותענוג לשמוע.

    הערה קטנה – יצא לך לשמוע על Operation Red October? מניח שאתה מכיר, אבל אשים כמה לינקים בכל זאת 🙂

    http://arstechnica.com/security/2013/01/red-october-computer-espionage-network-may-have-stolen-terabytes-of-data/

    http://arstechnica.com/security/2013/01/why-red-october-malware-is-the-swiss-army-knife-of-espionage/

    שוב תודה על ההשקעה האדירה במחקר, בכתיבה ובעריכה של כל פרק ופרק.

    דימה.

    הגב

כתוב/כתבי תגובה