ב APT זוהתה פגיעות המאפשרת לך להחליף חבילה להורדה

פגיעות הולמת

זוהה פגיעות במנהל החבילות APT (CVE-2019-3462), מה מאפשר לתוקף ליזום זיוף של החבילה המותקנת האם לתוקף יש שליטה במראת המאגר או שהוא יכול לשבש את תעבורת המעבר בין המשתמש למאגר (התקפת MITM).

הבעיה זוהתה על ידי חוקר האבטחה מקס ג'וסטיץ ', ידוע בזיהוי פגיעויות במנהל חבילות ה- APK (Alpine) ובמאגרי Packagist, NPM ו- RubyGems.

הבעיה הסיבה לכך היא אימות שגוי של השדות בקוד העיבוד להפניית HTTP.

מה הבעיה?

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

הפגיעות המזוהה מאפשרת את כוח התוקף החלף את החבילה המשודרת, שלאחריה APT יתפוס אותה כמתקבלת מהמראה הרשמית ותתחיל בתהליך ההתקנה.

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

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

כיצד אוכל לזהות את הבעיה?

מהות הבעיה היא שמטפל התחבורה ב- HTTP, עם קבלת תגובה משרת HTTP עם הכותרת "מיקום:", הוא מבקש אישור להפניה מהתהליך הראשי.

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

מכיוון שערך זה יפוענח ויועבר דרך ערוץ התקשורת עם התהליך הראשי, התוקף יכול לדמות תגובה שונה ממטפל התחבורה HTTP ולהחליף את בלוק ה- URI 201 דמה.

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

חישוב ה- hashes עבור הקבצים שהורדו מטופל והתהליך העיקרי פשוט בודק נתונים אלה באמצעות hashes ממסד הנתונים של החבילות החתומות.

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

התהליך העיקרי יקבל את קוד התגובה שהוחלף על ידי ההתקפה, יחפש את ה- hash במסד הנתונים ויחשוב שהחבילה שעבורה יש חתימה דיגיטלית נכונה נטענת, אם כי למעשה ערך השדה עם ה- Hash מוחלף ב- ערוץ תקשורת עם התהליך העיקרי באמצעות ההתקפה והקובץ שצוין במטא הנתונים שהוחלפו.

הורדת חבילה זדונית מתבצעת על ידי הצמדת החבילה לקובץ Release.gpg במהלך ההעברה.

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

בעת השגת נתונים, apt משבית תהליכי עובדים המתמחים בפרוטוקולים השונים שישמשו להעברת נתונים.

לאחר מכן התהליך העיקרי מתקשר עם עובדים אלה באמצעות stdin / stdout כדי לומר להם מה להוריד ואיפה לשים אותו על מערכת הקבצים באמצעות פרוטוקול שנראה קצת כמו HTTP.

התהליך הראשי יגיש את תצורתו ויבקש משאב ותהליך העובד יגיב.

כאשר שרת ה- HTTP מגיב להפניה מחדש, תהליך העובד מחזיר הפניה 103 במקום URI בוצע 201, והתהליך העיקרי משתמש בתגובה זו כדי להבין איזה משאב לבקש אחר כך.


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

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

*

*

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