coordinated-disclosure · data-exposure · elasticsearch · aviation · apis · pii · default-credentials · vietnam
220 میلیون رکورد مسافر: یک پایگاه داده مسافران مرتبط با ویتنام که باز رها شده بود
کینریو لبز پایگاه دادهای را یافت که اطلاعات پیشاپیش مسافران را برای همه کسانی که در طول نه سال به ویتنام پرواز کرده یا از آن خارج شدهاند نگهداری میکرد: 210,318,069 رکورد مسافر و 10,465,631 رکورد خدمه، که در هر یک نام، تاریخ تولد و شماره گذرنامه به یک برنامه سفر کامل، تا سطح برچسب چمدان، پیوند خورده بود. این سامانه با نام کاربری و گذرواژه پیشفرض تغییرنیافته خود پاسخ میداد. دامنه دادهها از خدمه Aeroflot و Belavia تا گردشگران بلاروسی در Cam Ranh را دربر میگرفت. دسترسی در ژوئن 2026 و پس از افشای هماهنگ بسته شد.
نوشتهٔ Davis Zheng·
TLP:CLEAR. کینریو لبز این افشای داده را در 3 ژوئن 2026 در جریان پژوهش درباره پایگاههای داده در معرض دید کشف کرد و همان روز گزارش داد؛ دسترسی ظرف چند روز بسته شد. شمارشبرداری فقط خواندنی بود: تنها شمارشهای تجمیعی، بازه زمانی، ساختار فیلدها و شمار اندکی تصویر صفحه ثبت شد. در هر تصویر صفحه در این گزارش، فیلدهایی که هویت یک شخص را مشخص میکنند، یعنی نام، شماره گذرنامه و تاریخ تولد، سیاه شدهاند. هیچ رکورد فردی مسافر یا خدمه نگهداری، منتشر یا فراتر از مقاماتی که در جریان افشا مطلع شدند با کسی به اشتراک گذاشته نشد. نشانی میزبان مبدأ، شماره پورت و اطلاعات ورود منتشر نمیشود. بهرهبردار سامانه تأیید نشد.
خلاصه
- 210Mرکورد مسافر
- 10.4Mرکورد خدمه
- 9 سالپرواز، از 2017 تا 2026
- 1,008شرکت هواپیمایی در دادهها
در 3 ژوئن 2026، در جریان یک بررسی گسترده روی پایگاههای دادهای که روی اینترنت باز رها شدهاند، خوشهای از Elasticsearch با نام pax-info یافتیم. Elasticsearch یک موتور پایگاه داده برای جستوجو در حجم انبوهی از رکوردهاست. این یکی بهکلی روی اینترنت باز نبود: درخواستی که مستقیم به آن ارسال شد رد شد. اما از یک نقطه دید ابری قابل دسترسی بود و پس از برقراری دسترسی، نام کاربری و گذرواژه پیشفرض Elasticsearch را میپذیرفت؛ همان نام کاربری و گذرواژه کارخانهای که بهرهبردار هرگز تغییرش نداده بود. این محافظت واقعی نیست. پشت آن 220,783,700 رکورد سفر از 7 ژانویه 2017 تا 30 آوریل 2026 قرار داشت.
بررسیای که به این مورد رسید، معمولاً چیزهای کسلکننده پیدا میکند: داده آزمایشی که توسعهدهندهای جا گذاشته، کاتالوگ محصولات یک فروشگاه، یا پایگاه دادهای پاکشده که بهجای رکوردها یادداشت باجخواهی در آن نشسته است. این خوشه کسلکننده نبود. یک بایگانی نهساله از دادههای کنترل مرزی را نگه میداشت و تازهترین رکوردها هنگام یافتن، حدود پنج هفته قدمت داشتند، یعنی هنوز روی سامانه نوشته میشد. سامانه زنده بود.
این دادهها اطلاعات پیشاپیش مسافران است. پیش از هر پرواز بینالمللی، شرکت هواپیمایی فهرستی از افراد داخل هواپیما را برای کشور مقصد میفرستد تا سرویس مرزی بتواند همه سرنشینان را از پیش بررسی کند. فیلدها بر اساس استاندارد ICAO تعریف شدهاند؛ نهاد سازمان ملل که قواعد هوانوردی کشوری را تدوین میکند. به زبان ساده، این یکی از حساسترین دستههای دادهای است که یک دولت درباره مسافران عادی نگه میدارد: برای هر شخص، نام واقعی و تاریخ تولد گرهخورده به شماره گذرنامه، و سابقهای از اینکه دقیقاً کجا و کِی رفته است.
- یک بایگانی نهساله، و هنوز زنده. 210,318,069 رکورد مسافر و 10,465,631 رکورد خدمه، که تازهترین آنها حدود پنج هفته قدمت داشت. این بایگانی کاری یک سامانه عملیاتی بود، نه نسخهای بیات که جایی رها و فراموش شده باشد. اطمینان بالا، اندازهگیری مستقیم.
- هر رکورد یک هویت بهعلاوه سابقه جابهجایی است. نام کامل، تاریخ تولد، جنسیت و ملیت، گرهخورده به شماره گذرنامه، تاریخ انقضا و کشور صادرکننده آن، و سپس خود پرواز: شماره، تاریخ، فرودگاهها، صندلی و برچسب چمدان. این فیلدها رویهم ماده خام جعل هویت و جعل مدارک هستند، بهعلاوه گزارشی از اینکه یک شخصِ نامبرده در روزی مشخص کجا بوده است. اطمینان بالا.
- دامنه جهانی بود و جزئیات ریز. شرکتهای هواپیمایی شامل Aeroflot و Belavia، پرچمداران روسیه و بلاروس، میشوند؛ مسافران هلندی، چینی، بلاروسی، کرهای، ژاپنی و بیش از اینها را دربر میگیرند؛ و جزئیات تا سطح ارجاع تکتک برچسبهای چمدان پیش میرود. دامنه آن به مسافران ترانزیت و پروازهای اتصالی هم میرسید، نه فقط کسانی که سفرشان در ویتنام آغاز یا پایان مییافت. اطمینان بالا.
- هیچ نفوذی در کار نبود و هیچ اکسپلویتی. خوشه، اطلاعات ورود پیشفرض کارخانهای Elasticsearch را میپذیرفت که هرگز تغییر نکرده بود، و رابط وب خودش امکان خروجی JSON با یک کلیک را ارائه میکرد. یک ورودی پیشفرض بهطور عمومی مستند شده و نخستین چیزی است که هر اسکنری امتحان میکند. هیچ آسیبپذیری نرمافزاری در میان نبود. اطمینان بالا.
- دادهها به ویتنام مرتبطاند، اما بهرهبردار تأیید نشده است. روی زیرساخت مخابرات دولتی ویتنام در هانوی میزبانی میشد، ساختاری مطابق فید ICAO داشت و دو شرکت هواپیمایی بزرگ ویتنام بر آن غالب بودند. نتوانستیم مشخص کنیم کدام سازمان آن را اداره میکرد و مقامات ویتنامی که به آنها اطلاع دادیم پاسخی ندادند. اطمینان متوسط درباره مالکیت؛ میزبانی و ساختار داده مستقیماً مشاهده شدهاند، بهرهبردار نه.
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]
چه کسانی در این پایگاه داده بودند
برداشت بدیهی از یک سامانه مسافری ویتنامی این است که مسافران ویتنامی را در خود دارد. اما بسیار بیش از این در آن هست. ملیتهای ثبتشده در رکوردها سراسر جهان را دربر میگیرند: هلندی، چینی، بلاروسی، کرهای، ژاپنی، فرانسوی، آلمانی، کانادایی، مالزیایی؛ و شمار شرکتهای هواپیمایی 1,008 است. هر کسی که در طول نه سال مسیری را پرواز کرده که به یک فرودگاه ویتنامی برخورد داشته، تقریباً با هر شرکت هواپیمایی، نامزد حضور در این مجموعه است.
دو تا از این شرکتها برجستهاند. در میان رکوردهای خدمه، فهرست پروازی Aeroflot، پرچمدار روسیه، و Belavia، پرچمدار بلاروس، دیده میشود که هر دو زیر تحریمهای غربی فعالیت میکنند. نام، تاریخ تولد و شماره گذرنامه خدمه آنها در همان انبار بازی نشسته بود که داده بقیه. سمت مسافری هم ترافیک غیرنظامی متناظر را دارد: اتباع بلاروس با مقصد Cam Ranh، شهر ساحلی کنار Nha Trang که دیرزمانی است مقصد گردشگری روسها و کشورهای پساشوروی است. هر برداشتی که از این موضوع بشود، این رکوردهای سفر از جمله رکوردهایی بودند که با کمترین زحمت ممکن در معرض دسترسی قرار گرفته بودند.
این سامانه فراتر از کسانی که سفرشان در ویتنام آغاز یا پایان مییافت هم میرسید. هر رکورد فیلدهای جداگانهای برای فرودگاه اول، ترانزیت و مقصد دارد و بسیاری از آنها فقط فرودگاههای خارجی را نام میبرند: هنگکنگ، چانگی سنگاپور، شانگهای، ماکائو، کوالالامپور. مسافران پروازهای اتصالی و ترانزیت هم در کنار بقیه ثبت شده بودند، با هویت کاملشان که به سفری چسبیده بود که لزوماً از ویتنام آغاز یا در ویتنام تمام نمیشد.
تا سطح برچسب چمدان
جزئیات به «چه کسی» و «کجا» ختم نمیشود. هر رکورد ردّ عملیاتی سفر را هم در خود دارد، از جمله ارجاع برچسب چمدان که هنگام پذیرش برای آن مسافر ثبت شده است. همان شمارهای که روی برچسب دور دسته چمدان میپیچد و میگوید چمدان کجا میرود و آن را به شما گره میزند. برای مجموعه دادهای به این اندازه، این عمقِ غیرمعمولی از ریزنگاری است: نه فقط اینکه شخصی پرواز کرده، بلکه اینکه کدام چمدان مال او بوده است.
خوشه چگونه در دسترس بود
خوشه بهکلی روی اینترنت باز نبود. درخواستی که مستقیم به آن ارسال شد رد شد. آنچه آن را در دسترس میکرد یک نقطه دید ابری بود: از آنجا پایگاه داده پاسخ میداد و اطلاعات ورود پیشفرض Elasticsearch را میپذیرفت، همان نام کاربری و گذرواژهای که نرمافزار با آن عرضه میشود و بهرهبردار هرگز تغییرش نداده بود. اطلاعات ورود پیشفرض دفاع نیست. بهطور عمومی مستند شده و نخستین چیزی است که هر اسکنری امتحان میکند. هیچ آسیبپذیری نرمافزاری بهرهبرداری نشد و به هیچکدام نیازی نبود. پس از ورود، کنسول وب خودِ خوشه دکمهای با عنوان Download as JSON ارائه میکرد: برداشتن دادهها حتی به یک اسکریپت هم نیاز نداشت.
این افشا مسئله چند روز نبود. ایندکس مسافران در 15 سپتامبر 2022 ساخته شده بود. سرویس اسکن عمومی اینترنت FOFA نخستینبار در اکتبر 2022 این میزبان را ثبت کرد و تا میانه 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,069 | 95.3 GB |
خدمه (crew-index) | 10,465,631 | 4.3 GB |
بیست شرکت هواپیمایی با بیش از یک میلیون رکورد
مجموعه افشاشده به بسیار بیش از مسافران خود ویتنام میرسد. 1,008 شرکت هواپیمایی در آن نام برده شده که 20 تای آنها هر کدام بیش از یک میلیون رکورد داشتند.
| شرکت هواپیمایی | رکوردها |
|---|---|
| VietJet Air | 45,820,123 |
| Vietnam Airlines | 43,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 شناسه بهرهبردار شبکه پشت یک نشانی اینترنتی است و این یکی به نام یک پارک فناوری در هانوی ثبت شده است. ساختار داده یک فید اطلاعات پیشاپیش مسافران مطابق ICAO است و ترکیب شرکتهای هواپیمایی را دو شرکت ویتنامی رهبری میکنند، با 45,820,123 رکورد برای VietJet Air و 43,184,871 رکورد برای Vietnam Airlines. این میزبانی و ترکیب شرکتها با سامانهای میخواند که هر جابهجایی بینالمللی از مسیر ویتنام را دریافت میکند.
ارزیابی خودمان در آن زمان:
در هر محوری که از دادههای موجود قابل بررسی است، شواهد با این فرض سازگارند که این یک سامانه اطلاعات مسافری واقعی و زنده متعلق به ویتنام بوده که در معرض دید رها شده است، نه نسخهای که شخص ثالثی جای دیگری میزبانی کند.
طرفهایی که دادههای سرقتی را بازفروش میکنند معمولاً آن را روی یک شبکه داخلی قابل ردیابی درون کشور قربانی میزبانی نمیکنند، و نسخههایشان تا وقتی سر و کلهشان پیدا شود بیات شده است. میزبانی داخلی، ساختار داده ساختهشده برای همین منظور و تازگی پنجهفتهای، رویهم به داده زنده میمانند تا یک نسخه بازفروششده.
نتوانستیم تأیید کنیم کدام سازمان این خوشه را اداره میکرد و مراقبیم این پیوند را بیش از اندازه بزرگ نکنیم. به نهاد ملی واکنش به رخدادهای سایبری ویتنام (VNCERT) در کنار سایر مقامات اطلاع دادیم؛ پاسخی نداد. آنچه این سامانه را به ویتنام گره میزند میزبانی و ساختار داده است. هویت بهرهبردار چیزی نیست که بتوانیم از بیرون مشخص کنیم و آن را باز میگذاریم.
افشا
- 3 ژوئن 2026خوشه در معرض دید را در جریان پژوهش درباره پایگاههای داده باز یافتیم و همان روز اطلاعرسانی به طرفهای متأثر و مسئول را آغاز کردیم: CERTهای ملی، مقامات حفاظت از داده، نهادهای هوانوردی، و شرکتهای هواپیمایی که مسافرانشان در این مجموعه بودند.
- ظرف چند روزمیزبان از دسترس خارج شد و دیگر قابل دسترسی نبود. این افشای مشخص بسته شد.
همان روزی که آن را یافتیم گزارشش کردیم و تا بستهشدن دسترسی چیزی منتشر نکردیم. شمارشبرداری فقط خواندنی بود و رکورد هیچ فردی فراتر از مقاماتی که مطلع شدند نگهداری یا با کسی به اشتراک گذاشته نشده است.
آنچه هنوز نمیتوانیم بگوییم
این حفره مشخص بسته شده، اما پرسشهای بزرگتر پاسخشان با ما نیست:
- چه مدت باز بوده است. ایندکس مسافران به سپتامبر 2022 بازمیگردد و اسکنرهای عمومی این میزبان را از اکتبر 2022 ثبت کردهاند. اینکه آیا دادهها در سراسر آن دوره قابل بازیابی بودهاند و آیا کس دیگری به آنها دسترسی پیدا کرده یا نسخهبرداری کرده، قابل تعیین نیست.
- چه کسی پاسخگو بوده است. بهرهبردار همچنان ناشناس است و مقامات ویتنامی که به آنها اطلاع دادیم پاسخی ندادند.
- آیا به مسافران اطلاع داده خواهد شد. اینکه شرکتهای هواپیمایی و مقامات ملی حفاظت از داده به تکتک مسافرانی که رکوردهایشان افشا شده اطلاع خواهند داد یا نه، بیپاسخ مانده است.
- این دادهها چگونه یکجا جمع شدند. اینکه چرا فهرست مسافران اینهمه شرکت هواپیمایی خارجی در یک انبار میزبانیشده در ویتنام تجمیع شده و نه سال آنجا نگه داشته شده، چیزی نیست که رکوردها توضیحش دهند.
اگر پایگاه دادهای روی اینترنت اجرا میکنید
اشتباهی که اینجا رخ داده رایج است و پرهیز از آن ارزان. برای تیمهایی که Elasticsearch یا هر انبار مشابهی را اجرا میکنند:
- اطلاعات ورود پیشفرض را تغییر دهید و پورت داده را از اینترنت عمومی دور نگه دارید. اطلاعات ورودی که نرمافزار با آن عرضه میشود دانش عمومی است؛ رها کردنش بهجای خود، همان بیگذرواژه بودن است. احراز هویت واقعی را روشن کنید و پایگاه داده را پشت یک مرز شبکهای بگذارید.
- فرض کنید هر چیز در دسترس، پیدا خواهد شد. اسکن سراسری اینترنت پیوسته و خودکار است. این میزبان سالها پیش از آنکه ما پیدایش کنیم توسط یک اسکنر عمومی فهرست شده بود.
- بدانید حساسترین دادههایتان کجا زندگی میکنند و چه کسی به آنها دسترسی دارد. آسیب در این مورد از یک انبار واحد میآید که داده هویتی و جابهجایی صدها میلیون نفر را نگه میداشت و از طریق یک نقطه دید با اطلاعات ورود پیشفرض تغییرنیافته در دسترس بود. نخست از همان انبارها فهرستبرداری کنید.