היה וירוס?

לא, אבל נראה שיש מנוע.

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

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

למה ללינוקס אין וירוסים

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

למה אסור להיות שאנן

אין וירוסים אבל:
* יש לפעמים SSH פתוח או שירותים אחרים וסיסמאות קלות מדי.
* אנשים מתקינים תוספים לדפדפן שלהם בלי לדעת אם המקור אמין.
* כנ"ל אבל עוד פחות בדוק – סקריפטים לגריזמונקי.
* על שרתים לא מוקשחים, אתר מיושן אחד יכול להיות מנוצל לרעה (פרצו לי פעם לשרת והתקינו root kit דרך גרסא ישנה של PHP Nuke שמשתמש שכח למחוק).
ואלו כמובן רק כמה דוגמאות בולטות ונפוצות. אף אחת מהן, עד כמה שידוע לי, מכוסה ע"י ESET.

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

45 Replies to “היה וירוס?”

  1. "וירוסים לא כותבים את עצמם, ואנשים לא משקיעים במטרות נדירות כמו לינוקס"

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

    אני מניח שזה רק עניין של זמן עד שגם זה יקרה..

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

      לראיה, ראה את וירוס ה redalert שפרץ לשרתי IIS בעבר הרחוק.

      לסיכום, פרצה קוראת לגנב. ואם אף אחד לא קורא לו אז הוא לא בא.

  2. אתה אולי מתכוון לזה, ואכן זה ענין של זמן. אם אובונטו היתה 30% מהשוק אז זו היתה פלטפורמה ראויה להתקפה. כרגע גם אם לינוקס תגיע לרוץ על הרבה פלאטפורמות, אני עדיין לא רואה אותה כובשת 30% מעולם ה-GUI (שוב – טלפונים, טאבלטים, תחנות, קופסאות טלוויזיה וכולי) וגם אם כן, זו עדיין לא תהיה פלאטפורמה אחידה, זהה במבנה מערכת הקבצים, החומרה וכולי (וירוס ל- EEE-PC לא ירוץ על המיימו בטלפון שלי מכל כך הרבה סיבות).

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

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

    אם תוך שנה-שנתיים נראה שיש קפיצה מרשימה של הפצה ספציפית (למשל 15%+ מהשוק יוצף במכשירים מריצים Meego או אנדרואיד) אתה יכול לצפות שיהיה יותר סיכוי שיתחילו נסיונות כתיבת וירוסים לשם, אבל זה מאחורי הררי החושך כרגע, וספק ניכר אם זה יהיה בממדי Sasser וחבריהם, אז אני לא חושב שנראה בתחום הזה חרעף פוגע במאוורר.

  3. תרשו לי להרים את דגל הבולשיט: ** בולשיט!!! **

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

    המנכל שם הלך לכנסים ושאלו אותו "מה עם חוסם פופאפים?" (נעל דינק, משתמשים בפיירפוקס…), אז הוא עדכון את האלון שמגיע עם המחשב ואמר שחוסם פופאפים הוא built in.

    אחרי זה שאלו אותו "מה עם אנטי וירוס?" אז הוא התקין את clamv ואמר "הינה, יש אנטי וירוס!".

    אחרי זה שאלו אותו "אבל מתי האנטי וירוס רץ ובודק את המערכת?", אז סידרו את המחשבים כדי שיהיה בהם cron שמריץ את clamv בשלוש בבוקר כל יום.

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

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

  4. עירא, זה מאוד ורוד ולא מדויק.
    יש מליוני משתמשים המריצים לינוקס על המחשב שלהם או הסמרטפון שלהם – אפשר לבנות בזכותם בוטנט לא רע בכלל…
    אפשר להדבק בוירוס לא רק על ידי התקנת תוכנה אקראית מהאינטרנט אלא גם על ידי גלישה לאתר שנפרץ או פתיחת קובץ מצורף במייל או הורדת שומר מסך וכו'…
    וירוס לא צריך לרוץ כרוט, גם כמשתמש רגיל הוא יכול לפתוח ספריות חבויות, לשלוח הררי ספאם לרשימת תפוצה שהוא מוריד וכמובן, להתחבר לרשת ולהוריד פרצה עדכנית – רוב המוחלט של ההפצות לא מתקנות מהר פריצות מסוג local privilege escalations וכמובן שלא חוסמות ב-firewall יציאה החוצה מהמחשב.
    גרסאות הקרנל הם אולי שונות אבל באגים בקרנל לרוב יכולים להשפיע על כמות גדולה של גרסאות, ביחוד הבאגים מהסוג "הזניח" שמאפשר לתוכנית מקומית להפוך לרוט.
    בקיצור, זה רק ענין של זמן ורצון.
    מצד שני, לא הייתי בונה על אנטי וירוס. הדרך היחידה להתנקות לטעמי היא להתקין מחדש או לחזור מגיבוי.

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

        1. > גלישה באתר שנפרץ מסוכן כי הוא יריץ לך קוד ג'אווה סקריפט שמנצל

          מה בדיוק?

          > בעיות קונפיגורציה

          שם כללי.

          > או פרצות בדפדפן שלך

          עוד שם כללי.

          > כדי לשתול ולהריץ קוד זדוני.

          עדיין סתם הפחדה.

          > כמעט כל פריצה קריטית בדפדפן מאפשרת את זה – הרצת קוד מהרשת מחוץ לדפדפן.

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

          > תוכנות הדואר לרוב יודעות להציג מייל מבוסס HTML

          נכון.

          > ולכן עשויות להיות רגישות לפריצה כזאת.

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

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

          אם זה כ"כ קל, אנא הצבע. רמז: http://packages.ubuntu.com/openoffice.org . איפה שכתוב בכתב אדום "security", מדובר על עדכון אבטחה.

          1. אתה באמת לא מבין מה זה פרצה קריטית בדפדפן או שאתה מתמם?
            תן לי לצטט מהאתר של מוזילה:
            Critical: Vulnerability can be used to run attacker code and install software, requiring no user interaction beyond normal browsing.
            כל עדכון אבטחה של פיירפוקס מתקן לפחות אחת כזאת, לרוב כמה כאלו:
            http://www.mozilla.org/security/known-vulnerabilities/firefox36.html
            http://www.mozilla.org/security/known-vulnerabilities/firefox35.html
            אם זה נראה לך "סתם הפחדה", אין לנו שום שפה משותפת כנראה. תמשיך לחיות בסרט.
            לגבי אופן אופיס – אל תפנה אותי לאובונטו, שם החבילה לאובונטו 10.4 היא בגרסה 3.2.0 ועוד לא מעודכנת ל3.2.1. הייתי מתחיל להסתכל דוקא פה:
            http://development.openoffice.org/releases/3.2.1.html
            ספציפית חפש jl149 Security fixes.

            1. ביקשתי ממך משהו שאמור להיות פשוט לאור סימן הקריאה אצלך. החבילה של OpenOffice באובונטו היא אמנם של גרסה 3.2.0, אך עודכנה בראשון ביוני:
              http://changelogs.ubuntu.com/changelogs/pool/main/o/openoffice.org/openoffice.org_3.2.0-7ubuntu4.1/changelog
              באותו תאריך עדכנו גם חבילה עבור הפצה קודמת עם גרסה חבילה אשר מבוססת על 3.1.1:
              http://changelogs.ubuntu.com/changelogs/pool/main/o/openoffice.org/openoffice.org_3.1.1-5ubuntu1.2/changelog

              לא צריך ללכת רחוק. אפשר לקרוא את:
              http://www.openoffice.org/security/bulletin.html
              ואפשר לראות שמ:
              http://cve.mitre.org/cgi-bin/cvename.cgi?name=2009-3555
              http://cve.mitre.org/cgi-bin/cvename.cgi?name=2010-0395
              יש קישורים גם לתיקונים של אובונטו.

              דרך אגב, אתה עדכנת כל עותק של JRE שמסתובב במחשב שלך מאז שיצאה הודעה על הבעיה השניה?

  5. אופיר, איזו תוכנה אקראית מהרשת בדיוק? מתי לאחרונה הרצת שומר מסך שלא הגיע עם YUM או APT?

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

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

    1. אתה באמת חושב שאין ב-Evolution או בkmail למשל אף פירצה של גלישת זיכרון שאפשר לנצל? בתוכנות גדולות וטובות ממנה מצאו (לדוג' chrome שנכתב עם מודעות לאבטחה), אז שדווקא בה לא תהיה?

      אחרי שאתה מריץ קוד על המחשב שהתקפת, אז ראשית כבר יש לך רשת של רובוטים, בלי root, וגם לא קשה היום להשיג root ע"י רמיה של המשתמש (תתחזה לעדכון של fedora).

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

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

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

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

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

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

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

          1. כרום אינו דפדפן בשל. בוא נסתכל מה קורה עם תוכנות רציניות על מערכת רצינית:
            http://www.redhat.com/pdf/security/RHEL4_RiskReport_5yr_wp_1619397_0310_ma_web.pdf
            ר' גם:
            http://www.awe.com/mark/blog/tags/metrics

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

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

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

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

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

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

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

            אנטי־וירוס חשדן כזה ייתן הרבה יותר מדי התראות שווא.

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

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

            2. להוסיף אתר לרשימת המקורות זה בסדר? כלומר לגרום לזה שבפעם הבאה שעדכון התוכנה הבא של vrms‎‎‏[1]‎ ישתמש בחבילה של גוגל ש"במקרה" מתעלמת מכרום בדיווח החודשי שלה זה בסדר?

              אין לי בעיה לכתוב סקריפט שייצור קובץ ב־‎/tmp ויריץ אותו משם (אפשר להשתמש ב־mktemp ליצירת שם הקובץ, ויש לזה שימושים לגיטימיים). אותו סקריפט במקרה גם יערוץ איזשהו קובץ תחת ‎/etc/runit.d וזה יורץ בכל אתחול.

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

              ‎[1] http://packages.debian.org/vrms
              [2] http://lwn.net/Articles/292872/

            3. סקריפט שמריץ דברים ב-/tmp היה הדרך שבה פרצו לי למחשב דרך PHPNUKE, הפתרון היה לחבר את המחיצה שלו עם noexec, בתקווה שרוב הסקריפט קידיז לא מנסים לעשות שטויות במקומות אחרים.

            4. אני לא מבין, זה שאי אפשר לדעת ב-100% אם תוכנה היא זדונית או לא, אומר שאי אפשר לתת הערכה סבירה? זה שאי אפשר לפתור בעיות NP שלמות, אומר שאי אפשר לתת קירוב טוב ללו"ז של טיסות?

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

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

            5. תן הגדרה של "סקריפט אתחול".

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

              לדוגמה: האם אתה יכול להגיד מה עושה הקוד הבא בלי להריץ אותו?

              $_=q;rtc!^z%-<%^Z1\??0-%}<%:<04*%:'20}23-%^<%:zbis%:|_#]bb#-.!.''rmddq!0-q;.q
              ashou:%-''dw`m#^!%--#y3|$:"9v#p3c'l1l.{5"/h2w"f6e7g;l(m%va.
              q@="8q&j?g+"4c-r$p0g<c,v:j_:^!08@,s@.@$&^"\ca"@egg;eval,f|u?x7^@-^O_.Y:d#[Z?]

              רמז: המקור הוא http://pamlikespunk.net/

              זה בפרל. אבל אפשר לעשות בקלות דברים מבלבלים באותה מידה בכל שפה שיש בה eval.

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

              (ואו. פרל היא לא סתם שפה פרקטית. היא גם שפה תאורטית שעוזרת להוכיח ש־P!=NP. חסר לנו רק לגלות שהשתמשו בה לבריאת העולם)

            6. סקריפט אתחול, סקריפט שרץ כל פעם באיתחול המערכת. תוכנה שלא מתקינה כלום לא אמורה לנגוע בו.

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

              אני שוב מבקש שתעיף מבט ב-winpooch, ותראה מה הוא עושה.

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

              רד־האט משקיעה המון עבודה ב־SELinux. זה משהו שמתקרב ביכולותיו לדבר האידאלי שעליו אתה מדבר.

              לדוגמה: http://danwalsh.livejournal.com/31146.html ובכלל מה שדן וולש עובד עליו.

              מנגד יש מי שטוען שמדובר על משהו מסובך במקצת:
              http://lwn.net/Articles/393130/

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

              (תזכורת: למה סורקי וירוסים לא התריעו על הרוגלה שסוני שתלה? מסיבות דומות)

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

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

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

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

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

              כמו שהזכרתי כבר, היום אני תמיד מפחד קצת כשאני לוחץ על הGUI שמבקש ממני להתקין עדכונים באובונטו, שמא זה סוס טרויאני שקיבלתי יחד עם האימייל, ואני נותן לו עכשיו root. (ולא, אני לא אוודא את זה כל פעם בשורת פקודה, כי אני רוצה מ"ה שתשרת אותי ולא הפוך, טוב לי לקבל התראה כשיש עדכונים, ולהחליט אם אני רוצה להתקין אותם).

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

              תזכורת (קישורים מלמעלה): כבר כמה שנים טובות יש כל מיני מודולי קרנל ל"סריקת וירוסים" בלינוקס. כצפוי ממודול שלא בעץ הראשי, מדובר על קוד שלא עבר review נורמלי.

              בעקבות לחץ מאסיבי של לקוחותיה, החליטה רד־האט להשקיע זמן של מפתח מסכן שלה בהוספת ממשק אחיד לסורק וירוסים בלינוקס. אחת התוצאות הברורות של אותו הדיון היא שיצרני ה"אנטי־וירוסים" לא הצליחו להגדיר אפילו מודל איום מוגדר.
              http://lwn.net/Articles/292872/

              בהמשך, אותו מפתח הצליח להגדיר הגדרה פשוטה של מה רוצים לעשות:

              This is a file scanner. There may be all sorts of marketing material or general beliefs that they provide security against all sorts of wide and varied threats (and they do), but in all reality the only threats they provide any help against are those that can be found by scanning files. Simple as that. Some may argue this isn't "good" security and I'm not going to make a strong argument to the contrary, I can stand here for days and show cases where this is highly useful but no one can provide a threat model more than to say, "we attempt to locate files which may be harmful somewhere in the digital ecosystem and try to deny access to that data."

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

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

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

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

            11. וואו, כמה דברים:

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

              2) מה הקשר בין קוד סגור לבין בקרת עמיתים? קוד סגור יכול להיות מבוקר היטב (כמו קוד שקשור לצפינה במיקרוסופט, שלפי מדיניות חברה לא יוצא בלי שעברו עליו כמה עיניים), ויכול להיות קוד פתוח ללא בקרת עמיתים, כמו השינוי הזכור לרע בדביאן שהעיף חלק מהקוד בSSH שהשתמש במידע לא מאותחל (בשביל לקבל אקראיות…). הקוד היה פתוח כמו השערים של העיר העתיקה, אבל היתה עליו בקרת עמיתים כמו על החפירות בהר הבית של הוואקפ (שים לב, זה לא הקוד של SSH בכלל, זה הקוד של SSH שנכנס לדביאן).

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

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

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

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

    2. הי עירא,
      בחיים הכל יכול לקרות… הנה דוגמא עדכנית להפצת תוכנה זדונית ללינוקס דרך אתר ידוע – gnome-look.org. הפרטים פה:
      http://lwn.net/Articles/367024/
      זה בדיוק התסריט שחיפשת, לדעתי. בכלל, ברגע שמדובר במליוני משתמשים, הכל יכול לקרות והכל יקרה.
      בכל מקרה, מספיק שתקבל במייל קובץ זדוני שמכוון ללינוקס ותנסה לפתוח אותו באופן אופיס או בכל תוכנה רלבנטית ואתה תדבק. לא צריך להיות גאון כדי להבין את זה. גם די קל למצוא פרצות – למשל, תעבור על לוג השינויים של OO3.2.1 ואני בטוח שתמצא דברים שניתן לנצל נגד משתמשי אובונטו, שלא קיבלו עדיין עדכון לחבילה.
      ועדיין, לגבי אנטי וירוס – מכיוון שתוכנות זדוניות היום מתחברות מייד לאינטרנט כדי להוריד באופן דינמי דלתות אחוריות ושאר מרעין בישין לשתול במחשב שלך, מאוד קשה לנקות אחריהם בצורה אמינה. אני אישית לא הייתי סומך על אנטי-וירוס שידע מה בדיוק הוירוס עשה.

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

    1. זכור לי שהיו מספר (מאוד קטן) של תולעים. לדוגמה:
      http://lwn.net/Articles/159297/

      היא השתמשה בפרצות אבטחה אשר תוקנה זה מכבר. ר' גם
      http://lwn.net/Articles/159727/

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

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

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

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

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

    כאשר ידוע שכולם ישתמשו ב Outlook של Office 2007 ו 2010 קל יותר לכתוב לזה ווירוסים.
    כאשר אני יודע שאני יכול להריץ ActiveX בלי אישור המשתמש ולהריץ מה שאני רוצה, קל לי מספיק בשביל לכתוב משהו בשביל זה.

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

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

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

        דרך אגב – עירא – החל מרמת שרשור מסויימת לא ניתן להמשיך להגיב… אני נאלץ לענות לצפריר פה.

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

        לגבי open office, העדכון הגיע למאגרים של אובונטו 12 יום לאחר שחרור הגרסה והקוד. זה לא רע אבל יש מקום לשיפור. כל מה שניסיתי להגיד הוא שקיימות פרצות אמיתיות שניתן לנצל בחלון זמן כלשהו. למשל, על האובונטו שלי ניתן לנצל עכשיו את ארבעת הפרצות הקריטיות של firefox 3.6.4, כיוון שעוד לא קיבלתי עדכון (מעניין עם העדכון הזה הולך להתעכב, כי בגרסה הזאת יש גם שינויי התנהגות משמעותיים כך שאני לא יודע עם קנוניקל תעביר אותה כמו שהיא למאגרים שלה).

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

          לדוגמה, לי די ברור שאם הייתי נתקל בעצמי בחבילה האמורה מ־gnome-look.org הייתי מזהה מייד שהיא עושה דברים לא רצויים: היא לא מגיעה ממאגר אמין, ולכן רצוי שאקדיש תשומת רבה יותר לסריקתה, ואמנם סריקה פשוטה שלה היתה מגלה את הדברים החשודים (שבמקרה של אותה החבילה כלל לא הסתתרו עמוק).

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

          לגבי המהירות: פרצת האבטחה ב־JRE תוקנה באובונטו כמה חודשים לפני פרסום העדכון של OpenOffice:
          http://lwn.net/Alerts/382530/

          לגבי הבעיה ב־OpenOffice.org עצמו: אכן פשלה של אובונטו. לא מדובר על בעיה חדשה במיוחד, לפי מה שאני מבין. דביאן, לדוגמה, תיקנו אותה כמה חודשים קודם לכן:
          http://packages.debian.org/changelogs/pool/main/o/openoffice.org/openoffice.org_2.4.1+dfsg-1+lenny7/changelog
          כלומר כבר במרץ הוקצה לחור האבטחה הזה מספר CVE. אבל משתמשי OpenOffice.org שסומכים על עדכונים מהיצרן נאלצו לחכות עוד כמה חודשים עד מאי־יוני. זה מה שקורה כשמאפשרים רק שדרוגים ולא תיקוני באגים קטנים. – חייבים לחכות לגרסה הבאה.

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

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

  8. אופיר, תענה איפה שבא לך. אני אישית לא אוהב תגובות מקוננות כ"כ אבל הקהל רצה. שתי הסיבות העיקריות נגד זה הן האטה של האתר (קוד PHP יותר מורכב) והעובדה שוורדפרד מגביל לך את עומק השירשור (6 במקרה שלי, 10 מקסימום אבל אז זה לא קריא.)

כתיבת תגובה