coordinated-disclosure · data-exposure · elasticsearch · aviation · apis · pii · default-credentials · vietnam

220 מיליון רשומות נוסעים: מסד נתוני נוסעים המקושר לווייטנאם נותר חשוף

Kinryū Labs איתרה מסד נתונים שהחזיק מידע מוקדם על נוסעים (Advance Passenger Information) עבור כל מי שטס אל וייטנאם או ממנה במהלך תשע שנים: 210,318,069 רשומות נוסעים ו-10,465,631 רשומות צוות אוויר, כשכל אחת מהן מקשרת שם, תאריך לידה ומספר דרכון למסלול טיסה מלא, עד לתווית הכבודה. המסד השיב עם פרטי ההתחברות שהם ברירת המחדל, שמעולם לא שונו. ההיקף נע מצוותי Aeroflot ו-Belavia ועד תיירים בלרוסים בקאם ראן. הגישה נסגרה ביוני 2026 בעקבות גילוי מתואם.

מאת Davis Zheng·

CWE
CWE-1392
Product
Elasticsearch 8.3.3 (APIS/PNR cluster)

TLP:CLEAR. Kinryū Labs גילתה את החשיפה הזו ב-3 ביוני 2026 במהלך מחקר על מסדי נתונים חשופים ודיווחה עליה באותו יום; הגישה נסגרה בתוך ימים ספורים. האיסוף בוצע בקריאה בלבד: נרשמו רק ספירות מצרפיות, טווח התאריכים, סכמת השדות ומספר קטן של צילומי מסך. בכל צילום מסך בדוח זה הושחרו השדות המזהים אדם: שם, מספר דרכון ותאריך לידה. שום רשומה פרטנית של נוסע או איש צוות לא נשמרה, פורסמה או שותפה מעבר לרשויות שיודעו במהלך הגילוי. כתובת המארח, הפורט ופרטי ההתחברות אינם נמסרים. זהות מפעיל המערכת לא אוששה.

תקציר

  • 210Mרשומות נוסעים
  • 10.4Mרשומות צוות אוויר
  • 9 שניםשל טיסות, 2017 עד 2026
  • 1,008חברות תעופה בנתונים

ב-3 ביוני 2026, במהלך סקר רחב של מסדי נתונים שהושארו פתוחים באינטרנט, מצאנו אשכול Elasticsearch בשם pax-info. Elasticsearch הוא מנוע מסד נתונים לחיפוש בכמויות גדולות של רשומות. האשכול הזה לא היה פתוח לרווחה לכל האינטרנט: בקשה שנשלחה אליו ישירות נדחתה. אך ניתן היה להגיע אליו דרך נקודת תצפית בענן, ומשהושגה הגישה, הוא קיבל את פרטי ההתחברות שהם ברירת המחדל של Elasticsearch, שם משתמש וסיסמה שנקבעו במפעל ומעולם לא שונו בידי המפעיל. אין בכך הגנה של ממש. מאחוריהם ישבו 220,783,700 רשומות נסיעה המשתרעות מ-7 בינואר 2017 עד 30 באפריל 2026.

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

הנתונים הם מידע מוקדם על נוסעים (Advance Passenger Information). לפני טיסה בין-לאומית, חברת תעופה שולחת למדינת היעד מצבת של מי שנמצא במטוס, כדי ששירות הגבולות יוכל לסנן מראש את כל מי שעל הסיפון. השדות מתוקננים בידי ICAO, סוכנות האומות המאוחדות הקובעת את כללי התעופה האזרחית. במילים פשוטות, אלה מקצת הנתונים הרגישים ביותר שמדינה מחזיקה על נוסעים מן השורה: לכל אדם, שם אמיתי ותאריך לידה הקשורים למספר דרכון, ותיעוד של לאן בדיוק נסע ומתי.

הערכות מרכזיות
  • ארכיון בן תשע שנים, ועדיין חי. 210,318,069 רשומות נוסעים ו-10,465,631 רשומות צוות אוויר, כשהחדשות ביותר בנות כחמישה שבועות. זהו ארכיון עבודה של מערכת מבצעית, לא עותק ישן שהושלך ונשכח. ביטחון גבוה, נמדד ישירות.
  • כל רשומה היא זהות בתוספת היסטוריית תנועה. שם מלא, תאריך לידה, מין ולאום, הקשורים למספר דרכון, לתוקפו ולמדינה שהנפיקה אותו, ולאחר מכן הטיסה: מספר, תאריך, שדות תעופה, מושב ותווית כבודה. יחד, שדות אלה הם חומר הגלם להתחזות ולזיוף מסמכים, ובנוסף יומן של המקום שבו שהה אדם נקוב בשמו ביום מסוים. ביטחון גבוה.
  • ההיקף היה גלובלי, והפירוט היה גרעיני. בין המובילות האוויריות נמנות Aeroflot ו-Belavia, מובילות הדגל של רוסיה ובלרוס; הנוסעים כוללים אזרחי הולנד, סין, בלרוס, קוריאה, יפן ועוד; והפירוט יורד עד למספרי תוויות כבודה בודדות. ההיקף הגיע גם לנוסעי המשך ולנוסעי מעבר, ולא רק למי שנסיעתם החלה או הסתיימה בווייטנאם. ביטחון גבוה.
  • לא הייתה פריצה, ולא היה ניצול פגיעות. האשכול קיבל את פרטי ההתחברות שהם ברירת המחדל היצרנית של Elasticsearch, שמעולם לא שונו, וממשק הרשת שלו עצמו הציע ייצוא JSON בלחיצה אחת. פרטי התחברות שהם ברירת מחדל מתועדים בפומבי והם הדבר הראשון שכל סורק מנסה. שום פגיעות תוכנה לא הייתה מעורבת. ביטחון גבוה.
  • הנתונים מקושרים לווייטנאם, אך זהות המפעיל אינה מאוששת. הם אוחסנו על תשתית של חברת הטלקום הממשלתית הווייטנאמית בהנוי, מובנים כהזנת ICAO ונשלטים בידי שתי המובילות האוויריות הגדולות בווייטנאם. איזה ארגון הפעיל אותם לא הצלחנו לקבוע, והרשויות הווייטנאמיות שיידענו לא הגיבו. ביטחון בינוני באשר לבעלות; האחסון והסכמה נצפו ישירות, המפעיל לא.
