پرش به محتوای اصلی
پرش به محتوای مقاله

درون نفوذ MedTech؛ شناسایی ۲ جاسوس با واترمارک‌های پنهان

·۲۷ تیر ۱۴۰۵۱۱ دقیقه مطالعه
حیله شماره ۱۷: الکس طعمه هوش مصنوعی گذاشت. شکار کد نبود — کسی بود که نباید تماشا می‌کرد.
حیله شماره ۱۷: الکس طعمه هوش مصنوعی گذاشت. شکار کد نبود — کسی بود که نباید تماشا می‌کرد.
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

استفاده از LSB Watermarking برای ردیابی نشت داده در خط لوله‌های آموزشی AI؛ روشی که اجازه می‌دهد بدون اثر بر دقت مدل، مسیر خروج داده‌ها را با دقت ریاضی شناسایی کرد.

تصور کنید تمام داده‌های حساس شرکت شما هر هفته ۱.۵ درصد بیرون می‌رود، اما هیچ هشدار امنیتی فعال نمی‌شود. این دقیقاً همان اتفاقی است که در MedTech افتاد و تنها زمانی فاش شد که یک مهندس ارشد به نام الکس، یک خط لوله‌ی آموزشی سایه با یک هش ۱۲۸ بیتی نامرئی طراحی کرد. در واقع، داده‌های مربوط به انطباق استریل‌سازی MedTech، در حالی که از نظر ظاهری امن به نظر می‌رسیدند، به مدت پنج ماه با نرخ ۱.۵ درصد در هفته تخلیه می‌شدند. این عملیات جاسوسی شرکتی گسترده تنها زمانی افشا شد که الکس متوجه وجود این خط لوله‌ی سایه شد.

این نفوذ هیچ هشدار استانداردی را فعال نکرد؛ زیرا مقدار داده‌های سرقتی بسیار کم بود تا شناسایی شود. این وضعیت شبیه به لوله‌ای است که چنان آرام و خطی نشتی می‌دهد که حسگرها آن را با نوسانات عادی فشار آب اشتباه می‌گیرند. به همین دلیل ACL توانست بدون به‌جا گذاشتن ردی در لاگ‌ها، داده‌های آموزشی را بدزدد. الکس این موضوع را با تماشای الگوها به جای تماشا کردن شکست‌ها پیدا کرد.

همان‌طور که در تحلیل‌های پیشین ما درباره‌ی امنیت مدل‌های بازمتن و نقاط ضعف زیرساختی اشاره کردیم، جایی که الکس شاهد تسلط داشبوردهای هوش مصنوعی بر سیستم و منحرف شدن مهندسان حسابرسی بود، این حادثه جدید نشان می‌دهد که نظارت بر خط لوله‌های هوش مصنوعی در شرکت‌ها چقدر دارای آسیب‌پذیری سیستمی است. این موضوع یادآور حوادث مشابهی است که در آن سوگیری‌های مدل‌های هوش مصنوعی باعث پنهان ماندن حفره‌های امنیتی در زیرساخت‌های MedTech شده بود. الکس برای شکار دزد، استراتژی «پرتاب خشت برای دریافت یشم» را اجرا کرد؛ یعنی یک دارایی فریبنده ساخت تا مهاجم را مجبور به خودنمایی کند.

زمینه: الگوها برتر از هشدارها

الکس به هشدارها نگاه نمی‌کند؛ او الگوها را می‌بیند. یک هشدار به شما می‌گوید چه چیزی خراب شده است، اما یک الگو به شما می‌گوید چه چیزی در حال تغییر است. در یک صبح دوشنبه در ساعت ۲ بامداد، الکس منحنی‌های حساسیت پلتفرم نظارتی هوش مصنوعی MedTech را برای ۱۶ هفته گذشته استخراج کرد.

