Project KONGOR: кошмар конфиденциальности для игроков HoN

Project KONGOR: кошмар конфиденциальности для игроков HoN



V10

пикча clearnetwork.com

Эта статья переведена машинным переводом. 🏴󠁧󠁢󠁥󠁮󠁧󠁿 Original in English.

Введение

Сообщество Heroes of Newerth (HoN) приняло Project KONGOR (PK) как способ продолжить играть в игру после ее официального закрытия в 2022 году. Чтобы играть на этих серверах, вам нужно скачать и запустить PKL - Project KONGOR Launcher. Это двоичный исполняемый файл с закрытым исходным кодом (launcher.exe), подписанный неизвестной компанией iGames, LLC. Первое, что делает PKL при запуске (файл hon_x64.exe должен находиться по тому же пути), - крадет ваши приватные данные и отправляет их в сыром виде через интернет по протоколу HTTP, без SSL. Это означает, что любой хост между вашим компьютером и центром обработки данных Cloudflare потенциально может также украсть ваши приватные данные. Это серьезное нарушение конфиденциальности. Например, хакеры могут легко украсть эти данные, отправив их по общественному или незащищенному Wi-Fi, и использовать их для взлома вашей домашней сети по домашнему Wi-Fi. Цель этой статьи - пролить свет на тревожную практику PKL по сбору данных, подчеркнуть ее потенциальную возможность нарушения конфиденциальности и выступить за более ответственный подход. В этой статье я хочу показать вам, что произошло и как вы можете просмотреть частные данные, украденные у вас программой Project KONGOR launcher.

Project KONGOR launcher.exe образец

{
    URI: “http://cdn.projectkongor.com/patch/wac/x86_64/launcher.zip”,
    URI-Archive-Filename: “launcher.exe”,
    Magic: “MZ,PE,x64”,
    Original-Name: “launcher.exe”,
    SHA256: “826348D803946C28CF670A94F3CDB8776AB195CD9C3ECA124D9A980A27C32816”,
    MD5: “E991211ABBDF835AEA1B334A735FC3EA”,
    Build-Date: “2024-10-08 18:40:51 UTC”,
    Meta-Date: “2024-10-08 18:50:00 UTC”,
    Signed-By: “iGames, LLC.”,
    VT-Link: “https://www.virustotal.com/gui/file/826348d803946c28cf670a94f3cdb8776ab195cd9c3eca124d9a980a27c32816/details”
}

PKL демонстрирует поведение SpyWare

PCL скрыто собирает частные данные, включая корпоративную информацию, не информируя пользователей о собираемых данных, целях сбора и объеме собранной информации. В PKL отсутствует общедоступное соглашение об условиях предоставления услуг. При первом использовании программы запуска она не выводит предупреждение о сборе данных. Она не объясняет, зачем собирает эти данные, как они будут использоваться, обрабатываться и храниться и могут ли они быть проданы третьим лицам

Важно отметить, что PKL потенциально может использовать анонимизированные данные для своей системы «OneAccount» (идентификация HWID) вместо сырых приватных данных. Однако ее нынешняя практика вызывает серьезные опасения в связи с нарушением конфиденциальности и отсутствием прозрачности. Кроме того, PK не предоставляет четкого и надежного способа удаления этих данных со своих серверов, «включая все копии».

Сбор данных PKL

PKL собирает конфиденциальную частную информацию о системе. Эти данные включают в себя:

Доменное имя компьютера: это имя компьютера в вашей сети.
Глубокая конфигурация внутренней и внешней сети: Сюда входят IP-адреса, маршруты, MAC-адреса (включая адреса сетевых маршрутизаторов) и другие сетевые данные. Эта информация может быть использована хакерами не по назначению.
Имена и идентификаторы всех устройств ПК: Это может даже раскрыть использование конкретного программного обеспечения (если вы используете USB Super Vagina Online 2019 - будьте осторожны, они знают об этом).
Главный UUID системы: этот уникальный идентификатор может использоваться для аутентификации, криптографии и других важных целей.
Информация о дисках и томах: Эти данные могут раскрыть содержимое ваших жестких дисков (если вы храните прон жены на диске с надписью MY WIFE BEST PRON - они это знают).

