SlideShare a Scribd company logo
1 of 24
Download to read offline
по
БЕЗОПАСHОСТ И ЗАЩИТА HА Microsoft МРЕЖИ И
ПРИЛОЖЕHИЯ
На тема:
БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ
Варна
2014г.
Изготвил: Димитър Николов, VI курс Проверил: доц. д-р Стефан Дражев
Специалност: ПИНФ – ДОВО, 9гр. ас. Радка Начева
Фак. № 400295
Съдържание
Увод...................................................................................................................................................4
Видове атаки.....................................................................................................................................4
Phishing..........................................................................................................................................4
Социално инженерство.................................................................................................................4
Вируси............................................................................................................................................5
DoS Атаки (Denial of Service attacks)..............................................................................................5
Flood (или Flood Feed / Наводнения ) . .........................................................................................5
Sniffing ...........................................................................................................................................7
IP Hijack..........................................................................................................................................7
IP Spoofing......................................................................................................................................8
Brute Force .....................................................................................................................................8
Back Orifice (Net Bus, Masters of Paradise и др.)............................................................................8
Dummy DNS Server.........................................................................................................................8
Dummy ARP Server.........................................................................................................................9
Fuzzy...............................................................................................................................................9
Hack................................................................................................................................................9
Host Spoofing .................................................................................................................................9
Puke................................................................................................................................................9
Port Scan. .......................................................................................................................................9
Syslog Spoofing.............................................................................................................................10
Spam.............................................................................................................................................10
Traffic Analysis (Sniffing)...............................................................................................................10
Trojan Horse. ................................................................................................................................10
Worms..........................................................................................................................................11
File Worms....................................................................................................................................11
Botnet...........................................................................................................................................11
Unreachable (dest_unreach, ICMP type 3). ...................................................................................12
UDP Storm....................................................................................................................................12
HRS (HTTP Resource Splitting )......................................................................................................12
Web Cache Poisoning....................................................................................................................12
Browser Cache Poisoning..............................................................................................................12
Malware .......................................................................................................................................13
Keyloggers и Screenloggers...........................................................................................................13
Pharming ......................................................................................................................................13
Man-in-the-Middle........................................................................................................................13
Man-in-the-Browser......................................................................................................................13
Spyware........................................................................................................................................14
Buffer Overflow ............................................................................................................................14
Heap Overflow..............................................................................................................................14
Stack Overflow..............................................................................................................................14
Integer Overflow...........................................................................................................................14
Cross Site Scripting (XSS)...............................................................................................................15
Мalicious file execution ................................................................................................................15
Session Hijacking...........................................................................................................................16
SQL Injection.................................................................................................................................16
Cross-site request forgery (CSRF) ..................................................................................................16
Hidden Fields Manipulation ..........................................................................................................16
Мерки за защита на уеб приложението.........................................................................................16
Защита на сървъра и мрежата ....................................................................................................17
Администрация на сайта.............................................................................................................18
Защита на кода на сайта .............................................................................................................21
Заключение.....................................................................................................................................23
Ползвана литература ......................................................................................................................24
Увод
Уеб приложенията са страхотни. Те са на разположение за ползване почти
навсякъде, по всяко време, практически на всяко устройство, което има уеб
браузър. Разработчикът качва приложението на Web сървъра и всички, които го
използват, имат достъп до последната версия.
Трябва обаче да сте наясно с рисковете, на които уеб приложенията могат да
бъдат изложени и как да се предпазите от тях. От момента, в който вашето уеб
приложение е качено в Интернет, дори неволно то става мишена. Колкото по-
голям и известен сайт притежавате, толкова повече хора с нечисти намерения
ще се опитат да придобият ресурсите, с които сайтът ви работи. Атаки се
реализират, както срещу устройството на потребителя (компютър, лаптоп,
таблет, мобилен телефон и др.), така и срещу мрежата и сървърите, на които е
хоствано приложението.
Видове атаки
Ще се опитам да направя формален анализ и класификация на някои от най-
разпространените атаки, и нещата, които можете да направите, за да запазите
сигурността на вашия сайт.
Phishing
Това е широко използван похват от компютърните престъпници за получаване
на важна информация, чрез съобщение или интернет сайт, които
"претендират", че са добронамерени, като ви приканват да въведете важна
лична информация.
При фишинга измамници разпращат електронна поща, която претендира, че
идва от почтена компания, и се опитва да убеди получателя да даде важна
лична или финансова информация. Електронното съобщение обикновено моли
да я изпратите в отговор или да я въведете на уебсайт, към който има връзка.
Тези данни, например потребителски имена, пароли и номера на кредитни
карти, после се използват от измамниците, за да се получат пари или услуги от
името на пострадалия.
Социално инженерство
Използва главно психологически методи, а именно естествената за човека
склонност да се доверява. (Дори за умели хакери много често е по-лесно да
пробият сигурността и да получат желаната информация, като просто вдигнат
телефона и попитат Иванка от счетоводството за паролата й, вместо да
използват техническите си умения.)
Вируси
Компютърните вируси представляват фрагмент от програмен код, който копира
себе си в някаква програма, като я модифицира, т.е. той е
саморазпространяващ се код. Вирусът не е самостоятелна програма. Той се
задейства, когато започва да се изпълнява така наречената програма-
приемник. Когато тя се стартира, вирусът се възпроизвежда и може да зарази и
други програми, с които взаимодейства дадената програма-приемник или до
които вирусът може да осъществи достъп. Вирусът може да съществува в така
нареченото латентно състояние, докато не се случи някакво специално събитие
или не възникнат необходимите условия, той да се разпространи или да
задейства специална разрушителна процедура, с която да повреди системата
приемник или напълно да я блокира.
DoS Атаки (Denial of Service attacks)
Клас атаки, водещи до отказ в обслужването. По време на такива атаки рязко
се повишава разходът на ресурси на процесора и намалява пропускателната
възможност на канала за свързване, което може да доведе до силно забавяне
на работата на цялата компютърна система, на отделни задачи или изобщо към
пълно спиране. Към DоS атаки се отнасят: Floods, ICMP Flooding, Identification
Flooding и др. Някои най-често използвани форми на DoS атаки са:
Flood (или Flood Feed / Наводнения ) .
- SYN Flood – изпращане на голям брой компютърни пакети тип SYN. Както е
известно, компютърът трябва да отговаря на такъв тип пакети SYN / ACK. Ако
те са твърде много, компютърът не разполага с време, за да отговори на всеки
и не може да получава пакети от други компютри;
- ICMP Flood и Ping Flood – наводнение с ICMP пакети;
- Identification Flood (Ident Flood). Подобно на ICMP Flood, но отговор на заявка
тип identd до порт 113 системата отнема повече време, което прави атаката по-
ефективна.
- DNS Flood - атаката е насочена към DNS сървъра. Състои се в изпращане на
голям брой DNS заявки, на които сървърът не разполага с време, за да
отговори. В резултат на което, остава временно недостъпен.
- DDoS – чрез заразяване на множество системи се осъществява разпределена
атака за отказ на услуга (DDoS) към даден сървър.
- Boink (Bonk, Teardrop) - състои се в изпращане на голям брой силно
фрагментирани пакети, като фрагментите са с голям размер. За всеки
фрагментиран пакет се заделя специален буфер, в който по-късно да се
поставят другите фрагменти, за да могат да бъдат сглобени. Огромния брой
големи фрагменти води до препълване на буфера и може да доведе до
внезапно аварийно спиране на сървъра или „Зависване“ .
- Pong – същото, като всеки от гореизброените видове, като единствената
разлика е, че адресът на подателя е подменен, което дава на атакуващия
известна анонимност;
- Smurf - смърф атаката е вид ICMP наводнение, което влияе на целия
доставчик на услуга или на целия мрежов сегмент. ICMP съобщенията се
изпращат от броудкаст адрес, което принуждава всички компютри от тази
подмрежа да отговорят. Когато даден ISP е „смърфиран", всички връзки биват
забавени и всички потребители в крайна сметка губят връзката. След като
получи достъп до мрежата, атакуващият изпраща броудкаст в мрежата,
използвайки като източник адрес в мрежата-цел. След това всички устройства в
увредената мрежа изпращат ICMP отговори до адреса-цел. Може да имате
стотици хостове, всеки от които изпраща хиляди битове ICMP ехо заявки в
мрежата-цел. Трафикът, генериран от този процес, може лесно да задръсти
връзките с ниска пропускателна способност, използвани във WAN връзките
между някои ISP и мрежи. Мрежата-цел се срива, а често пъти засегнатата
мрежа-посредник също страда от целия този трафик.
- Ping of Death - атака, която се възползва от ограниченията, налагани от
максималната единица за предаване (maximum transmission unit – MTU) на
мрежата. MTU единицата зависи от преносната среда и архитектурата на
мрежата. Ако бъде изпратен пакет, който надхвърля MTU, той трябва да бъде
разделен на по-малки парчета и след това да бъде сглобен отново в края
(местоназначението). IP пакетът, в който е капсулирана заявката за ICMP ехо, е
ограничен до 65535 октета (октетът представлява осем бита данни).
Компетентният хакер може да изпрати пакет, надхвърлящ броя на октетите,
които са разрешени в полето за данни на заявката за ехо. Когато компютърът-
местоназначение се опита да сглоби този пакет, той се срива.
- UDP Flood DNS - хакерите използват два варианта на тази атака на сървъра.
Първият се отнася до специфични имена в подмрежата. В този случай
атакуващият изпраща набор от заявки за домейна на жертвата към множество
DNS сървъри, което генерира сравнително висока активност и по този начин
може да се отрази на работата на атакувания сървър.
Същността на втория вариант на атаката - изпращане до жертвата на много
заявки за IP адреса на несъществуващ домейн. В този случай, отговорът на
DNS сървъра е много по-голям от обема на заявките, изпратени от един хакер,
което може да доведе до претоварване на канала за комуникация .
- HTTP Flood - Този вид атака е често срещано явление и се основава на
изпращане на максималния брой заявки за показване на документи, хоствани
на сървъра. В резултат на тази атака може да бъде спряно предоставянето на
услуги, свързани с HTTP клиенти и затруднен достъп до сайта.
Има два начина за осъществяване на такава атака. Първият е базиран на DDoS
/ Botnet, мрежа, а вторият - чрез прокси сървъри. Първият метод е по-
надежден и прост. Компютри, свързани в мрежа, изпращат искания за
конкретни документи, качени на HTTP сървър. При достатъчно мащабна атака
това може дори да доведе до пълно спиране на услугите. Вторият метод се
използва по-скоро като допълнение към друга атака. Тя се основава на
използването на множество от обществени прокси сървъри. Атаката се
осъществява в три стъпки. Първо, хакерът изпраща заявка към сървъра, за да
се покаже w3cache на сървъра за определена страница. Сървърите се
свързват, за да изтеглят необходимите документи и хакерът прекъсва връзките
си с тях. Този процес се повтаря до постигане на DoS.
- Land – изпраща се пакет до определен порт, като адресът на подателя е
подменен да сочи към този на атакувания сървър, а портът, от който е изпратен
пакетът е същия като порта на адресата. (Пример : Получател : 192.168.0.101,
порт 9006, Подател: 192.168.0.101 порт 9006). Атакуваният сървър се опитва да
установи връзка сам със себе си, което води до блокиране на системата.
Такава атака може да бъде до 100% ефективна и срещу някои рутери.
- Mail Bombing. Ако атакуваната машина има сървър за електронна поща, се
изпраща огромно количество електронна поща. От една страна, атаката
прилича на наводняване, но от друга страна, ако съобщенията съдържат
прикачени файлове с голям размер, последните трябва да бъдат сканирани от
антивирусната програма на сървъра. Тъй като тези съобщения се съхраняват
на твърдия диск на сървъра, те го запълват, което може да доведе до DoS.
Днес този тип атаки е по-скоро история, но в някои случаи все още могат да
бъдат използвани.
Sniffing
Снифинг се използва за събиране на системна информация. За целта
мрежовият адаптер се поставя в режим на прослушване на трафика, т.е.
мрежовият адаптер ще прихваща всички пакети, предавани по мрежата, а не
само тези които са адресирани до него. Прослушване от този тип работи добре
в мрежи с концентратори.
IP Hijack
Мрежите с общи среди са особено податливи на подслушване, защото този вид
мрежи предават пакети навсякъде по мрежата при пътуването им от източника
до крайната цел. Когато в някоя среда с обща медиа се използват
концентратори или хъбове, относително лесно е да се добави нов възел с
възможност за улавяне на пакети и след това да се подслушва трафика по
мрежата. Подслушването на пакети може да се засича в определени случаи, но
най-често остава незабелязано.
IP Spoofing
IP спуфингът (подправянето) включва промяна на хедърите на пакети на
изпращаните съобщения. Това ги кара да изглеждат така, сякаш идват от IP
адрес, различен от реалния адрес на първоизточника. Целият поток от данни
към и от даден компютър или мрежов сегмент може да бъде пренасочен да
минава през определен компютър – компютъра на атакуващия. Така потокът от
информация може да бъде преглеждан, претърсван и подправян.
Макар че спуфингът сам по себе си не е форма на атака, той представлява
метод за придобиване на неоторизиран достъп до компютър или мрежа за
започване на атака, за кражба на данни или за унищожаване на данни.
Brute Force
Атака, използвана от хакери в такива случаи, когато достъпът към система или
към информация е затворен с парола и няма слабо защитени места.
Подбиране чрез изреждане на всички комбинации от символи.
Осъществява се с просто подбиране на всички възможни или най-често чрез
речник, или напоследък „рейнбоу таблица“ на най-често срещаните пароли.
Back Orifice (Net Bus, Masters of Paradise и др.).
Програмно осигуряване, използвано за отдалечено администриране на
система. Подобни програми, след като се инсталират, обикновено заемат
някакъв порт, например 31337, и се намират в състояние на очакване на
съединение. Хакери сканират Интернет, търсейки инфектиран хост.
Ако се определи такъв, те могат да получат достатъчно пълен контрол над
системата.
Dummy DNS Server.
Внедряване в мрежа на несъществуващ DNS-сървър, прихващайки DNS-
запитване. Това позволява нататък напълно да се прихване и да се въздейства
на информация, циркулираща между “излъгания” хост и сървъра.
Необходимото условие за осъществяване на този вариант атака е прихващане
на DNS-запитване.
Dummy ARP Server.
Внедряване в мрежа чрез фалшив ARP(Address Resolution Protocol) отговор.
Изпраща се фалшив ARP(Address Resolution Protocol) - отговор, в който се
представя на търсения хост,(например, маршрутизатор), и нататък активно
контролира целия мрежов трафик на “излъганият” хост.
Fuzzy.
Пакетът IP съдържа поле определящо кой протокол на следващото ниво (TCP,
UDP, ICMP) използва данните от интернет. Хакерите могат да ползват
нестандартни значения на даденото поле за предаването на данни, които няма
да се фиксират със стандартни средства за контрол на информационни
протоци.
Hack.
Клас от атаки, използвани за изследване на операционните системи,
приложения или протоколи с цел анализ на получената информация за
присъствие на слаби места, например, Port Scan. Установяване на слабите
места може да бъде използвано от хакерите за несанкциониран достъп към
системата или за намиране на най-ефективната форма на DoS-атака.
Host Spoofing
Атака, основана върху протокола ICMP, една от функции на който е
информиране на хостовете за смяна на текущ маршрутизатор. Даденото
управляващо съобщение носи название redirect. Съществува възможност за
изпращането на фалшиво redirect съобщение от името на маршрутизатора.В
резултат на това атакувания сървър променя таблицата си за маршрутизация и
по-нататък целия мрежов трафик минава през източника на фалшивото redirect-
съобщение.
Puke.
Осъществява се изпращане на пакет ICPM unreachable error (непозната грешка
на отдалечена система) от хакер към атакувания хост, което извиква
отключване на хост от сървър (обикновено IRC).
Port Scan.
Сканиране на компютърна система за намиране на портове чрез опити за
тяхното отваряне. Тази атака разходва ресурси на системата. Обикновено тя се
използва за търсене на слаби места (дупки) в компютърна система и
предшества по мощна атака.
Syslog Spoofing.
Атака, която се състои в предаване към атакувания компютър на съобщение от
името на друг компютър във вътрешна мрежа. Тъй като протокола syslog се
използва за водене на системни журнали, чрез тези фалшиви съобщения може
да подмени информация или да скрие несанкциониран достъп до атакувания
компютър.
Spam.
Изпращане по електронна поща на съобщения от различен вид без съгласие на
получателя. Периодически повтарящия се спаминг може да наруши работа на
потребителите поради голямо натоварване на сървъра за електронна поща;
извиквайки препълване на пощенски кутии, което води до невъзможност за
получаване и изпращане на обикновени съобщения; увеличава времето за
намиране на получател “на линията”, а това са допълнителни разходи
Traffic Analysis (Sniffing).
Прослушване на канал. Практически всички мрежови карти поддържат
възможност за прехващане на пакети, предавани по общ канал на локална
мрежа. При това работещата станция може да приема пакети, адресирани на
други компютри от същия сегмент. Затова целия информационен обмен в
сегмента става достъпен за хакер, което може после да му помогне да се
подбере или да измисли други типове на атаки срещу нормални потребители.
За успешна реализация на тази атака компютъра на хакер трябва да се намира
в същия сегмент на мрежа както и атакувани компютър.
Trojan Horse.
Троянският кон представлява програма, която се представя като полезен
софтуер. За разлика от вирусите и червеите, троянските коне нямат собствен
механизъм за разпространение. Затова разчитат единствено на незнанието и
непредпазливостта на потребителите. Например, троянски коне могат да бъдат
добавени преднамерено в инсталационните пакети на полезен софтуер. По
този начин те биват разпространявани без знанието на потребителите. Друг
начин за разпространение на троянски коне е чрез електронната поща – като
прикачени файлове. Отваряйки файла, потребителите всъщност го инсталират,
заразявайки по този начин своята система.
Съществуват пет основни типа троянски коне:
1. Троянски кон, предоставящ отдалечена администрация – този тип
предоставя възможност на външно лице да получи повече привилегии в
заразената системата отколкото обикновените й потребители.
2. Файлов сървър – това е троянски кон, който предоставя достъп до
заразената система, като я превръща във файлов или FTP сървър. Те се
използват, за да се зареди в поразената система троянски кон за отдалечена
администрация. Троянските коне-файлови сървъри обикновено са много малки
програми (някои са по 8 килобайта). Това позволява те да бъдат
разпространявани заедно с игри или други програми.
3. Крадец на пароли – този тип троянски кон има една единствена цел – да
краде паролите на потребителите на заразената система и да ги изпраща
(обикновено по електронна поща) на своя създател.
4. Key logger - той записва всяка информация, която потребителят на
заразената система въвежда от клавиатурата и я съхранява във файл, който
впоследствие бива изпратен на неговия "собственик".
5. DDoS (Distributed denial of Service) – това е най-опасният тип троянски
кон. Чрез заразяване на множество системи с такива троянски коне се
осъществява разпределена атака за отказ на услуга (DDoS) към даден сървър
Worms
Компютърните червеи са разпространяваща се самостоятелно компютърна
програма, подобна на компютърните вируси. Докато вирусите се прикрепват
към други програми, червеите са независими и не изискват да бъдат част от
други програми, за да се разпространяват. Обикновено червеите се
разпространяват по компютърната мрежа и преминават от един компютър към
друг, като използват грешки или слабости на мрежовите протоколи. Обикновено
тези червеи заразяват само оперативната памет на системата приемник, като
не създават свое копие във вид на файл. Могат да повредят системата
приемник или напълно да я блокират. Освен мрежови червеи има и файлови
червеи.
File Worms
Файловите червеи копират себе си върху системата приемник под формата на
файлове, най-често с имена, които често се използват за инсталационни
пакети, така че инцидентно и неволно те могат да бъдат стартирани от някого.
Други червеи пък се добавят в архиви. Трети вмъкват инструкции за своето
извикване в пакетни файлове за обработка или скриптове. Файловите червеи
използват единствено възможностите “предоставени” им от файловата
система, за да се разпространяват. Могат да повредят системата приемник или
напълно да я блокират.
Botnet
Ботнетът e мрежа от софтуерни приложения или компютри, които работят в
автономен режим и имат за цел кражба на лични данни.
Unreachable (dest_unreach, ICMP type 3).
Тази атака състои във това, че на компютърна система се изпраща съобщение
ICMP type 3, което съобщава, че порт на получател е недостъпен. И поради
това, че системата си “мисли”, че пакетите не пристигат, тя ще прекъсне
връзката.
UDP Storm.
Обикновено по подразбиране системите поддържат работа на такива UDP-
портове както 7 (“echo”, получения пакет се изпраща назад), 19 (“Character
Generator Protocol (CHARGEN) ”, в отговор на получения пакет изпраща стринг)
и други данни. В даден случай хакер може да изпрати единствен UDP-пакет,
където в качество на изходен порт ще бъде отбелязан 7-ми, а в качество на
получател ще бъде 19-ти, а в качество на адрес на получател и на изпращач
ще се посочват, например, два компютъра от вашата мрежа (може и 127.0.0.1).
След получаване на пакет 19-ти порт отговаря със ред, който попада на порт 7.
Седми порт го дублира и го препраща на 19-ти и така до безкрайност.
Безкрайния цикъл намалява ресурсите на компютъра и добавя на канала
безсмислено натоварване. Разбира се че при първа загуба на UDP пакет
наводняването ще спре.
HRS (HTTP Resource Splitting )
Същността на атаката е , че нападателят изпраща специално подготвена HTTP
заявка, чрез която манипулира Web сървъра да отговори с два отделни HTTP
отговора, вторият от които е напълно контролиран от атакуващия. В резултат
на нападението се получава, важна информация, като например, бисквитката
на друг потребител.
Web Cache Poisoning
По принцип, прокси сървърите кешират страници , поискани от потребителите ,
така че когато се получи втора заявка за тази страница, тя се връща от кеша , а
не с искане към уеб сървъра. Същността на атаката е да се създаде фалшива
прокси кеш страница , която след това да бъде изпратена на потребителите на
мрежата .
Browser Cache Poisoning
Кеш има не само на прокси сървърите, но също така и в браузъра. В
действителност този метод е почти същото като Web Cache Poisoning, с
единствената разлика е, че фалшивата страница се съхранява в браузер кеша
на компютъра .
Malware
Зловреден софтуер, маскиран, като прикачен файл към имейл, като файл за
изтегляне от уеб сайт или интродуциран чрез използване на познати пропуски в
сигурността – особено, когато става въпрос за малки и средни предприятия
(малки и средни фирми), които не винаги са в състояние да поддържат
осъвременени своите софтуерни приложения. Терминът обхваща различни
видове софтуер, включително вируси, червеи, троянски коне и шпионски
софтуер.
Keyloggers и Screenloggers
Вид зловреден софтуер, следят въвежданата от клавиатурата информация и я
изпращат на хакери чрез интернет. Те могат да се вградят в браузърите на
потребителите като малки помощни програми, известни като помощни обекти,
които се изпълняват автоматично, когато браузърът се стартира, както и в
системните файлове, като драйвери на устройства или монитори.
Pharming
Представлява модифициране на hosts или Domain Name System (DNS)
файлове, така че въведените URL адреси или име на услугата да пренасочват
потребителя към фалшив сайт, обикновено копие на оригиналния сайт на
банката. Нищо неподозиращият потребител въвежда лична и финансова
информация, включително датата на раждане, парола, информация за
сметката, номера на кредитни карти, ПИН кодове и т.н, която става достъпна за
кибер престъпниците.
Man-in-the-Middle
При тази атака хакери се позиционират между потребителя и банковия уебсайт
или система. Те записват информацията, която се обменя, но продължават да я
предават, така че транзакциите на потребителите не са засегнати. По-късно те
продават или използват събраната информация или пълномощията, когато
потребителят не е активен в системата.
Man-in-the-Browser
Троянски кон, който заразява интернет браузъра, прихващайки и
модифицирайки изпратената информацията, преди тя да достигне до
механизма за сигурността на браузъра. Този вид атака позволява да промените
съдържанието на уеб-страница и операциите, извършвани в нея, така че
промените не могат да бъдат проследени нито от потребителя, нито от
програмата за контрол. Целият процес се извършва без никакви видими
признаци.
Spyware
Шпионският софтуер се използва за следене на дейността на потребителя на
компютъра и може да включва кийлогъри и скрийнлогъри, както и други червеи
и троянски коне.
Buffer Overflow
Буферът е временна област за съхранение на данни в паметта. Когато там се
поставят повече данни, отколкото е предвидено първоначално от даден
програмен и системен процес, допълнителните данни ще го препълнят,
откъдето произлиза и името, причинявайки част от данните да изтекат към
други буфери, което може да разруши данните, които те съдържат или да
запише върху тях. Хакерите използват буферното препълване, за да се
възползват от програма, която очаква въвеждане на данни от потребителя. Има
два типа буферно препълване – стек базирани и хип базирани.
Heap Overflow
Това е buffer overflow атака, но атакуваният буфер се намира в областта от
паметта, наречена Heap. Това е частта, която приложението динамично заделя
с една или друга цел. При общия случай,
Stack Overflow
Когато буферът се намира в стека на приложението и тогава атаката се нарича
Stack Overflow(в много случаи, просто buffer overflow). Стека и heap-а нарастват
и се свиват по време на изпълнението на програмата в противоположни посоки
Integer Overflow
Този тип атаки са базирани на възможността на различните целочислени
промеливи да приемат стойности само в определени интервали (например
signed 16-bit integer приема стойности от -32767 до 32767.). Така, ако
резултатът от определена аритметична операция изкара стойността извън тези
граници, стойността запазена в дадената променлива може да се окаже много
по-голяма или по-малка от очакваната от програмиста. На пръв поглед такава
грешка не изглежда особено опасна, но тъй като някои от променливите са
важни за логическия ход на програмата, могат да бъдат манипулирани
сравнения, да бъдат подавани нестандартни стойности на функции, които
програмата извиква (отрицателни например) и по този начин да се постигне
непредвиден от дизайна ход на приложението.
Cross Site Scripting (XSS)
Атака, която използва уязвимост на приложението и “вмъква“ нежелан код,
който се изпълнява в браузъра на крайния потребител. Най-общо казано
атаката цели да намери място в програмата, в което се отпечатва стойността
на дадена променлива и не се проверява коректно нейното съдържание.
Обикновено в съдържанието на променливата се записва HTML, XHTML,
JavaScript, ActiveX, VBScript, Flash, и др видове изпълним код. Възможностите
за цел на атаката може да са много – придобиване на достъп до защитена зона
на сайта (чрез постигане на session hijacking), подвеждане на потребителя да
въведе информация към трети източник (physhing), инсталиране на нежелани
програми на компютъра на потребителя (virus, worm, trojan, …), и др. Според
изследване на Symantec около 80% от проблемите в сигурността на уеб-
базираните приложения са свързани именно с XSS уязвимости. Също така се
прави статистическо предположение, че поне 70% от динамичните уеб-сайтове
в световната мрежа притежават такава уязвимост. Обикновено крайния
потребител не може да намери визуален белег, по който да разкрие атаката.
XSS атаките са най-общо три вида:
1. Директни: Атакуващият предоставя връзка или друг вид „маскиран“ код към
клиента. Когато клиента последва такава връзка той попада на оригиналният
уебсайт на дадената услуга, но вече с модифициран от атакуващия код.
Възможно е и възползването от уязвимост на софтуера, с който жертвата
преглежда подаденото му съобщение, с цел атакуващия да добие достъп до
неговата административна част. Директните атаки се реализират най-често
чрез изпращане на писма по електронната поща към жертвата или чрез
съобщения в различни чат приложения.
2. Статични: Атакуващият успява да вмъкне нежелания код в база данни и само
изчаква жертвата сама да отвори уязвимата страница. Това са най-честите
атаки при т.нар. социални мрежи – форуми, сайтове, дискусионни групи, и т.н.
3. DOM: Това са XSS атаки от т.нар. локално ниво. Обикновено се използва
уязвимост в скрипт на продукта, чрез който самият софтуер да предизвика
директна XSS атака към жертвата.
Мalicious file execution
Тази уязвимост се появява в много уеб приложения. Главно в такива
приложения, в които позволяват URL параметри на имената на файловете , за
да се включат, като URL адреси или препратки към файловата система. В тези
случаи може да се подадат от „нападателя“ различни файлове, които да се
изпълнят на сървъра и да удовлетворят целите на „нападателя“ - да му
предоставят желаната от него информация или да повредят информация.
Изпълнение на злонамерени файлове може да се наблюдава и когато
потребители се опитват да качат файл в даден сайт, чрез форма закачване на
файлове. Потребителите могат да се опитат да качат техен скрипт и по този
начин да осъществят злонамерените си действия.
Session Hijacking - отвличането на сесия е атака, при която се следят
действията на потребителя, докато не се свърже със сметката си или започне
транзакция, получавайки потвърждение за право на достъп. В този момент,
чрез съответния софтуер хакерите поемат контрол над сесията и могат да
предприемат всякакви неоторизирани действия, като например прехвърляне на
средства, без знанието на потребителя.
SQL Injection
SQL инжекциите са начин за променяне на заявката към дадена база данни -
MySQL, MSSQL или друга. Основната цел е да се извлече неоторизирана
информация от базата данни или в по-редки случаи да се увреди
информацията. Нападателите получават достъп до уеб приложенията, като
добавят Structured Query Language (SQL) код към кутийка на уеб форма за
въвеждане под формата на SQL заявка, което е искане към базата данни да
изпълни специфично действие. Обикновено по време на потребителското
удостоверяване се въвеждат потребителско име и парола и се включват в
запитване. След това на потребителя или му се предоставя, или му се отказва
достъп в зависимост дали е дал правилни данни. Уеб форумите обикновено
нямат никакви инструменти за блокиране на въвеждане освен потребителското
име и паролата, което означава, че хакерите могат да изпълнят атака с SQL
инжекция, като използват входните полета, за да изпратят заявка към базата
данни, която е много вероятно да им предостави достъп.
Cross-site request forgery (CSRF)
Това е атака, чиито трик е да накара жертвата да зареди страница, която
съдържа зловреден код. Този зловреден код наследява идентичност и
привилегиите на жертвата за извършване на нежелани действия от името на
жертвата, като променяне на е-мейл адрес на жертвата, домашен адрес или
парола, или извършването на покупка,превод на пари и други.
Hidden Fields Manipulation
Скритите полета се използват от уеб страниците за предаване на
допълнителна информация.Те могат лесно да бъдат видени и техните
стойности променени, променяйки тотално ефекта от обработка на формуляра.
Мерки за защита на уеб приложението
И така, как можем да защитим уеб приложението от всичко тези заплахи?
Защита на сървъра и мрежата
1 Заплахите за сигурността непрекъснато се развиват и вашата архитектура на
сигурността трябва също да се развива. Най-добрият начин е да правите
оценка на вашите нужди от сигурност на регулярни интервали.
2 Използвайте реверсивно прокси (например Microsoft ForeFront Treat
Management Gateway). Реверсивното прокси стои между интернет и сървъра,
който изисква отварянето на много портове. Въпреки че няма как да се
заобиколи нуждата от отварянето на портове, реверсивното прокси може да
пресрещне и да филтрира заявките и след това да ги подаде на сървъра, за
който са предназначени. Това помага да се скрие сървъра от външния свят и
помага да се гарантира, че до сървъра няма да достигат злонамерени заявки.
3 Не винаги е практично да се отдели един сървър за всяко приложение, но
най-малкото трябва да внимаваме кои приложения или приложни роли се
хостват на един сървър. Например, ако разположите ролята на сървър за
клиентски достъп на същия сървър, на който са ролите на транспортен хъб и
пощенски сървър, вие в значителна степен показвате вашата пощенска база
данни към интернет.
4 Най-голямата отделна заплаха за мрежовата сигурност са работните станции.
Много организации правят много за защитата на своите мрежови сървъри, но
на практика пренебрегват работните станции. Докато работните станции не
бъдат заключени както трябва, потребителите (или злонамерените уеб сайтове)
могат да инсталират неоторизиран софтуер с невъобръзими последици.
5 Добре е всяка страница, която дава информация за сигурност, съвет за
сигурност или за контакти да бъде SSL криптирана. Това не означава, че тези
страници са особено чувствителни, а просто, че сертификатът, използван от
процеса на криптиране, гарантира на потребителите, че те получават достъп до
легитимна уеб страница, а не до страница, която някой е поставил примерно
като фишинг скам.
6 Използвайте самоподписани сертификати. По този начин уеб интерфейсите
могат да се използват с SSL криптиране, дори ако организацията все още не е
получила свой собствен сертификат. Въпреки че саморъчните сертификати са
по добре от нищо, те не са заместител на валиден SSL сертификат от доверена
сертифицираща организация. Самоподписаните сертификати първоначално са
предназначени като помощ да се увеличи сигурността на продукта до момента,
в който администраторът не го обезопаси както трябва. Саморъчните SSL
сертификати могат да предоставят SSL криптиране, но потребителите ще
получават предупредително съобщение в браузърите си, защото техните
компютри нямат доверие в сертификата (а и не би трябвало да имат). Още
повече някой SSL базирани уеб услуги (като ActiveSync) не са съвместими със
самоподписаните сертификати, поради проблема с доверието.
7 Въпреки че е важно да се регистрират събитията, които се случват във
мрежата, също е важно да не се престаравате и да извършвате прекалени
регистрации. Прекалено многото регистрации могат да направят трудно и дори
невъзможно да определите мястото н събитие в сигурността, което наистина ви
интересува. Вместо да се опитвате да записвате всичко, се фокусирайте върху
регистрирането на събития, които са от значение.
8 Виртуалните сървъри обикновено се групират на хост сървъри според
тяхната производителност. Например, виртуални сървъри с висока степен на
обръщения може да се съчетаят на един хост с няколко виртуални сървъра с
ниска степен на обръщения. От гледна точка на производителността, това е
много добра идея, но този подход може да не е най-добрата идея от гледна
точка на сигурността. Препоръчително е да се използват специално
предназначени за целта хостове за всички виртуални сървъри, които са
директно свързани към интернет. С други думи, ако имате три виртуални
сървъра, които доставят услуги на интернет потребители, вие трябва да
помислите за групирането им на хост, но не слагайте инфраструктурни сървъри
(като домейн контролери) на този хост.
Причината за този съвет е, че така се осигурява защита срещу изплъзващи се
атаки. Изплъзващата се атака е тази, при която хакерът може да се изплъзне от
виртуалната машина и да поеме контрол върху хоста. В реалния свят това не
се е случвало, но може би и този ден ще дойде. Когато това се случи, вие ще
имате по-добра защита за атаката, ако виртуалните машини, които са обърнати
към интернет, споделят виртуален хост само с подобно защитени уеб
ориентирани сървъри.
9 Ако можете да го избегнете, опитайте се да не слагате частни сървъри в
демилитаризираната зона (DMZ). Ако бъдат компрометирани, те могат да
разкрият информация за вашата Active Directory / LDAP.
10 Използвайте решения за управление и инсталиране на патчове и ъпдейти,
които ги поставят автоматично, без да дават избор на потребителите.
Администрация на сайта
1 Ограничаване на достъпа
Вземете съответните мерки, с които да ограничите възможните входни точки за
злонамерени лица.
2 Ограничения
Вашият сайт трябва да бъде конфигуриран така, че да се намали размерът на
щетите, които може да се получат в случай, че бъде компрометиран.
3 Уязвимости на вашия компютър
Уверете се, че компютрите, които използвате, нямат шпионски и/или
злонамерен софтуер и вирусни. Не съществува ниво на сигурност, което да
защити или гарантира вашият сайт или вашия уеб сървър, в случай, че имате
Keylogger на вашия компютър.
Винаги поддържайте вашата операционна система и инсталиран софтуер
актуализирани, особено вашия уеб браузър, за да се предпазите от уязвимости
в сигурността.
4 Уязвимости в мрежата
Мрежата трябва да е сигурна и в двата си края -- от страна на сървъра и от
страна на клиента . Това означава да се актуализират настройките на
защитната стена на домашната ви интернет връзка и да сте внимателни от
какви мрежи се работите. Интернет кафе в което изпращате пароли, чрез
некриптирана връзка, или безжична такава НЕ са сигурни мрежи.
Вашият уеб хостинг доставчик, както и вие самите трябва да се уверите, че
неговите мрежи на са компрометирани от злонамерени лица. Уязвимости в
мрежата биха позволили да бъдат прехванати пароли и друга лична
информация.
5 Пароли
Много потенциални уязвимости могат да бъдат избегнати с добри навици за
сигурността. Изборът на сложна парола е важен аспект от тях.
Важно за една парола е да е трудна за отгатване и за brute force атаки. Има
много автоматични генератори на пароли, които могат да бъдат използвани за
генериране на сигурни пароли
Какво да избягвате при избора на парола:
Всякакви пермутации от вашето истинско име, потребителско име, фирма или
уебсайт
Речникова дума от който и да е език
Къса парола
Парола,съставена само от цифри или букви (най-добре комбинация от двете).
Сигурната парола е необходима не само за да защитите съдържанието на своя
сайт. Ако хакер получи достъп до администраторския ви акаунт може да
инсталира всякакви скриптове, които да изложат на риск цялата ви система.
6 FTP
Когато се свързвате със сървъра си е желателно да използвате SFTP
криптиране, ако доставчикът ви предлага такова. Ако не знаете дали вашият
хостинг провайдър предлага тази услуга, просто го попитайте.
Използването на SFTP е същото като FTP, с изключение на това, че паролата и
други данни, които се предават между вас и сървъра са в кодиран вид. Това
означава, че вашата парола никога няма да бъде изпратена в прав текст, което
прави невъзможно прихващането и от хакер.
7 Файлови права
Даване на достъп за запис на файловете е потенциално опасно, особено на
споделен хостинг.
Най-добре е да ограничите файловите права колкото се може повече и да
премахвате това ограничение, когато се налага тези файлове да се променят
или да създадете специфични папки с права за запис за строго определени
цели, като например качване на файлове.
Разширения: Всички файлове трябва да са достъпни за запис само от вашия
потребителски профил.
8 Сигурност на базата данни
Мъдро е, ако имате инсталирани няколко сайта на същата система, да ги
държите в отделни бази данни, управлявани от различни потребители. Това е
стратегия за забавяне: Ако нарушител успешно хакне един от сайтовете ви, ще
му е много по-трудно да засегне останалите инсталации.
Ако вие самите администрирате MySQL, уверете се, че разбирате
конфигурацията му и че излишни функции (като отдалечен TCP достъп) са
забранени.
9 Резервни копия
Правете резервни копия на сайта редовно, включвайки и вашата база данни.
Целостта на данните е от изключително значение за надеждни резервни копия.
Криптиране на резервните копия,пазене на MD5 ключ за всеки файл и/или
записването им върху носител само за четене значително увеличават
гаранцията, че данните не са манипулирани.
Една надеждна стратегия за резервни копия трябва да включва редовни копия
на целия сайт (включително и базата данни) на сигурно място. Представете
си,че правите копия един път седмично. Тази стратегия означава, че ако сайтът
ви е компрометиран на 1-ви май, но това не е засечено до 12-ти май,
собственикът на сайта ще има резервни копия, които ще са от преди 1-ви, които
ще помогнат да върнете сайта до нормалното му функциониране, дори
резервните копия след заразяването могат да допринесат за това да се
установи как сайтът е бил компрометиран.
10 Логване
Можете да логвате различните заявки, изпращани към вашия. Стандартните
логове на Apache предлагат голяма помощ когато става въпрос за разследване
на проблеми със сигурността.
11 Наблюдение
Понякога предпазването не е достатъчно и е възможно да бъдете хакнат.
Затова мониторинга и откриването на прониквания са много важни. Те ще ви
позволят да реагирате по-бързо, да разберете какво се е случило и да
възстановите сайта си.
12 Мониторинг на логовете
Ако сте на частен сървър (където имате администраторски достъп), трябва да
следите вашите логове за опити за налучкване на паролите, уеб атаки и т.н.
Добро решение с отворен код за наблюдаване на логовете в реално време и
блокиране на атакуващия е OSSEC.
13 Следене на файловете за промени
Когато се осъществи атака,тя винаги оставя следи. Както в логовете, така и на
файловата система (създадени нови файлове или модифицирани
съществуващи такива).
14 Външно наблюдение на уеб сървъра
Ако хакер опит да заличи сайта ви или да добави зловреден софтуер, може да
забележите промените, използвайки уеб базирано мониторинг решение.
Защита на кода на сайта
Общи проблеми в web приложенията
1. Невалидирани параметри
2. Грешки при контрола на достъпа
3. Грешки при контрола на сесиите и акаунтите
4. Cross-Site Scripting (XSS) уязвимости
5. Препълване на буфера
6. Злонамерено вмъкване на команди
7. Проблеми при обработка на грешки
8. Несигурно ползване на криптография
9. Грешки при отдалечено администриране
10. Грешки при конфигурация на web сървъра
Препоръки:
1. Не показвайте директно данни, идващи от потребителите. Филтрирайте и
валидирайте или нормализирайте показваните данни
2. Изисквайте парола за извършване на важни действия.
3. Използвайте POST вместо GET, където е възможно.
4. Проверявайте Referrer на важните форми.
5. Подсигурете формите, чрез уникални данни в тях
6. Никога не ползвайте в SQL заявка данни, които не са предварително
филтрирани и валидирани или нормализирани.
7. Използвайте Prepared queries.
8. Ограничавайте правата на потребителя, който ползвате за достъп до базата
9. При извикване на външни команди не ползвайте параметри, контролирани от
потребителя, филтрирайте командите и параметрите.
10. Винаги инициализирайте променливите, които създавате.
11. Валидирайте разширенията на качваните от потребителите файлове и ги
съхранявате в отделна, обезопасена директория.
12. Филтриране на изходящите връзки от сървъра. Не използвайте функции от
тип include с данни контролирани от потребителя.
13. За код използвайте самo регистрираните файлови разширения.
14. Не пишете код, който разчита на включен register_globals при PHP.
15. Библиотеките се слагат извън web дървото или в недостъпна директория.
Дефинирайте константи и ги проверявайте, за да сте сигурни, че файлът е
извикан откъдето трябва
16. Всеки host трябва да работи под различен потребител
17. Ползване на частна директория за сесиите на потребителя
18. Пазете потребителските сесии в базата данни
19. Пишете проверки, които не могат да бъдат избегнати
20. Валидирайте всички данни, идващи от външен източник (потребители, db,
файлове и т.н.)
21. Инициализирайте променливите си
22. Пишете код, който работи без грешки при error_reporting = E_ALL (за apache)
23. Разработвайте и тествайте в среда точно копие на средата в която ще
работи сайта.
24. Внимавайте когато давате достъп до данни, предоставени от потребителя
25. Не съхранявайте конфиденциални данни на публично достъпни места
26. Ако нямате възможност да забраните разглеждането на дадена директория,
направете файл index.php, index.aspx, index.htm и др. или .htaccess, който да
пренасочи заявката към началната страница.
27. На работещ сайт записвайте грешките, но не ги показвайте на гледащия
страницата
28. Всеки сайт трябва да работи с различен потребител (админ) и парола
29. Всеки потребител трябва да вижда само собствените си файлове
30. Логвайте всички грешки и проверявайте редовно лог файловете
И един бонус съвет към по-опитните програмисти, не оставяйте люкове и задни
врати към приложенията, те могат да попаднат в ръцете на тези, за които не са
предвидени.
Заключение
В заключение е важно да се спомене, че вместо да фокусирате вниманието си
върху определен вид защита, по-добре е да се насочат усилията към цялостно
решение за сигурност, което напълно да защити данните и ресурсите на
вашето приложение. Това решение трябва да включва автентикация и
авторизация, солидна защита на данните и сигурност на периметъра на
мрежата.
Ползвана литература
1. Linux ръководство на мрежовия администратор - Кирх Олаф; Доусън Тери;
2. Linux Мрежови сървъри - Хънт Крейг;
3. Проектиране на мрежова сигурност – Мерике Каео
4. Компютърни Мрежи – Дебра Литълджон Шиндър
5. Източници и публикации от интернет.
http://www.citforum.ru/security/internet/attack_book/toc.shtml
http://www.citforum.ru/operating_systems/linux/iptables/index.shtml
http://kiev-security.org.ua/box/15/index.shtml

