Курс "Защита информации", кафедра радиотехники, Московский физико-технический институт (МФТИ)

2010: Главная Экзамен Лекции Семинары Проекты Эссе | Преподаватели Литература | Архив: 2009 2008-fall 2008 2007 2006 2005 2004 2003 | English
HTML-версия эссе "Honeypots in fight with spammers", Timiriassova, 2004, сгенерированная из pdf/rtf.
Конвертация не вcегда корректна. Смотрите исходный pdf.

ТимирясоваЭлина

Борьбасоспаммерамиспомощью honeypots.

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

Узнаемпротивника.

Рассмотримподробнее, зачтоспаммерполучаетденьги. Дляуспешнойрекламнойдеятельностивсетипосредствоммассовойэлектроннойрассылкинеобходимо:

- накопитьбазуданныхработающихэлектронныхадресов;

- найтианонимныепрокси -серверыдлябезнаказаннойрассылкитысячписем;

- иметьдоступксерверу, которыйпозволяетотправлятьмассуэлектронногомусора;

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

Наиболеепростыеспособыполучитьбазуданных e-mail адресовжертв: во-первых, используяавтоматическиепрограммы, просматривающие Web-страницывпоискахадресаавтора. Во-вторых, простонаписатьпрограмму, котораябудетвытаскиватьадресаиззаголовковписем, посылаемыхвUseNet. И, наконец, недостаточнохорошонастроенныелегальныерассылкимогутснабдитьзлоумышленникаполнойбазойэлектронныхадресов.

Рисунок 1. Ссылкасинтернетстраницынаадресавтора.

Длятогочтобыоставатьсябезнаказаннымиприсоединениисудаленнымпочтовымсерверомспаммерыиспользуютобщедоступныепрокси -серверы(open proxy). Вовсехжурналахна mail -сервереостаетсятолько IP адреспрокси œ сервераивыследитьисточникрассылкистановитсяпочтиневозможно, таккакбольшинствопрокси œ серверовневедутжурналовсоединений. ДалеепредставленпримерTCP сессииклиента, использующегопрокси, и SMTP:

$ cat /var/log/snort/192.168.1.66/SESSION\:8080-4072
CONNECT 207.69.200.120:25 HTTP/1.0

HELO [217.128.a.b]
MAIL FROM:<openrelay@abuse.earthlink.net>
RCPT TO:<spaminator@abuse.earthlink.net>
DATA
Message-ID: <36af800461754252ab1107386a9cd8eb@openrelay@abuse.earthlink.net>
To: <spaminator@abuse.earthlink.net>
Subject: Open HTTP CONNECT Proxy
X-Mailer: Proxycheck v0.45

This is a test of third-party relay by open proxy.

These tests are conducted by the EarthLink Abuse Department.
EarthLink, by policy, blocks such systems as they are discovered.

Proxycheck-Type: http
Proxycheck-Address: 217.128.a.b

36af800461754252ab1107386a9cd8eb

Proxycheck-Port: 8080
Proxycheck-Protocol: HTTP CONNECT

This test was performed with the proxycheck program. For further
information see <http://www.corpit.ru/mjt/proxycheck.html/>

.
QUIT

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

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

Honeypots.

Новаяиинтереснаятехнология honeypot илисистема -приманкапозволитнамнанестисущественныйударподеятельностиназойливыхраспространителейрекламы. Таккаксистема-приманкагибкоеипростоеорудие, егоможноиспользоватьдляборьбынавсехэтапахдеятельностиспаммеров.

Принакоплениибазысвоихжертвосновнойцельюспаммераявляетсяотыскатькакможнобольшедействующих e-mail адресов, таккакэффективностьрекламыпрямопропорциональнаколичествуееполучателей. Мыжепостараемсяподсунутьавтоматическимпрограммам, сканирующим Web-страницы, какможнобольшефиктивныхадресов. Обычнотакаяпрограммаследуетповсемссылкам, найденнымна web-странице, поэтомулегкоподсунутьейложныессылкинастраницы œ приманки, генерирующиетонныложныхэлектронныхадресов. Такиессылкиможносделатьневидимымидлячеловека (например, белыебуквынабеломфонеилиссылка, спрятаннаязанадпись), однакопрограмма-ботнесможетраспознатьподмены. Примерыподобныхскриптовужесуществуютиактивноиспользуются. Номожнопоступитьещеболеехитроигенерироватьнеслучайные e-mail адреса, авключающиевсебяинформациюораспространителе. Икактольконеосмотрительныйспаммервоспользуетсяподобнымадресомдлярассылки, его IP станетизвестным.