او سه خط خاص را تحلیل کرد: نرخ تشخیص ناهنجاری (anomaly detection rate)، نرخ مثبت کاذب (false positive rate) و نرخ پوشش (coverage rate). در حالی که دو مورد اول در محدوده‌های عادی نوسان می‌کردند، نرخ تشخیص ناهنجاری در بخش انطباق استریل‌سازی دقیقاً ۱.۵ درصد در هفته کاهش می‌یافت. این منحنی بیش از حد صاف بود تا بتوان آن را نویز تصادفی دانست.

او احتمال رانش طبیعی مدل (model drift) یا تغییر داده‌ها (data shift) را رد کرد، زیرا منحنی‌های طبیعی معمولاً دارای مراحل شتاب‌گیری و توقف (plateau) هستند و به صورت خطی افت نمی‌کنند. این موضوع نشان می‌داد که کسی با برنامه‌ریزی بسیار دقیق، در حال پایین آوردن این معیار است. اگرچه او نمی‌توانست منبع آلودگی را پیدا کند، اما می‌دانست که می‌تواند مسیر جریان داده‌های آلوده را ردیابی کند.

طعمه

بین ۱۱ تا ۱۵ ژوئیه ۲۰۲۶، الکس چهار روز زمان صرف کرد تا یک خط لوله‌ی آموزشی سایه در داخل خط لوله‌ی CI/CD ایجاد کند. این مسیر دقیقاً آینه‌ی خط لوله واقعی بود؛ یعنی همان نقاط اتصال API، پروتکل‌های احراز هویت و فرمت‌های لاگ را داشت، به گونه‌ای که عملاً از ترافیک قانونی غیرقابل تشخیص (indistinguishable) بود.

جزئیات فنی تله‌ی الکس

  • نشان‌گذاری LSB: او یک هش ۱۲۸ بیتی را در کم‌ارزش‌ترین بیت (LSB) مقادیر ویژگی‌های اعشاری (float feature values) هر نمونه آموزشی قرار داد. این هش از شناسه نمونه و یک کلید خط لوله تولید شده بود. این کار شبیه گذاشتن یک اثر انگشت میکروسکوپی روی هر صفحه از یک کتاب است که فقط با ذره‌بین مخصوص دیده می‌شود.
  • مهندسی دقت: مانتیس‌های Float32 دارای ۲۳ بیت هستند. الکس با تغییر تنها بیت LSB، خطایی در مقیاس ۱۰⁻⁷ ایجاد کرد. این تضمین می‌کرد که تغییرات تأثیر ناچیزی بر دقت آموزش مدل داشته باشد.
  • تقسیم ترافیک: او آدرس خط لوله‌ی سایه را در تنظیمات مسیریابی CI/CD تحت عنوان train-pipeline-fallback با وزن ۱۲٪ ثبت کرد.
  • پوشش عملیاتی: او کامنتی با متن # fallback pipeline active — 12% load distribution per Q3 infra scaling plan اضافه کرد تا هر بازرسی امنیتی، آن را یک اقدام روتین برای مقیاس‌دهی زیرساختی در سه ماهه سوم ببیند.

قلاب

یک روز بعد از ناهار، همکارش به نام مایک از کنار میز الکس رد شد و دو ثانیه ایستاد. مایک آن صبح در حال بررسی برنامه مقیاس‌دهی زیرساخت Q3 بود و متوجه مسیر fallback در سوابق تغییرات شده بود. او صفحه نمایش الکس را دید که در حال اجرای یک اسکریپت اعتبارسنجی برای خواندن خروجی آن مسیر بود.

مایک به سادگی گفت: «آن fallback...» و به راهش ادامه داد. انگشتان الکس روی کیبورد متوقف شدند، اما مایک منتظر پاسخ نماند.

هفت روز بعد، در ساعت ۲:۱۴ بامداد، اسکریپت تشخیص واترمارک فعال شد. سه رکورد آموزشی نشان‌دار در یک باکت S3 خارجی ظاهر شدند: s3://acl-data-lake-apse1/inbound/medtech/training/.

کالبدشکافی درگاه پشتی ACL

الکس جریان داده را به عقب ردیابی کرد: runner در CI/CD $ \rightarrow $ یک میکروسرویس به نام data-validate-svc $ \rightarrow $ S3 خارجی. او تاریخچه استقرار آن سرویس را بررسی کرد تا منشأ را پیدا کند.