More Related Content

What's hot

OWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference GuideOWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference GuideLudovic Petit
 
Cross site scripting attacks and defenses
Cross site scripting attacks and defensesCross site scripting attacks and defenses
Cross site scripting attacks and defensesMohammed A. Imran
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application SecurityAbdul Wahid
 
Phishing--The Entire Story of a Dark World
Phishing--The Entire Story of a Dark WorldPhishing--The Entire Story of a Dark World
Phishing--The Entire Story of a Dark WorldAvishek Datta
 
MODULO 27 –> Dai virus al malware
MODULO 27 –> Dai virus al malwareMODULO 27 –> Dai virus al malware
MODULO 27 –> Dai virus al malwareFrancesco Ciclosi
 
Α-5_Λογισμικό_Ανάθεση εργασίας
Α-5_Λογισμικό_Ανάθεση εργασίαςΑ-5_Λογισμικό_Ανάθεση εργασίας
Α-5_Λογισμικό_Ανάθεση εργασίαςElenaX
 
Hack wifi password using kali linux
Hack wifi password using kali linuxHack wifi password using kali linux
Hack wifi password using kali linuxHelder Oliveira
 
Hacking With Nmap - Scanning Techniques
Hacking With Nmap - Scanning TechniquesHacking With Nmap - Scanning Techniques
Hacking With Nmap - Scanning Techniquesamiable_indian
 
