חזרה
USENIX: התקפות data-only קלות בהרבה מכפי שנחשב
SiTech AI Team2 წთ. საკითხავი

USENIX: התקפות data-only קלות בהרבה מכפי שנחשב

חוקרים מ-VUSec בנו את הכלי Einstein שמייצר אוטומטית התקפות data-only: התוכנית אינה משנה את זרימת הבקרה, אך פועלת עם ארגומנטים זדוניים ועוקפת הגנות עדכניות בכלי פופולריים.

כלי שפיתחה קבוצת VUSec באוניברסיטת Vrije Universiteit באמסטרדם מייצר אוטומטית התקפות data-only — שוֹנוֹת-ניצול שאינן מסיטות אף פעם את זרימת הבקרה של התוכנית — בקלות רבה בהרבה מכפי שהעריכו בתחום האבטחה. התוצאות מתוארות במאמר של USENIX ;login: בשם ״Data-Only Attacks Are Easier than You Think״ (1 ביולי 2024).

מהי התקפת data-only

ניצול קלאסי משתלט על זרימת הבקרה בכך שהוא כותב מחדש מצביע לקוד — נתיב ש-DEP, CFI ו-CPI הפכו לקשה מאוד. התקפת data-only מאפשרת לתוכנית לבצע כל פונקציה וכל קריאת מערכת שהתכוונה לבצע, אבל עם נתונים זדוניים, כך שרק הארגומנטים משתנים.

איור: לקוח תקין ולקוח זדוני מול השרת

שכתוב נתיב ה-CGI-BIN של שרת

הדוגמה היא שרת אינטרנט שמשתנה התצורה cgi_bin_path שלו מצביע על ‎/usr/local/server/cgi-bin‎. באג memory safety — מהסוג שלפי Microsoft, Google ו-Mozilla מהווה כ-70% מבאגי האבטחה שלהם — מאפשר ללקוח זדוני להציף מאגר ולשכתב את הנתיב ל-‎/bin‎. בקשת ״POST /sh״ עם ‎touch /tmp/attacker-was-here‎ גורמת לשרת לשרשר את השניים ל-‎/bin/sh‎: execve מריץ את המעטפת והקובץ נוצר. הקורבן אינו מריץ קוד של התוקף — רק ארגומנטי קריאת המערכת שונים.

Einstein והמספרים

שם הכלי הוא Einstein, על שם הציטוט המיוחס ל-Albert Einstein. הוא מכוון לקריאות מערכת — הממשק האuniversלי אל הגרעין — ומשתמש בניתוח taint דינמי כדי לעקוב אחרי אילו ערכים שהתוקף יכול להשחית מגיעים לארגומנטים של קריאות רגישות כמו execve או write; מועמדים נלקחים מ-identity data flow, כלומר ארגומנטים שהם העתק מילולי של נתונים בשליטת התוקף. התוצאות: 1,834 קריאות כאלה ב-httpd, 1,623 ב-nginx, 2,105 ב-postgres, 218 ב-redis ו-92 ב-lighttpd; מלבד postgres, ל-82–98% היה identity data flow. די היה בערכות בדיקה בכיסוי 27–49%, ועבור nginx לבדו אישר Einstein 944 ניצולים, ושניים מהם עוקפים הגנות עדכניות.

למה זה חשוב למגינים

התקפות data-only שוברות הנחה שעליה נשענות ההגנות של ימינו. להשתלטות על זרימת הבקרה היה יעד מוגדר היטב — מצביע לקוד שמזין הסתעפות עקיפה — ולכן DEP, CFI ו-CPI יכלו להיות גם מקיפים וגם מעשיים. מכיוון שהתקפת data-only יכולה לקלקל כל נתון, טוענים המחברים שההגנה נגדה יכולה בדרך כלל להיות רק אחד מהשניים: memory safety מלאה או data-flow integrity עולים בביצועים, בעוד אמצעים מעשיים כמו סינון קריאות מערכת אינם מקיפים.

SSiTech

SiTech — פיתוח אתרים בכוח ה-AI

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