סקירת אשכול ב-Elasticvue המציגה את האשכול pax-info, צומת node-32, Elasticsearch גרסה 8.3.3, 29 אינדקסים, כ-220.79 מיליון מסמכים ו-107 GB בדיסק.
סקירת האשכול, שנקראה דרך נקודת התצפית בענן באמצעות פרטי ההתחברות שהם ברירת המחדל, שלא שונו. האשכול pax-info החזיק 29 אינדקסים וכ-220.79 מיליון מסמכים בנפח 107 GB. שני האינדקסים של הנוסעים והצוות מהווים 220,783,700 מהמסמכים הללו; היתר הם אינדקסים קטנים של נתוני ייחוס ובדיקה.

מה מכילה כל רשומה

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

מבנה של רשומה בודדת, כפי שרשמנו אותו כשכל ערך מזהה הושמט:

flightDate: 2026-04-30  flightNumber: VN0402  fromAirportCode: HAN (הנוי)  toAirportCode: ICN (סיאול-אינצ’ון)  guestNameOriginal: [REDACTED]  birthday: [REDACTED]  nationalityCode: [REDACTED]  documentNumberOriginal: [REDACTED]

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

מי נכלל במסד הנתונים

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

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

טבלה של רשומות צוות אוויר. עמודות שם איש הצוות, תאריך הלידה, שנת הלידה ומספר הדרכון מושחרות ומסומנות REDACTED. עמודת חברת התעופה גלויה וכוללת שורה של Aeroflot Russian, לצד Korean Air, All Nippon Airways, Eastar Jet ו-Colorful Guizhou Airlines. בתחתית נראה כפתור DOWNLOAD AS JSON.
רשומות צוות אוויר, כשהעמודות המזהות מושחרות. עמודת חברת התעופה, שהושארה גלויה, מדגימה את הטווח: Aeroflot Russian יושבת בין Korean Air ל-Eastar Jet, ומתחתיה Colorful Guizhou Airlines. כפתור Download as JSON בתחתית מימין הוא הממשק של האשכול עצמו: לא נדרש כלי מיוחד כדי לקחת את הנתונים.

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

