Как узнать что скайп прослушивается. Прослушка Skype - подтверждение подозрений. Почему трудно блокировать Skype

  • 16.04.2019

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

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

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

Другие материалы:


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


Skype технологии являются собственностью телекоммуникационной компании Microsoft штаб-квартира которой расположена в Люксембурге. Программное обеспечение программы лицензировано. Skype передает голосовые сообщения по IP (VoIP). ПО впервые...


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


Skype это программа, которая осуществляет шифрование голосовой речи через мультимедийные сессии интернет-протоколов (IP) и предоставляет услуги (платные) звонков на стационарные либо мобильные телефоны. Программное обеспечение было разработано компанией Technologies S.A. Данная программа способствует распространению голосовых вызовов через...


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


Программа для записи skype отлично справилась с созданием клипа встречи выпускников в скайп-конференции.


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


Будет ли прослушиваться скайп фсб и другими спецслужбами? Пока skype остаётся для всех "черным ящиком", недоступным для перехвата вне компьютера.

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

Защищен ли Skype?

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

Несмотря на неоднократно появлявшиеся слухи об успешных атаках и "бэкдорах", за всю многолетнюю историю Skype не было никаких официальных сообщений о том, что Skype удалось взломать и успешно прослушать. Но правоохранительные органы могут спать спокойно, потому что руководство Skype подчеркивает, что готово сотрудничать с правоохранительными органами "везде, где это возможно с правовой и технологической точки зрения ". А простые пользователи? Очевидно, если они не занимаются ничем противоправным, и их больше беспокоит защита от злоумышленников, чем от правоохранительных органов, то и они могут не волноваться. Шифрования трафика с помощью AES-256, для передачи ключа которого, в свою очередь, используется 1024-битный ключ RSA, достаточно для самых требовательных к соблюдению конфиденциальности информации участников личных и деловых переговоров.

Почему трудно блокировать Skype

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

Для чего это делается? Как правило, сами работодатели объясняют такое свое поведение очень просто: чтобы сотрудник не отвлекался в рабочее время, если общение по Skype не входит в список его непосредственных обязанностей. Также популярны следующие мотивации: чтобы избежать возможных утечек конфиденциальной информации, чтобы сэкономить на трафике, который Skype потребляет с весьма неплохим аппетитом... Хотя последнее уже встречается редко благодаря повсеместному проникновению "анлимов".

Тем не менее в силу ряда особенностей протокола Skype даже блокировать его не так уж и просто. Дело в том, что для обхода блокировки с помощью "файрволов" разработчики Skype немало поработали еще на этапе создания распределенной архитектуры своего протокола. Поэтому Skype спроектирован таким образом, что может пользоваться как протоколом UDP, так и TCP, а благодаря шифрованию пакетов распознать их в общем трафике тоже довольно непросто. Хотя, конечно, нельзя сказать, что эта задача совсем нерешаема.

Пути решения проблемы блокировки

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

Тем не менее есть ряд продуктов, вполне пригодных для того, чтобы блокировать использование Skype в одной отдельно взятой конторе. Наиболее успешны "железные" решения - например, Unified Security Gateway компании Facetime или Cisco IOS Flexible Packet Matching. С их помощью вы можете или совсем заблокировать Skype-трафик, или, по крайней мере, несколько умерить аппетит Skype-клиента, выставив фиксированную ширину канала, отведенного для него. Что касается чисто программных "файрволов", то по отзывам, среди них неплохо зарекомендовал себя TeleMate NetSpective. Большинство же широко используемых "файрволов" (не будем показывать пальцем, чтобы не обидеть их производителей) в вопросах блокировки Skype-трафика, увы, находятся не на высоте.

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

Вернемся к вопросу прослушивания

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

Это можно реализовать как с помощью программ, осуществляющих перехват всей информации со звуковой карты и клавиатуры (ведь в Skype есть и чат, и за ним тоже хочется наблюдать), так и специализированных решений, "заточенных" специально под Skype. Первый вариант реализуется вообще малой кровью - достаточно в том же стандартном Sound Recorder"е выбрать в качестве входного канала Stereo Mixer (в зависимости от звуковой карты, он может называться иначе - например, "What you hear"). Плюс какой-нибудь бесплатный кейлоггер, который можно за пять минут найти с помощью Google, и у вас есть готовая система слежения за сотрудниками. Но у нее есть минусы: вместе с разговором по Skype будет записываться и музыка, которую пользователь слушает в перерывах между ними. То же касается и клавиатурного ввода - вам придется вручную отделять "зерна от плевел", то есть сообщения, переданные через Skype, от набранных в Word"е документов. Что касается специализированных инструментов, то Google показал, что их на самом деле мало. Одним из лучших по праву считается SearchInform SkypeSniffer. Программа умеет самостоятельно выделять голосовой и клавиатурный ввод Skype из общего потока, а также обладает мощными поисковыми возможностями по базе собранных пользовательских сообщений. Ну и к тому же это компонент мощного решения для защиты от утечек данных, до которого можно обновиться при желании в процессе ее использования.

Резюме

В общем, можно сказать, что если вы не международный террорист, то за перехват своих Skype-переговоров можете не волноваться - обычным людям, пусть даже очень хорошо подкованным технически, это пока что не по силам. Блокировать Skype-трафик при желании можно, но гораздо проще запретить установку самого клиента Skype. Прослушать же разговоры по 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 безопасным средством для ведения личных и деловых переговоров в свете всего, что сказано выше? Простого ответа на этот вопрос, к сожалению, быть не может. С одной стороны, разработчики приложения сделали максимум возможного для того, чтобы на этот вопрос можно было ответить утвердительно. С другой стороны, "спасение утопающих — дело рук самих утопающих", и поэтому без соблюдения пользователем хотя бы элементарных правил безопасности надеяться на то, что в один прекрасный день на компьютере не появится, к примеру, тот же клавиатурный шпион, не приходится.

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

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

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

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

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

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

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

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

Также разработчик опроверг предположение, что 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);