Xpoint
   [напомнить пароль]

Анти-Анонимайзер в виде утилиты - может быть, поможете?

Метки: [без меток]
[арх]
2006-03-05 12:52:22 [обр] Даниэль Алиевский(9/125)[досье]

Итак, критика текущей версии Анти-Анонимайзера в теме Дыры безопасности в моем Анти-Анонимайзере привела к сокрушительному фиаско используемой технологии.

Кратко напомню суть. Я пришел к выводу, что анонимный спам на форумах представляет собой чрезвычайно опасное явление, угрозу которого пока недооценивают как веб-авторы, так и сами спамеры. Несравнимо опаснее, скажем, почтового спама. Более того, такой спам представляет реальную персональную угрозу для автора сайта. Причем единственный метод защиты для большинства держателей форумов - лишь гарантия правильного определения IP спамера. Точнее, необходимо не дать спамеру возможность "прикидываться" множеством разных IP, разбросанных по всему миру - так, как это происходит при использовании базы анонимных прокси вроде http://www.samair.ru/proxy/. Об этом написано здесь: http://webwarper.net/wwantianonymizerru.htm

Простой тестовый Java-апплет убедил меня, что обычный анонимный HTTP-прокси легко "взламывается". Если апплет соединяется с сервером на уровне сокетов (класс Socket), то сервер "видит" правильный IP-адрес клиента. Что же касается CGI-анонимайзеров, то их наличие вообще определяется элементарно (в этом случае постинги можно блокировать). На основе этой идеи была реализована текущая версии Анти-Анонимайзера, подробно описанная на той же странице http://webwarper.net/wwantianonymizerru.htm

К сожалению, я (совершенно непростительным образом) не изучил и не протестировал поведение апплета с socks-прокси. Существуют публичные базы socks-прокси, практически столь же обширные, как и базы HTTP-прокси, хотя бы все на том же сайте http://www.samair.ru/proxy/ (раздел SOCKS). С ними мой прием (доступ через сокеты) не срабатывает. Более того, существуют программы, позволяющие "пропустить" через заданный socks-прокси любое приложение, включая все порожденные им процессы. Например, SocksCap. См. хорошую статью на эту тему в Компьютерре: http://www.computerra.ru/softerra/technologizm/18566/print.html Все это ставит крест на защите, использующей какие-либо встроенные в web-страницу компоненты (апплеты, flash-плагин, собственный ActiveX и пр.)

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

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

Реализовать такую утилиту, конечно, легко. Но есть нюансы, в отношении которых мне очень не помешала некоторая помощь.

  1. Утилита, разумеется, должна быть "не-SOCKS-ифицируемой". Т.е. попытка запустить ее из-под программы типа SocksCap должна приводить к ошибке. Пока что я проверил такой прием (под Windows): анализируем сетевые протоколы текущего компьютера (скажем, вызовом внешней утилиты "ipconfig /all") и смотрим, присутствует ли IP, полученный от утилиты сервером, среди этих адресов. Конечно, SOCKS-ификатор никак влияет на выдачу ipconfig. (Я проверил это в SocksCap. Впрочем, при запуске из-под SocksCap вообще все внешние утилиты почему-то открываются в отдельных окнах, а их вывод перехватить не удается.) Но, вероятно, есть более "цивилизованные" способы?
  1. Многоплатформенность: нельзя же блокировать доступ к форуму всем пользователям Unix или Mac. Честно говоря, написание версий утилиты для не-Windows платформ мне просто не осилить. Вероятно, придется ограничиться вариантами утилиты на Perl и Java. Но я не знаю, чем заменить вызов "ipconfig /all" для Unix и Mac. Так что мне нужен либо "более цивилизованный способ", либо информация, что нужно вызывать на этих платформах. Информацию, постаравшись, я, наверно, найду в Internet. Но проверить разные OS мне сложно - здесь мне нужна помощь.
  1. Самое неприятное - борьба с отладчиком/дизассемблером. Очевидно, теоретически хакер всегда может подправить утилиту, чтобы обойти защиту против SOCKS-ификаторов и получить нужный броузеру зашифрованный IP, обратившись к серверу через SOCKS-прокси. Но это должно быть достаточно сложно, чтобы процент спамеров, которому такой взлом доступен, был сравним с процентом людей, умеющих профессионально писать вирусы. Тут надо подумать. Понятно, что сервер должен выдавать зашифрованный IP лишь в конце некоторого диалога, удостоверившись, что к нему действительно обращается моя утилита, а не хакер. Например, написав утилиту на Perl-е (что, конечно, утяжеляет ее необходимостью скачивать Perl), можно практически весь ее исходный код динамически передавать с сервера. С другой стороны, скриптовый язык ломать все же легче, чем машинные коды. Если, например, борьба с SOCKS-ификатором основана на вызовах утилит или функций OS (для проверки IP-адресов из настроек TCP/IP), то хакеру достаточно "выловить" все места этих вызовов и заменить истинный IP компьютера на IP SOCKS-прокси. Значит, таких вызовов должно быть много... В общем, это тема для обсуждения и критики.
  1. Наконец, было бы совсем хорошо "победить" также удаленные VPN. Пока я не знаю публичных баз открытых VPN-серверов, разбросанных по миру, которые могли бы служить прекрасной защитой для спамеру. Но почему бы таковым не появиться? Утилита могла бы, например, попытаться обнаружить, что используемая в данный момент VPN находится в другой стране. Точнее, что IP, выданный VPN, соответствует по geo-ip-базам совсем другой точке планеты, чем IP провайдера.

Может быть, есть еще какие-то идеи, которые позволили бы "отловить" использование SOCKS или VPN при работе из независимой утилиты?

Можно, к примеру, проанализировать трассу до сервера (tracert) и проверить, не является ли она географически "подозрительной". Но это очень трудоемко и ненадежно.

Можно анализировать временные характеристики связи утилита-сервер: если нормальные провайдеры стараются обеспечить качественную связь, то это никак не могут гарантировать публичные SOCKS-ы. По моему опыту, анонимные прокси вообще работают через раз и крайне медленно. (Этот прием годится и для апплета!)

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

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

спустя 13 минут [обр] Давид Мзареулян(31/1003)[досье]

Отвратительная идея, пардон май френч. Большим идиотизмом может быть только заставить клиента скачать образ операционки, из которой только и можно писать в форум. Причём не по TCP/IP.

Если форуму досаждают анонимы, форум просто переходит на обязательную регистрацию. Если досаждают мусорные регистрации — вводится система пригласительных кодов. ВСЁ. «Проблемы» на самом деле НЕ СУЩЕСТВУЕТ. Если же Вы задались целью во что бы то ни стало впарить свой анти-анонимайзер клиентам, то, может, этим лучше заниматься не на этом форуме, где люди всё-таки немного понимают в вопросе и им очевидна бессмысленность этого занятия?

спустя 19 минут [обр] Даниэль Алиевский(9/125)[досье]

Давид Мзареулян[досье] Может быть, вначале прочитаете мой текст и предыдущие темы? "Моего" анти-анонимайзера, которого я хочу "впарить", на данный момент не существует - он не выдержал критики. Речь о создании нового продукта, возможно, общими усилиями. Хотите поспорить о целесообразности - давайте, но для этого есть другая тема: Об анти-анонимайзере Где вы были раньше? :) Здесь же это офтопик. Кстати, у меня есть реальные клиенты, ожидающие, когда же удастся (и удастся ли) решить проблему.

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

Пишем утилиту на Perl. (Для Windows - "скомпилированную" в EXE.) Утилита обращается (через сокеты) к моему серверу. Тот выдает perl-скрипт; именно этот скрипт определяет все дальнейшее поведение утилиты. Вначале вызывается "ipconfig /all" (или нечто подобное для других OS), результат шифруется неким примитивным алгоритмом (параметры шифра уникальны для данного сеанса связи). Далее скрипт отправляет результат обратно на сервер. Если между этими двумя сеансами связи прошло много времени, то это считается попыткой отлаживать, и сервер разрывает соединение (говорит "таймаут"). Получив выдачу "ipconfig /all", сервер ищет в этой выдаче известный ему обратный адрес (возможно, адрес SOCKS-прокси), и если все в порядке, выдает это IP в зашифрованном виде.

Все примитивно. Взлом, в принципе, понятен - надо добавить распечатку возвращенного сервером скрипта, разобраться и добавить автоматическую подмену вызова "ipconfig /all" вызовом хакерского скриптика, имитирующего выдачу ipconfig /all с другими IP. Однако это уже выше уровня типичного спамера. Можно добавить пару саморасшифровок Perl-кода и анализ временных параметров на сервере. (В нормальной ситуации, с одного IP должен прийти лишь 1 вызов в течение довольно большого промежутка времени, скажем, 3 часов.) Кроме того, можно сразу и надолго забанить IP, если хоть раз пришедшая на сервер выдача ipconfig /all вернула набор IP, не содержащий обратного адреса клиентского компьютера. К тому же, можно автоматически банить все IP, найденные в базе http://www.samair.ru/proxy/

Все вышеописанное делается просто. Как считаете, насколько сие надежно?

спустя 3 часа 9 минут [обр] Сергей Круглов(35/2057)[досье]

Правильно ли я понимаю, что можно провести траффик через socks proxy на уровне маршрутизатора - и никакая утилитка это не определит?

Что вы определите из такого ipconfig /all (чтолько что набрал и сюда запостил):

C:\Documents and Settings\serega>ipconfig /all

Настройка протокола IP для Windows

        Имя компьютера  . . . . . . . . . : serega
        Основной DNS-суффикс  . . . . . . :
        Тип узла. . . . . . . . . . . . . : неизвестный
        IP-маршрутизация включена . . . . : нет
        WINS-прокси включен . . . . . . . : нет