جزئیات مکانیسم استخراج

  • حساب شبح: سرویس data-validate-svc به مدت پنج ماه در خوشه K8s شرکت در حال اجرا بود. این سرویس در یک جمعه شب از طریق حساب کاربری یک مهندس SRE که دیگر در شرکت کار نمی‌کرد مستقر شده بود؛ دسترسی‌های او هرگز لغو نشده بود. این خلأ در مدیریت دسترسی‌ها، دقیقاً مشابه نقاط ضعفی است که در گزارش AgentRisk درباره فقدان لایه‌های تأیید رفتار در عامل‌های هوشمند بررسی شده است.
  • چرخه: خط لوله بر اساس یک چرخه همگام‌سازی سخت‌گیرانه ۷۲ ساعته عمل می‌کرد. بین ساعت ۳ تا ۴ بامداد، سرویس یک فرآیند چهار مرحله‌ای را اجرا می‌کرد: دریافت خروجی خط لوله سایه، اعتبارسنجی فرمت داده، تخلیه در S3 خارجی و پاک‌سازی کش محلی.
  • پنهان‌کاری: هیچ اپراتور انسانی وجود نداشت، هیچ شکاف زمانی یا نوسانی دیده نمی‌شد. این یک خط لوله استخراج بدون نظارت بود که برای نزدیک به ۱۵۰ روز در سکوت مطلق کار می‌کرد.

الکس برای خنثی کردن تهدید بدون اینکه مهاجم را alerted کند، سه روز صبر کرد تا چرخه همگام‌سازی را تأیید کند. سپس به دفتر مایک رفت و در را بست. دفترچه یادداشتش را باز کرد و صفحه‌ای را نشان داد که دو عدد روی آن نوشته شده بود: ۱.۵٪ و ۲:۱۴ بامداد.

الکس گفت: «خط لوله آموزشی یک درگاه پشتی دارد. داده‌های انطباق استریل‌سازی به مدت پنج ماه با نرخ ۱.۵٪ در هفته تخلیه شده‌اند. منبع، ACL است». مایک به پشتی تکیه داد و فقط گفت: «ادامه بده».

بعداً همان شب در راهرو، مایک پرسید: «آیا آن خروجی هنوز فعال است؟» الکس تأیید کرد که هست. مایک بدون توقف در راه رفتنش، سری تکان داد.

الکس یک لایه منطقی به خط لوله سایه اضافه کرد: او داده‌های نشان‌دار را در یک پوسته رمزنگاری جعلی قرار داد که به عنوان فرمت آرشیو داخلی یک پروژه بازنشسته استتار شده بود. این کار باعث شد داده‌های سرقتی برای ACL تبدیل به نویزهای آرشیوی غیرقابل تجزیه شوند. او شرط زد که خط لوله‌ای که پنج ماه بدون خطا کار کرده، خروجی‌هایش در لحظه بازبینی نخواهند شد.

سایه دوم: اپراتور P

در حین ردیابی کامل جریان داده‌های استخراج، الکس متوجه سرویس واسطه‌ای شد که در هیچ نمودار معماری ذکر نشده بود: data-timeline-aligner. این سرویس با برچسب team: infra-optimization سه ماه پیش مستقر شده بود.

