תוכנת Target Eye
בשנת 2000 הקמתי מיזם בשם Target Eye במסגרתו פותחה תוכנת ניטור וריגול בשם Target Eye Monitoring System למטרות שימושי ביון ואכיפת חוק. בין השאר הוצעה התוכנה לגופי מערכת הביטחון במדינה, בשנת 2005 נעשו בתוכנה שימושים לא חוקיים למטרות ריגול עסקי, על ידי 3 משרדי חקירות שרכשו את התוכנה מחברת Target Eye (אז כונתה התוכנה "הסוס הטרויאני"). בינתיים, נמשך פיתוח התוכנה, וכיום יש לה היתרי יצוא למספר מדינות בעולם, והיא משווקת אך ורק לגופי אכיפת חוק וביון בארץ ובעולם. מדובר בפיתוח ראשון מסוגו שלאחריו פותחו מוצרים דומים (חלקם אף טובים ומשוכללים לא פחות), וגם ה"דוקו" (כמו גם ה-Stuxnet וה-Flame) דומים במידה רבה לאותו אב טיפוס, באופן איסוף האינפורמציה הסלקטיבי באופן שמוגדר מראש על ידי המפעיל, וכך למעשה מיושם מודל שמיישם מודיעין אנושי (יומינט) באופן ממוחשב, והתוכנה הופכת להיות "סוכן חשאי" ממוכן. ניתן להגדיר היכן יפעל, והיכן ישמיד את עצמו, ואיזה מידע ייאסף, מתי יישלח ובאיזה תדירות ועוד כהנה וכהנה.

הצצה על הטכנולוגיה מאחורי הדוקו
עוד לפני הפרסומים האחרונים אודות וירוס הFlame המתוחכם, נחשפו קיומם של כלי ריגול אחרים, והמפורסם שבהם התגלה אף הוא במקרה, וזמן רב אחרי שכבר הספיק לבצע עבודה רבה עבור מפעיליו העלומים. חוקרים במעבדת המחקר לקריפטוגרפיה ואבטחת מידע במכון הטכנולוגי של בודפשט שפשפו את עינהם בתדהמה, כאשר גילו בתום חודשים של מחקר מאומץ, את אופן הפעולה של אחת הרוגלות המתקדמות בעולם – הדוקו (Doqu). מאמר זה נועד לשפוך אור על כמה מהמסקנות והתובנות ולנסות לשפוך ולו מעט אור על הרוגלה המסתורית שלפי מקורות זרים עשתה (ועדיין עושה) שמות במערכות גרעין ושיגור טילים ארוכי טווח באיראן (אבל לא רק...). קוראיי הנאמנים (והספורים) יבחינו עת יקראו במאמר, שאני קופץ מנושא לנושא. מטכנולוגיה לטכנולוגיה. זה לא אני. זה הדוקו! מדובר בסבך של טריקים וטכנולוגיה שזורים זה בזה, ופועלים לפי תסריט מותח אשר משאיר את הצופה פעור פה. אוכל לסקור במאמר זה כמה מאבני הבניין, שניתן לדמותם למספר שחקני משנה בעלילה, ודי בהם כדי להצביע על מורכבות הפרוייקט, ומשניותם אינה מפחיתה את ייחודם ועצומתם, וכאן המקום לומר שכל שחקן משנה כזה, היה יכול להיות כוכב ראשי בעלילה אחרת. מדובר בכלי שלפי מיטב הבנתי, הפיתוח שלו הסתיים בשנת 2006, וניתן רק לנחש מתי החל.... ועכשיו לא נותר לי אלא לקפוץ הישר אל הקסם.האם מסוכן לפתוח מסמך Word מצורף להודעת מייל
אם מאמר זה יתפרסם, אוכל להניח שהעורך פתח את מסמך ה-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, שכאמור נועד להבטיח שפעולות מסויימות יוכלו להתבצע רק אם המשתמש במחשב מאשר אותן, מה שאמור למנוע ביצוע פעולות אלה ללא ידיעת המשתמש.