Подключение по локальной сети - Ethernet адаптер:

        DNS-суффикс этого подключения . . :
        Описание  . . . . . . . . . . . . : NVIDIA nForce Networking Controller
        Физический адрес. . . . . . . . . : 00-0F-EA-E4-4B-03
        Dhcp включен. . . . . . . . . . . : да
        Автонастройка включена  . . . . . : да
        IP-адрес  . . . . . . . . . . . . : 192.168.77.2
        Маска подсети . . . . . . . . . . : 255.255.255.0
        Основной шлюз . . . . . . . . . . : 192.168.77.1
        DHCP-сервер . . . . . . . . . . . : 192.168.77.1
        DNS-серверы . . . . . . . . . . . : 212.188.4.10
                                            195.34.32.116
        Аренда получена . . . . . . . . . : 4 марта 2006 г. 12:40:19
        Аренда истекает . . . . . . . . . : 7 марта 2006 г. 12:40:19
спустя 1 минуту [обр] Сергей Круглов(35/2057)[досье]
  1. s. да, MAC-адрес можно в биосе менять.
спустя 1 час 8 минут [обр] Давид Мзареулян(31/1003)[досье]

Даниэль Алиевский[досье] «Раньше» я как раз в той теме и был:) И, между прочим, тамошнюю идею я, в целом, считаю имеющей право на жизнь. Как один из методов приближения к решению нерешаемой задачи. То, что Вы пишете сейчас — это какое-то творчество альтернативно одарённых.

Я в данный момент сижу за двумя последовательными NAT-ами. Всё, что Вы сможете получить на моей машине — её адрес 10.0.0.1. Всё, что Вы сможете получить снаружи — адрес внешнего роутера, за которым сидит ещё пара тысяч человек. ВСЁ. Информации больше НЕТ. Никакая троянская программа Вам не поможет.

спустя 52 минуты [обр] Sergey Usov(0/21)[досье]
Даниэль Алиевский[досье]Насколько я могу судить вы вернулись к шифрованным Cookies'ам, только пытаетесь их реализовать самостоятельно, изрядно усложнив уже автоматизированный процесс... Или вы хотите написать аналог WebMoney Keeper'а?!
спустя 57 минут [обр] Давид Мзареулян(31/1003)[досье]
UPD: Понятия «настоящий IP-адрес» не существует. И уже очень давно не существует. Просто предмета для обнаружения нет.
спустя 45 минут [обр] Сергей Чернышев(39/589)[досье]
Даниэль Алиевский[досье]
У вашей новой идеи большие проблемы с privacy - получается что для постинга в форум юзер должен будет установить какую-то программу, которая соберет какую-то информацию с компьютера и послать ее неизвестным людям. Мне кажется, что это уже слишком.
спустя 48 минут [обр] Даниэль Алиевский(9/125)[досье]

Сергей Круглов[досье]

Правильно ли я понимаю, что можно провести траффик через socks proxy на уровне маршрутизатора - и никакая утилитка это не определит?

Кажется, примерно так.

Что вы определите из такого ipconfig /all (чтолько что набрал и сюда запостил):

Это было и в предыдущей модели. Ничего не определю. Видимо, вы за сетевым экраном. В этой ситуации вероятнее всего диагностика "не могу соединиться". Реакция в данной ситуации - на усмотрение форумостроителя. Мягкий вариант - разрешить постинги (вряд ли вы заодно еще и за аргентиским socks-прокси). Жесткий (параноидальный) - запретить вам постинги. Одно время я со своей фирмы не мог отправить запрос в dmoz.org на публикацию ссылки на сайт - была диагностика "не могу определить ваш IP".

Давид Мзареулян[досье]

Я в данный момент сижу за двумя последовательными NAT-ами. Всё, что Вы сможете получить на моей машине — её адрес 10.0.0.1. Всё, что Вы сможете получить снаружи — адрес внешнего роутера, за которым сидит ещё пара тысяч человек. ВСЁ. Информации больше НЕТ. Никакая троянская программа Вам не поможет.

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

Sergey Usov[досье]

Насколько я могу судить вы вернулись к шифрованным Cookies'ам, только пытаетесь их реализовать самостоятельно, изрядно усложнив уже автоматизированный процесс...

Как часть алгоритма. На первом месте, все же, обход SOCKS-ификации: невозможность запустить утилиту даже через SOCKS-прокси.

Давид Мзареулян[досье]

Понятия «настоящий IP-адрес» не существует. И уже очень давно не существует.

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

Сергей Чернышев[досье]

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

В чем проблемы-то? Информация вполне традиционная - IP компьютера, не больше и не меньше. Этим занимается любой счетчик или баннерная сеть. В privacy вполне можно включить такой пункт. "Нормальные" пользователи, не использующие анонимайзеры, нисколько не страдают - собираемая о них информация точно такая же, как и без анти-анонимайзера. Сбор уникальных характеристик компьютера - это уже несколько большее, но я это рассматривал лишь как один из вариантов (далеко не самый перспективный).

спустя 26 минут [обр] Давид Мзареулян(31/1003)[досье]
Это было и в предыдущей модели. Ничего не определю. Видимо, вы за сетевым экраном. В этой ситуации вероятнее всего диагностика "не могу соединиться".

Блин. Через NAT Ваш троян прекрасно соединится с сервером, и апплет соединится, и кто угодно ещё. И Вы получите совершенно бесполезный адрес. А без роутеров в интернете сейчас сидят разве что модемщики.

Нет, если Вам интересно — вперёд. В случае успеха Вашей затеи, Вам придётся заниматься не защитой форума от анонимщиков, а защитой Вашей программы от взломщиков, а у последних квалификация куда выше. Выше Вашей в том числе (использование "ipconfig /all" — это шедевр, конечно). Т.е. Вы мало того что боретесь с несуществующей проблемой, так ещё и делаете это максимально геморройным и для клиента и для себя способом.

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

спустя 15 минут [обр] Сергей Круглов(35/2057)[досье]
Сижу я на обычном московском Стриме на LAN-модеме.
спустя 6 минут [обр] Даниэль Алиевский(9/125)[досье]

Давид Мзареулян[досье]

Через NAT Ваш троян прекрасно соединится с сервером, и апплет соединится, и кто угодно ещё. И Вы получите совершенно бесполезный адрес. А без роутеров в интернете сейчас сидят разве что модемщики.

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

Нет, если Вам интересно — вперёд. В случае успеха Вашей затеи, Вам придётся заниматься не защитой форума от анонимщиков, а защитой Вашей программы от взломщиков, а у последних квалификация куда выше. Выше Вашей в том числе (использование "ipconfig /all" — это шедевр, конечно).

Опять Вы невнимательно читаете. Бессмысленно защищаться от взломщиков, чьей квалификации достаточно для написания нормального вируса - универсального средства рассылки любого спама. А "ipconfig /all" - сей "шедевр" рожден размышлениями и тестированием в течение одного часа. Если сам путь верен, то, конечно, эта идея будет лишь самым началом системы защиты. Пока с вашей стороны я вижу не конкретную критику и не новые идеи, а лишь общее неприятие.

Т.е. Вы мало того что боретесь с несуществующей проблемой, так ещё и делаете это максимально геморройным и для клиента и для себя способом.

Я вроде бы отправил вам на пейджер сообщение, почему не считаю эту проблему "несуществующей". Хорошо, скажу явно: проблема реальная, мне известны очень неприятные случаи ее проявления.

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

Ничего не могу понять. Речь о том, что без запуска такого, гм, "трояна" вообще невозможно отправить что-либо в форум. Серверная часть анти-анонимайзера просто не позволит ему ни одного постинга, покуда не будет располагать правильно зашифрованным IP-адресом - который может сообщить броузеру только упомянутый, гм, "троян". При этом запуск "трояна", во всяком случае, куда менее обременителен, чем даже регистрация пользователя - которая, разумеется, ни от какого спама не защищает.

спустя 26 минут [обр] Сергей Круглов(35/2057)[досье]
Бессмысленно защищаться от взломщиков, чьей квалификации достаточно для написания нормального вируса
А если результат работы этих взломщиков каждый сможет найти в гугле по словам "antianonymizer crack", скачать и запустить?
спустя 1 час 3 минуты [обр] Даниэль Алиевский(9/125)[досье]

Сергей Круглов[досье] А кто мешает менять алгоритм защиты хоть каждый день? Кроме того, я не уверен, что нельзя выстроить защиты, устойчивой к любым crack-ам. Я пока не придумал - отчасти поэтому и предлагаю высказывать идеи.

Собственно, почему бы, совместно с уважаемыми коллегами, не написать множество таких утилит для определения "истинного" IP-адреса (либо для выяснения, что клиента сидит за NAT или чем-то аналогичным)? Более или менее изощренных. Я могу, как минимум, обеспечить серверную часть (а также раскрутку, техподдержку и пр.). Собственно, серверная часть практически уже есть, просто Java-апплет оказался несостоятельным средством получения выдачи IP-адреса.

В конце концов, большинство опасных вирусов есть не что иное, чем crack-и к операционным системам. Подобное "соревнование" взломщиков и разработчиков - нормальное явление. Сейчас-то проблема в том, что взламывать на данный момент ничего и не нужно - бери и спамь в любые форумы абсолютно безнаказанно, вооружившись базой SOCKS-прокси и какой-нибудь утилитой типа proxy checker, автоматизирующей проверку массива прокси.

спустя 5 часов [обр] Сергей Чернышев(39/589)[досье]

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

То-есть, возможно, подобные нетрадиционные методы гораздо эффективнее вашего "детерминистского" подхода.

спустя 4 часа 22 минуты [обр] Даниэль Алиевский(9/125)[досье]
Сергей Чернышев[досье] Интересно, конечно. А можно ссылку, где вы про это прочитали?
спустя 3 часа 18 минут [обр] Даниэль Алиевский(9/125)[досье]

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

