Ну кто не знает про IRC, это гениальное
изобретение, позволяющее с помощью программы-клиента mIRC, установленной
на вашем компьютере, общаться в реальном времени и обмениваться файлами с
любым человеком в Интернете! IRC оставила далеко позади себя как неуклюжие
chat'ы в окне браузера, так и маразматические "комнаты общения" таких
онлайновых служб, как AOL и MSN, превосходящие по
степени контролируемости, поднадзорности и отсутствия какой бы то ни было
анонимности школьные утренники в СССР. IRC настолько популярна, что многие
люди проводят в IRC больше времени, чем бродя по WWW. И коль скоро для
многих людей это часть жизни, следует подумать и о privacy в этой
виртуальной жизни.
Ваша privacy может подвергается опасности в IRC по
следующим причинам:
1. Возможность прослушивания того, что вы говорите другому
человеку при общении один на один. Здесь все довольно просто: если вы
считаете, что обсуждаемый вопрос конфеденциален, не пользуйтесь общением
на канале, даже если кроме вас и вашего собеседника на нем никого нет. Не
пользуйтесь командой /msg или окном query, что одно и то же. Вся
информация проходит через IRC сервер и технически может быть записана.
Вместо этого воспользуйтесь DCC (Direct Client to Client). При этом
информация будет передаваться вашему собеседнику напрямую, минуя сервер,
от которого можно даже отключиться после установления связи по DCC. В
принципе, и эту информацию можно расшифровать на любом из узлов, через
который установлена связь между вами и вашим собеседником, но это сложно.
Если вы хотите быть уверены в полной приватности вашей беседы,
воспользуйтесь методами, описанными в главе Защищенный разговор.
2. Сбор информации о том, на каких каналах вы находитесь,
с последующей идентификацией вашей личности. Допустим, политический
деятель, скрывающий свою гомосексуальную ориентацию, часто бывает в IRC.
Будучи уверенным в свой анонимности, он частенько заходит на канал
#russiangay или #blackleather. Общается с людьми. Вступает в переписку, не
называя, понятное дело, своего реального имени. А потом находит все свои
письма опубликованными в какой-нибудь вонючей бульварной газетенке типа Mосковского Kомсомольца.
Не очень приятно. Но ситуация вполне возможная. О том, как можно собрать
информацию о человеке в IRC, рассказано в разделе
Вы -
охотник. Здесь приведем рекомендации, позволяющие снизить риск
идентификации вашей личности.
Итак, первое. Если вы хотите быть анонимны, не указывайте
свой настоящий адрес e-mail в соответствующем поле в Setup. Во-вторых,
станьте "невидимы". Это свойство позволяет вам остваться необнаруженным
при попытке любого пользователя, не знающего точное написание вашего nick,
найти вас в IRC по имени вашего домена или userid (часть вашего e-mail,
стоящая перед знаком @), используя команду /who или /names. (см. ниже).
Это делается командой /mode $me +i, которая может быть для удобства
включена в список команд, автоматически выполняемых при подключении (mIRC
Options=>Perform). В последних версиях mIRC 5.** надо просто поставить
галочку напротив Invisible Mode в диалоговом окне Setup. Разумеется, если
вы подключились к какому-либо каналу, то вы будете видимы для других
людей, пока вы будете на этом канале. В-третьих, не давайте свой адрес
людям в IRC, в добропорядочности которых вы не уверены. Или, по крайней
мере, давайте свой альтернативный адрес. Вот, пожалуй, и все, что можно сделать. А теперь рассмотрим, что и
как другие люди в IRC могут о вас узнать (или вы о них).
Вы -
охотник
Оговорюсь, что мы будем исходить из предположения, что имя
домена или IP адрес пользователя в IRC подделать очень сложно, и
подавляющее большинство людей этим не занимаются, хотя такие методы и
есть, и о них можно прочесть ниже.
1. Поиск пользователей по домену, имени, и userid.
Довольно мощным средством поиска по какой-либо известной части информации
о пользователе (или группе пользователей) является команда /who, о которой
почему-то нет ни слова в mIRC'овском Help файле. Странно, правда;) Делая
запрос о пользователе командой /whois, мы обычно получаем примерно такой
текст:
ShowTime ~mouse@ml1_12.linknet.net * May flower
ShowTime on #ircbar #newbies
ShowTime using Oslo-R.NO.EU.Undernet.org [194.143.8.106]
Scandinavia Online AS
End of /WHOIS list.
Команда /who позволяет задать маску для поиска
пользователей по любой части их доменного имени, userid или имени (то, что
в поле Real Name). Допустим, мы ищем людей из домена global.de. Синтаксис
таков:
/who *global.de*
Или ищем всех пользователей из Сингапура:
/who *.sg*
Или мы уже общались с господином ShowTime, и хотим найти
его опять:
/who *mouse*, или
/who *flower*
Так же могут найти и вас, если вы не воспользуейтесь
командой /mode $me +i, как было описано выше.
2. Определение адреса электронной почты. Задача довольно
сложная, но иногда выполнимая. Начнем с "лобовой" атаки. Команда /ctcp
ShowTime userinfo (или, проще, через меню) покажет нам e-mail address,
указанный самим пользователем. Поскольку мало кто сообщает свой настоящий
адрес, надежды на правдивый ответ мало. Если домен полученного адреса
совпадает с тем, что следует за знаком @ в ответе, полученном на запрос
/whois, то вероятность того, что адрес указан правдивый,
повышается.
Следущая возможность - использовать информацию,
содержащуюся в ответе на запрос /whois. Имя домена подделать крайне
сложно, поэтому мы наверняка знаем, что пользователь ShowTime из домена
linknet.net. Это первый шаг. Часто вместо буквенной строки после знака @
следует цифровой IP адрес, который по той или иной причине не определился
при подключении пользователя к серверу. Его можно попытаться определить
командой /DNS ShowTime. Если результат получен, то переходим к следующему
абзацу. Если нет, то попробуем еще один способ. Воспользовавшись
программой WS Ping32
(50K) или CyberKit (905K), сделаем TraceRoute
с указанием цифрового адреса. Программа проследит путь от вашего IP адреса
до искомого IP, принадлежащего ShowTime. Последний из определившихся по
имени адресов укажет, скорее всего, на имя домена пользователя.
Едем дальше. У нас есть либо полное имя, соответствующее
IP адресу пользователя под кличкой ShowTime (ml1_12.linknet.net), либо, в
худшем случае, только имя домена (linknet.net). В первом случае мы можем
попытаться, воспользовавшись командой finger (либо в одной из двух
вышеупомянутых программ, либо прямо в mIRC, где есть кнопка Finger прямо
на Tool Bar'е), определить всех текущих пользователей из домена
linknet.net. Для этого мы делаем finger адреса @linknet.net (userid не
указываем). При удачном стечении обстоятельств мы получим что-нибудь в
этом роде:
Trying linknet.net
Attempting to finger @linknet.net
[linknet.net]
Login Name TTY When Where
root 0000-Admin console Fri 16:27
henroam John Brown pts/1 Tue 10:57 pckh68.linknet.net
pailead Jack White pts/2 Tue 11:03 ml4_17.linknet.net
oneguy Michael Lee pts/3 Tue 11:08 ml1_12.linknet.net
sirlead6 Joan Jackson pts/4 Tue 11:05 ml4_16.linknet.net
End of finger session
Вот он наш ml1_12, принадлежит oneguy@linknet.net.
Отметим, что иногда информация в ответ на finger-запрос может быть выдана
только пользователю из того же домена, к которому принадлежит адрес,
который вы хотите идентифицировать. Решение простое: найдите пользователя
из искомого домена (/who *linknet.net* ), и попросите его сделать finger
запрос.
И в первом, и во втором случае есть еще одна возможность.
Если "охотнику" известно реальное имя или фамилия искомого пользователя,
можно послать figer-запрос в виде имя@домен или фамилия@домен. Например,
finger на John@some.net может нам дать список всех пользователей по имени
John с их login'ами.
Вот, пожалуй, и все известные автору средства, которые
есть у "охотника". А выяснив ваш e-mail адрес, "охотник" может может
выяснить и ваше реальное имя. Как? Читайте в разделе Установление личности
по известному адресу.
К вопросу о
маскировке IP адресов
Долгий поиск информации на эту тему завершился успехом с
любезной помощью Дениса Савельева,
единственного читателя, отозвавшегося на мой призыв поделиться знаниями по
этой теме. Если оставить в стороне IP spoofing, который весьма сложен и
вряд ли осуществим на платформе Windows 95, остаются два способа
маскировки реального IP адреса: использование специального прокси сервера,
способного поддерживать IRC протокол, и использование SOCKS firewall на
неком удаленном хосте.
SOCKS
В последнее время получила широкое распростанение программа
Wingate,
которая связывает несколько компьютеров в локальную сеть и
позволяет работать с Интернетом через модем. При этом большинство
пользователей удовлетворяется настройками "по умолчанию", не подозревая,
что эти настройки позволяют любому человеку использовать их SOCKS прокси.
Если найти IP адрес, по которому в данный момент расположен компьютер под
Wingate, то можно попробовать подсоединиться к IRC, настроив клиент на
нужный IP адрес и порт 1080 (в mIRC Setup это в разделе firewall, как
показано на иллюстрации). Заметим, что доступ к SOCKS дает не только
Wingate, но и многие другие программные продукты, так что не удивляйтесь,
если какой-нибудь web-сервер по адресу www.some.net позволяет подключиться
к порту 1080. Остается чисто практический вопрос: как найти такой IP
адрес. Очевидно, проверять в каком-нибудь диапазоне, причем
предположительно богатом пользователями Wingate, все адреса на предмет
отклика порта 1080. Инструментарий каждый выбирает сам, благо в сети есть
выбор. Один из энтузастов-читателей даже благородно ведет список подобных
IP адресов. Его страница находится здесь, так что если искать
лень - заходите. Есть также популярная страница Proxys-4-All.
Прокси
Итак, со всей ответственностью заявляю: IRC прокси серверы
существуют и работают, все заверения на сайте Анонимайзера и в newsgroups,
посвященных IRC, о том, что протокол IRC не может может работать через
прокси, что свой IP адрес скрыть нельзя и т.д. и т.п. являются ПОЛНОЙ
ЧУШЬЮ. Вокруг этого вопроса в Интернете какая-то стена молчания, даже и не
знаю почему. Ну я ведь молчать не буду: я лично подсоединился к IRCNet
через прокси сервер, и на запрос /whois всем гордо отвечал:
mb@some.proxy.in.asia
Адрес прокси вписывается вместо адреса IRC сервера. Прокси
намертво связан с одной из IRC сетей, так что если вы нашли адрес прокси в
DALnet, то только в далнет им и можно пользоваться. Теперь самое
интересное: как найти подобный IRC прокси сервер. Это вполне возможно,
хотя и довольно сложно. Пару адресов мне дали, один я нашел сам за час.
"Не тяни резину, выкладывай адреса!", слышу я крики читателей. Не дам, не
обижайтесь. Сотня обращений на один такой сервер в день из домена .ru - и
удовольствие кончится. Некоторое время назад я попросил читателей
присылать найденные ими адреса серверов с тем, чтобы опубликовать
более-менее длинный список. Не откликнулся никто. Ну что же, спасение
утопающих - дело рук самих утопающих. Не хотите делиться информацией - не
надо. На письма с просьбой поделиться адресом отвечать НЕ БУДУ. Каждый
желающий будет искать сам; рассказываю о том, как это делать.
Как говорил мой преподаватель матанализа, "в отличие от
чисто механического процесса дифференцирования, интегрирование - процесс
творческий". Тоже самое относится и к поиску IRC прокси. Постулат первый:
похоже, что большинство прокси обитает в странах с различными кодировками
национального алфавита, т.е. в Японии, Тайване, Сингапуре, России и т.д.
Ищите пользователей из этих доменов, смотрите на их имена хостов,
отбрасывайте заведомо нереальные для прокси адреса (dialup, ppp, и т.д.) и
обращайте внимание на адреса короткие и "говорящие", вроде iso.aaa.com.tr,
gateway.nuc.tw, win.irc.connect.jp, но только ими не ограничивайтесь,
например по адресу loxnet.loxley.co.th тоже расположен прокси, но он
пароль требует:( Постулат второй: IRC прокси обитают и в западных странах,
причем часто имеют в имени хоста слово proxy. Итак, нашли адрес,
попробовали подсоединиться (обычно порт 6667), что удобно делать во втором
окне, не работает - ищите дальше. Короче говоря, чистое творчество,
точного рецепта нет. Дерзайте.