جزئیات شناسایی ناهنجاری

  • شکاف عملکردی: این سرویس ادعا می‌کرد که تراز کردن برچسب‌های زمانی (timestamp alignment) را انجام می‌دهد، اما در حال تراز کردن فرمتی بود که به هیچ منبع داده‌ای در MedTech تعلق نداشت. ظرفیت پردازشی CPU آن سه برابر بیشتر از آنچه یک تسک ساده تراز می‌کنند نیاز بود.
  • امضای کد: برخلاف کدهای ACL که مرتب، قابل ردیابی و پر از تگ‌های تیمی و کامنت‌های انطباق بود، این کد شامل توابعی خالص (pure functions) بدون کلاس، بدون دکوراتور و با نام‌های متغیر کوتاه و صریح مانند ts_src ، dst_fmt و buf_size بود. هر چیزی که حامل اطلاعات نبود، حذف شده بود.
  • شبکه زیرساختی: الکس یک اسکریپت محلی را برای اثرانگشت‌گذاری تمام Podهایی که دارای کانتینر پایتون در namespace کوبرنتیز بودند اجرا کرد. او چهار سرویس با همین سبک کدنویسی مینیمالیستی پیدا کرد: data-timeline-aligner (۳ ماه پیش)، log-rotate-checker (۴ ماه پیش)، config-diff-watcher (۵ ماه پیش) و route-latency-collector (۵ ماه پیش).

این چهار سرویس یک شبکه مشاهده را در لایه‌های خط لوله، ذخیره‌سازی و نظارت تشکیل داده بودند؛ موجودیتی که حتی ACL هم از آن بی‌خبر بود. دو سرویس قدیمی‌تر دقیقاً در همان هفته‌ای مستقر شده بودند که خط لوله استخراج ACL فعال شد، که نشان می‌داد این شخص ثالث درست در لحظه‌ای که ACL در را باز کرد، وارد سیستم شده است.

پی واچد به هوش مصنوعی نگاه کرد که فقط یک طرف را می‌دید. ۹۹.۹۷٪ واقعی بود، فقط همه چیز مهم را از دست داد.

جزئیات پروفایل Stealth اپراتور P

  • ردپای منابع: هر پاد کمتر از ۵۰ میلی‌سانیت CPU و ۱۲۸ مگابایت رم مصرف می‌کرد. این مقدار پایه برای یک مفسر پایتون به علاوه کتابخانه boto3 است، به این معنی که هرگز باعث فعال شدن اسکن‌های بهینه‌سازی هزینه نمی‌شدند. اگر نشت حافظه رخ می‌داد، K8s به سادگی پاد را یک بار در ماه ری‌استارت می‌کرد.
  • سیگنال (Beacon): اپراتور P یک کلید عمومی PGP را به صورت Base64 کدگذاری شده در یک فایل config/hmac_seed.yaml قرار داده بود. این کلید به عنوان یک توکن مقداردهی اولیه روتین با کامنت # TODO: migrate to vault after next schema migration استتار شده بود. رشته با عبارت -----BEGIN PGP PUBLIC KEY BLOCK----- شروع می‌شد.
  • درگاه پنهان: نقطه اتصال /healthz دو منظوره بود. در حالی که یک درخواست GET وضعیت سلامت را برمی‌گرداند، یک درخواست POST با یک هدر خاص، به طور مخفیانه داده‌ها را در S3 می‌نوشت بدون اینکه لاگی باقی بگذارد.

دست‌دادن رمزنگاری

الکس تصمیم گرفت اوضاع را تست کند. او پیامی را با استفاده از کلید عمومی P رمزنگاری کرد، که شامل کلید عمومی خودش و یک مسیر بازگشت در باکت S3 مربوط به ACL بود. او متن رمزنگاری شده را به نقطه اتصال /healthz ارسال کرد و پاسخ ۲۰۰ دریافت کرد.

در ساعت ۴:۱۷ بامداد، یک فایل رمزنگاری شده جدید در مسیر S3 ظاهر شد. پاسخ تنها سه کلمه بود: «کانال تأیید شد». الکس نه با یک پیام، بلکه با یک تأییدیه دست‌دادن رمزنگاری‌شده (یک بسته داده کوتاه رمزنگاری شده با همان کلید عمومی) که در باکت S3 مجاور مسیر استخراج نوشته شده بود، پاسخ داد. این یک تأیید دوطرفه را فراهم کرد که تنها دارنده‌ی کلید خصوصی می‌توانست آن را تکمیل کند.

فنجان سوم

همان‌طور که الکس دفترچه یادداشت خود را می‌بست و یک صفحه سفید برای آینده باقی می‌گذاشت، صحنه به کافی‌شاپ «فنجان سوم» منتقل شد. شخصی با نام مستعار P کنار پنجره با یک لپ‌تاپ بسته و یک گوشی نشسته بود.