Т.е. пишется обычная клиентская утилита (на чем угодно; для не-Windows-платформ можно предоставить Perl- и Java-варианты). Эта утилита организует TCP/IP-сервер с единственной функцией: слушать некоторый порт и при получении кодового запроса отвечать на него кодовым ответом. Затем утилита обращается к моему серверу (можно даже по HTTP-протоколу), сервер видит некий обратный IP-адрес и шлет по этому адресу кодовый запрос. Если получен кодовый ответ - значит, никаких прокси нет. Сервер сообщает утилите обратный адрес, та сообщает его броузеру для запоминания в cookie. Все. Просто и надежно.

Я проверил это на паре perl-тестов. Ну да, FireWall от Windows XP переспросил, нужно ли разрешить соответствующий доступ. Так ведь большинство internet-программ (хотя бы ICQ) приводят к совершенно аналогичным запросам. Никто же не перестал работать с ICQ только потому, что по умолчанию FireWall не позволяет ей работать. Чем плоха такая утилита?

По идее, firewall, который бы помешал этой технике, аналогично помешает работать и прочим утилитам вроде ICQ. Что, кстати, может служить косвенным признаком попытки "очень сильно" анонимизироваться - хотя может и соответствовать обычному офисному NAT.

Кстати, я проверил аналогичную технику в апплете. Тут, увы, облом. Microsoft JVM 1.1.4 вовсе не разрешает апплету создавать экземпляры ServerSocket. JRE от Sun (я тестировал 1.3) разрешает, и даже позволяет принимать данные от клиента на этой же машине, если веб-страница открыта с локального адреса. Но при попытке доступа с сервера 69.41.173.145 (webwarper.net) к TCP/IP-серверу, работающему в апплете на странице webwarper.net/system/showipinfo.pl?usejavaapplet , мы видим сообщение об ошибке:

java.security.AccessControlException: access denied (java.net.SocketPermission 69.41.165.154:50291 accept,resolve)

Чего и следовало ожидать. Уверен почти на 100%, что с Flash тоже ничего не получится. Я прав? Или стоит попытаться?

Потом, почему не пойти дальше? Даже если Java и (предположительно) Flash не позволяют запускать локальные сервера, что мешает написать соответствующий ActiveX / плагин? Или даже поискать в google? По сравнению с утилитой единственный минус: если пользователь использует SOCKS-прокси, то ActiveX просто придет к заключению о наличии SOCKS и запретит постинги. А вот утилита, если пользователь запустит ее без SOCKS-ификатора, все-таки определит IP.

Кажется, все получается совсем неплохо. С нетерпением жду критики :)

спустя 1 час 8 минут [обр] Thirteensmay(3/157)[досье]
> Так ли страшны FireWall, как их малюют ?
>> О да ;) жуть как страшны, особенно межсетевые... знаю несколько профессионалов которые парили себе мозги достаточно большое время потому что забыли о них, что уж о обычных пользователях говорить. Помниться еще в первом Вашем топике на эту темы было обсуждение - тоесть стоит ли пренебречь той массой людей которые сидят за нормальными шлюзами, так Вы решили на них положить ?
спустя 16 минут [обр] Даниэль Алиевский(9/125)[досье]

Thirteensmay[досье] Нет уж, я ни на кого "ложить" не собираюсь.

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

А во-вторых, подобные решения ("положить" на людей или не "положить") - это не моя прерогатива, а автора форума, использующего анти-анонимайзер. Анти-анонимайзер лишь информирует сервер форума о положении вещей, а что с этим делать - решать хозяину сервера. Лично я в своей документации http://webwarper.net/wwantianonymizerru.htm рекомендовал пропускать без вопросов пользователей, для которых возникла ошибка ErrorCannotConnect. А во всех "подозрительных" случаях, когда постинг лучше запретить, рекомендовал предусмотреть альтернативные варианты отправки сообщения - скажем, с ручной модерацией.

Если вернуться к моим баранам, то чем плоха идея утилиты с двусторонним обменом информацией? По-моему, "простому" пользователю столь же легко ей воспользоваться, как, допустим, ICQ. Разве нет?

спустя 56 минут [обр] Андрей Пахомов(8/310)[досье]
 По-моему, "простому" пользователю столь же легко ей воспользоваться, как, допустим, ICQ. Разве нет?
нет. Если человек сидит в форуме на работе, то могут быть проблемы. Зачастую на офисные компьютеры ставится Win2000 или WinXP, и пользователь сидит не под администратором, а под обычным пользователем, и к учетной записи администратора досупа не имеет. Это не позволяет ему инсталлировать на компьютер никаких программ, не согласовав это с системным адмнистратором + firewall, настроенный под тем же администратором может просто не дать пользователю установить соединение на нестандартный порт и пр. Я думаю, что человеку будет достаточно сложно объяснить сисадмину, зачем это ему вдруг понадобилось ставить какую то программу, формально (но все же) напоминающую программу-шпион или открыть порты. С ICQ проблем в этом плане меньше, программа все таки достаточно известная и ожидать от нее неприятностей мало кто будет, в отличие от вашей утилиты.
спустя 1 час 34 минуты [обр] Даниэль Алиевский(9/125)[досье]

Андрей Пахомов[досье] Все верно, но этого я как раз боюсь мало. Почти все то же самое имело место и для предыдущего варианта, до того, как его "убило" соображение насчет SOCKS-прокси. Если человеку действительно ради работы нужно зайти в форум, он сумеет объяснить необходимость этого сисадмину. Кстати, теоретически, наверно, можно обойтись вполне стандартными портами (вроде 80).

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

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

спустя 55 секунд [обр] Даниэль Алиевский(9/125)[досье]
На всякий случай - меня около недели не будет, прошу не обижаться на отсутствие ответов :) С удовольствием почитаю через неделю мнения уважаемых коллег :)
спустя 14 минут [обр] Thirteensmay(3/157)[досье]
Даниэль Алиевский[досье] Ну допустим напрягли Вы пользователей на установку этой утилиты, они в свою очередь своих админов, те в половине случаев сразу зарубили доступ - ибо cплошное пiдрахуйство (c) lenta.ru Сидите Вы и наслаждаетесь видя что из оставшихся Вася ходит прямо, а Петя не могете понять как. Так ктоже из них потенциальный злодей ? Зачем оно вообще нужно то ? Наспамить и с утилитой можно... А если Вы хотите использовать результаты ее работы с целью более качественного бана ;) - то как показывает практика потом еще и с подставами придется бороться. А еще есть достаточно большая масса машин которыми пользуются десятки людей, причем как раз самые любознательные ;) это тоже стоит учитывать.
P.S. Визит полицейского к юной общительной девушке пойдет ей на пользу - меньше пи.деть будет - реальная борьба со спамом...
спустя 32 минуты [обр] Даниэль Алиевский(9/125)[досье]

Thirteensmay[досье] Страсти какие вы говорите... даже не знаю, надо ли отвечать. Изначально уважая все мнения, попробую - в последние минуты перед отъездом :) Я-то думал над этой проблемой годами, а вы - наверно, меньше.

Ну допустим напрягли Вы пользователей на установку этой утилиты...

Первая ошибка. Не я, автор форума, который (справедливо) боится великих и ужасных спамеров.

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

Вернее, изначально доступа, наверно, не было. А кому очень надо, может быть, и разрешили. Если для бизнеса необходимо запустить утилиту, идентифицирующий офисный IP для форума - что в этом плохого? Мне вот однажды надо было (для бизнеса) зарегистрировать сайт в dmoz.org, а в офисе это не получалось ("невозможно определить ваш IP"). Я вышел из положения очень просто - зарегистрировал с домашнего компьютера. И вообще, если уж солидная фирма не хочет возиться, нет ничего проще написать письмо автору форума, чтобы он отключил проверку для конкретно этого IP. Может, поверит.

Сидите Вы и наслаждаетесь видя что из оставшихся Вася ходит прямо, а Петя не могете понять как

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

Так ктоже из них потенциальный злодей ? Зачем оно вообще нужно то ?

Злодеи не потенциальны, они реальны. Неужели ваш сайт никогда никто ни атаковал? Чем лучше изначальная защита против этого, тем спокойнее можно спать.

 Наспамить и с утилитой можно...

Можно, но 1) до первого бана, 2) с гарантией, что тебя легко вычислит как полиция, так и киллеры из недовольной мафиозной группировки. Если, конечно, спам действительно серьезен.

А еще есть достаточно большая масса машин которыми пользуются десятки людей, причем как раз самые любознательные ;) это тоже стоит учитывать.

Извините, не понял мысль. Какая разница, сколько спамеров на одном компьютере. Главное (повторяю), что с утилитой АнтиАнонимайзера 1) компьютер легко забанить, 2) хозяина несложно вычислить.

Визит полицейского к юной общительной девушке пойдет ей на пользу - меньше пи.деть будет - реальная борьба со спамом...

Простите за нескромный вопрос, а к вам ходили полицейские/милиционеры? Лично у меня был случай... Крайне неприятный. У меня, конечно, не форум, а сервис WebWarper. (Который так удобно использовать для анонимизации. Потом-то я убрал возможность анонимно спамить через WW.) Да, конечно, со временем все во всем разобрались (вроде как). Но я вам такого инцидента искренне не желаю никогда в жизни.

спустя 6 минут [обр] Сергей Чернышев(39/589)[досье]
Даниэль Алиевский[досье]
Я про это читал в книге MicroISV Боба Волша.
спустя 1 час 5 минут [обр] Давид Мзареулян(31/1003)[досье]
Совсем другое дело - гостевая книга юной общительной девушки, не подозревающей, что к ней может прийти полицейский с обвинением в клевете на президента ее страны…
Я плакал весь. Как представил эту девушку, вынужденную объяснять своему бойфренду, почему он не может написать ей в гостебуку без инсталлирования двадцати мегабайт всякой хрени…
спустя 1 час 40 минут [обр] Thirteensmay(3/157)[досье]

