03-10-2007, 13:00
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,775
|
|
אז כבר לא כל הפורטים סגורים, אה?
בכל אופן, לשאלתך, כן ולא.
רוב הפריצות דרך האינטרנט מרחשות באחת מהשיטות הבאות:
1. שיטת המשתמש הטיפש מאוד: דואגים שהמשתמש יקבל סוס טרוייאני למחשב שלו ויריץ אותו. וריאנט של הנ"ל שמסתובב בין ההמונים בחודשים האחרונים הוא הודעה במסנג'ר שתוכנה משהו כמו "Have you seen me naked?" ולאחר מכן שליחה של סוס טרוייאני בתוך קובץ ZIP שמנצל את העובדה ש XP פותח אותם באופן שקוף, וכנראה עוקף גם את האנטי וירוסים בדרך. כל מי שטיפש מספיק לפתוח את הזיפ ועוד אחר כך להריץ את ה EXE שבתוכו, גורם להמשך הפצת התולעת דרך המסנג'ר שלו. מה התולעת עושה עוד חוץ מלהפיץ את עצמה? לא יודע, לא בדקתי. אבל היא כמובן יכלה לאפשר שליטה מרחוק (ואין צורך בפורט פתוח פנימה, היא יכולה להתחבר החוצה על דעת עצמה למקום ידוע מראש וככה לאפשר שליטה. כמובן ששימוש בפיירוול שחיצוני למחשב שמוגדר לחסום את התעבורה המסויימת הזאת, היה חוסם את זה...)
2. שיטת המשתמש התמים: האדם הממוצע שמריץ "חלונות", גולש עם "אקספלורר" וקורא דואר אלקטרוני עם "אאוטלוק" - ומדוע שלא יעשה כך? תירוצים אופייניים: "מיקרוסופט היא חברת התוכנה הגדולה ביותר בעולם, המוצרים שלהם חייבים להיות הטובים ביותר!", "זה נוח" - ותירוצי המחץ: "למה שמישהו ירצה לפרוץ לי למחשב" וגם "לי זה לא יקרה". לכל אלה אפשר פשוט לשלוח מייל או לגרום להם להיכנס לאתר שמנצל אחד מרבבות הבאגים שיש בכל המוצרים הנ"ל - מבלי שהתקין שום תוכנה בדבל קליק (כמו המשתמש מ-1...)
3. שירותים פתוחים לאינטרנט בברירת מחדל: כאן נופלים רוב המשתמשים שאינם תמימים/טפשים מאוד. ישנה מערכת הפעלה מסויימת מאוד שבשביל לעבוד חייבת ששירותים מסויימים ירוצו ויאזינו לחיבורים מהאינטרנט - למשל RPC. הדרך היחידה למנוע גישה אליהם - היא פיירוול. עד לפני שנים בודדות, לא היה אחד כזה מובנה במערכת ההפעלה, וגם כיום שיש, לפעמים אנשים מכבים אותו מסיבות שונות (ומוצדקות...). השירותים האלה לא אמורים להאזין בכלל לרשת, ואני באופן אישי מסרתי את הטענה הזאת להנהלת המוצר של חלונות מספר פעמים. מאז כבר יצאו כמה מערכות הפעלה, אבל התנהגות ברירת מחדל זו לא שונתה. כנראה שהם מבינים יותר ממני...
4. פריצה באמצעות באג באפליקצייה מרובת משתמשים - כגון רשתות מסרים מיידיים ו P2P - שבהן תוכנה ממחשב אחד יכולה להעביר מידע לתוכנה ממחשב אחר דרך שרת שיש לו חיבור שהוא "כבר פתוח". אמנם הפורטים מבחוץ חסומים, אבל מבפנים החוצה, זה פתוח... נגד אלה אין הרבה מה לעשות, חוץ מאשר להשתמש באפליקציות עם רקורד אבטחת מידע טוב (יש לשים לב לא ללכת שולל אחרי מספר בעיות אבטחה שהתגלו במוצרים, אלא לשים לב לחומרת הבעיות. "באג אבטחה" שמאפשר לצד המרוחק לגרום לתוכנה שלך להתרסק זה אולי מעצבן, אבל זה לא באג אבטחה. לעומת זאת, "באג אבטחה" שמאפשר לצד המרוחק לגרום לתוכנה שלך לבצע דברים שהוא מעוניין לבצע - זה וואחד באג...)
עד כאן ה "לא" של פורטים סגורים.
בסוף מגיע שלב ה"כן".
החיבור, כשאתה יוזם אותו, מגיע למערכת ההפעלה של מחשב מרוחק, שצריך להחליט מה לעשות איתו. כשהפורט סגור, הוא יגיב אלייך בחזרה ויודיע למחשב שלך על כך (ותקבל הודעת Connection refused בחיבור TCP) [הערה: בפרוטוקולי UDP זה קצת אחרת, ואני כבר גולש יותר מדי, אז לא אפרט על מה הולך שם] - ואם יש פיירוול עליו או פיירוול בדרך, הוא עשוי לחסום את ההגעה לקטע של החזרת ה refuse כי הוא חוסם את ה packet מלהגיע לעיבוד בכלל. במקומות אחרים, הפיירוול עשוי כן לאפשר לפאקט לעבור אבל לחסום רק את הפאקט החוזר שאיתו יוצר החיבור אמור לדעת שהחיבור היה refused.
היכן הבעייה? ש"בכל תוכנה יש באגים" - ומערכת ההפעלה - זו שאחראית לא לקבל את החיבור מהאינטרנט במקרה שלנו, גם בה יכולים להיות באגים. במקרה שלנו, באגים בחלק שמעבד תקשורת IP, באגים בקוד שקשור לכרטיס הרשת (תופעות אופייניות שאפשריות בבאגים כאלה: דליפת מידע שעבר בכרטיס הרשת לאחרונה, באגים שקשורים לשכבה 2, וכדו') - ועוד ועוד. אם אחד מהבאגים האלה יופעל כאשר יישלח מידע מסויים מאוד לעבר המחשב (מה שנקרא "specially crafted" בלע"ז ) - אז גם הפיירוול שלך לא יעזור לך במיוחד - כי זה עוד יקרה לפני השלב שהוא מסתכל על התעבורה... גם כאן, יש כל מיני דרכים להגביל מזיקים מסוג זה, אבל הסיבה שכתבתי את כל זה היא ש"תדע לך שזה אפשרי". זה לא עניין של מה בכך, וכמות הפריצות בצורה כזו היא בכמויות נמוכות מאוד (לדעתי...).
עד כאן להיום
|