Web sockets - Pentesting
Web sockets - Pentesting Web sockets - Pentesting
Web sockets - Pentesting Vandana Verma
 
Tim hieu ve lo hong web va cach phong chong
Tim hieu ve lo hong web va cach phong chongTim hieu ve lo hong web va cach phong chong
Tim hieu ve lo hong web va cach phong chongVu Trung Kien
 
Analysis of web application penetration testing
Analysis of web application penetration testingAnalysis of web application penetration testing
Analysis of web application penetration testingEngr Md Yusuf Miah
 
Security Awareness And Hacking
Security Awareness And HackingSecurity Awareness And Hacking
Security Awareness And Hackingritik shukla
 
SANS Threat Hunting Summit 2018 - Hunting Lateral Movement with Windows Event...
SANS Threat Hunting Summit 2018 - Hunting Lateral Movement with Windows Event...SANS Threat Hunting Summit 2018 - Hunting Lateral Movement with Windows Event...
SANS Threat Hunting Summit 2018 - Hunting Lateral Movement with Windows Event...Mauricio Velazco
 
How to Prepare for the CISSP Exam
How to Prepare for the CISSP ExamHow to Prepare for the CISSP Exam
How to Prepare for the CISSP Examkoidis
 
комп'ютерні злочини
комп'ютерні злочиникомп'ютерні злочини
комп'ютерні злочиниHelen2015
 