Даниэль Алиевский[досье] Я всеже отвечу, хотя похоже это бесполезно...

  1. "Первая ошибка. Не я, автор форума..." - неа, именно Вы создадите изначальный геморрой с которым потом все будут шарахаться. Неужели стоит так неуважать людей ради денег ?
  2. По поводу второй Вашей оговорки - я же сказал "в половине случаев" а не в 100%. Хотя на практике любой нормальный админ снесет такую ху.ню сразуже - и разбираться не станет. Какой бизнес с такими "партнерскими" подходами ? Хотя конечно ктото останется... может...
  3. "Опять не я, а автор форума" - См. выше.
  4. "Злодеи не потенциальны - реальны. Чем лучше защита, тем спокойнее спать" - так а в чем защита то ? Эффективность антианонимизации не высока, а вероятность незаслуженной кары - значительна + дополнительный геморой.
  5. "Можно, но до первого бана, с гарантией что вычислят" - Гарантии никакой, а до первого бана - так оно везде так и без Вашего антианонимайзера.
  6. "Какая разница, сколько спамеров на одном компьютере, хозяина несложно вычислить" - приезжайте я Вам покажу сотни машин с 20 и более хозяевами, из них спамером может быть только один - поди вычисли, подход с графиком пользования не прокатывает потому как "контролерам" платят 70 баксов в месяц и оно им на.ер ненадо. Потом приходит толковый перец и спрашивает - а че не работает ? - и тут начинается устроенная Вами гребля. Это я говорю за те конторы в которых работал/работаю, а еще есть интернет кафе, игровые клубы, и т.п. со своей спецификой.
  7. Я тоже никому не желаю, этот пост был за рамками темы и помечен как P.S. рассматривать его в серьез может только идиот, хотя некая доля правды есть и в нем ;)

P.S. В результате, IMHO польза от Вашего антианонимайзера - крайне сомнительна. Хотите зарабатывать на уродах - пожайлуста ;) сам такой, только не создавайте гемороя остальным. Варианты нормального решения проблемы Вам представили.

спустя 6 дней [обр] Даниэль Алиевский(9/125)[досье]

Сергей Чернышев[досье] Спасибо. Жаль, что нет прямой ссылки...

Давид Мзареулян[досье]

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

Э, откуда 20 мегабайтов-то взялись? Это ведь уже не апплет, а утилита. Килобайтов 30-40 потянет, наверно, если на C писать. Для Unix-а вообще подойдет Perl-скриптик на пару килобайтов - если я ничего не путаю, *nix-ов без perl не бывает. Загрузить и запустить - буквально несколько секунд.

Постепенно и прочие основные платформы освоить можно (Mac прежде всего), оставив Java-реализацию лишь на крайний случай.

Я видел немало (условно говоря) девушек и бойфрендов, которые не имели ничего против инсталляции или обновления версии ICQ, дабы лучше пообщаться. А это целых 4 мегабайта. Я же говорю о десятках килобайт.

Thirteensmay[досье]

Я всеже отвечу, хотя похоже это бесполезно

Это смотря чего вы хотите добиться :) Переубеждать меня действительно не стоит: не та ситуация. Я ведь не выступаю с каким-то тезисом и вовсе не предлагаю с ним поспорить. Вообще, когда речь идет о разработке любого нового продукта, на 10 причин, почему это стоит сделать, найдется 90 или 990 причин, по которым лучше этим не заниматься. По моему опыту. И это как раз нормально: грубо говоря, из 1000 посетителей 10 станут реальными пользователями. Традиционная и очень хорошая статистика.

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

Бывает и критика, полностью "убивающая" некоторые начинания. Так, идея апплета практически "убита" напоминанием про socks, за что премного благодарен Александру Самойлову. Может быть, я и здесь не вижу чего-то вполне фатального, что позволит спамеру, прочитавшему этот трэд, легко обойти мою защиту. Что ж, найдете - опять же буду благодарен за сбережение моего труда.

По пунктам.

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

Какие еще деньги? Вы ж не думаете, что я собираюсь просить деньги за подобную защиту форума? Мой интерес разве что в повышении известности WebWarper, более ничего. Кроме того, если разрешат модераторы, я с удовольствием (в конечном итоге) дам ссылку на этот и прочие трэды по теме. Пусть авторы форума сами принимают решение, опираясь не только на рекламу, но и на вашу критику.

По поводу второй Вашей оговорки - я же сказал "в половине случаев" а не в 100%. Хотя на практике любой нормальный админ снесет такую ху.ню сразуже - и разбираться не станет.

Нельзя ли хоть чуточку повежливее?
Скажите, в чем отличие этой утилиты и ICQ? Очень многие админы не только не возражают против ICQ, но и сами ее ставят. И бизнес ICQ нисколько не страдает от того, что некоторые админы против ее инсталляции (аська, и правда, противоречит нормальной политике безопасности Windows, так как требует прав на запись в каталог Program Files).
Ну да, у меня пока не полмиллиарда, а меньше миллиона пользователей. Но это ж не аргумент, чтобы не пытаться развивать продукт.

"Злодеи не потенциальны - реальны. Чем лучше защита, тем спокойнее спать" - так а в чем защита то ? Эффективность антианонимизации не высока, а вероятность незаслуженной кары - значительна + дополнительный геморой.

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

"Незаслуженная кара" для моего клиента (автора форума), конечно, возможна. В виде ругани со стороны части посетителей. Но 99% форумов и без этого есть за что ругать. Зато кара в виде долгого разбирательства с милицией, а также в виде "смерти" форума под целенаправленной лавиной спама, становится невозможной. Что важнее?

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

Уже не помню деталей, но пару раз наш хостер предъявлял нам требование в 24 часа (!) решить проблему, связанную с тем, что кто-то через webwarper что-то где-то опубликовал. То есть даже не на нашем сайте, а только с использованием нашего сервиса! У нас пока что нет службы поддержки 24/7, так что я вынужден был принять жесткие меры: добавлять в каждый постинг, совершаемый через WW, комментарий с прямым указанием IP отправителя. Да, посещаемость упала, но это лучше, чем рисковать отключением в любой выходной.

  1. "Можно, но до первого бана, с гарантией что вычислят" - Гарантии никакой, а до первого бана - так оно везде так и без Вашего антианонимайзера.

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

И про бан что-то не то пишете. Без антианонимайзера бан совершенно бесполезен: спамер просто зайдет через другой анонимизирующий прокси. Если не ошибаюсь, есть куча утилит, автоматизирующих перебор таких прокси. Баны (что по IP, что с помощью кукисов) годятся против совсем полных "чайников", которые не умеют ни чистить кукисы, ни пользоваться бесплатными socks-прокси с http://www.samair.ru/proxy/. Cкорее, даже не против спамеров, а просто против самых обычных посетителей, которые ничего не смыслят в internet и где-то "вышли за рамки", скажем, начав хамить.

приезжайте я Вам покажу сотни машин с 20 и более хозяевами, из них спамером может быть только один - поди вычисли, подход с графиком пользования не прокатывает потому как "контролерам" платят 70 баксов в месяц и оно им на.ер ненадо. Потом приходит толковый перец и спрашивает - а че не работает ? - и тут начинается устроенная Вами гребля. Это я говорю за те конторы в которых работал/работаю, а еще есть интернет кафе, игровые клубы, и т.п. со своей спецификой.

Опять же вы путаете ситуацию. Если в такую контору придут серьезные дяди из ФБР (или его аналогов в других странах), то будет очень непросто спрятаться, если использованный тобой компьютер (и офис, где он стоит) под их контролем. Да, наверно, профессионал может прибегнуть к Internet-кафе в другом городе - но эти рассуждения уже уводят нас в область детективов, в которой я уж точно не специалист. Пока же, без антианонимайзера (или эквивалентных средств), любой подросток может элементарно и очень надежно спрятаться за цепочкой прокси, опубликовав все что угодно на любом форуме.

Варианты нормального решения проблемы Вам представили.

Значит, я очень невнимательно читаю. Вся эта тема затеяна именно потому, что я пока не могу придумать никакого другого работаюшего варианта. Было бы прекрасно, если бы Flash спасал - да против socks-ификатора нет приема. Мне казалось, пока другие варианты озвучены не были - кроме намека Сергея на байесовские фильтры.

спустя 6 часов [обр] Сергей Чернышев(39/589)[досье]
Даниэль Алиевский[досье]
Я не смог прочесть все ваши сообщени - нет времени, скажу только одно - я никогда не запущу никакую программу, которую меня какой-то сайт попросит запустить чтобы проверить мою неспаммерность. Просто никогда.
спустя 2 минуты [обр] Владимир Палант(80/4445)[досье]
Аналогично. Максимум, что я могу сделать — полюбопытствовать, какого вируса вы хотите мне подсунуть.
спустя 1 час 25 минут [обр] Даниэль Алиевский(9/125)[досье]
Но почему же? А требование зарегистрироваться? А предложение использовать ICQ? Это же нелогично - изначально предполагать в любой программе вирус, несмотря ни на какие обоснования.
спустя 13 минут [обр] Давид Мзареулян(31/1003)[досье]

Сергей Чернышев[досье]Владимир Палант[досье]: +1

Это же нелогично…

Зато практично.

спустя 55 минут [обр] Сергей Чернышев(39/589)[досье]
Даниэль Алиевский[досье]
Даниил, когда ко мне приходит компания AOL и говорит, поставьте себе ICQ и тогда вам будет то-то и то-то или компания Macromedia и говорит, поставьте себе Flash и вам будет то-то и то-то или компания Microsoft и говорит, поставьте себе Instant Messanger и вам будет то-то и то-то, то я осознаю какой уровень контроля качества прошел софт, который мне предлагают, какой уровень юридической ответственности эти компании предоставляют тоже могу представить и решить нужно мне это или нет, а когда ко мне приходит компания "Новые форумные анти-анонимайзеры", то я точно знаю что мне делать с их предложением установить их софт к себе на компьютер, а именно - отклонить.
спустя 11 часов [обр] Даниэль Алиевский(9/125)[досье]

