וואלה
וואלה
וואלה
וואלה

וואלה האתר המוביל בישראל - עדכונים מסביב לשעון

סיומות קבצים

24.7.2001 / 14:42

נושא: האם אפשר לסמוך על סיומות של קבצים? מאת: עוזי 2 תאריך: 19 אפריל 2001

כולנו, או לפחות רובנו, יודעים כי קובץ טקסט אינו יכול להכיל וירוס.
זאת אומרת שגם אם רשום שם קוד של וירוס, פתיחת קובץ הטקסט לא תריץ את הוירוס, ולכן לא תפעיל אותו. לכן קובץ טקסט הוא קובץ בטוח לשימוש, ואם קיבלתם קובץ כזה, אז אין חשש לפתוח אותו. אותו דבר נכון להגיד גם עבור קבצי JPEG ,MPEG ורבים אחרים.
אלא שמפתחי הוירוסים התחכמו לנו. באם אנו משתמשים בהגדרות המקוריות של windows ואיננו משנים אותן, אז בחלונות windows כמו גם ב-windows explorer, ב- Interenet Explorer, ובתוכנת הדואר Outlook/Outlook Express, סיומות הקבצים מוסתרות. לכן בניית קובץ VBS מהצורה picture.jpg.vbs, תגרום לכך שבתוכנות אלו הקובץ יראה כמו picture.jpg , שזה נראה כמו קובץ JPEG שהוא בטוח לשימוש, אבל doubleclick על הקובץ יפעיל אותו כקובץ VBS, וזה קובץ הרצה שיכול להכיל וירוס. הרבה מאוד וירוסים כיום משתמשים בטריק הזה על מנת להסוות את העובדה שמדובר בקבצים שעלולים להיות וירוסים. אמנם הצלמית לא מתאימה ל- JPG אבל רבים לא שמים לב לכך.

אבל התחכמנו להם. כל שעלינו לעשות זה להגדיר ל-windows שיראה לנו את סיומות הקבצים לקבצים רשומים.
עושים זאת ע"י זה שנכנסים לתוך "המחשב שלי", ושם בתפריט תצוגה (או איך שמתרגמים View לעברית), יש תת תפריט "הגדרות מחיצה" (או איך ש- Folder Options מתורגם לעברית) בוחרים להציג סיומות של קבצים רשומים. עושים את זה ואז כאשר נקבל קובץ בשם picture.jpg.vbs ה- vbs לא יוסתר ונוכל לראות שזה קובץ VBS.

אלא שלמפתחי הוירוסים, היתה התשובה לכך. באמצע שנת 2000, וירוס בשם LifeStages עשה רעש גדול. מסתבר שגם כאשר אנו מגדירים ל- Windows שיציג לנו את כל סיומות הקבצים, הוא לא תמיד עושה זאת. הוירוס הנ"ל היה כתוב כ- Shell Scrap Object, פורמט שמאפשר כתיבת קוד הרצה. לקבצים בפורמט הנ"ל יש סיומת SHS, ומסתבר שכאשר לקבצים יש את הסיומת הנ"ל, הסיומת הנ"ל תשאר מוסתרת גם כאשר הגדרנו ל- Windows שאנו רוצים לראות את כל הסיומות של כל הקבצים. מבחינה מסויימת זה יותר גרוע מהמקרה הקודם, כי אם במקרה הקודם, אנשים לא ראו את הסיומות אבל גם היו אמורים לדעת כי ה- Windows הוגדר כך שלא יציג את הסיומות, במקרה של ה- LifeStages , לא כך הוא. אנשים שהגדירו את העדפות התצוגה שלהם כך שהם רואים סיומות יכלו להניח, ובצדק, כי אפשר לסמוך על Windows שתציג להם את הסיומות המלאות של הקבצים. בצורה הזאת אותם אנשים שקיבלו לידיהם את הקובץ Life_Stages.TXT לא יכלו לדעת שלמרות שהגדרות התצוגה שלהם, הן תמיד להראות את סיומות הקבצים, במקרה הנ"ל הם אינם רואים את הסיומות, והשם המלא של הקובץ הוא Life_Stages.txt.shs.

גם כאן יכלו המשתמשים הבקיאים להתגבר על הבעיה, אך הפעם הם נדרשו לבצע שינויים בקבצי ה- registry. קבצי ה- registry הם קבצים שבהם מוגדרות כל ההגדרות (או מרבית ההגדרות) הנחוצות ל- Windows, לצורך פעולתה. יש אפשרות להכנס ל- registry, דרך למשל פקודת ה- DOS, שנקראת regedit, לחפש את הערך, NeverShowExt, ולמחוק אותו, או להחליף אותו (קרי לשנות את שמו) ל- AlwaysShowExt. עבור סוג קבצים מסויים, NeverShowExt אומר ל- Windows לא להציג את שם הקובץ גם כאשר הגדרת התצוגה היא תמיד להציג את הסיומות. AlwaysShowExt, אומר תמיד להציג את השם המלא כולל סיומת, גם אם הגדרות התצוגה הן לא להציג סיומות. כך ניתן לעבור על כל ההופעות של NeverShowExt, ולגבי כל אחת מהן (בהתאם למקום בו היא מופיעה) לבטל את הערך או להחליף את שמו. השיטה הזאת אכן עבדה בנוגע לקבצים כאלו (כגון SHS ויש עוד סיומות עם מאפיינים כאלו, כגון shb ,mad ,mam ,pif ,url, ועוד).

אבל מסתבר שגם זה לא ממש מספיק.
לפני כחודש נתגלה וירוס חדש, שמו Postcard , והוירוס הנ"ל מתאפיין בכך שהסיומת שלו היא ה- Class ID של האובייקט שהוא מתיימר להיות.
מסתבר שכאשר רושמים בתור סיומת של קובץ מסויים את ה-CLSID שמתאים לאובייקט בתוך הקובץ (למשל רושמים את ה- classid של קובץ HTML) אז windows מתיחס אל האובייקט (קרי הקובץ) כאל אובייקט ששייך ל- class הנ"ל, והאפליקציה המתאימה ל-class הזה תפעיל את הקובץ. כך עבד וירוס ה- Postcard. הנקודה החשובה לצורך מכתבי זה, היא שכאשר ניתנת לקובץ מסויים סיומת של classid (כולל הסוגריים המסולסלים, שבד"כ מסמנים classids), אז הסיומת מוסתרת והטריקים של הסרת ה- NeverShowExt כבר לא עובדים. אמנם לקובץ אין את הצלמית הנכונה, אבל דוקא אלו שהשתמשו בכל הטריקים לחשיפת סיומות הקבצים, עשויים לסמוך על זה יותר מדי, ולא לשים לב לצלמית הלא מתאימה. דוגמא לקובץ כזה ניתן למצוא באתר של גיאורגי גונינסקי: http//:www.guninski.com/clsidext.html .

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

0
walla_ssr_page_has_been_loaded_successfully