הצצה על הטכנולוגיה מאחורי הדוקו.
חוקרים במעבדת המחקר לקריפטוגרפיה ואבטחת מידע במכון הטכנולוגי של בודפשט שפשפו את עינהם בתדהמה, כאשר גילו בתום חודשים של מחקר מאומץ, את אופן הפעולה של אחת הרוגלות המתקדמות בעולם - הדוקו (Doqu).
מאמר זה נועד לשפוך אור על כמה מהמסקנות והתובנות ולנסות לשפוך ולו מעט אור על הרוגלה המסתורית שלפי מקורות זרים עשתה (ועדיין עושה) שמות במערכות גרעין ושיגור טילים ארוכי טווח באיראן (אבל לא רק...).
קוראיי הנאמנים (והספורים) יבחינו עת יקראו במאמר, שאני קופץ מנושא לנושא. מטכנולוגיה לטכנולוגיה. זה לא אני. זה הדוקו! מדובר בסבך של טריקים וטכנולוגיה שזורים זה בזה, ופועלים לפי תסריט מותח אשר משאיר את הצופה פעור פה. אוכל לסקור במאמר זה כמה מאבני הבניין, שניתן לדמותם למספר שחקני משנה בעלילה, ודי בהם כדי להצביע על מורכבות הפרוייקט, ומשניותם אינה מפחיתה את ייחודם ועצומתם, וכאן המקום לומר שכל שחקן משנה כזה, היה יכול להיות כוכב ראשי בעלילה אחרת. מדובר בכלי שלפי מיטב הבנתי, הפיתוח שלו הסתיים בשנת 2006, וניתן רק לנחש מתי החל.... ועכשיו לא נותר לי אלא לקפוץ הישר אל הקסם.
האם מסוכן לפתוח מסמך Word מצורף להודעת מייל
ממתי מסמכי וורד מהווים סיכון? בעבר הרחוק (לפני 15 שנה) הופיעו וירוסים תוך מסמכי וורד, תוך ניצול היכולת ליצור "מאקרו" ולשמור אותו כחלק מהמסמך. כך גם היה במקרה של הוירוס הראשון - "I love you". מאז הוטמע מנגנון החוסם מאקרו כברירת מחדל. למעשה, מי שרוצה לשלב מאקרו לגיטימי במסמך, נתקל בקושי רב לעשות זאת. אלא שהפעם מדובר במנגנון מתוחכם בהרבה אשר מנצל פירצה במערכת ההפעלה. תודות לפירצה זו, נכנס מנגנון התקנה ייחודי לפעולה כאשר מסמך הוורד נפתח. מנגנון התקנה זה גובר על אחת ההגנות היעילות של גירסאות Windows החדשות (ויסטה ואילך). מנגנון הUser Access Control. מנגנון זה אינו מאפשר ביצוע אוטומטי של פעולות רבות, מבלי שמשתמש הקצה יאשר את הפעולה. החלון שקופץ כאשר מפעילים תוכנות רבות, או מפעילים תוכנות כלשהם במוד Administrator נועד להבטיח שמישהו שיושב מול המחשב אכן יאשר את הפעולה. מצד שני, פעולות אשר עלולות לחשוף את המחשב לסיכונים, מצריכות אישור כזה.
מספר מילים על דרייברים
דרייברים הם רכיבי תוכנה אשר נועדו לספק תמיכה ותאימות לרכיבי חומרה ותוספים מסוגים אחרים למחשב. פיתוח דרייבר מצריך כלים ייחודיים אשר מאפשרים גישה לבסיס העמוק ביותר של מערכת ההפעלה, הKernel. הגרעין, אשר שליטה בו פירושה שליטה מלאה במחשב, שליטה חשאית ובלתי ניתנת כמעט לגילוי. על מנת להסביר מדוע נדרשת גישה מוחלטת ושקופה, ניקח מוצר תמים ובלתי מזיק. מדפסת או צג מחשב. כאשר אלה מחוברים למחשב, שורה של פעולות מתבצעות על מנת לאפשר שימוש בהתקן שהוכנס. משתמש הקצה לא היה רוצה להתחיל ללחוץ על כפתורים בכל עת שהוא מחבר את המדפסת או צג מחשב, ומכאן כל הפעולות מתבצעות ברקע. ישנם מנגנונים "גרעיניים" עוד יותר, כמו מנגנון המאפשר הצגת פונטים כאשר אלה כלולים בטקסט כזהט או אחר, ובמידה ופונט חסר, להוריד אותו או לקרוא אותו כאשר זה מוטמע במסמך. לכן ניתן לומר שדרייברים מאפשרים להינות משורה של תכונות ופוקציונליות, באופן שקוף שאינו דורש התערבות המשתמש, וכן באופן אוטומטי שאינו מצריך הפעלת כל דרייבר בכל פעם שמבצעים ריסט למחשב. אליה וקוץ בה, עוצמתם של הדרייברים פותחים פתח לפעולות פחות רצויות ויותר מסוכנות, וזה הבסיס (או אחד הבסיסים) לפעולת הדוקו. בשל עוצמתו של הדרייבר, נוקטת מערכת ההפעלה במשנה זהירות כשמדובר בהתקנת דרייבר חדש. דרייברים צריכים להיחתם על ידי רשות מוסמכת כגון CA או Symantec (אשר רכשו את Verisign), והתקנתו דורשת אישור משתמש מסוג Admin.
מפתחי הדוקו חיפשו דרך לאפשר התקנה של דרייבר מבלי לקבל את אישור משתמש הקצה. התקנה של דרייבר מבטיחה מקסימום שליטה על המחשב המנוטר, ועם זאת, קושי עצום לגלות את דבר קיומו של הדרייבר, או את ההפעלה האוטומטית שלו עם הדלקת המחשב. דרייברים, במיוחד אלה שמוגדרים כKernel, מופעלים אוטומטית מבלי שצריך להגדיר דבר מה בRegistry. למעשה, הסרה של דרייבר Kernel בדרך של מחיקה (לרבות מחיקה על ידי אנטי וירוס), תביא לשיתוק של המחשב ללא יכולת לתקן אותו (אלא אם מתקינים את Windows מחדש). על תופעה זו כתבתי את המאמר הבא.
פירצה בגוף הפונט
כיצד הושחל מנגנון התקנה כה מתקדם למסמך וורד? התשובה היא בפונט. כאשר מסמך אופיס כולל פונט לא סטנדרטי (כזה שאינו חלק מובנה במערכת ההפעלה), ניתן לצרף אותו למסמך וכך יודעת מערכת ההפעלה לשלוף אותו ולהתקין אותו. הפורמט הנפוץ לפונטים הנו True Type. לWindow מנגנון מובנה לקריאת הגדרות הפונט ותרגומם בזמן ריצה לbitmap על מנת להציג את הפונט על המסך (ומנגנון נפרד להדפסתו באיכות גבוהה יותר בזמן ההדפסה). מפתחי הרוגלה עלו על פירצה במנגנון זה, אשר מאפשר להטמיע בקובץ הTrue Type אשר הסיומת שלו TTF, קוד זדוני בעל יכולות לבצע פעולות במחשב מעבר לייעוד המקורי והוא הצגת הטקסט בפונט הנבחר.
לקבצי הTTF ישנה הפריווילגיה לעבור חופשי מבלי להיחסם, שכן עד היום לא נחשבו איום. בניגוד לתוכנה כלשהי השמורה בפורמט הנפוץ EXE, אשר תיחסם אם תישלח במייל, ומשתמש הקצה יקפל אזהרות והתראות אם יפעיל תוכנה כלשהי אשר הורדה מהאינטרנט, הרי שמסמכי וורד וקבצי פונט לא נחסמים ולא מסוננים. כדי לדייק, הפירצה האמורה באה לידי ביטוי במסמך הוורד עצמו, בחלק המיועד להגדיר פונט לא מוכר למערכת, על מנת שזה ישולב במסמך גם אם נפתח אצל משתמשים שאין ברשותם פונט זה. לא ידוע על מקרים בהם הוטמע קוד זדוני בקובץ הפונט עצמו (TTF), אם כי אפשרות כזו קיימת ויש לנקוט משנה זהירות. ניתן לומר שאם אינך סטודיו לגראפיקה העוסק בשילוב פונטים ייחודיים בעבודה, ושלחו לך פונט במייל, אל תפתח...
אז איך גוברים על הUAC
הUAC אינו שם נרדף לאיחוד האמירויות אלא ראשי תיבות של User Access Control, שכאמור נועד להבטיח שפעולות מסויימות יוכלו להתבצע רק אם המשתמש במחשב מאשר אותן, מה שאמור למנוע ביצוע פעולות אלה ללא ידיעת המשתמש.
הרוגלה עצמה, מתוחכמת ביותר ומנגנון ההתקנה הוא רק פורץ הדרך אשר נותן לרוגלה דריסת רגל במחשב המותקף. מנגנון זה מתקין שורה של קבצים מסוג DLL, קבצי קונפיגורציה (הגדרות) וקבצי דרייבר אשר נחזים כאילו יוצרו על ידי חברת Intel על אף שאינם כאלה. למעשה, מתוך 13 קבצי דרייבר אשר נוטלים חלק בפעולת ה"דוקו", רק 6 נבדקו על ידי מעבדות כאלה ואחרות, וה-7 האחרים חמקו ונעלמו.
לפי פירסומים זרים, נעשה שימוש ב"דוקו" באירן, ואגב, גם בסודאן. מדובר בכלי ממוקד אשר הוגדרו בו זמני הפעולה (כאשר מחוץ למסגרת הזמן שהוגדרה, הכלי מנוטרל) והיעד אשר היה במערכות ספציפיות הקשורות לתוכנית הגרעין של איראן.
למרות שחלק מהדרייברים והקבצים אשר נוטלים חלק במבצע מורכב זה נחשפו, הרי שבאופן מסתורי, מספר קבצים בעלי תפקיד מפתח, חמקו מכל חוקרי הוירוסים באשר הם. דוגמה לכך הנה הקובץ bpmsg.sys.
ה"דוקו" אינו וירוס, ואף אף לא רוגלה במובן הקלאסי של המילה, אלא פלטפורמה רחבה (סוג של מיני מערכת הפעלה) אשר ניתן להשתמש בה לכל מטרה ולכל ייעד, תוך קסטומיזציה מלאה של הדרישות והייעדים. ה"דוקו" מסוגל להתעדכן בכל עת. כל הפעולות המתבצעות על ידו, לרבות עדכון כזה, מתבצעות באופן חשאי לחלוטין ללא ידיעת המשתמש.
לפי מספר פירסומים, ביותר ממקרה אחד של התקפה על מערכות מחשב במתקני גרעין באיראן, המידע שנאסף נשלח לכתובת ה-IP הבאה: 63.87.255.149
בדיקת כתובת זו מגלה כי היא שייך לחברת Verizon בארה"ב.
http://www.ip-adress.com/ip_tracer/63.87.255.149
שרתים נוספים אליהם נשלח המידע נמצאים בויאטנם. מדובר בשרת Linux אשר מריץ CentOS 5.5. חוקרים במעבדת Kespersky אשר גילו שרת זה, לא הצליחו לאתר ולו קובץ אחד אשר אוכסן, ונראה היה שזמן מה לפני כן, בוצעה מחיקה מאסיבית של כל הקבצים (סימן לכך היה שהתיקיות עצמן, בהן נשמרו הקבצים, לא נמחקו, ואלה נשאו גם חתימת תאריך יצירה ותאריך שינוי אחרון). חוקרי מעבדת Kaspersky גילו שמפעילי ה"דוקו" הפעילו את השרת הויאטנמי דרך שרת אחר, בגרמניה, אשר אוכסן בחברת אחסון בולגרית.
בגדול, ניתן לומר שה"דוקו" הופעל ממספר כתובות באירופה (גרמניה, שוויץ, בריטניה), תוך גישה מרחוק לשרת הויאטנמי אשר שלט בייעדי ההתקנה באירן וסודן. לפי חתימות תאריכי קבצים ותיקיות בשרתים אלה, ניתן להעריך שמדובר במבצע רחב היקף אשר נכנס לשלב האופרטיבי שלו כבר בשנת 2009 (כלומר ה"דוקו" פותח עוד לפני 2009).
פריצה בדרך של Brute Force
חלק מהשרתים הופעלו ללא ידיעת בעליהם, בדרך של פריצה. עדות לכך נמצאת למשל בקובץ לוג של אחד השרתים, ממנו עולה כי בתאריך 18.11.2009 ניסה גורם אלמוני בסינגפור לגלות את סיסמת הגישה בדרך של Brute Force עד שהצליח. שיטת הBrute Force מבוססת על ניסוי כל הקומבינציות האפשריות של כל צירוף של אותיות מספרים וסימנים מיוחדים עד לאיתור הסיסמה הנכונה. שיטה זו יעילה מאד לאיתור סיסמאות למסמכים (למשל מסמך וורד ממוצע המוגן בסיסמה יכול להפרץ בתוך מספר שעות ויש כלים כמוCrackPassword אשר נוסדו בשנת 1990 והכלים שלהם זולים ויעילים). עם זאת ככל שמדובר בשרת או אתר אינטרנט, לרובם יש מנגנון אשר חוסם כתובת IP ממנה מתבצע מספר רב של נסיונות להקליד סיסמה לא נכונה. ועם זאת, הפורצים מצאו את הדרך שלא להיחסם.
מבצע טשטוש ראיות רחב היקף
ב-20.10.2011 התקיים מבצע רחב היקף של טשטוש ומחיקת ראיות, או אז הושמדו רוב הקבצים אשר נטלו חלק בהחדרת ה"דוקו". אמנם שירשור של שרתים במיקומים שונים, חוצי מדינות ויבשות, נראה כהופך את איתור מקור התוכנה לקשה יותר, אולם אם חושבים על כך, אין זה ממש משנה אם כדי להגיע אל המקור, צריך לעבור שני שרתים או 200 שרתים אלא שאלת המפתח היא האם ניתן להגיע בסופו של דבר למקור התוכנה. פעולת טשטוש ומחיקת הראיות, והעובדה שהקבצים החשובים באמת אשר נוטלים חלק בפעולתה המורכבת של התוכנה לא התגלו עד היום (על אף שיש עדות לעצם קיומם), מוכיחה שגוף ביון בעל יכולות עומד מאחורי התוכנה.