How to Create (use use) Strong & Unique Passwords
How to Create (use use) Strong & Unique PasswordsHow to Create (use use) Strong & Unique Passwords
How to Create (use use) Strong & Unique PasswordsConnectSafely
 
σχεδιο μαθηματοσ φυλλο εργασιασ ηλεκτρονικο ταχυδρομειο
σχεδιο μαθηματοσ φυλλο εργασιασ ηλεκτρονικο  ταχυδρομειοσχεδιο μαθηματοσ φυλλο εργασιασ ηλεκτρονικο  ταχυδρομειο
σχεδιο μαθηματοσ φυλλο εργασιασ ηλεκτρονικο ταχυδρομειοthanslide
 

What's hot (20)

OWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference GuideOWASP Secure Coding Practices - Quick Reference Guide
OWASP Secure Coding Practices - Quick Reference Guide
 
Cross site scripting attacks and defenses
Cross site scripting attacks and defensesCross site scripting attacks and defenses
Cross site scripting attacks and defenses
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application Security
 
Phishing--The Entire Story of a Dark World
Phishing--The Entire Story of a Dark WorldPhishing--The Entire Story of a Dark World
Phishing--The Entire Story of a Dark World
 
SOS у морі Інтернету
SOS у морі ІнтернетуSOS у морі Інтернету
SOS у морі Інтернету
 
MODULO 27 –> Dai virus al malware
MODULO 27 –> Dai virus al malwareMODULO 27 –> Dai virus al malware
MODULO 27 –> Dai virus al malware
 
Α-5_Λογισμικό_Ανάθεση εργασίας
Α-5_Λογισμικό_Ανάθεση εργασίαςΑ-5_Λογισμικό_Ανάθεση εργασίας
Α-5_Λογισμικό_Ανάθεση εργασίας
 
Hack wifi password using kali linux
Hack wifi password using kali linuxHack wifi password using kali linux
Hack wifi password using kali linux
 
Hacking With Nmap - Scanning Techniques
Hacking With Nmap - Scanning TechniquesHacking With Nmap - Scanning Techniques
Hacking With Nmap - Scanning Techniques
 
Ethical hacking
Ethical hackingEthical hacking
Ethical hacking
 
Web security
Web securityWeb security
Web security
 
Web sockets - Pentesting
Web sockets - Pentesting Web sockets - Pentesting
Web sockets - Pentesting
 
Tim hieu ve lo hong web va cach phong chong
Tim hieu ve lo hong web va cach phong chongTim hieu ve lo hong web va cach phong chong
Tim hieu ve lo hong web va cach phong chong
 
Analysis of web application penetration testing
Analysis of web application penetration testingAnalysis of web application penetration testing
Analysis of web application penetration testing
 
Security Awareness And Hacking
Security Awareness And HackingSecurity Awareness And Hacking
Security Awareness And Hacking
 
