تصور کنید کلید دسترسی به تمام کدهای محرمانه یک شرکت، بهطور اتفاقی در حافظهٔ دستگاههایی قرار بگیرد که در هر گوشهی دنیا نصب شدهاند. این دقیقاً همان اتفاقی است که برای Hanwha Vision رخ داده و حالا دسترسی ادمین به صدها مخزن کد این شرکت در معرض خطر است.
به گزارش یک محقق امنیتی، یک توکن سطح بالای گیتهاب در سفتافزارهای تجاری دوربینهای Hanwha Vision یافت شده است. این محقق فاش کرد که تنها همین یک توکن، دسترسی مدیریتی به صدها مخزن (Repository) در سازمان گیتهاب این شرکت فراهم میکرد. این حادثه نشاندهندهی شکست بحرانی در مدیریت اعتبارنامهها (Credentials) برای دستگاههای اینترنت اشیا (IoT) است. همانطور که در تحلیل قبلی ما دربارهی امنیت مدلهای بازمتن اشاره کردیم، هر نقطهی ضعف در زنجیرهٔ تأمین نرمافزاری میتواند کل اکوسیستم تولیدکننده را به خطر بیندازد.
در دنیای امروز، دوربینهای امنیتی دیگر فقط ضبطکنندهی تصویر نیستند؛ آنها مانند کامپیوترهای کوچکی هستند که اپلیکیشنهای پیچیدهی لینوکس را اجرا میکنند و اغلب در محیطهای سازمانی حساس نصب میشوند. به همین دلیل، این دستگاهها باید مانند داراییهای حساس سازمانی مدیریت شوند، زیرا نیاز به مدیریت دائمی برای رفع آسیبپذیریها و کنترل اعتبارنامهها دارند. نفوذ به این تجهیزات صرفاً یک دستگاه را مختل نمیکند، بلکه بهطور بالقوه کل زنجیرهٔ تأمین نرمافزاری سازنده را به مخاطره میاندازد.
فرآیند استخراج
محقق برای کشف این نشت، ابتدا فایلهای سفتافزار (Firmware) در دسترس را که برای هر مدل دوربین در وبسایت Hanwha Vision قرار داشت، تحلیل کرد. او با استفاده از ابزار Binwalk، یک سیستم فایل ریشه (rootfs) و یک فایل tarball مجزا حاوی متریالهای مربوط به هوش مصنوعی (AI) را شناسایی کرد. همچنین فایلی به نام fwimage.tgz وجود داشت که Binwalk آن را به عنوان یک فایل رمزنگاریشده علامتگذاری کرد.
تلاشهای اولیه برای رمزگشایی تصویر بر اساس روش شناختهشدهای بود که توسط محققی به نام مت براون (Matt Brown) توصیف شده بود. در این طرح، رمز عبور از ترکیب عبارت "HTW" و شماره مدل خاص دستگاه تشکیل میشد (به عنوان مثال: HTWXNP-9300RW). در حالی که این روش برای برخی سطوح پاسخگو بود، اما تصاویر جدیدتر از طرح رمزنگاری متفاوتی استفاده میکردند که این رمز عبور ساده را دور میزد.
محقق سپس با استفاده از Claude Code برای تحلیل فایل باینری fwupgrader در ابزار Ghidra، توانست منطق پنهانساز (Obfuscation) را دور بزند. او کشف کرد که کلید AES و بردار مقداردهی اولیه (IV) در تمام خط تولید این مدلها بهصورت سختافزاری (Hardcoded) قرار داده شدهاند. شرکت Hanwha برای پنهان کردن نحوه رمزگشایی واقعی rootfs، لایهای از obfuscation را در fwupgrader تعبیه کرده بود: کلید AES با یک جدول کلید استاتیک کوچک در باینری XOR شده و در زمان اجرا بازسازی میشد.
ابزار fwupgrader در نهایت صرفاً یک دستور را به خط فرمان OpenSSL میفرستاد، هرچند قطعات خودِ دستور نیز بهصورت XOR پنهان شده بودند. دستور بازسازیشدهای که برای رمزگشایی استفاده میشد به شرح زیر است:openssl enc -md sha256 -aes-256-cbc -d \ -K <KEY> -iv <IV> -in <INPUT> -out <OUTPUT>
از آنجایی که این مقادیر سختافزاری بودند، محقق آنها را منتشر کرد:
- KEY:
dfa049bb922e63e2decc764af5628068e5b7a2662e479a615b14643e567579b0 - IV:
53f926801b81454a4f889c9a390db6e6
علت نشت دادهها
پس از استخراج سیستم فایل ریشه، یک اسکن با ابزار TruffleHog نشان داد که توکن گیتهاب در حدود ۳۰ فایل مختلف بهطور تکراری وجود دارد. محقق یک نقص خاص در خط لولهی ساخت (Build Pipeline) مربوط به رابط کاربری (UI) دوربینها شناسایی کرد:
- رابط کاربری با استفاده از ابزار Vite ساخته شده بود.
- در طول زمان ساخت (Build time)، یکی از متغیرها بهطور کامل روی مقدار
process.envتنظیم شده بود. - این خطا باعث شد تمام محیط (Environment) مربوط به Job در CI — شامل توکنهای حساس — مستقیماً در فایلهای سمت کلاینت نوشته شوند.
نمونههایی از متغیرهای نشتکرده عبارت بودند از: DATAPORT: "9090"، GIT_LFS_SKIP_SMUDGE: "1"، npm_command: "run-script" و KUBERNETES_SERVICE_PORT_HTTPS: "443" که در کنار GITHUB_NPM_TOKEN قرار داشتند. این موضوع نشان میدهد هر کسی که به رابط کاربری ادمین این دوربینها دسترسی داشته باشد، احتمالاً این توکنها را از طریق شبکه دریافت میکرده است.
یافتههای غیرمنتظره
متغیرهای محیطی حاوی اطلاعاتی فراتر از توکنها بودند. محقق آدرسهای IP را یافت که به وزارت دفاع ایالات متحده (DoD) اختصاص داشتند.