Также они собирают некоторую базовую информацию, например данные о процессоре, ОС, оперативной памяти.

PKL передает эти необработанные, незашифрованные данные через POST-запрос на URI http://api.projectkongor.com/launcher.php?v=2&a=0

Посмотрите, что у вас украли.

Это очень просто сделать на Windows 10+. Выполните следующие шаги:

• Щелкните правой кнопкой мыши на кнопке «Пуск» (или нажмите Windows+X) и выберите PowerShell(администратор). В консоли введите:

netsh trace start capture=yes report=disabled overwrite=yes tracefile=C:\trace.etl

нажмите Enter. Вы должны увидеть сообщение о том, что трассировка началась. Не закрывайте эту консоль, так как она понадобится вам позже.
• Запустите Project KONGOR launcher подождите запуска HoN. Сразу выйдите из игры. Вернитесь в консоли и введите:

netsh trace stop

нажмите Enter. Теперь консоль можно закрывать.
• Откройте анализатор трассировки Python скрипт (возможно понадобится VPN). Нажмите Upload files, выберите файл C:\trace.etl и нажмите открыть. (На самом деле файл не загружается в Интернет; все работает локально в вашем браузере).
• Нажмите play иконку ( |> ).

Подождите, пока скрипт закончит анализ, и вы увидите ваши личные данные, которые были отправлены на серверы PK.

Пример дампа необработанных приватных данных