SANS Threat Hunting Summit 2018 - Hunting Lateral Movement with Windows Event...
SANS Threat Hunting Summit 2018 - Hunting Lateral Movement with Windows Event...SANS Threat Hunting Summit 2018 - Hunting Lateral Movement with Windows Event...
SANS Threat Hunting Summit 2018 - Hunting Lateral Movement with Windows Event...
 
How to Prepare for the CISSP Exam
How to Prepare for the CISSP ExamHow to Prepare for the CISSP Exam
How to Prepare for the CISSP Exam
 
комп'ютерні злочини
комп'ютерні злочиникомп'ютерні злочини
комп'ютерні злочини
 
How to Create (use use) Strong & Unique Passwords
How to Create (use use) Strong & Unique PasswordsHow to Create (use use) Strong & Unique Passwords
How to Create (use use) Strong & Unique Passwords
 
σχεδιο μαθηματοσ φυλλο εργασιασ ηλεκτρονικο ταχυδρομειο
σχεδιο μαθηματοσ φυλλο εργασιασ ηλεκτρονικο  ταχυδρομειοσχεδιο μαθηματοσ φυλλο εργασιασ ηλεκτρονικο  ταχυδρομειο
σχεδιο μαθηματοσ φυλλο εργασιασ ηλεκτρονικο ταχυδρομειο
 

Similar to Безопасност и защита на Web приложения

Cyberreferat2006
Cyberreferat2006Cyberreferat2006
Cyberreferat2006fermaxx
 
Pavel Kolev - klasifikaciq na zlonamerenite deistviq na potrebitelite
Pavel Kolev - klasifikaciq na zlonamerenite deistviq na potrebitelitePavel Kolev - klasifikaciq na zlonamerenite deistviq na potrebitelite
Pavel Kolev - klasifikaciq na zlonamerenite deistviq na potrebitelitePavel Kolev
 
Phishing 11809-2014-signed
Phishing 11809-2014-signedPhishing 11809-2014-signed
Phishing 11809-2014-signedRositsa Hristova
 
Какво е Phishing? Защита от Phishing
Какво е Phishing? Защита от PhishingКакво е Phishing? Защита от Phishing
Какво е Phishing? Защита от Phishingnicksony86
 
ф.№. 11509 окончателен
ф.№. 11509 окончателенф.№. 11509 окончателен
ф.№. 11509 окончателенdilqna11509
 
Protection and safety
Protection and safetyProtection and safety
Protection and safetyDimitr Vankov
 
безопастност и защита на социални мрежи савова
безопастност и защита на социални мрежи   савовабезопастност и защита на социални мрежи   савова
безопастност и защита на социални мрежи савоваYuliyana Savova
 
курсова 91582
курсова 91582курсова 91582
курсова 91582ailiev
 
Fn11791 svetoslavvasilev signed
Fn11791 svetoslavvasilev signedFn11791 svetoslavvasilev signed
Fn11791 svetoslavvasilev signednameee9
 
Spam определение, класификация и защита от spam
Spam   определение, класификация и защита от spamSpam   определение, класификация и защита от spam
Spam определение, класификация и защита от spamcshtereva
 
Black Hat: Какво ново в арсенала от инструменти за хакерски атаки
Black Hat: Какво ново в арсенала от инструменти за хакерски атакиBlack Hat: Какво ново в арсенала от инструменти за хакерски атаки
Black Hat: Какво ново в арсенала от инструменти за хакерски атакиKamelia Panteleeva
 
Модул 5: БЕЗОПАСНОСТ
Модул 5: БЕЗОПАСНОСТМодул 5: БЕЗОПАСНОСТ
Модул 5: БЕЗОПАСНОСТKarel Van Isacker
 
OpenID - Реферат
OpenID - РефератOpenID - Реферат
OpenID - РефератMarin Atanasov
 
Fn11791 svetoslavvasilev presentation.pptx
Fn11791 svetoslavvasilev presentation.pptxFn11791 svetoslavvasilev presentation.pptx
Fn11791 svetoslavvasilev presentation.pptxnameee9
 

Similar to Безопасност и защита на Web приложения (20)

Referat 10441
Referat 10441Referat 10441
Referat 10441
 
Cyberreferat2006
Cyberreferat2006Cyberreferat2006
Cyberreferat2006
 
Pavel Kolev - klasifikaciq na zlonamerenite deistviq na potrebitelite
Pavel Kolev - klasifikaciq na zlonamerenite deistviq na potrebitelitePavel Kolev - klasifikaciq na zlonamerenite deistviq na potrebitelite
Pavel Kolev - klasifikaciq na zlonamerenite deistviq na potrebitelite
 
Phishing 11809-2014-signed
Phishing 11809-2014-signedPhishing 11809-2014-signed
Phishing 11809-2014-signed
 
Какво е Phishing? Защита от Phishing
Какво е Phishing? Защита от PhishingКакво е Phishing? Защита от Phishing
Какво е Phishing? Защита от Phishing
 
ф.№. 11509 окончателен
ф.№. 11509 окончателенф.№. 11509 окончателен
ф.№. 11509 окончателен
 
Protection and safety
Protection and safetyProtection and safety
Protection and safety
 
безопастност и защита на социални мрежи савова
безопастност и защита на социални мрежи   савовабезопастност и защита на социални мрежи   савова
безопастност и защита на социални мрежи савова
 
Inf 11509 11827
Inf 11509 11827Inf 11509 11827
Inf 11509 11827
 
курсова 91582
курсова 91582курсова 91582
курсова 91582
 
Fn11791 svetoslavvasilev signed
Fn11791 svetoslavvasilev signedFn11791 svetoslavvasilev signed
Fn11791 svetoslavvasilev signed
 
Spam определение, класификация и защита от spam
Spam   определение, класификация и защита от spamSpam   определение, класификация и защита от spam
Spam определение, класификация и защита от spam
 
Black Hat: Какво ново в арсенала от инструменти за хакерски атаки
Black Hat: Какво ново в арсенала от инструменти за хакерски атакиBlack Hat: Какво ново в арсенала от инструменти за хакерски атаки
Black Hat: Какво ново в арсенала от инструменти за хакерски атаки
 
Phishing referat
Phishing referatPhishing referat
Phishing referat
 
Phishing
PhishingPhishing
Phishing
 
Модул 5: БЕЗОПАСНОСТ
Модул 5: БЕЗОПАСНОСТМодул 5: БЕЗОПАСНОСТ
Модул 5: БЕЗОПАСНОСТ
 
OpenID - Реферат
OpenID - РефератOpenID - Реферат
OpenID - Реферат
 
Radoslav
RadoslavRadoslav
Radoslav
 
Fn11791 svetoslavvasilev presentation.pptx
Fn11791 svetoslavvasilev presentation.pptxFn11791 svetoslavvasilev presentation.pptx
Fn11791 svetoslavvasilev presentation.pptx
 
История на хакерството и на хакерите
История на хакерството и на хакеритеИстория на хакерството и на хакерите
История на хакерството и на хакерите
 