این IPها در متغیرهایی مانند موارد زیر ظاهر شده بودند:
SWARM_MASTER_NFS_ADDRESS:55.101.212.23OTEL_ELASTIC_URL:http://55.101.212.21:5601/CIMIP:55.101.211.213
با توجه به اینکه Hanwha Vision (که با نام Samsung Techwin تأسیس شده بود) زیرمجموعهی Hanwha Group است، محقق سایر فعالیتهای شرکت مادر را بررسی کرد. گروه Hanwha همچنین شرکتهای Hanwha Aerospace و Hanwha Defense USA را اداره میکند که تجهیزات نظامی پیشرفتهای تولید میکنند؛ از جمله توپخانههای خودکششی K9 Thunder، خودروهای پشتیبانی مهمات K10، زیرسیستمهای تانک K2 Black Panther و ربات تفنگدار SGR-A1.
محقق حدس میزند که محیط CI بین این شرکتهای خواهر مشترک بوده است. احتمال دارد که نیازهای عملیاتی Hanwha Aerospace باعث شده باشد تا این ورودیهای مربوط به زیرساختهای DoD در متغیرهای محیطی مشترک CI ظاهر شوند که بخش Vision نیز از آن استفاده میکرده است.
دامنه اثر و پاسخ شرکت
برای اینکه محقق متوجه شود آیا این یک اتفاق نادر بوده یا یک روند سیستمی، تمام سفتافزارهای موجود در سایت شرکت را جمعآوری کرد. او در نهایت حدود ۵۰۰ سفتافزار (از میان تقریباً ۶۰۰ مدل دوربین لیست شده) را دانلود کرد.
- محقق موفق شد ۶۲٪ از این تصاویر را با استفاده از کلید AES و IV کشفشده رمزگشایی کند.
- تنها سه مورد از تصاویر استخراجشده حاوی توکنهای گیتهاب بودند.
- هر سه توکن نشتکرده کاملاً یکسان بودند که تأیید میکرد یک اعتبارنامه سطح بالای واحد در چندین نسخه نشت کرده است.
بر اساس گزارش محقق، Hanwha Vision ظرف ۱۲ ساعت پس از ارسال گزارش به ایمیل مربوط به گزارشهای امنیتی پاسخ داد. شرکت آسیبپذیری را تأیید کرد و توکن compromised را سریعاً ابطال نمود.
این پرونده خطرات «دامپ کردن محیط» (Environment Dumping) در ابزارهای مدرن ساخت فرانتاند را به نمایش میگذارد. وقتی توسعهدهندگان برای انتقال متغیرهای محیطی به مرورگر از میانبرهای سریع استفاده میکنند، ریسک این را میپذیرند که کل گاوصندوق اسرار خط لوله CI/CD خود را برای هر کاربر نهایی ارسال کنند.
برای متخصصان امنیت، این یک یادآوری است که پنهانسازی (Obfuscation) هرگز رمزنگاری نیست. سختافزاری کردن کلیدها در باینریها تنها لایه نازکی از محافظت ایجاد میکند که ابزارهای مهندسی معکوس قدرتگرفته از هوش مصنوعی اکنون میتوانند در چند دقیقه آن را بشکنند.
منتظر اطلاعیههای بهروزرسانی امنیتی از سوی Hanwha باشید و پیکربندیهای Vite یا Webpack خود را بازبینی کنید تا مطمئن شوید process.env هرگز بهطور indiscriminate به سمت فرانتاند ارسال نمیشود.
گام بعدی شما
- اگر از ابزارهای مدرن فرانتاند مثل Vite یا Webpack استفاده میکنید، پیکربندیها را بازبینی کنید تا
process.envبهطور indiscriminate به سمت کلاینت ارسال نشود. - در سیستمهای CI/CD خود، از ابزارهایی مانند TruffleHog یا Gitleaks برای شناسایی خودکار توکنهای نشتکرده استفاده کنید.
- به جای تکیه بر Obfuscation، از مدیریت کلیدهای پویا (Dynamic Secrets) استفاده کنید.
اما داستان نفوذ به تجهیزات لبه حتی پیچیدهتر است؛ برای درک چالشهای امنیت سختافزاری، تحلیل ما درباره معماری سیستمهای تعبیهشده را بخوانید.




گفتگو