פורט פרטי אינו מעיד על התוכנה שמאחוריו
נגישות ושלמות תוכנה הן בקרות נפרדות. חשיפת XZ היא סיבה לבדוק את שתיהן, לא להתייחס לפורט פרטי כאל חבילה מתוקנת.
זהו אינסטינקט סביר: אם רק ה-VPN מגיע למאזין SSH, החשיפה קטנה והבעיה טופלה. אולם חשיפה אינה שווה לשלמות. החצי הראשון נכון והשני אינו נובע ממנו. נגישות קובעת מי רשאי לנסות חיבור; שלמות תוכנה קובעת מה יעשה המאזין כשיגיע אליו חיבור. שער מצמצם את הקהל ואינו אומר דבר על הקוד שמאחוריו.
פורט פרטי הוא דלת קטנה יותר, לא מנעול אחר, וההבחנה הזו קובעת מה תבדקו בהמשך.
שתי בקרות, שתי שאלות
הגבלת רשת מפחיתה חשיפה. היא מותירה משתמשים מורשים, וכל לקוח מאושר שנפרץ, מסוגלים להגיע לשירות הפגוע. תיקון החבילה משחזר את התוכנה, והוא גם אינו מצמצם הרשאת רשת רחבה מדי. כל בקרה עושה את עבודתה, וכל אחת יכולה להיות נכונה בעוד השנייה חסרה. בחינה של שתיהן יחד היא הדרך שבה צוות משכנע את עצמו שאחת מכסה את שתיהן, וזו בדיוק הטעות שעליה עוסק המאמר הזה.
נקודת הקצה של ה-VPN היא גם תוכנה, והיא נושאת את אותה חובה. הוספתה לנתיב מכניסה חובת תחזוקה משלה, והיא אינה מסירה את האחריות של שרשרת האספקה לשום דבר שמאחוריה.
מה באמת הדגימה חשיפת XZ
חשיפת XZ/liblzma ממרץ 2024 תיארה דלת אחורית שעלולה להוביל לפריצת שרת SSH בתנאים מושפעים. זו הייתה בעיית שלמות תוכנה לא פחות מבעיית חשיפה, והיא לא הייתה הוכחה שכל התקנת Linux נשאה את הבנייה הפגיעה. ההיקף נובע מהגרסאות המושפעות ומן ההפצות שהעבירו אותן, ולא משם משפחת מערכת ההפעלה.
ההבחנה הזו היא ההבדל בין תגובה לאירוע לבין שמועה, וראוי להיות קפדניים לגביה.
סגירת הפורט אינה התאוששות
אם הפריצה אולי כבר התרחשה, שינוי הנגישות אינו התאוששות. דלת אחורית שהורצה כבר קיבלה את ההזדמנות שלה; כלל חומת אש אינו נוסע אחורה בזמן. פעלו לפי נוהל האירועים המאושר עבור המארח ועבור כל אישור גישה שנחשף, ושמרו את הראיות הדרושות כדי לקבוע מה באמת הורץ. בנייה מחדש ממדיה ידועה כטובה היא בדרך כלל חלק מהשיחה הזו.
השתמשו גם בהודעה המאומתת העדכנית ובתהליך התיקון של ההפצה, וקראו את רשימת הגרסאות המושפעות ולא את הכותרת. העתקת פקודת שדרוג לאחור היסטורית לסביבה לא קשורה היא הדרך שבה תיקון הופך לחשיפה חדשה.
בדקו את שתיהן, בנפרד
שאלו את שתי השאלות במונחים שלהן. מי יכול להגיע למאזין, והאם הקהל הזה הוא בדיוק הקהל שהשירות מיועד לו? איזו גרסה של התוכנה מותקנת, מי חתם על הארטיפקט, ואיך הארגון מגלה על מהדורה גרועה לפני שהוא קורא עליה בחדשות? התשובות שייכות למסמכים שונים עם בעלים שונים, ואף בעלים אינו יכול לענות במקום האחר.
עבור צי מנוהל, מלאי תוכנה הוא הבקרה שמאפשרת בכלל לענות על השאלה השנייה. בלעדיו כל חשיפה הופכת לפרויקט ארכיאולוגיה עם מועד יעד.
שער מצמצם את הקהל. שלמות היא שקובעת אם לקהל יש חשיבות.