Сергей Чернышев[досье] Ну, это как раз не аргумент. Если бы все пользователи и админы руководствовались такой логикой, то ни одна из упомянутых компаний никогда не достигла бы своего успеха. Все они, включая Microsoft, когда-то были маленькими и начинающими. И сумели убедить достаточно народа, что с ними стоит иметь дело.

К тому же, если уж говорить о вас как о примере сисадмина, то конкретно вы конкретно моему софту, наверно, доверять будете. По крайней мере я на это надеюсь :) И еще к тому же: моя компания (официальный распространитель WebWarper) отнюдь не "начинающая" и пользуется прекрасной репутацией как в России, так и на западе, прежде всего в Штатах. Даже если временно забыть о популярности WW.

Однако, кажется, мы ушли немного в сторону. Ведь, как я уже писал, необязательно делать утилиту. Можно реализовать ActiveX / плагин: для двустороннего обмена информацией вполне достаточно. Хотя, конечно, возни больше: как минимум, надо сертифицировать его в VeriSign.

И потом, с чего я, собственно, взял, что Flash не позволяет запустить TCP/IP-сервер и открыть к нему Internet-доступ. Java не позволяет, но у Flash могут быть другие правила. Жаль, не могу быстро попробовать. Может, сходу скажете: получится или нет? Если да, пойду изучать программирование под Flash.

спустя 2 часа 9 минут [обр] Thirteensmay(3/157)[досье]
Даниэль Алиевский[досье] Вот Вам конкретные имена убийц идеи с TCP/IP утилитой: DHCP, интернет-кафе, модемные пулы, многопользовательские рабочие станции, не TCP/IP среды типа GPRS, взломщики утилит, соображения безопасности (файерволы) и т.п. Идентификация по IP - бред !, Решение - это обычная регистрация на основе сессионных cookies c SSL + модерация. В рамках internet (а не intranet) другого IMHO в настоящее время не дано.
спустя 51 минуту [обр] Даниэль Алиевский(9/125)[досье]

Thirteensmay[досье] Ну неужели вы думаете, что это для меня новость. Я и писал про эти варианты неоднократно. И не согласен.
Хорошо, давайте еще разок сформулирую.

Что быть конкретными, будем говорить о противодействии 3 угрозам.
A) Целенаправленное заваливание форума случайно генерируемым спамом, с целью уничтожить форум или, по крайней мере, причинить максимум неудобств его хозяину. Является угрозой, когда невозможно забанить спамера по IP, не забанив при этом весь мир или хотя бы большую страну. Практически не проблема, если лечится баном пары-тройки подсеток 3-го уровня (с вероятностью много больще 90% при этом будет заблокирован только сам спамер, с вероятностью 99.999% пострадает не более нескольких человек из, потенциально, многих тысяч посетителей форума).
B) Невольное нарушение договора с хостером, когда спамер регулярно, месяц за месяцем, пишет туда порнографию или пропаганду расизма. Является угрозой в тех же случаях, что и A.
C) Невольное и неприятное участие в следственном процессе, когда спамер - уголовник, и его постинг на форуме является причиной начала следствия (попытки найти спамера). Более жесткий вариант: уголовник противостоит не полиции, а конкурирующей мафии, которая, аналогично, пытается своими методами найти автора постинга. В этом варианте хозяин форума в буквальном смысле рискует жизнью. (Мафиози не всегда разбираются в Internet и вряд ли постараются не трогать невинных.) Эта ситуация является угрозой для хозяина форума, если в логах форума не значатся никакие IP спамера, кроме случайных иностранных анонимайзеров. Угроза резко уменьшается, если в логах зафиксирован IP, по которому следственными методами можно отыскать физический компьютер, откуда было отправлено сообщение. Неважно, в Internet-кафе или в "левом" офисе - с этого момента розыски преступника, очевидно, уже не имеют отношения к Internet-технологиям и, соответственно, к хозяину форума. Обратите на это внимание! Я вовсе не собираюсь бороться с преступностью :) У меня куда более скромные цели - оградить от неприятностей хозяина форума.

Теперь допустим, у нас есть антианонимайзер, позволяющий определить истинный IP (либо заблокировать постинги, если это невозможно).

  1. DHCP. Если я грубо не ошибаюсь, это всего лишь назначение IP из некоторой подсети, обычно не очень большой (100-200 компьютеров). Очевидно, во всех трех случаях угрозы нет.
  2. Интернет-кафе. В случае C угрозы нет. В случаях A и B угроза резко уменьшается, так как для каждого нового постинга спамеру придется посещать разные кафе. (Если же он пользуется одним и тем же кафе, то это аналогично случаю 1 - небольшая подсетка.)
  3. Модемные пулы. Аналогично случаю 1.
  4. Многопользовательские компьютеры. Тут вообще не понятно: ну и что? Забанить этот компьютер целиком можно, найти его физически - тоже можно. С точки зрения приведенных угроз, никакого отличия от случая обычного домашнего компьютера с фиксированным IP.
  5. GPRS. Ну да, наверно, сегодня запустить утилиту на мобильнике не получится. (А вот ActiveX / плагин - не уверен.) Сильно ли пострадает форум, если на него нельзя будет постить с мобильников? Думаю, не очень. Думаю, 99% форумов на мобильнике вообще будут смотреться настолько скверно, что вряд ли возникнет желание туда постить. В любом случае, все эти проблемы временные: постепенно мобильный интернет приближается по функциональности к обычному броузеру.
  6. FireWall. Аналогично. Да, некоторый процент пользователей пострадает - примерно те же, кто по аналогичным причинам не имеет возможности работать в ICQ или, по крайней мере, передавать через нее файлы. Это все же куда лучше, чем упомянутые угрозы. Более того, факт использования FireWall со стороны сервера может выглядеть не так, как применение анонимайзера (скажем, в x-forwarded-for "светятся" локальные адреса). Можно попытаться отличить эту ситуацию и не запрещать постинги. Я уже не говорю о том, что форум вполне может поддерживать список известных ему внешних IP офисов (скажем, сообщенных веб-мастеру нормальными пользователями) и не применять анти-анонимайзер для них.

Еще есть возражения?

Решение - это обычная регистрация на основе сессионных cookies c SSL + модерация. В рамках internet (а не intranet) другого IMHO в настоящее время не дано.

А вот это решение вообще не защищает ни от одной из 3 угроз. Очистил cookies, зарегистрировался повторно под другим именем - и спамь на здоровье. Такое решение может быть полезно лишь против самого "примитивного" рекламного спама, рассылаемого, как правило, роботами. Анти-Анонимайзер затевался вовсе не ради решения этой проблемы.

спустя 34 минуты [обр] Thirteensmay(3/157)[досье]
Тогда у Вас уже не антианонимайзер получается (потому как конкретного человека он не определяет а определяет район из которого происходит атака), а обычная система бана по IP. Причем тут тогда вообще "локальный" IP который будет определять утилита - он Вам ничего не даст, не собираетесь же Вы банить 192.168.*.* - вполне достаточно обычного REMOTE_ADDR. Еслиже Вы собираетесь таким образом "более точно" вычислять злодея - ничего не получится я уже сказал почему.
Что касается предложенного решения - то оно отлично защищает от единственно реальной угрозы - публикации спама (и соотв. всех остальных). Нормальный модератор его просто будет удалять, а если уж потоком попрет то забанить IP не долго - на то есть куча уже существующих решений.
спустя 1 час 7 минут [обр] Даниэль Алиевский(9/125)[досье]

Thirteensmay[досье]Создается впечатление, что я вынужден все время повторяться. Неужели так сложно излагаю?

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

"Антианонимайзер" - потому что противостоит угрозам, возникающим благодаря "анонимайзерам". Все логично. Я же не называю это "антиспам". И это не "система бана". Баном может заниматься хозяин форума, а никак не мой продукт. Что касается угрозы C (основной угрозы, IMHO), то бан тут вообще ни при чем. Что касается остальных угроз, я скорее претендую на правильное определение IP, а не на автоматический бан анонимных прокси.

Причем тут тогда вообще "локальный" IP который будет определять утилита - он Вам ничего не даст, не собираетесь же Вы банить 192.168.*.* - вполне достаточно обычного REMOTE_ADDR

Еще раз повторить? Я противодействую анонимайзерам. Основная цель - не дать принять за адрес отправителя адрес одного из анонимных прокси (или анонимайзеров иных типов), которые разбросаны по миру и опубликованы в веб. Если использовать REMOTE_ADDR, то это будет адрес ближайшего прокси или анонимайзера, а у автора форума будут проблемы A, B, C и многие другие.

Очевидно, если IP - 192.168.*, то моя утилита с двусторонним обменом (перечитайте, что она делает) выдаст сообщение об ошибке. Если автор форума не уверен, что это нормальный легальный офис (например, в заголовка запроса светится лишь один, обычный IP-адрес сетевого экрана), то в этой ситуации бан обязателен. Ибо может оказаться, что это тот самый уголовник, который спрятался за socks-прокси, находясь совсем в другой стране.

Вы собираетесь таким образом "более точно" вычислять злодея

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

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

Вы считаете мои три угрозы нереальными? Я вроде уже писал, что даже лично я имел проблемы и по сценарию B, и по сценарию C. И минимум один известный мне автор форума имел проблемы по сценарию A. А сколько людей, неизвестных мне, имеют эти проблемы? Думаю, много. А сколько из них, особенно в случаях A и B, радостно написали про это в Internet?

а если уж потоком попрет то забанить IP не долго - на то есть куча уже существующих решений.

Опять придется повторить - нет тут никаких других решений, кроме анти-анонимайзера. И не может быть по определению. За двумя исключениями. 1) Совершенно приватный форум, публикация в котором доступна лишь владельцам секретных паролей (раздаваемых персонально лицам, в которых хозяева форума уверены). Пример - форум техподдержки крупного хостинг-провайдера. 2) Полная ручная модерация всех сообщений перед публикацией. Подчеркиваю: перед! Т.е. в принципе невозможно опубликовать сообщение до того, как модератор его проверит. По существу это уже не форум, а что-то вроде доски объявлений. С таким же успехом можно письма модератору слать: "опубликуй вот это, пожалуйста".

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