{
  "Base Board": [],
  "IP Table": {
    "0.0.0.0;0.0.0.0;10.0.0.1": [
      "DE:06:BF:89:BA:15"
    ],
    "10.0.0.0;255.0.0.0;10.72.173.4": [
      "52:54:00:C1:68:D1"
    ],
    "10.255.255.255;255.255.255.255;10.72.173.4": [
      "52:54:00:C1:68:D1"
    ],
    "10.72.173.4;255.255.255.255;10.72.173.4": [
      "52:54:00:C1:68:D1"
    ],
    "224.0.0.0;240.0.0.0;10.72.173.4": [
      "52:54:00:C1:68:D1"
    ],
    "255.255.255.255;255.255.255.255;10.72.173.4": [
      "52:54:00:C1:68:D1"
    ]
  },
  "Physical Memory": [
    "Null String"
  ],
  "System": [
    "Null String"
  ],
  "System Enclosure": [
    "Null String"
  ],
  "System Name": "DESKTOP-45PFPT2",
  "UUID": [
    "1220BABF-02AC-464A-B90E-6C350236BE0C"
  ],
  "cpus": [
    "Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz"
  ],
  "deviceIds": {
    "ACPI Fixed Feature Button": "ACPI\\FIXEDBUTTON\\2&DABA3FF&0",
    "ACPI Processor Container Device": "ACPI\\ACPI0010\\2&DABA3FF&0",
    "ACPI x64-based PC": "ROOT\\ACPI_HAL\\0000",
    "ATA Channel 0": "PCIIDE\\IDECHANNEL\\4&403BEF5&0&0",
    "ATA Channel 1": "PCIIDE\\IDECHANNEL\\4&403BEF5&0&1",
    "CPU to PCI Bridge": "PCI\\VEN_8086&DEV_1237&SUBSYS_11001AF4&REV_02\\3&267A616A&0&00",
    "Composite Bus Enumerator": "ROOT\\COMPOSITEBUS\\0000",
    "Extended IO Bus": "ACPI\\PNP0A06\\PCI_HOTPLUG_RESOURCES",
    "Fax": "SWD\\PRINTENUM\\{16831C93-8E79-49BF-870C-607BB2D274CB}",
    "Generic PnP Monitor": "DISPLAY\\RHT1234\\4&7A3119A&0&UID0",
    "HID-compliant mouse": "HID\\VID_0627&PID_0001\\6&37F336B9&0&0000",
    "High precision event timer": "ACPI\\PNP0103\\0",
    "Intel(R) 82371SB PCI Bus Master IDE Controller": "PCI\\VEN_8086&DEV_7010&SUBSYS_11001AF4&REV_00\\3&267A616A&0&09",
    "Intel(R) 82371SB PCI to USB Universal Host Controller": "PCI\\VEN_8086&DEV_7020&SUBSYS_11001AF4&REV_01\\3&267A616A&0&0A",
    "Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz": "ACPI\\GENUINEINTEL_-_INTEL64_FAMILY_6_MODEL_79_-_INTEL(R)_XEON(R)_CPU_E5-2680_V4_@_2.40GHZ\\_3",
    "Microsoft ACPI-Compliant System": "ACPI_HAL\\PNP0C08\\0",
    "Microsoft Basic Display Adapter": "PCI\\VEN_1234&DEV_1111&SUBSYS_11001AF4&REV_02\\3&267A616A&0&10",
    "Microsoft Basic Display Driver": "ROOT\\BASICDISPLAY\\0000",
    "Microsoft Basic Render Driver": "ROOT\\BASICRENDER\\0000",
    "Microsoft GS Wavetable Synth": "SWD\\MMDEVAPI\\MICROSOFTGSWAVETABLESYNTH",
    "Microsoft Hyper-V Virtualization Infrastructure Driver": "ROOT\\VID\\0000",
    "Microsoft Kernel Debug Network Adapter": "ROOT\\KDNIC\\0000",
    "Microsoft Print to PDF": "SWD\\PRINTENUM\\{32B670ED-FEFA-487A-9BA3-00264585AD56}",
    "Microsoft RRAS Root Enumerator": "SWD\\MSRRAS\\{5E259276-BC7E-40E3-B93B-8F89B5F3ABC0}",
    "Microsoft Radio Device Enumeration Bus": "SWD\\RADIO\\{3DB5895D-CC28-44B3-AD3D-6F01A782B8D2}",
    "Microsoft Storage Spaces Controller": "ROOT\\SPACEPORT\\0000",
    "Microsoft System Management BIOS Driver": "ROOT\\MSSMBIOS\\0000",
    "Microsoft Virtual Drive Enumerator": "ROOT\\VDRVROOT\\0000",
    "Microsoft XPS Document Writer": "SWD\\PRINTENUM\\{1CD5C32F-8D17-4BAB-BCE5-A5E7F87C83EA}",
    "NDIS Virtual Network Adapter Enumerator": "ROOT\\NDISVIRTUALBUS\\0000",
    "OneNote": "SWD\\PRINTENUM\\{93C2529F-2379-4B6F-8E5D-909EC4A41AE4}",
    "PCI Bus": "ACPI\\PNP0A03\\0",
    "PCI to ISA Bridge": "PCI\\VEN_8086&DEV_7000&SUBSYS_11001AF4&REV_00\\3&267A616A&0&08",
    "PS/2 Compatible Mouse": "ACPI\\PNP0F13\\4&2C352A27&0",
    "Plug and Play Software Device Enumerator": "ROOT\\SYSTEM\\0000",
    "QEMU FwCfg Device": "ACPI\\QEMU0002\\3&267A616A&0",
    "QEMU HARDDISK ATA Device": "IDE\\DISKQEMU_HARDDISK___________________________2.5+____\\5&3869DF3D&0&1.1.0",
    "Red Hat VirtIO Ethernet Adapter": "PCI\\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\\3&267A616A&0&18",
    "Red Hat VirtIO SCSI Disk Device": "SCSI\\DISK&VEN_RED_HAT&PROD_VIRTIO\\4&26072453&0&000000",
    "Red Hat VirtIO SCSI controller": "PCI\\VEN_1AF4&DEV_1001&SUBSYS_00021AF4&REV_00\\3&267A616A&0&28",
    "Remote Desktop Device Redirector Bus": "ROOT\\RDPBUS\\0000",
    "Root Print Queue": "SWD\\PRINTENUM\\PRINTQUEUES",
    "Standard PS/2 Keyboard": "ACPI\\PNP0303\\4&2C352A27&0",
    "Standard floppy disk controller": "ACPI\\PNP0700\\4&2C352A27&0",
    "System CMOS/real time clock": "ACPI\\PNP0B00\\4&2C352A27&0",
    "UMBus Root Bus Enumerator": "ROOT\\UMBUS\\0000",
    "USB Input Device": "USB\\VID_0627&PID_0001\\28754-0000:00:01.2-1",
    "USB Root Hub": "USB\\ROOT_HUB\\4&2E134BF2&0",
    "VirtIO Balloon Driver": "PCI\\VEN_1AF4&DEV_1002&SUBSYS_00051AF4&REV_00\\3&267A616A&0&30",
    "VirtIO Serial Driver": "PCI\\VEN_1AF4&DEV_1003&SUBSYS_00031AF4&REV_00\\3&267A616A&0&20",
    "Volume": "STORAGE\\VOLUME\\{56EA72CB-82A2-11EF-986D-806E6F6E6963}#0000000003300000",
    "Volume Manager": "ROOT\\VOLMGR\\0000",
    "WAN Miniport (IKEv2)": "SWD\\MSRRAS\\MS_AGILEVPNMINIPORT",
    "WAN Miniport (IP)": "SWD\\MSRRAS\\MS_NDISWANIP",
    "WAN Miniport (IPv6)": "SWD\\MSRRAS\\MS_NDISWANIPV6",
    "WAN Miniport (L2TP)": "SWD\\MSRRAS\\MS_L2TPMINIPORT",
    "WAN Miniport (Network Monitor)": "SWD\\MSRRAS\\MS_NDISWANBH",
    "WAN Miniport (PPPOE)": "SWD\\MSRRAS\\MS_PPPOEMINIPORT",
    "WAN Miniport (PPTP)": "SWD\\MSRRAS\\MS_PPTPMINIPORT",
    "WAN Miniport (SSTP)": "SWD\\MSRRAS\\MS_SSTPMINIPORT",
    "vport0p1": "{6FDE7547-1B65-48AE-B628-80BE62016026}\\VIOSERIALPORT\\4&24D9CDA8&0&01"
  },
  "disks": {
    "\\\\.\\PHYSICALDRIVE0": "QM00004",
    "{5474A0AA-93FA-2DED-37B4-C5DA9F2F87FD}": ""
  },
  "gpus": [
    "Microsoft Basic Display Adapter"
  ],
  "macAddresses": {
    "PCI\\VEN_1AF4&DEV_1000&SUBSYS_00011AF4&REV_00\\3&267A616A&0&18#{c343047a-fc4f-4c59-aebe-c81d59d2c206}": "52:54:00:C1:68:D1",
    "SWD\\MSRRAS\\MS_NDISWANBH#{7767f5b0-38db-47ba-a4a5-73e6fd2df416}": "98:16:20:52:41:53",
    "SWD\\MSRRAS\\MS_NDISWANIP#{ec1edd06-ba19-4247-8186-c665014ba237}": "8E:8E:20:52:41:53",
    "SWD\\MSRRAS\\MS_NDISWANIPV6#{8bf19482-4c0c-4048-8f10-0288c011e14b}": "92:4A:20:52:41:53"
  },
  "volumes": [
    "\\\\?\\Volume{450baf57-0000-0000-0000-100000000000}",
    "\\\\?\\Volume{450baf57-0000-0000-0000-300300000000}",
    "\\\\?\\Volume{450baf57-0000-0000-0000-c05e07000000}"
  ]
}

