המושג “DLL Hell” אינו זר לכל מי שהיה פעיל בעולם המיחשוב בסביבת חלונות בשנים האחרונות. בגדול, מדובר על התופעה שבה תוכנות שונות מתקינות DLLים שונים בעלי אותו השם, וכך הורגות אחת את השניה.
בשנים האחרונות, מיקרוסופט ניסתה להלחם בתופעה בדרך מקורית. הרעיון – אין יותר מיקום משותף של DLLים. כל תוכנה משתמשת בהעתקים שלה. בעוד שזה אכן פותר את רוב הבעיה המקורית, בן אדם שואל את עצמו למה לשתף קוד באמצעות ספריות, אם אחר כך ממילא הספריות מקבלות העתק לכל תוכנה.
על פניו, מה זה בעצם משנה? הרי הדיסקים של היום כל כך גדולים שאין סכנה שייגמר המקום רק מזה שאני סוחב עימי ספריות זמן ריצה (Dynamic Link Libraries) של עשרות תוכנות אחרות. נכון?
כמעט נכון.
כאשר יש בעיית אבטחה באחת הספריות, מסתבר שכבר בכלל בכלל לא פשוט להחליף אותה. לא מזמן התגלתה בעיית אבטחה בפיענוח תמונות מסוג jpeg ע”י ספריה של מיקרוסופט בשם “GDI+”. והנה, מסתבר שבכלל בכלל לא פשוט לבדוק האם אתה פגיע. אז, אוקיי, הכלי של מיקרוסופט לא מסוגל להגיד לכם. אוקיי.
עכשיו, אבל, CERT מוציאה רשימה ארוכה ארוכה של תוכנות שפגיעות. בהצלחה בשידרוג.
ולכל מי שאומר “אבל בלינוקס זה אותו הדבר”…..
בלינוקס, תוכנה לא מביאה איתה ספריות שלא שייכות לה. במקום זאת, מנגנון ההתקנה מייצר תלות באותה הספריה, מה שמבטיח שהספריה תהיה מותקנת על המחשב כשהתוכנה עובדת. כתוצאה מכך, בכל מקרה של צורך בשדרוג של ספריה, יש צורך לשדרג אך ורק חבילה אחת. במילים אחרות – בעיית DLL Hell כלל אינה קיימת.
שחר