спустя 39 минут [обр] Андрей Пахомов(8/310)[досье]
Знаете, Даниил, чем больше я читаю ваши рассуждения, тем больше склоняюсь к тому, что это очень похоже на Enum авторизацию... Единственно, что вы пытаетесь узнать IP человека, а в Enum такой цели не ставится поскольку идентификатором становится сотовый телефон, найти владельца которого гораздо проще, чем это делать по IP.
спустя 23 минуты [обр] Даниэль Алиевский(9/125)[досье]
Андрей Пахомов[досье] А что, вроде и правда сходство есть. (Спасибо за ссылку.) Впрочем, есть и принципиальное отличие. Я пытаюсь что-то сделать в ситуации, когда "поезд уже ушел" - сообщение отправлено, причем неизвестно кем. Исходя из очевидного тезиса, что новичок, попавший на форум, должен иметь возможность послать сообщение. До того, как автор форума какими-либо путями (от личного знакомства до подписания контракта) удостоверится в "благонадежности" этого новичка.
спустя 1 час 7 минут [обр] Thirteensmay(3/157)[досье]
Даниэль Алиевский[досье] Ваши посты:
- Основная цель - не дать принять за адрес отправителя адрес анонимайзера.
- Я собираюсь гарантировать одно из двух: либо сервер форума получает точный внешний IP конкретного компьютера, за которым сидит посетитель, либо это невозможно.
- Я скорее претендую на правильное определение IP...
Вот я Вам и повторяю уже в который раз что правильно определить IP - сложно, часто невозможно, либо бесполезно. Почему - см. выше. Посему неэффективно. Вы говорите что банить - не Ваша прерогатива, а тем временем весь приведенный мной список убийц Вашей технологии предлагаете именно банить. Вообще удивляет легкость с которой Вы это делаете - забанить например модемный пул - ха фигня - подумаешь целый край или область отвалится ;) и т.п.
Я предвкушаю Ваше возражение: "Я ничего банить не буду - это все админы форума" - ну да, конечно, а какие у них еще варианты... Скажете модерить вручную - так какогоже оно тогда вообще надо. Чтобы хоть как-то подстраховаться ? - да никак это по IP не получится - см. выше.
Что касается модерирования - Вы имели проблемы потому что Ваши модераторы хреново работали, либо их было мало, либо они были слабо мотивированы. Конечно если кто напишет что Thirteensmay - пи.арас и это будет висеть полдня - мне это слабо понравиться, а вот если это уберут через 5 минут я буду только благодарен ;) если узнаю... А коли Вы не в состоянии обеспечить нормальный контроль форума нормальными средствами - то и нечего за это браться - иначе у Вас будут проблемы - все логично ;)
P.S. Вот прочитаете сейчас и скажете - блин опять ему все повторять надо, и я блин опять Вам напишу тоже самое - просто поймите для многих такое положение вещей неприемлемо, очень для многих... чего стоит только одна установка доп. ПО, об эффективности я уж и не говорю...
P.P.S. Вот Enum это уже конечно не IP - понадежнее будет ;) прям неплохо..., хотя что делать если телефона нет ? ;) Мля, скоро Вашими усилиями в задницу вшивать начнут (шутка) ;) но страшная - Не мужики делайте лучше на IP - тоже работать будет ;) нормально... ;)
спустя 23 минуты [обр] Александр Самойлов(5/342)[досье]

Даниэль Алиевский[досье]

GPRS. Ну да, наверно, сегодня запустить утилиту на мобильнике не получится.

Можно же выходить и на обычном компьютере через GPRS на сотовом.
Впрочем тут подходят ваши возражения насчет модемных пулов.

спустя 1 час 2 минуты [обр] Дмитрий Кучкин(0/236)[досье]
Даниэль Алиевский[досье]
Если даже закрыть глаза на то, что по поводу установки программ, необходимых для доступа к сайту/форуму, очень многие (я в том числе) придерживаются мнения Сергея Чернышева[досье] и Владимира Паланта[досье], примите во внимание следующее соображение:
Даже на сегодняшний день огромное количество пользователей сидят за NAT-маршрутизаторами. Это и офисы, и интернет кафе; многие провайдеры ADSL и dial up также пускают своих клиентов через NAT.
Интернет регистратуры (RIPE и пр.) настоятельно рекомендуют использовать private ip-адреса где только возможно в целях экономии адресного пространства IPv4, поскольку оно ограничено, а количество пользователей Интерент постоянно растет. Поэтому процент пользователей, сидящих за NAT-ом с "серыми" адресами, будет только увеличиваться.
спустя 1 день 21 час [обр] Даниэль Алиевский(9/125)[досье]

Thirteensmay[досье]
Все ходим по кругу :) Жаль, конечно. Мне-то хотелось конструктивной критики, дабы несколько продвинуться. Например, может, я опять же что-то не учел (ведь было уже). Или, может, я страдаю ерундой и все это прекрасно реализуется в современном Flash? (В котором я даже не чайник, а просто пока ничего не знаю.)

А вы все упираете на то, что для большинства посетителей будет созданы непреодолимые трудности. Вы ведь не знаете, чему равно это большинство. И не приводите никакой статистики (а есть ли она?) Даже если для 1% всех форумов мира такая защита, "бьющая" по пользователям за NAT и подобными вещами, является допустимой, то и это уже прекрасно. Это уже тысячи людей, спасенных от приведенных мной - весьма серьезных - угроз. Только мне вот кажется, что процент несколько выше.

С таким же успехом можно (очень аргументированно) доказывать, что сервис WebWarper никому не нужен и вообще издевательство над пользователями. Хотите? Нет проблем! :) Ведь и правда, ничего он не ускоряет (почти никогда), экономит гроши или вообще ничего (почти всегда), от вирусов не защищает (почти никогда) и уж тем более не может считаться нормальным анонимайзером. Однако ж из этих "почти" складываются мои сотни тысяч вполне довольных пользователей и сотни, которые шлют мне благодарственные письма.

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

Очевидно, вы хотите сказать - "обычно" либо невозможно, либо бесполезно. Каков процент этой "обычности"? У меня лично нет ни одного знакомого по ICQ, с которым я не мог бы обмениваться файлами (что, вроде бы, подразумевает тот самый двусторонний обмен - и, следовательно, эффективность антианонимайзера). Кроме моих коллег по фирме, сидящих на NAT. Но среди последних, в свою очередь, я не знаю никого, кто в рабочее время отправлял бы сообщения в форумы. Вообще никого!
Вы, наверно, возразите, что сами постоянно с работы пишете в xpoint. А нужна ли моя защита xpoint-у? Ведь это крупнейший форум, причем с технической тематикой. Спамом его, насколько я помню, не заваливали. Шансов, что кто-то обозлится на уважаемого Новикова и станет рушить этот форум, тоже немного. В общем, сомневаюсь я, что ему нужен анти-анонимайзер.
Но кроме xpoint, существуют тысячи (десятки тысяч?) маленьких форумов и гостевых с самой разнообразной тематикой. И вот они-то вполне могут пострадать от "всемогущего спамера".

Я предвкушаю Ваше возражение: "Я ничего банить не буду - это все админы форума" - ну да, конечно, а какие у них еще варианты... Скажете модерить вручную - так какогоже оно тогда вообще надо. Чтобы хоть как-то подстраховаться ? - да никак это по IP не получится - см. выше.

В том-то и дело, что нет вариантов. Или IP (плюс бан всех сложных случаев), или будь готов разбираться с полицией/хостером/мафией. Что называется, кто-то готов (как, скажем, xpoint), а кто-то, может быть, не очень. Может, для xpoint потеря части уважаемых постоянных посетителей гораздо менее приемлема, чем упомянутые мною варианты риска. Но мне почему-то кажется, что для среднестатистической гостевой "обычного" человека, с посещаемостью 2 с половиной человека в сутки, перечисленные мной опасности куда серьезнее.

Что касается модерирования - Вы имели проблемы потому что Ваши модераторы хреново работали, либо их было мало, либо они были слабо мотивированы. Конечно если кто напишет что Thirteensmay - пи.арас и это будет висеть полдня - мне это слабо понравиться, а вот если это уберут через 5 минут я буду только благодарен ;) если узнаю... А коли Вы не в состоянии обеспечить нормальный контроль форума нормальными средствами - то и нечего за это браться - иначе у Вас будут проблемы - все логично ;)

Вы, как водится, недопоняли :) Нет у меня форумов. Есть у меня сервис WebWarper. Который создает примерно аналогичный риск, если разрешать анонимные постинги. Поскольку тогда любой постинг в любой форум через WebWarper приводит к появлению в форуме моего обратного адреса. В итоге я имел проблемы совместно с хозяевами форумов.

Чтобы этого больше не было, я теперь не позволяю через WebWarper ничего постить, кроме как указав явно IP адрес отправителя (обычный remote_addr). С этого момента WebWarper применительно к постингам перестал был анонимайзером. (Скорее наоборот, теперь это досадная помеха.) Стало быть, у спамеров пропал интерес постить что-либо через WW.

Вы-то как видите "нормальный контроль форума"? Что, вообще нельзя заводить форум или гостевую, если у тебя нет команды модераторов, которые в течение 5 минут обнаруживают и удаляют любые пакости? А также нормального адвоката, который возьмет на себя разбирательства с полицией (а вдруг там заметят, за те самые 5 минут, очень важный для них - для следствия - постинг некоторого уголовника)? А также если ты живешь в такой стране, где существует мафия (а где ее нет)? Или сам настолько "сильная личность", что никого не боишься? Что ж, может быть, форумы компаний Microsoft или Sun подпадут под эти ограничения. Давайте объясним всем: не будьте дураками, заводить форум - значит подкладывать под себя бомбу. Я уже и пытаюсь, собственно, это объяснить :) А все же с анти-анонимайзером все это далеко не столь опасно.