Анонимизация данных

Анонимизация данных - это вид очистки информации, целью которой является защита конфиденциальности. Это процесс удаления персонально идентифицируемой информации из наборов данных, чтобы люди, которых эти данные описывают, оставались анонимными.
(из вики https://en.wikipedia.org/wiki/Data_anonymization )

SSL не является главной проблемой, если PK анонимизирует приватные данные пользователя перед отправкой. Я думаю, что они используют эти данные для генерации HWID, а для этого их можно легко анонимизировать.

Посмотрите, например.

Вместо того чтобы отправить:

> отправить «MyDirtyWindows»

#capture view: «MyDirtyWindows».

следует отправить:

> отправить SHA256(«MyDirtyWindows»)

#capture view: “ad249687a6a01e7eacf9f86ae7af6741e99c3ae68e717785dc118e7c81141b43”

Эти данные остаются уникальными, но немного анонимизируются. Почему только слегка? Потому что существуют сервисы дехеширования, где большинство простых хешированных строк могут быть восстановлены до исходных данных. Для максимальной анонимизации PK может использовать хэширующую соль (или статическую соль), например:
> GENERAL_SALT = «IWillNeverBreakUserPrivacy» * 10^36
> send SHA256("MyDirtyWindows »+GENERAL_SALT)

#capture view: “25ae90e1ca14930ec328e3a01ff0d9bf0e1b527e12a2c3ec606e94e38648b51c”

Удивительно, но данные по-прежнему уникальны, и теперь их совершенно безопасно отправлять по HTTP без SSL (потому что для всех остальных это просто случайная тарабарщина). PK все еще может безопасно идентифицировать пользовательское оборудование и хранить его, но они не должны хранить его в незащищенном виде. Кроме того, PK может попытаться раскрыть данные, поскольку знает соль, но это будет неэтично.

Анонимизированные данные из дампа PCL могут выглядеть так

В статье это выглядит как мусор, поэтому я загрузил его на https://codebeautify.org/jsonviewer/y24b0d4bc.
Mirror: https://jsonblob.com/1307426933401575424

Что же может сделать PK, чтобы использовать приватные данные пользователей безопасно и этично, следуя лучшим практикам? 

Я думаю, что они должны как можно скорее создать обновление, которое:
•Удаляет весь участок кода, отвечающий за сбор частных данных пользователей.
•Позволяет пользователям входить в систему без функций SpyWare.
•Удаляет или хэширует все частные данные, хранящиеся на их серверах.

После этого PK должны взять перерыв, начать анонимизировать данные перед отправкой, пересмотреть свои методы сбора данных и убедиться, что они делают их удобными для пользователей. Добавьте публичный ToS, в котором будут указаны цель сбора данных, какие данные и с какой целью собираются, как именно они обрабатываются и хранятся, и как их удалить. При первом использовании PKL должен попросить игрока разрешить PK собирать данные. Повторно разрешать сбор данных следует только тогда, когда они уверены в своем подходе. Это правильный и этичный способ обращения с приватными данными пользователей.

Есть ли способ решить эту проблему на стороне пользователей?

•Вы можете заблокировать эти запросы в вашем брандмауэре, но вы не сможете войти в клиент игры без предоставления ключа ответа, который генерируется при отправке ваших приватных данных программой запуска.
•Вы также можете использовать такие инструменты, как Fiddler или MITMProxy, если знаете, как ими пользоваться.
•Оставайтесь в курсе событий, следите за разделом Обновления в этой статье.
•Также в качестве временного обходного пути я написал скрипт командной строки Windows, который запускает launcher.exe и заменяет все ваши приватные данные анонимизированными на лету. Этот скрипт будет доступен до тех пор, пока они не удалят SpyWare-функции launcher или не сделают анонимизацию.

О скрипте PKL Data Anonymizer

Скачайте скрипт отсюда, нажав кнопку download, и сохраните его в директории HoN под именем kongor_anonymize.bat. После этого щелкните правой кнопкой мыши по загруженному файлу в проводнике, выберите свойства, нажмите Разблокировать и ОК. Для работы скрипта требуются права администратора.

Запускайте скрипт kongor_anonymize.bat вместо запуска launcher.exe. Я не могу обеспечить его поддержку в будущем. Используйте этот скрипт на свой страх и риск. Этот скрипт также изменяет ваш HWID, но только один раз и не навсегда, я думаю. Они могут хэшировать уже сохраненные данные и сравнивать их. Этот скрипт также сбрасывает ваши оригинальные приватные данные в файл collected_data.json, чтобы вы могли их увидеть.

Заключение

Спасибо за внимание. Надеюсь, эта статья поможет вам защитить свою конфиденциальность и понять, какие данные у вас крадут.

Пожалуйста, поделитесь этой статьей на Reddit, Facebook, VK, Discord и Medium, чтобы помочь защитить конфиденциальность других игроков.

Для связи со мной используйте публичный Telegram-канал:


Донаты

Bitcoin 1NLo2ByqKbFfXxZQgdcu5W7U17143z8huh
Пожертвовать на YooMoney

Обновления

Ничего.

Report Page