Professional Documents
Culture Documents
Видове атаки и защити в компютърни мрежи
Видове атаки и защити в компютърни мрежи
Видове атаки и защити в компютърни мрежи
Въведение.
За да се разгледа въпроса относно безопасността необходимо е да се
напомнят основните понятия от теорията на компютърната безопасност.
Общо взето те са само три: това са заплаха, уязвимост и атака. Макар че
смисъла на тези думи е ясен, нека да го поясним още веднъж неформално.
Заплаха за безопасността на една компютърна система е
потенциално възможно произшествие, което може да окаже нежелателно
въздействие върху самата система, а също така върху информацията, която
се съхранява в нея, и не е важно, дали това произшествие е преднамерено
или не е. С други думи заплахата е нещо лошо което може да се случи
някога.
Уязвимостта на една компютърна система е неудачна
характеристика, която прави възможно възникването на заплаха. С други
думи, точно поради наличието на уязвимост в системата се случват
нежелателни събития.
И последно, атака на една компютърна система, това е действие,
предприето от зломисленик, което се заключава в търсенето и
използването на една или друга уязвимост. По този начин , атаката е
реализация на заплаха. Да забележим, че такава дефиниция на атака (с
участие на човек с лоши намерения), изключва елемента на случайност от
определянето на заплаха, но както показва опита, често е трудно да се
различат преднамерените и случайните действия, и добрата защитна
система трябва адекватно да реагира на всяко от тях.
Изследователите обикновено разделят три основни вида заплахи за
безопасността – това е заплаха за дискретността, целостността и отказ в
обслужването.
Заплаха за дискретността се заключава в това че информацията
става известна на този, който не трябва да знае. В определенията на
компютърната безопасност заплахата за дискретността има място всеки
ТУ - София Дипломна работа Лист 4
Глава 1
Видове атаки и защити в компютърни мрежи
1.1.Класификация на атаки.
Всички възможни начини на несанкциониран достъп към
информация в защитени компютърни системи може да класифицира по
следващи признаци.
2. по характер на въздействие;
• пасивно;
• активно;
3. по цел на въздействие.
• Нарушаване на конфиденциалност на информация или на ресурси
на системата;
• Нарушаване на цялостност на информация;
• Нарушаване на работоспособност (достъпност) на системата.
Класификация
на отдалечен
достъп
Активни Логически
Цялостност Основно Извън локална В
програми мрежа администриране
Работоспосо
бност В алгоритми за
защита
При
реализация
ТУ - София Дипломна работа Лист 11
1.3.10. Floods.
Превод от английския на български – “потапяне”. По времето на
floods атаки става изпращане на голямо количество ICMP или UDP пакети
към атакувана система, които не носят полезна информация. В резултат се
намаля пропускателната способност на линия на канала и натоварване на
компютърна система заради анализ на идващи безполезни пакети и
генериране на отговори за тях.
1.3.11.Fuzzy.
Пакет IP съдържа поле определящо кой протокол на следващото
ниво (TCP, UDP, ICMP) използва данните от интернет. Хакери могат да
ползват нестандартни значения на даденото поле за предаването на данни,
които няма да се фиксират със стандартни средства за контрол на
информационни протоци.
1.3.12. Hack.
Клас от атаките, използвани за изследване на операционните
системи, приложения или протоколи с целта последващия анализ на
получена информация за присъствие на слабите места, например, Port
Scan, който може също да отнесем към низко ефективна DoS-атака.
Установяване на слабите места може да бъде използвано от хакер за
несанкциониран достъп към системата или за намиране на най-
ефективната DoS-атака.
1.3.15. IP Spoofing.
Хакер изпраща във мрежата пакети със фалшивия обратния адрес. С
помощта на тази атака хакер може да превключи на своя компютър
съединение установено между други компютри. При този ситуация
правата за достъп на хакера се изравняват със тези на потребителите, чието
съединение със сървър е било превключено на хакерски компютър.
Установяване на TCP-съединение става във три стадии: клиент избира и
предава за сървър sequence number(S-SYN) в отговор на това сървър
изпраща на клиент пакет от данните, съдържащи потвърждение (C-ACK) и
собствения sequence number(S-SYN). Сега вече клиент трябва да изпрати
потвърждение (S-ACK). След това съединение се смята за установено и се
започва обмен на данните. При това всеки пакет има в заглавието си поле
за sequence number и acknowledge number. Данни числа се увеличават при
обмен на данните и позволяват контролиране на коректно предаване. Да
кажем, че хакер може да предскаже, какъв sequence number(S-SYN по
схема) ще бъде изпратен от сървър. Това е възможно да се направи въз
основа на знания за конкретна реализация на TCP/IP. По този начин
изпращайки един пакет на сървър, хакер получава отговор и от няколко
опита може да предскажи sequence number за следващо съединение. Ако
реализация TCP/IP използва специален алгоритъм за определяне на
sequence number, то той може да бъде изяснен с помощта на изпращане на
няколко десятка пакети към сървър и анализа на неговите отговори. Да
предположим че системата А доверява на системата B така, че потребител
на система В може да направи “rlogin A” и да се окаже на А не въвеждайки
парола. Да кажем че хакер се намира във система С. Система А е във роля
на сървър. Системи В и С са клиенти. Първа задача на хакера – да докара
ТУ - София Дипломна работа Лист 25
1.3.16. IP Hijacking.
Необходими условия: атакуващия трябва да има достъп до
компютъра, който се намира на път на мрежовия поток и да има
достатъчни права за нея за генериране и за прехващане на IP-пакети. Да
напомня, че при предаване на данни постоянно се използва sequence и
acknowledge number (и двата са намират в IP-заглавието). Изхождайки от
ТУ - София Дипломна работа Лист 26
1.3.17. Land.
Тази атака използва уязвимостта при реализиране на стек TCP/IP в
някой операционни системи. Тя се заключава във предаване на отворен
порт при компютър-жертва на TCP-пакет с установен флаг SYN, при това
изходен адрес и порт на такъв пакет съответствено е равен на адрес и порт
на атакувания компютър. Това води до това, че компютър-жертва се
опитва да установи съединение сам със себе си, в резултат на което силно
се увеличава натоварване на процесор и може да стане забиване или
презареждане. Дадена атака много е ефективна на някой модели
маршрутизатори от Cisco system, при това успешно използване на атака
към маршрутизатор може да спре работата на цялата мрежа-организация.
1.3.18. Pong.
Floods атаки, но на мястото на обратния действителен IP-адрес на
изпращач (хакер) се използва измислен. И това затруднява намирането на
атакуващия.
1.3.19. Puke.
ТУ - София Дипломна работа Лист 27
1.3.23. Smurf.
Атаката се заключва в предаване в мрежа на широколентови ICMP
запитвания от името на компютър-жертва. В резултат компютри,
получаващи такова съобщение отговарят на компютър-жертва, което води
до съществено намаляване на канал за свързване и в някои случаи към
пълно изолиране на атакувания от системата. Изпращане на голямо
количество broadcast-запитвания от името на жертва на broadcast-адреси на
ТУ - София Дипломна работа Лист 29
1.3.25. Spam.
Изпращане по електронна поща на съобщения от различен вид без
съгласие на получател. Периодически повтарящия се спаминг може да
наруши работа на потребители поради голямо натоварване на сървъра за
електронна поща; извиквайки препълване на пощенски кутии, което води
до невъзможност за получаване и изпращане на обикновени съобщения;
увеличава времето за намиране на получател “на линията”, а това са
допълнителни разходи
1.3.27.Trojan Horse.
Троянски кон се нарича всяка функционална възможност в програма
специално сложена за да обиколи системен контрол на секретност. Тази
възможност може да бъде само премахната, което я прави невъзможна за
намиране или може постоянно да се реализира, но да си съществува
скрито. Хакера пиши програма за изпълнение на някои интересни или
полезни функции: зареждане на игри, оптимизиране на работа на
операционна система и или за увеличаване на скоростта на достъп към
интернет. В програмата са скрити инструкции за прочитане на файлове,
пароли и тяхно изпращане на електрона кутия на хакер, или изпълняване
на друга скрити операции. След това хакера изпраща на вас тази програма
по поща или дава я за сваляне на общодостъпен www-сървър и чака докато
потребителя ще я пусне. За да стане това хакера разказва в описание за
програма много ярко за нейната необходимост и по-добри качества от
друго програмно осигуряване. Също така може да бъде сложен във вирус,
който при попадане на ЕИМ ще пусне троянския кон.
1.3.30. Virus.
Програма, която поне един път стартирана, способна самостоятелно
да създава своите копия, които могат да правят същото. Ако сте
подключени към интернет, вирус може да се “хване” сваляйки някаква
инфектирана програма с пускането й на своя компютър. Той може да
влезне при проглеждане на WWW-страница, или при стартиране на
прикрепен към електронно писмо, файл, или някой сложи ръчно вируса на
вашия твърд диск.
1.3.31. WinNuke.
Заедно със обикновени данни препращани по TCP съединение,
стандарта предвижда също предаване на неотложни данни(Out Of Band).
На нивото на формата на TCP пакети това се изразява в ненулев urgent
pointer. При голямо количество на компютри със сложен Windows
присъства мрежов протокол NetBIOS, който използва за свои нужди 3 IP
порта: 137,138,139. Както стана ясно, ако се съедини с Windows компютър
ТУ - София Дипломна работа Лист 32
през 139 порт и се изпрати на него няколко байтове данни от тип Out of
Band, тогава реализацията на NetBIOS която не знае какво да прави с тези
данни, просто забива или презарежда системата. За Windows 95 това
обикновено изглежда както син текстов екран, съобщаващ за грешка в
драйвера TCP/IP и невъзможност за работа с мрежа докато няма да се
презареди OC. NT 4.0. без сервиз пакети се презарежда, NT 4.0 със втори
сервиз пакет преминава към син екран.
Глава 2
-p протокол
Глава 3.
Ethernet controllers:
Realtek 10/100MB, IPadress: 192.168.0.4, Mask: 255.255.255.0 (Eth0)
Realtek 10/100MB, IPadress: 192.168.0.5, Mask: 255.255.255.0 (Eth1)
за зареждане на iptables.
chkconfig –level 235 iptables on,
#
# Mangle таблица, всички вериги.
#
iptables -t mangle -A PREROUTING -p icmp --icmp-type echo-request \
-j LOG --log-prefix="mangle PREROUTING:"
iptables -t mangle -A PREROUTING -p icmp --icmp-type echo-reply \
-j LOG --log-prefix="mangle PREROUTING:"
iptables -t mangle -I FORWARD 1 -p icmp --icmp-type echo-request \
-j LOG --log-prefix="mangle FORWARD:"
iptables -t mangle -I FORWARD 1 -p icmp --icmp-type echo-reply \
-j LOG --log-prefix="mangle FORWARD:"
iptables -t mangle -I INPUT 1 -p icmp --icmp-type echo-request \
-j LOG --log-prefix="mangle INPUT:"
iptables -t mangle -I INPUT 1 -p icmp --icmp-type echo-reply \
-j LOG --log-prefix="mangle INPUT:"
iptables -t mangle -A OUTPUT -p icmp --icmp-type echo-request \
-j LOG --log-prefix="mangle OUTPUT:"
iptables -t mangle -A OUTPUT -p icmp --icmp-type echo-reply \
-j LOG --log-prefix="mangle OUTPUT:"
iptables -t mangle -I POSTROUTING 1 -p icmp --icmp-type echo-request \
-j LOG --log-prefix="mangle POSTROUTING:"
iptables -t mangle -I POSTROUTING 1 -p icmp --icmp-type echo-reply \
-j LOG --log-prefix="mangle POSTROUTING:"
ping -c 1 host.on.the.internet
# 1. Configuration options.
#
# 1.1 Internet Configuration.
#
INET_IP="10.0.0.217"
INET_IFACE="eth0"
INET_BROADCAST="10.0.0.255"
# 1.2 Local Area Network configuration.
#
# your LAN's IP range and localhost IP. /24 means to only use the first 24
# bits of the 32 bit IP address. the same as netmask 255.255.255.0
#
LAN_IP="192.168.0.254"
LAN_IP_RANGE="192.168.0.0/24"
LAN_IFACE="eth1"
#
# 1.3 Localhost Configuration.
#
LO_IFACE="lo"
LO_IP="127.0.0.1"
#
# 1.4 IPTables Configuration.
#
IPTABLES="/usr/sbin/iptables"
##########################################################################
#
# 2. /proc set up.
#
# 2.1 Required proc configuration
#
echo "1" > /proc/sys/net/ipv4/ip_forward
##########################################################################
#
# 3. rules set up.
ТУ - София Дипломна работа Лист 56
#
######
#
# 3.1 Filter table
#
# 3.1.1 Set policies
#
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
#
# 3.1.2 Create userspecified chains
#
# Create chain for bad tcp packets
#
$IPTABLES -N bad_tcp_packets
#
# Create separate chains for ICMP, TCP and UDP to traverse
#
$IPTABLES -N allowed
$IPTABLES -N tcp_packets
$IPTABLES -N udp_packets
$IPTABLES -N icmp_packets
#
# UDP ports
#
$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 123 -j ACCEPT
$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 2074 -j ACCEPT
$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port 4000 -j ACCEPT
ТУ - София Дипломна работа Лист 57
#
# In Microsoft Networks you will be swamped by broadcasts. These lines
# will prevent them from showing up in the logs.
#
$IPTABLES -A udp_packets -p UDP -i eth0 -d 10.0.0.255 \
--destination-port 135:139 -j DROP
#
# ICMP rules
#
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
#
# 3.1.4 INPUT chain
#
# Bad TCP packets we don't want.
#
$IPTABLES -A INPUT -p tcp -j bad_tcp_packets
#
# Rules for special networks not part of the Internet
#
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT
# Special rule for DHCP requests from LAN, which are not caught properly
# otherwise.
#
$IPTABLES -A INPUT -p UDP -i $LAN_IFACE --dport 67 --sport 68 -j ACCEPT
#
# Rules for incoming packets from the internet.
#
$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED \
-j ACCEPT
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_packets
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
#
# Log weird packets that don't match the above.
#
$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level DEBUG --log-prefix "IPT INPUT packet died: "
#
# 3.1.5 FORWARD chain
#
# Bad TCP packets we don't want
#
$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets
#
# Accept the packets we actually want to forward
#
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
ТУ - София Дипломна работа Лист 58
######
# 3.2 nat table
#
# Enable simple IP Forwarding and Network Address Translation
#
$IPTABLES -t nat -A POSTROUTING -o $eth0 -j SNAT --to-source $10.0.0.217
#
ТУ - София Дипломна работа Лист 59
Глава 4
Описание на реализацията. Резултати и
изводи.
4.1.1. Конфигурация
Верига bad_tcp_packets
Верига allowed
Верига за TCP
Верига за UDP
Верига за ICMP
Резултат.
Виждаме, че работа на защитна стена работи както трябва, без
никакви проблеми. Можем да видим, как нито един компютър (от външна
и вътрешна мрежа) не може да влезе през нашата защитна стена чрез
отдалечен достъп. Можем да проверим дали има съединение със сървъра,
като за целта ще използваме ICMP. Сценария за защита е структуриран
много добре, като най-важното му предимство е наличието на възможност
за добавяне на вериги в iptables, което го прави гъвкав и адаптируем.
4.2. Извод.
ТУ - София Дипломна работа Лист 67
Съдържание
ТУ - София Дипломна работа Лист 68
Използвана литература
http://www.citforum.ru/operating_systems/linux/iptables/index.shtml
http://kiev-security.org.ua/box/15/index.shtml