מריאנה טרנץ ', מנתח הקוד הסטטי של פייסבוק

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

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

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

אנו חולקים פרטים אודות Mariana Trench (MT), כלי בו אנו משתמשים לאיתור ומניעת טעויות אבטחה ופרטיות ביישומי Android ו- Java. כחלק ממאמצינו לסייע בהיקף האבטחה באמצעות אוטומציה של בניינים, לאחרונה פתחנו את MT לתמיכה במהנדסי אבטחה בפייסבוק וברחבי התעשייה.

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

במחצית הראשונה של 2021 זוהו מחצית מכלל הפגיעויות ביישומי פייסבוק לנייד באמצעות כלי ניתוח אוטומטיים. הקוד של מריאנה טרנץ 'שזור קשר הדוק עם פרויקטים אחרים של פייסבוק, למשל, פעולת ייעול אופטימיזציית Redex byte -code משמשת לניתוח בית -קוד וספריית SPARTA משמשת לפרשנות ויזואלית ולחקר תוצאות. ניתוח סטטי.

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

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

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

מאז ב- MT, ניתן לתאר זרימת נתונים על ידי:

  • מקור: נקודת מוצא. זו יכולה להיות מחרוזת הנשלטת על ידי המשתמש שנכנס ליישום באמצעות 'Intent.getData'.
  • כיור: יעד. ב- Android, זו יכולה להיות קריאה ל- 'Log.w' או 'Runtime.exec'. לדוגמה, נתונים משיחה אל Intent.getData נחשבים כמקור לניטור, ושיחות ל- Log.w ו- Runtime.exec נחשבות שימושים מסוכנים.

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

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

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


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.