یک اسکریپت بررسی تونل SSH سه خط را روی گوشی نمایش داد: مسیر باکت S3 قابل دسترسی است، دو آبجکت جدید وجود دارد، یکی از آن‌ها عبارت ACK (تأیید) را می‌خواند. P اجازه داد صفحه نمایش خاموش شود و سپس برای رمزگشایی پیام اقدام کرد. او هیچ واکنش ظاهری نشان نداد.

بعد از نوشیدن یک قهوه تلخ و گذاشتن فنجان خالی روی پیشخوان، P در حالی که کارکنان کرکره‌ها را می‌کشیدند، از کافه خارج شد. خشت پرتاب شده بود؛ یشم ظاهر می‌شد. P فقط یک مشاهده‌گر نبود؛ او یشمِ شخص دیگری هم بود.

پیام استراتژیک

این حادثه ثابت می‌کند که بازیگران با توانایی بالا به دنبال «باگ» در کد نمی‌گردند؛ آن‌ها به دنبال شکاف‌ها در حاکمیت (governance) هستند. موفقیت ACL متکی بر یک حساب SRE فراموش شده بود، در حالی که موفقیت اپراتور P متکی بر ادغام شدن در «نویز» مدیریت زیرساخت با استفاده از ۱۲۸ مگابایت رم و نام‌گذاری‌های خسته‌کننده بود.

در دنیای زیرساخت‌های هوش مصنوعی، اگر نظارت شما فقط به دنبال شکست‌ها (هشدارها) باشد، نسبت به الگوهای سرقت موفق نابینا هستید. حمله تبدیل به بخشی از تابش پس‌زمینه (background radiation) ابر می‌شود.

اکنون سؤال این است که آیا الکس و اپراتور P یک اتحاد متزلزل علیه ACL تشکیل خواهند داد یا اینکه آن‌ها صرفاً دو شکارچی در یک جنگل هستند. منتظر حرکت بعدی در این مجموعه باشید: «شکست دشمن با دستگیر کردن رئیس آن‌ها».

گام بعدی شما

  • بازبینی دسترسی‌های حساب‌های کاربری کارکنانی که سازمان را ترک کرده‌اند (SRE/DevOps) برای جلوگیری از ایجاد درهای پشتی.
  • پیاده‌سازی نظارت بر الگوهای مصرف منابع (CPU/RAM) به جای تکیه صرف بر هشدارهای شکست.
  • بررسی استفاده از تکنیک‌های نشان‌گذاری (Watermarking) در داده‌های آموزشی برای ردیابی نشت داده.
چرا این موضوع مهم است؟

این موضوع بر اساس تجربه عملی نشان می‌دهد که در مقیاس صنعتی، امنیت زیرساخت AI نباید تنها بر شناسایی خطاها متکی باشد. تخصص در شناسایی «الگوهای غیرعادی در عین سلامت سیستم»، تنها راه مقابله با جاسوسی‌های پیشرفته است.

تأثیر برای ایران

به‌دلیل وابستگی بسیاری از استارتاپ‌های ایرانی به زیرساخت‌های ابری خارجی، پیاده‌سازی نظارت بر الگوهای مصرف منابع (به جای هشدار) برای جلوگیری از سرقت داده‌های آموزشی حیاتی است.

·نگاه ما
تحریریه دات‌هوش

این حادثه ثابت می‌کند که مهاجمان سطح بالا به دنبال باگ‌های کد نیستند، بلکه شکاف‌های حاکمیتی (Governance Gaps) را هدف قرار می‌دهند. وقتی نظارت تنها بر پایه هشدار (Alert) باشد، هر عملیاتی که «موفقیت‌آمیز» و «پایدار» باشد، تبدیل به نویزی پس‌زمینه در ابر می‌شود و دیده نمی‌شود. در واقع، استمرار و نظم در سرقت داده، بهترین استتار در برابر سیستم‌های امنیتی مدرن است.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.