Есть масса способов отправить большой файл через интернет, но далеко не все они дают возможность передать что-то анонимно и только одному адресату. Как поделиться большим файлом так, чтобы получатель не использовал никаких учетных записей и не оставлял следов в облаках?
WARNING!
Все тесты выполнялись только для исследования. Тестовые файлы были удалены с носителей, а их владельцы оповещены об уязвимостях. Редакция и автор не несут ответственности за любой возможный вред.
Свобода или проблема выбора?
Как обычно люди пересылают файлы? Например, прикрепляют их к письму и гадают, почему оно не доходит. Представление вложений в формате Base64 раздувает их в полтора раза, что создает лишнюю нагрузку на сервер. Почтовый шлюз может отфутболить большое письмо из-за превышения установленных ограничений по объему, счесть его спамом или скормить антивирусу. Гарантий, что файл дойдет по электронной почте, нет никаких, даже если у тебя платный аккаунт или корпоративная почта.
Более надежный способ — интерактивная передача. Если файл отправляется прямо во время беседы по Skype, Hangouts или через другой подобный сервис, то процесс отправки виден обоим собеседникам... вот только им ли одним? Как правило, копии файлов остаются на чужих серверах еще долго и потом могут «всплыть» в самый неподходящий момент. Например, при авторизации под имеющейся учетной записью с другого устройства.
Подобная проблема характерна и для файлообменных хостингов. Ты регистрируешься, заливаешь свои файлы по одному вручную или скопом через автоматическую синхронизацию, а затем отправляешь публичные ссылки на них друзьям. Опять же технически твое цифровое богатство после этого уже не подконтрольно тебе. Даже после удаления файлы еще какое-то время хранятся в облаках и оказываются доступны посторонним — от программ автоматического анализа контента (например, для оптимизации персонализированной рекламы) до бывших коллег Сноудена и скучающих админов.
Are we anonymous?
Какие есть альтернативы? Такими вещами, как гипертерминал, нетмейл или файловая эха, сегодня неудобно пользоваться даже олдскульным хакерам, привыкшим, что для каждой цели существует свой инструмент. Однако есть в наши дни как минимум один сетевой сервис, который можно приспособить к делу на новый лад.
Когда в девяностых надо было передать файл, его обычно выкладывали на сервер FTP своего провайдера или компании. При использовании плагина к FAR или специализированного менеджера процесс загрузки уподоблялся обычному копированию на сетевой диск. Покупать сейчас веб-хостинг для этих целей стало невыгодно, да и опасно. Если найдут что-нибудь особенно интересное, то придется отвечать по всей строгости закона. Благо по миру разбросаны тысячи FTP-серверов с анонимной авторизацией, многие из которых позволяют размещать на них свои файлы кому угодно. На большинстве из них это происходит по недосмотру админа, но есть и идейные робин гуды, отбирающие дисковые ресурсы у богатых ламеров и раздающие их тем, кто учил матчасть.
Получить свежий список таких серверов нам поможет поисковик по теневому интернету Shodan. Перечень анонимных FTP генерируется по запросу 230 Anonymous access granted
. Выбери первый понравившийся и попытайся залить на него файл. Если получилось, то поделись с другом ссылкой или проверяй следующий. Во время теста два подходящих сервера нашлись за две минуты, причем через бесплатную учетную запись в Shodan.
Терабайты для NAS
Впрочем, FTP — это слишком очевидно и публично. В последние годы в Сети появились сотни тысяч персональных сетевых хранилищ (NAS), владельцы которых наивно полагают, что их диски не видно из интернета. Порой все меры безопасности ограничиваются сохранением в тайне IP-адреса устройства, но какая же это тайна? Это настоящее пасхальное яйцо, особенно если остались установленные по умолчанию логин и пароль. Люди словно устраивают день открытых томов и позволяют записать на них свои файлы. Найти сетевое хранилище с паролем по умолчанию также удобно через Shodan.
Здесь поиск уже немного сложнее. Каждый из серверов NAS имеет свой идентификатор, который отправляет в строке приветствия удаленному узлу (а также «пауку» Shodan) при попытке подключения к нему. Например, у QNAP TS-101 Turbo Station это NASFTPD Turbo station. Признаком же успешного подключения к NAS будет общий код 220. Если ввести эти данные в поисковую строку Shodan, то доступное сетевое хранилище найдется за несколько минут. Из официального руководства на сайте производителя узнаем логин и пароль по умолчанию: здесь это Administrator/admin
. Загрузка файлов выполняется через встроенный менеджер с веб-интерфейсом. Он работает в любом браузере с поддержкой Java. На других моделях может потребоваться плагин Flash.
У перечисленных способов есть очевидный плюс: принадлежность файлов практически невозможно установить, особенно если они заливались через Tor или зарубежные анонимные прокси. Недостатки тоже очевидны: непредсказуемое количество свободного места на сетевом ресурсе и высокий шанс того, что его владелец может удалить твой файл в любой момент. Бороться с этим можно с помощью дублирования на другие FTP и NAS (трафик-то у большинства безлимитный), но для ежедневного применения удобнее все-таки использовать варианты c большей степенью контроля. Например, самому создать узлы распределенной сети файлообмена.
Распределяй и властвуй!
Преимущество такого подхода в том, что все файлы хранятся исключительно на известных устройствах — без искусственных ограничений по объему, скорости и трафику. Они не загружаются на какой-то левый сервер в облаке, где могут остаться в теневой копии даже после удаления. С недавних пор известная среди корсаров цифрового века компания BitTorrent предлагает попробовать для обмена файлами и синхронизации простой сервис Sync.
Суть его так же красива, как у торрентов: для синхронизации между устройствами одного пользователя и передачи выбранных файлов другим людям используется общий механизм распределенного хранения данных. Файлы разбиваются на блоки и снабжаются цифровой подписью. Сервер GetSync не хранит их, а лишь обеспечивает поиск пиров подобно торрент-трекеру. Благодаря этому обеспечивается возможность автоматической докачки после паузы, проверяется целостность данных и всегда передаются только измененные части. Отсутствующие фрагменты запрашиваются у всех находящихся онлайн устройств, из которых автоматически выбираются наиболее быстро отдающие.
После длительного периода публичной беты стабильная версия клиента BitTorrent Sync стала доступна для всех десктопных и мобильных платформ. Он может даже встраиваться в маршрутизаторы или NAS, что гарантирует наличие круглосуточно доступных устройств в пиринговой сети.
После установки клиента пользователь выбирает каталоги с файлами, которые хочет синхронизировать или передать. Затем по клику на кнопке «Поделиться» он может получить ссылку вида link.getsync.com/что-то-там
и отправить ее другу в виде простого текста или QR-кода. Последний вариант удобен для мобильных устройств, поскольку ссылка выходит длинная.
Весь трафик шифруется по алгоритму AES ключом длиной 256 бит. Ключ уникален для каждого расшаренного файла или каталога. Каждый ключ может предоставлять как полный доступ, так и в режиме «только для чтения». Это задается владельцем файлов прямо в клиенте BT Sync до отправки ссылки с помощью простого переключателя. Само соединение происходит по защищенному протоколу HTTPS, а все параметры синхронизации передаются прямо в теле ссылки. В частности, название передаваемого файла или папки указывается после ключа f
, а ключ t
задает допустимое число обращений по ссылке (по умолчанию ей можно воспользоваться однократно). Другие ключи указывают общий объем передаваемых данных, их криптографическую подпись и версию клиента, использованную владельцем. Последнее требуется потому, что публичные бета-версии клиента Sync (особенно до 1.0.95) работали иначе и не поддерживали часть современных функций.
Компания BitTorrent никак не лимитирует объемы и скорость передачи данных, поскольку все соединения в итоге устанавливаются напрямую. Все ограничения обусловлены возможностями самого сетевого оборудования и используемых на устройствах файловых систем у передающей и принимающей стороны (подробнее см. врезку).
Конечно, BitTorrent далеко не единственная компания, продвигающая концепцию распределенной файлообменной сети. Подобным образом развивалась сеть Wuala, созданная швейцарской компанией LaCie, но с прошлого года все действия в ней стали доступны только по платной подписке. BitTorrent использует другую схему монетизации: базовые функции планируется навсегда оставить бесплатными, а прибыль получать за счет продажи аккаунтов серии Plus и Pro. Они обладают расширенной функциональностью и по условиям лицензионного соглашения могут использоваться в коммерческих целях.
Think geek!
Вот совсем сумасшедший метод передачи данных: представить важный файл в виде большого десятичного числа, после чего залить его в таком виде на сервер распределенных вычислений для проверки на необычные математические свойства. Пока народ будет проверять, является ли оно, к примеру, следующим числом Мерсенна, копии файла будут загружены в теле заданий на все компьютеры участников проекта. При этом никто даже не догадается о реальном назначении файла. Все будет выглядеть как очередная рутинная проверка.
Стремление к бесконечности
Если по какой-то причине BT Sync все же не понравился, попробуй другой P2P-сервис — Infinit. Он тоже передает файлы напрямую получателю и нигде не хранит их. Собственные серверы используются в нем лишь для кеширования ссылок и фрагментов файлов на время сеанса. Разумеется, Infinit поддерживает автоматическую докачку и проверку целостности. В шифровании трафика используются алгоритмы AES с ключом длиной 256 бит и RSA с длиной ключа 2048 бит. Однако дела с безопасностью у Infinit обстоят не так хорошо. В отличие от BT Sync, соединение Infinit сначала устанавливает по незащищенному протоколу HTTP.
Долгое время сервис был доступен только через веб-интерфейс, поэтому клиентское приложение еще сыровато. Можно передавать друг другу неограниченное количество файлов, но указывать папки целиком нельзя. Пока Infinit доступен только для Windows, OS X, iOS и Android. Версия для Linux все еще в стадии беты, а выпускать клиенты для встраиваемых ОС даже не планируется.
Чтобы передать файл, нужно перетащить его в маленькое окошко клиента Infinit, а затем указать получателя. Это можно сделать по имени его аккаунта, адресу электронной почты или просто прислав ему ссылку вида http://inft.ly/
cо следующим далее набором символов фиксированной длины — как у сервиса сокращения URL bit.ly.
При открытии короткая ссылка автоматически преобразуется в длинную с перенаправлением на сервер infinit.io. В ней будет указана учетная запись создавшего файл пользователя и тот же набор символов. Любую пересылку файла можно сопроводить кратким комментарием (до ста символов). Кириллица отображается корректно.
INFO
Облачные хранилища с поддержкой протокола WebDAV можно смонтировать как сетевой диск в проводнике или через одноименный плагин для Total Commander. Это гораздо удобнее веб-интерфейса.
Облачно, без осадков
Рассмотренные способы еще не стали популярны, что добавляет им привлекательности. Однако порой требуется общаться с менее продвинутыми пользователями и подбирать для этого что-нибудь общеизвестное. Разумеется, мы не станем вновь рассматривать Dropbox и его аналоги. Среди облачных сервисов есть с полдюжины необычных и достойных внимания новинок.
Например, File Dropper подкупает своей простотой. Чтобы начать им пользоваться, не потребуется ни привычной регистрации, ни установки клиентских приложений. Ты просто заходишь на главную страницу, загружаешь любой файл объемом до пяти гигабайт и тут же получаешь ссылку на него, которой можешь поделиться.
На этапе загрузки нет принудительных пауз, никакой рекламы и ограничений по скорости. Все максимально аскетично и функционально. Даже в качестве ссылки используется исходное имя файла. Легкий дискомфорт появляется только при скачивании: требуется ввести капчу, а посередине страницы отображается предложение попробовать платный аккаунт и ссылка на спонсора под ним. Впрочем, это минимальное зло — никаких навязчивых форм рекламы сервис не использует. Кроме того, пройдя регистрацию, можно получить «серебряный» план подписки с лимитом в 50 Гб и бесплатным тестовым периодом. Когда он закончится, его можно продлить за 5 долларов в месяц или подыскать следующий бесплатный аналог.
Например, сервис DropMeFiles, созданный провайдером «Инетком», позволяет передать до 50 Г, без регистрации и принудительного просмотра рекламных объявлений. Собственным абонентам компания даже отменяет тарифные ограничения при загрузке и скачивании файлов из фирменного облака. Перед загрузкой для каждого файла задаются ограничения: скачивать один раз, хранить неделю или две. Через веб-форму также указываются дополнительные настройки: автоматически генерируемый пароль для доступа, сопроводительный текст длиной до 450 знаков и преобразование ссылки в короткий алиас для удобства. Ссылку можно скопировать в буфер обмена, сразу отправитm по email или по СМС. Для передачи используется незащищенное соединение HTTP.
Еще один оригинальный способ передать файлы размером до 2 Гб совокупным объемом до 10 Гб — сервис WeTransfer. Отправлять файлы можно прямо из веб-формы — без регистрации, зная только адрес почты получателя. На сайте нет навязчивой рекламы, принудительных пауз и искусственных ограничений. Чтобы не светить почту, можно просто скопировать сгенерированную ссылку. Она будет работать в течение недели.
Как и у Infinit, ссылки сначала сокращаются до вида http://we.tl/набор символов
, а при переходе они автоматически преобразуются в полные версии с перенаправлением на защищенное соединение по протоколу HTTPS. Перед скачиванием файла указывается его размер.
И целого диска мало!
Один из принципов Мерфи гласит, что объем нужного места часто оказывается меньше доступного. Привыкшим жить с большим размахом сервис 4sync.com бесплатно предоставляет до терабайта места, заполнить которое можно кусками объемом до 20 Гб. Разумеется, такое счастье предоставляется с ограничением: только на два месяца в рамках ознакомительного периода. Регулярное использование сервиса обойдется в сотню долларов в год.
Загрузка файлов выполняется с помощью клиентского приложения. Доступны версии для Windows, OS X и всех пяти мобильных операционных систем: Android, iOS, Symbian, BlackBerry и Windows Phone. Если требуется полная двунаправленная синхронизация, то терабайт свободного места для папки 4Sync должен быть выделен на каждом устройстве. Иначе файлы просто закачиваются в облако, откуда достаются по мере необходимости.
По умолчанию передача данных выполняется через незащищенный протокол HTTP. В настройках клиента можно включить использование SSL и задать множество дополнительных параметров.
Как обойти лимиты на тип загружаемого файла
Отдельные сервисы выполняют проверку содержимого по формату и позволяют загружать только файлы определенного типа. Например, хостинги изображений принимают лишь JPEG и не позволяют загрузить ни программы, ни документы. Классическим вариантом борьбы с этой несправедливостью стали файлы вида rar.jpg
. Расширение не обязательно указывать двойным, переименовать можно и локально после скачивания. Суть метода в том, что в конец картинки дописывается архив. Программы просмотра изображений анализируют файл с первых байтов и просто проигнорируют архивный блок, а большинство архиваторов ищет заголовок архива по всему телу файла, игнорируя картинку. Склеить ужа и ежа в Windows можно простой командой type
с перенаправлением вывода в файл:
type picture.jpg archive.rar > pseudoimage.jpg
Разумеется, имена файлов произвольные. Подобный метод работает также с WAV, MP3 и другими форматами.
Иногда по какой-то причине сервис не позволяет загрузить ни архивы с паролем, ни текстовые документы, если находит в них подозрительные слова или относит к спаму по другим критериям. Избежать проверки можно, если поместить документы в образ ISO и сжать в формат ISZ, после чего залить на сервер в таком виде.
Бывает, что передачу файла блокирует антивирус на стороне сервера, а срабатывание точно ложное. Можно писать админам, но проще обойти блокировку, используя методы крипто- и стеганографии: начиная от создания простого архива с паролем, заканчивая помещением его в музыкальный или графический файл.