Безопасност и защита на Web приложения

  • 1. по БЕЗОПАСHОСТ И ЗАЩИТА HА Microsoft МРЕЖИ И ПРИЛОЖЕHИЯ На тема: БЕЗОПАСНОСТ И ЗАЩИТА НА WEB ПРИЛОЖЕНИЯ Варна 2014г. Изготвил: Димитър Николов, VI курс Проверил: доц. д-р Стефан Дражев Специалност: ПИНФ – ДОВО, 9гр. ас. Радка Начева Фак. № 400295
  • 2. Съдържание Увод...................................................................................................................................................4 Видове атаки.....................................................................................................................................4 Phishing..........................................................................................................................................4 Социално инженерство.................................................................................................................4 Вируси............................................................................................................................................5 DoS Атаки (Denial of Service attacks)..............................................................................................5 Flood (или Flood Feed / Наводнения ) . .........................................................................................5 Sniffing ...........................................................................................................................................7 IP Hijack..........................................................................................................................................7 IP Spoofing......................................................................................................................................8 Brute Force .....................................................................................................................................8 Back Orifice (Net Bus, Masters of Paradise и др.)............................................................................8 Dummy DNS Server.........................................................................................................................8 Dummy ARP Server.........................................................................................................................9 Fuzzy...............................................................................................................................................9 Hack................................................................................................................................................9 Host Spoofing .................................................................................................................................9 Puke................................................................................................................................................9 Port Scan. .......................................................................................................................................9 Syslog Spoofing.............................................................................................................................10 Spam.............................................................................................................................................10 Traffic Analysis (Sniffing)...............................................................................................................10 Trojan Horse. ................................................................................................................................10 Worms..........................................................................................................................................11 File Worms....................................................................................................................................11 Botnet...........................................................................................................................................11 Unreachable (dest_unreach, ICMP type 3). ...................................................................................12 UDP Storm....................................................................................................................................12
  • 3. HRS (HTTP Resource Splitting )......................................................................................................12 Web Cache Poisoning....................................................................................................................12 Browser Cache Poisoning..............................................................................................................12 Malware .......................................................................................................................................13 Keyloggers и Screenloggers...........................................................................................................13 Pharming ......................................................................................................................................13 Man-in-the-Middle........................................................................................................................13 Man-in-the-Browser......................................................................................................................13 Spyware........................................................................................................................................14 Buffer Overflow ............................................................................................................................14 Heap Overflow..............................................................................................................................14 Stack Overflow..............................................................................................................................14 Integer Overflow...........................................................................................................................14 Cross Site Scripting (XSS)...............................................................................................................15 Мalicious file execution ................................................................................................................15 Session Hijacking...........................................................................................................................16 SQL Injection.................................................................................................................................16 Cross-site request forgery (CSRF) ..................................................................................................16 Hidden Fields Manipulation ..........................................................................................................16 Мерки за защита на уеб приложението.........................................................................................16 Защита на сървъра и мрежата ....................................................................................................17 Администрация на сайта.............................................................................................................18 Защита на кода на сайта .............................................................................................................21 Заключение.....................................................................................................................................23 Ползвана литература ......................................................................................................................24
  • 4. Увод Уеб приложенията са страхотни. Те са на разположение за ползване почти навсякъде, по всяко време, практически на всяко устройство, което има уеб браузър. Разработчикът качва приложението на Web сървъра и всички, които го използват, имат достъп до последната версия. Трябва обаче да сте наясно с рисковете, на които уеб приложенията могат да бъдат изложени и как да се предпазите от тях. От момента, в който вашето уеб приложение е качено в Интернет, дори неволно то става мишена. Колкото по- голям и известен сайт притежавате, толкова повече хора с нечисти намерения ще се опитат да придобият ресурсите, с които сайтът ви работи. Атаки се реализират, както срещу устройството на потребителя (компютър, лаптоп, таблет, мобилен телефон и др.), така и срещу мрежата и сървърите, на които е хоствано приложението. Видове атаки Ще се опитам да направя формален анализ и класификация на някои от най- разпространените атаки, и нещата, които можете да направите, за да запазите сигурността на вашия сайт. Phishing Това е широко използван похват от компютърните престъпници за получаване на важна информация, чрез съобщение или интернет сайт, които "претендират", че са добронамерени, като ви приканват да въведете важна лична информация. При фишинга измамници разпращат електронна поща, която претендира, че идва от почтена компания, и се опитва да убеди получателя да даде важна лична или финансова информация. Електронното съобщение обикновено моли да я изпратите в отговор или да я въведете на уебсайт, към който има връзка. Тези данни, например потребителски имена, пароли и номера на кредитни карти, после се използват от измамниците, за да се получат пари или услуги от името на пострадалия. Социално инженерство Използва главно психологически методи, а именно естествената за човека склонност да се доверява. (Дори за умели хакери много често е по-лесно да пробият сигурността и да получат желаната информация, като просто вдигнат телефона и попитат Иванка от счетоводството за паролата й, вместо да използват техническите си умения.)
  • 5. Вируси Компютърните вируси представляват фрагмент от програмен код, който копира себе си в някаква програма, като я модифицира, т.е. той е саморазпространяващ се код. Вирусът не е самостоятелна програма. Той се задейства, когато започва да се изпълнява така наречената програма- приемник. Когато тя се стартира, вирусът се възпроизвежда и може да зарази и други програми, с които взаимодейства дадената програма-приемник или до които вирусът може да осъществи достъп. Вирусът може да съществува в така нареченото латентно състояние, докато не се случи някакво специално събитие или не възникнат необходимите условия, той да се разпространи или да задейства специална разрушителна процедура, с която да повреди системата приемник или напълно да я блокира. DoS Атаки (Denial of Service attacks) Клас атаки, водещи до отказ в обслужването. По време на такива атаки рязко се повишава разходът на ресурси на процесора и намалява пропускателната възможност на канала за свързване, което може да доведе до силно забавяне на работата на цялата компютърна система, на отделни задачи или изобщо към пълно спиране. Към DоS атаки се отнасят: Floods, ICMP Flooding, Identification Flooding и др. Някои най-често използвани форми на DoS атаки са: Flood (или Flood Feed / Наводнения ) . - SYN Flood – изпращане на голям брой компютърни пакети тип SYN. Както е известно, компютърът трябва да отговаря на такъв тип пакети SYN / ACK. Ако те са твърде много, компютърът не разполага с време, за да отговори на всеки и не може да получава пакети от други компютри; - ICMP Flood и Ping Flood – наводнение с ICMP пакети; - Identification Flood (Ident Flood). Подобно на ICMP Flood, но отговор на заявка тип identd до порт 113 системата отнема повече време, което прави атаката по- ефективна. - DNS Flood - атаката е насочена към DNS сървъра. Състои се в изпращане на голям брой DNS заявки, на които сървърът не разполага с време, за да отговори. В резултат на което, остава временно недостъпен. - DDoS – чрез заразяване на множество системи се осъществява разпределена атака за отказ на услуга (DDoS) към даден сървър. - Boink (Bonk, Teardrop) - състои се в изпращане на голям брой силно фрагментирани пакети, като фрагментите са с голям размер. За всеки фрагментиран пакет се заделя специален буфер, в който по-късно да се поставят другите фрагменти, за да могат да бъдат сглобени. Огромния брой големи фрагменти води до препълване на буфера и може да доведе до внезапно аварийно спиране на сървъра или „Зависване“ .
  • 6. - Pong – същото, като всеки от гореизброените видове, като единствената разлика е, че адресът на подателя е подменен, което дава на атакуващия известна анонимност; - Smurf - смърф атаката е вид ICMP наводнение, което влияе на целия доставчик на услуга или на целия мрежов сегмент. ICMP съобщенията се изпращат от броудкаст адрес, което принуждава всички компютри от тази подмрежа да отговорят. Когато даден ISP е „смърфиран", всички връзки биват забавени и всички потребители в крайна сметка губят връзката. След като получи достъп до мрежата, атакуващият изпраща броудкаст в мрежата, използвайки като източник адрес в мрежата-цел. След това всички устройства в увредената мрежа изпращат ICMP отговори до адреса-цел. Може да имате стотици хостове, всеки от които изпраща хиляди битове ICMP ехо заявки в мрежата-цел. Трафикът, генериран от този процес, може лесно да задръсти връзките с ниска пропускателна способност, използвани във WAN връзките между някои ISP и мрежи. Мрежата-цел се срива, а често пъти засегнатата мрежа-посредник също страда от целия този трафик. - Ping of Death - атака, която се възползва от ограниченията, налагани от максималната единица за предаване (maximum transmission unit – MTU) на мрежата. MTU единицата зависи от преносната среда и архитектурата на мрежата. Ако бъде изпратен пакет, който надхвърля MTU, той трябва да бъде разделен на по-малки парчета и след това да бъде сглобен отново в края (местоназначението). IP пакетът, в който е капсулирана заявката за ICMP ехо, е ограничен до 65535 октета (октетът представлява осем бита данни). Компетентният хакер може да изпрати пакет, надхвърлящ броя на октетите, които са разрешени в полето за данни на заявката за ехо. Когато компютърът- местоназначение се опита да сглоби този пакет, той се срива. - UDP Flood DNS - хакерите използват два варианта на тази атака на сървъра. Първият се отнася до специфични имена в подмрежата. В този случай атакуващият изпраща набор от заявки за домейна на жертвата към множество DNS сървъри, което генерира сравнително висока активност и по този начин може да се отрази на работата на атакувания сървър. Същността на втория вариант на атаката - изпращане до жертвата на много заявки за IP адреса на несъществуващ домейн. В този случай, отговорът на DNS сървъра е много по-голям от обема на заявките, изпратени от един хакер, което може да доведе до претоварване на канала за комуникация . - HTTP Flood - Този вид атака е често срещано явление и се основава на изпращане на максималния брой заявки за показване на документи, хоствани на сървъра. В резултат на тази атака може да бъде спряно предоставянето на услуги, свързани с HTTP клиенти и затруднен достъп до сайта.
  • 7. Има два начина за осъществяване на такава атака. Първият е базиран на DDoS / Botnet, мрежа, а вторият - чрез прокси сървъри. Първият метод е по- надежден и прост. Компютри, свързани в мрежа, изпращат искания за конкретни документи, качени на HTTP сървър. При достатъчно мащабна атака това може дори да доведе до пълно спиране на услугите. Вторият метод се използва по-скоро като допълнение към друга атака. Тя се основава на използването на множество от обществени прокси сървъри. Атаката се осъществява в три стъпки. Първо, хакерът изпраща заявка към сървъра, за да се покаже w3cache на сървъра за определена страница. Сървърите се свързват, за да изтеглят необходимите документи и хакерът прекъсва връзките си с тях. Този процес се повтаря до постигане на DoS. - Land – изпраща се пакет до определен порт, като адресът на подателя е подменен да сочи към този на атакувания сървър, а портът, от който е изпратен пакетът е същия като порта на адресата. (Пример : Получател : 192.168.0.101, порт 9006, Подател: 192.168.0.101 порт 9006). Атакуваният сървър се опитва да установи връзка сам със себе си, което води до блокиране на системата. Такава атака може да бъде до 100% ефективна и срещу някои рутери. - Mail Bombing. Ако атакуваната машина има сървър за електронна поща, се изпраща огромно количество електронна поща. От една страна, атаката прилича на наводняване, но от друга страна, ако съобщенията съдържат прикачени файлове с голям размер, последните трябва да бъдат сканирани от антивирусната програма на сървъра. Тъй като тези съобщения се съхраняват на твърдия диск на сървъра, те го запълват, което може да доведе до DoS. Днес този тип атаки е по-скоро история, но в някои случаи все още могат да бъдат използвани. Sniffing Снифинг се използва за събиране на системна информация. За целта мрежовият адаптер се поставя в режим на прослушване на трафика, т.е. мрежовият адаптер ще прихваща всички пакети, предавани по мрежата, а не само тези които са адресирани до него. Прослушване от този тип работи добре в мрежи с концентратори. IP Hijack Мрежите с общи среди са особено податливи на подслушване, защото този вид мрежи предават пакети навсякъде по мрежата при пътуването им от източника до крайната цел. Когато в някоя среда с обща медиа се използват концентратори или хъбове, относително лесно е да се добави нов възел с възможност за улавяне на пакети и след това да се подслушва трафика по мрежата. Подслушването на пакети може да се засича в определени случаи, но най-често остава незабелязано.
  • 8. IP Spoofing IP спуфингът (подправянето) включва промяна на хедърите на пакети на изпращаните съобщения. Това ги кара да изглеждат така, сякаш идват от IP адрес, различен от реалния адрес на първоизточника. Целият поток от данни към и от даден компютър или мрежов сегмент може да бъде пренасочен да минава през определен компютър – компютъра на атакуващия. Така потокът от информация може да бъде преглеждан, претърсван и подправян. Макар че спуфингът сам по себе си не е форма на атака, той представлява метод за придобиване на неоторизиран достъп до компютър или мрежа за започване на атака, за кражба на данни или за унищожаване на данни. Brute Force Атака, използвана от хакери в такива случаи, когато достъпът към система или към информация е затворен с парола и няма слабо защитени места. Подбиране чрез изреждане на всички комбинации от символи. Осъществява се с просто подбиране на всички възможни или най-често чрез речник, или напоследък „рейнбоу таблица“ на най-често срещаните пароли. Back Orifice (Net Bus, Masters of Paradise и др.). Програмно осигуряване, използвано за отдалечено администриране на система. Подобни програми, след като се инсталират, обикновено заемат някакъв порт, например 31337, и се намират в състояние на очакване на съединение. Хакери сканират Интернет, търсейки инфектиран хост. Ако се определи такъв, те могат да получат достатъчно пълен контрол над системата. Dummy DNS Server. Внедряване в мрежа на несъществуващ DNS-сървър, прихващайки DNS- запитване. Това позволява нататък напълно да се прихване и да се въздейства на информация, циркулираща между “излъгания” хост и сървъра. Необходимото условие за осъществяване на този вариант атака е прихващане на DNS-запитване.
  • 9. Dummy ARP Server. Внедряване в мрежа чрез фалшив ARP(Address Resolution Protocol) отговор. Изпраща се фалшив ARP(Address Resolution Protocol) - отговор, в който се представя на търсения хост,(например, маршрутизатор), и нататък активно контролира целия мрежов трафик на “излъганият” хост. Fuzzy. Пакетът IP съдържа поле определящо кой протокол на следващото ниво (TCP, UDP, ICMP) използва данните от интернет. Хакерите могат да ползват нестандартни значения на даденото поле за предаването на данни, които няма да се фиксират със стандартни средства за контрол на информационни протоци. Hack. Клас от атаки, използвани за изследване на операционните системи, приложения или протоколи с цел анализ на получената информация за присъствие на слаби места, например, Port Scan. Установяване на слабите места може да бъде използвано от хакерите за несанкциониран достъп към системата или за намиране на най-ефективната форма на DoS-атака. Host Spoofing Атака, основана върху протокола ICMP, една от функции на който е информиране на хостовете за смяна на текущ маршрутизатор. Даденото управляващо съобщение носи название redirect. Съществува възможност за изпращането на фалшиво redirect съобщение от името на маршрутизатора.В резултат на това атакувания сървър променя таблицата си за маршрутизация и по-нататък целия мрежов трафик минава през източника на фалшивото redirect- съобщение. Puke. Осъществява се изпращане на пакет ICPM unreachable error (непозната грешка на отдалечена система) от хакер към атакувания хост, което извиква отключване на хост от сървър (обикновено IRC). Port Scan. Сканиране на компютърна система за намиране на портове чрез опити за тяхното отваряне. Тази атака разходва ресурси на системата. Обикновено тя се използва за търсене на слаби места (дупки) в компютърна система и предшества по мощна атака.
  • 10. Syslog Spoofing. Атака, която се състои в предаване към атакувания компютър на съобщение от името на друг компютър във вътрешна мрежа. Тъй като протокола syslog се използва за водене на системни журнали, чрез тези фалшиви съобщения може да подмени информация или да скрие несанкциониран достъп до атакувания компютър. Spam. Изпращане по електронна поща на съобщения от различен вид без съгласие на получателя. Периодически повтарящия се спаминг може да наруши работа на потребителите поради голямо натоварване на сървъра за електронна поща; извиквайки препълване на пощенски кутии, което води до невъзможност за получаване и изпращане на обикновени съобщения; увеличава времето за намиране на получател “на линията”, а това са допълнителни разходи Traffic Analysis (Sniffing). Прослушване на канал. Практически всички мрежови карти поддържат възможност за прехващане на пакети, предавани по общ канал на локална мрежа. При това работещата станция може да приема пакети, адресирани на други компютри от същия сегмент. Затова целия информационен обмен в сегмента става достъпен за хакер, което може после да му помогне да се подбере или да измисли други типове на атаки срещу нормални потребители. За успешна реализация на тази атака компютъра на хакер трябва да се намира в същия сегмент на мрежа както и атакувани компютър. Trojan Horse. Троянският кон представлява програма, която се представя като полезен софтуер. За разлика от вирусите и червеите, троянските коне нямат собствен механизъм за разпространение. Затова разчитат единствено на незнанието и непредпазливостта на потребителите. Например, троянски коне могат да бъдат добавени преднамерено в инсталационните пакети на полезен софтуер. По този начин те биват разпространявани без знанието на потребителите. Друг начин за разпространение на троянски коне е чрез електронната поща – като прикачени файлове. Отваряйки файла, потребителите всъщност го инсталират, заразявайки по този начин своята система. Съществуват пет основни типа троянски коне: 1. Троянски кон, предоставящ отдалечена администрация – този тип предоставя възможност на външно лице да получи повече привилегии в заразената системата отколкото обикновените й потребители. 2. Файлов сървър – това е троянски кон, който предоставя достъп до заразената система, като я превръща във файлов или FTP сървър. Те се
  • 11. използват, за да се зареди в поразената система троянски кон за отдалечена администрация. Троянските коне-файлови сървъри обикновено са много малки програми (някои са по 8 килобайта). Това позволява те да бъдат разпространявани заедно с игри или други програми. 3. Крадец на пароли – този тип троянски кон има една единствена цел – да краде паролите на потребителите на заразената система и да ги изпраща (обикновено по електронна поща) на своя създател. 4. Key logger - той записва всяка информация, която потребителят на заразената система въвежда от клавиатурата и я съхранява във файл, който впоследствие бива изпратен на неговия "собственик". 5. DDoS (Distributed denial of Service) – това е най-опасният тип троянски кон. Чрез заразяване на множество системи с такива троянски коне се осъществява разпределена атака за отказ на услуга (DDoS) към даден сървър Worms Компютърните червеи са разпространяваща се самостоятелно компютърна програма, подобна на компютърните вируси. Докато вирусите се прикрепват към други програми, червеите са независими и не изискват да бъдат част от други програми, за да се разпространяват. Обикновено червеите се разпространяват по компютърната мрежа и преминават от един компютър към друг, като използват грешки или слабости на мрежовите протоколи. Обикновено тези червеи заразяват само оперативната памет на системата приемник, като не създават свое копие във вид на файл. Могат да повредят системата приемник или напълно да я блокират. Освен мрежови червеи има и файлови червеи. File Worms Файловите червеи копират себе си върху системата приемник под формата на файлове, най-често с имена, които често се използват за инсталационни пакети, така че инцидентно и неволно те могат да бъдат стартирани от някого. Други червеи пък се добавят в архиви. Трети вмъкват инструкции за своето извикване в пакетни файлове за обработка или скриптове. Файловите червеи използват единствено възможностите “предоставени” им от файловата система, за да се разпространяват. Могат да повредят системата приемник или напълно да я блокират. Botnet Ботнетът e мрежа от софтуерни приложения или компютри, които работят в автономен режим и имат за цел кражба на лични данни.
  • 12. Unreachable (dest_unreach, ICMP type 3). Тази атака състои във това, че на компютърна система се изпраща съобщение ICMP type 3, което съобщава, че порт на получател е недостъпен. И поради това, че системата си “мисли”, че пакетите не пристигат, тя ще прекъсне връзката. UDP Storm. Обикновено по подразбиране системите поддържат работа на такива UDP- портове както 7 (“echo”, получения пакет се изпраща назад), 19 (“Character Generator Protocol (CHARGEN) ”, в отговор на получения пакет изпраща стринг) и други данни. В даден случай хакер може да изпрати единствен UDP-пакет, където в качество на изходен порт ще бъде отбелязан 7-ми, а в качество на получател ще бъде 19-ти, а в качество на адрес на получател и на изпращач ще се посочват, например, два компютъра от вашата мрежа (може и 127.0.0.1). След получаване на пакет 19-ти порт отговаря със ред, който попада на порт 7. Седми порт го дублира и го препраща на 19-ти и така до безкрайност. Безкрайния цикъл намалява ресурсите на компютъра и добавя на канала безсмислено натоварване. Разбира се че при първа загуба на UDP пакет наводняването ще спре. HRS (HTTP Resource Splitting ) Същността на атаката е , че нападателят изпраща специално подготвена HTTP заявка, чрез която манипулира Web сървъра да отговори с два отделни HTTP отговора, вторият от които е напълно контролиран от атакуващия. В резултат на нападението се получава, важна информация, като например, бисквитката на друг потребител. Web Cache Poisoning По принцип, прокси сървърите кешират страници , поискани от потребителите , така че когато се получи втора заявка за тази страница, тя се връща от кеша , а не с искане към уеб сървъра. Същността на атаката е да се създаде фалшива прокси кеш страница , която след това да бъде изпратена на потребителите на мрежата . Browser Cache Poisoning Кеш има не само на прокси сървърите, но също така и в браузъра. В действителност този метод е почти същото като Web Cache Poisoning, с единствената разлика е, че фалшивата страница се съхранява в браузер кеша на компютъра .
  • 13. Malware Зловреден софтуер, маскиран, като прикачен файл към имейл, като файл за изтегляне от уеб сайт или интродуциран чрез използване на познати пропуски в сигурността – особено, когато става въпрос за малки и средни предприятия (малки и средни фирми), които не винаги са в състояние да поддържат осъвременени своите софтуерни приложения. Терминът обхваща различни видове софтуер, включително вируси, червеи, троянски коне и шпионски софтуер. Keyloggers и Screenloggers Вид зловреден софтуер, следят въвежданата от клавиатурата информация и я изпращат на хакери чрез интернет. Те могат да се вградят в браузърите на потребителите като малки помощни програми, известни като помощни обекти, които се изпълняват автоматично, когато браузърът се стартира, както и в системните файлове, като драйвери на устройства или монитори. Pharming Представлява модифициране на hosts или Domain Name System (DNS) файлове, така че въведените URL адреси или име на услугата да пренасочват потребителя към фалшив сайт, обикновено копие на оригиналния сайт на банката. Нищо неподозиращият потребител въвежда лична и финансова информация, включително датата на раждане, парола, информация за сметката, номера на кредитни карти, ПИН кодове и т.н, която става достъпна за кибер престъпниците. Man-in-the-Middle При тази атака хакери се позиционират между потребителя и банковия уебсайт или система. Те записват информацията, която се обменя, но продължават да я предават, така че транзакциите на потребителите не са засегнати. По-късно те продават или използват събраната информация или пълномощията, когато потребителят не е активен в системата. Man-in-the-Browser Троянски кон, който заразява интернет браузъра, прихващайки и модифицирайки изпратената информацията, преди тя да достигне до механизма за сигурността на браузъра. Този вид атака позволява да промените съдържанието на уеб-страница и операциите, извършвани в нея, така че промените не могат да бъдат проследени нито от потребителя, нито от програмата за контрол. Целият процес се извършва без никакви видими признаци.
  • 14. Spyware Шпионският софтуер се използва за следене на дейността на потребителя на компютъра и може да включва кийлогъри и скрийнлогъри, както и други червеи и троянски коне. Buffer Overflow Буферът е временна област за съхранение на данни в паметта. Когато там се поставят повече данни, отколкото е предвидено първоначално от даден програмен и системен процес, допълнителните данни ще го препълнят, откъдето произлиза и името, причинявайки част от данните да изтекат към други буфери, което може да разруши данните, които те съдържат или да запише върху тях. Хакерите използват буферното препълване, за да се възползват от програма, която очаква въвеждане на данни от потребителя. Има два типа буферно препълване – стек базирани и хип базирани. Heap Overflow Това е buffer overflow атака, но атакуваният буфер се намира в областта от паметта, наречена Heap. Това е частта, която приложението динамично заделя с една или друга цел. При общия случай, Stack Overflow Когато буферът се намира в стека на приложението и тогава атаката се нарича Stack Overflow(в много случаи, просто buffer overflow). Стека и heap-а нарастват и се свиват по време на изпълнението на програмата в противоположни посоки Integer Overflow Този тип атаки са базирани на възможността на различните целочислени промеливи да приемат стойности само в определени интервали (например signed 16-bit integer приема стойности от -32767 до 32767.). Така, ако резултатът от определена аритметична операция изкара стойността извън тези граници, стойността запазена в дадената променлива може да се окаже много по-голяма или по-малка от очакваната от програмиста. На пръв поглед такава грешка не изглежда особено опасна, но тъй като някои от променливите са важни за логическия ход на програмата, могат да бъдат манипулирани сравнения, да бъдат подавани нестандартни стойности на функции, които програмата извиква (отрицателни например) и по този начин да се постигне непредвиден от дизайна ход на приложението.
  • 15. Cross Site Scripting (XSS) Атака, която използва уязвимост на приложението и “вмъква“ нежелан код, който се изпълнява в браузъра на крайния потребител. Най-общо казано атаката цели да намери място в програмата, в което се отпечатва стойността на дадена променлива и не се проверява коректно нейното съдържание. Обикновено в съдържанието на променливата се записва HTML, XHTML, JavaScript, ActiveX, VBScript, Flash, и др видове изпълним код. Възможностите за цел на атаката може да са много – придобиване на достъп до защитена зона на сайта (чрез постигане на session hijacking), подвеждане на потребителя да въведе информация към трети източник (physhing), инсталиране на нежелани програми на компютъра на потребителя (virus, worm, trojan, …), и др. Според изследване на Symantec около 80% от проблемите в сигурността на уеб- базираните приложения са свързани именно с XSS уязвимости. Също така се прави статистическо предположение, че поне 70% от динамичните уеб-сайтове в световната мрежа притежават такава уязвимост. Обикновено крайния потребител не може да намери визуален белег, по който да разкрие атаката. XSS атаките са най-общо три вида: 1. Директни: Атакуващият предоставя връзка или друг вид „маскиран“ код към клиента. Когато клиента последва такава връзка той попада на оригиналният уебсайт на дадената услуга, но вече с модифициран от атакуващия код. Възможно е и възползването от уязвимост на софтуера, с който жертвата преглежда подаденото му съобщение, с цел атакуващия да добие достъп до неговата административна част. Директните атаки се реализират най-често чрез изпращане на писма по електронната поща към жертвата или чрез съобщения в различни чат приложения. 2. Статични: Атакуващият успява да вмъкне нежелания код в база данни и само изчаква жертвата сама да отвори уязвимата страница. Това са най-честите атаки при т.нар. социални мрежи – форуми, сайтове, дискусионни групи, и т.н. 3. DOM: Това са XSS атаки от т.нар. локално ниво. Обикновено се използва уязвимост в скрипт на продукта, чрез който самият софтуер да предизвика директна XSS атака към жертвата. Мalicious file execution Тази уязвимост се появява в много уеб приложения. Главно в такива приложения, в които позволяват URL параметри на имената на файловете , за да се включат, като URL адреси или препратки към файловата система. В тези случаи може да се подадат от „нападателя“ различни файлове, които да се изпълнят на сървъра и да удовлетворят целите на „нападателя“ - да му предоставят желаната от него информация или да повредят информация. Изпълнение на злонамерени файлове може да се наблюдава и когато потребители се опитват да качат файл в даден сайт, чрез форма закачване на
  • 16. файлове. Потребителите могат да се опитат да качат техен скрипт и по този начин да осъществят злонамерените си действия. Session Hijacking - отвличането на сесия е атака, при която се следят действията на потребителя, докато не се свърже със сметката си или започне транзакция, получавайки потвърждение за право на достъп. В този момент, чрез съответния софтуер хакерите поемат контрол над сесията и могат да предприемат всякакви неоторизирани действия, като например прехвърляне на средства, без знанието на потребителя. SQL Injection SQL инжекциите са начин за променяне на заявката към дадена база данни - MySQL, MSSQL или друга. Основната цел е да се извлече неоторизирана информация от базата данни или в по-редки случаи да се увреди информацията. Нападателите получават достъп до уеб приложенията, като добавят Structured Query Language (SQL) код към кутийка на уеб форма за въвеждане под формата на SQL заявка, което е искане към базата данни да изпълни специфично действие. Обикновено по време на потребителското удостоверяване се въвеждат потребителско име и парола и се включват в запитване. След това на потребителя или му се предоставя, или му се отказва достъп в зависимост дали е дал правилни данни. Уеб форумите обикновено нямат никакви инструменти за блокиране на въвеждане освен потребителското име и паролата, което означава, че хакерите могат да изпълнят атака с SQL инжекция, като използват входните полета, за да изпратят заявка към базата данни, която е много вероятно да им предостави достъп. Cross-site request forgery (CSRF) Това е атака, чиито трик е да накара жертвата да зареди страница, която съдържа зловреден код. Този зловреден код наследява идентичност и привилегиите на жертвата за извършване на нежелани действия от името на жертвата, като променяне на е-мейл адрес на жертвата, домашен адрес или парола, или извършването на покупка,превод на пари и други. Hidden Fields Manipulation Скритите полета се използват от уеб страниците за предаване на допълнителна информация.Те могат лесно да бъдат видени и техните стойности променени, променяйки тотално ефекта от обработка на формуляра. Мерки за защита на уеб приложението И така, как можем да защитим уеб приложението от всичко тези заплахи?
  • 17. Защита на сървъра и мрежата 1 Заплахите за сигурността непрекъснато се развиват и вашата архитектура на сигурността трябва също да се развива. Най-добрият начин е да правите оценка на вашите нужди от сигурност на регулярни интервали. 2 Използвайте реверсивно прокси (например Microsoft ForeFront Treat Management Gateway). Реверсивното прокси стои между интернет и сървъра, който изисква отварянето на много портове. Въпреки че няма как да се заобиколи нуждата от отварянето на портове, реверсивното прокси може да пресрещне и да филтрира заявките и след това да ги подаде на сървъра, за който са предназначени. Това помага да се скрие сървъра от външния свят и помага да се гарантира, че до сървъра няма да достигат злонамерени заявки. 3 Не винаги е практично да се отдели един сървър за всяко приложение, но най-малкото трябва да внимаваме кои приложения или приложни роли се хостват на един сървър. Например, ако разположите ролята на сървър за клиентски достъп на същия сървър, на който са ролите на транспортен хъб и пощенски сървър, вие в значителна степен показвате вашата пощенска база данни към интернет. 4 Най-голямата отделна заплаха за мрежовата сигурност са работните станции. Много организации правят много за защитата на своите мрежови сървъри, но на практика пренебрегват работните станции. Докато работните станции не бъдат заключени както трябва, потребителите (или злонамерените уеб сайтове) могат да инсталират неоторизиран софтуер с невъобръзими последици. 5 Добре е всяка страница, която дава информация за сигурност, съвет за сигурност или за контакти да бъде SSL криптирана. Това не означава, че тези страници са особено чувствителни, а просто, че сертификатът, използван от процеса на криптиране, гарантира на потребителите, че те получават достъп до легитимна уеб страница, а не до страница, която някой е поставил примерно като фишинг скам. 6 Използвайте самоподписани сертификати. По този начин уеб интерфейсите могат да се използват с SSL криптиране, дори ако организацията все още не е получила свой собствен сертификат. Въпреки че саморъчните сертификати са по добре от нищо, те не са заместител на валиден SSL сертификат от доверена сертифицираща организация. Самоподписаните сертификати първоначално са предназначени като помощ да се увеличи сигурността на продукта до момента, в който администраторът не го обезопаси както трябва. Саморъчните SSL сертификати могат да предоставят SSL криптиране, но потребителите ще получават предупредително съобщение в браузърите си, защото техните компютри нямат доверие в сертификата (а и не би трябвало да имат). Още повече някой SSL базирани уеб услуги (като ActiveSync) не са съвместими със самоподписаните сертификати, поради проблема с доверието.
  • 18. 7 Въпреки че е важно да се регистрират събитията, които се случват във мрежата, също е важно да не се престаравате и да извършвате прекалени регистрации. Прекалено многото регистрации могат да направят трудно и дори невъзможно да определите мястото н събитие в сигурността, което наистина ви интересува. Вместо да се опитвате да записвате всичко, се фокусирайте върху регистрирането на събития, които са от значение. 8 Виртуалните сървъри обикновено се групират на хост сървъри според тяхната производителност. Например, виртуални сървъри с висока степен на обръщения може да се съчетаят на един хост с няколко виртуални сървъра с ниска степен на обръщения. От гледна точка на производителността, това е много добра идея, но този подход може да не е най-добрата идея от гледна точка на сигурността. Препоръчително е да се използват специално предназначени за целта хостове за всички виртуални сървъри, които са директно свързани към интернет. С други думи, ако имате три виртуални сървъра, които доставят услуги на интернет потребители, вие трябва да помислите за групирането им на хост, но не слагайте инфраструктурни сървъри (като домейн контролери) на този хост. Причината за този съвет е, че така се осигурява защита срещу изплъзващи се атаки. Изплъзващата се атака е тази, при която хакерът може да се изплъзне от виртуалната машина и да поеме контрол върху хоста. В реалния свят това не се е случвало, но може би и този ден ще дойде. Когато това се случи, вие ще имате по-добра защита за атаката, ако виртуалните машини, които са обърнати към интернет, споделят виртуален хост само с подобно защитени уеб ориентирани сървъри. 9 Ако можете да го избегнете, опитайте се да не слагате частни сървъри в демилитаризираната зона (DMZ). Ако бъдат компрометирани, те могат да разкрият информация за вашата Active Directory / LDAP. 10 Използвайте решения за управление и инсталиране на патчове и ъпдейти, които ги поставят автоматично, без да дават избор на потребителите. Администрация на сайта 1 Ограничаване на достъпа Вземете съответните мерки, с които да ограничите възможните входни точки за злонамерени лица. 2 Ограничения Вашият сайт трябва да бъде конфигуриран така, че да се намали размерът на щетите, които може да се получат в случай, че бъде компрометиран.
  • 19. 3 Уязвимости на вашия компютър Уверете се, че компютрите, които използвате, нямат шпионски и/или злонамерен софтуер и вирусни. Не съществува ниво на сигурност, което да защити или гарантира вашият сайт или вашия уеб сървър, в случай, че имате Keylogger на вашия компютър. Винаги поддържайте вашата операционна система и инсталиран софтуер актуализирани, особено вашия уеб браузър, за да се предпазите от уязвимости в сигурността. 4 Уязвимости в мрежата Мрежата трябва да е сигурна и в двата си края -- от страна на сървъра и от страна на клиента . Това означава да се актуализират настройките на защитната стена на домашната ви интернет връзка и да сте внимателни от какви мрежи се работите. Интернет кафе в което изпращате пароли, чрез некриптирана връзка, или безжична такава НЕ са сигурни мрежи. Вашият уеб хостинг доставчик, както и вие самите трябва да се уверите, че неговите мрежи на са компрометирани от злонамерени лица. Уязвимости в мрежата биха позволили да бъдат прехванати пароли и друга лична информация. 5 Пароли Много потенциални уязвимости могат да бъдат избегнати с добри навици за сигурността. Изборът на сложна парола е важен аспект от тях. Важно за една парола е да е трудна за отгатване и за brute force атаки. Има много автоматични генератори на пароли, които могат да бъдат използвани за генериране на сигурни пароли Какво да избягвате при избора на парола: Всякакви пермутации от вашето истинско име, потребителско име, фирма или уебсайт Речникова дума от който и да е език Къса парола Парола,съставена само от цифри или букви (най-добре комбинация от двете). Сигурната парола е необходима не само за да защитите съдържанието на своя сайт. Ако хакер получи достъп до администраторския ви акаунт може да инсталира всякакви скриптове, които да изложат на риск цялата ви система.
  • 20. 6 FTP Когато се свързвате със сървъра си е желателно да използвате SFTP криптиране, ако доставчикът ви предлага такова. Ако не знаете дали вашият хостинг провайдър предлага тази услуга, просто го попитайте. Използването на SFTP е същото като FTP, с изключение на това, че паролата и други данни, които се предават между вас и сървъра са в кодиран вид. Това означава, че вашата парола никога няма да бъде изпратена в прав текст, което прави невъзможно прихващането и от хакер. 7 Файлови права Даване на достъп за запис на файловете е потенциално опасно, особено на споделен хостинг. Най-добре е да ограничите файловите права колкото се може повече и да премахвате това ограничение, когато се налага тези файлове да се променят или да създадете специфични папки с права за запис за строго определени цели, като например качване на файлове. Разширения: Всички файлове трябва да са достъпни за запис само от вашия потребителски профил. 8 Сигурност на базата данни Мъдро е, ако имате инсталирани няколко сайта на същата система, да ги държите в отделни бази данни, управлявани от различни потребители. Това е стратегия за забавяне: Ако нарушител успешно хакне един от сайтовете ви, ще му е много по-трудно да засегне останалите инсталации. Ако вие самите администрирате MySQL, уверете се, че разбирате конфигурацията му и че излишни функции (като отдалечен TCP достъп) са забранени. 9 Резервни копия Правете резервни копия на сайта редовно, включвайки и вашата база данни. Целостта на данните е от изключително значение за надеждни резервни копия. Криптиране на резервните копия,пазене на MD5 ключ за всеки файл и/или записването им върху носител само за четене значително увеличават гаранцията, че данните не са манипулирани. Една надеждна стратегия за резервни копия трябва да включва редовни копия на целия сайт (включително и базата данни) на сигурно място. Представете си,че правите копия един път седмично. Тази стратегия означава, че ако сайтът ви е компрометиран на 1-ви май, но това не е засечено до 12-ти май, собственикът на сайта ще има резервни копия, които ще са от преди 1-ви, които
  • 21. ще помогнат да върнете сайта до нормалното му функциониране, дори резервните копия след заразяването могат да допринесат за това да се установи как сайтът е бил компрометиран. 10 Логване Можете да логвате различните заявки, изпращани към вашия. Стандартните логове на Apache предлагат голяма помощ когато става въпрос за разследване на проблеми със сигурността. 11 Наблюдение Понякога предпазването не е достатъчно и е възможно да бъдете хакнат. Затова мониторинга и откриването на прониквания са много важни. Те ще ви позволят да реагирате по-бързо, да разберете какво се е случило и да възстановите сайта си. 12 Мониторинг на логовете Ако сте на частен сървър (където имате администраторски достъп), трябва да следите вашите логове за опити за налучкване на паролите, уеб атаки и т.н. Добро решение с отворен код за наблюдаване на логовете в реално време и блокиране на атакуващия е OSSEC. 13 Следене на файловете за промени Когато се осъществи атака,тя винаги оставя следи. Както в логовете, така и на файловата система (създадени нови файлове или модифицирани съществуващи такива). 14 Външно наблюдение на уеб сървъра Ако хакер опит да заличи сайта ви или да добави зловреден софтуер, може да забележите промените, използвайки уеб базирано мониторинг решение. Защита на кода на сайта Общи проблеми в web приложенията 1. Невалидирани параметри 2. Грешки при контрола на достъпа 3. Грешки при контрола на сесиите и акаунтите 4. Cross-Site Scripting (XSS) уязвимости 5. Препълване на буфера
  • 22. 6. Злонамерено вмъкване на команди 7. Проблеми при обработка на грешки 8. Несигурно ползване на криптография 9. Грешки при отдалечено администриране 10. Грешки при конфигурация на web сървъра Препоръки: 1. Не показвайте директно данни, идващи от потребителите. Филтрирайте и валидирайте или нормализирайте показваните данни 2. Изисквайте парола за извършване на важни действия. 3. Използвайте POST вместо GET, където е възможно. 4. Проверявайте Referrer на важните форми. 5. Подсигурете формите, чрез уникални данни в тях 6. Никога не ползвайте в SQL заявка данни, които не са предварително филтрирани и валидирани или нормализирани. 7. Използвайте Prepared queries. 8. Ограничавайте правата на потребителя, който ползвате за достъп до базата 9. При извикване на външни команди не ползвайте параметри, контролирани от потребителя, филтрирайте командите и параметрите. 10. Винаги инициализирайте променливите, които създавате. 11. Валидирайте разширенията на качваните от потребителите файлове и ги съхранявате в отделна, обезопасена директория. 12. Филтриране на изходящите връзки от сървъра. Не използвайте функции от тип include с данни контролирани от потребителя. 13. За код използвайте самo регистрираните файлови разширения. 14. Не пишете код, който разчита на включен register_globals при PHP. 15. Библиотеките се слагат извън web дървото или в недостъпна директория. Дефинирайте константи и ги проверявайте, за да сте сигурни, че файлът е извикан откъдето трябва 16. Всеки host трябва да работи под различен потребител
  • 23. 17. Ползване на частна директория за сесиите на потребителя 18. Пазете потребителските сесии в базата данни 19. Пишете проверки, които не могат да бъдат избегнати 20. Валидирайте всички данни, идващи от външен източник (потребители, db, файлове и т.н.) 21. Инициализирайте променливите си 22. Пишете код, който работи без грешки при error_reporting = E_ALL (за apache) 23. Разработвайте и тествайте в среда точно копие на средата в която ще работи сайта. 24. Внимавайте когато давате достъп до данни, предоставени от потребителя 25. Не съхранявайте конфиденциални данни на публично достъпни места 26. Ако нямате възможност да забраните разглеждането на дадена директория, направете файл index.php, index.aspx, index.htm и др. или .htaccess, който да пренасочи заявката към началната страница. 27. На работещ сайт записвайте грешките, но не ги показвайте на гледащия страницата 28. Всеки сайт трябва да работи с различен потребител (админ) и парола 29. Всеки потребител трябва да вижда само собствените си файлове 30. Логвайте всички грешки и проверявайте редовно лог файловете И един бонус съвет към по-опитните програмисти, не оставяйте люкове и задни врати към приложенията, те могат да попаднат в ръцете на тези, за които не са предвидени. Заключение В заключение е важно да се спомене, че вместо да фокусирате вниманието си върху определен вид защита, по-добре е да се насочат усилията към цялостно решение за сигурност, което напълно да защити данните и ресурсите на вашето приложение. Това решение трябва да включва автентикация и авторизация, солидна защита на данните и сигурност на периметъра на мрежата.
  • 24. Ползвана литература 1. Linux ръководство на мрежовия администратор - Кирх Олаф; Доусън Тери; 2. Linux Мрежови сървъри - Хънт Крейг; 3. Проектиране на мрежова сигурност – Мерике Каео 4. Компютърни Мрежи – Дебра Литълджон Шиндър 5. Източници и публикации от интернет. http://www.citforum.ru/security/internet/attack_book/toc.shtml http://www.citforum.ru/operating_systems/linux/iptables/index.shtml http://kiev-security.org.ua/box/15/index.shtml