Дмитрий Кучкин[досье]

...примите во внимание следующее соображение:
Даже на сегодняшний день огромное количество пользователей сидят за NAT-маршрутизаторами. Это и офисы, и интернет кафе; многие провайдеры ADSL и dial up также пускают своих клиентов через NAT.

Тут то же самое - что значит "огромное"? Кабы я предлагал, допустим, некий стандарт для Web, то и 1% - огромное количество. А я предлагаю продукт, который, может быть, может кого-то из держателей форумов спасти от проблем. В этой ситуации "огромное количество" - это минимум 50, скорее 80-90%. Скажем, почти никто из авторов форумов не согласился бы требовать от своих пользователей выходить только по модему или только из Opera. Но если все, что нужно потребовать - наличие полноценного выхода в Internet (такого, который позволяет играть в сетевые игры или нормально пользоваться ICQ) - то это уже подойдет очень многим.

Интернет регистратуры (RIPE и пр.) настоятельно рекомендуют использовать private ip-адреса где только возможно в целях экономии адресного пространства IPv4, поскольку оно ограничено, а количество пользователей Интерент постоянно растет. Поэтому процент пользователей, сидящих за NAT-ом с "серыми" адресами, будет только увеличиваться.

Да, это проблема. Но это проблема не только для утилиты вроде анти-анонимайзера, но и для всех служб, предусматривающий двусторонний обмен пакетами. (Кажется, примерно так устроена передача файлов в ICQ.) Что ж, если анти-анонимайзер будет испытывать те же трудности, что и ICQ и всевозможные интернетовские online-игры - не такая уж это и катастрофа. Может быть, через некоторое время наконец появятся 64-битовые IP.

спустя 1 час 27 минут [обр] Дмитрий Кучкин(0/236)[досье]

В Самаре, рискну предположить, большинство работает через NAT. Редко кто из пользователей широкополосного доступа/выделенок подключают рабочие компьютеры напрямую. Напрямую подключены диал-апщики. И то некоторые провайдеры выдают "серые" адреса. И доля работающих через скоростные виды доступа (читай через NAT) постоянно растет. Кроме того активно продаются дешевые "железные" маршрутизаторы, типа D-Link DI-604 или DI-804. Это тоже NAT.
Запретить входящие соединения на локальный компьютер (что и происходит при использовании NAT) — это к тому же еще и элементарная безопасность.
Даже когда произойдет повсеместный переход на IPv6 (128 бит), все равно, NAT будут использоваться в целях безопасности. IMHO.

У меня и в офисе и дома используется NAT. Никаких проблем с ICQ нет. Пару лет назад на старой работе загонялись по RTCW: Enemy Territory (оnline игра) тоже через NAT и тоже без проблем. То есть, инициатором соединения выступает все-таки клиентский компьютер.
ИМХО, программы, работающие в Интернет и рассчитывающие на хоть какую-нибудь популярность должны уметь работать через NAT.

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

спустя 18 минут [обр] Даниэль Алиевский(9/125)[досье]

Дмитрий Кучкин[досье]

В Самаре, рискну предположить, большинство работает через NAT.

Во-первых, пожалуйста, давайте еще раз оговоримся: люди работающие и люди, общающиеся в форумах, как правило, разные категории. Я уже писал про это. Если 99% форумов "прикроются" анти-анонимайзером, кроме самых крупных, то никто из моих коллег в офисе не пострадает. Так же как и не пострадает от невозможности играть в сетевые игры - игры в офисе попросту запрещены.

Напрямую подключены диал-апщики. И то некоторые провайдеры выдают "серые" адреса. И доля работающих через скоростные виды доступа (читай через NAT) постоянно растет. Кроме того активно продаются дешевые "железные" маршрутизаторы, типа D-Link DI-604 или DI-804. Это тоже NAT.

У меня дома выделенная линия - обычный "кабельный" internet. По умолчанию, разумеется, все разрешено - более того, поощряется построение FTP-сети по обмену фильмами. В городе у нас (Екатеринбурге), насколько я знаю, 90% частных лиц подключены либо так, либо через модем. Во всяком случае, двусторонний обмен возможен. Мои знакомые, живующие в других городах и странах, насколько я помню, тоже не испытвают проблем с прямым подключением в ICQ (передачи файлов). Типа, это все исключение? А большинство пользователей давно уже потеряли возможность передавать файлы в ICQ?

У меня и в офисе и дома используется NAT. Никаких проблем с ICQ нет. Пару лет назад на старой работе загонялись по RTCW: Enemy Territory (оnline игра) тоже через NAT и тоже без проблем. То есть, инициатором соединения выступает все-таки клиентский компьютер.

ИМХО, программы, работающие в Интернет и рассчитывающие на хоть какую-нибудь популярность должны уметь работать через NAT.

Тогда давайте разбираться. Чем моя утилита отличается от ICQ, когда та передает файлы? ICQ позволяет передать файл как от меня к тебе, так и от тебя ко мне. При этом, насколько я понимаю, промежуточный сервер ICQ не задействуется - иначе все бы работало всегда (а оно как раз не работает, когда один из нас сидит в "хорошо защищенном" офисе). Да и трафик бы на icq.com получился такой, что он бы сразу "накрылся". Так что, получается, один из наших двух компьютеров выступает в роли TCP/IP-сервера.

Собственно, все, что мне нужно - организовать любым способом двусторонний обмен между компьютером клиента (посетителем форума) и некоторым другим конкретным компьютером, в данном случае webwarper.net. Чтобы компьютер webwarper.net мог "постучаться" к клиенту и получить отклик. (И это уже гарантия, что клиент не прячется за анонимайзером.) Насколько я понимаю, на типичный компьютер таким образом достучаться можно - и это единственный разумный способ организовывать разнообразные игры, чаты вроде ICQ, обмен фильмами и т.п., когда трафик потенциально достаточно велик.

спустя 1 час 23 минуты [обр] Дмитрий Кучкин(0/236)[досье]

Во всех он-лайн играх один компьютер выступает в качестве сервера. Только он должен иметь доступный для всех адрес. Остальные — клиенты, которые без проблем работают из-под NAT.
Насчет ICQ. Я уже несколько лет не использую его для передачи файлов. Раньше, да, файлы через NAT не передавались. Как сейчас не знаю, не пробовал.
Файлообменники с соединениями peer2peer, по моему, требуют чтобы хотя бы одна сторона была доступна для соединений извне. Другая сторона вполне может быть под NAT-ом.

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

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

спустя 1 час [обр] Thirteensmay(3/157)[досье]

Вот, пока писал появились новые посты, первым делом выделю эти:

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

> Незнаю как на типичный (статистики нет), но на нормальный - нельзя.

Наблюдение — в теме нет ни одного поста, в котором посчитали бы идею с утилитой удачной

> Стоит задуматься...

Хозяин-барин. Если есть большое желание написать такую утилиту, попробуйте

> Абсолютно согласен ;)

Даниэль Алиевский[досье] Теперь собственно говоря сам ответ:
Я не упираю на то, что для большинства посетителей будут созданы непреодолимые трудности, я хочу сказать что таких будет достаточно - большинство из моих знакомых сидят за файерволами, у некоторых и ICQ то не работает, у многих остальных проблемы с открытием дополнительного порта. Доп. ПО тоже не все поставят, ктото будет сомневаться, комуто недадут... Это во первых... ;)
Во вторых - признанный Вами бан "сложных случаев" - их тоже как мы рассмотрели немало ;)
И наконец в третьих - частая бесполезность полученных IP (DHCP, кафе, многопольз. станции, пулы и пр.) варианты подстав при этом я уж не рассматриваю...
ИТОГО: Да, конечно, многое из этого в той или иной мере можно "обойти" ;) Но совокупность меня устрашает. Если Вас нет - Ваше дело, считайте что Вас предупредили... ;)
Ну и всетаки о модерировании: В любом случае придется его выполнять, какая разница с IP или без - если на форуме висит какаято гадость то кроме модератора ее никто не уберет. Если модератор работает - проблем почти не будет, если нет - то хоть 100 IP - бестолку.
Я таки помню что Ваша основная задача - хотябы указать злоумышленника - чтож былобы неплохо но мы уже рассмотрели что это не просто. Вы говорите что если удастся принести пользу хотябы 1% форумов - будет неплохо - вот с этого надо было начинать ;) т.е. имеем некое решение для "заинтересованных рабочих групп" ;) ну естественно со своими издержками... Так вот если я правильно понимаю то вопрос теперь звучит так: А каково соотношение издержек к реальной пользе ?
Издержек достаточно, максимальная теоретическая польза - знание места от куда пришел спам, от разборок всеравно не спасешся, однако в идиальном случае можно проще отмазаться ;) Как всегда все решает админ - и ведь будет банить зараза ;) страхуя свою задницу. А ведь могбы работать (модерить). И не забывайте об издержках - их много.
В конце концов имеем: Большое желание но лень, отсутствие возможности, кучу издержек, но некоторую страховку, против качественной работы с гарантированным результатом ;) Чтож, все реально ;), каждый выбирает свое...

спустя 1 час 2 минуты [обр] Даниэль Алиевский(9/125)[досье]

Вот это уже более конструктивно :) Хотя новой критики пока так и нет - может быть, идея вполне живучая.

Дмитрий Кучкин[досье]

Насчет ICQ. Я уже несколько лет не использую его для передачи файлов. Раньше, да, файлы через NAT не передавались. Как сейчас не знаю, не пробовал.
Файлообменники с соединениями peer2peer, по моему, требуют чтобы хотя бы одна сторона была доступна для соединений извне. Другая сторона вполне может быть под NAT-ом.

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

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

Так умолчательный FireWall от XP SP 2 это уже делает. Но при этом явно предупреждает, если кто-то все же пытается соединиться. Получается, на твое усмотрение - либо соглашайся открыть доступ, либо не ходи постить в форум. На ICQ, кажется, этот FireWall тоже задал однажды вопрос. А уж сколько вопросов ICQ и Java-машина вызывают у более "продвинутоого" Giant Antispyware...

