Microsoft избавится от телеметрии в Visual C++ в Update 3
Месяц назад Евгений Гречников grechnik опубликовал пост «Стандартная библиотека Visual Studio 2015 и телеметрия», в котором рассказал об интересной находке: оказалось, что в любом бинарнике, скомпилированном VS2015 из программы на C или C++, есть код, который может писать логи — и выглядело это всё слегка подозрительно, особенно в силу отсутствия исходников telemetry.cpp.
Три дня назад этот вопрос был снова поднят на Reddit, где время от времени в комментариях появляются разработчики Visual Studio — и вот сегодня общественности наконец-то удалось получить вполне себе официальный ответ от представителя Microsoft.
Самое важное: телеметрия будет убрана из статических библиотек в обновлении Update 3.
Всем здравствуйте. Это Стив Кэролл, менеджер разработки в команде Visual C++.
TL; DR: Всем спасибо за фидбек. Наша команда уберет это из наших статических библиотек в обновлении Update 3.
Наши намерения были благими — мы хотели создать фреймворк, который поможет исcледовать проблемы с производительностью и улучшить качество нашего оптимизатора, для чего нам нужно получать отчеты о любых замедлениях работы программ и широко распространенных проблемах с производительностью.
Мы приносим свои извинения за рост подозрительности по причине отсутствия CRT исходника — это было всего лишь упущением с нашей стороны. Несмотря на это упущение, некоторые из вас уже в деталях исследовали работу механизма. Как уже заметили многие, данный код делает следующее: вызывает событие ETW (подсистема Event Tracing for Windows) которое, при включенной Event Tracing, будет логировать отметки времени и события загрузки модуля. Данные этого события могут быть интерпретированы только в том случае, если клиент предоставит нам информацию о символах (то есть PDB-файлы), поэтому эти данные имеют значение только для клиентов, которые активно ищут нашей помощи и готовы поделиться этими PDB-файлами в качестве части своего исследования.
На самом деле, на сегодня мы еще не прошли весь этот путь ни с одним из пользователей, так что [при развитии Visual Studio и решении проблем с производительностью] мы по-прежнему полагаемся на наши привычные подходы в исследовании и исправлении потенциальных проблем.
Мы планируем удалить эти события в Update 3. Пока обновление не вышло, для удаления этой зависимости в Update 2 вы должны самостоятельно добавить notelemetry.obj в командную строку компоновщика. Если вы обеспокоены вопросом безопасности в целом, больше информации по правильной настройке Windows 10 согласно вашей необходимости может быть найдено здесь: https://technet.microsoft.com/en-us/itpro/windows/manage/configure-windows-10-devices-to-stop-data-flow-to-microsoft#bkmk-priv-feedback
Спасибо.