<?
// PHP example taken from the frenchhoneynet Web site
// replace by your domain, add recipients filtering on your MTA
(mimedefang...)
echo '<a href="mailto:'.$REMOTE_ADDR.'_'.date('y-m-j').'-
spamming@frenchhoneynet.org"
title="There is no spoon">For stupid spambots';
?>

Такойскриптбудетгенерироватьфиктивныйэлектронныйадрес, содержащийIP web œ клиентаитекущуюдату. Например:

<a href=mailto:80.13.aa.bb_03-11-17-spamming@frenchhoneynet.org>...

Затемадминистратор mail œ сервераможетфильтроватьвходящиеписьмаиизвлекатьизних IP адресапопавшихсянауловкуисточниковспама.

# Example of a simple recipient filtering with Mimedefang
http://www.mimedefang.org/]
# Will filter incoming email containing a recipient address in the form
# of those created by the latter PHP example.
sub filter_recipient {

my ($recipient, $sender, $ip, $hostname, $first, $helo) = @_;
if($recipient =~ /^<.*-spamming@frenchhoneynet\.org>?$/i)
{ return ("REJECT", "Spamming activity"); }
return ("CONTINUE", "ok");

}

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

Рассмотримтеперьпрокси œ серверы, которыеявляютсяприкрытиямидляназойливыхраспространителейрекламы. Какнетруднодогадаться, можнообманутьспаммера, настроивhoneypot какфальшивыйпроксисервер.

Итак, рассмотрим, какэтосделать. Интересныедлязлоумышленникапорты:

- 1080 socks proxy server

-3128 squid proxy server

-8080 web caching service Найтиоткрытыепроксисерверыоченьлегко. Достаточнонабратьвлюбомпоисковике —open proxies List“. Затем, послеподсоединенияк TCP порту, отправканесколькихпакетовможетпомочьпонять, являетсялинайденныйресурсоткрытымпроксисерверомилинет.

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

Дляэтойцелиможноиспользовать Honeyd, какнаиболееуниверсальноеиудобноеOpenSource решение, разработанноеНильсомПровосом(Niels Provos). Такаяприманкаможетнетолькоэмулироватькакой-тосервис, ноицелуюоперационнуюсистему. Тоестьзлоумышленникбудетвидетьмашинукак Cisco роутер, WinXP веб-серверили Linux DNS сервер, гдеэмулированиеведетсянетольконауровнесервиса. Таккаквэтомслучаеопределитьнастоящуюоперационнуюсистемумашиныбылобыдостаточнопростоспомощьюпечатей fingerprints. Honeyd позволяетэмулироватьоперационнуюсистемунауровнеядра, тоестьизменяетповедениестека IP протокола. Итогданазапросытакихутилиткак Nmap или Xprobe приманкагенерируетответы, соответствующиефальсифицируемойоперационнойсистеме.

Рассмотримконфигурированиесистемы-приманкинаоснове Honeyd. Настроимегонасимулированиепочтовогосервера, пересылающеголюбыеписьмаиподдерживающегооткрытыепрокси:

create relay
set relay personality "OpenBSD 2.9-stable"
add relay tcp port 25 "sh /usr/local/share/honeyd/scripts/sendmail.sh $ipsrc
$sport $ipdst $dport"
add relay tcp port 3128 "sh /usr/local/share/honeyd/scripts/squid.sh $ipsrc
$sport $ipdst $dport"
add relay tcp port 8080 "sh /usr/local/share/honeyd/scripts/proxy.sh $ipsrc
$sport $ipdst $dport"
set relay default tcp action block
set relay default udp action block
bind 192.168.1.66 relay

Легкопонять, чтотакаяприманкабудетвестисебякаккомпьютерсоперационнойсистемойOpenBSD 2.9, IP адресом 192.168.1.66 итремяоткрытымипортами: 25, 128, 8080. Налюбойвходящийзапросподаннымпортамсистемабудетфальсифицироватьсоответствующийсервис: sendmail.sh, squid.sh, proxy.sh. Взаимодействиеведетсячерездвапотока STDIN и STDOUT. Еслиинтереснопосмотреть, чтожепытаетсяразослатьспаммер, достаточнопросточитатьданныеспотока STDIN. Дляобмананеобходимосимулироватьчастьиливесьдиалогсподключившимсяпользователем.