И еще наблюдение — в теме нет ни одного поста, в котором посчитали бы идею с утилитой удачной.

А я и не искал таких. Разве можно ожидать от уважаемых коллег одобрения заведомо "сомнительного" начинания... Я искал критики, которая бы изначально поставила крест на идее - как с апплетами. Пока склоняюсь к мысли, что идея утилиты (или ActiveX) более живучая. Что ж, и на том спасибо.

С другой сторны, хозяин-барин. Если есть большое желание написать такую утилиту, попробуйте.

Что ж, вот как найду алгоритм, как это окупить, так и попробую. Если до тех пор идею не уничтожат, заметив очередную глупую "дыру" (как с апплетами). Проблемы-то, обозначенные выше, вполне серьезны - неплохо бы хоть что-то сделать.

Thirteensmay[досье]

Я не упираю на то, что для большинства посетителей будут созданы непреодолимые трудности, я хочу сказать что таких будет достаточно - большинство из моих знакомых сидят за файерволами, у некоторых и ICQ то не работает, у многих остальных проблемы с открытием дополнительного порта. Доп. ПО тоже не все поставят, ктото будет сомневаться, комуто недадут... Это во первых... ;)
Во вторых - признанный Вами бан "сложных случаев" - их тоже как мы рассмотрели немало ;)

Это все так, конечно. Кто же спорит, что проблемы будут. Мне бы тут моральную (а лучше технологическую :)) поддержку, а не напоминания об этом грустном факте. Представьте себе: хирург решается начать оперировать. Ему говорят - да ты что, ведь столько случаев, когда ты только убьешь пациента. Так оно и есть - так что же, вообще не заниматься хирургией? Если кому-то удастся помочь, это уже плюс. А если подойти к делу грамотно, может быть, удастся свести количество неудач (форумов, не подлежащих защите), скажем, к 10%.

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

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

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

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

Издержек достаточно, максимальная теоретическая польза - знание места от куда пришел спам, от разборок всеравно не спасешся, однако в идиальном случае можно проще отмазаться ;)

Ну, от смерти все равно не спасешься. Но кое от чего защититься всегда можно. Почему бы и нет?

В конце концов имеем: Большое желание но лень, отсутствие возможности, кучу издержек, но некоторую страховку, против качественной работы с гарантированным результатом ;)

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

Чтож, все реально ;),

Спасибо на добром слове :)

Наверно, будем пробовать. Все ж таки, никто не подскажет, есть ли смысл идти изучать Flash? Он точно неспособен организовать TCP/IP-сервер на клиенте, доступный из Internet? Песочница Java этого не разрешает, может, Flash не столь строг?

спустя 29 минут [обр] Дмитрий Кучкин(0/236)[досье]
спустя 6 минут [обр] Даниэль Алиевский(9/125)[досье]
Дмитрий Кучкин[досье] Не, мне это бесполезно, увы :) А уязвимости находят повсюду. Только вот почему-то про уязвимость форумщиков я пока ничего не читал. Пока сам не написал, даже и не задумывался. К чему бы это :)
спустя 16 часов [обр] Даниэль Алиевский(9/125)[досье]
  1. До меня вдруг дошло, что решение-то есть! Без всяких утилит! Тьфу-тьфу, вроде не ошибся... Просто недодумал немного. Речь опять о Java-апплете.

Выше (Анти-Анонимайзер в виде утилиты - может быть, поможете? (328153)) я уже писал, что Java-апплет не позволяет нормально организовать TCP/IP-сервер. "Не позволяет" - это значит, что метод accept() объекта ServerSocket вызывает
java.security.AccessControlException: access denied (java.net.SocketPermission 69.41.165.154:50291 accept,resolve)
Но ведь этого уже достаточно! Я могу перехватить это исключение и убедиться, что ко мне (клиенту), действительно, некто обратился. И в качестве реакции послать на webwarper.net отдельный запрос (уже через клиентский сокет), в котором сообщу, что я, такой-то клиентский компьютер (идентифицированный, скажем, некоторым случайным числом), получил от вас, уважаемый сервер webwarper.net, некоторое сообщение. Перед этим, при старте апплета, я сообщаю серверу webwarper.net, что я стартовал, и передаю тот же самый уникальный идентификатор. Таким образом, сервер webwarper.net легко может проверить, что компьютер, чей обратный адрес он видит, действительно откликается на запросы. Надо лишь немного подождать, отправив ему произвольный запрос. Если обратный адрес "фальшивый" (socks), то, разумеется, ответа от него webwarper.net не дождется. Через полминуты ожидания вполне можно принять решение о бане.

Однако, это вроде бы решение! Одна беда - тут требуется Java 1.3 или выше. JVM 1.1.4 от Microsoft не позволяет создавать сокетные сервера в апплете. Но все же это куда лучше "независимой" утилиты. Особенно, если удастся сделать то же самое во Flash.

А часом нельзя то же самое проделать в JavaScript? Какой-нибудь стандартный ActiveX вроде XMLHTTP...

Жду критики, господа! Может, опять чего-то не заметил?

  1. Я создал специальную тему в разделе Flash по этому поводу: Можно ли организовать TCP/IP-сервер во Flash-ролике?
спустя 33 минуты [обр] Даниэль Алиевский(9/125)[досье]

Перепроверил, теперь в JRE 1.5. Работает, однако! Я не верил, что такое в принципе возможно (без использования самописных утилит или ActiveX, только стандартными средствами).

Смотрится очень странно, но ведь, наверно, это не дыра безопасности, а вполне законное поведение.

Именно, я открыл страничку с моим апплетом - в порядке теста, при появлении исключения в методе accept() он открывает новую страницу броузера. Запустил на сервере вручную тестовый скрипт (а мог бы запуститься и автоматом при старте апплета), указав ему IP моего компьютера (который апплет и так сообщает серверу). Скрипт обращается к апплету (TCP-серверу в нем), и на экране пользователя открывается окно!

Получается, что сервер имеет-таки возможность активно управлять пользовательским компьютером. А не пассивно (по запросам с клиента). Несмотря на песочницу Java. Как это понимать - как дыру, которую скоро закроют, или как малоизвестное, но вполне легальное поведение?

спустя 12 минут [обр] Александр Самойлов(5/342)[досье]
Но если в апплете доступен, только сам факт попытки доступа, то не может ли хакер сам вручную отправить соответствующий запрос апплету?
спустя 18 минут [обр] Даниэль Алиевский(9/125)[досье]

Александр Самойлов[досье] Вы путаете стороны - хакер сидит на стороне апплета, а запросы ему шлет мой сервер.

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

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

Судя по тексту исключения, единственная информация, доступная в этот момент - IP-адрес пославшего запрос компьютера (webwarper.net). Это плохо. Теоретически, я могу "постучаться" к апплету с двух, ну максимум с 3-4 адресов. Если делать это по очереди, теоретически, можно закодировать некоторые данные (в виде последовательности IP, с которых идет обращение). Но это сложно и ненадежно (вряд ли документировано, что IP и правда содержится в исключении). ВременнЫе интервалы тоже плохи... Будем думать дальше.

Посмотрим, что мне скажут насчет flash. Лед, по-любому, тронулся.

спустя 20 минут [обр] Александр Самойлов(5/342)[досье]
Нет, я не путаю стороны.
Запросы вашего сервера хакаер может эмулировать со своего сервера, если в апплете ничего кроме IP адреса получить нельзя.
спустя 28 минут [обр] Даниэль Алиевский(9/125)[досье]

Э, а зачем это хакеру? Его цель - послать анонимное сообщение. А апплет, разумеется, получает не простой IP, а зашифрованный секретным алгоритмом. Этот зашифрованный IP запоминается в cookie и затем передается серверу вместе с POST-запросами. При отсутствии правильно зашифрованного IP в cookie POST-запросы отклоняются.

Проблема в том, чтобы не дать апплету обмануть сервер и выдать зашифрованный IP как-то иначе, чем в ответ на обращение сервера к клиенту (скажем, вручную).

Впрочем, я зря испугался "сложности". Если, конечно, IP обратившегося присутствует в исключении. Все довольно просто. У меня есть 4 (на самом деле больше) IP-адреса, с любого я могу "постучаться" к клиенту. Сервер webwarper.net всего лишь должен сгенерировать 32-битовое число на основе IP клиента (секретным алгоритмом). И затем выполнить 16 обращений к апплету, каждое - в ответ на обратную реакцию апплета на предыдущее обращение. Обращаться с 4 разных IP-адресов компьютера webwarper.net, кодируя таким образом 2 бита 32-битового числа. Апплет собирает все 16 обращений и строит по ним 32-битовое число, которое обязательно нужно добавить к сookie, чтобы сервер согласился принимать такой зашифрованный IP клиента. Все. Ничего сложного. Можно даже заменить последовательные сообщениями асинхронными (в произвольном порядке). Тогда объем переданной информации будет числом сочетаний с повторениями из K по M, где K - число имеющихся IP, а M - число сообщений (что, конечно, меньше K^M, но зато не требует ожиданий).

спустя 16 минут [обр] Александр Самойлов(5/342)[досье]
Кажется по такому алгоритму взлом апплета хакеру ничего не даст.
Ведь порядок обращений известен только серверу.
спустя 8 минут [обр] Даниэль Алиевский(9/125)[досье]
Александр Самойлов[досье] Ну да. Это, фактически, хитрый способ передать апплету секретный код.
спустя 2 дня 18 часов [обр] Даниэль Алиевский(9/125)[досье]
Тема, кажется, в данном варианте себя исчерпала. Да и помощь вроде бы уже не нужна :) Всем спасибо.
Предлагаю, у кого сохранился интерес, продолжить обсуждение в новом треде, где я постарался учесть основную критику: Анти-Анонимайзер: новый вариант, с учетом предыдущей критики
Powered by POEM™ Engine Copyright © 2002-2005