Escape From PDF זאת הכותרת, שחוקר האבטחה Didier Stevens קרא לפוסט שלו, שבו פרסם דוגמא מעניינת ל-Hacking ללא ניצול של שום חולשת אבטחה.
Didier Stevens מציג שיטה מעניינת, המשלבת בעיקר “הנדסה חברתית” לגרום למשתמשים לאשר הרצה של פקודות על מחשבם דרך קבצי PDF באופן כמעט שקוף. הבחור גם כתב PoC, אך עוד לא פרסם אותו נכון לכתיבת שורות אלו.
הרעיון הוא פשוט מאוד- כאשר רוצים לבצע הרצה של קובץ מקורי או פקודה על המחשב המקומי ע”י קבצי PDF (כמו למשל בעזרת Launch/ ו-Action/). התוכנה שאיתה צופים בקובץ (ה-PDF Viewer) כמובן תציג הודעת אזהרה בסיגנון הבא:
(התמונות נלקחו מהפוסט המקורי בבלוג של Didier Stevens)
ותציג גם את הקובץ או הפקודה שאותו הקובץ המקורי מנסה להריץ.
הודעות אלו ימנעו מהמשתמש, אפילו התמים ביותר (?) לאשר את הרצת התוכנית, אך פוסט מסביר, כי ניתן לשלוט בתוכן ההודעה וע”י הוספת מספר רב של ירידת-שורה וכתיבת הודעה חדשה, אפשר “לשכתב” את המידע.
(המידע קיים- פשוט בעת קפיצת האזהרה- פס הגלילה נצמד לתחתית ההודעה ולא לראשיתה), מה שמאפשר להעלים לגמרי את שם הקובץ:
ואף ליצור הודעות הנראת לגיטימיות ביותר, כגון זאת:
כמובן שכאשר המשתמש יאשר את פתיחת הקובץ (לחיצה על “Open”) - תבוצע הפקודה המקורית. המקרים פעלו באופן יעיל גם ב-Adobe Reader וגם ב-Foxit Reader.
בעזרת שינוי קל של ה-PoC הוא הציג דוגמא נוספת אשר תפעל על ה-Foxit Reader, אותה הוא פרסם תחת הפוסט “Escape from foxit reader”.
כאשר התוכנה מריצה את הקובץ היא יוצרת תהליך חדש במערכת ההפעלה, ולכן Didier Stevens המליץ להשתמש בטריק קטן שהוא הציג לקראת לסוף שנת 2009 הנועד למנוע ממקרים כאלה להתרחש, אפשר לקרוא על הטריק בבלוג שלו, תחת הפוסט: “Preventing applications from starting malicious applications” - מומלץ לקרוא.
נכון שלא מדובר כאן בשום באג, אך לדעתי, בכדי לפתור בעיה זאת פשוט מאוד על מפתחי האפליקציות הנ”ל לבצע עריכה קטנה באפליקציה שלהם, וכך, כאשר תוצג הודעת השגיאה יהיה עליהן להצמיד את פס הגלילה לתחילת ההודעה ולא לסופה. שאגב, זה מוזר מאוד שהמצב הוא לא כזה- מתחילים בדרך כלל לקרוא הודעה מתחילתה ולא מסופה.