Нодляданнойцелиможноиспользоватьидругоймаленькийиудобный honeypot, созданныйспециальнодлясимулированияоткрытогопрокси -сервера, -это Bubblegum Proxypot. Возможностиданнойприманкиэтимиограничиваются, вотличиеот Honeyd, которыйможетиспользоватьсядляфальсификациибольшогомножестваразличныхсервисовиоперативныхсистем.

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

В Proxypot существуеттрирежимаработы:

-smtp1: Всясессия SMTP œ соединениясимулируется.
Плюсы: нетникакогоисходящего SMTP трафика, поэтомувашасетьне
засоряется;
Минусы: такаяприманкалегкораспознаетсяи, крометого, можновыбрать
толькоодинвид SMTP сервера;
-smtp2: Соединяетсясреальным SMTP серверомичитаетегоидентификационную
строкуи HELP командыдляадекватногоответанавходящиезапросы.
Плюсы: еслиспаммеротслеживаеткорректностьответовсервера, товэтом
случаеонничегонезаподозрит;
Минусы: появляетсяисходящийтрафик. Нужнобытьболееосторожным,
применятьдополнительнуюзащитуотвзлома. Ктомуже, еслиотслеживать
трафик, проходящийчерез SMTP ипочтовыйсервер, накоторыйидет
рассылка, толегкоможнозаметитьнесоответствиеираспознать honeypot.
-smtp3: Соединяетсясреальным SMTP серверомипересылаетвсекомандыза
исключением DATA, EXPN. RCPT и VRFY контролируютсяипересылаются
ограниченно.
Плюсы: этасимуляцияявляетсянаиболееправдоподобной, исделать
лучше honeypot невозможно, таккакиначеонстанетдействующим
открытымпроксисервером.
Минусы: остаетсявероятность, чтоопытныйспаммерраспознаетподлог.

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

Рассмотримпримерсессиизлоумышленникаисистемы œ приманки, симулирующей Web-proxy (порт 8080) .

$ cat /var/log/snort/192.168.1.66/SESSION\:8080-4087
CONNECT 204.2.aa.bb:25 HTTP/1.0

Hello Google.com
MAIL FROM:<RDaniels@zzzz.com>
RCPT TO:<rich003@xxxxx.com>
DATA
From: "Daniels" <Daniels@yyyyyy.com>
To: <rich003@xxxxx.com>
Subject: John wants you to call Daniels.
Content-Type: text/plain;

charset="Windows-1252"
Content-Transfer-Encoding: 7bit

Just wanted to remind you about our meeting at 1D9808AFD:8080:6 o’clock.
Thanks, Rodney

.
QUIT

Мывидимсоединениес 25 портом SMTP œ сервераипопыткуотправитьписьмосдостаточнобессмысленнымсодержанием. Можнопредположить, чтовданномслучаеиспользуетсякакая œ топрограммадляавтоматическойпроверки, поэтомувтекстеписьмауказываетсяв 16 œ тиричномформате IP проверяемогопрокси -сервераипорт 8080. В Proxypot существуетвозможностьотправлятьилинеотправлятьподобныеодиночныеписьма. Есливыпропуститетакоеписьмо, тоспаммербудетдуматьчтонашелреальныйоткрытыйпрокси œ сервер.

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

Наэтомэтапемыможемобнаружитьпотенциальногоисточникаспама, затормозитьегоработуилижевовсезаблокировать (симулируяотправкумусора).

Теперьможнорассмотретьконфигурацию honeypot, фальсифицирующегопочтовыйсервердляпересылкибольшогоколичестваписем. БредСпенсер(Bred Spencer) первыйпредложилиспользоватьдляэтогонастоящийпочтовыйсервис. Нужнотольконастроитьегонаприемвходящеготрафикаиблокировкуисходящего. Симуляцияполучаетсяоченьреальной, ипоэтомунетнеобходимостииспользоватькакое -тодополнительноепрограммноеобеспечение. Примерконфигурациисервиса sendmail 8.12.3-6.6 в sendmail.mc файле:

FEATURE(`promiscuous_relay')dnl
define(`confDELIVERY_MODE', `queue')

Авторидеипредлагаеттеперьпростозапустить sendmail œbd, однакоследуетбытьосторожным, таккакнекоторыенеучтенныеопциисервисамогутбытьиспользованызлоумышленником. Длянадежностиможноиспользоватьудаленныйсервис, которыйбудетпериодическипроверятьсостояние sendmail œ сервера. Таккаквсеотправленныесэтогосервераписьмадолжнынаходитьсявпапкесзаблокированнымисообщениями. Сообщениямогутбытьподобноговида:

$ /bin/cat /var/spool/mqueue/dfhAC1djjB008617

This is a test message to check for open mail relay servers.

You are probably receiving this message as the Postmaster of a mail server.
We tried to relay a message through your mail server; because you are
reading this message, your mail server probably did not relay the message,
which is good.
If this message does not reach the recipient stated in the header, your
mail server is not an open relay.

##
## RUN=2003111234316.2443
## HOST=80.13.a.b
## FROM=<>
## TO=<SPAM@TM.ODESSA.UA>
## REQ=
## KEY=b30628d6ff9c89c3910591add7476afe
##)

$ /bin/cat /var/spool/mqueue/qfhAC1djjB008617
V7
T1068601187
K0
G0
Y0
N0

P30092

Fbs

$_Mail.TM.Odessa.UA [195.66.200.105]

$rESMTP

$slocalhost.localdomain

${daemon_flags}

${if_addr}192.168.1.66

S<>

rRFC822; spam@tm.odessa.ua

RPFD:<spam@tm.odessa.ua>

H?P?Return-Path: <g>

H??Received: from localhost.localdomain (Mail.TM.Odessa.UA [195.66.200.105])
by gate.intranet (8.12.3/8.12.3/Debian-6.6) with ESMTP id

hAC1djjB008617
for <spam@tm.odessa.ua>; Wed, 12 Nov 2003 02:39:47 +0100

H?D?Date: Wed, 12 Nov 2003 02:39:47 +0100

H?M?Message-Id: <200311120139.hAC1djjB008617@gate.intranet>

H??To: <spam@tm.odessa.ua>

H??Subject: open relay test message

H??User-Agent: ortest (1.0)

.)

Стоитотметить, чтодляправдоподобностинужнопропускатьтестовыесообщенияспаммера, чтонетруднореализовать, например, такимспособом: -qRuser@destination.

Другимрешениемможетстать honeypot, называемый Spamd иразработанныйкомандойOpenBSD, или Honeyd. Задачалюбойтакойприманки œ заставитспаммерабессмысленнотратитьсвоевремяиресурсы.

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

Внастоящеевремяведутсяобширныеисследованиявобластиборьбысоспамом. Одинизнихявляется —Honeyd Research:Spam“ подруководствомНильсаПровоса (Niels Provos). Врамкахданногопроектастроитсясетькакпоказанонарисунке:

Администраторыудаленныхсетей, сотрудничающиесНильсом, перенаправляютопасныйтрафикнаодинсервер-приманкусустановленным Honeyd по GRE Tunnels. Этотсервисзатемсимулируетпроксиилипочтовыйсервериотвечаеттожепо GRE каналу. Honeyd можетвестисебяпо œ разному, взависимостиотсервиса, которыйонсимулирует. Вэтомслучаезлоумышленник, атакующийразличныесайтынеподозреваетотом, чтонавсеегозапросыотвечаетодинитотже Honeyd. Иблагодаря GRE каналамоннесможетраспознатьреальноеместоположениесервера.

Собраннаятакимобразоминформацияможетиспользоватьсядлясоставлениячерныхсписковспаммеров.

Такжеполученаинтереснаястатистикаотносительноисточниковрассылкирекламы. Например, около 43% спаммеровиспользуютоперативнуюсистему Linux:

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

Использованыкартинки:
1. Fighting Spammers With Honeypots: Part 1

by Laurent Oudot

< http://www.securityfocus.com/infocus/1747 >

2. Fighting Spammers With Honeypots: Part 2 by Laurent Oudot < http://www.securityfocus.com/infocus/1748 >

Использованнаялитература:

1. Fighting Spammers With Honeypots: Part 1

by Laurent Oudot

< http://www.securityfocus.com/infocus/1747 >

  1. Fighting Spammers With Honeypots: Part 2 by Laurent Oudot < http://www.securityfocus.com/infocus/1748 >

  2. Brad Spencer, Sendmail used as a honeypot http://www.tracking-hackers.com/solutions/sendmail.html

  3. Lance Spitzner, Honeypot Farms, 2003

http://www.securityfocus.com/infocus/1720

5. Niels Provos, Honeyd-Network Rhapsody for You.

http://www.citi.umich.edu/u/provos/honeyd/


Page last update: Fri Jun 10 10:12:29 2005 MSD.
Website last update:
Rambler's Top100 Рейтинг@Mail.ru