טבלה של רשומות נוסעים שבה עמודות מספר הדרכון והשם מושחרות. העמודות הגלויות מציגות שדות תעופה של יעד ובהם דה נאנג, קאם ראן, הונג קונג, סינגפור צ'אנגי, שנגחאי וקואלה לומפור, וקודי לאום ובהם NLD (הולנד), CHN (סין) ו-BLR (בלרוס).
אותו אינדקס, בגלילה אל שדות הניתוב. הלאומים כוללים הולנדי (NLD), סיני (CHN) ובלרוסי (BLR); שדות התעופה מערבבים יעדי נופש וייטנאמיים (קאם ראן, פו קוק, דה נאנג) עם צמתים זרים (הונג קונג, סינגפור צ'אנגי, שנגחאי, מקאו). שתי השורות הבלרוסיות כאן מיועדות לקאם ראן.

עד לתווית הכבודה

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

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

כיצד ניתן היה להגיע לאשכול

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

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

רשימת אינדקסים ב-Elasticvue המציגה את crew-index עם 10,465,631 מסמכים ואת guest-v3-index עם 210,318,069 מסמכים, עם תאריכי יצירה: guest-v3-index נוצר ב-15 בספטמבר 2022, crew-index נוצר ב-23 במאי 2023, לצד אינדקסי ייחוס קטנים של חברות תעופה, שדות תעופה ומדינות.
רשימת האינדקסים. אינדקס הנוסעים (guest-v3-index) החזיק 210,318,069 רשומות ואינדקס הצוות (crew-index) החזיק 10,465,631, לצד טבלאות ייחוס קטנות. תאריכי היצירה, ספטמבר 2022 לאינדקס הנוסעים ומאי 2023 לאינדקס הצוות, מראים כמה זמן פעלה המערכת.

כיצד ספרנו את הנתונים בלי לקרוא אותם

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

אינדקס ב-Elasticsearch הוא בקירוב טבלה אחת. שני האינדקסים שהחזיקו בני אדם היו בגדלים הבאים.

  • 109,232,811רשומות המסומנות כזכר
  • 101,085,255רשומות המסומנות כנקבה
  • 1,008חברות תעופה הנקובות בנתונים
אינדקסרשומותגודל
נוסעים (guest-v3-index)210,318,06995.3 GB
צוות אוויר (crew-index)10,465,6314.3 GB

עשרים מובילות אוויריות עם יותר ממיליון רשומות

המערך החשוף מגיע להרבה יותר נוסעים מאלה של וייטנאם עצמה. הוא נקב ב-1,008 מובילות אוויריות, ומתוכן 20 החזיקו כל אחת יותר ממיליון רשומות.

מוביל אווירירשומות
VietJet Air45,820,123
Vietnam Airlines43,184,871
מובילות קוריאניות (Korean Air, Asiana, Jeju Air, Jin Air, Tway)~24.7 מיליון
מובילות סינגפוריות (Singapore Airlines, Scoot)~7.7 מיליון

גם Qatar Airways, Emirates, All Nippon Airways, Cathay Pacific ו-China Southern מחזיקות כל אחת מיליוני רשומות. שראש הרשימה מורכב משתי מובילות וייטנאמיות אינו מפתיע. שהיא ממשיכה משם דרך מובילות הדגל של קוריאה, המפרץ, יפן וסין הוא העיקר: אלה מעולם לא היו נתונים שרק וייטנאם עמדה לאבד. איננו יכולים לומר מתוך הרשומות איזה הסדר תיעל את מצבות הנוסעים של מובילות זרות לתוך מאגר יחיד המאוחסן בווייטנאם והשאיר אותן שם במשך תשע שנים.

היכן אוחסן האשכול

הערכנו ייחוס רק מתוך מה שכבר היה בידינו: רשת האחסון, ארכיטקטורת האינדקסים, תמהיל המובילות האוויריות, עדכניות הנתונים ומצב בקרת הגישה. האשכול ישב במרחב כתובות המוקצה ל-Viettel, חברת הטלקום הממשלתית של וייטנאם, תחת AS38731. ASN הוא המזהה של מפעיל הרשת שמאחורי כתובת אינטרנט, וזה רשום לפארק טכנולוגי בהנוי. הסכמה היא הזנת Advance Passenger Information של ICAO, ותמהיל המובילות מובל בידי שתי המובילות הווייטנאמיות, עם 45,820,123 רשומות ב-VietJet Air ו-43,184,871 ב-Vietnam Airlines. האחסון ותמהיל המובילות הללו תואמים למערכת הקולטת כל תנועה בין-לאומית דרך וייטנאם.

ההערכה שלנו עצמנו באותה עת:

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

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

על זהות המפעיל

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

גילוי

  • 3 ביוני 2026מצאנו את האשכול החשוף במהלך מחקר על מסדי נתונים פתוחים והתחלנו ליידע גורמים נפגעים ואחראים באותו יום: גופי CERT לאומיים, רשויות להגנת נתונים, גופי תעופה, וחברות התעופה שנוסעיהן נכללו במערך.
  • בתוך ימים ספוריםהמארח ירד מהרשת ולא היה עוד נגיש. החשיפה הספציפית נסגרה.

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

מה עדיין איננו יכולים לומר

החור הספציפי נסגר, אך השאלות הגדולות יותר אינן שלנו לענות עליהן:

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

אם אתם מפעילים מסד נתונים המחובר לאינטרנט

הטעות כאן נפוצה וזולה למניעה. לצוותים המפעילים Elasticsearch או כל מאגר דומה:

  • שנו את פרטי ההתחברות שהם ברירת המחדל, והשאירו את פורט הנתונים מחוץ לאינטרנט הציבורי. פרטי ההתחברות שהתוכנה מגיעה איתם הם ידע ציבורי; השארתם במקומם שקולה להיעדר סיסמה. הפעילו אימות אמיתי והציבו את מסד הנתונים מאחורי גבול רשת.
  • הניחו שכל דבר נגיש יימצא. סריקה של האינטרנט כולו היא רציפה ואוטומטית. המארח הזה קוטלג בידי סורק ציבורי שנים לפני שמצאנו אותו.
  • דעו היכן שוכנים הנתונים הרגישים ביותר שלכם, ומי יכול להגיע אליהם. הנזק כאן נובע ממאגר יחיד המחזיק נתוני זהות ותנועה של מאות מיליוני בני אדם, נגיש דרך נקודת תצפית באמצעות פרטי התחברות שהם ברירת מחדל שלא שונו. ערכו קודם כול מצאי של המאגרים הללו.
How to cite
Kinryū Labs (2026). 220 מיליון רשומות נוסעים: מסד נתוני נוסעים המקושר לווייטנאם נותר חשוף. https://kinryu.sh/he/reports/vietnam-apis-exposure/